11.07.2008

11g yeni guvenlik özellikleri

11gdeki yeni transparent data encryption özelliklerine tablespace encryptionla başlayabiliriz.

create tablespace enc ENCRYPTION
datafile 'c:\oracle\homes\server\oradata\dj11\enc.dbf' size 100M
autoextend on next 10M maxsize 2048M
default storage(ENCRYPT)
extent management local autoallocate;

create tablespace enc_a256 ENCRYPTION USING 'AES256'
datafile 'c:\oracle\homes\server\oradata\dj11\enc_a256.dbf' size 1M
autoextend on next 1M maxsize 10M
default storage(ENCRYPT)
extent management local autoallocate;



eğer wallet open değilken sorgulama yaparsak

select count(*) from encu.employee
*
ERROR at line 1:
ORA-28365: wallet is not open

Kolon sifrekelemede olan overhead tablespace ustunde olmaz. bunun sebebide databasein block size 8192 olsun 8 bytes 3des ve 16 bytes aes herhangi bir extra storage yuku getirmemesidir.

Şöyle bir karşılastırma yapıldığında ilk testimiz tablespace encryption olsun, şifreli ve şifresiz tabloları yukleyelim.tablespace bazında yapılan şifreleme %6 civarında bir ektra yuk meydana getirir. alternatif olarak 20den fazla kolunu sifreli olan fakat tablespace şifresiz olan bir yapı düşünelim.Full table scan yapılacak. full table scan operasyonun encryption yapılmıs bir tablespace göre oldukca yavas kalacaktır.Buda yaklaşık %20 civarında bir extra yuke sebeb olacatır.

ütün bunların dışında securefiles yapısı sayesinde artık çok daha etkili ve güvenli LOB data tipine ulaşmıs durumdayız.

create table t_enc_lob1
(t_enc_id NUMBER
, lb_enc CLOB encrypt
)
LOB(lb_enc) STORE AS SECUREFILE (CACHE);

yada

create table t_enc_lob2
(t_enc_id NUMBER
, lb_enc CLOB
)
LOB(lb_enc)
STORE AS SECUREFILE (CACHE
encrypt using 'AES128'
);


create table t_enc_lob5
(t_enc_id NUMBER
, lb_enc CLOB encrypt using 'AES128'
)
LOB(lb_enc) STORE AS SECUREFILE (CACHE)
/
insert into t_enc_lob5 values(1,'AAA');
alter table t_enc_lob5 MODIFY LOB(lb_enc) (decrypt);


Bunların dışında datapump encryption olayınıda unutmamak gerekir.

create table encu.emp_enc
organization external
(type ORACLE_DATAPUMP
default directory ENC_DP
access parameters (encryption enabled)
location (‘emp_enc.dmp')
)
as
select * from hr.emp;


11g ile beraber logical standby sqllerindede encryption artık mumkundur.

Hiç yorum yok: