본문 바로가기

Security/Hacking & Security

[보안 해킹] 개인정보 암호화 방식 - 저장시 암호화

[보안 해킹] 개인정보 암호화 방식 - 저장시 암호화



■ 개인정보처리시스템 암호화

    ◆ 개요

        ⊙ 개인정보를 처리하고 관리하는 개인정보처리시스템은 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


문의 사항 남기기