1. 내장형 패키지
    1. DBMS_OBFUSCATION_TOOLKIT
    2. DBMS_CRYPTO
  2. 수작업 방법을 피해야 하는 이유
  3. 수작업 방법의 성능 영향
  4. 수작업 방법 사용 시점

내장형 패키지

DBMS_OBFUSCATION_TOOLKIT

  1. DES, 3DES 암호화 알고리즘 사용
  2. RAW, VARCHAR 데이터타입에서만 작동
  3. 10g부터는 사장되었으므로 권장하지 않음

DBMS_CRYPTO

  1. 현재 지원되는 암호화 API
  2. DES, 3DES, RC4, AES 암호화 알고리즘 사용
  3. RAW, CLOB, BLOB 데이터 타입에서 작동

수작업 방법을 피해야 하는 이유

  1. 암호화 키를 관리해야할 책임 발생(안전한 키 저장소 구현)
  2. 암복호화 루틴등 코드 작성에 많은 주의 필요 => 개발 비용 증가
  3. 암호화 대상 컬럼의 데이터 타입을 RAW 데이터 타입으로 변환해야만 한다.
    1. 암호화한 데이터는 바이너리이기 때문
  4. 성능 문제

수작업 방법의 성능 영향

  1. 암호화, 복호화 패키지 생성
    책참조
  2. 테스트 데이터 생성
  3. 암호화 되지 않은 컬럼 last_name 에 대한 INSERT 테스트
    4.31CPU초 소요
  4. 암호화 패키지를 사용하여 암호화된 컬럼 encrypted_name에 대한 INSERT 테스트
    25.02CPU초 소요(비암호화 컬럼에 비해 6배 이상의 CPU초 소요)
  5. 암호화/비암호화 컬럼에 대해 INSERT AS SELECT 테스트
    비암호화 컬럼에 비해 암호화 컬럼이 47배 이상의 CPU초 소요
  6. 암호화/비암호화 컬럼에 대해 SELECT 테스트
    비암호화 컬럼에 비해 암호화 컬럼이 50배 이상의 CPU초 소요

수작업 방법 사용 시점

ASO를 지원하지 않는 오라클 STANDARD EDITION이나 그 이하 버전을 사용할 때