1 of 73

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

2 of 73

Why?

Raison d’Être for Zero-Knowledge Proofs

SSIMeetup.org

3 of 73

Zero-Knowledge Proofs (ZKPs) Enhance Privacy

Personal

Privacy

Institutional

Integrity

SSIMeetup.org

4 of 73

zk-STARKs PaperScalable, 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

5 of 73

Scope

Digital Identity

SSIMeetup.org

6 of 73

Scope

  • Artificial Intelligence (OpenMined)
  • Cryptocurrency
  • Digital Watermarks
  • Ethereum
  • E-Voting
  • Gaming
  • Genomics
  • Location
  • Mimblewimble
  • Private Messaging
  • Sealed Auctions
  • Smart Contracts (Hawk)
  • Supply Chain Transparency
  • Trusted Platform Module (TPM)
  • Zero-Knowledge Blockchain

Out of Scope

Digital Identity

  • Identity Proofing
  • Authentication

In Scope

7 of 73

ZKP and Digital Identity

What Problems Are We Solving?

SSIMeetup.org

8 of 73

Zero-Knowledge Proofs

If your per­son­al data is nev­er col­lect­ed, it can­not be sto­len.

– Maria Dubovitskaya Cryptographer, Research Staff Member, IBM Zurich Research Laboratory, Ph.D. in cryptography and privacy from ETH Zurich

SSIMeetup.org

9 of 73

Motivations for ZKP �and Digital Identity

Digital Identity Risks

  • Loss of privacy, control
  • Data breaches
  • Identity theft
    • Identity fraud, crime
      • Human, drug trafficking
      • Terrorist funding
  • Surveillance, Profiling
  • Social engineering

International Council on Global Privacy and Security, by Design

  • We don’t need to give up personal privacy for public safety.
  • We don't need to sacrifice privacy for data analytics.
  • We can have both. We must have both.

TUPS

10 of 73

Ideal for Identification

ZKPs are the ideal solution to challenges in identification

  • Users can prove identities
    • No exchange of sensitive information
  • Mitigates identity theft

– Sultan Almuhammadi

– Charles Neuman

University of Southern California, Los Angeles

(2005)

SSIMeetup.org

11 of 73

Zero-Knowledge Proofs

Definition

SSIMeetup.org

12 of 73

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

13 of 73

Definition of Zero-Knowledge Proof�Proof System, not Geometry Proof

Proof system, not a geometry proof

SSIMeetup.org

14 of 73

Definition of Zero-Knowledge Proof

Enable a Prover to convince a Verifier of the validity of a statement

      • Yields nothing beyond validity of the statement
      • Incorporates randomness
      • Is probabilistic
        • Does not provide absolute certainty

Prover

Verifier

Statement

SSIMeetup.org

15 of 73

Interactive Zero-Knowledge Proof

Verifier

Prover

Construct

ZKP

Verify

ZKP

Proof

Non-Interactive ZKP

Transform multiple messages into one message, or string

SSIMeetup.org

16 of 73

ZKP Requirements

Completeness

  • If statement is true, verifier will be convinced by prover

Soundness

  • If statement is false, a cheating prover cannot convince verifier it is true
    • Except with some small probability

Zero-Knowledge

  • Verifier learns nothing beyond the statement’s validity

SSIMeetup.org

17 of 73

007 Wants to Read the News

Credit to Anna Lysyanskaya for the 007 metaphor

Graphic: http://www.007.com/characters/the-bonds/

I can tell you.

But then I’ll have to kill you.

Today’s news?

Today’s news?

Who are you?

Do you have a subscription?

SSIMeetup.org

18 of 73

007 Uses Subscription

My subscription is #4309115

Today’s news?

Today’s news?

Who are you?

Do you have a subscription?

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

Graphic: http://www.007.com/characters/the-bonds/

SSIMeetup.org

19 of 73

Completeness: Telegraph Accepts Proof

Here is a

Zero-Knowledge Proof

Today’s news?

Today’s news?

Who are you?

Do you have a subscription?

Credit to Anna Lysyanskaya for the 007 metaphor

Graphic: http://www.007.com/characters/the-bonds/

Completeness

  • Verifier is convinced of true statement

SSIMeetup.org

20 of 73

Soundness

Credit to Anna Lysyanskaya for the 007 metaphor

Graphic: https://en.wikipedia.org/wiki/M_(James_Bond)

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

21 of 73

ZKP Illustration

Interactive ZKP

SSIMeetup.org

22 of 73

Zero-Knowledge Proof Illustration�Matthew Green

Telecom Company

  • Cell towers
  • Vertices
  • Avoid signal overlap
  • Use 1 of 3 signals

SSIMeetup.org

23 of 73

Zero-Knowledge Proof Illustration�Matthew Green

3-Color Graph Problem

  • Use colors to represent frequency bands
  • Solve for 1,000 towers
  • Hire Brain Consulting

SSIMeetup.org

24 of 73

Zero-Knowledge Proof Illustration�Matthew Green

Proof of Solution

  • Prove have solution without revealing it
  • Hats hide the solution

SSIMeetup.org

