NIZKs with an untrusted CRS: Security in the face of parameter - - PowerPoint PPT Presentation
NIZKs with an untrusted CRS: Security in the face of parameter - - PowerPoint PPT Presentation
NIZKs with an untrusted CRS: Security in the face of parameter subversion Mihir Bellare Alessandra Scafuro Georg Fuchsbauer Asiacrypt 2016 Motivation 2013 compromised security not covered by standard model here: parameter
Motivation
- 2013
- compromised security not covered by standard model
- here: parameter subversion
Motivation
- 2013
- compromised security not covered by standard model
- here: parameter subversion
- example: Dual EC RNG
– “trusted” parameters P, Q – int’l standard; NSA paid RSA $10 million – knowledge of logQ P ⇒ predictable [ShuFer07] ⇒ break TLS [CFN+14]
Motivation
- 2013
- compromised security not covered by standard model
- here: parameter subversion
- goal: subversion resistance
- this work: NIZK, relies on common reference string (
)
- example: zk-SNARK parameters
for Zerocash ( ) [BCG+14]
Related work
NIZK
- 2-move ZK protocols [BLV03, Pass03, BP04, BCPR14]
- NIZK in bare PK model [Wee07]
- CRS via multiparty computation [KKZZ14, BSCG+15]
- UC w/ adv. CRS [CPs07], multiple CRSs [GO07, GGJS11]
Related work
NIZK
- 2-move ZK protocols [BLV03, Pass03, BP04, BCPR14]
- NIZK in bare PK model [Wee07]
- CRS via multiparty computation [KKZZ14, BSCG+15]
- UC w/ adv. CRS [CPs07], multiple CRSs [GO07, GGJS11]
Subversion
- Algorithm-substitution attacks [BPR14, AMV15]
- Kleptography [YY96, YY97], cliptography [RTYZ16]
- Backdoored blockciphers [RP97, PG97, Pat99]
Non-interactive proofs
Prover: x, w Verifier: x
π
/× crs
- let L ∈ NP
- prove x ∈ L
Non-interactive proofs
Prover: x, w Verifier: x
π
Soundness:
π ⇒ x ∈ L crs
Non-interactive proofs
Prover: x, w Verifier: x
Witness-indistinguishability:
π[w] ≈c π[w′]
π
crs
Non-interactive proofs
Prover: x, w Verifier: x
π
crs
Simulator: x, w
×
crs′ π′ Zero-knowledge:
Non-interactive proofs
Prover: x, w Verifier: x
π
crs
Zero-knowledge:
≈s
Simulator: x, w
×
crs′ π′
Subversion-resistant NI proofs
Prover: x, w Verifier: x
π
Subversion Soundness:
π ⇒ x ∈ L crs
Subversion-resistant NI proofs
Prover: x, w Verifier: x
π
Subversion WI:
π[w] ≈c π[w′] crs
Non-interactive proofs
Prover: x, w Verifier: x
π
crs
Zero-knowledge:
≈s
Simulator: x, w
×
crs′ π′
Subversion-resistant NI proofs
Prover: x, w Verifier: x
π
crs
Simulator: x, w
×
crs′,$′ π′ $ Subversion ZK:
≈s
Subversion-resistant NI proofs
Prover: x, w Verifier: x
π
crs
Simulator: x, w
×
π′ $
∀ ∃ ∀ :
- crs, $,
- ≈c
- crs ′, $′,
Our results
S-SND S-ZK S-WI SND ZK WI ❄ ❄ ❄ ✲ ✲
Our results
S-SND S-ZK S-WI SND ZK WI ❄ ❄ ❄ ✲ ✲
Our results
Standard Subversion-resistant Possible? Assumpt’s: SND ZK WI S-SND S-ZK S-WI
Our results
Standard Subversion-resistant Possible? Assumpt’s: SND ZK WI S-SND S-ZK S-WI
- —
Prover: x, w Verifier: x
ε
Our results
Standard Subversion-resistant Possible? Assumpt’s: SND ZK WI S-SND S-ZK S-WI
- —
Prover: x, w Verifier: x
w
w witness for x?
Our results
Standard Subversion-resistant Possible? Assumpt’s: SND ZK WI S-SND S-ZK S-WI
- ?
? ?
Our results
Standard Subversion-resistant Possible? Assumpt’s: SND ZK WI S-SND S-ZK S-WI
- ×
x, π
Breaking S-SND:
π ∧ x / ∈ L crs
(if L is non-trivial)
Our results
Standard Subversion-resistant Possible? Assumpt’s: SND ZK WI S-SND S-ZK S-WI
- ×
x, π′
Breaking S-SND:
π ∧ x / ∈ L crs′
(if L is non-trivial)
Our results
Standard Subversion-resistant Possible? Assumpt’s: SND ZK WI S-SND S-ZK S-WI
- ×
- ?
Our results
Standard Subversion-resistant Possible? Assumpt’s: SND ZK WI S-SND S-ZK S-WI
- ×
- DLin
Non-interactive Zaps [GOS06]
- NI WI proofs
- without CRS
No CRS ⇒ subversion-resistant
Our results
Standard Subversion-resistant Possible? Assumpt’s: SND ZK WI S-SND S-ZK S-WI
- ×
- DLin
- ?
Our results
Standard Subversion-resistant Possible? Assumpt’s: SND ZK WI S-SND S-ZK S-WI
- ×
- DLin
- ?
- implies 2-move ZK (verifier chooses CRS)
⇒ only achieved under extractability assumpt’s [BCPR14]
- construction under new knowledge of exponent assumption
Achieving SND + S-ZK
π
∀ ∃ ∀ :
- crs, $,
- ≈c
- crs ′, $′,
Achieving SND + S-ZK
π
∀ ∃ ∀ :
- crs, $,
- ≈c
- crs ′, $′,
- KEA: ∀
(g, h) → → (gs, hs)
Achieving SND + S-ZK
π
∀ ∃ ∀ :
- crs, $,
- ≈c
- crs ′, $′,
- KEA: ∀
(g, h) → → (gs, hs)
∃
→ → s
Achieving SND + S-ZK
π
∀ ∃ ∀ :
- crs, $,
- ≈c
- crs ′, $′,
- KEA: ∀
(g, h) → → (gs, hs)
∃
→ → s idea: crs trapdoor
Achieving SND + S-ZK
π
∀ ∃ ∀ :
- crs, $,
- ≈c
- crs ′, $′,
- KEA: ∀
(g, h) → → (gs, hs)
∃
→ → s Prove: x ∈ L ∨ “I know s” idea: crs trapdoor
Zap!
Achieving SND + S-ZK
π
∀ ∃ ∀ :
- crs, $,
- ≈c
- crs ′, $′,
- KEA: ∀
(g, h) → → (gs, hs)
∃
→ → s Prove: x ∈ L ∨ “I know s” idea: crs trapdoor
who chooses h?
Achieving SND + S-ZK
π
∀ ∃ ∀ :
- crs, $,
- ≈c
- crs ′, $′,
- DH-KEA:
∀
→ (gs, hs, h = gη)
∃
→ → s OR → η Prove: x ∈ L ∨ “I know s or η”
Achieving SND + S-ZK
π
∀ ∃ ∀ :
- crs, $,
- ≈c
- crs ′, $′,
- crs = (gs, hs, h = gη)
Prove: x ∈ L ∨ “I know s or η”
prove knowledge how?
Achieving SND + S-ZK
π
∀ ∃ ∀ :
- crs, $,
- ≈c
- crs ′, $′,
- crs = (gs, hs, h = gη)
Prove: x ∈ L ∨ “I know s or η”
prove knowledge how? Enc(pk, s)
Achieving SND + S-ZK
π
∀ ∃ ∀ :
- crs, $,
- ≈c
- crs ′, $′,
- crs = (gs, hs, h = gη)
Prove: x ∈ L ∨ “I know s or η”
prove knowledge how? Enc(pk, s) pk
?
Achieving SND + S-ZK
π
∀ ∃ ∀ :
- crs, $,
- ≈c
- crs ′, $′,
- crs = (gs, hs, h = gη)
Prove: x ∈ L ∨ “I know s or η”
prove knowledge how? Enc(pk, s) pk
Achieving SND + S-ZK
π
∀ ∃ ∀ :
- crs, $,
- ≈c
- crs ′, $′,
- crs = (gs, hs, h = gη)
Prove: x ∈ L ∨ “I know s or η”
prove knowledge how? Enc(pk, s) pk + KEA-proof of sk
Our results
Standard Subversion-resistant Possible? Assumpt’s: SND ZK WI S-SND S-ZK S-WI
- ×
- DLin
- DH-KEA
Our results
Standard Subversion-resistant Possible? Assumpt’s: SND ZK WI S-SND S-ZK S-WI
- ×
- DLin
- DH-KEA
- NIZK
Our results
Standard Subversion-resistant Possible? Assumpt’s: SND ZK WI S-SND S-ZK S-WI
- ×
- DLin
- DH-KEA
- NIZK