You are on page 1of 35

개인정보가 보호되는

동형머신러닝
천정희 (서울대학교)
암호의 분류

 1세대 암호 : Password (인증 기술)

 2세대 암호 : 대칭키 암호 (데이터 암호화)

 3세대 암호 : 공개키 암호 (키 암호화)

 4세대 암호 : 동형/함수암호 (NoKey 암호)


– 암호화된 상태에서의 계산이 가능한 암호

2
미래 컴퓨팅 환경

 우리가 원하는 “완벽한 하인”


 내가 하려는 일을 빠르게 대신 수행
 비밀을 알지 못한다.
 사례1: 개인 클라우드
 스토리지 클라우드: Dropbox, Google email/calendar, NAS
 계산 클라우드: DNA 계산, 헬쓰케어, 개인성향분석 통한 추천
 사례2: 빅데이터 분석
 개인정보기반 마케팅 (구글, 페이스북, 네이버 ...)
 정부 데이터베이스: 교육, 의료, 납세

3
Homomorphic Encryption

 4세대암호: 암호화된 데이터를 복호화 없이 연산하는 암호


-10 Emerging Technologies (MIT Technical Review 2011)

Ciphering: Gentry's system allows encrypted data to be analyzed in the cloud. In this example,
we wish to add 1 and 2. The data is encrypted so that 1 becomes 33 and 2 becomes 54. The
encrypted data is sent to the cloud and processed: the result (87) can be downloaded from the
cloud and decrypted to provide the final answer (3). Credit: Steve Moors

NSF Homomorphic Encryption


4
동형암호

Real World Cyber World

x y Enc(
E(x) )
E(y)

f(x) f(E(x))

E-1 -1
= Enc ( )
(f(E(x)))

Secret!
6
Pros and Cons

 장점
 컴퓨터에서 데이터의 모든 계산은 AND, OR, NOT의 논리 게이트로 연산
 암호화된 상태로 AND/OR/Not연산  컴퓨터로 하는 모든 연산이 가능
 암호화후 검색/통계처리/Machine Learning
 해커의 데이터 유출 원천봉쇄

 단점
 암호문 확장: 10-100 K배  0.1-1 K배(대칭키방식)
 암복호화 속도: 수십 ms (AES 1us, RSA 1ms)
 암호문 연산: 곱셈 수백ms
 응용연산 종류에 따른 속도의 차이가 큼  개별적 최적화

7
동형암호칩 (in near future)

 Encrypted CPU
비트당 재부팅시간: 30분(2011), 0.32초(2013), 0.02초(2015)
8
CRT 기반 동형암호

 RAD PH [1]

– 비밀키: two large primes p and q


– 공개키: n = pq
– 암호화: E(m) = (m mod p, m mod q)
– 복호화: 중국인의 나머지정리
– E(m1)+E(m2)=( m1 mod p, m1 mod q)
+( m2 mod p, m2 mod q)
= ( m1+m2 mod p, m1+m2 mod q) = E(m1+m2)
– 안전한가?
200 100 0
 동형암호[2] e m

– E(m) = (m+2100e1 mod p, m+2100e2 mod q)


[1] Rivest-Adleman-Dertouzos, On data banks and privacy homomorphism, FOSC’78.
[2] C.-Kim-Lee. Batch Fully Homomorphic Encryption over the Integers, Eurocrypt 2013

9
재부팅 Bootstrapping

입력: 노후화된 암호문, 암호화된 비밀키

출력: 신규 암호문

과정 :곱을 반복하여 노이즈가 커진 암호문을


노이즈가 작은 암호문으로 변경

10
동형암호 효율성

 암호문 크기, 암복호화 시간

공개키 암호문 Maessage


Encrypt Decrypt Mult Recrypt
크기 크기 space

[RSA-2048] 2048bit 2048bit 6.1ms 205.5ms - - -

[ECC-193] 193bit 80B 8.7ms 18.1ms - - -


