DB암호화, 어떤 순서로 적용해야 하나? (보안뉴스 2012. 09. 28)
DB암호화, 어떤 순서로 적용해야 하나?
제품선정<정책수립<영향도 분석<적용<테스트<쿼리 최적화 순서
기업 환경에 따른 영향도 등 사전분석 과정이 반드시 포함돼야
개인정보보호 조치를 마련해야 하는 많은 기업들이 보호 조치 마련과 적용 과정에 대해 궁금해 하는 경우가 많다.
DB암호화를 적용하는 절차는 DB암호화 제품 또는 솔루션의 선정 → DB보안 정책 수립 → 적용 환경 및 영향도 분석 → 기존 데이터에 대한 암호화 적용 → 암호화 테스트 → 쿼리 최적화 → 이행 완료 및 모니터링의 순으로 진행되며 절차별 자세한 내용은 다음과 같다.
DB암호화 제품 또는 솔루션의 선정
DB에 암호화를 적용하기 위해서 가장 먼저 할 일은 적절한 DB암호화 솔루션이나 제품을 선정하는 것이다. 국내외 많은 기업들이 DB암호화를 제공하는 다양한 솔루션과 제품이 출시되어 판매하고 있으나 개인정보보호 관련 법률들에서 지정하는 요건들을 만족하는지 잘 확인해야 한다.
DB암호화 솔루션과 제품들이 모든 DB환경에서 적용이 가능한 것은 아니기 때문에 현재 사용하고 있는 DB와 서버 등의 환경이나 버전 등을 고려해 적용 가능한 솔루션이나 제품을 선택해야 한다.
DB 보안 정책 수립
DB암호화 적용 후에 암복호화 권한을 어떻게 할당할 것인지, 어떤 사용자들이 암호화된 데이터를 복호화해서 이용할 수 있는지 등의 정책을 수립해야 한다. 또한, DB서버의 관리자와 분리된 DB암호화 관리자를 누구로 설정할 것인지를 지정해야 한다.
적용 환경 및 영향도 분석
DB암호화 솔루션이나 제품을 선정한 후에는 기존 시스템에 적용하기 위해서 적용 환경 및 영향도를 분석한다. DB 내부에 어떠한 데이터들이 저장되어 있는지, 데이터들 중에서 암호화를 적용해야 하는 개인정보들은 어떤 것들이 있는지, 개인정보들이 어떠한 포맷으로 저장되어 있는지를 분석한다.
이러한 정보들을 사전에 미리 알고 있다면 올바른 DB암호화 제품이나 솔루션을 선택하는데 큰 도움이 될 수 있다. 적용환경 분석이 완료되면 DB서버의 데이터 입출력을 위해 업무 시스템이 DB서버에 요청하는 쿼리(Query)들을 분석하여 암호화를 적용했을 경우 업무시스템에 발생할 수 있는 영향도를 분석한다.
업무시스템에서 DB서버에게 전송할 쿼리를 발생하는 부분들을 모두 알 수 있다면 쉬운 과정이 될 수 있으나 그렇지 못한 경우에는 많은 시간이 필요할 수 있다. 업무시스템에서 DB서버에 전송하는 쿼리를 생성하는 부분들을 파악하기 위해서는 업무시스템 개발자의 협조가 필요하다.
개발자의 협조가 있더라도 업무시스템이 복잡하여 연역식 분석이 불가능할 수 있다. 연역식의 분석이 불가능할 경우에는 업무시스템과 DB서버 사이에 오가는 쿼리들을 수집함으로써 영향도를 분석하는 귀납식의 방법을 적용한다.
귀납식 분석을 위한 도구는 DB암호화 제품이나 솔루션의 일부로 제공되기도 하며 별도의 제품이나 솔루션이 존재한다. DB를 분석하고 쿼리를 수집하여 영향도를 분석하는 도구가 함께 제공되는 DB암호화 제품이나 솔루션을 구매한다면 DB암호화 적용에 큰 도움이 될 수 있다.
기존 데이터에 대한 암호화 적용
대부분의 DB암호화 제품이나 솔루션은 DB서버에 저장되어 있는 기존 데이터에 대한 암호화 도구를 제공하고 있다. 암호화 도구를 수행함으로써 기존 데이터의 암호화를 적용할 수 있다.
암호화 테스트
데이터를 저장하고 읽는 쿼리를 수행함으로써 암호화 적용 후의 결과를 테스트할 수 있다. 이 과정은 DB서버에 데이터가 저장될 때 암호화가 올바르게 수행되어 저장되는지, 저장된 데이터를 검색하거나 읽을 때 암호화된 데이터를 복호화해 올바르게 제공할 수 있는지의 기능을 점검하는 과정이다.
DB서버에 암호화를 적용하면 기존 쿼리를 처리하면서 암호화와 복호화 과정이 추가되고 데이터 구조의 일부가 변경되기 때문에 일부 쿼리들에서 다소의 성능 저하가 발생할 수 있다. 이러한 성능 저하 문제를 해결하는 것이 쿼리 최적화 과정이다.
쿼리 최적화는 업무시스템이 DB서버로 전송하는 쿼리 중 암호화 컬럼과 관련된 부분을 직접 수정하는 방법으로서 암호화 적용 영향도 분석을 제공하는 도구를 활용함으로써 성능 저하가 일어나는 일부 쿼리에 대해 적용 가능하다.
이행 완료 및 모니터링
업무시스템을 정상적으로 운영하면서 암호화와 복호화가 정상적으로 이루어지고 있는지를 살피고 수립된 DB보안 정책에 따라 사용자에 대한 접근제어가 정상적으로 이루어지고 있는지를 모니터링한다. 이 과정에서 서비스 전반의 성능이 저하되었다면 쿼리 최적화를 다시 적용함으로써 서비스의 성능을 개선할 수 있다.
이와 같은 과정을 따름으로써 개인정보가 저장되어 있는 DB서버에 암호화를 적용할 수 있다. 기존에 사용하고 있는 DB서버에 대해서도 적용 가능한 것은 당연하다. 기존 DB서버에 적용할 때에는 기존 업무시스템 내부의 SW에 대한 분석하고 DB암호화를 적용했을 때 발생할 수 있는 영향도를 분석하는 사전 분석이 반드시 선행되어야 한다.
기존 업무시스템의 내부에 대한 연역식 분석을 할 수 없는 경우에는 DB서버와 업무시스템 사이의 쿼리를 분석함으로써 DB분석과 영향도 분석을 수행하는 귀납식 분석을 위한 별도 분석 제품이나 도구를 활용할 것을 권하고 싶다.
[글_심상규 펜타시큐리티시스템 부장(sgsim@pentasecurity.com)]
[기사 원문 보기 – 보안뉴스 http://www.boannews.com/media/view.asp?idx=33057&kind=1]