XecureDB 제품 - (주)영민시스템 · 02 KB국민은행 복권시스템 DB암호화 솔루션...
Transcript of XecureDB 제품 - (주)영민시스템 · 02 KB국민은행 복권시스템 DB암호화 솔루션...
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 3
가. 회사연혁, 조직 및 인원현황
Ⅰ. 제안업체 기본
1. 일반사항
12 소프트포럼, 대한민국 신성장경영대상 최우수상 수상
12 “인터파크” 고객 정보 DB 암호시스템 공급
10 XecureDB V2.7 GS 인증
05 XecureWeb, KISA 구현적합성 심의통과, 평가인증서 획득
02 KB국민은행 복권시스템 DB암호화 솔루션 공급
01 XecureWeb GS인증 획득
11 국내 최초로 국정원 보안적합성 심사에서 USB키보드 취약점
보안 부문 포함하여 통과 (2007년 11월 6일)
05 XecureDB 보안성 검증 필 획득
04 미국 현지법인 설립
12 국방 공개키기반 인증체계(MPKI) 구축 사업권 획득
05 “국세청” 고객 정보 DB 암호시스템 공급
07 MS 솔루션 파트너 선정
2008
2007
2006
2004
2003
1999
11 KOSDAQ 상장 (종목번호 제054920호)
08 Identrus™(아이덴트러스) 인증 획득 2001
11 통합인증솔루션 SafeIdentity 개발 2000
04 소프트포럼㈜ 독립법인 설립
1996 07 국내 최초 128비트 암호 솔루션 SecurePlugIn 1.0 개발
1995 10 미래산업㈜ 보안연구소 소프트포럼 설립
1998 08 소프트포럼 공개키 기반구조 XecurePKI 개발
2009 04 CODEGATE2009 해킹방어대회 & 국제보안컨퍼런스 개최
01 업계 최초 국가정보원 암호검증제도 재검증
11 국가정보원 암호검증제도 국내 최초 통과
10 HSBC, 도이치방크 등 해외 금융기관에 보안 솔루션 공급 2005
2010 12 데이타베이스 패턴 암호화에 따른 인덱스 검색 시스템 특허 획득 소프트포럼 DB보안 전문 조직 체계
대표이사
영업부 전략사업부 SW연구개발실 구축팀
DB보안 개발팀
PKI개발팀
디지털ID개발팀
기반기술팀
신사업TFT
DB보안 구축
PKI 구축팀
SSO/EAM
PC보안 구축
정책 분석팀
기획컨설팅팀
마케팅팀
금융영업부문
기업영업부문
공공영업부문
SW사업본부
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 4
Ⅰ. 제안업체 기본
나. 제안제품 공급실적
소프트포럼(주)은 기업, 금융, 공공 등 다양한 프로젝트 성공 구축 사례를 보유하고 있습니다.
1. 일반사항
고객 분야 업무 도입 시기
리딩투자증권 금융 DB암호화 (주민번호 암호화 등) 2011년
보건복지부 공공 DB암호화 (주민번호 암호화 등) 2011년
롯데제과 기업 DB암호화 (주민번호 암호화 등) 2011년
롯데리아 기업 DB암호화 (주민번호 암호화 등) 2011년
마이비카드 금융 DB암호화 (주민번호 암호화 등) 2011년
부산하나로
카드 금융 DB암호화 (주민번호 암호화 등) 2010년
대한주택보증 공공 DB암호화 (주민번호 암호화 등) 2010년
롯데자이언츠 기업 DB암호화 (주민번호 암호화 등) 2010년
국군기무
사령부 공공 DB암호화 (주민번호 암호화 등) 2010년
롯데닷컴 기업 DB암호화 (주민번호 암호화 등) 2010년
롯데백화점 기업 DB암호화 (주민번호 암호화 등) 2010년
국방부 공공 DB암호화 (주민번호 암호화 등) 2010년
고객 분야 업무 도입 시기
세이브존 기업 DB암호화 (주민번호 암호화 등) 2011년
롯데캐논 기업 DB암호화 (주민번호 암호화 등) 2010년
고객 분야 업무 도입 시기
EB카드 금융 DB암호화 (주민번호 암호화 등) 2011년
행정안전부 공공 DB암호화 (주민번호 암호화 등) 2011년
지식경제부 공공 DB암호화 (주민번호 암호화 등) 2010년
법무부 공공 DB암호화 (주민번호 암호화 등) 2010년
에르고다음다이렉트보험
금융 DB암호화 (주민번호 암호화 등) 2010년
미래에셋생명보험 금융 DB암호화 (주민번호 암호화 등) 2010년
두산동아그룹 기업 DB암호화 (주민번호 암호화 등) 2010년
SK엔카 기업 DB암호화 (주민번호 암호화 등) 2010년
인터파크 기업 DB암호화 (주민번호 암호화 등) 2009년
여신금융협회 금융 DB암호화 (주민번호 암호화 등) 2009년
한국증권금융 금융 DB암호화 (주민번호 암호화 등) 2008년
국민은행 금융 DB암호화 (주민번호 암호화 등) 2007년
Hybrid 방식 Plug-In 방식
API 방식
DB암호화 방식에 따른 제품 공급실적
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 5
Ⅱ. 기술 부문
1. 제품 개요 및 구성
2. 설치 및 운영
3. 가용성
4. 암/복호 모듈
5. 암/복호 기능
6. 서비스 안정성
7. UI 편의성
8. 보안 및 감사 기능
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 6
가. 제품 개요, 특장점, 구동방식 등
1) 제품 개요
XecureDB는 DB 암호화를 통한 기밀성을 유지, 안전한 키 관리, DB 접근제어를 제공하는 강력한 DB보안 솔루션입니다.
Ⅱ. 기술 부문
1. 제품 개요 및 구성
제품명 제품개요
제품 개요
XecureDB 적용을 통한 최적의 성능과 강력한 DB보안을 수행
강화된 DB보안정책 적용
보안관리자, DBA, 사용자 등의
개별 보안정책 적용
안전한 DB 암호화 키관리를
통한 키유출 사전 방지
DB에 연결되어 있는 객체들에
대한 접근제어 기능의 강화
운영개념 및 체계규격 연구 관리/적용의 용이성 제공 검증된 솔루션 국내최고의 기술력 보유
DB에 보안정책을 설정 시 전용
관리도구를 통하여 계층 및 트리
구조의 다양한 보안정책을 설정
Migration시 전용 마이그레이션
도구를 통하여 신속하고 직관적인
확인 및 설정 환경을 제공
다양한 국내.외 암호화
알고리즘을 제공
국정원 암호검증제도(CMVP)를
통과한 암호화 모듈 탑재
국가용 암호 지정제품 등록
GS인증 획득
DBA 및 DB튜닝 전문가인력을
통한 DB의 명확한 분석/적용
롯데백화점, 인터파크, 국세청 등의
대용량 DB암호화 경험보유
POS, CRM등의 임베디드 및 DW
환경 등의 다양한 환경 적용 경험
Index 암호화 및 검색 기능 제공
API와 Plug-in방식을 혼용한 DB암호화 솔루션
다양한 암호화 알고리즘 제공
다양한 환경/대용량 DB암호화 구축 경험 보유
DB특화기술을 통한 마이그레이션 시간 단축
GS인증, CMVP, 국가용 암호제품 등록
XecureDB
암호화
솔루션
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 7
Service Server XecureDB Manager
DBMS App Server
가. 제품 개요, 특장점, 구동방식 등
2) 제품 구동방식
XecureDB는 업무시스템 사용량과 수정가능여부에 따라 API 방식 혹은 Plug-In 방식으로 적용하게 됩니다. 뿐만 아니라 하나의 암호화 테이블에 두가지 방식으로 동시 적용이 가능한 Hybrid 방식으로 지원합니다.
Ⅱ. 기술 부문
1. 제품 개요 및 구성
제품 구동방식
DBMS
XecureDB Plug-in
키 관리 (생성, 저장)
암 ㆍ복호화 수행
관리모듈
Service Server (Deamon)
XecureDB Manager 인터페이스
App Server
소스코딩 필요
보안정책 관리도구
Service Server 인터페이스
Authentication API/UI
XecureDB API
소스코드 수정 없이 적용
Plug-In 방식: 데이터 암호화 적용을 위하여 응용단 수정이 불필요 함.
API 방식: 데이터 암호화 부하를 응용서버에서 가져가며 DB서버 부하를 최소화 함. 대규모 서비스에 적합
DBMS
사용자
암호화 요청 데이터 저장
암호화 요청
보안
정책
설정
암호화 요청
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 8
나. 제품 구성도(H/W, S/W 아키텍쳐)
XecureDB는 API방식과 Plug-In방식을 모두 지원하는 솔루션으로서 고객사 환경에 맞추어 DB 암호화 방식(API, Plug-In, Hybrid)을 최적화된 구성으로 적용하겠습니다. 또한 Service Server를 이중화하여 가용성 확보 및 Manager를 통한 편의성을 제공하는 강력한 DB 보안 솔루션입니다.
S/W 구성도
Ⅱ. 기술 부문
1. 제품 개요 및 구성
WAS Server #1
Application
XecureDB API
WAS Clustering
Service Server #1
(Deamon)
키 관리(생성,저장)
L4
암∙복호화
관리모듈
Manager Interface
Service Server #2 (Deamon)
키 관리(생성,저장)
암∙복호화
관리모듈
Manager Interface
DB Clustering
WAS Server #1
Application
XecureDB API
DB Server #1
Database
XecureDB Plugin
DB Server #1
Database
XecureDB Plugin
XecureDB Manager (관리자 PC)
Authentication API/UI
Service Server
Interface
관리자
본 구성도는 고객사 시스템 변동에 따라 달라질 수 있으며, 현행 시스템에 대한 이해를 바탕으로 최적화된 구성으로 적용하겠습니다.
XecureDB Service Server는 고객사 환경에 맞게 기 구축 WAS 환경에 별도의 H/W없이 구성하는 방안과 별도의 H/W에 구축하여 가용성을
확보하는 방안을 모두 지원합니다.
사용자
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 9
Plug-in 방식 적용 API 방식 적용
나. 제품 구성도(H/W, S/W 아키텍쳐)
데이터 암호화 적용시 업무서비스 영향으로는 데이터 암/복호화에 따른 부하 및 속도문제가 있습니다. XecureDB는 서비스 영향을 최소화 하기 위하여, API 방식과 Plug-in 방식을 동시에 지원하는 Hybrid 방식을 제공함으로써 서비스 속도를 보장해 드립니다.
데이터 암호화 적용시 업무 서비스 영향
WAS
XecureDB API
WAS
XecureDB API
WAS
XecureDB API
DBMS
DBA
개발자
업무담당자
DBMS
XecureDB Plug-in
약 3% 의 CPU 증가
암호화 전 API PLUG-IN
266.66(ms) 0.2초
362.47(ms) 0.3초
(50% 증가)
534.24(ms) 0.5초
(150%증가)
• 데이터 암/복호화 부하를 WAS단에서 나눠 가짐
• DBMS에는 전혀 부하가 없음
33% 33% 33%
100%
대규모 서비스에 적합한 방식
• 데이터 암/복호화 부하는 DBMS에서 발생함
상대적으로 데이터 암/복호화 요청이
적은 작업자들이 주로 사용하는
DB에 적합한 방식
XecureDB는 Hybrid(API + Plug-in) 데이터 암호화 방식 지원
CPU 변화량 암호화 방식에 따른 서비스 속도 변화량
Ⅱ. 기술 부문
1. 제품 개요 및 구성
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 10
다. 지원 가능 플랫폼(서버,OS, 상용 DB 등) 및 버전
XecureDB는 API방식과 Plug-in방식을 모두 지원하는 솔루션으로써 다양한 고객사의 다양한 환경에 맞게 API, Plug-In, Hybrid 방식으로 제공됩니다. API 방식 적용의 경우 C, C++, JAVA, ASP, ASP.NET(C#), PHP등 다양한 프로그램 언어를 위한 API가 준비되어 전기종의 DBMS에 데이터 암복호화 적용을 지원하며, Plug-In방식의 경우 Oracle, MS-SQL, DB2, Tibero 등을 지원하는 강력한 DB 암호화 솔루션 입니다.
DB 암호화를 위한 다양한 플랫폼 지원
Ⅱ. 기술 부문
1. 제품 개요 및 구성
구성요소 지원환경
XecureDB
API 방식
API ASP, ASP.NET, C, C++, JAVA, JSP, PHP, Stores Procedure
Service Server
(Deamon) solaris 2.6 이상, aix 4.3 이상, hp 11.0 이상, hp-ia (Itanium) 11.23 이상, Linux kernel 2.4 이상, win2000 서버 이상, solaris-x86 2.9 이상
DBMS Oracle, Sybase, MS-SQL, DB2, Tibero 등의 모든 DBMS지원
XecureDB
PLUG-IN
방식
Service Server
(Deamon)
DBMS 운영체제
(solaris 2.6 이상, aix 4.3 이상, hp 11.0 이상, hp-ia(Itanium) 11.23 이상, Linux kernel 2.4 이상, win2000 서버 이상, solaris-x86 2.9 이상)
DBMS Oracle, Sybase, MS SQL, DB2, Tibero 등
XecureDB
Manager Windows 98, Me, 2000, XP, 2003등
XecureDB
Migrator
사용자 환경 : Windows 98, Me, 2000, XP, 2003, Vista, Windows7등
DBMS OS : 모든 OS 지원
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 11
라. 제품 인증 및 보안 적합성 내용
XecureDB는 국가용 암호화 제품으로 등재되었으며 국정원의 국가용 암호 검증필 및 GS인증을 획득, 본 사업에서 요구하는 모든 표준을 준수합니다.
Ⅱ. 기술 부문
1. 제품 개요 및 구성
제품 인증 및 보안 적합성
국정원의 국가용 암호 검증필(CMVP) 획득 및 국가용 암호화 제품으로 등재
GS(Good Software)인증 획득
국정원 IT 보안인증사무국의 “DB암호제품 보안요구사항” 준수
국정원에서 제시한‘DB암호화 가이드라인’에 따라 검증된 암호화 알고리즘으로 인덱스 암호화를 수행 (특허보유 : 출원번호10-2010-
0030741)
TIBERO 상호 연동 적합성 인증
XecureDB for ERP - SAP 인증(SAP Integration Certification)
DB암호제품 보안요구사항 IT보안인증사무국 2010. 4
국정원에서 제시한‘DB암호화 가이드라인’에 따라 검증된 암호화 알고리즘으로 인덱스 암호화를 수행 (특허출원 : 출원번호10-2010-0030741)
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 12
가. 제품 기동시 시스템에 주는 부하
XecureDB를 통해 1000만건을 암호화하고, DB쿼리 실행 시, 응답 시간 증가는 2%미만의 테스트 결과를 보이며, API방식으로 제품 기동시 DBMS서버에 직접적인 부하는 발생시키지 않으며 실질적인 부하 발생은 WAS 또는 Application 서버에서 발생합니다.
Ⅱ. 기술 부문
2. 설치 및 운영
제품 기동시 시스템에 주는 부하
API 타입을 이용하여 배치작업 테스트시 “1000만건 암호화 시 약 2분”의 처리 성능
1000만건을 암호화하고, DB쿼리 실행 시, 응답 시간 증가는 2%미만의 처리 성능 주민번호(4억 건), 계좌번호,
카드번호 DB암호화 적용 사이트
A업무 JENIFER 평균 응답 속도
변화 측정
Pattern 암호화 적용 후 100user가 1분 동안 연속적으로 페이지
조회 평균 응답속도. (주민번호 1건 조건검색)
MS WAS(Web Application Stress) Tool
암호화 전 API PLUG-IN
266.66(ms) 0.2초
362.47(ms) 0.3초
534.24(ms) 0.5초
구분 암호화 전 암호화 후 비교
A 업무 0.0936 (s) 0.0975(s) +0.0039(s)
약 95%
약 97%
약 3% 의 CPU 증가
약 2% 의 Memory 증가
OLTP 성 암호화 처리 성능 사례
Data 암호화 전 System CPU / Memory
Data 암호화 후 System CPU / Memory
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 13
가. 제품 장애 발생시 당사 시스템 및 서비스 영향도
XecureDB의 장애는 크게 API 적용 오류와 실제 암/복호화를 담당하는 XecureDB Service Server의 오류로 구분할 수 있으며 이에 대하여 Application Server의 이중화 및 XecureDB Service Server의 다중 구성을 통해 DBMS 가용성을 보장할 수 있습니다.
Ⅱ. 기술 부문
3. 가용성
제품 장애 발생시 당사 시스템 및 서비스 영향도
WAS Clustering
WAS Server #1 WAS Server #2
XecureDB Service Server
XecureDB Service Server
XecureDB Service Server
Application
Server 이중화
WAS에서 암/복호화를 담당하는
XecureDB Service Server의 독립구성 및 L4를 이용한 다중구성
XecureDB 자체의 오류 또는 기 Application 오류로 인하여 시스템의 장애 발생 시 데이터의 암/복호화 수행은 불가능
제품 장애 또는 기 Application 장애에 대비하여 시스템을 2중화 구성을 통해 DBMS 가용성을 보장
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 14
나. 당사 운영 서버(AP서버, DB서버)의 장애로 인한 FailOver시 영향도
서비스 서버의 장애시 영향도
XecureDB는 정책 서버(Service Server)의 장애 상황에 대비하여 이중화 구성을 지원하며, 정책 서버가 모두 장애가 발생하는 경우에도 안정적으로 암∙복호화를 수행하기 위하여 Sync API 및 Sync Plug-In를 지원합니다. Sync 암호화 방식은 주기적으로 정책을 동기화하며 장애 발생시점에는 로컬에 암호화되어 저장된 정책을 사용하여 안정적으로 암∙복호화를 수행합니다.
Ⅱ. 기술 부문
3. 가용성
정책서버(Service Server) 장애시 영향도
업무A 보안관리자
통합 정책 관리
업무B 업무C 업무N
XDB Sync Plugin
XDB Sync Plugin
XDB Sync API
XDB Sync API
XDB Sync API
XDB Sync API
정책서버
DB 서버
XDB Sync Plugin
정책 동기화
정책 전파
DBMS (MS-SQL)
DBMS (Oracle)
장애 발생
장애 발생시 시스템 구성도
장애 요소
설명 영향도
AP 서버
• XecureDB Sync API 사용시 주기적으로 정책을 동기화 하며 정책서버 장애 시점 에도 AP 서버에 저장된 로컬 정책을 사용하여 무중단 암 호화 수행
없음
DB 서버
• XecureDB Sync PlugIn 사용 시 주기적으로 정책을 동기 화하며 정책서버 장애 시점 에도 DB 서버에 저장된 로컬 정책을 사용하여 무중 단 암호화 수행
없음
정책 서버
• Sync 방식을 사용할 경우 주기적으로 정책 동기화 수행 • 장애 복구 시점에 안정적 으로 정책 전파 수행
없음
장애 발생
Xecure DB Sync API
웹응용 서버
Xecure DB PlugIn(Sync)
서비스 서버 장애 발생시 영향도 없음
암호화된 로컬 정책을 사용하여 무중단 암호화 수행
DBMS (DB2)
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 15
다. 암호키 백업 및 복구 기능 | 보안 정책 관리 시스템 백업/복구 방안
XecureDB의 암호키, 보안 정책 관리 시스템 백업 및 복구는 XecureDB Manager를 이용하여 백업 및 복구를 수행합니다. XecureDB Manager는 Service Server의 컬럼암호화정보나 암호화키, 유저 정보 등의 중요한 데이터를 백업시키거나 복구하는 기능을 가지고 있으며 백업 화일의 관리를 쉽게 해줍니다.
Ⅱ. 기술 부문
3. 가용성
암호키 백업 및 복구 기능
서비스 서버 백업 서비스 서버 복구
백업할 파일 이름을 기입하고 '백업 시작' 클릭
파일 메뉴에서 서비스 '서버 복구‘ 선택
서비스서버 복구 대화창의 오
른쪽에 ‘서버 백업’이라는 버튼 클릭.
1
2
1
2
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 16
가. 지원되는 암호화 알고리즘
XecureDB는 국제 표준 알고리즘을 포함하여, SEED, TDES, AES, ARIA, SHA1 등 등 국정원 요구 표준 알고리즘을 모두 지원합니다.
Ⅱ. 기술 부문
4. 암/복호 모듈
지원되는 암호화 알고리즘
구분 지원항목
암호화
알고리즘
(양방향, 대칭키)
SEED,AES, DES, TDES, RC2, RC4, RC5, BlowFish, CAST128,
ARIA 등 국내외 표준알고리즘 모두 지원
Hash
알고리즘
(단방향)
SHA1 (160 bit), SHA2 (224, 256, 384, 512 bit), MD5,
HAS160, RIPEMD160 등 국내외 표준알고리즘 모두 지원
지원 알고리즘 관리자 콘솔에서의 알고리즘 선택
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 17
나. 암호화 객체 단위
XecureDB는 DB 암호화 적용 시 암호화 대상을 컬럼단위로 암호화 합니다. 중요 컬럼을 대상으로 암호화 함으로써 불필요한 부하를 발생시키지 않으며 시스템의 가용성을 보장합니다. 또한, 각각의 컬럼별로 암/복호화 키를 다르게 설정이 가능하게 지원함으로써 보안성을 극대화한 제품입니다.
Ⅱ. 기술 부문
4. 암/복호 모듈
컬럼단위 암호화
Clustered Index PARK JANG RYU Trigger
Stored Procedure Update
PK FK
EmpNum LastName FirstName Jumin2 CtryCode
10001
10002
10003
KIM
LEE
CHA
NAMIL
YOUNGPYO
DORI
1234
god
angel SE
KW
DJ
LastMod
\HR\SE
\HR\SE
\HR\CON
integer longstring varchar(20) char(6) char(2) longstring
Password
1234
god
angel
char(6)
Password
cdef
xetysd
s1jfhtys
char(12) 중요 컬럼에 대한 선택적
암호화 적용
Card Num
7910171 XXXXX
7605072 XXXXXXX 8401012 XXXXXXX
Char(13)
각각의 대칭키
Master Key
각각의 대칭키는 초기 생성 된 Master Key로 암호화 되어 저
장
관리자는 컬럼별 각기 다른 대칭키를 이용하여
암호화되도록 관리자 툴을 사용하여 지정
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 18
가. 운영중인 데이터 초기 일괄적용시 데이터 암호화 적용 프로세스
XecureDB는 대량의 데이터에 대한 Migration 시에 작업자가 편리하게 사용 가능한 마이그레이션 툴과 다운타임 최소화 방안을 제공해 드립니다. 이를 통하여 주민등록 번호 1000만 건 일괄 암호화 적용 시 다운타임을 1시간 이내로 적용하실 수 있습니다.
Ⅱ. 기술 부문
5. 암/복호 기능
운영중인 데이터 초기 일괄적용시 데이터 암호화 적용 프로세스
원본 데이터 암호화 데이터 서비스 운영
데이터 증분/변경
원본 데이터 암호화 저장
증분 데이터 실시간 복제 (Trigger 등 이용)
증분 테이블 생성
암호화
데이터 병합
A
A’ A 테이블 명 변경
Tim
e
A
Down Time 데이터 샘플링 검사
※ 샘플링 검사 프로그램 제공
증분 데이터
2
3
4 5
6
7
1 신규 암호화
테이블 생성
기준 설명
원본 데이터 사이즈 1G
증분 데이터 량 100 만건
암호화 대상 주민등록번호 1000 만건 사이즈 = 240M
1000만 X 24 byte = 240 M byte
추가 Storage 량 원본 데이터 + 주민번호 암호화 사이즈= 1.24 G
증분 데이터 사이즈 = 0.124 G / 합계 = 1.37 G
시간 소요 지점 소요 예상 시간 예상 다운 타임
원본 데이터 암호화 대상 테이블 암호화 저장 (Insert)
5분 -
증분 암호화 1분
1시간 이내 증분 데이터 병합 5분 내
데이터 검사 30분
테이블 명 변경 1분
이 서버를 통해서 처리할 타겟 데이터베이스의 연결정보를 입력
마이그레이터 서버의 주소와 포트번호
계정
테이블
컬럼
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 19
나. 부분암호화 특허
XecureDB는 국정원 ‘DB 암호화 가이드라인’에 따라 검증된 암호화 알고리즘으로 인덱스를 암호화하여 안전성을 보장하며, 자사 고유 기술인 ‘암호화된 인덱스 검색 기술 및 그 방법’에 따라 암호화 적용 후에도 인덱스 검색을 통한 성능을 보장합니다. 또한 특허로 등록된 부분 암호화 기술을 적용하여 암호화에 따른 부하 및 데이터 사이즈 증가를 최소화하여 안정적인 암∙복호화 수행을 보장합니다.
사번 이름 주민등록번호 패스워드
0001
0002
0003
홍길동
김두한
박지성
7711222-1234555
850207-2235666
680705-1252101 3333
1111
2222
카드번호
1203-7853-9565-8585
8523-2187-3255-3535
7841-8596-5147-7870
주민등록번호 패스워드
771122-1fbbgdvbdfv
850207-2sdvw3bdf4v
680705-asdafsdbw3b gvsd2cc
ds23d
4fv5b3
카드번호
1203-78fb54hebdfbedb
8253-21ghwgdgdfgdadc
7841-85hgj57jghmdnnfg
전체 암호화
부분 암호화 적용으로 Index 검색을 수행하여 성능 저하 방지
Select SUBSTR(JUMIN_NO,1,6) '-' || SUBSTR( CRYPTO.DECRYPT(JUMIN),7,13) from EMP
적용 예시
Index 검색 수행
tXdbHelper_N.Decrypt(rs.getString(“CARDNUM")));
(APP상에서 암호화 API를 사용하여 암∙복호화)
(Query상에서 암호화 함수를 사용하여 암∙복호화)
부분 암호화 적용 예시 부분 암호화
부분 암호화 특허 보유
DB 부분 암호화 특허
국정원 DB 암호화 가이드라인을 준수하여 검증된 암호화 알고리즘으로 인덱스 암호화
암호화 적용 후에도 인덱스 검색을 통한 성능 보장
부분 암호화를 통한 암호화에 따른 부하 및 데이터 사이즈 증가 최소화
부분 암호화 특허(검증된 암호화 기술을 사용한 인덱스 검색)
Ⅱ. 기술 부문
5. 암/복호 기능
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 20
다. 압축암호화 특허(출원 중)
소프트포럼㈜은 다양한 고객사 환경에 데이터 암호화를 적용을 지원하기 위하여 끊임없이 기술개발을 진행하고 있습니다. 현재 진행중인 압축암호화 기능은 평문을 암호화하면 길어지는 암호화문을 저장히기 위하여 DB컬럼 사이즈를 증가시키거나, 별도의 암호문 저장 컬럼이 필요했던 기존 암호화 방식을 개선한 방식입니다. 고객사에서는 XecureDB의 압축암호화 기능을 통하여 DB컬럼 사이즈증가 없이 데이터 암호화를 적용하실 수 있습니다. (단, 숫자로만된 데이터에 한함)
암축암호화
기존 암호화 방식 (암호화문 사이즈 증가) 압축암호화
데이터 암호화 적용 시 데이터 사이즈 증가를 해결하기 위해서는
다음과 같은 2가지 방안이 있었음. XecureDB는 압축암호화 기술을 이용하여 컬럼사이즈
증가 또는 별도의 암호문 저장 컬럼 없이 데이터 암호화 적용이
가능하도록 기능을 제공.
현재 소프트포럼㈜은 XecureDB 압축암호화 기술 특허 출원 중
※ 주민등록번호 13자리 SEED 알고리즘으로 암호화 시 암호문의 길이는 32가 됨
주민등록번호 이름
sfgb4hdfb54hebdfbedb
4uijmgj34ghwgdgdfgd
345hfgj57jghmhnnnfg 정약용
홍길동
이순신
비밀번호
ds23dak
4fv5b3u
gvsd2cc
주민등록번호 이름
77112221234555
8502072235666
6807051252101 정약용
홍길동
이순신
비밀번호
1111
2222
3333
13 byte
32 byte
주민등록번호 이름
0001
0002
0003 정약용
홍길동
이순신
비밀번호
1111
2222
3333
Index
0003
0001
0002
암호화문
sfgb4hdfb54hebdfbedb
4uijmgj34ghwgdgdfgd
345hfgj57jghmhnnnfg
원본테이블 [방안1] 컬럼 사이즈 증가
[방안2] 별도암호화문 저장용 테이블(또는 DB) 생성 주민등록번호 이름
77112221234555
8502072235666
6807051252101 정약용
홍길동
이순신
비밀번호
1111
2222
3333
13 byte
비밀번호
ds23dak
4fv5b3u
gvsd2cc
주민등록번호 이름
sfgb4hdfb54he
4uijmgj34ghwg
345hfgj57jghm 정약용
홍길동
이순신
13 byte
XecureDB
API / Plug-in
암호화 적용 전 암호화 적용 후
XecureDB 압축암호화기술을 이용한 암호화
※ 주민등록번호 암호화 전후 길이가 똑같음
암호화문 사이즈 평문과
동일
Ⅱ. 기술 부문
5. 암/복호 기능
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 21
라. 암호화 데이터의 일반데이터로의 전환 처리 절차
XecureDB는 암호화 데이터의 일반데이터로의 전환 시 Batch작업에 특화된 Batch API를 체계화된 절차에 따라 적용하여 일괄적으로 데이터를 복호화하여 일반데이터로 전환할 수 있도록 합니다. 암호화 데이터의 일반데이터로의 전환 시 Batch Application에 의하여 XecureDB Batch API를 호출하여 일괄적으로 암호화 된 데이터 복호화를 수행합니다.
Ⅱ. 기술 부문
5. 암/복호 기능
암호화 데이터의 일반데이터로의 전환 처리 절차
Batch 프로그램
암∙복호화 Batch 프로그램
관리자
DBMS
2. Batch API 호출
3. 복호화하여 저장
Batch특화 API를 사용하여 전환
DB 보안관리자
암/복호화
권한 부여
주민등록번호 이름
77112221234555
8502072235666
6807051252101 정약용
홍길동
이순신
비밀번호
1111
2222
3333
비밀번호
ds23dak
4fv5b3u
gvsd2cc
주민등록번호 이름
sfgb4hdfb54he
4uijmgj34ghwg
345hfgj57jghm 정약용
홍길동
이순신
XecureDB
Batch API
암호화 적용 전 암호화 적용 후
XecureDB Batch API 사용
Batch API를 통한 일괄 복호화 수행
Batch를 통한 전환 절차
암∙복호화 권한 체크
YES
Batch 프로그램 실행
일반 데이터로 전환하여 저장
정상 실행 결과 확인
YES
Batch 프로그램 종료
NO
NO(복구수행)
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 22
마. 파일 암호화 변환 프로그램
제안 솔루션은 DB에 업로드된 파일(텍스트, CVS 등)의 전체 또는 구분자를 통한 특정 필드에 대한 암호화를 위하여 Windows, Unix 용 암복호화 프로그램을 제공합니다.
파일 암호화 변환 프로그램
데이터베이스 파일 암호화
MjEzNHd zZWZy…
보안관리자
구분자, 암호화 후 저장 위치 등 환경설정 설정 및 참조 XecureDB
파일 암호화 프로그램
‘,’구분자를 이용한 JUMIN,(부분암호화) PASSWD(해쉬) 암호화적용
파일 암호화 변환 프로그램
MjEzNHd zZWZy…
MjEzNHd zZWZy…
파일암호화를 위한 별도의 변환
프로그램을 제공하며 환경설정에
따라 구분자, 암복호화 여부,
암복호화 범위, 원본 삭제여부,
백업 여부 설정하여 편리하게 파일에
대한 암복호화를 지원
Ⅱ. 기술 부문
5. 암/복호 기능
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 23
바. 암호화/복호화 수행작업에 대한 로깅 기능
XecureDB는 XecureDB Manager의 로그 기능을 이용하여 IP 및 사용자 ID가 기록되어 컬럼에 대한 암/복호화 이력, 사용자의 암호화된 데이터의 접근 및 작업내역의 성공, 실패 등의 로그가 검색 가능합니다.
Ⅱ. 기술 부문
5. 암/복호 기능
암호화/복호화 수행작업에 대한 로깅 기능
컬럼에 대한 암/복호화 이력
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 24
가. UI 개요 및 특징 | UI 사용 편의성
XecureDB Manager는 메인프레임과 그 내부에 생성되는 차일드 프레임으로 구성됩니다. 차일드 프레임에는 트리뷰, 리스트뷰, 쿼리뷰가 구성되어 있으며, 그 이외에 메뉴, 툴바, 상태바 등이 있습니다. 또한 사용 편의성을 위해 큰 아이콘을 통해 관리자가 직관적으로 인지할 수 있도록 하였습니다. 하부 트리를 한번에 보여주도록 하고 암호화 컬럼 정보, 사용자, 암호화 키를 툴바 메뉴에 추가하여 관리자의 편의를 고려하였습니다.
Ⅱ. 기술 부문
6. UI 편의성
UI 개요 및 특징 및 사용 편의성
① 메인프레임 : 서버 연결, Clon 서버의 추가, 암호화 정책
설
정 등을 할 수 있는 메뉴로 구성 되어 있음.
② 차일드프레임 : 서버와의 연결 및 해제, 사용자 생성 및 암
호화 키 생성, 로그 통계 기능을 제공함.
③ 트리뷰 : 서비스서버의 집합을 보여주는 'Ex Server' Tab
과
DB 구성을 나타내는 'DB Tree' Tab으로 구성됨.
④ 리스트 뷰 : 트리뷰에서 선택한 서비스서버의 하위 클라이
언트를 리스트에 탐색기와 같은 방식으로 표시
함.
⑤ 쿼리 뷰 : XecureDB Manager에서 연결된 DB계정으로
직
접 SQL 쿼리를 사용하고 결과값을 받아 표시하
는 윈도우.
1 2
3 4
5
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 25
나. 암호화 정책 관리, 적용 기능 및 절차
보안정책은 암호화 대상 데이터와 방식을 결정하며, 사용자 별 권한을 설정합니다. 정책 설정으로는 키 관리 / 사용자 관리 / 정책설정 / 접근권한 설정 등이 있습니다. 기존 생성된 키는 하나 혹은 여러 개의 데이터를 암호화 하는데 사용되고 있을 수 있으며 기 사용중인 키 삭제 시 암호화 된 데이터에 대하여 복구를 불가능하게 할 수 있습니다. 따라서 모든 사항을 체크한 후 실행하여야 하며 이와 관련하여 XecureDB Manager에서도 이미 사용되고 있는 키의 삭제는 불가능하도록 기능을 제공합니다.
Ⅱ. 기술 부문
6. UI 편의성
암호화 정책 관리, 적용 기능 및 절차
키 관리(생성/삭제) 사용자 관리(생성/삭제)
암호화 정책설정 IP별 접근통제
해당 사용자의 권한(읽기/쓰기) 설정 접속 가능한 IP 설정 암호화 키 및 알고리즘 선택
사용자 생성을 위한 ID 입력 사용자 선택 후 삭제
키 추가 메뉴 클릭 사용자 선택 후 삭제
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 26
가. 암호화 데이터 접근제어 방법 | 암호화된 데이터의 선택적 복호화 제어 기능
XecureDB는 보안정책에 따라 권한이 있는 사용자만이 암호화 된 컬럼에 접근하여 등록 된 대칭키로 데이터를 복호화 할 수 있습니다. 권한이 없는 사용자의 경우 데이터의 복호화 키에 대한 권한이 없음으로 데이터를 복호화 할 수 없습니다.
암호화 데이터에 대한 선택적 권한제어
Ⅱ. 기술 부문
7. 보안 및 감사 기능
개발자
DB 관리자
인사 테이블
다양한 접근제어 옵션탭
사용자 별 상세권한
컬럼별 접근제어
IP 주소
DB 계정
클라이언트 프로그램이름
시간별 (접속시간, 함수 호출시간)
DB에 연결된 특정 세션별 DB 보안 담당자
Policy Server
XecureDB Service Server
응용서버
서로 다른 키로 암/복호화
주민등록번호 패스워드
7711222-1fbbgdvbdfv
dvdfv34wv-dsdvw34v
6807gsdvb-asdafsdb gvsd2cc
ds23d
4fv5b3
카드번호
sfgb4hdfb54hebdfbedb
4uijmgj34ghwgdgdfgd
345hfgj57jghmhnnnfg
사용자별 권한제어 수행
동일 사용자일 지라도 컬럼별
권한에 따라 접근(암/복호화)
이 제한됨
Xecure
DB
A
PI / P
lug
-in
응용서버
DB서버
권한설정
정책 전파
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 27
나. 암호화 대상 데이터 접근 로그 등 기록관리 기능
XecureDB는 각 WAS의 Service Server 모듈을 통해 로그가 생성되어 지고 보안관리자의 로그요청 시 관리자콘솔을 통하여 통합로그를 전송 받게 됩니다. 각 WAS의 로그 정보를 ID, IP, Column에 따라 통계를 추출할 수 있는 기능을 제공하며 통계된 로그들을 엑셀에서 볼 수 있도록 csv 파일로 저장할 수 있는 기능을 제공합니다.
Ⅱ. 기술 부문
7. 보안 및 감사 기능
암호화 대상 데이터 접근 로그 등 기록관리 기능
보안관리자 서버
• Service Server 모듈을 통해 각 WAS별로 로그생성저장
각 WAS의 로그요청
APP
XecureDB API
WAS#1
XecureDB Service Server
(Deamon)
OS
APP
XecureDB API
WAS#2
XecureDB Service Server
(Deamon)
OS
APP
XecureDB API
WAS#3
XecureDB Service Server
(Deamon)
OS
통합로그 전송
차일드프레임 : 서버와의 연
결 및 해제, 사용자 생성 및
암호화 키 생성, 로그 통계
기능을 제공
통합로그 통계 기능 설정
서비스 접속 통합 로그
기록
CSV 파일로
저장하여
엑셀에서 확인
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 28
다. 안정적인 Key관리
XecureDB는 보안관리자가 관리자툴을 이용하여 생성한 암호화 키와 관리정책들은 모두 관리자의 마스터키를 이용하여 암호화 저장 하므로 유출 및 위/변조로부터 안전하게 보호하고 마스터키 역시 관리자의 공개키로 암호화한 후 저장합니다. 또한 암호키 생성 시 안전한 난수발생기를 사용하여 안전한 키 생성 및 키 관리를 제공합니다.
암호 키의 보안기능
안전한 키 생성 및 키 관리 안전한 키 저장
난수발생기는 공개된 검증대상 암호알고리즘으로 암호검증기준(KS X ISO/IEC 19790)에 등재된 알고리즘입니다.
국정원 검증필 암호모듈 탑재
Policy Server
키/정책 관리
암 ㆍ복호화
관리모듈
XecureDB Manager 인터페이스
보안관리자 암호화 키 및 관리 정책을 마스터키로 암호화 저장
DBMS가 아닌 별도의 H/W에 암호화키 보관
MjEzNHd zZWZy…
관리 콘솔 창에서
키 생성이 가능
관리 창에서 키 생성
/삭제/ 관리
키 생성 암호화 키 관리 키 삭제
키를 삭제할 시
사용 여부 확인
관리자는 관리자툴을 이용하여 암호화 키 생성/접근/갱신/파기가
가능하며 사용중인 암호키 삭제 시 경고창을 띄움
로컬백업/복구: 보안관리자 로컬
PC로 암/복호화하여 백업/복구
별도 HW(HSM) 장비 백업/복구0
마스터키
키/정책 백업
암호화키 관리정책
서비스 서버 관리대상
관리자 Master
Key
+ =
Ⅱ. 기술 부문
7. 보안 및 감사 기능
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 29
다. 안정적인 Key관리(계속)
XecureDB는 다양한 사용자들이 주요 데이터에 임의로 접근하는 보안위협을 사전에 방지하기 위하여 사용자 별 접근통제를 설정하여 데이터를 보호하며, 관리자 콘솔 접근의 경우 타인이 관리자 키를 보유하고 있어도 관리자 키에 맞는 패스워드(관리자 키는 PCKS#5로 암호화)를 입력해야만 정책을 설정할 수 있어 한층 더 뛰어난 보안강도를 제공해 드립니다.
암∙복호화 키의 접근 권한 관리
관리자 인증 강화
권한자
비권한자
XecureDB API
WAS Server
XecureDB
정책 서버
Application
DBMS
암·복호화 수행
비 권한자는
암·복호화 불가능
권한확인
컬럼별 접근제어
관리자 키에 맞는 패스워드(관리자 키는 PCKS#5로 암호화)
키관리
Ⅱ. 기술 부문
7. 보안 및 감사 기능
Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 30
다. 안정적인 Key관리(계속)
암호화된 암호화키는 서비스 실행 시 정책서버 메모리내 암호화된 상태로 로드되고 실제 암/복호화 요청이 있을 시에만 복호화 됩니다. 이후 서비스 종료 시에는 암호화 키 및 관련 변수들은 모두 메모리상에서 제거 됩니다.
키 폐기 및 백업 복구
안전한 키생성 및 키관리
2
Policy Server
XecureDB Service Daemon
Shared Memory
Shared Memory
암호화 키 : YWJjZGhpMTIz….
암호화 키 : abcd1234567
암호화 키 : YWJjZG2hpMTIz….
1
2
3
서비스 종료시점에 메모리상에서 폐기
암/복호화 대기시 암호화키를 암호화된 상태로 메모리상에 Load 시킴
① 서비스요청 대기상태 : 메모리상에 암호화된 상태로 암호화키 로드
② 서비스수행 : 서비스 요청이 들어오면 메모리상에 암화된 암호화키를 복호
화하여 평문의 암호화키를 이용하여 암/복화 서비스를 수행
③ 서비스요청 완료(대기상태) : 평문의 암호화키를 암호화시켜 메모리 로드
④ 서비스종료 : 메로리에 로드된 암호화키 및 관련 변수 제거
메모리내 암호화키 상태변경
안전한 키 저장
서비스서버 복구 대화창의 오른쪽에 ‘서버 백업’이라는
버튼 클릭.
1
파일 메뉴에서 서비스 '서버 복구‘ 선택
1
2
암호화 키 및 정책 백업
백업할 파일 이름을 기입하고 '백업 시작' 클릭
암호화 키 및 정책 복구
Policy Server
보안관리자
관리자 툴을 이용한 편리한 백업 / 복구 XecureDB Manager
백업
복구
마스터 키로 암호화 된 상태
암호키, 보안 정책의 XecureDB Manager를 이용하여 백업 및 복구를 수행
Ⅱ. 기술 부문
7. 보안 및 감사 기능