25 of 73

Zero-Knowledge Proof Illustration�Matthew Green

Proof of Solution

  • Remove any two hats
  • See vertices are different colors

SSIMeetup.org

26 of 73

Zero-Knowledge Proof Illustration�Matthew Green

Repeat this process

    • Clear previous solution
    • (Add randomness)
    • Solve again
    • Telecom removes two hats

Accept or Reject

    • Complete for preset number of rounds
    • Telecom accepts or rejects

6

4

SSIMeetup.org

27 of 73

ZKP Variants

Examples

SSIMeetup.org

28 of 73

Examples of ZKP Variants

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

29 of 73

Trusted Setup�Zcash example

Multi-Party Computation (MPC) Ceremonies

Zcash Sprout (2016)

Six participants in the ceremony:

  • Andrew Miller
  • Peter Van Valkenburgh
  • John Dobbertin (pseudonym)
  • Zooko Wilcox
  • Derek Hinch
  • Peter Todd

Zcash Sapling (2017-2018)

  • 87 Participants

Private transactions in Zcash rely on zk-SNARK public parameters for constructing and verifying zero-knowledge proofs

  • Generating zk-SNARK public parameters is equivalent to generating a public/private key pair
    • Keep public key
    • Destroy private key
  • If an attacker gets a copy of the private key, could
      • Create counterfeit Zcash
      • Not violate anyone else’s privacy
      • Not steal other people’s Zcash

SSIMeetup.org

30 of 73

ZKP Examples

Digital Identity

SSIMeetup.org

31 of 73

ZKP Flexibility, Variety of Use Cases

  • Range proofs
    • Age range: 25-45 years old
  • Set membership
    • Citizen of European Union
  • Comparison
    • Do identity attributes or secrets match?
  • Computational integrity

Logical combination of any of the above

Preserve Privacy

SSIMeetup.org

32 of 73

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.)

Compare identity attributes

without transferring them

SSIMeetup.org

33 of 73

Graph Isomorphism ZKP��

Passport

Driver’s License

National ID

Relying

Party

Authoritative Sources

No personal data leaves mobile phone or authoritative source

Verifier

34 of 73

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

35 of 73

Designated Verifier

Designated-Verifier

Non-Interactive

Zero-Knowledge Proof of Knowledge (DVNIZK)

  • Know verifier in advance
  • Provides efficient, privacy-preserving authentication

EUROCRYPT 2018

SSIMeetup.org

36 of 73

ZKP Identity-Related Landscape�Identity Verification, Authentication

37 of 73

Considerations

SSIMeetup.org

38 of 73

ZKP Considerations�Depends on Implementation or Use Cases

  • Transparent
    • Setup with no reliance on any third party
    • No trapdoors
  • Scalable
    • Verify proofs exponentially faster than database size
  • Succinct
  • Universal
  • Compliant with upcoming ZKP standards
  • Interactive, non-interactive

  • Support for IoT or cars
  • Security (threat model)
    • Code bugs, compromise during deployment, side channel attacks, tampering attacks, MiTM
    • Manual review, proof sketches, re-use gadgets, emerging tools for formal verification, testing
    • ZKP protocol breach, how detect breach?
  • Third-party audit
    • Monero audits: Kudelski Security $30K, Benedikt Bünz, QuarksLab
  • Post-quantum secure

SSIMeetup.org

39 of 73

Timeline

1985

Goldwasser, Micali, Rackoff paper

2018

ZKP Standards Organization

2012

Goldwasser, Micali win Turing Award

It is Still Early Days

40 of 73

ZKP Standards

I think you should be more

explicit here in step two

ZKProof.org

  • Open initiative
  • Industry, academia
  • Framework for a formal standard of Zero-Knowledge Proofs
  • Working drafts:
    • Security
    • Implementation
    • Applications

41 of 73

ZKP Standards

ZKProof Standards Applications Track Proceedings

  • Identity Framework, Protocol Description, Functionality
      • Third-party anonymous and confidential attribute attestations through credential issuance by the issuer
      • Confidentially proving claims using Zero-Knowledge Proofs through the presentation of proof of credential by the holder
      • Verification of claims through Zero-Knowledge Proof verifications by the verifier
      • Unlinkable credential revocation by the issuer

Plus:

  • Credential transfer
  • Authority delegation
  • Trace auditability

42 of 73

ZKP Standards

ZKProof Workshop at Zcon0

  • Legal questions
    • If a robber shows a ZKP that they hold my coins, who legally owns them?*
  • Trust

43 of 73

Trust

Technical people that trust ZKPs because they understand the math

Non-technical people who trust the technical people

How bridge this gap?

SSIMeetup.org

44 of 73

Resources

SSIMeetup.org

45 of 73

ZKP Resources

  • ISO/IEC 9798-5
  • Letter to NIST
  • Code
    • libSNARK C++ library
    • libSTARK C++ library
    • Bulletproofs using Ristretto, Rust library
  • Succinct Computational Integrity and Privacy Research (SCIPR) Lab
  • Stanford Applied Cryptography
  • ZKP Science
  • ZKP Standards Organization
  • References: 4 backup slides at end of this presentation

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

