Upload
alexia
View
70
Download
1
Embed Size (px)
DESCRIPTION
Zero Knowledge Proofs. Zero Knowledge Proof (ZKP). Alice 는 비밀에 대한 어떤 정보도 밝히지 않으면서 자신이 비밀을 갖고 있다는 것을 증명하기를 원한다 . Bob 은 Alice 가 비밀을 알고 있다는 것을 증명해야 한다 . 자신은 비밀에 대한 어떤 정보를 얻지 못하더라도 . 과정은 확률에 기반을 두고 있다 . Bob 은 Alice 가 비밀을 알고 있을 확률이 아주 높다는 것으로 증명할 수 있다 . - PowerPoint PPT Presentation
Citation preview
Zero Knowledge Proofs
Chapter 9 Simple Authentication protocols
1
Zero Knowledge Proof (ZKP)
Alice 는 비밀에 대한 어떤 정보도 밝히지 않으면서 자신이 비밀을 갖고 있다는 것을 증명하기를 원한다 .
Bob 은 Alice 가 비밀을 알고 있다는 것을 증명해야 한다 . 자신은 비밀에 대한 어떤 정보를 얻지 못하더라도 .
과정은 확률에 기반을 두고 있다 . Bob 은 Alice 가 비밀을 알고 있을 확률이 아주 높다는
것으로 증명할 수 있다 . 대화식 증명 시스템 (interactive proof system)
Chapter 9 Simple Authentication protocols
2
Bob 의 동굴
Alice 는 R 과 S 사이의 문을 열수 있는 비밀 주문을 알고 있다고 주장한다 . (“ 열려라 참깨 !”)
과연 Alice 는 Bob에게 비밀 주문을 밝히지 않고 자신이 이 비밀을 알고 있다고 확신시킬 수 있을까 ?
Chapter 9 Simple Authentication protocols
P
Q
R S
3
Bob’s Cave Bob: “Alice 는 S 쪽으로 나와라 !”
Chapter 9 Simple Authentication protocols
Alice ( 조용히 ): “ 열려라 참깨”
만약 Alice 가 비밀을 모른다면 ,
Alic 가 운 좋게 맞는 쪽으로 나올 확률은 ½ 이다 . 만약 Bob 이 이것을 n 번 계속했을 때 , Alice 가 운 좋게
매번 맞는 쪽으로 나올 확률은 1/2n 이다 . 따라서 Bob 은 매번 Alice 가 맞는 쪽으로 나왔다면 Alice
는 문을 여는 비밀을 알고 있다고 확신할 수 있다 .( 매우 높은 확률을 가지므로 )
P
Q
R S
4
Fiat-Shamir Protocol
동굴에 기반을 둔 프로토콜은 매우 불편하다 . 동굴 없이 동일한 결과를 얻을 수 있을까 ?
modulo N 의 제곱근을 찾는 것은 힘들다고 알려져 있다 . 소인수 분해와 비슷 : N = pq, p 와 q 는 소수
Alice 는 비밀값 S 를 갖고 있다 . N 과 v (= S2 mod N) 은 공개됨 , S 는 비밀값
v 를 알더라도 S 는 찾을 수 없다 . Alice 는 S 에 대한 어떤 정보도 제공하지
않으면서 Bob 에게 자신이 S 를 갖고 있다는 것을 확신시켜야 한다 .
Chapter 9 Simple Authentication protocols
5
Fiat-Shamir
공개 : N 과 v (= S2 mod N) Alice 는 랜덤값 r 을 선택한다 . Bob 은 e 를 선택한다 . e {0,1} Bob 은 다음을 검증한다 .
y2 = r2S2e = r2(S2)e = xve mod N
Chapter 9 Simple Authentication protocols
Alice Bob
x = r2 mod N
e {0,1}
y = rSe mod N
6
비밀값 S 랜덤값 r
Fiat-Shamir: e = 1
공개 : N 과 v (= S2 mod N) Alice 는 랜덤값 r 을 선택한다 . 만약 Bob 이 e =1 을 선택했다면 , Bob 은 다음의 식을 검증한다 .
y2 = xv mod N 이 경우 Alice 는 S 를 알고 있음이 틀림없다 .
Chapter 9 Simple Authentication protocols
Alice Bob
x = r2 mod N
e = 1
y = rS mod N
7
비밀값 S랜덤값 r
Fiat-Shamir: e = 0
공개 : N 과 v (= S2 mod N) Alice 는 랜덤값 r 을 선택한다 . 만약 Bob 이 e = 0 를 선택했다면 , Bob 은 다음의 식을 검증해야 한다 .
y2 = x mod N 이 경우 Alice 는 S 를 알고 있을 필요는 없다 .
Chapter 9 Simple Authentication protocols
Alice Bob
x = r2 mod N
e = 0
y = r mod N
8
비밀값 S랜덤값 r
Fiat-Shamir 공개 : N 과 v (= S2 mod N) 비밀 : Alice 는 S 를 안다 . Alice 의 약속 (commit)
랜덤값 r 을 선택하고 x (= r2 mod N) 을 보낸다 .
Bob 의 도전 (challenge) e {0,1} 를 Alice 에게 보낸다 .
Alice 의 응답 (response) Alice 는 y (= rSe mod N) 를 Bob 에게 보낸다 .
Bob 의 확인 (check) y2 = xve mod N
Chapter 9 Simple Authentication protocols
9
Fiat-Shamir 는 맞는가 ? 수학은 맞는다 .
공개 : v = S2
Alice to Bob: x = r2 과 y = rSe
Bob 의 검증 : y2 = xve mod N Trudy 는 Bob 이 자신이 Alice 라고 속일 수 없을까 ?
만약 Trudy 가 e = 0 를 예측한다면 , 메시지 1 에 x = r2
을 , 메시지 3 에 y = r 을 보낸다 . ( 프로토콜에 따라서 ) 만약 e = 1 을 예측한다면 , 메시지 1 에 x = r2v1 을
보내고 메시지 3 에 y = r 을 보낸다 . 만약에 Bob 이 e {0,1} 의 값을 랜덤으로
선택한다면 , Trudy 가 Bob 을 속일 수 있을 확률은 ½이다 .
Chapter 9 Simple Authentication protocols
10
Fiat-Shamir Facts
Trudy 는 ½ 의 확률로 Bob 을 속일 수 있다 . 하지만 n 번 반복했을 때 Trudy 가 Bob 을
속일 확률은 1/2n 이다 . Bob 의 동굴과 같다 !
Bob 의 선택 , e {0,1} 는 예측할 수 없어야 한다 .
Alice 는 매번 새로운 r 을 사용해야 한다 . 그렇지 않으면 , If e = 0, Alice 는 r 전송 ( 메시지 3) If e = 1, Alice 는 rS 전송 ( 메시지 3) r 과 rS 에서 S 를 찾을 수 있다 .
Chapter 9 Simple Authentication protocols
11
현실 세계에서의 ZKP
공개키는 사용자를 밝히게 된다 . 공개키를 전송할 때 익명성이 보장되지 않는다 .
ZKP 는 자신의 존재를 드러내지 않고 인증을 할 수 있는 방법을 제공한다 .
ZKP 는 Microsoft’s Next Generation Secure Computing Base (NGSCB) 에서 사용 ZKP 는 단지 수학자들의 재미와 게임 만은 아니다 !
Chapter 9 Simple Authentication protocols
12
최적의 인증 프로토콜은 ?
여러가지 요인에 달려있다… 적용하는 응용의 성격 허용할 수 있는 지연 시간 허용할 수 있는 비용 사용할 수 있는 암호화 알고리즘
공개키 , 대칭키 , 해쉬 함수 상호 인증이 필요한가 ? 세션키가 필요한가 ? PFS 는 ? 익명성은 ?, 등등 .
Chapter 9 Simple Authentication protocols
13