DB암호화의 어려움

Download Report

Transcript DB암호화의 어려움

국가용
암호제
품
등록필
행정정
보
보호제
품
인증필
DB암호화 프로세스와 전략
(The Process & Plan
for Successful DB Encryption)
서울시 구로구 구로동 197-5 삼성아이티밸리 6층
㈜이소프팅 솔루션사업본부
 2010 eGlobalSystem Co., Ltd., All rights reserved
Column Level Encryption Solution for Index Searching
1
DB암호화 제품의 요건
DBMS 암호화 제품의 필수 기능 (Mandatory Features of DB Encryption S/W)
구분
인증
암호
모듈
키
기밀성
보안성
감사
주요 기능
기준
요구 기능
설명
DB암호제품의 필 • 국정원의 “DB암호제품 보안 요건
수
-4/21일 공시” 및 이에 준한 “국가 • 재 검증 통과 (보안성 인증) 여부
보안 기능 규정 용 암호제품” 재 검증 계획
법정 알고리즘
• 블록 알고리즘: ARIA/SEED
(128bit/CBC모드)
• ARIA, SEED, AES등의 CBC모드
(128/192/256key 지원)
• 주요 정보 암.복호화
(CBC모드 사용)
• 일방향 알고리즘: SHA-256이상,
HAS-160
• 2011년 이후 : SHA-256/384/512 사용
가능
• 비밀번호 암호화
키 유출 방지
• 비 인가자는 평문 키에 접근 불가능
•시스템 백업시 키와 암호문이 함께 유출되지
• 국정원의 “DB암호제품 보안 요건
말것
-4/21일 공시”
•제품 종료시 메모리에 로딩된 키와 정책은
제로화 될 것
• HSM 같은 키 저장소 없
이 서버 재기동시 자동 서
비스 개시되면 File
system 백업시에 유출될
수 있음을 의미
접근통제
• DB사용자/IP주소/MAC주소/App명과
• 국정원의 “DB암호제품 보안 요건” • 시간대/ 요일/ 기간별로 통제 가능
•접근통제정책: 비 인가자의 접근/ 수정 차단
• API의 경우 MAC/ App
명 통제
어려움.
• Table에 저장하면 위험
감사로그
저장 및 검색
• 제품 사용자 인증 결과 및 암.복호화 작업
및 통제정책 변경 기록 지원
• 암호화 데이터에 대한 접근기록 저장
• 정책 변경 로그
• 국정원의 “DB암호제품 보안 요건” (주체, 쿼리종류, 결과,접속 IP, 접속시간, 테
• 데이터 접근 로그
이블명/컬럼명 등)
• 저장소 포화시 관리자에 통보 기능
• 비인가자의 조회/삭제/변경 차단
 2010 eGlobalSystem Co., Ltd., All rights reserved
2
구축 시 준수 사항
DB암호화 관련 법.규정 및 기준 충족 방안
항목
근거
방통위 지침해설서 제6조
알고리즘
기준 (2011년 이후 유효)
기준 충족 방안(예)
개인정보: ARIA,SEED,AES,TDES등 (키길이 128bit 이상)
비밀번호: SHA-256 이상
국정원 DB암호화제품 보 개인정보: 128bit 이상의 키길이의 ARIA,SEED
비밀번호: SHA-1, HAS-160, SHA-256
안요건
방통위 지침해설서 제4조 DB접속권한은 IP 주소를 기준으로 비인가자 통제
비고
개인정보: AES-128bit/CBC 모드,
비밀번호: SHA-256
민간기업
개인정보: ARIA-128bit/CBC 모드
비밀번호: SHA-256
공공기관
접근권한 통제 요 행안부 지침해설서
DB사용자 ID, IP, MAC, 애플리케이션명, 접속기간, 시
DB사용자 ID, IP, 애플리케이션명으로 비인가자 통제
간, 요일별로 비인가자 통제
소
국정원 DB암호화제품 보 DB사용자 ID, IP, MAC, 애플리케이션명, 접속기간, 시간, 요
안요건
접근권한 허용 대 방통위/행안부 지침해설
서
상
일별로 비인가자 통제
암호화 한 개인정보(주요행정정보)는 꼭 필요한 최소한의 사
용자만 접근하도록 통제 실시
통제자 : 개인정보관리책임자 (부장/임원/대표이사)
암호화 제품 GUI
방통위 지침해설서 제2조 피통제자 : 개인정보 취급자 (조회권을 가진 모든 사용자,
(권한통제권) 관리
DBA/정보보호담당자 포함)
방통위 지침해설서 제5조
접속기록의
위 변조 방지
암호화된 주요행정정보에 대한 접근기록을 무결성이 보장되
행안부 지침해설서
도록 보존 할것
암호화 컬럼에 대한 접근통제 내역과 보안정책 변경 내역 기
국정원 DB암호화제품 보
록. DB_ID, DML 종류, IP, 접속시각, 결과(성공/실패) 등 기록
안요건
및 검색
Garbage Data 정
국정원 권고
리
암.복호키 생성
암.복호키 보관
키 및 정책 백업
개인정보취급자의 접속기록이 위.변조되지 않도록 별도의 물
리적인 저장장치에 보관하고 정기적인 백업을 수행할 것
애플리케이션(ODBC/JDBC)@애플리케이션서버 Only
GUI를 이용한 통제권한 행사: 개인정보관리책임자 또는
위임을 받은 정보보호담당자
정책변경 기록은 제품 콘솔에 저장하고, 암호화된 개인
정보 접근기록은 DB사용자 ID, 작업내역(DML 종류), 접
속 IP, 접속시각, 결과(성공/실패) 등을 DB내에 1차 보관
함과 동시에 CDROM과 같은 무결성이 유지되는 매체에
월 1회 이상 정기적으로 백업함.
암호화 이후에 파일시스템에 남아있을 수 있는 평문 데이터를 암호화 적용 후 데이터 Import 실시
제거할 것
암호화 이후에 Table Space Exp/Imp 실시
국정원 DB암호화제품 보
암호모듈검증기준 충족
안요건
테이블별 및 컬럼별 키 생성
암.복호키와 접근제어 정책등의 핵심보안 매개변수는 제
국정원 암호모듈검증기준
모든 암호키는 암호화되어 저장하고, 핵심 보안매개변수는 안 품 콘솔 외에 운영 자동화를 위해 사이트 당 1대의
및
전하게 보관할것
Secure Server를 구축하여 여기에 안전하게 암호화하
DB암호화제품 보안요건
여 백업 한다.
접근통제 정책의 변경 및 암.복호 키의 변경/추가시 마다
행안부 지침해설서
'평가측정 항목의 세부사항
분류'
암.복호화 키 백업 및 복구 지원
보안 USB등에 2벌을 백업하여 1벌은 보안 담당자가, 다
른 한벌은 금고등에 소산하여 보관한다.
Dual Sync Mode 국정원 DB암호화제품 보 암호화 이후에 파일시스템에 남아있을 수 있는 평문 데이터를 안정화 기간 동안 Dual Sync Mode를 사용하는 경우, 기
간 종료후 반드시 Mode를 해제하여 평문 데이터가 남지
제거할 것
안요건
사용
않도록 한다.
데이터 일괄 백업 Vendor 권고
 2010 eGlobalSystem Co., Ltd., All rights reserved
암호화 이후에는 데이터가 변해 있기 때문에 암호화 시점을
기준으로 하여 일괄 백업 관리 필요
3
이 외의 권한 허용은
자체 의사결정으로 정
함.
암호화 구축후 전체 백업이 필요함.
신규 구축인 경우
운영중 암호화인 경우
개인정보보호법 주요 내용
개인정보보호법의 주요 처리 규정 및 적용 시기
항목
근거 조항
총칙 제2조 1. 개인정보
용어의 정의
총칙 제2조 2. 처리
개인정보를 쉽게 검색할 수 있도록 일정한 규칙에 따라 체계적으로 배열하거나 구성한 개
인정보의 집합물(集合物)을 말한다.
총칙 제2조 5 적용 대상
업무를 목적으로 개인정보파일을 운용하기 위하여 스스로 또는 다른 사람을 통하여 개인정
보를 처리하는 공공기관, 법인, 단체
개인정보의 파기
제21조 ③항
제23조 민감 정보의 의미
제23조 민감 정보의 처리가
가능한 경우
제24조 ① 고유식별번호의
의미
제24조 ① 고유식별번호의
처리가 가능한 경우
고유식별번호의
처리 제한
발효 시기
총칙 제2조 2. 개인정보파일
제21조 ①,②항
민감정보의
처리 제한
내용
제24조 ② 대체번호
제24조 ③암호화
 2010 eGlobalSystem Co., Ltd., All rights reserved
처벌규정
살아 있는 개인에 관한 정보로서 성명, 주민등록번호 및 영상 등을 통하여 개인을 알아볼
수 있는 정보(해당 정보만으로는 특정 개인을 알아볼 수 없더라도 다른 정보와 쉽게 결합하
여 알아볼 수 있는 것을 포함한다)를 말한다.
는 것을 포함한다)를 말한다.
2. “처리”란 개인정보의 수집, 생성, 기록, 저장, 보유, 가공, 편집, 검색, 출력, 정정(訂正),
복구, 이용, 제공, 공개, 파기(破棄), 그 밖에 이와 유사한 행위
보유기간의 경과, 개인정보의 처리 목적 달성 등 그 개인정보가 불필요하게 되었을 때에는
지체 없이 그 개인정보를 파기하여야 한다.
제1항에 따라 개인정보를 파기할 때에는 복구 또는 재생되지 아니하도록 조치하여야 한다.
제1항 단서에 따라 개인정보를 파기하지 아니하고 보존해야 하는 경우에는 해당 개인정보
또는 개인정보파일을 다른 개인정보와 분리해서 저장·관리하여야 한다.
사상ㆍ신념, 노동조합ㆍ정당의 가입ㆍ탈퇴, 정치적 견해, 건강, 성생활 등에 관한 정보, 그
밖에 정보주체의 사생활을 현저히 침해할 우려가 있는 개인정보로서 대통령령으로 정하는
정보
1. 정보주체에게 제15조제2항 각 호 또는 제17조제2항 각 호의 사항을 알리고 다른 개인
정보의 처리에 대한 동의와 별도로 동의를 받은 경우
2. 법령에서 민감정보의 처리를 요구하거나 허용하는 경우
2011년 9월
행위자 처벌 (5년/5천
만원 벌금) 및 법인에
벌금형
법령에 따라 개인을 고유하게 구별하기 위하여 부여된 식별정보로서 대통령령으로 정하는
정보
1. 정보주체에게 제15조제2항 각 호 또는 제17조제2항 각 호의 사항을 알리고 다른 개인
정보의 처리에 대한 동의와 별도로 동의를 받은 경우
2. 법령에서 구체적으로 고유식별정보의 처리를 요구하거나 허용하는 경우
② 대통령령으로 정하는 기준에 해당하는 개인정보처리자는 정보주체가 인터넷 홈페이지
를 통하여 회원으로 가입할 경우 주민등록번호를 사용하지 아니하고도 회원으로 가입할 수
있는 방법을 제공하여야 한다
③ 개인정보처리자가 제1항 각 호에 따라 고유식별정보를 처리하는 경우
에는 그 고유식별정보가 분실ㆍ도난ㆍ유출ㆍ변조 또는 훼손되지 아니하
도록 대통령령으로 정하는 바에 따라 암호화 등 안전성 확보에 필요한 조
치를 하여야 한다.
4
행위자 처벌 (5년/5천
만원 벌금) 및 법인에
벌금형
2012년 3월
2011년 9월
행위자 처벌 (2년/
1천만원) 및 법인
에 벌금형
개인정보보호법 주요 내용
개인정보보호법의 주요 처리 규정 및 적용 시기
항목
근거 조항
제26조 ① 위탁 요건
위탁 처리 제한
제26조 ④~⑦ 수탁자의 의
무
안전조치 의무
개인정보파일 등
록 예외
내용
 2010 eGlobalSystem Co., Ltd., All rights reserved
처벌규정
2011년 9월
행위자 처벌 (2년/ 1
천만원) 및 법인에 벌
금형
위탁자는 개인정보를 안전하게 처리 (제15조 ~ 제25조, 제27조~ 제31조, 제 33조~제38
조 및 제 59조 준용 해야 함)하는지 수탁자를 감독 해야하며, 처리과정에서 이 법을 위반하
여 손해배상책임이 발생하면 수탁자를 위탁자 소속 직원으로 본다.
개인정보처리자는 개인정보가 분실ㆍ도난ㆍ유출ㆍ변조 또는 훼손되지 아
니하도록 내부 관리계획 수립, 접속기록 보관 등 대통령령으로 정하는 바
제29조 (안전조치 의무)
에 따라 안전성 확보에 필요한 기술적․관리적 및 물리적 조치를 하여야 한
다.
제32조 (개인정보파일의 등
록 및 공개)
발효 시기
제3자에게 개인정보의 처리 업무를 위탁하는 경우에는 다음 각 호의 내용이 포함된 문서에
의하여야 한다.
1. 위탁업무 수행 목적 외 개인정보의 처리 금지에 관한 사항
2. 개인정보의 기술적․관리적 보호조치에 관한 사항
3. 그 밖에 개인정보의 안전한 관리를 위하여 대통령령으로 정한 사항
② 다음 각 호의 어느 하나에 해당하는 개인정보파일에 대하여는 제1항을 적용하지 아니한
다.
1. 국가 안전, 외교상 비밀, 그 밖에 국가의 중대한 이익에 관한 사항을 기록한 개인정보파
일
2. 범죄의 수사, 공소의 제기 및 유지, 형 및 감호의 집행, 교정처분, 보호처분, 보안관찰처
분과 출입국관리에 관한 사항을 기록한 개인정보파일
3. 「조세범처벌법」에 따른 범칙행위 조사 및 「관세법」에 따른 범칙행위 조사에 관한
사항을 기록한 개인정보파일
4. 공공기관의 내부적 업무처리만을 위하여 사용되는 개인정보파일
5. 다른 법령에 의하여 비밀로 분류된 개인정보파일
⑥ 국회, 법원, 헌법재판소, 중앙선거관리위원회(그 소속 기관을 포함한다)의 개인정보파일
등록 및 공개에 관하여는 국회규칙, 대법원규칙, 헌법재판소규칙 및 중앙선거관리위원회규
칙으로 정한다.
5
DB암호화의 어려움
(Difficulty & Issues
of DB Encryption)
 2010 eGlobalSystem Co., Ltd., All rights reserved
6
DB암호화의 어려움 (Issue & Difficulty)
암호화의 진정한 의미 (Real Meaning of Encryption)
Goal
비인가 접근시의 유출 방지
적용 (Implementation)
법정 암호화 대상 개인정보를 저장한 모든 DB에 실제 적용하여 운영
전제 조건 (Security Guarantee)
법.규정을 반드시 충족이 가능한 형태로 구성/ 구축하여 유출위험 제거
 2010 eGlobalSystem Co., Ltd., All rights reserved
7
DB암호화의 어려움 (Issue & Difficulty)
실패 하는 방법 (How to Fail)
DB 암호
화의 특
성 모름
선정 기준 : 오직 가격
제품 선정 : SI 사업자에 일임
PM : SI 사업자에 일임
관련 부서 협조 : 비 협조
Fail
[주로 공공 프로젝트]
 2010 eGlobalSystem Co., Ltd., All rights reserved
8
DB암호화의 어려움 (Issue & Difficulty)
성공 하는 방법 (How to Success)
[주로 민간 프로젝트]
Success
관련 부서 협조 : 긴밀한 협조
PM : 자체 TFT 구성
DB 암호
화의 특
성 숙지
제품 선정 : 직접 선정
선정 기준 : 기능/성능/운영성 중시
 2010 eGlobalSystem Co., Ltd., All rights reserved
9
DB암호화의 어려움 (Issue & Difficulty)
DB암호화의 어려움 (Difficulty)
제품의 문제
원인
결과
기능과 완성도가
천차만별
내부 구조 및 형태가 다름
(운영을 위해서는 보안성을 포기해야
하는 경우가 많음)
법.규정에서 요구되는 보안 요소를
모두 갖춘 상태에서 운영이 가능한
구축이 어려움.
BMT의 한계
원인
결과
BMT로 제품에 대한 평
가 불가능
Real ≠ BMT
(부하 및 환경)
BMT때 드러나지 않았던 문제들로
인해 구축/운영이 어려움
추진 조직 및 주체
원인
결과
추진 조직의 구성 및 주
체(PM)에 따라 성패가
좌우
DB 암호화는 고객이 주도하고 전체
조직이 참여해야 하는 프로세스 기반
의 프로젝트 (제품으로만 해결되지
않음)
관련 조직의 전향적인 참여 없이는
어려움
 2010 eGlobalSystem Co., Ltd., All rights reserved
10
DB암호화의 특성
(Technical Specificity
of DB Encryption)
 2010 eGlobalSystem Co., Ltd., All rights reserved
11
DB암호화 일반
암호화의 특성 (Specificity of DB Encryption)
 Block Algorithm (AES, ARIA,,,) : CPU Intensive Work (주로 CPU자원을 사용).
 CPU Clock Speed ∝ Enc/Dec Performance (Memory 사용은 미미)
 Algorithm : Block Algorithm (ARIA), Hash Algorithm (SHA-256~512, Password 용)
 Performance : AES(128) > ARIA(128) > SEED(128)
 보안 강도 : AES/ARIA(256) > SEED(128)
 운영 모드 : CBC, CFB, OFB (IV를 사용이 어려운 DB 특성상 유추 위험성이 없는 CBC사용)
 권한 통제 : DB암호제품 자체의 권한통제가 필수 (국정원 ‘DB암호제품의 보안 요건’ 충족)
 2010 eGlobalSystem Co., Ltd., All rights reserved
12
DBMS 암호화 의 중요 고려사항
DBMS 암호화 제품 선정 시 고려사항
법규 충족
기술적 요구
DBMS
운영
• 개인정보 암호화 저장(정보통신망법; 비밀번호, 주민번호, 계좌번호,
신용카드번호)
• 국정원 보안 기준 충족 : 인증된 암호 알고리즘 채택, 암호화 키 기밀성 확보,
권한통제 준수
• 적절한 접속 로그 보관 방안 수립
• 개인정보 관리 책임자 선임 및 개인정보취급 방안 수립
• 암호화 적용 시 기존 Application 환경 및 SQL 변경 최소화 적용
• 암호화 적용 시 원본 Table의 속성 자동 유지
• 대량 Transaction 처리가 가능 하도록 암호화 적용 시 성능 감소 최소화
• 암호화된 색인에 대한 색인검색 기능 제공(Table Full Scan 방지)
• HA, RAC와 같은 DBMS 이중화 환경 지원
• 다중 Application 서버 환경(XA Session) 환경 지원
• Plug-in 방식과 API 방식을 혼용하여 암호화 부하분산 지원(Batch 성능
보전 방안)
• 대용량 Table(Partition Table: Hash, List, Range)지원
• 안정화 기간 중 장애 발생 시 신속한 원상 복귀 방안 제공
• 무 중단 암호화 기능 제공 : 초기 및 운영 중 암호화 적용 시 서비스 무 중단 기능
제공
• 무 장애 운영 특성 (ie, Daemon-less Service 구조)
• 대용량 DB 운영에 알맞은 기능 제공 (운영 사례 검증)
 2010 eGlobalSystem Co., Ltd., All rights reserved
13
유사 암호화 사례(Encoding)
전형적인 Encoding 기법인 BASE64로 데이터를 변형하여 저장한
경우.
BASE64는 메일 전송시에 사용하는 방법으로써 Mapping Table에
의해 데이터를 치환하는 방법 임.
("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv
wxyz0123456789+/“)- 빈자리는 “=“로 패딩 함.
즉 키에 의한 암호화가 아니어서 평문 유추가 가능하며, 이는 암
호화가 아님.
BASE64는
1~15 Byte  24 Byte로,
16 ~ 31 Byte  44 Byte로,
32 ~ 43 Byte  64 Byte로 만듦.
 2010 eGlobalSystem Co., Ltd., All rights reserved
14
블록 알고리즘의 암호 운영모드
운영모드 CFB (No IV)로 만든 암호문 (유추 위험)
( IV를 사용하지 않으면 평문 길이와 같은 암호문이 동일하게 생성되어 위험)
암호문
-----------------------------------ABD44CFFDBD6C45F48D4858C75,
ABD64CFFDBD0C45E4CDE838C75,
A6D64DF4D9D7C75A4CD1828C76,
A5D74CFDD9D7C75B4CD1818F70,
A5D44CFDD9DCC45848DE828C70,
ABD54DFCD8DDC75A4ED4868F71,
평문
----------------8112231522211
8312251468411
5309022067512
6210022167624
6110091228514
8001182042125
주민번호
주소
암호문
------------------------------------------------------------------------------------5003CE7FC92640D4B25B749DF1BB0195780B68AF14CDD3157A44459E38E9,
5003CE7FC92640D4B25B749DF1BB0195780B68AF14CDD3157A44459E38E9,
2241BC1BC95F3ADBC2C60E138CEB8092C938F7710E,
2303CC2FC9594FD9C85B749DFED406C0A9035F1F651C59F16A52C4A0,
2F48C222C95558DFC5570F9DFACB09C0C128FE817990EBAC873A,
2F48C222C95B12A9CF570F9DF9C1738373B43B6EBE,
2F48C222C9592EACBE570F9D84E50FE0EB9AF6828B2E81E0AE61,
2303CC2FC9594FD9C85B749DF8F27383331965B62F23036CB6497EB1E5CE4DFF,
2241BC1BC95451D190570F9DFBFD02C9B43B2105FE0C5C843B,
2F48C222C9544DDDB4570F9DF5BC05E901BF73721F458B2701F5,
 2010 eGlobalSystem Co., Ltd., All rights reserved
15
평문
-----------------------------충남 천안시 동남구 문화동 18-6
충남 천안시 동남구 문화동 18-6
광주 북구 문흥2동 1-1
경기 성남시 분당구 분당동 34
서울 강동구 암사2동 178-12
서울 양천구 신정1동 1
서울 송파구 잠실본동 336-5
경기 성남시 수정구 복정동 699-11
광주 광산구 월곡2동 495-7
서울 구로구 구로3동 182-13
블록 알고리즘의 암호 운영모드
운영모드 CBC (No IV)로 만든 암호문 (가장 안전)
( IV를 사용하지 않아도 16Byte 크기 단위로 유사한 평문일 지라도 암호문을 전혀 다르게 생성하여 안전)
주민번호
(RAW로 저장)
권장 운영 모드 (금융보안연구원 가이드라인)
JOIN/ FK의 사용 등으로
실제로 IV를 사용하기 어
려운 DB암호화의 특성상,
CBC모드의 중요성은
더욱 큼.
 2010 eGlobalSystem Co., Ltd., All rights reserved
16
DB암호화 일반
DBMS 암호화의 성공 요건
Algorithm
DB관련성이 매우
큰 보안 제품
국정원 요구기준 충족
(일방향 알고리즘 지원)
Access
Control
암호화 정보에 대한
세밀한 권한 통제
Business
Continuous
Key
Management
데이터와 키의
유출 가능성 제거
제품의 장애 시에도
서비스의 내 장애성
Performance
Mass
Transaction
빠른 암/복호 엔진 성능
기존 배치 성능 보장
동시 처리능력
무중단 구축 능력
Security Issue
Operation Issue
주요 DBMS 암호화 요건
법규충족
이 기종 DB 암호화
DB 성능 감소 최소화
 2010 eGlobalSystem Co., Ltd., All rights reserved
17
제품 형태별 특징 및 법규
충족 분석
(Configuration to meet
Regulations)
 2010 eGlobalSystem Co., Ltd., All rights reserved
18
DB암호화 제품 형태별 장단점
DBMS 암호화 제품 형태별 장단점
 API 는 보안성 충족이 불가능 하므로, 단독 적용 보다는 Plug-In의 성능보완 수단으로 적용 (Hybrid 구성)하는것이
바람직함.
제품형태
Hybrid
(API+Plug
-In)
Plug-In
API
DB 기능
(TDE)
설치/작동
장소
성능 부하
DB서버 & OLTP : 5% 이내
WAS 서버 Batch : 50% 이내
DB서버
OLTP : 5% 이내
Batch : 200~300%
느림
OLTP : 1% 이내
WAS 서버 Batch : 50% 이내
(App. Batch Only)
DB서버
부하
Application
수정
있음
다소 있음
있음
거의 없음
장점
• Plug-In의 장점 + API의 장점
• DB서버에 부하 발생,
(성능과 보안성 극대화 가능)
• 색인검색 가능,
• Application 무수정,
• 무중단 구축 가능,
• 가장 뛰어난 권한통제
없음
있음
(I/O 부하)
모두 수정
(재 구축시 적용
가능)
• Plug-In 대비 5~10배 빠른
성능
거의 없음
• App. 수정이 거의 없음
대형 DB : 운영 곤란
 2010 eGlobalSystem Co., Ltd., All rights reserved
• DB서버에 부하 발생,
• Batch 가 느림
국정원
기준 충족
완전 충족
완전 충족
(국정원 권한 통제 요건 완전 준수 가
능)
소형 DB : 5% 이내
DB서버
단점
19
• 취약한 권한통제
(국정원 통제요건 일부만 준수)
• 색인검색 불가
• App. 전체 수정 필요
•
•
•
•
•
DBA와 CPO의 권한분리 안됨
Memory에 전체 복호화 테이블
Huge Paging IO 발생
통제기능 없음
키 기밀성 없음
부분 충족
도입 불가
권한 통제 (Authentication)
API 구성시의 보안 요건 충족
보안성 측면의 API의 장점은 네트웍 구간에 암호문 전송이며 단점은 권한통제가 기준을 충족하지 못함.
App.서버
DB서버
Auditor
DBMS
메모리
API
Cipher Text
(정형
쿼리)
Console
키 유출시도
(암호화 로딩)
Manager
암복호 허용
인가 조건 :
{DB ID(AAA) + IP(10.0.0.1)
} + 시간대 (0800~2200) +
요일(월~금) +
내부 사용자
기간(20100101 ~ 20101030)
메모리
Cipher Text
(암복호 모듈없음)
Orange
Toad
키 유출시도
(암호화 저장)
Application
국정원 필수 보안 요건 (DB암호제품 보안요건)
결론
키관리
ARIA
SHA-256
DB계정
IP 주소
MAC주소
App. 명
시간대
기간
요일
O
O
O
O
O
X
X
X
X
X
 2010 eGlobalSystem Co., Ltd., All rights reserved
20
일부 충족
권한 통제 (Authentication)
Plug-In 구성의 보안 요건 충족
Plug-In 형태의 제품은 DB내에서 통제하므로 국정원의 기준을 완전 충족함.
App. SVR
DB SVR
Auditor Manager
DBMS
메모리
SQL*plus
API
키 유출시도
(암호화 로딩)
Application
정형 쿼리 (암복호 허용)
인가 조건 :
암복호 거부
(데이터 유출시도)
{DB ID(AAA) + IP(10.0.0.1)
+ APP(JDBC) +
MAC(0xc108,,,) +
시스템명(erp0) } + 시간대
(0800~2200) + 요일(월~금)
+ 기간(20100101 ~
20101030)
Console
암호문 Return
(데이터 유출시도)
Intranet User
Orange
메모리
Toad
키 유출시도
(암호화 저장)
국정원 필수 보안 요건 (DB암호제품 보안요건)
결론
키관리
ARIA
SHA-256
DB계정
IP 주소
MAC주소
App. 명
시간대
기간
요일
O
O
O
O
O
O
O
O
O
O
 2010 eGlobalSystem Co., Ltd., All rights reserved
21
완전 충족
권한 통제 (Authentication)
DB자체 기능 구성의 보안 요건 충족 (TDE)
DB자체 암호기능은 법규/보안상 허점이 많고 국정원의 필수 통제요건을 충족할 수 없음 (유출 됨).
App. SVR
DB SVR
DBMS
Application
Plain 테이블
Cipher 테이블
통제 수단 : DB
ID(AAA)
Intranet User
통제 수단 : DB
ID(AAA)
Orange
Toad
TDE (Transparent Data Encryption) :
투명한 데이터 암호화 라는 의미로서 Oracle/
MSSQL등에서 제공하는 암호화 기능 임.
국정원 필수 보안 요건 (DB암호제품 보안요건)
결론
키관리
ARIA
SHA-256
DB계정
IP 주소
MAC주소
App. 명
시간대
기간
요일
X
X
X
O
X
X
X
X
X
X
 2010 eGlobalSystem Co., Ltd., All rights reserved
22
적용 불가
권한 통제 (Authentication)
Appliance 제품의 보안 요건 충족 (Appliance)
Appliance 형태의 제품들은 필수 알고리즘 및 통제요건을 충족할 수 없음 (유출 됨).
Appliance
DB서버
DBMS
암복호 모듈
키 유출시도
(암호화 로딩)
HSM
통제 수단 : DB ID(AAA)
내부 사용자
암복호 허용
Orange
Toad
Application
국정원 필수 보안 요건 (DB암호제품 보안요건)
결론
키관리
ARIA
SHA-256
DB계정
IP 주소
MAC주소
App. 명
시간대
기간
요일
O
X
X
O
X
X
X
X
X
X
 2010 eGlobalSystem Co., Ltd., All rights reserved
23
적용 불가
키 관리 체계
(Key Management)
 2010 eGlobalSystem Co., Ltd., All rights reserved
24
Key Management System
데이터와 키가 함께 유출되면 암호화는 무용지물
비밀키 방식의 암호화 제품에서 ‘사용 상태의 키’는 성능 때문에 복호화 하여 메모리에 올려놓고 사용 합니다.
이렇게 메모리에 로딩된 키 외에 자동 로딩을 위해 키를 디스크 상에 영구 저장하고 있는 경우, 파일시스템 백업 및 DB
백업을 통하여 키와 데이터가 함께 유출될 수 있을 뿐더러, root 권한 또는 DBA 권한으로 영구 저장된 키의 취득이 가능
합니다.
이것은 암호화한 데이터가 언제든 root 와 DBA에 의해 유출 가능하다는것을 의미하며, 국정원의 암호모듈검증기준을
위반하여 보안성이 상실된 것 입니다. 제품자체 MGR 내의 관리 보다 실제 사용되는 장소인 DB서버에 있는 키의 기밀성이
중요한 이유가 이 때문 입니다.
즉 아무리 많은 칼럼을 암호화해도 키가 노출되어 있기 때문에 암호화한 의미가 없습니다.
파일 시스템
유출 !
파일 백업
DBMS
유출 !
DB 백업
 2010 eGlobalSystem Co., Ltd., All rights reserved
Row_ID
1
2
3
4
Name
홍길동
성춘향
강감찬
변학도
Jumin_Num
KJSDHFSJKHSDAJJSA
UEJEIUEWMNKJNDKAS
MCJHDSWIUHCIWUIW
AKLSJDSHKJDHASJSD
25
Key Management System (FIPS-140-2)
1.1 국정원 암호모듈검증기준 (VSL-1 등급) 의 내용
암호모듈검증기준
1. 난수 발생기 (RNGs)
- 검증대상 난수 발생기
- 연속적인 난수 발생기 생성 검증
2. 키 생성
- 검증 대상 난수 발생기 사용
3. 키 설정
- 공개키 알고리즘사용
4. 키 주입 및 출력
- 비밀키와 개인키는 검증대상 보호함수를 사용하여 암호화
- 전자적 방법으로 개인키와 비밀키를 설정할 때, 암호화된 형태로 암호 모듈에 주입되거나 출력되어야 한다.
5. 키 저장
- 암호키는 평문 또는 암호화 형태로 저장되어야 한다.
인가되지 않은 운영자는 평문으로된 비밀키와 개인키에 접근할 수 없다.
6. 키 제로화
- 비밀키, 개인키 및 핵심 보안 매개변수를 제로화하는 방법을 제공해야 한다.
 2010 eGlobalSystem Co., Ltd., All rights reserved
