recent progress on cryptography - mathnet.or.kr0706).pdf · data can be processed by an external...
TRANSCRIPT
암호 사용 환경의 변화
과거의 암호 vs 현재의 암호
과거의 암호
완전한 안전성: no Information Leakage
구현 가능성
응용: 주요 정보의 보호 (암호화, 서명, 인증)
현재의 암호
통제되는 안전성: Operation on Encrypted Data
장비에 따른 계산 능력의 차이
응용: 모든 디지털 정보의 보호
Cloud, DB, 개인정보보호, Lightweight Device
2
4
개인정보를 왜 암호화하지 않는가?
암호화 후에는 키워드 검색이 안 된다.
검색을 위해서는 대용량 데이터를 모두 복호화
탐색가능암호 필요
자신의 데이터를 인터넷스토리지에 저장시..
Privacy 유출 위험 탐색가능암호
Database Index 검색이 안 된다.
Index 암호화를 위해 순서보존암호 필요
산술 연산이 안 된다.
준동형 암호: 덧셈, 평균 보존
암호문의 평문이 평균의 암호문
암호화된 데이터의 탐색 및 통계처리, 인덱스 암호화 필요
2012-07-16
4세대 암호들
4세대암호: 암호화된 데이터는 복호화를 해야만 활용할 수 있다는 고정관념에서 벗어나서, 암호화된 상태에서의 계산을 가능하게 암호 Computing on encrypted / authenticated data, Secure Multiparty computation
동형암호(fully homomorphic encryption): 2009 Gentry
미국 MIT가 선정한 2011년 10대 미래유망기술
클라우드에 저장된 데이터 변형여부확인: 저장증명(Proof of Storage)
저장된 데이터를 권한 부여 받은 사람만 열람
속성기반암호(Attribute Based Encryption)
Privacy Preserving Data Mining
정보 노출을 필요한 정도로 세밀하게 통제
주요 암호기술
Numeric Operation on Cryptographic Data
준동형암호 Homomorphic Encryption
준동형서명 Homomorphic Signature
순서보존암호 Order Preserving Encryption
Non-numeric Operation on Cryptographic Data
탐색가능암호 Searchable Encryption
집합연산 Private Set Operations
저장증명 Proof of Storage
Redactable/Sanitizable Signature
Privilege Management: IBE/HIBE/PE
속성기반암호 Attribute Based Encryption
익명인증 Anonymous Authentication
프로그램난독화와 비밀키 유출방지 (Leakage Resilient Crypto)
9
Privacy Homomorphism
복호화 없이 암호화된 데이터의 연산을 허용하는 암호화 함수
Rivest-Adleman-Dertouzos, On data banks and privacy homomorphism,1978.
“encryption functions which permit encrypted data to be operated on without
preliminary decryption of the operands, for many sets of interesting
operations”
Data can be processed by an external computing facility
Database as a service
응용
암호화된 데이터의 통계처리
의료보험공단: 봉급생활자의 평균월급 , 10억이상 연봉자의 수
11
Privacy Homomorphism [RAD78]
Suppose the loan company stores their data in a
outsourced database
What is the size of the average loan outstanding?
How much income from loan payments is expected next month?
How many loans over 5,000$ have been granted?
12
RAD PH (대칭키 준동형 암호)
RAD PH
Private key: two large primes p and q
Public key: n = pq
암호화: Enc(m) = (m mod p, m mod q)
복호화: Given (c1,c2)Zp*Zq, find mZn s.t. m=c1 mod p and
m=c2 mod q
Support modular addition, subtraction, and multiplication
Very efficient!
문제: 대칭키로 충분? 안전성?
확장가능성
13
공개키 준동형 암호
Multiplicative Homomorphism
RSA, ElGamal
Additive Homomorphism
Okamoto-Uchiyama, A new public-key cryptosystem as secure as factoring,
Eurocrypt 1998.
Paillier, Public-key cryptosystems based on composite residuosity classes,
Eurocrypt 1999
Addtive Homomorphism with one multiplication
Boneh-Goh-Nissm, Evaluating 2-DNF formulas on ciphertexts, TCC 2005
Pairing 사용. 평문의 크기가 작아야 함
Fully Homomorphic Encryption
Gentry, Fully homomorphic encryption using ideal lattices, STOC 2009
모든 연산이 가능하나 효율성에 문제
14
순서보존암호
Order-Preserving Symmetric Encryption
Boldreva, Chenette, Younho Lee, O’Neill, Euro2009
DB에서 index 암호화에 사용: “Range Query”를 허용
IND-CPA 불가능하지만 order-preserving 함수중 랜덤이면 평문값 숨김
그러나 평문의 근사값, 평문사이의 근사거리 노출
암호화 시간: Binary search 수준
Monotone minimal perfect hash functions: IND-ordered CPA
Order-Preserving Encryption Revisited: Improved Security Analysis and
Alternative Solutions. Boldreva, Chenette, Younho Lee, O’Neill, Crypto2011
Order 정보 이외에는 유출이 없음
Modular order-preserving encryption (MOPE): 평문의 위치 숨김
15
클라우드 암호 기술
데이터를 암호화하여 클라우드에 저장
암호화된 데이터에서 키워드 검색 문제 발생
→ 탐색가능암호(Searchable Encryption)
클라우드가 저장된 데이터를 변형,손상 시키는지 확인
→ 저장증명(Proof of Storage)
저장된 데이터의 공유: 권한을 부여받은 사람만 열람 가능
→ 속성기반암호(Attribute Based Encryption)
18
탐색가능 암호(Searchable Encryption)
배경
클라우드에 저장된 암호화 데이터의 키워드 검색
해법
데이터마다 검색 인덱스를 대응하여 개인용 장치에 인덱스를 저장
→ 저장비용 발생
클라우드에 저장된 모든 데이터를 다운로드하여 복호한 후 검색
→ 계산량 및 통신량 증가
암호화된 검색 인덱스로 키워드 검색 가능
→ 탐색가능 암호
19
탐색가능 암호(Searchable Encryption)
현재 기술
대칭 탐색가능 암호 & 비대칭 탐색가능 암호
검색 인덱스를 암호화 – 적당한 토큰을 가진 자만이 인덱스에 해당하는 내용을 확인
토큰은 비밀 키를 소유한 사람만 생성 가능
클라우드는 검색되고 있는 데이터에 대한 정보를 알 수 없어야 함
20
탐색가능 암호(Searchable Encryption)
대칭 탐색가능 암호(symmetric searchable encryption)
대칭키 암호에 기반하여 효율적이며 안전 (대칭키 암호화 2회)
안전성
서버는 토큰 없이는 데이터의 길이 이외에 알 수 있는 정보 없음
키워드에 대응하는 토큰이 주어지면 서버는 키워드를 모른 채 키워드를 포함하는 암호화된 데이터를 찾아낼 수 있어야 함
참고문헌
Song, D., Wagner, D., Perrig, A. : Practical techniques for searching on
encrypted data. IEEE Symposium on Research in Security and Privacy,
pp.44-55.(2000)
21
22
Search on Encrypted Data
D. Song, D. Wagner and A. Perrig, Practical Techniques for
Searches on Encrypted Data
Secret Symmetric Key
Random r HL(r)
Server, not trusted
k n
Search M : query E(M)
C(M) A=C(M’) E(M)
Check HL(A[1,k])=A[k+1,n]
• Efficiency
• Confidentiality
L R E(M)
탐색가능 암호(Searchable Encryption)
비대칭 탐색 가능 암호(asymmetric searchable encryption)
공개키 암호에 기반: 누구나 데이터를 암호화할 수 있으나 비밀키를 가진 자만이 데이터를 확인할 수 있음
대칭 탐색가능 암호에 비하여 비효율적(페어링 연산 필요)
참고문헌
Shi, E., Bethencourt, J., Chan, T., Song, D., Perrig, A.: Multi-dimensional
range query over encrypted data. IEEE Symposium on Security and Privacy
(2007)
23
저장 증명(Proof of Storage)
배경
저장된 데이터가 서버에 의하여 변형, 조작되었는지 확인 필요
무결성(integrity) : 고객의 데이터가 클라우드 서비스 제공자에 의하여
임의로 수정 혹은 삭제되지 않아야 함
해법
고객은 데이터의 해쉬값을 계산하여 저장 후 서버로부터 해당 데이터를
받아 해쉬를 계산하여 비교, 무결성을 확인
→ 저장량이 데이터의 양에 선형 비례, 데이터 양이 많으면 저장비용 증가
데이터의 양에 무관하게 작은 계산량을 갖는 방법 필요
→ 저장 증명(proof of storage)을 이용하여 데이터의 양에 준선형 계산량을
갖는 방법 개발
24
현재기술
Schnorr 스킴을 활용한 저장 증명
비밀키 x, 공개키 y=gx
고객 : 임의의 ri 선택, gr_i 계산 (속성정보 고객보관)
파일 f=(f1, f2, …, fn)에 대하여 ti := (ei , si) (단, si=ri + ei x, ei= H(fi, gr_i) )
(f, t)를 서버에 전송 (파일과 태그 서버 보관)
Client challenge c =(c1, c2, …, cn) to server
Server returns F:=∑ ci fi and T:=(∑ ci ei,∑ ci si)=(E,S)
Client compute R:=∑ ci ri
Verify that gS/yE =gR and H(F, gR)=E
H has homomorphic property
서버가 태그 생성 불가능, 검증식 통과하는 (E,S)생성 불가
속성정보 저장량 축소: ri=MAC(sk,i)
25
속성 기반 암호(Attribute based Encryption)
배경
권한을 가진 자만이 암호화된 데이터의 내용을 볼 수 있게 함
신원기반암호(IBE)의 일반화
권한 : 신분, 소속, 직위, 성별 등등…
권한의 AND, OR 등 부울연산 가능
해법
권한 정보를 포함한 평문 암호화 : 공개키 암호 이용
복호화 키는 권한 정보에 따라 생성
암호문에 포함된 권한 정보와 복호화 키의 권한 정보가 일치할 경우에만 복호화
Lewko et. al, Fully Secure Functional Encryption: Attribute-Based
Encryption and (Hierarchical) Inner Product Encryption, Eurocrypt 2010
26
28
Private Set Operations
쌀 직불금을 탄 사람 명단 중 재산세 일정액 이상의 명단을 고르는 방법은? 두 명단을 교환하여 교집합을 찾는다. ^^;;
신뢰하는 제 삼자에게 두 명단을 주고 교집합을 찾는다.
제3자 신뢰문제 + 법적문제
두 명단을 모두 암호화해 놓고 교집합만 복호화
복호화는 둘이 동의해야 할수 있는 문턱암호사용
후보를 추측해 암호화하면 대상 여부 확인 가능
둘이 암호화한 명단에서 교집합만 복호화 가능한 암호는? 비행기 회사들의 블랙리스트 교집합 공유
두 회사가 공통의 고객 명단 추출 (다른 고객 정보 유출 방지)
교집합, 합집합, Data Mining …
Privacy Preserving Set Intersection
Kissner-Song, Privacy Preserving Set Operations, Crypto 2005
Set Intersection
Threshold Set Union (with MixNet)
덧셈준동형 암호 필요: Paillier Encryption
Quadratic Complexity
Linear: Seo-Jarecki-C, Multi-Party Privacy-Preserving Set Intersection with
Quasi-Linear Complexity, IEICE 2012
Privacy Preserving Set Union w/o MixNet?
29
Set Union: 전자투표/전자여론조사
전자투표 요구사항
비밀투표(privacy)
투표값 반영확인(publicly verifiable)
매표방지(Receipt-free)
기표소 전자투표 순서
신분 확인 (인터넷 투표의 경우 일회성 익명인증서 필요)
기표후 투표값 암호화
암호문의 shuffle 후 group decrypt
암호문의 shuffle 방법
Mixnet: 비효율적, 모두 공모하면 투표값유출
Shuffle in Public, Aida, Wikstrom, TCC2007
Privacy Preserving Set Union지원 암호
30
Leakage Resilient Crypto
Side Channel Attack or Malware Leaks: 비밀키의 유출시에도 안전한 암호는 없을까?
한달 통신량이 500MB인 휴대폰에서 비밀키가 1GB 이고 매달 키 갱신한 다면??
암호화, 서명시의 효율: 비밀키의 일부만 사용(locality)
패스워드 인증, 공개키 암호, 전자서명 스킴… : 이론적 접근
Leakage Resilience and the Bounded Retrieval Model, 2009
Alwen-Dodis-Wichs, http://cims.nyu.edu/~wichs/BRMSurvey.pdf
안전성과 효율성의 tradeoff 필요
32
프로그램 난독화
코드난독화는 많은 응용을 가지고 있음 [LPS04]
Intellectual property protection of secret algorithms and keys in software,
Transforming Private-Key Encryption into Public-Key Encryption
Transforming PKE into FHE
Access Control Systems, Controlled delegation of authority and access
모든 프로그램에 작동하는 난독화는 불가능 Barak et al, On the impossibility of Obfuscating Programs, Crypto 2001
특수 목적의 난독화는 가능 (access control)
보기: b=Hash(a)와 해시함수를 가진 프로그램은 a의 유출없이 비번확인
Lynn-Prabhakaran-Sahai, Positive Results and Techniques for Obfuscation, Eurocrypt 2004
33
Whitebox Cryptography
대칭키 암호를 비밀키와 함께 컴파일하여 불명료화
응용
비밀키의 소유주도 비밀키를 알지 못해야 하는 경우
암호화된 mp3: 기기안에서 재생은 가능하나 복호화키의 유출은 금지
이 프로그램은 공개키암호 프로그램의 역할을 함 (효율적 복호화)
Side Channel Attack에 대한 저항성도 증가
Wyseur, Ph.D thesis in KATHOLIEKE UNIVERSITEIT LEUVE, 2009
www.cosic.esat.kuleuven.be/publications/thesis-152.pdf
34