세상 모든 보안 이야기

보안 백과사전

좌우로 움직여보세요

DB보안

DB 암호화

포스팅 뷰601

DB 암호화의 정의

DB 암호화 솔루션은 DB에 저장되는 데이터를 암호화하는 DB 보안 솔루션의 한 종류이다.


DB 암호화의 종류

DB 암호화 방식은 크게 다음 4가지로 나뉜다.

  • TDE(Transparent Data Encryption) 방식: DBMS에서 제공하는 암호화 방식으로서 DBMS 커널 레벨에서 암복호화를 제공하므로, 데이터가 DB에 저장조회될 때 암·복호화된다. DBMS에서 제공하는 툴이나 API를 통해 DBMS에 로그인한 사용자는 부여된 권한에 따라 데이터를 접근, 처리할 수 있다. TDE 기능을 사용하기 위해서는 추가 비용이 든다. 일부 클라우드 서비스에서는 TDE를 지원하는 DB 서비스를 제공한다.
    • 장점: 애플리케이션 변경이 필요없으므로 초기 구축이 쉬움 / 성능이 좋음 / DB 관리 인력이 별로 없을 때 적합함/개인정보보호법에서 규정한 개인정보의 암호화 요건을 충족 가능
    • 단점: 보안성 측면에서 보면, DBMS 사용자 권한을 획득하면 데이터를 손쉽게 복호화 가능 / DBMS에서 제공하는 툴을 이용하여 로그인하면 복호화된 데이터를 접근 / DB 계정 관리 및 DB 툴 관리가 보안 수준을 결정함


  • 플러그인 방식: DB 서버에 암호 라이브러리와 플러그인 SW가 설치되고, 이를 통해 데이터가 DB에 저장조회될 때 암·복호화된다.애플리케이션 변경이 (거의) 없어서 구축하기가 쉽다. 암호화된 컬럼의 길이가 늘어나는 등 필요에 따라 일부 테이블 스키마 변경이 필요할 수 있다.
    • 장점: 애플리케이션 변경이 (거의) 필요 없으므로 구축하기 쉬움 / 데이터 활용이 적거나 성능이 그리 중요하지 않은 분야에 적합
    • 단점: DBMS와 같은 서버에서 암복호화 솔루션이 작동하므로 DBMS 성능을 저하시킬 수 있음


  • API 방식: 암호 라이브러리가 애플리케이션 서버 등 DB 서버 외부에 설치되고 제공된 암복호화 API를 이용하여 DB의 데이터를 저장조회시 암복호화한다. 애플리케이션의 변경이 많이 필요하므로 구축 시 개발 M/M가 많이 든다. 각 애플리에이션 서버에서 암복화하므로 성능이 좋고, DBMS 성능에 영향을 미치지 않는다.
    • 장점: 성능이 좋음 / 일반적으로 저렴함
    • 단점:애플리케이션 변경이 많이 발생하므로 초기 구축에 개발 M/M가 많이 듦. 따라서 개발력과 암호 역량, 보안 역량이 있는 회사에서 하는 것이 좋음 / 초기 구축 시 예상 못한 새로운 암호화 항목이 발생하면 추가 개발이 발생할 수 있기 때문에 암호 키 관리를 잘 해야 함


  • 하이브리드 방식: 플러그인 방식과 API 방식의 장점을 이용하는 방식으로, 성능이 그리 중요하지 않은 기능에는 플러그인 방식을 활용하고, 성능이 중요한 부분에는 API 방식을 활용하는 방식. 해당 방식을 선택하려면 적용 데이터와 애플리케이션에 대한 면밀한 분석이 필요하다. 필요하면 BMT를 해보는 것이 좋다.