26
Key Management System
1.2 암호모듈검증기준(VSL-1) 에 따른 키 관리 및 핵심 보안매개변수 구조
(국정원 암호모듈검증)
Manager Console
DB Server
Manager
서버관리자
마스터 키
RSA
2nd 키
RSA
공개키
인증데이터
보안정책
패스워드
비밀키
보안정책
비밀키
개인키
공개키
Crypto
공유메모리
비밀키
ARIA
영속 존재 :
 2010 eGlobalSystem Co., Ltd., All rights reserved
임시 존재 :
27
Key Management System
1.3 Clustering (HA 또는 RAC) 구조에서의 암호화 컬럼에 대한 키 분산(공유) 체계
Manager
Console
Manager
마스터 키
RSA
2nd 키
DB Server -A
인증
데이터
패스워드
공개키
보안정책
비밀키
DB Server -B
서버관리자
서버관리자
RSA
개인키
공개키
Crypto
RSA
개인키
공개키
보안정책
비밀키
키 공유 (동일키)
공유메모리
비밀키
ARIA
 2010 eGlobalSystem Co., Ltd., All rights reserved
Row ID
card_no
na
me
address
tel
00001
212131314141
이
몰
룡
서울 강남 선릉 702-2
4077675
00002
222232324242
성
춘
향
경기 화성 무신 322
3273849
00003
232333334343
고
주
몽
강원 태백 명륜 107
4458989
00004
242434344444
임
꺽
정
충남 서산 효자 654-2
9763456
00005
252535354545
홍
길
동
광주 서구 금남 107
3307636
28
Crypto
보안정책
비밀키
공유메모리
비밀키
ARIA
구축 절차 및 역할
(DB Encrypting Process)
 2010 eGlobalSystem Co., Ltd., All rights reserved
29
구축 역할 (Role)
역할 분석 (Role Define)
Who’s Job!
 Installation
Vendor
(20 ~
30%)
 Encrypting
DB 암호화 성공
열쇠
 TFT 결성 필요
 내 일이라는 Mind 필요
 높은 Priority 부여
Applicatio
n Team
(50 ~ 60%)
DBA Team
(10 ~ 20%)
 2010 eGlobalSystem Co., Ltd., All rights reserved
 Whole SQL
Test
 SQL Tuning
 전향적인 협조 자세
 시간/비용이 최소화 되는
적용 시점 선정
 DB 환경 준비
 데이터 준비/백업
30
적용 시점 별 비용 (Cost)
암호화 적용 시점에 따른 업무량 및 비용 비교
암호화 후 개발
개발완료 후 암호화
[재 구축 시 적용]
[운영 중 DB암호화만 구축]
제품 공급
자
App. 개발팀
제품 공급자
App. 개발팀
DB 운영팀
DB 운영팀
 2010 eGlobalSystem Co., Ltd., All rights reserved
31
구축 절차 (Process)
Encrypting Process (운영중인 업무 기준)
@ Test DBMS
Env. Check
 DB 환경
 암호화 대상 선정
Encrypting TBL
Test 서버 구축
데이터와 App 준비
SQL Test
 APP내 관련 SQL
SQL Tuning
Test Complete
 튜닝이 필요한
SQL 수정
수정된 APP 준비
Monitoring
Complete
@ 운영 DBMS
Scheduling
 운영 서버 암호화
 적용 일정 결정
 2010 eGlobalSystem Co., Ltd., All rights reserved
Pre-Decision
Encrypting
 실테이블 암호화
테이블 별 작업순서
권한통제 정책 결정  암호화된 테이블과
관련된 APP. 교체
32
 암호화결과 모니터링
 원복 여부 결정
완료 보고
구축 절차 (Process)
Encrypting Process (운영중인 업무 기준)
1
DB 환경정보
확인
개발 DB
CubeOne 설치
운
암호화 대상
컬럼 확인
암
DB user 확인
업
 DB에 접근해야하는
필요한 상용Tool
확인
운
 암호화 컬럼을 조회
해야 하는 DB user
확인
 2010 eGlobalSystem Co., Ltd., All rights reserved
암호컬럼
사용SQL
전수검사 업
운 DB운영 담당
암 암호화 제품(보안) 담당
업 업무(서비스) 담당
2
적용 TASK
3
보안 정책 TASK
업무 테스트
암업
 사용 불가한 SQL 확
인하여 수정
 대상 컬럼 데이터
Migration 수행
DB AP 확인
암업
 서비스확인 및 프로세스 정상
동작 확인
초기암호화
수행
업
 대상 컬럼 확인
기본 테스트
암
 DB 모듈 설치
 요청서 확인
사전 TASK
DB 접근
IP 확인
 모든 업무에 이상이 없는가
확인
보안 정책 설정
운암
암
 취합된 기초자료를
DB암호화 정책에 반
영
 암호화 컬럼을 조회
하여 복호화 해야하
는 IP확인
33
업무 테스트
(운영 DB)
암업
 모든 업무에 이상이 없는
가 확인
Time Schedule
Week 1
 Application 운영자, 개발자를 대상으로 사
용자 교육을 실시한다.
 DB 요청서를 전달하여 DB환경 정보를 확
인한다.
 DB서버에 Cubeone DB모듈을 설치한다.
 설치 후 각 담당 분야별로 테스트를 실시하
여 정상 여부를 확인한다.
 암호화대상 및 알고리즘 선정 후 Test DB
암호화
Week 2
 App/SQL의 수정여부를 확인하고 개발서
버에 수정 개발 한 뒤 테스트 한다.
 개발 시스템에 오류 사항 및 이슈사항에 대
