[보안 해킹] 개인정보 암호화 방식 - 저장시 암호화
■ 개인정보처리시스템 암호화
◆ 개요
⊙ 개인정보를 처리하고 관리하는 개인정보처리시스템은 DB에 저장된 개인 정보를 암호화하여 저장함으로써 개인정보의 변경, 파괴 및 유출을 방지 해야 한다.
⊙ 개인정보처리시스템의 DB를 암호화할 수 있는 방식은 암·복호화 모듈의 위치와 암·복호화 모듈의 요청 위치의 조합에 따라 [표 1]과 같이 구분할 수 있다.
[표 1] 개인정보처리시스템 암호화 방식의 구분
방 식 |
암·복호화 모듈 위치 |
암·복호화 요청위치 |
주요내용 |
응용 프로그램 자체 암호화 |
어플리케이션 서버 |
응용 프로그램 |
- 암·복호화 모듈이 API 라이브러리 형태로 각 어플리케이션 서버에 설치되고, 응용프로그램에서 해당 암·복호화 모듈을 호출하는 방식 - DB 서버에 영향을 주지 않아 DB 서버의 성능 저하가 적은 편이지만 구축 시 응용프로그램 전체 또는 일부 수정 필요 - 기존 API 방식과 유사 |
DB 서버 암호화 |
DB 서버 |
DB 서버 |
- 암·복호화 모듈이 DB 서버에 설치되고 DB 서버에서 암·복호화 모듈을 호출하는 방식 - 구축 시 응용프로그램의 수정을 최소화 할 수 있으나 DB 서버에 부하가 발생하며 DB 스키마의 추가 필요 - 기존 Plug-In 방식과 유사 |
DBMS 자체 암호화 |
DB 서버 |
DBMS 엔진 |
- DB 서버의 DBMS 커널이 자체적으로 암·복호화 기능을 수행하는 방식 - 구축 시 응용프로그램 수정이 거의 없으나, DBMS에서 DB 스키마의 지정 - 기존 커널 방식(TDE)과 유사 |
DBMS 암호화 기능 호출 |
DB 서버 |
응용 프로그램 |
- 응용프로그램에서 DB 서버의 DBMS 커널이 제공하는 암·복호화 API를 호출하는 방식 - 구축 시 암·복호화 API를 사용하는 응용프로그램의 수정이 필요 - 기존 커널 방식(DBMS 함수 호출)과 유사 |
운영체제 암호화 |
파일서버 |
DB 서버 |
- OS에서 발생하는 물리적인 입출력(I/O)을 이용한 암·복호화 방식으로 DBMS의 데이터파일 암호화 - DB 서버의 성능 저하가 상대적으로 적으나 OS, DBMS, 저장장치와의 호환성 검토 필요 - 기존 DB 파일암호화 방식과 유사 |
※ 각 방식의 단점을 보완하기 위하여 두 가지 이상의 방식을 혼합하여 구현하기도 한다. 이 경우, 구축 시 많은 비용이 소요되지만 어플리케이션 서버 및 DB 서버의 성능과 보안성을 높일 수 있다.
⊙ 개인정보처리시스템 암호화 방식마다 성능에 미치는 영향이 다르므로 구축 환경에 따라 암호화 방식의 특성, 장단점 및 제약사항 등을 고려하여 DB 암호화 방식을 선택해야 한다. [표 2]는 개인정보처리시스템 암호화 방식의 선택 시 고려해야 할 사항이다.
[표 2] 개인정보처리 암호화 방식의 구분
방 식 |
공인 인증서 필요 여부 |
일반적인 고려사항 |
구현 용이성, 구축 비용, 기술지원 및 유지보수 여부 |
암호화 성능 및 안전성 |
|
공공기관의 경우, 국가정보원 인증 또는 검증 여부 |
|
기술적 고려사항 |
암 복호화 위치(어플리케이션 서버, DB 서버, 파일서버 등) |
색인 검색 가능 유무, 배치처리 가능 여부 |
※ 성능이 매우 중요한 요소가 되는 환경에서 DB 서버 암호화 방식을 고려하는 경우에는 반드시 벤치마킹 테스트(BMT) 등을 수행하여, 최적의 솔루션을 선택하는 것이 바람직하다.
⊙ 공공기관에서는 국가정보원이 안전성을 확인한 암호모듈 또는 제품을 우선 적용해야 한다.
⊙ 암·복호화 모듈의 위치와 암·복호화 요청 위치에 따라 어플리케이션 서버 또는 DB 서버의 성능에 영향을 미칠 수 있다. 예를 들어, DB 서버 암호화 방식은 암·복호화시 DB 서버의 자원을 추가적으로 사용하므로 대량의 트랜잭션 작업에서 DB 서버의 성능 저하가 발생할 수 있다.
⊙ 현재 운영 중이거나 향후 개발 예정인 개인정보처리시스템의 목적 및 환경에 맞게 쉽게 구현이 가능한 암호화 방식을 선택해야 한다. 응용프로그램 및 DB 스키마 수정 등을 최소화하고 개발 환경에 맞게 성능을 최대화할 수 있도록 해야 한다.
⊙ DB 암호화의 안전성을 확보하기 위해서는 안전한 암호키의 관리가 필요하다. 암호화된 개인정보가 유출되더라도 복호화 할 수 없도록 암호키에 대한 추가적인 보안과 제한된 관리자만 허용하도록 하는 기술의 적용을 권고한다.
◆ 응용프로그램 자체 암호화 방식
⊙ 응용프로그램 자체 암호화 방식은 <그림 1>과 같이 암·복호화 모듈이 API 라이브러리 형태로 각 어플리케이션 서버에 설치되고 응용프로그램에서 암·복호화 모듈을 호출하는 방식이다.
⊙ DB 서버에는 영향을 주지 않지만 어플리케이션 서버에 암·복호화를 위한 추가적인 부하가 발생하며, 구축 시 응용프로그램 전체 또는 일부 수정이 필요하다.
⊙ 추가적으로 어플리케이션 서버와 DB 서버 간의 통신에서 암호화된 개인정보의 전송을 보장할 수 있다.
<그림 1>
⊙ 응용프로그램 자체 암호화 방식의 주요 특성은 [표 2와 같다.
[표 2] 개인정보처리 암호화 방식의 구분
항 목 |
주 요 내 용 |
암·복호화 모듈 |
어플리케이션 서버 |
암·복호화 요청 |
응용프로그램 |
DB 서버의 부하 |
없음(어플리케이션 서버에 부하 발생) |
색인 검색 |
일치검색 가능 별도 색인 테이블 생성을 통해 가능(추가 작업 필요) |
배치 처리 |
가능 |
응용프로그램 수정 |
필요함 |
DB 스키마 수정 |
거의 필요하지 않음(암호화에 따른 속성 타입이나 길이의 변경이 필요할 수 있음) |
◆ DB 서버 암호화 방식
⊙ DB 서버 암호화 방식은 <그림 2>와 같이 암·복호화 모듈이 DB 서버에 설치되고 DBMS에서 플러그인(plug-in)으로 연결된 암·복호화 모듈을 호출하는 방식이다.
⊙ 응용프로그램의 수정이 거의 필요하지 않아 구현 용이성이 뛰어나지만, 기존 DB 스키마와 대응하는 뷰(view)를 생성하고 암호화할 테이블을 추가하는 작업이 필요하다.
⊙ 어플리케이션 서버의 성능에는 영향을 주지 않지만 DBMS에서 DB 서버의 암·복호화 모듈을 플러그인으로 호출할 때 추가적인 부하가 발생하여 성능이 저하될 수 있다.
<그림 2> DB 서버 암호화 방식의 개념도
⊙ DB 서버 암호화 방식의 주요 특성은 [표 3]과 같다.
[표 3] DB 서버 암호화 방식의 주요 특성
항 목 |
주 요 내 용 |
암·복호화 모듈 |
DB 서버 |
암·복호화 요청 |
DB 서버 |
DB 서버의 부하 |
있음 |
색인 검색 |
가능 |
배치 처리 |
가능(대량의 배치 트랜잭션 처리는 많이 느릴 수 있음) |
응용프로그램 수정 |
기본적으로 수정 없이 적용할 수 있으나, 제약사항 또는 성능 문제가 있는 경우 수정이 필요함 |
DB 스키마 수정 |
필요함 |
◆ DBMS 자체 암호화 방식
⊙ DBMS 자체 암호화 방식은 <그림 3>과 같이 DBMS에 내장되어 있는 암호화 기능(TDE : Transparent Data Encryption)을 이용하여 암·복호화 처리를 수행하는 방식이다.
⊙ DBMS 커널 수준에서 처리되므로 기존 응용프로그램의 수정이나 DB스키마의 변경이 거의 필요하지 않고 DBMS 엔진에 최적화된 성능을 제공할 수 있다.
<그림 3> DBMS 자체 암호화 방식의 개념도
⊙ DBMS 자체 암호화 방식의 주요 특성은 [표 4]와 같다.
[표 4] DBMS 자체 암호화 방식의 주요 특성
항 목 |
주 요 내 용 |
암·복호화 모듈 |
DB 서버 |
암·복호화 요청 |
DBMS 엔진 |
DB 서버의 부하 |
있음 |
색인 검색 |
가능 |
배치 처리 |
가능 |
응용프로그램 수정 |
필요하지 않음 |
DB 스키마 수정 |
거의 필요하지 않음(암호화할 DB 스키마 지정 필요) |
◆ DBMS 암호화 기능 호출 방식
⊙ DBMS 암호화 기능 호출 방식은 <그림 4>와 같이 DBMS가 자체적으로 암·복호화 기능을 수행하는 API를 제공하고 해당 함수를 사용하기 위해 응용프로그램에서 호출하는 방식이다.
⊙ 암·복호화 API를 사용하는 응용프로그램의 수정이 필요하고, DB 서버에 추가적인 부하가 발생할 수 있다.
<그림 4> DBMS 암호화 기능 호출 방식의 개념도
⊙ DBMS 암호화 기능 호출 방식의 주요 특성은 [표 5]와 같다.
[표 5] DBMS 암호화 기능 호출 방식의 주요 특성
항 목 |
주 요 내 용 |
암·복호화 모듈 |
DB 서버 |
암·복호화 요청 |
응용프로그램 |
DB 서버의 부하 |
있음 |
색인 검색 |
불가능 |
배치 처리 |
가능(대량의 배치 트랜잭션 처리는 많이 느릴 수 있음) |
으용프로그램 수정 |
수정 필요 |
DB 스키마 수정 |
일부 수정 필요 |
◆ 운영체제 암호화 방식
⊙ 운영체제 암호화 방식은 <그림 5>와 같이 OS에서 발생하는 입출력 시스템 호출을 이용한 암·복호화 방식으로서 DB 파일 자체를 암호화한다.
⊙ 응용프로그램이나 DB 스키마의 수정이 필요하지 않지만 DB 파일 전체를 암호화하는데 따른 파일 서버 및 DB 서버에 추가적인 부하가 발생할 수 있다.
<그림 5> 운영체제 암호화 방식의 개념도
⊙ 운영제체 암호화 방식의 주요 특성은 [표 6]과 같다.
[표 6] 운영체제 암호화 방식의 주요 특성
항 목 |
주 요 내 용 |
암·복호화 모듈 |
파일 서버(또는 DB 서버) |
암·복호화 요청 |
운영체제 |
DB 서버의 부하 |
있음 |
색인 검색 |
가능 |
배치 처리 |
가능 |
응용프로그램 수정 |
필요하지 않음 |
DB 스키마 수정 |
필요하지 않음 |
■ 업무용 컴퓨터 암호화
◆ 개요
⊙ 업무용 컴퓨터에서는 보조저장매체에 저장된 개인정보의 보호를 위하여 개별 문서 파일 단위로 암호화(파일 암호화) 또는 디렉토리 단위로 암호화(디스크 암호화)를 수행해야 한다.
⊙ 파일 암호화는 업무용 컴퓨터에 저장된 개인정보에 대한 보호뿐만 아니라 개인정보취급자 간에 네트워크상으로 파일을 안전하게 전송하기 위한 방식으로도 사용할 수 있다.
⊙ 업무용 컴퓨터에서 가능한 암호화 방식은 [표 7]과 같이 구분할 수 있다.
[표 7] 업무용 컴퓨터 암호화 방식의 구분
방 식 |
주 요 내 용 |
문서 도구 자체 암호화 |
- 업무용 컴퓨터에서 사용하는 문서도구의 자체 암호화 - 기능을 통하여 개인정보 파일 암호화 |
암호 유틸리티를 이용한 암호화 |
- 업무용 컴퓨터의 OS에서 제공하는 파일 암호 - 유틸리티 또는 파일 암호 전용 유틸리티를 이용한 개인정보 파일의 암호화 |
DRM (Digital Right Management) |
- DRM을 이용하여 다양한 종류의 파일 및 개인정보파일의 암호화 |
디스크 암호화 |
- 디스크에 데이터를 기록할 때 자동으로 암호화하고, 읽을 때 자동으로 복호화하는 기능을 제공함 - 디스크 전체 또는 일부 디렉토리를 인가되지 않은 사용자에게 보이지 않게 설정하여 암호화 여부와 관계없이 특정 디렉토리 보호 가능 |
⊙ 업무용 컴퓨터 암호화 방식의 특징을 간단히 비교하면 [표 8]과 같다.
[표 8] 업무용 컴퓨터 암호화 방식의 비교
방 식 |
주 요 내 용 |
|
특 정 문 서 * |
일 반 파 일 * * |
|
문서 도구 자체 암호화 |
지원함 |
지원하지 않음 |
암호 유틸리티를 이용한 암호화 |
지원함 |
지원함 |
DRM |
지원함 |
지원함 |
디스크 암호화 |
지원함 |
지원함 |
* 특정문서 : 흔히 사용하는 문서 도구(예 : 한글, MS 워드 등)로 작성한 파일
* * 일반문서 : 특정 문서 이외의 문서(예 : 텍스트파일, 이미지 파일 등)
◆ 문서 도구 자체 암호화 방식
⊙ 업무용 컴퓨터에서 주로 사용하는 문서 도구(예 : 한글, MS 워드 등)에서는 자체 암호화 기능을 통하여 개인정보 파일을 암호화할 수 있다.
◆ 암호 유틸리티를 이용한 암호화 방식
⊙ 업무용 컴퓨터에서는 해당 컴퓨터의 OS에서 제공하는 파일 암호 유틸리티 또는 파일 암호 전용 유틸리티를 이용하여 개인정보 파일 또는 디렉토리를 암호화 할 수 있다.
◆ DRM 방식
⊙ DRM은 조직 내부에서 생성되는 전자문서를 암호화하고 해당 문서를 접근 및 사용할 수 있는 권한을 지정함으로써 허가된 사용자만 중요 문서(개인정보 문서, 기밀문서 등)를 사용하게 하는 기술이다.
⊙ DRM은 중요 문서 이외에 다양한 종류의 멀티미디어 콘텐츠(음악, 사진, 동영상, 이미지 등)에 대한 보안 기능을 제공할 수 있다.
⊙ DRM으로 암호화된 문서는 DRM 클라이언트가 없는 PC에서는 열람이 불가능하며, 열람중에도 파일이 복호화 되지 않고 암호화 상태를 유지한다.
◆ 디스크 암호화 방식
⊙ 디스크 암호화는 디스크에 데이터를 기록할 때 자동으로 암호화하고, 주기억장치로 읽을 때 자동으로 복호화하는 방식이다.
⊙ 휴대용 보조기억매체는 개방된 장소에 놓일 수 있기 때문에 적절한 물리적 보안을 제공하기 어렵다. 따라서 휴대용 보조기억매체는 저장된 개인정보의 기밀성을 위해 디스크 암호화 솔루션을 이용하여 암호화하기를 권고한다.
※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853
'Security > Hacking & Security' 카테고리의 다른 글
[보안 해킹] 개인정보 암호화 적용 사례 - 저장시 암호화 (0) | 2016.11.08 |
---|---|
[보안 해킹] 개인정보 암호화 적용 사례 - 전송시 암호화 (0) | 2016.11.07 |
[보안 해킹] 개인정보 암호화 방식 - 전송시 암호화 (0) | 2016.11.04 |
[보안 해킹] 홈페이지 보안 취약점 점검 (0) | 2016.11.04 |
[보안 해킹] 홈페이지 개발 보안 - 주석을 통한 정보 노출 (0) | 2016.11.03 |