참고 : Admin 1. 10장 . : auditing <- 감시                                     <= FGA     

                                                    보호(남들이 못 보게)        <=VPD      

                         <=TDE   

 

 

--암호화 알고리즘

  • 대칭형 : DES, 3DES, AES

  • 비대칭형 : RSA        

D:Data

E: 암호화된 문장

K : Key

      동그라미안 + 기호 : 연산 (암호화,복호화)

AES  => 사용자의 키 선택 자유

RSA => 사용자가 키를 선택 못함. 자동생성된 키가 길음. 

 

 

Wallet => privatekey +(연산) 대칭형키

 


 

--TDE

투명하다:dml 작업시 다른점 없지만 암호화했따. => datafile은 보호(데이터 추출을 못함)한다.

 

 

 

-- oracle wallet manager

[oracle@edrsr4p1 ~]$ owm
또는

s > alter system set key identified by "비번";          <=== obe ->FGA

 

owm

비번은 welcome1

다음화면 이름에만 oracle 나머진 비워둠

저장위치 ORACLE_HOME 폴더에 저장.

 

이거 하기전 sqlplus.net 생성 해야 함. <= wallet의 위치를 지정

 ENCRYPTION_WALLET_LOCATION=
        (SOURCE=
                (METHOD=FILE)
                (METHOD_DATA=
                        (DIRECTORY="/u01/app/oracle/product/10.2.0/db_1/")
                )
        )

 

2번

S SYS> alter system set encryption key identified by "welcome1";

System altered.

 

3번 할빠에는 그냥 2번 하는게 나음.

 

 

4번.

 

S SCOTT>  create table x19(x varchar2(20) encrypt, y varchar2(20));

Table created.

S SCOTT> insert into x19 values('aaaaa','bbbbb');

1 row created.

S SCOTT> commit;

Commit complete.

S SCOTT> select * from x19;

X                    Y
-------------------- --------------------
aaaaa                bbbbb

S SCOTT>

 

 

S SYS> alter system set encryption key identified by "x18";
alter system set encryption key identified by "x18"
*
ERROR at line 1:
ORA-28353: failed to open wallet

 

S SCOTT> select * from x19;
select * from x19
              *
ERROR at line 1:
ORA-28365: wallet is not open


S SCOTT> select y from x19;

Y
--------------------
bbbbb

S SCOTT>

 

 암호화 할때 encrypt [no] salt => 난수를 곱하지 않음. 성는 향상위해 암호화 간단히....(인덱스 만들 컬럼에 주로 사용)

 

alter table emp rekey using '3DES168' => 대칭형 암호화 알고리즘 선택

 

데이터를 대칭형 암호화 시키고 그 대칭형 키를 비대칭형으로 암호화 해서 보냄

받는 사람은 비대칭형 암호화로 대칭형 암호화시킨 키를 풀고 그 키를 이용해서 데이터를 봄.

 

 

 

DES 올드한 알고리즘

AES 뉴 알고리즘

뒤에 숫자는 키의 길이.

EX) 3DES168, AES128, AES192, AES256

 

 

Wallet 은 꼭 백업 해둘 것.

sqlnet.ora 파일에서 경로 어디에 저장된지 보고 그 경로에 p12 파일 다른 곳에 복사.

 

 

--RMAN 에서도 encrypt 백업 가능

Transparent Mode => wallet 사용

 

 

RMAN> backup datafile 4;

Starting backup at 05-AUG-09
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=139 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00004 name=+DISK1/orcl/datafile/users.262.691078191
channel ORA_DISK_1: starting piece 1 at 05-AUG-09
channel ORA_DISK_1: finished piece 1 at 05-AUG-09
piece handle=+DISK1/orcl/backupset/2009_08_05/nnndf0_tag20090805t163616_0.286.694110977 tag=TAG20090805T163616 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 05-AUG-09

 

 

RMAN> show all;
RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/10.2.0/db_1/dbs/snapcf_orcl.f'; # default

 

RMAN> CONFIGURE ENCRYPTION FOR DATABASE ON;       

주의 할점  restore 시 같은 인증서 필요

new RMAN configuration parameters:
CONFIGURE ENCRYPTION FOR DATABASE ON;
new RMAN configuration parameters are successfully stored

RMAN> backup datafile 4;

Starting backup at 05-AUG-09
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00004 name=+DISK1/orcl/datafile/users.262.691078191
channel ORA_DISK_1: starting piece 1 at 05-AUG-09
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/05/2009 16:36:47
ORA-19914: unable to encrypt backup
ORA-28365: wallet is not open

RMAN>

 

S SYS> alter system set encryption key identified by "welcome1";

System altered.

RMAN> backup datafile 4;

Starting backup at 05-AUG-09
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00004 name=+DISK1/orcl/datafile/users.262.691078191
channel ORA_DISK_1: starting piece 1 at 05-AUG-09
channel ORA_DISK_1: finished piece 1 at 05-AUG-09
piece handle=+DISK1/orcl/backupset/2009_08_05/nnndf0_tag20090805t163714_0.287.694111035 tag=TAG20090805T163714 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 05-AUG-09

RMAN>

 CONFIGURE ENCRYPTION FOR DATABASE ON;

주의 할점  restore 시 같은 인증서 필요

 

 

 

 

Password Mode

wellet 없어도 가능... 단순 비번.

 

 

 

Dual Mode

    둘 다 사용가능.

 

  

 VPD

FGAC  <-function

리턴되는 값 : where 절에 해당.

 

 (TDE) => VPD  하는 이유: 디비 전체가 아니라 해당 컬럼만 암호화를 해제.

 

 

FGAC 를 policies 를 이용해서 VPD

+ Recent posts