DB 암호화 기술은 암복호화 모듈의 위치에 따라 Plug-in 방식, API 방식, Secure Proxy 방식, 커널 방식으로 구분할 수 있습니다.
DB 암호화 기술
개인정보 보호법의 강화로 주민번호, 여권번호, 운전면허번호 같은 개인 고유식별번호 및 각종 금융정보(신용카드, 계좌, 거래명세) 등도 반드시 암호화 해야하는 대상에 속합니다.
이런 정보들이 대규모로 관리되는 데이터베이스 암호화 기술은 일반적으로 DB 서버와 이를 이용하는 응용프로그램으로 구성되며 구축환경에 따라 최적의 방식으로 암호화를 고려해야 합니다.
1. Plug-in 방식
데이터베이스의 암호화, 복호화를 담당하는 모듈이 플러그인의 형태로 DB 서버 안에 존재하는 방식입니다.
위의 그림과 같이 암, 복호화를 담당하는 Agent가 DBMS 안에 위치하여 외부 함수로 View Table을 생성할 때 원본 Table의 암호화를 수행합니다. 플러그인 DB 암호화의 이점은 기존의 데이터베이스 구조의 변경 필요 없이 빠른 적용이 가능하다는 점입니다. 해당 Database Encryption 방식 특징은 아래를 참고 바랍니다.
단, 플러그인 DB 암호화 방식은 외부에서 많은 질의와 대량의 Transaction 발생 시 서버의 리소스를 이용하여 암, 복호화 처리가 수행되므로 CPU 부하가 걸리는 단점이 있습니다. (약 10% 정도)
장점 | 단점 |
외부 애플리케이션의 수정이 필요하지 않거나 매우 적은 수정으로 적용이 가능 | DB 서버 자체의 리소스를 이용하므로 서버 성능이 저하될 가능성이 있음 |
2. API 방식
애플리케이션 서버에서 보안 라이브러리나 별도의 API를 이용해서 암/복호화를 수행하는 방식입니다. 따라서 DB 서버의 의존도가 낮고 부하를 줄일 수 있는 장점이 있습니다.
위의 그림과 같이 중간의 C, C++, JAVA, .NET 등의 개발 환경에 따른 API 암호화 모듈을 적용하여 DB 서버 접근전에 암/복호화를 수행하는 방식입니다.
장점 | 단점 |
DB 서버의 성능저하가 없어 대용량 트랙잭션 처리 시 서버 부하를 줄일 수 있음 | 응용프로그램의 수정이 발생하며, 초기 암호화 시 장시간 시간이 소요된다. |
3. Secure Proxy 방식
암호화 복호화 Agent를 DBMS 외부에 설치하여 독립적으로 운영되는 방식입니다. 아래 그림과 같이 애플리케이션과 DBMS의 중간에 Proxy Agent가 위치합니다.
이 방식은 애플리케이션 및 DB 서버와 상관없이 독립적으로 운용되므로 해당 서버들의 성능저하가 발생하지 않는 장점이 있습니다.
4. 커널방식
DB 서버의 커널단에서 암호화하여 저장하고, 읽어올때 다시 커널 단에서 복호화하여 메모리로 가져오는 방식입니다.
이 방식의 장점은 SQA 질의의 수정이 없고, 기존 DBMS 시스템에서도 추가적인 수정이 전혀 없이 그대로 유지하며 암호화를 적용할 수 있는 장점이 있습니다.
연관된 글 :
참고:
[보안] 보안솔루션의 종류 - 시스템 보안_2 : DB암호화
DB 암호화 기술 4가지 유형 특징, 장단점 및 상용 솔루션
'개발 > DB' 카테고리의 다른 글
[MYSQL/SQL] HEX , UNHEX 16진수 데이터 (0) | 2023.04.29 |
---|---|
[DB] 프로시저(Procedure) (0) | 2023.04.27 |
[Oracle] dual 테이블 (0) | 2023.03.17 |
[Java] Java의 동작 원리 - Garbage Collection (0) | 2023.03.16 |
[DB] ANSI 표준 (0) | 2023.03.09 |