16bit 복소수에 대한
유효숫자연산으로 연산 R2
Helib (IBM) 53KB 16KB 20ms 7ms 51ms -
후에 상위 16bit를
(23ms+28ms) (dim=2048)
메시지로 가지고 있다.
143ms R2
SEAL (MS) 60KB 15KB 32ms 17ms -
(71ms+72ms) (dim=2048)
𝐶𝐶 1024
FPHE(SNU) 80KB 21KB 7.5ms 6ms 27ms -
(dim=2048)

Helib:OSX에서 test, SEAL:Window에서 test함. 둘 다 내장되어 있는 parameter 상용

R2 =ℤ2 𝑥𝑥
/𝑥𝑥 2048 + 1 𝐶𝐶 1024 : 1024 pair complex number
11
Approximate Homomorphic Encryption

1.23
5.6088
4.56
3.98112624
0.78
0.7098
0.91
108.2456382397886496
2.34
13.2678
5.67
27.18970254
8.91
2.0493
0.23
동형암호의 산업적응용

12
예제 1. 클라우드 데이터베이스

건강보험공단 데이터베이스
– 개인정보 저장: 이름, 주민번호, 재산, 납세내역, 병력,…
– 일반직원이 쉽게 개인정보 조회가능  로그기록으로 감시
 대통령 후보의 병원기록 조회후 유출
– 데이터베이스 동형암호화
 암호화상태에서 업무처리 (검색, 조회, 통계추출)
 결과값을 책임자가 확인해야 하는 경우만 복호화
 내부자 정보 유출 및 해킹의 위험 감소

교육(NEIS 시스템), 국세청 DB, 관공서/회사 DB

13
예제 2: 암호화된 헬스케어

건강 진단 생체정보
(심박/ 활동량)
여기에서
성인 남성이
변수로
심장쓰이는
마비에헬스
걸릴정보는
확률을나이(a),
다음과 같은키(ht),
함수를 몸무게(wt),
사용하여 수축기
계산하고
혈압(sys),
있다. 이완기 혈압(dia), 콜레스테롤 수치(chol)이다. 그러나 이 함수는 동형암호를 사용

개인정보보호 헬스케어

예시: 성인남성이 심장마비 걸리 확률에서 변수로 쓰이는 헬스 정보는 나이(a), 키(ht),


몸무게(wt), 수축기 혈압(sys), 이완기 혈압(dia), 콜레스테롤 수치(chol)이다.

15
예제 3: DNA 분석
DNA 분석/정밀의료와 암호화

• 개인의 유전정보를 이용한 정밀의료


새로운 보건의료 패러다임
– DNA 바이오마커: 특정 표현형(질병)과 연
관되어 있는 유전체 DNA의 특정 지역
(Locus)

• 미국: 정밀의료 이니셔티브(PMI)


2016년 예산 2억 1500만 달러

개인의 유전
• 문제는 유전정보의 보호 기술 정보를 이용한
맞춤형 치료
(Nature Vol. 519, News in Focus)
… But scientists working to realize such

‘personalized’ or ‘precision’ medicine have

a problem: how to keep genetic data and

medical records secure ..


DNA Privacy

 스트레인저 비전 (조각가, 2012 뉴욕)


– DNA분석 (공공장소에서 주운 머리카락)
– 얼굴 만드는 소프트웨어 이용 3D프린팅

 DNA : 궁극의 프라이버시


– 개인의 DNA 정보 수집/악용 (DNA 복제)
– 유전자에 따른 DNA 서열화 (GATTACA)

제4회 iDash Contest (UCSD Medical School)


- Encrypted ML: 암호화된 유전체에서 바이오마커탐지
- MSR/IBM/SNU등 세계 십수개 팀 참가
17
Biomedical Informatics (정보 의학)

 Biomedical Informatics의 사전적 정의


 사람의 건강과 관련한 과학적 탐구, 문제 해결, 의사결정을 위해 생물
