- TDE(Transparent Data Encryption)
- 응용 프로그램의 수정 없이 DB 내부에서 컬럼, 데이블스페이스 레벨의 암호화(어플리케이션 변경없음)
- 데이터는 디스크에 저장되는 과정에서 투명하게 암호화되며, 정상적인 인증 및 권한 할당을 거친 애플리케이션 사용자가 읽기를 시도할 때 역시 투명하게 복호화
- TDE에서 지원되는 암호화 알고리즘
- TDE에서 지원되는 데이터 형식
3-1 CHAR / NCHAR / VARCHAR2 / NVARCHAR2
3-2 DATE / TIMESTAMP
3-3 NUMBER / BINARY_FLOAT / BINARY_DOUBLE
3-4 RAW
- TDE 암호화 방식의 비교
Column Level Encryption(10g,11g) -테이블의 특정 컬럼만 암호화 -블록의 특정 부분만 암호화 -SQA에도 암호화된 채로 존재
| Tablespace Level Encryption(11g) -테이블스페이스 전체가 암호화 -SGA에서는 Clear Text로 존재 -기존 SQL 및 DB 기능 사용 제약 없음 -테이블 사이즈의 증가가 없음 |
- System, Sysaux, Undo, Temp의 경우 테이블 스페이스 레벨 암호화 방식을 사용할 수 없음
- Exp에 / Impdp는 TDE를 지원(10gR2 , 11g)
- Bitmap index, index range scan 지원
- Lob 지원, Logminer, logical standby db, streams, HSM(Hardware Security Module)
- TDE Setting / Management
5-0 TDE 설치 여부 확인
SELECT parameter,value from v$option where parameter='Transparent Data Encryption'
TRUE |
|
5-1 Wallet File 지정
- Sqlnet.ora file에 지정
- $ORACLE_HOME/network/admin/sqlnet.ora 수정
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/oracle/app/oracle/product/10.2.0/wallet/$ORACLE_SID))) |
|
5-2 Wallet Management
- Wallet Creation
- SQL> alter system set encryption key identified by "test";
- Wallet Open / Close
- SQL> alter system set encryption wallet open identified by "test";
- SQL> alter system set wallet close;
- Wallet 상태 확인
- SQL> select * from v$encryption_wallet (10.2.0.4 version 이상 사용 가능)
5-3 Column Level Encryption(10g,11g)
- Encrytion SQL
ALTER TABLE scott.emp modify (encrypt jumin using 'AES256');
ALTER TABLE scott.emp modify ( encrypt jumin 'AES256' no salt);
- 암호화 알고리즘 및 옵션선정 : AES 256, INDEX 컬럼인 경우 NO SALT, 아닌 경우 SALT
- Decrytion SQL
ALTER TABLE scott.emp modify (jumin decrypt);
5-4 Tablespace Level Encryption(11g)
CREATE TABLESPACE ts_encrypted ALTER USER test QUOTA UNLIMITED ON ts_encrypted; |
|
CREATE TABLE employee ( first_name VARCHAR2(128), last_name VARCHAR2(128), empno NUMBER ENCRYPT NO SALT, salary NUMBER(6) ENCRYPT USING 'AES256' ); |
|
CREATE TABLE test ( |
|
CREATE INDEX test_idx ON test(data) TABLESPACE ts_encrypted; |
|
- Data PUMP 이관(Tablespace)
TDE Tablespace PUMP 사용 옵션
1. encryption - 덤프하기젂에 데이터의 암호화 여부를 표시합니다. [all | data_only |encryped_colums_only | metadata_only |none all - 모두 암호화 data_only - data만 암호화 encryped_colums_only - encryped_colums만 암호화 metadata_only - metadata만 암호화 none - 암호화 하지 않음
2. ENCRYPTION_ALGORITHM - 암호화를 사용하는데 사용하는 알고리즘입니다. 오라클 10g의 RMAN과 동일하게 작동합니다. [ AES128 | AES192 | AES256]
3.ENCRYPTION_MODE - 암호화및 해독을 수행할 때 모드입니다. [DUAL | PASSWORD | TRANSPARENT] password - 덤프 파일 셋트를 만드는 암호를 지정합니다. expdp와 impdp 모두 encryption_password절을 지정해줘야 합니다. passwd가 틀리면 impdp가 되지 않습니다. TRANSPARENT - expdp 와 impdp 모두 encryption_password 파라메터를 쓰지 않습니다. DUAL - expdp 때 encryption_password를 지정해주나 impdp때 encryption_password 절을 쓰지 않아도 됩니다. |
[참고자료]
Oracle 성공적인 데이터베이스 암호화 구축 및 운영 방안
http://www.oracle-base.com/articles/11g/tablespace-encryption-11gr1.php
http://www.oracle.com/technetwork/database/security/twp-transparent-data-encryption-bes-130696.pdf
'1. IT Story > DB' 카테고리의 다른 글
Active DataGuard 11gR2 Configuration (0) | 2013.04.09 |
---|---|
Active DataGuard 11gR2 개념 및 Installation (0) | 2013.04.09 |
Oracle Golden Gate Configuration(단방향 DDL,DML) (0) | 2013.04.08 |
Oracle Golden Gate 개념 및 Installaton (2) | 2013.04.08 |
Oracle 10g CRS 제거 (0) | 2013.03.31 |
Oracle 11g RAC with ASM TEST (2) | 2013.03.31 |
Oracle VPD(Virtual Private Database) (0) | 2013.03.31 |
Splunk install-Linux (0) | 2013.02.09 |