데이터베이스는 여러 시스템을 통해 접근 가능한 데이터의 집합이므로 특히 높은 수준의 보안 조치가 필요합니다. 개인정보 유출과 그로 인한 피해가 사회적 이슈로 부각되자 정부는 데이터베이스에 저장한 개인정보는 반드시 암호화해야 한다는 법을 제정하기도 했습니다.
최근에는 클라우드 전환이 가속화되면서 보관/처리해야 하는 데이터가 기하급수적으로 늘어나 데이터 보안에 관한 관심이 높아지고 있습니다.
클라우드 전환을 앞두고 개인정보보호를 비롯한 데이터 보안이 고민된다면, 다음의 내용을 확인하세요.
DB 암호화 필요성
DB 암호화는 데이터베이스에 저장된 데이터(평문)를 암호 알고리즘을 거쳐 읽을 수 없는 형태(암호문)로 전환하는 과정을 말합니다.
공격자가 방화벽, 웹방화벽, IPS 등 네트워크 및 애플리케이션 단의 보안 조치를 모두 통과하고 데이터베이스에 접근하더라도 개인 정보가 암호화 되어 있으면 2차 피해를 방지할 수 있습니다.
용어 정리
- 평문(Plain text)
읽을 수 있는 형태의 메시지 - 암호문(Cipher text)
읽을 수 없는 형태의 메시지 - 암호화(Encryption)
평문을 암호문으로 변환하는 과정 - 복호화(Decryption)
암호문을 평문으로 변환하는 과정
암호화 방식
DB의 정보를 암호화하는 DB 암호화를 이해하려면 먼저 ‘암·복호화’ 방식을 알아야 합니다.
암호화는 크게 세가지 방식으로 분류됩니다.
- 대칭키(비공개키) 방식
암·복호화에 동일한 키를 사용하는 방식. 그래서 키를 비공개 함.
정보 교환 당사자 간에 동일한 키를 공유해야 하므로, 여러 사람과 정보 교환 시 많은 키를 유지/관리해야 하는 어려움 존재 - 비대칭키(공개키) 방식
암·복호화에 쌍을 이룬 서로 다른 키(공개키-개인키)를 사용하는 방식. 하나의 키는 공개.
데이터 암호화 속도가 대칭키 암호화 방식에 비해 느리기 때문에 일반적으로 대칭키 암호화 방식의 키 분배 또는 카드번호와 같은 작은 크기의 데이터 암호화에 많이 사용 됨 - Hash 방식
해싱(Hashing)을 이용해 암호화 하는 방식.
정보를 암호화할 수 있지만, 복호화(복원)할 수 없음. 예) 패스워드
용어 정리
- 해쉬(Hash)
임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 방식
– 키: 매핑 전 원래 데이터 값
– 해시값: 매핑 후 데이터 값
DB 암호화 방식 비교
DB 암호화에는 다양한 방식이 존재합니다. 각 방식마다 성능에 미치는 영향이 다르므로, 구축 환경을 고려하여 가장 적합한 DB 암호화 방식을 선택하는 것이 중요합니다.
구분 | 특징 |
---|---|
API 방식 | – 애플리케이션 서버에 암·복호화 모듈을 API 라이브러리 형태로 설치 – 응용 프로그램에서 해당 암·복호화 모듈을 호출하는 방식 – DB 서버에 영향을 주지 않아 DB 서버의 성능 저하가 적은 편(DB 종속 없고, 성능 저하 X) – 응용 프로그램 전체 또는 수정 필요(구축 복잡한 편) |
플러그인(Plug-In) 방식 | – DB 서버에 암·복호화 모듈 설치 – DB 서버에서 암·복호화 모듈을 호출하는 방식 – 구축 시, 응용 프로그램 수정 최소 – DB 서버에 부하 발생하고, DB 스키마 추가해야 함 |
하이브리드 방식 | – API 방식과 플러그인 방식이 조합된 형태 -데이터베이스 일부는 API 방식으로 성능을 보장하고, 나머지는 플러그인 방식으로 응용프로그램 수정 최소화 (암·복호화 모듈을 DB 서버와 애플리케이션 서버에 설치) – 구축 비용 높은 편 |
가비아는 DB 접근 통제, 암호화 등 개인정보보호를 위한 다양한 DB 보안 솔루션을 제공합니다.
20년 경력의 보안 엔지니어가 직접 기업의 시스템과 서비스 특성을 고려한 암호화 기술을 제안하고, 솔루션을 적용/관리합니다.
클라우드에서의 개인정보 및 데이터 보호 방법에 대해 더 궁금하시다면, 가비아 보안 전문가에게 문의하세요.
02-3473-3911 / securitysales@gabia.com
DB 암호화 도입/구축에 도움되는 내용을 정리한 글도 함께 확인해 보세요.