DB 암호화 기술은 암복호화 모듈의 위치에 따라 Plug-in 방식, API 방식, Secure Proxy 방식, 커널 방식으로 구분할 수 있습니다. 각 기술 유형에 따른 특징, 장단점 및 상용 솔루션에 대해 자세히 알아보겠습니다.
DB 암호화 기술
개인정보 보호법의 강화로 주민번호, 여권번호, 운전면허번호 같은 개인 고유식별번호 및 각종 금융정보(신용카드, 계좌, 거래명세) 등도 반드시 암호화 해야하는 대상에 속합니다.
이런 정보들이 대규모로 관리되는 데이터베이스 암호화 기술은 일반적으로 DB 서버와 이를 이용하는 응용프로그램으로 구성되며 구축환경에 따라 최적의 방식으로 암호화를 고려해야 합니다.
위의 그림과 같이 3-tier 방식 DB 시스템은 클라이언트(애플리케이션), 서버, 데이터베이스로 구성됩니다. 소규모 시스템의 경우 DB 서버와 데이터베이스가 하나로 구성될 수도 있습니다. 이러한 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 시스템에서도 추가적인 수정이 전혀 없이 그대로 유지하며 암호화를 적용할 수 있는 장점이 있습니다.
DB 암호화 솔루션
국내에서 많이 사용되는 DB 암호화 솔루션을 아래와 같이 간단히 정리하였습니다. Database 암호화 Solution 도입을 위해 기존 데이터베이스의 수정 범위와 서버의 성능 그리고 암호화 방식을 전반적으로 검토해 적용하시기를 바랍니다.
1. XecureDB
HANCOM의 DB 암호화 솔루션으로 DBMS에 저장된 중요정보에 대해 Plug-In 방식 암호화를 통해 데이터 기밀성을 보장하는 솔루션입니다.
- 검증된 솔루션 탑재 및 국가용 암호제품 지정
- 정형, 비정형 데이터에 대한 암호화 지원
- 부분 암호화 특허기술 적용 (고성능 암호화 가능)
2. KSignSecureDB
데이터베이스와 연동하는 애플리케이션의 수정없이 데이터를 컬럼단위로 암호화하여, 인가된 사용자에 및 그룹에 대해서만 접근을 허용하는 암호화 솔루션 입니다.
기존에 사용하던 DB를 암호화 하면 DB 스키마 변경 등으로 많은 시간이 소요되는 단점을 보완하여 적용 후 몇 시간 만에 바른 설치와 암호화가 가능한 장점이 있습니다.
3. WARE VALLEY: Galea
웨어벨리에서 개발한 솔루션으로 가트너가 선정한 ‘소프트웨어 리더’에 3년 연속 선정되는 전문 기업입니다. 이 업체의 DB 암호화 솔루션인 갈리아는 기본적으로 컬럼단위 암호화를 지원하며 Plug-in 방식으로 동작하는 솔루션입니다.
앞서 설명드린 바와 같이 Plug-in 방식이 DB 서버의 성능저하를 가져오는 단점이 있어, 이를 극복하기 위해 N 개의 다수 네트워크에 암/복호화 서비스를 설치하는 방식으로 성능저하를 보완하고 있습니다.
4. PETRA Cipher
심시웨이사의 솔루션으로 2012년 처음으로 국정원 CC 인증을 획득한 DB 암호화 솔루션 입니다. 컬럼 암호화 방식을 지원하며 플러그인 및 API 방식 2가지 형태를 모두 지원합니다.
타 경쟁사 대비 2~3배 뛰어난 복호화 성능을 제공하며(자사 기준), ITSM 연동 및 데이터 변경 전후 감사 및 저장 등의 관리편의성이 장점입니다.
맺음말
DB 암호화 솔루션을 적용한다면 처리방식에 따른 성능저하 및 초기 적용 시 관련 시스템의 변경 범위를 고려해야 합니다. 이상의 정보가 데이터베이스 암호화 솔루션 선택에 도움이 되시기를 바랍니다.