동형암호
암호의 분류
- 1세대 암호 : 패스워드 (인증기술)
- 2세대 암호 : 대칭키 암호 (데이터 암호화)
- 3세대 암호 : 공개키 암호
- 4세대 암호 : 동형 암호
미래 컴퓨팅 환경
우리가 원하는 완벽한 하인
- 내가 하려는 일을 빠르게 대신 수행
- 비밀을 알지 못한다.
사례1 : 개인 클라우드
- 스토리지 클라우드 (드랍박스, 구글 드라이브, NAS 등)
- 계산 클라우드 : DNA 계산, 헬스케어, 개인성향분석을 통한 추천
사례2 : 다수 사용자 통계분석
- 개인정보기반 마케팅 (구글, 페이스북, 네이버 등)
- 정부 데이터
4세대 암호
4세대 암호 : 암호화된 데이터를 복호화 없이 연산하는 암호
- 탐색가능암호, DB암호 등
- computing on encrypted data, secure multiparty computation
동형암호(Fully Homomorphic encryption) : 2009 Gentry
- MIT가 선정한 2011년 10대 미래 유망 기술
개인정보기반 광고 시장
- facebook, twitter 등의 성장
- 구글 : gmail 등 구글의 개인정보를 통합관리
- 합법적인가? 안전한가?
Privacy Homomorphic
10 Emerging Technologies(MIT Technical Review 2011)
- Gentry's system
동형암호 설계 방법
Find an isomorphism between 주인 and 하인
- 주인쪽 연산을 하인도 동일하게 수행
- Enc : P -> C
f f'
- Enc : P -> C
문제 : 기지평문공격 (known text attack)
- y = E(x)인 (x, y)를 알면 의 평문은?
- , but
- Noisy Isomorphism (C가 P보다 월등히 크다)
Pros and Cons
장점
- 컴퓨터에서 데이터의 모든 연산은 and, or, not의 논리 게이트로 연산
- 암호화된 상태로 and, or, not 연산이 가능하면 컴퓨터로 하는 모든 연산이 가능
- 해커의 데이터 유출 원천 봉쇄
단점
- 암호문 확장 : 10-100 K배 -> 0.1-1배 (대칭키 방식)
- 암복호화 속도 : 수십ms (AES : 1us, RAS : 1ms) -> 이제는 해결됨. 빨라짐
- 암호문 연산 : 곱셈 수백ms
- 응용연산 종류에 따른 속도의 차이가 큼 -> 개별적 최적화
법과 항등식
a-b가 n의 배수 <-> a = b (mod n)
- 예 : 5 = 2 (mod 3)
a=b(mod n) 이고, c=d(mod n) 이면
- a+c = b+d (mod n)
- a-c = b-d (mod n)
- ac = bd (mod n)
문제 : 1234*(56-78) 을 32로 나눈 나머지는?
- (1233+1)((54+2)-(78) ....
완전동형암호
RAD PH
- 비밀키 : 큰 두 개의 소수 p, 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)
- 안전한가? Enc : P->C
재부팅 Bootstrapping
- 입력 : 노후화된 암호문, 암호화된 비밀키
- 출력 : 신규 암호문
- 과정 : 곱을 반복하여 노이즈가 커진 암호문을 노이즈가 작은 암호문으로 변경
동형암호
DGVH
- 비밀키 : a large prime p
- 연산키 :
Hard Problem and Security
AGCD Problem
- given several noisy multiples of p, find p.
- e.g, find p given x0 = pq0 + r0, x1 = pq1 + r1 with ri << p
how to solve?
- brute force for noise r or secret p
- Use continue fraction
- use lattice : orthogonal lattice attack and LLL
AGCD is provably hard?
SVP is NP-complete, but only in the worst case
(Ajtai96) SIS is as secure as the uSVP(worst c.)
- find a small integer solution of a system of integer equations
(Regev04) LWE is as secure as GapSVP
- m eqns with n variables over Zp is easy to solve
- what if the answers have noise? -> NP complete
- self-reducible (worst case = average case)
(C.-Stehle 15) AGCD is as secure as LWE
동형암호의 응용
예제1 : 생체인증
생체인증 시장 및 문제점
- 신한은행, 손바닥 정맥 인증 도입, 은행권 생체 본인 인증 본격화
- 생체인증 시장 규모 성장중
- 끊이지 않는 개인정보 유출 사고
- 생체정보는 유출 시 대체 불가능
생체인증 기술 개발
- 생체 정보를 보호하는 동형암호기반 생체인증 기술
- 인증시간 < 0.1초?
- 결과가 맞다 틀리다의 암호문이 나옴. 그래서 풀어주는 절차 필요
- 사용자의 위변조 방지를 위해 MAC 기술 적용
예제 2 : DNA 분석
DNA 분석/정밀의료와 암호화
- 개인의 유전정보를 이용한 정밀의료 새로운 보건의료 패러다임
- 미국 : 정밀의료 이니셔티브(PMI : Precise Medical Initiative) 2016 예산 2억 1500만 달러
- 문제는 유전정보의 보호 기술
DNA 맞춤의학
공공 유전자 변이 DB들로부터 DNA 바이오마커 수집
TCGA 유방암 데이터를 이용하여 유방암 특이적 질병패널 최종선정
- 유방암 질병패널에 기반한 질병감수성 예측모델 추측
DNA Privacy
스트레인저 비전 (조각가, 2012 뉴욕)
- DNA 분석 (공공장소에서 주운 머리카락)
- 얼굴 만드는 소프트웨어 이용
- 3d 프린터
DNA : 궁극의 프라이버시
- 개인의 DNA 정보 수집/악용
예제3 : 암호화된 헬스케어
- 건강진단 <--> 생체정보 (심박/활동량)
개인정보 헬스케어
- 예시 : 서인남성이 심장마비 걸릴 확률에서 변수로 쓰이는 헬스 정보는 나이(a), 키(ht), 몸무게(wt), 수축기 혈압 (sys), 이완기 혈압 (dia), 콜레스테롤 수치(chol) 이다. P(x) = e^x / (e^x-1)
- 실수동형암호의 필요성. 동치 계산을 해야 한다. -> 복소수 동형암호화
Smart Car
Cyber Physical System(CPS)
- 스마트홈에서 센서들이 인터넷에 연결되고 이 정보들과 사용자 명령이 합쳐서 일종의 컨트롤러에 전달되면 이것들이 계산되어 집행됨
- 계산 속도의 문제로 암호화 하지 않은 상태로 사용 중
- 정보조작, 원격조종, 위치정보 공개 등 많은 보안위협 산재
- Floating point HE(실수동형암호)를 통해 새로운 스마트카 제어 모델 설계
What is the next?
동형암호 vs 함수암호
- 현재 추세는 동형암호보다는 함수암호에 더 비중
- 그러나 조금 시각을 달리보면 동형 암호도
- 동형암호 : Enc(M1), ... , Enc(Mn) -> Enc(f(M1, M2, ..., Mn)) 모든 f
- 함수암호 : Enc(M1), ... , Enc(Mn) -> f(M1, M2, ... , Mn) 특정한 f
함수 암호의 응용
- 생체인식 : ENC_k(M1), ENC_k(M2) -> M1 = M2 인지 판별
- 프로그램 난독화 (Obfuscation) : 안전성 증명 -> 존재하는지 아닌지 불확실
- 암호화된 데이터에서 필요 정보 추출 (데이터마다 암호화시 지정)
양자컴퓨터 시대에도 안전!
(PQ) 양자 컴퓨터
양자컴퓨터
pros
- 인수분해와 이산로그를 다항식 시간에 계산
- 검색도 O(sqrt n) 시간에 해결 (groover algorithm)
cons
- NP-hard 문제는 다항식 시간에 계산 안됨
- 다룰 수 있는 q bit를 늘리는 것이 매우 어려움 (현재 수십)
일반적인 예상
- 수십년 이후에나 개발 가능할 듯
Post-Quantum Crypto
NSA Suite B Cryptography (2015 8 19)
- Qunatum Resistant Algorithm 으로 이동 계획 발표
- Suite B에 있는 타원곡선 암호 사용 자제 권고
Post-Quantum Crypto (based on NP-Hard Problem)
- 격자 : SVP and CVP in Integral Lattices of high dim
- 다변수 다항식 : solve multivariate Quandratic eqns
- 코드 : Decode of General Linear Codes
- 해쉬기반
NIST 공모
- 양자 암호에 안전한 공개키 암호 알고리즘
- 전자 서명
- 키 교환 프로토콜
- 다수의 알고리즘을 채택할 것으로 기대
- 공개적으로 투명한 평가를 중시할 예정
cs 쪽에서는 lattice 가 익숙하지만 대수적은 불편 저 두 개를 결합한 이론은 이제 막 연구 시작
'보안 > Cryptography' 카테고리의 다른 글
2016 암호여름학교 - Provable Security of Public-Key Cryptography (0) | 2016.06.28 |
---|---|
2016 암호여름학교 - Post-Quantum Public-key Cryptography (미완) (0) | 2016.06.28 |
2016 암호여름학교 The future of Encryption - NSF (완전동형암호관련 영상) (0) | 2016.06.28 |
2016 암호여름학교 - 난수발생기 (0) | 2016.06.27 |