보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의...

47
<Insert Picture Here> 보안의 시작 : 중요한 데이터의 암호화와 마스킹 박형도 DB 기술팀 TSC 본부 [email protected]

Upload: others

Post on 27-Oct-2019

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

<Insert Picture Here>

보안의 시작 : 중요한 데이터의 암호화와 마스킹박형도DB 기술팀 TSC 본부[email protected]

Page 2: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 2

<Insert Picture Here>

목차

• 데이터베이스 보안• Oracle Database Security

• Data Encryption

• 데이터 암호화의 필요성

• 각종 법규 및 Compliance

• 오라클 암호화 솔루션의 기능상의 특징 및 혜택

• Masking

• 업무데이터의 보호 현황과 마스킹의 필요성

• Oracle EM Masking Pack의 특징 및 장점

• Q&A

Page 3: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 3

Database Security 비즈니스관점

데이터의 통합/분산글로벌 비즈니스 환경

Outsourcing

Compliance <규제준수>

SOX

FDA Basel IIEU

Directives

HIPAA

GLBA SB1386

PCI

보안 위협요소

내부자의위협

산업 스파이

인증정보의유출

Page 4: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 4

Data Masking

TDE Tablespace Encryption

Oracle Total Recall

Oracle Audit Vault

Oracle Database Vault

Transparent Data Encryption (TDE)

Real Time Masking

Secure Config Scanning

Fine Grained Auditing

Oracle Label Security

Enterprise User Security

Virtual Private Database (VPD)

Database Encryption API

Strong Authentication

Native Network Encryption

Database Auditing

Government customer

Oracle Database Security지속적인개발과 혁신

Oracle7

Oracle8i

Oracle Database 9i

Oracle Database 10g

Oracle Database 11g

Page 5: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 5

Oracle Database Security 보안과규제준수를 위한 다양한 솔루션

Database

VaultLabel

Security

접근 제어

Configuration

Management

Audit

Vault Total

Recall

감사/모니터링

Data

Masking

Advanced

Security

암호화와마스킹

Page 6: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 6

데이터 암호화에 대한 고객의 요구…

• “보안 관리자는 고객의 신용카드 정보를 디스크상에서는 물론네트워크 상에서도 암호화 할 것을 요구합니다.‖

• ―각종 Compliance를 준수하기 위하여 개인 정보 데이터의 기밀성을

보호해야 하지만 어플리케이션의 성능에 영향을 미쳐서는 안됩니다.‖

• ―우리가 가지고 있는 의료정보가 CA AB 1298을 준수하기 위하여

암호화되어 유지되어야 합니다.”

• ―데이터베이스 파일의 읽기 권한을 가진 사용자가 이를 외부로

유출하더라도 안전성이 보장되어야 합니다.”

• ―Backup Tape에 저장되어 있는 업무데이터의 안전성을 보장해야

합니다.”

Page 7: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 7

암호화의 법적근거 (관련 법령 및 하부 고시 현황)

법령 / 고시 / 표준 조항 내용

정보통신망 이용촉진 및 정보보호등에 관한 법률에의한 정통부 령

정통부 고시 제2005-18호,

제5조 1~2항 (개인 정보의암호화)

① 정보통신 서비스 제공자 등은 패스워드, 생체정보 등 본인임을 인증하는정보에 대해서는 복호되지 아니하도록 일방향 암호화하여 저장한다.

② 정보통신 서비스 제공자 등은 주민등록 번호, 패스워드 및 이용자가공개에 동의하지 않은 개인정보를 제3조 제4항에 의하여 보호되는정보를 통신망 외부로 송신하거나, PC에 저장할 때에는 이를암호화한다.

공공기관의개인정보 보호에

관한 법률

행정정보 데이터베이스의

보안관리 기준 제8장,

제40조 (암호화)

① 보안 담당자는 제33조 제1항의 보안 1등급 및 보안 2등급 이외의

행정정보에 대하여 보안이 필요하다고 판단한 정보에 대하여

암호화하여 관리할 수 있다.

* 보안1등급 : 재산,소득,병력,공소기록등

* 보안2등급 : 공공기관의 정보공개에 관한 법률 제9조에 정의된 정보 중

보안 1등급 이외의 정보

금융감독원전자금융거래보안종합대책

(카드)

2.VAN사 정보보호 체계

강화