의학 데이터, 정보, 지식의 효율적인 사용을 추구하고 연구하는 간학
제적 연구 영역 (*출처-American Medical Informatics Association)

 Biomedical Informatics 연구 영역
 Healthcare, translational science, clinical research, and public
health 등의 영역에서 신설
 Department of Biomedical Informatics
 Harvard Medical School, UC San Diego, Univ. of Texas ,
Columbia Univ., Ohio State Univ., Univ. of Utah, 등
 2018년 현재 석사학위 프로그램 111개
19
예제 4. Smart Car

 Cyber Physical System (CPS)


Engine
Smart Car Sensor
(Actuator)
(Plant)
Dec Enc

Enc(y)
Enc(r) (sensor detection)
Controller
Enc(u)
(user input)
 스마트홈에서 센서들이 인터넷에 연결되고 이 정보들과 사용자 명령이 합쳐
서 일종의 콘트롤러에 전달되면 이것들이 계산되어 집행됨
 계산속도의 문제로 암호화하지 않은 상태로 사용 중
 정보조작, 원격조종, 위치정보 공개 등 많은 보안위협 산재
20
 Floating point HE를 통해 새로운 스마트카 제어모델 설계
Toward Secure Drones with Real-time HAE

Thanks to H.Jin Kim


21
동형암호와 데이터분석

17
23
머신러닝

판별대상 데이터
𝑎𝑎⃗

Raw 전처리
Data 학습 예측
데이터
x1, x2, …, xn
함수 f
f(𝑎𝑎)

이종기관 데이터기반 신용평가

13
이종기관 데이터기반 신용평가

14
개인정보보호 데이터분석 기술: 신용평가모델

개인정보 𝑥𝑥⃗
동형암호 머신러닝

대출정보
통신요금
공과금

신용도 f(𝑥𝑥)

 현재 기술의 문제점
- 이종기관 데이터 병합시 개인정보보호법 위반
- 비식별화 후 데이터의 유용성 감소
 돌파기술 : 동형암호화된 데이터의 머신러닝
데이터 가정

DB1(신용데이터) DB2(통신데이터)
주민번호 최장연체일수 주민번호 요금납부실적 최장연체일수
총대출금 (A1) … (An)

(Index) (Index) (B1) (Bm)
780212- 780212-
10,000 … 15 A … 3
2211123 2211123

… … … … … … …

890607- 890607-
25,000 --- 50 C … 80
1789711 1789711

Index A1 … An B1 … Bm

Hash(…) Enc(..) … Enc(..) Enc(..) … Enc(..)

… … … … … … …

Hash(…) Enc(..) --- Enc(..) Enc(..) … Enc(..)

가중치 a1 … an an+1 … an+m

신용도 계산 𝑓𝑓 𝑥𝑥⃗ = 𝑎𝑎1 𝑥𝑥1 + ⋯ + 𝑎𝑎𝑛𝑛+𝑚𝑚 𝑥𝑥𝑛𝑛+𝑚𝑚


19
방법 1: 비식별화 분석

DB1(신용데이터) DB2(통신데이터)
주민번호 최장연체일수 주민번호 요금납부실적 최장연체일수
총대출금 (A1) … (An)

(Index) (Index) (B1) (Bm)
780212- 780212-
Hash(…) 10,000 … 15 Hash(…) A … 3
2211123 2211123


… …
… …
… …
… …
… …
… …

890607- 890607-
Hash(…) 25,000 --- 50 Hash(…) C
C …
… 80
80
1789711 1789711

Index A1 … An B1 … Bm
1. 비식별화 : ID를 난수로 대치
Hash(…) 10,000 … 15 A … 3
2. 데이터 병합
… … … … … … … 3. 재식별방지 조치 : k-익명성,
l-다양성, t-근접성
Hash(…) 25,000 … 50 C … 80

가중치 a1 … an an+1 … an+m