46 of 73

Gratitude

ZKP Inventors, Pioneers

SSIMeetup.org

47 of 73

We Stand on the Shoulders of Giants

Shafi Goldwasser

Eli Ben-Sasson

Silvio Micali

Matthew Green

48 of 73

���@Safe_SaaS���

Questions?

Clare_Nelson @ ClearMark . biz

SSIMeetup.org

49 of 73

Mathematics

SSIMeetup.org

50 of 73

Bulletproof

Range Proof Protocol

51 of 73

Backup Slides

SSIMeetup.org

52 of 73

Known Vulnerabilities

An Example

SSIMeetup.org

53 of 73

Zero-Knowledge Range Proof (ZKRP)

Validate

  • Person is 18-65 years old
    • Without disclosing the age
  • Person is in Europe
    • Without disclosing the exact location

SSIMeetup.org

54 of 73

ZKRP Vulnerability

  • Madars Virza
  • “The publicly computable value y/t is roughly the same magnitude (in expectation) as w^2 * (m-a+1)(b-m+1). However, w^2 has fixed bit length (again, in expectation) and thus for a fixed range, this value leaks the magnitude of the committed value.”
  • The proof is not zero knowledge
  • Response: will find alternative ZKP

55 of 73

If you have a PC,

you may have touched

Zero-Knowledge Proof

(TPM 1.2)

SSIMeetup.org

56 of 73

References

57 of 73

References

58 of 73

References

59 of 73

References

60 of 73

Graph Isomorphism

G and H are isomorphic graphs

SSIMeetup.org

61 of 73

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

62 of 73

Graph Isomorphism ZKP (GIZKP)�Cornell University, 2009

SSIMeetup.org

63 of 73

EUROCRYPT 2018

 

Efficient Designated-Verifier Non-Interactive Zero-Knowledge Proofs of Knowledge

    • Pyrros Chaidos (University of Athens), Geoffroy Couteau (Karlsruhe Institute of Technology) 

Quasi-Optimal SNARGs via Linear Multi-Prover Interactive Proofs

    • Dan Boneh (Stanford), Yuval Ishai (Technion and UCLA), Amit Sahai (UCLA), David J. Wu (Stanford) 

On the Existence of Three Round Zero-Knowledge Proofs

    • Nils Fleischhacker (Johns Hopkins University and Carnegie Mellon University), Vipul Goyal (Carnegie Mellon University), Abhishek Jain (Johns Hopkins University) 

An Efficiency-Preserving Transformation from Honest-Verifier Statistical Zero-Knowledge to Statistical Zero-Knowledge

    • Pavel Hubáček (Charles University in Prague), Alon Rosen (IDC Herzliya), Margarita Vald (Tel-Aviv University)

Partially Splitting Rings for Faster Lattice-Based Zero-Knowledge Proofs

    • Vadim Lyubashevsky (IBM Research - Zurich), Gregor Seiler (IBM Research - Zurich)

SSIMeetup.org

64 of 73

Schnorr NIZK (IETF Draft)

The Schnorr NIZK proof is obtained from the interactive Schnorr identification scheme through a Fiat-Shamir transformation

  • This transformation involves using a secure cryptographic hash function to issue the challenge instead

SSIMeetup.org

65 of 73

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 Vthere 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

66 of 73

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

67 of 73

You can have security without privacy,

but you can’t have privacy without security.

Carolyn Herzog, EVP and General Counsel, ARM

SSIMeetup.org

68 of 73

ZKP Variations

  • GMR defined knowledge as the computational power of a party
  • Differentiates “knowledge” from “information”
  • Knowledge is coupled with computational power

69 of 73

  • One-Round ZKP
  • Pairing-Based Non-Interactive Arguments
  • Perfect ZKPs
  • Private-coin ZKP
  • Public-coin ZKP
  • Scalable Transparent Argument of Knowledge (STARK)
  • Scalable Transparent IOP of Knowledge (STIK)
  • Schnorr Non-Interactive Zero-Knowledge Proof
  • Statistical Zero-Knowledge
  • Succinct Interactive Proof (SCIP)
  • Succinct Non-Interactive Argument (SNARG)
  • Succinct Non-Interactive Argument of Knowledge (SNARK)
  • Super-Perfect ZKP
  • Symbolic Zero-Knowledge Proof
  • Three-Round ZKP
  • ZK Arguments 
  • ZKP Based on Graph Isomorphism
  • ZKP of Proximity (ZKPP)

Examples: ZKP Variations, Terminology

 

SSIMeetup.org

70 of 73

Non-Interactive Zero-Knowledge Proof

zk-SNARK Proof

SSIMeetup.org

71 of 73

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

72 of 73

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

73 of 73

ZKP Challenges

  • Requires expertise and experience
    • PhD mathematics or cryptography
    • Algebraic cryptography, high-performance computation in finite fields
    • Applications of modern algebra to algorithms and computer science
  • Correct usage
  • Security, threat model
  • Audited code, formal verification
  • Known bugs and vulnerabilities

SSIMeetup.org