on the in security of snark s
play

On the (In)security of SNARK s in the Presence of Oracles Anca - PowerPoint PPT Presentation

On the (In)security of SNARK s in the Presence of Oracles Anca Nitulescu, Dario Fiore cole Normale Suprieure, CNRS and INRIA, Paris, France Delegate NP computation m Delegate NP computation m Proof ? Arguments of knowledge Succinct


  1. On the (In)security of SNARK s in the Presence of Oracles Anca Nitulescu, Dario Fiore École Normale Supérieure, CNRS and INRIA, Paris, France

  2. Delegate NP computation m

  3. Delegate NP computation m Proof ?

  4. Arguments of knowledge

  5. Succinct Non-Interactive Arguments of Knowledge Efficiency Succinctness Non - Interactivity

  6. SECURITY: PROOF OF KNOWLEDGE crs, aux crs, aux

  7. Non-Black-Box Extraction crs, aux crs, aux Adversary extractor SNARK

  8. Overview Starting Point ● Protocols with SNARKs ● Security proofs: settings where extraction is problematic ● Need of new security notion: O-SNARK Study of O-SNARKs ● Impossibility result ● Some “restrictive” instantiations from classical SNARKs ● Applications where O-SNARK is useful

  9. Case Study Application Proving Knowledge of Signatures (m, σ) m sk

  10. Case Study Application Proving Knowledge of Signatures (m, σ) (m, σ) {(m, σ)}

  11. Case Study Application Proving Knowledge of Signatures SNARK SNARK ∃ (m, σ) Vfy(m,σ)=1 P(m)=1

  12. Case Study Application Proving Knowledge of Signatures SNARK P(m)=1 Ver(m, σ)=1 (m, σ)

  13. Case Study Application Proving Knowledge of Signatures Security Proof ? SNARK

  14. Security Proof Unforgeability of Σ Proof of knowledge of Π R m (m, σ) π ∃ (m, σ) Vfy(vk,m,σ)=1 P(m)=1 KeyGen(λ): (sk, vk) Gen(λ): crs Sign(sk, m): σ Prove(crs, y, (m, σ)): π Vfy(vk, m, σ): 0 / 1 Ver(vk, y, π): 0 / 1

  15. Security Proof Breaks proof of (m*, σ*) knowledge of Π SNARK P(m*)=0 / Type I π Vfy(m*, σ*)=0 (m*, σ*)

  16. Security Proof Forgery on Σ ! (m*, σ*) P(m*)=1 SNARK SNARK Vfy(m*, σ*)=1 Type II π (m*, σ*) (m*, σ*)

  17. Security Proof SNARK Oracle cheating Σ- Forger prover

  18. Security Proof Σ Π crs, vk vk crs, aux crs←$

  19. Security Proof m Σ Π m vk crs, aux

  20. Security Proof Σ Π m m,σ vk crs, aux

  21. Security Proof Σ Π (m, σ) m,σ vk crs, aux

  22. Security Proof SNARK (m*, σ*) m*, σ* P(m*)=1

  23. Security Proof extractor SNARK (m*, σ*) m*, σ* P(m*)=1 Forgery !

  24. Extraction with Oracles ? Standard Proof of Knowledge crs, aux crs, aux SNARK m*,σ* (m*, σ*) P(m*)=1

  25. Extraction? crs, aux crs, aux SNARK ? (m*, σ*) P(m*)=1

  26. Extraction? crs, aux crs, aux SNARK (m*, σ*) P(m*)=1

  27. Non-Black-Box Extraction crs, aux m

  28. Non-Black-Box Extraction crs, aux m sk

  29. Non-Black-Box Extraction sk ? crs, aux sk Σ- Forger m sk crs, aux sk

  30. Our Contributions PROTOCOLS: Tool to prove knowledge -> SNARK Main problem -> Security proofs with ORACLEs

  31. Our Contributions -SNARK SOLUTION: New security notion -> O-SNARK Proof of knowledge -> Extraction with ORACLEs

  32. Our Contributions Σ p -SNARK STUDY: Impossibility -> Extraction is NOT feasible for all ORACLEs

  33. Our Contributions Σ p -SNARK Good news: O-SNARKs exist! -> constructions -> applications

  34. O-SNARK Definition qt crs, aux crs, aux

  35. Impossibility Theorem

  36. SNARK Π for NP Signature Scheme Σ Σ Π m m, σ R π (h, x), w h(w) = x KeyGen(λ): (sk, vk) Gen(λ): crs Sign(sk, m): σ = Σ (m) Prove(crs, (h, x), w): π Vfy(vk, m, σ): 0 / 1 Ver(vk, (h, x), π): 0 / 1

  37. Σ p counterexample signature scheme regular signing I m σ = Σ (m)

  38. Σ p counterexample signature scheme m σ = Σ (m) I sampling hash preimage h ← II w ← {0,1}* x = h(w)

  39. Σ p counterexample signature scheme interpreting m as a program m σ = Σ (m) I III m P( ⋅ , ⋅ ) h ← II w ← {0,1}* x = h(w)

  40. Σ p counterexample signature scheme m P( ⋅ , ⋅ ) m σ = Σ (m) I III proving knowledge of preimage h ← IV II w ← {0,1}* x = h(w) P (x, w) π |π|<p(λ)

  41. Σ p counterexample signature scheme m P( ⋅ , ⋅ ) m σ = Σ (m) I III P (x, w) π h ← IV II w ← {0,1}* x = h(w) |π|<p(λ)

  42. Σ p counterexample signature scheme m → σ*

  43. Σ p counterexample signature scheme m → σ* σ σ ← Σ (m) Σ

  44. Σ p counterexample signature scheme m → σ* σ h h ←

  45. Σ p counterexample signature scheme m → σ* w ← {0,1}* σ h x x = h(w)

  46. Σ p counterexample signature scheme m → σ* σ h x π P

  47. Σ p counterexample signature scheme σ* σ h x π

  48. Non-Existence of Extractors for O Σ p Π query m = Prove( crs, ⋅ , ⋅ ) σ* = (σ, h, x, π) answer π = Prove( crs, (h, x), w )

  49. O-SNARK Adversary Π ((h, x), π) query m = Prove( crs, ⋅ , ⋅ ) σ* = (σ, h, x, π) answer π = Prove( crs, (h, x), w )

  50. Target Collision Resistance Adversary query m Π answer

  51. Target Collision Resistance Adversary ((h, x), π) Π π = Prove( crs, (h, x), w )

  52. Non-Existence of Extractors for O Σ p Target Collision on h

  53. Σ p Existence of O-SNARK ● O-SNARK s do not exist for all Oracles ● Overcome the impossibility? ● “Break” the adaptive power of the adversary

  54. Existence of O-SNARK Random Oracle Model ● Micali’s CS proofs are O-SNARKs in ROM ● Hash & Sign Oracles allow O-SNARKs Standard Model ● Signing oracles with polynomial message space ● Non-Adaptive O-SNARKs: queries declared in advance

  55. Applications of O-SNARK ● Succinct Functional Signatures [BGI14] ● Homomorphic Signatures [BF11] ● SNARKs on Authenticated Data [BBFR15]

  56. Open Questions ● Artificial counterexamples: Find “more natural” ones? ● For what classes of signature oracles O-SNARKs exist? ● Find other “ benign ” Oracles that allow O-SNARKs?

  57. Summary Starting Point ● Protocols with SNARKs ● Security proofs: settings where NO extraction -SNARK ● New security notion: O-SNARK Study of O-SNARKs Σ p ● Impossibility result for Σ p ● Some “restrictive” instantiations from SNARKs ● Applications where O-SNARK is useful

  58. Thank you

Recommend


More recommend