XecureDB 제품 - (주)영민시스템 · 02 KB국민은행 복권시스템 DB암호화 솔루션...

32
Copyright 2012 SOFTFORUM CO.,LTD., All rights reserved 0 XecureDB 제품 소개 (DB암호화 솔루션) 소프트포럼㈜

Transcript of XecureDB 제품 - (주)영민시스템 · 02 KB국민은행 복권시스템 DB암호화 솔루션...

Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 0

XecureDB 제품 소개

(DB암호화 솔루션)

소프트포럼㈜

Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 1

Ⅰ. 제안업체 기본

Ⅱ. 기술 부문

Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 2

Ⅰ. 제안업체 기본

1. 일반 사항

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. 보안 및 감사 기능

Copyright ⓒ 2012 SOFTFORUM CO.,LTD., All rights reserved 31