한 가이드(SQL 수정)를 제공한다.
 운영DB 데이터 암호화후 각 담당 분야별로
테스틀 실시하여 정상여부를 확인한다.
 보안 관리자를 대상으로 관리자 교육을 실
시한다.
 데이터 복호화 권한은 인터뷰를 통해 초기
정보를 수집하고 보안 정책 설정을 통해 복
호화 권한을 부여한다.
D-15
D-14
D-13
D-12
D-11
DB 요청서 전달
DB 환경 정보
점검
솔루션 테스트
Test DB 암호화
DB 환경 정보 확인
사용자 교육
(솔루션)
D-10
암호화 대상 및 알
고리즘 선정
DB 모듈 설치
D-1
D-Day
D+1
D+2
개발 및 테스트 최
종 점검
운영 DB 암호화
적용
기능 모니터링
보안 정책
인터뷰
솔루션
Final 테스트
업무 모니터링
Application 및 SQL 개발 테스트
관리자 교육
(보안)
보안 정책 설정
D+6
D+7
업무 (SQL)
Final 테스트
Week 3
 최종 완료 후 각 담당 분야별로 종합 테스
트를 실시하여 시스템 전체 정상 동작 여
부를 확인한다.
 최종 완료보고 문서를 작성하여 보고한다.
 Gaegage 데이터 정리를 위해 Exp/Imp
D+3
D+4
D+5
최종 완료보고
암호화 테이블
Exp/Imp 실시
DB암호화 담당 수행
업무/ DB운영 담당 수행
기타
※ 시스템 규모에 따라서 일정은 조정 될 수 있음
 2010 eGlobalSystem Co., Ltd., All rights reserved
34
구축 시 준수 사항 (Check List)
구축 설정 체크 List
DB암호화 시 보안성 유지 및 법규준수를 위하여 아래의 사항들을 고객사에 설명해 드리고 고객사의 결정사항을
아래와 같이 기록합니다.
고객사 명 :
적용 서버 명 :
적용 대상 Application 명 / TABLE 명 : (List 첨부)
구분
알고리즘
항목
기준 및 내용
결정내용(예시)
비밀번호
SHA-256/384/512 중 택1
개인정보
민간: AES/ARIA/SEED(128bit, CBC)
공공: ARIA(128bit, CBC)
IV 적용
가급적 IV를 사용할 것.
(CBC 모드가 아닌 경우는 반드시 IV 적용)
부분 암호화 적용
일부분만을 암호화하는 부분암호화 적용 가능
권한통제
SHA-256
AES-128/CBC,
SEED-128/CBC
PK, JOIN 과 관련이 없는 컬럼은 IV적용
DB사용자 ID
Scott, CRMUSR
IP 주소
인가자 설정
(기본 설정, 허용)
10.1.24.5
MAC주소
Fe:c8:00:a4:ff:d4
애플리케이션 명
Not Define
시간대
요일
0800 ~ 2400
월~토
기간
비 인가자 설정
(차단)
 2010 eGlobalSystem Co., Ltd., All rights reserved
주민번호: 7자리 이후 암호화
카드번호: 8자리 이후 암호화
Not Define (제한 없음)
DB사용자 ID
Not Define
IP 주소
Not Define
MAC주소
Not Define
애플리케이션 명
SQL*Plus, TOAD, Orange, Golden,,,,
시간대
Not Define
요일
Not Define
기간
Not Define (제한 없음)
35
구축 시 준수 사항 (Check List)
구축 설정 체크 List
구분
접근 기록
항목
기준 및 내용
결정내용(예시)
기록내용
DBDB사용자 ID, 작업내역(DML종류), 접속 IP, 접속시각, 결과 DB사용자ID, DML(성공/실패), Select (실패), 접속 IP, 접속시
(성공 / 실패)
각
기록관리
(기본 구성시)
위변조되지 않도록 별도의 물리적인 저장장치에 정기적 백업
수행
기록관리
위변조되지 않도록 별도의 물리적인 저장장치에 정기적 백업
(Secure SVR 적용 시) 수행
데이터 백업
DB내에 1차 보관하며, 월1회 CDROM에 정기 백업
(고객사 시행)
CubeOne Secure SVR에 원격 저장, 월1회 CDROM에 정기
백업(고객사 시행)
전체 백업
암호화 후에는 적용 전에 백업 받은 데이터는 사용이 불가 하므 구축 완료 후 실시 할 예정
로, 구축이 완료된 후 전체 백업이 필요함.
(고객사 시행)
Dual Sync Mode 해제
안정화 기간으로 설정한 시한 만료후에는 반드시 Dual Sync
Mode를 해제하여 평문데이터가 남지 않도록 한다.
Drop된 테이블
1개의 dbf 파일로 구성된 테이블은 Drop전 NULL 값을
Drop된 테이블이라도 구조 파악이 용이한 경우 Disk상에 존재
Update 하거나, Drop후 export/import하여 삭제 되도록 함.
하는 찌꺼기 데이터를 삭제
(고객사 시행)
안정화 기간(1개월)후에 해제하여 평문 테이블이 삭제 되도
록 할 예정 (고객사 시행)
평문 데이터의 삭
제
(첨부: 적용 서버/ Application/ Table List)
작성 일자 :
작 성 자 : (소속)
확 인 자 : (소속)
 2010 eGlobalSystem Co., Ltd., All rights reserved
성명
성명
(사인)
(사인)
36
감사 합니다.
 2010 eGlobalSystem Co., Ltd., All rights reserved
37