X

영지식 증명 (Zero-Knowledge Proof)

1. 영지식 증명 (Zero-Knowledge Proof)의 개념 및 특성

개념 증명자(Prover)가 검증자(Verifier)에게 자신의 주장이 참이라는 것을 참・거짓 여부 외에 다른 정보를 노출하지 않고 증명할 수 있는 기술
특성 완전성
(Completeness)
증명자의 주장이 참일 경우, 검증자는 해당 주장이 참이라는 것을 확신할 수 있음
건전성
(Soundness)
증명자의 주장이 거짓일 경우, 누구라도 검증자에게 해당 주장이 참이라고 확신 시킬 수 없음
영지식성
(Zero-Knowledge)
검증자는 증명자의 주장이 참일 경우, 해당 주장이 참이라는 것 외에는 알 수 없음
  • 완전성 및 건전성(건실성)은 증명 과정에서 보편적으로 요구되는 성질이며, 영지식성은 영지식 증명 과정에서 추가적으로 요구되는 특성

 

2. 영지식 증명의 메커니즘 및 특성 적용 (사례)

(1) 영지식 증명의 메커니즘

1단계 (조건 설정) 2단계 (증명)
조건 – 동굴은 입구에서 A, B 두 개의 통로를 가지며, 동굴의 끝은 연결되어 있음
– 동굴 끝의 문은 비밀번호로 잠겨있으며, 비밀번호는 어느 방향에서나 입력 가능
주장 – 증명자(P)는 동굴 끝의 문 비밀번호를 알고 있음을 주장
증명 – 증명자(P)가 A나 B 어느 통로로 들어가더라도 검증자(V)가 지시하는 방향으로 나올 수 있음을 반복하여 보임으로 증명자(P)가 비밀번호를 알고 있음을 증명

(2) 영지식 증명의 특성 적용

특성 사례 적용
완전성 검증자(V)는 증명자(P)가 자신이 랜덤하게 지시한 통로로 나오는 것을 반복 확인함으로써 증명자(P)가 비밀번호를 알고 있다고 확신
건전성 증명자(P)가 비밀번호를 알고 있지 않다면 매번 검증자(V)가 지시한 통로로 나올 수 없음
영지식성 검증자(V)는 증명자(P)가 비밀번호를 알고 있다는 것을 확신하지만 해당 비밀번호를 알 수는 없음
  • 영지식 증명을 수행하기 위해 영지식 증명의 특성인 완전성, 건전성, 영지식성을 모두 만족 필요

 

3. 영지식 증명의 활용 사례 (Zcash 거래 검증)

# zK-SNARK 알고리즘 기반 Zcash의 거래 검증 과정
키 생성기는 모두에게 공개 가능한 검증키와 증명키를 생성
블록체인의 거래 생성자는 증명키와 자신의 비밀값 등을 증명 알고리즘에 넣어 증명값(Proof)을 생성
※ 비밀값: 거래의 입력값, 거래 생성자의 비밀키인 지출키(Spending key) 등
채굴자는 거래 생성자의 증명값 및 검증키 등을 검증 알고리즘에 넣어 결과(참/거짓) 확인
② ~ ③ 과정을 반복 수행하여 결과가 모두 “참”일 경우 해당 거래를 타당한 거래로 인정
  • 영지식 증명은 타인에게 자신의 정보를 노출하지 않고도 주장을 증명할 수 있으므로 개인정보 보호에 효과적이지만 영지식 증명은 증명 과정을 여러 번 수행해야하므로 컴퓨팅 자원(전력, 메모리 등)이 많이 소요되는 등의 단점 존재
  • 영지식 증명을 실현하기 위해 알고리즘 성능 향상을 위한 연구가 필요하며, 알고리즘 성능 향상으로 개인정보 보호가 요구되는 분야에서 영지식 증명 사용이 증가할 것으로 전망

 
[참고]

  • 대한전자공학회, 영지식 대화형 증명 방식 및 응용 프로토콜
  • 금융보안원, 전자금융과 금융보안(영지식 증명의 개념 및 활용 사례)
Categories: 보안
도리:

View Comments (2)

  • 도리님 ! 도리님의 웹 페이지 너무 잘보고 있습니다,
    카테고리들에 대해서 랜덤으로 접근할 수 있는 페이지를 하나만 만들어 주실 수 있을까요?
    (랜덤으로 하나하나 공부하고싶어서 그렇습니다)

    • 도움이 되신다니 다행입니다. 블로그 내 기술 토픽들은 대부분 다른 토픽들의 요소 기술이거나 진화 또는 기반이 된 기술이기 때문에 랜덤으로 공부하시는 것보다는 하나의 토픽을 공부하시면서 해당 토픽과 관련된 토픽 위주로 확장시키면서 공부하시는 것이 효과적입니다.
      카테고리별 랜덤 페이지는 저도 고민해보겠습니다. 지금 꼭 랜덤으로 공부하시고 싶으시면 블로그 오른쪽 카테고리 링크를 클릭하셔서 맨 아래쪽 "