단점 : 비식별조치 이후에는
데이터의 유용성 감소
신용도 계산 𝒇𝒇 𝒙𝒙 = 𝒂𝒂𝟏𝟏 𝒙𝒙𝟏𝟏 + ⋯ + 𝒂𝒂𝒏𝒏+𝒎𝒎 𝒙𝒙𝒏𝒏+𝒎𝒎
21
방법 2: 동형 분석

DB1(신용데이터) DB2(통신데이터)
주민번호 최장연체일수 주민번호 요금납부실적
총대출금 (A11) … (Ann) … 최장연체일수(Bm)
(Index) (Index) (B1)
780212- A
780212-
Hash(…) HE(..)
10,000 11 … 15 An1
HE(..) Hash(…) A B11
HE(..) … 3 Bm1
HE(..)
2211123 2211123


… …
… … …
… … … … …
890607- 890607-
Hash(…) 25,000
HE(..)A ---
… 50 Anl
HE(..) Hash(…) C B1l
HE(..) … 80 Bml
HE(..)
1789711 1l 1789711

Index A1 … An B1 … Bm 1. 동형암호화
Hash(…) HE(..)A11 … HE(..)An1 HE(..)B11 … HE(..)Bm1 (ID를 난수로 대치)
2. 데이터 병합
… … … … … … …
3. 암호화 분석
Hash(…) HE(..)A1l … HE(..)Anl HE(..)B1l … HE(..)Bml 4. 그룹복호화
암호화된
암호화된
(비밀키는 다중 기관 분산)
HE11(..)
HE (..) …
… HEnn(..)
HE (..) HE
HEn+1 (..)
n+1(..)

… HE n+m(..)
HEn+m (..)
가중치
가중치

가중치 a1 … an an+1 … an+m 단점 : 동형암호 후에는


자동화된 데이터분석만 가능
신용도 계산 𝒇𝒇 𝒙𝒙 = 𝒂𝒂𝟏𝟏 𝒙𝒙𝟏𝟏 + ⋯ + 𝒂𝒂𝒏𝒏+𝒎𝒎 𝒙𝒙𝒏𝒏+𝒎𝒎 22
비교

27
Prediction Phase: 내적 암호

가중치: 𝒂𝒂 =(𝒂𝒂𝟏𝟏 , ⋯ , 𝒂𝒂𝒏𝒏 ) in ℤ𝒏𝒏𝒒𝒒


개인정보: 𝒙𝒙 =(𝒙𝒙𝟏𝟏 , ⋯ , 𝒙𝒙𝒏𝒏 ) in ℤ𝒏𝒏𝒒𝒒
내적암호: Given 𝒂𝒂, sk𝒂𝒂 and Enc(𝒙𝒙),
compute 𝒇𝒇 𝒙𝒙 = 𝒂𝒂𝟏𝟏 𝒙𝒙𝟏𝟏 + ⋯ + 𝒂𝒂𝒏𝒏 𝒙𝒙𝒏𝒏 in ℤ𝒒𝒒

함수 𝒂𝒂의 보호도 가능

장점: 효율적 계산가능 in ms


단점: 함수를 자주 바꿀 수 없음

24
함수암호 (Functional Encryption)

 동형암호 vs 함수암호
• 동형암호 Enc(m1),…, Enc(mn)  Enc(f(m1, m2, …, mn)) 모든 f
• 함수암호 Enc(m1),…, Enc(mn)  f(m1, m2, …, mn) 특정한 f

함수암호의 응용
• 생체인식 : EncK(m1), EncK(m2)  m1=m2인지 판별

양자컴퓨터 시대에 안전한 암호기법

25
향후 연구

제도적 문제
– 암호화된 데이터의 개인정보보호법 적용 문제
– 동형암호 : 복호화 권한 분산
– 익명성/동형암호/함수암호 등의 안전성 분류

기술적 문제
– 동형기계학습 (homomorphic machine learning) 알고리즘
– 효율적 동형암호 알고리즘 개발
– 동향암호 고속 구현
– 동형 블록체인
26

You might also like