13
Zero Knowledge Proofs Chapter 9 Simple Authentication protocols 1

Zero Knowledge Proofs

  • 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

Page 1: Zero Knowledge Proofs

Zero Knowledge Proofs

Chapter 9 Simple Authentication protocols

1

Page 2: Zero Knowledge Proofs

Zero Knowledge Proof (ZKP)

Alice 는 비밀에 대한 어떤 정보도 밝히지 않으면서 자신이 비밀을 갖고 있다는 것을 증명하기를 원한다 .

Bob 은 Alice 가 비밀을 알고 있다는 것을 증명해야 한다 . 자신은 비밀에 대한 어떤 정보를 얻지 못하더라도 .

과정은 확률에 기반을 두고 있다 . Bob 은 Alice 가 비밀을 알고 있을 확률이 아주 높다는

것으로 증명할 수 있다 . 대화식 증명 시스템 (interactive proof system)

Chapter 9 Simple Authentication protocols

2

Page 3: Zero Knowledge Proofs

Bob 의 동굴

Alice 는 R 과 S 사이의 문을 열수 있는 비밀 주문을 알고 있다고 주장한다 . (“ 열려라 참깨 !”)

과연 Alice 는 Bob에게 비밀 주문을 밝히지 않고 자신이 이 비밀을 알고 있다고 확신시킬 수 있을까 ?

Chapter 9 Simple Authentication protocols

P

Q

R S

3

Page 4: Zero Knowledge Proofs

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

Page 5: Zero Knowledge Proofs

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

Page 6: Zero Knowledge Proofs

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

Page 7: Zero Knowledge Proofs

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

Page 8: Zero Knowledge Proofs

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

Page 9: Zero Knowledge Proofs

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

Page 10: Zero Knowledge Proofs

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

Page 11: Zero Knowledge Proofs

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

Page 12: Zero Knowledge Proofs

현실 세계에서의 ZKP

공개키는 사용자를 밝히게 된다 . 공개키를 전송할 때 익명성이 보장되지 않는다 .

ZKP 는 자신의 존재를 드러내지 않고 인증을 할 수 있는 방법을 제공한다 .

ZKP 는 Microsoft’s Next Generation Secure Computing Base (NGSCB) 에서 사용 ZKP 는 단지 수학자들의 재미와 게임 만은 아니다 !

Chapter 9 Simple Authentication protocols

12

Page 13: Zero Knowledge Proofs

최적의 인증 프로토콜은 ?

여러가지 요인에 달려있다… 적용하는 응용의 성격 허용할 수 있는 지연 시간 허용할 수 있는 비용 사용할 수 있는 암호화 알고리즘

공개키 , 대칭키 , 해쉬 함수 상호 인증이 필요한가 ? 세션키가 필요한가 ? PFS 는 ? 익명성은 ?, 등등 .

Chapter 9 Simple Authentication protocols

13