Zero-Knowledge Proofs (ZKP)
Privacy-Preserving Digital Identity
October 11, 2018
Clare Nelson, CISSP, CIPP/E
VP Business Development & Product Strategy, North America
Sedicii
@Safe_SaaS
SSIMeetup.org
Why?
Raison d’Être for Zero-Knowledge Proofs
SSIMeetup.org
Zero-Knowledge Proofs (ZKPs) Enhance Privacy
Personal
Privacy
Institutional
Integrity
SSIMeetup.org
zk-STARKs Paper�Scalable, transparent, and post-quantum secure computational integrity (March 2018)
Human dignity demands that personal information, like medical and forensic data, be hidden from the public.
But veils of secrecy designed to preserve privacy may also be abused to cover up lies and deceit by institutions entrusted with Data, unjustly harming citizens and eroding trust in central institutions.
Zero knowledge (ZK) proof systems are an ingenious cryptographic solution to this tension between the ideals of personal privacy and institutional integrity, enforcing the latter in a way that does not compromise the former.
– Eli Ben-Sasson, Iddo Bentov, Yinon Horesh, Michael Riabzev
SSIMeetup.org
Scope
Digital Identity
SSIMeetup.org
Scope
Out of Scope
Digital Identity
In Scope
ZKP and Digital Identity
What Problems Are We Solving?
SSIMeetup.org
Zero-Knowledge Proofs
�If your personal data is never collected, it cannot be stolen.
https://www.zurich.ibm.com/identity_mixer/
https://www.ted.com/talks/maria_dubovitskaya_take_back_control_of_your_personal_data, TED Talk
– Maria Dubovitskaya Cryptographer, Research Staff Member, IBM Zurich Research Laboratory, Ph.D. in cryptography and privacy from ETH Zurich
SSIMeetup.org
Motivations for ZKP �and Digital Identity
Digital Identity Risks
Graphic: https://gpsbydesign.org/
International Council on Global Privacy and Security, by Design
TUPS
Ideal for Identification
ZKPs are the ideal solution to challenges in identification
– Sultan Almuhammadi
– Charles Neuman
University of Southern California, Los Angeles
(2005)
SSIMeetup.org
Zero-Knowledge Proofs
Definition
SSIMeetup.org
Zero-Knowledge Proofs
One of the most powerful tools cryptographers have ever devised
– Matthew Green
Professor at Johns Hopkins University
Co-founder of Zcash
SSIMeetup.org
Definition of Zero-Knowledge Proof�Proof System, not Geometry Proof
Proof system, not a geometry proof
SSIMeetup.org
Definition of Zero-Knowledge Proof
Enable a Prover to convince a Verifier of the validity of a statement
Prover
Verifier
Statement
SSIMeetup.org
Interactive Zero-Knowledge Proof
Verifier
Prover
Construct
ZKP
Verify
ZKP
Proof
Non-Interactive ZKP
Transform multiple messages into one message, or string
SSIMeetup.org
ZKP Requirements
Completeness
Soundness
Zero-Knowledge
SSIMeetup.org
007 Wants to Read the News
Credit to Anna Lysyanskaya for the 007 metaphor
I can tell you.
But then I’ll have to kill you.
SSIMeetup.org
007 Uses Subscription
My subscription is #4309115
007 Reveals Personal Data:
- Zip code when he looks up the weather
- Date of birth when he reads his horoscope
- More data when he browses the personal ads
Credit to Anna Lysyanskaya for the 007 metaphor
SSIMeetup.org
Completeness: Telegraph Accepts Proof
Here is a
Zero-Knowledge Proof
Credit to Anna Lysyanskaya for the 007 metaphor
Completeness
SSIMeetup.org
Soundness
Credit to Anna Lysyanskaya for the 007 metaphor
It’s Bond. James Bond.
Today’s news?
Rejected
Who are you?
Do you have a subscription?
(M fails because she can’t prove to Telegraph)
SSIMeetup.org
ZKP Illustration
Interactive ZKP
SSIMeetup.org
Zero-Knowledge Proof Illustration�Matthew Green
Telecom Company
SSIMeetup.org
Zero-Knowledge Proof Illustration�Matthew Green
3-Color Graph Problem
SSIMeetup.org
Zero-Knowledge Proof Illustration�Matthew Green
Proof of Solution
SSIMeetup.org
Zero-Knowledge Proof Illustration�Matthew Green
Proof of Solution
SSIMeetup.org
Zero-Knowledge Proof Illustration�Matthew Green
Repeat this process
Accept or Reject
6
4
SSIMeetup.org
ZKP Variants
Examples
SSIMeetup.org
Examples of ZKP Variants
https://www.youtube.com/watch?v=CKncw6mIMJQ&list=PLpr-xdpM8wG8DPozMmcbwBjFn15RtC75N
http://zerocash-project.org/media/pdf/zerocash-extended-20140518.pdf
https://eprint.iacr.org/2017/1066.pdf, Bulletproofs
https://thexvid.com/video/O8QA6Nvg8RI/zcash-genesis-block.html, trusted setup, live stream of Zcash launch
ZKP
NIZKP
zk-SNARK
zk-STARK
Designated Verifier
Lattice-Based
Interactive, multiple messages, need stable communication channel
Not interactive, one message
Need one-time, trusted setup to generate key at launch
No setup, working on memory issues, I or NI, post-quantum secure
No setup, 188 bytes, 10 ms in some cases, not post-quantum secure
Lattice-based cryptography, post-quantum secure, research
Graph Isomorphism
zk-STIK
Bulletproof
Interactive, compare graphs, efficient computation
Scalable Transparent Interactive Oracle of Proof (IOP) of Knowledge
DVNIZK, not just any entity can be verifier, verifier must know secret
Aurora
SSIMeetup.org
Trusted Setup�Zcash example
https://z.cash/technology/paramgen
https://z.cash/blog/the-design-of-the-ceremony/
https://thexvid.com/video/O8QA6Nvg8RI/zcash-genesis-block.html, trusted setup, live stream of Zcash launch
Multi-Party Computation (MPC) Ceremonies
Zcash Sprout (2016)
Six participants in the ceremony:
Zcash Sapling (2017-2018)
Private transactions in Zcash rely on zk-SNARK public parameters for constructing and verifying zero-knowledge proofs
SSIMeetup.org
ZKP Examples
Digital Identity
SSIMeetup.org
ZKP Flexibility, Variety of Use Cases
Logical combination of any of the above
Preserve Privacy
SSIMeetup.org
Graph Isomorphism ZKP�Paper by Manuel Blum, UC Berkeley, 1986
Prover
Verifier
(Graph Isomorphism Problem: Given two graphs with 𝑛 vertices each, decide whether they are isomorphic.)
1986: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.469.9048&rep=rep1&type=pdf
2006: https://www.cs.cmu.edu/~ryanw/crypto/lec6.pdf
2009: http://www.cs.cornell.edu/courses/cs6810/2009sp/scribe/lecture18.pdf
2011: http://www.cs.haifa.ac.il/~orrd/IntroToCrypto/Spring11/Lecture9.pdf
https://kriptan.org/white-papers.html
http://gauss.ececs.uc.edu/Courses/c653/lectures/PDF/zero.pdf
Compare identity attributes
without transferring them
SSIMeetup.org
Graph Isomorphism ZKP��
Passport
Driver’s License
National ID
Relying
Party
Authoritative Sources
No personal data leaves mobile phone or authoritative source
1986: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.469.9048&rep=rep1&type=pdf
2006: https://www.cs.cmu.edu/~ryanw/crypto/lec6.pdf
2009: http://www.cs.cornell.edu/courses/cs6810/2009sp/scribe/lecture18.pdf
2011: http://www.cs.haifa.ac.il/~orrd/IntroToCrypto/Spring11/Lecture9.pdf
https://kriptan.org/white-papers.html
http://gauss.ececs.uc.edu/Courses/c653/lectures/PDF/zero.pdf
https://medium.com/@kriptannetwork/we-did-it-before-it-was-cool-1a3b69627cc5
Verifier
zk-STARK Example�(Ben-Sasson, Bentov, Horesh, Riabzev)
National Offender DNA Database
Presidential Candidate, Jaffa
Prove to public that Jaffa is not in offender database
Graphic: https://www.linkedin.com/in/jaffaedwards/, with permission May 25, 2018.
No reliance on any external trusted party
Designated Verifier
Designated-Verifier
Non-Interactive
Zero-Knowledge Proof of Knowledge (DVNIZK)
EUROCRYPT 2018
SSIMeetup.org
ZKP Identity-Related Landscape�Identity Verification, Authentication
Considerations
SSIMeetup.org
ZKP Considerations�Depends on Implementation or Use Cases
https://eprint.iacr.org/2018/046.pdf
https://forum.getmonero.org/22/completed-tasks/90007/bulletproofs-audit-fundraising
SSIMeetup.org
Timeline�
1985
Goldwasser, Micali, Rackoff paper
2018
ZKP Standards Organization
2012
Goldwasser, Micali win Turing Award
It is Still Early Days
ZKP Standards
I think you should be more
explicit here in step two
ZKProof.org
Cartoonist: Sydney Harris
ZKP Standards
ZKProof Standards Applications Track Proceedings
Plus:
ZKP Standards
ZKProof Workshop at Zcon0
Trust
Graphic: http://www.criticbrain.com/articles/india-needs-to-bridge-gap-between-academia-and-industry
Technical people that trust ZKPs because they understand the math
Non-technical people who trust the technical people
How bridge this gap?
SSIMeetup.org
Resources
SSIMeetup.org
ZKP Resources
https://zkp.science/docs/Letter-to-NIST-20160613-Advanced-Crypto.pdf
https://github.com/chain/ristretto-bulletproofs/
A Hands-On Tutorial for Zero-Knowledge Proofs: Part I-III
http://www.shirpeled.com/2018/10/a-hands-on-tutorial-for-zero-knowledge.html
September-October, 2018
SSIMeetup.org
Gratitude
ZKP Inventors, Pioneers
SSIMeetup.org
We Stand on the Shoulders of Giants
https://www.csail.mit.edu/user/733
https://people.csail.mit.edu/silvio/
https://cyberweek.tau.ac.il/2017/about/speakers/item/207-eli-ben-sasson
Shafi Goldwasser
Eli Ben-Sasson
Silvio Micali
Matthew Green
���@Safe_SaaS���
Questions?
Clare_Nelson @ ClearMark . biz
SSIMeetup.org
Mathematics
SSIMeetup.org
Bulletproof
Range Proof Protocol
Backup Slides
SSIMeetup.org
Known Vulnerabilities
An Example
SSIMeetup.org
Zero-Knowledge Range Proof (ZKRP)
Validate
SSIMeetup.org
ZKRP Vulnerability
If you have a PC,
you may have touched
Zero-Knowledge Proof
(TPM 1.2)
SSIMeetup.org
References
References
References
References
Graph Isomorphism
G and H are isomorphic graphs
SSIMeetup.org
Graph Isomorphism ZKP (GIZKP)�Carnegie Mellon University, 2006
How does Prover prove to Verifier that an isomorphism exists?
Input:
2 isomorphic graphs G, H on n nodes each. Prover knows isomorphism f. A security parameter k (positive integer).
Output:
A zero-knowledge protocol that proves P knows f. Prover gives no info to V˜ P˜ can cheat (successfully) with probability ≤ 1/2 n .
Protocol:
Repeat k times.
Prover: Privately take G and randomly permute vertices to get a graph F.
Prover: Publicly present F to Verifier (G and H are public from the beginning).
Verifier: Toss a coin, and ask Prover to show that G ∼= F if heads, or H ∼= F if tails.
SSIMeetup.org
Graph Isomorphism ZKP (GIZKP)�Cornell University, 2009
SSIMeetup.org
EUROCRYPT 2018
Efficient Designated-Verifier Non-Interactive Zero-Knowledge Proofs of Knowledge
Quasi-Optimal SNARGs via Linear Multi-Prover Interactive Proofs
On the Existence of Three Round Zero-Knowledge Proofs
An Efficiency-Preserving Transformation from Honest-Verifier Statistical Zero-Knowledge to Statistical Zero-Knowledge
Partially Splitting Rings for Faster Lattice-Based Zero-Knowledge Proofs
SSIMeetup.org
Schnorr NIZK (IETF Draft)
The Schnorr NIZK proof is obtained from the interactive Schnorr identification scheme through a Fiat-Shamir transformation
SSIMeetup.org
Zero-Knowledge Proof, Formal Definition
An interactive proof system (P, V) for a language L is zero-knowledge if for any PPT verifier V∗ there exists an expected PPT simulator S such that
∀ x ∈ L, z ∈ {0, 1} ∗, ViewV∗ [P(x) ↔ V∗ (x, z)] = S(x, z)
As usual, P has unlimited computation power (in practice, P must be a randomized TM).
Intuitively, the definition states that an interactive proof system (P, V) is zero-knowledge if for any verifier V∗ there exists an efficient simulator S that can essentially produce a transcript of the conversation that would have taken place between P and V∗ on any given input.
SSIMeetup.org
ZKPOK
I can’t tell you my secret,�but I can prove to you�that I know the secret
Source: J. Chou, SC700 A2 Internet Information Protocols (2001)
Graphic: http://www.flowmarq.com/single-post/2015/05/18/IDENTITY-Clarifying-Motivations
SSIMeetup.org
You can have security without privacy,
but you can’t have privacy without security.
— Carolyn Herzog, EVP and General Counsel, ARM
https://www.symantec.com/connect/blogs/you-can-t-have-privacy-without-security
https://www.microsoft.com/en-us/research/research-area/security-privacy-cryptography/
SSIMeetup.org
ZKP Variations
https://ieeexplore.ieee.org/document/1524082/
https://eprint.iacr.org/2018/167.pdf
https://eurocrypt.iacr.org/2018/acceptedpapers.html
http://www0.cs.ucl.ac.uk/staff/J.Groth/NIZKJournal.pdf
Examples: ZKP Variations, Terminology
SSIMeetup.org
Non-Interactive Zero-Knowledge Proof
zk-SNARK Proof
SSIMeetup.org
ISO/IEC 9798-5:2009
Compliance with ISO/IEC 9798-5 may involve the use of the following patents and their counterparts in other countries.
Patent | Title | Inventor | Filing Date |
US 4 995 082 | Method for identifying subscribers and for generating and verifying electronic signatures in a data exchange system | C.P. Schnorr | 1990 |
US 5 140 634 | Method and apparatus for authenticating accreditations and for authenticating and signing messages | L.C. Guillou and J-J. Quisquater | 1991 |
EP 0 311 470 | Methods and systems to authenticate authorizations and messages with a zero knowledge-proof system and to provide messages with a signature | L.C. Guillou and J-J. Quisquater | 1998 |
EP 0 666 664 | Method for performing a double-signature secure electronic transaction | M. Girault | 1995 |
SSIMeetup.org
Attack Resilience (From Academia) �
Attack | Description | Mitigation |
Impersonation | A malicious impersonator, for either party | Need secret, completeness and soundness |
Replay Attack | Malicious peer or attacker collects previous proofs, and resends these | Challenge message required |
Man in the Middle (MITM) | Intruder is able to access and modify messages between prover and verifier (without them knowing) | It depends, implementation specific |
Collaborated Attack | Subverted nodes collaborate to enact identity fraud, or co-conspirator | It depends, requires reputation auditing design |
Denial of Service (Dos) | Renders networks, hosts, and other systems unusable by consuming bandwidth or deluging with huge number of requests to overload systems | Could happen during authentication setup |
SSIMeetup.org
ZKP Challenges
SSIMeetup.org