VAN사 저장 정보 중 거래일로부터 3개월이 경과되지 않은 정보는

카드번호를 암호화하여 저장

금융감독원개인신용정보관리.보호 모범

규준

3. 금융회사 등의 내부통제

강화

신용정보업자 등은 개인정보 이용자의 식별 및 인증, 개인정보 접근권한

관리 및 제어, 개인정보 누출/파손 방지책, 정보시스템의 가동상황 기록,분석

및 감사 등 기술적/물리적 안전관리 대책을 별도 수립 시행

금융감독원금융사고 예방대책

모범 규준

4.전산(IT)부문,

가)전자금융거래 관련사고

(3) 방지대책

소비자의 계좌번호, 비밀번호, 기타 이용자번호 (PIN) 의 유출방지

Page 8: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 8

최신 정통망법 일부개정 및 시행내용(08.12.14)

법령 / 고시 / 표준 조항 내용

정보통신망 이용촉진 및 정보보호등에 관한 법률(법률 제9119호

일부개정 2008. 06. 13.)

제28조(개인정보의보호조치)

①정보통신서비스제공자등이 개인정보를 취급할 때에는 개인정보의 분실ㆍ도난ㆍ누출ㆍ변조또는 훼손을 방지하기 위하여 대통령령으로정하는 기준에 따라 다음 각 호의 기술적ㆍ관리적조치를 하여야 한다.

1. 개인정보를 안전하게 취급하기 위한 내부관리계획의 수립ㆍ시행

2. 개인정보에 대한 불법적인 접근을 차단하기 위한 침입차단시스템 등 접근 통제장치의설치ㆍ운영 3. 접속기록의위조ㆍ변조 방지를 위한 조치 --> 백업스토리지 적용

4. 개인정보를 안전하게 저장ㆍ전송할 수 있는 암호화기술 등을 이용한 보안조치

5. 백신 소프트웨어의 설치ㆍ운영 등 컴퓨터바이러스에 의한 침해 방지조치

6. 그 밖에 개인정보의 안전성 확보를 위하여 필요한 보호조치

②정보통신서비스제공자등은 이용자의 개인정보를 취급하는 자를 최소한으로 제한하여야 한다.

정보통신망 이용촉진 및 정보보호등에 관한 법률

(대통령령제21278호일부개정

2009. 01. 28. )

제15조

(개인정보의

보호조치)

④ 법 제28조제1항제4호에 따라 정보통신서비스 제공자등은 개인정보가 안전하게 저장·전송될 수

있도록다음 각 호의 보안조치를 하여야 한다.

1. 비밀번호 및 바이오정보(지문, 홍채, 음성, 필적 등 개인을 식별할 수 있는 신체적 또는 행동적

특징에 관한 정보를 말한다)의 일방향 암호화 저장

2. 주민등록번호 및 계좌정보 등 금융정보의 암호화 저장

3. 정보통신망을 통하여 이용자의 개인정보 및 인증정보를 송신·수신하는경우 보안서버 구축 등의

조치

4. 그 밖에 암호화 기술을 이용한 보안조치

• 정보통신망 이용촉진 및 정보보호 등에 관한 법률 (법률 제9119호일부개정 2008. 06. 13.)

Page 9: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 9

• Security Breach Notification Laws (44개 주 채택)

• 데이터 건 당 $239 최고 사고 당 $35M

• ―의료 정보” 와 ―건강 보험 정보”로 까지 확장 (CA AB 1298)

• Payment Card Industry Data Security Standard (PCI DSS)

• 규정 위반 시 $25K/월

• 사고 당 $500K + Visa의 경우 사고 당 미 공지 시 $100K 추가

• EU Data Directives (27개국 채택)

• 스페인 : 사고 당 €600K 과태료

• 독일 : 사고 당 €250K 과태료

• 프랑스 : 첫 위반 시 €150K , 이후 징역형 가능

• 영국 : 징역형 가능

암호화의 법적근거 (국외 사례)

Page 10: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 10

Oracle Database Security 데이터암호화를 위한 Advanced Security

Database

VaultLabel

Security

접근 제어

Configuration

Management

Audit

Vault Total

Recall

감사/모니터링

Data

Masking

Advanced

Security

암호화와마스킹

Page 11: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 11

Oracle Advanced SecurityFeature Overview

• Transparent Data Encryption

• 테이블스페이스 암호화

• 컬럼 단위 암호화

• RMAN을 통한 Backup 파일 암호화 및Data Pump Exports 암호화

• 내장된 Key 관리

• 데이터베이스에 의한 관리

• Hardware Security Module (HSM) 과의통합관리기능 제공

• 네트워크 암호화

• Strong Authentication

^#^*>*75,000

Encrypted Tape Backups,

Disk Backups, Exports

Network

Encryption

Strong

Authentication

Data

Encryption

Page 12: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 12

테이블 스페이스 암호화

• 개별 컬럼의 암호화 여부를 판단할 필요가

없는 전체 데이터 파일의 암호화

• 최고 효율의 암호화 기법

• 암호화 이전과 동일한 성능

• 데이터 사이즈의 증가가 없음

• 보안성

• Disk상의 모든 데이터의 암호화

• 업계 표준 암호화 알고리즘 채택

• 응용 프로그램의 변경이 불필요

SQL Layer

data blocks

“*M$b@^s%&d7”

undo blocks

temp blocks

flashback logs

redo logs

Buffer Cache

“SSN = 834-63-..”

Page 13: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 13

• Wallet 또는 Password를 통한 Export 파일 암호화 모두 가능.

• 암호화 키를 사용하지 않더라도 자체적으로 암호화 되는 범위,

알고리즘, 암호화 패스워드를 지정하여 암호화.

Data Pump File의 암호화

PKCS#12 wallet

Password

Encrypted

Export file

@#4f9kq

90b23490

bv@#$9vj

943)IB43

90#90w3

b0aqer9”

P[32

Top

Secret

SSN: …

CC#: …

DOB: …

Page 14: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 14

암호화 키 관리구조

Master key 는wallet 또는 HSM에 저장

보안 DBA

모든 데이터 암호화키는 master key를통해 암호화되어DB내에 저장

업무 프로그램 사용자

Transparent Data

Encryption

FIN 업무데이터는개별적인컬럼키를 통해 암호화

HR 업무데이터는Tablespace 키를통해 암호화

Page 15: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 15

암호화를 위한 간단한 설정

• sqlnet.ora파일에 Wallet의 위치 지정:ENCRYPTION_WALLET_LOCATION =

(SOURCE =

(METHOD = FILE)

(METHOD_DATA =

(DIRECTORY = /etc/ORACLE/WALLETS/oracle)))

ENCRYPTION_WALLET_LOCATION =

(SOURCE = (METHOD = HSM)) /* HSM을 사용하는 경우 */

• wallet 과 master key의 생성SQL> alter system set encryption key identified by

“<strong_password>”;

SQL> alter system set encryption key identified by

“<HSM_username:HSM_password>”; /* HSM을 사용하는 경우 */

Page 16: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 16

테이블 스페이스 암호화 지정Command Line Interface

• 테이블스페이스를 다음과 같이 생성.

SQL> CREATE TABLESPACE securespace

DATAFILE „/home/user/oradata/secure01.dbf‟

SIZE 150M ENCRYPTION DEFAULT STORAGE(ENCRYPT);

• 일반 테이블스페이스와 동일한 크기만을 필요.

• undo 와 temp 테이블스페이스는 개별적인 암호화가 필요 없음;

암호화된 테이블스페이스의 내용은 undo와 temp에서도 암호화된상태로 저장되어짐.

Page 17: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 17

물리적인 암호화 방법컬럼 암호화와 테이블 스페이스암호화 구현 비교

• 자동 칼럼 암호화

CREATE TABLE employee (

first_name VARCHAR2(128),

last_name VARCHAR2(128),

emp_id NUMBER,

salary NUMBER(6) ENCRYPT using 'AES256'

);

create unique index idx_card_id on secure_info(card_id);

ALTER TABLE employee MODIFY (salary DECRYPT);

• 자동 암호화 테이블스페이스

CREATE TABLESPACE securespace

DATAFILE „/home/user/oradata/secure01.dbf‟

SIZE 150M

ENCRYPTION USING „AES128‟

DEFAULT STORAGE(ENCRYPT);

Page 18: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 18

테이블스페이스 암호화의 성능 Overhead

• 테이블스페이스 암호화는 암/복호화의 Overhead가 블록 IO단계에서만발생합니다. 즉 Cache Hit Ratio가 높은 OLTP 시스템에서의 성능 변화는 거의존재하지 않습니다.

• 배치 프로그램의 경우도 일반적인 데이터베이스 튜닝 ( CPU clock 스피드개선,

디스크 Array Cache의 확장, 배치의 병렬처리)에 따라 선형적인 성능 향상을

도모할 수 있습니다.

• 반면 외부 프로시저나 저장된 View혹은 Package를 통한 암호화를 수행하는 타

솔루션은 응용프로그램의 SQL 질의유형에 따라 성능의 편차가 매우 심하게

발생합니다.

OLTP 배치

오라클 0% ~ 10% 10% ~ 85%

C사 20%이상 20% ~ 850%

D사 20%이상 100% ~ 850%

< 타사 솔루션과의 업무 유형별 비교 테스트 수행 결과>

Page 19: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 19

테이블스페이스 암호화의 저장구조 Overhead

• 컬럼 레벨 암호화 기법이 무결성 보호 등의 목적으로 레코드당 수십 바이트의저장구조를 필요로 함에 비해 테이블 스페이스 암호화는 이러한 저장구조Overhead가 전혀 존재하지 않습니다.

• 컬럼 레벨 암호화의 경우 타 솔루션은 증가가 예상되는 저장구조의

Overhead에 대한 계획과 확장은 DBA의 작업을 요구하지만 오라클의 컬럼

레벨 암호화는 저장구조 증가의 예상과 확장이 투명하게(Transparent)

이루어집니다. (Kernel에서 자동으로 투명하게)

• 테이블스페이스 암호화는 이와 같은 암호화 기술의 치명적인 문제였던

저장구조의 증가가 전혀 발생하지 않습니다.

• 즉 암호화로 인한 보안성의 향상으로 유발되었던 디스크 Capacity 증가를

해결하므로 높은 ROI를 실현할 수 있습니다.

Page 20: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 20

성능과 저장구조 사용면에서 최적의 솔루션:

Tablespace Encryption

< 오라클 암호화 솔루션의 성능 오버헤드 및 추가 스토리지 크기에 대한 근거 자료>

Page 21: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 21

암호화 칼럼 수

0 1 2 3 4 5 6

성능저하추이

블록레벨암호화

칼럼레벨암호화

선택적인 암호화 방식 운용

Page 22: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 22

Enterprise Manager Database ControlHomepage

Page 23: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 23

Enterprise Manager Database ControlSecurity Group under Server Tab

Page 24: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 24

Enterprise Manager Database ControlTDE Wallet Management and Related Links

Page 25: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 25

Enterprise Manager Database ControlCreate new Tablespace

Page 26: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 26

Enterprise Manager Database ControlCheck „Encryption‟ check box

Page 27: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 27

Enterprise Manager Database ControlOptionally, specify encryption options

Page 28: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 28

Oracle 암호화 솔루션 요약

• Oracle 암호화 솔루션(TDE)은 최신의 산업 표준 암호화 알고리즘을지원하는 가장 진보된 데이터베이스 암호화 기법입니다.

• 테이블스페이스 암호화 방식은 응용프로그램의 변경을 필요로 하지않을 뿐 아니라 성능 저하를 최소화 하며, 저장구조의 증가를발생시키지 않습니다.

• 데이터 암호화를 요구하는 SOX, GLBA,HIPAA, PCI등의 Compliance 사항을 준수합니다.

• 다양한 Oracle Applications와 호환됩니다.

• 데이터베이스에 내장된 Key 관리를 지원하며 HSM에 의한 Key 관리또한 지원합니다.

Page 29: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 29

• 전체 기업의 89%가 고객정보를 보유/사용하며, 데이터양이 10M건을초과하는 경우도 있습니다.- 이러한 데이터가 테스트, 개발,

교육용으로 사용되고 있습니다.

• 전체 기업의 74%가 실제 소비자 정보를 보유하며 이중 신용카드정보를 보유하는 경우가 24% 에 육박합니다.

• 20% 정도의 기업이 민감한 데이터를 보호하기 위한 장치를 가지고있으며, 80%이상의 기업은 Outsourcing이나 3-rd Party에 단지계약상의 데이터 보호 조항만을 가지고 그들의 Live Data를전달합니다.

• 23%가 개발이나 Test를 수행함에 있어서 그들의 Live Data가유출되었다고 알고 있으며, 50% 의 기업은 이러한 사실의 발생여부자체를 알 수 있는 방법이 없습니다.

Source: The Ponemon Institute. The Insecurity of Test Data: The Unseen Crisis, November 2007

Page 30: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 30

데이터 마스킹에 대한 고객의 요구…

• ―업무프로그램의 테스트를 Outsourcing하였고, 이를 수행하는

파트너는 운영데이터를 요구하고 있지만, 우리는 실제 고객정보를

노출할 수는 없다.”

• ―신규 업무 개발팀은 Test를 위하여 운영중인 실제 데이터를 필요로

하지만 주민번호나 인사기록과 같은 개인정보를 그대로 전달 할

수는 없다.”

• ―애널리스트들은 실제 의료 Claim에 대한 사례를 분석하고자 하지만

HIPAA 는 실제 환자기록과 진료자 정보의 열람을 허용하지 않는다.”

• “운송부서의 업무는 주문정보를 열람할 필요는 있지만 신용카드

정보를 참조할 이유는 없다.‖

Page 31: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 31

개발 환경에서의 정보 유출 위협

• 개발/테스트 환경에서 실제 데이터와 최대한 유사한 형태의데이터의 필요성과 보안 위협 충돌

• 개발/테스트 과정에서의 기밀 정보 유출 가능성

응용프로그램개발자

응용프로그램테스터

사용자

복제

개발 DB 상용 DB

Page 32: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 32

Data Masking 필요성

• 상용 데이터에 대한 데이터보호 정책을 준수하며, 공유할수 있도록 함

• 기업 데이터 전반에 걸쳐마스크(mask) 형식을 Uniform

하게 적용할 수 있음

• 민감한 데이터를 자동검색하고, 마스킹(masking)

하여 DBA 의 생산성을 높여줌

Page 33: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 33

Data masking 이란?

What

• 고객, 금융, 또는 회사 기밀데이터의 길이, 유형, 형식과같은 속성을 유지한 채, 새롭고읽기 쉬운 데이터를 익명으로생성하는 행위.

Why

• 테스트 환경에서 개발자나공급업체에서 기밀 데이터를이용하려 할 때 데이터를보호하기 위해

• 개인 신원 정보를 제 3 자에게공개하지 않고 고객 데이터를공유해야 할 때

LAST_NAME SSN SALARY

AGUILAR 203-33-3234 40,000

BENSON 323-22-2943 60,000

D‟SOUZA 989-22-2403 80,000

FIORANO 093-44-3823 45,000

LAST_NAME SSN SALARY

ANSKEKSL 111—23-1111 40,000

BKJHHEIEDK 111-34-1345 60,000

KDDEHLHESA 111-97-2749 80,000

FPENZXIEK 111-49-3849 45,000

< Before >

< After >

Page 34: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 34

Oracle Database Security 업무 데이터의 보호를 위한 Data Masking

Database

VaultLabel

Security

접근 제어

Configuration

Management

Audit

Vault Total

Recall

감사/모니터링

Data

Masking

Advanced

Security

암호화와마스킹

Page 35: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 35

Oracle Data Masking Pack안전한 개발/테스트 데이터 제공

• 데이터를 자동으로 변조

• 실제 데이터 보호

• 상용 DB와 동일한 데이터 형식 유지

• 데이터 무결성 유지

상용 DB

개발 DB

준비환경

1. 복제3. 복제

2. 마스킹

CCC

BBB

AAA …

ccc

bbb

aaa

테스트 DB

γγγ

βββ

ααα

Page 36: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 36

Data Masking 주요 기능

• PK 값의 Masking 시 자동으로 데이터 참조 무결성 처리

• 암시적 – database에 의한 자동 수행

• 명시적 – application에 의한 수행

• Data mask 형식 라이브러리 제공

• 실제 Masking 작업 이전에 Sample data 확인가능

• 한번 지정으로 , 여러 번 반복 사용 가능

Data Masking 적용

Production Staging

Dev

Test

Clone

Clone

Clone

Source Target

Page 37: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 37

Masking WorkflowS

ec

uri

ty

Ad

min

DB

A

데이터형식확인

변조할데이터선별

형식라이브러리

생성

마스킹정의

StagingProd Test

마스킹 정의내용확인

마스킹실행

Staging으로데이터베이스

복제

Test 데이터베이스로

복제

Page 38: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 38

Oracle Data Masking Pack- 다양한 기능

• 형식 라이브러리

• 변조 형식 재사용 가능

• 다양한 변조 연산 기본 제공

• 참조열 설정

• 데이터 무결성 유지

• 변조 전 사전 검증

• 데이터 타입

• 데이터 오버플로우

• 제약조건

• 소요 스페이스

• 편리한 GUI 제공

Page 39: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 39

마스킹 형식 정의 (Format Libraries)

• 변조 방식

• 무작위 숫자

• 무작위 문자열

• 기간내의 무작위 날짜

• 섞기

• 원본 값의 부분문자열 처리

• 테이블 컬럼

• 사용자 정의 함수

• 국가 식별코드

• 주민등록 번호

• 신용카드 번호

Page 40: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 40

마스킹 정의

• 변조 대상 컬럼 정의

• 변조 방법의 정의

• 변조 대상 컬럼과 변조 방법의매핑 및 작업 수행

• Foreign key 관계의 자동 정의

• 원하는 컬럼에 원하는제약조건을 신규 정의

• 동일한 처리를 재 수행 하기위한 ―Create like‖ 기능 활용

Page 41: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 41

참조 무결성 유지 및 종속 열 지정

Database-enforced

Application-enforced

Page 42: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 42

정의된 마스킹의 영향보고서

• 데이터의 정합성을 확인

• 정의된 포맷(format)과 컬럼데이터 타입의 확인

• 사용 가능한 저장공간의 확인

• Check Constraints 의 점검 및경고

• Default Partition의 존재 여부확인

Page 43: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 43

Oracle Database Masking Pack- 기본 변조 연산

• 섞기

• 무작위 숫자/날짜/문자열

• 부분 문자열ID Name S_ID Salary

1 권정민 810801-2012345 1000

2 김세중 790721-1067856 2000

3 박혜미 820111-2145367 1500

4 홍창수 800304-1073859 3000

… … … …

시작위치 :1

길이 : 6

ID Name S_ID Salary

1 권정민 810801-2012345 1000

2 김세중 790721-1067856 2000

3 박혜미 820111-2145367 1500

4 홍창수 800304-1073859 3000

… … … …

ID Name S_ID Salary

1 홍창수 810801-2012345 1000

2 박혜미 790721-1067856 2000

3 권정민 820111-2145367 1500

4 김세중 800304-1073859 3000

… … … …

ID Name S_ID Salary

1 권정민 810801 1000

2 김세중 790721 2000

3 박혜미 820111 1500

4 홍창수 800304 3000

… … … …

Page 44: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 44

Oracle Database Masking Pack- 기본 변조 연산

• 테이블 열

• 사용자 정의 함수

Name S_ID

박지영 821120-1040582

전준희 821025-2056032

배재민 821212-1045712

… …

ID Name S_ID Salary

1 권정민 810801-2012345 1000

2 김세중 790721-1067856 2000

3 박혜미 820111-2145367 1500

… … … …

ID Name S_ID Salary

1 권정민 810801-2012345 1000

2 김세중 790721-1067856 2000

3 박혜미 820111-2145367 1500

… … … …

ID Name S_ID Salary

1 박지영 821120-1040582 1000

2 전준희 821025-2056032 2000

3 배재민 821212-1045712 3000

… … … …

ID Name S_ID Salary

1 박지영 821120-1040582 200

2 전준희 821025-2056032 100

3 배재민 821212-1045712 300

… … … …

Function A(salary)

return new_salary

is

……

……

/

사용자정의 PL/SQL 함수

Virtual_emp 테이블

Page 45: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 45

EM Masking Pack 요약

• 비용 절감

• 개발 또는 테스트 시 적은 비용으로 자원 활용도를 높일 수 있음

• 효율성 향상

• 수동으로 데이터 마스킹 하던 작업을 GUI 를 이용하여, 시간을 단축하여작업함

• 보안 규제 준수 가능

• 개발자나 벤더에 의해 데이터가 사용되는 테스트 환경에서도 기밀데이터를 보호

• 사적 / 민감한 데이터를 제 3자에게 정보를 누설하지 않는 형태로 공유 할수 있음

Page 46: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 46

Page 47: 보안의시작 중요한데이터의암 ... - dbguide.net · 행정정보데이터베이스의 보안관리기준제8장, 제40조(암호화) ①보안담당자는제33조제1항의보안1등급및보안2등급이외의

© 2008 Oracle Corporation 47