280 likes | 395 Views
On Round-Optimal Zero Knowledge in the Bare Public Key Model. Alessandra Scafuro and Ivan Visconti University of Salerno ITALY. FOCUS: Round-Optimal (4 rounds) concurrent and resettable Zero Knowledge in the Bare Public Key Model. have already been achieved:.
E N D
On Round-Optimal Zero Knowledge in the Bare Public Key Model Alessandra Scafuro and Ivan Visconti University of Salerno ITALY
FOCUS: Round-Optimal (4 rounds) concurrent and resettable Zero Knowledge in the Bare Public Key Model have already been achieved: • Round-optimal Resettable ZK: • (complexity leveraging) • [MR01] only sequential soundness, • [DPV04] concurrent soundness, • [YZ07] under generic assumptions. • Round-optimal Concurrent ZK: • (standard assumptions) • [Z03] only sequential soundness, • [DV05] concurrent soundness, • [V06] efficiently, • [D09] minimal assumptions, • [YZ10] sophisticated notion of argument of knowledge. What do we do in this paper ?
Our Contribution • Point-out a subtle issue in the zero knowledge proof of allround-optimal (concurrent and resettable) protocols. • Alternative proof? Protocol’s structure of almost all round-optimal protocols makes problematic the design of any simulator. • Exceptions: could admit alternative simulators: • Resettable ZK of [YZ07]: uses complexity leveraging. • Concurrent ZK of [Z03]: only sequential soundness. • New round-optimal concurrent ZK with concurrent soundness and standard assumptions. • The same protocol admits efficient implementation. • Round-optimal resettable ZK (similar to [YZ07]), with a new proof.
Outline • Definitions • Concurrent Zero Knowledge • Bare Public Key (BPK) Model • Concurrent Zero Knowledge and Soundness in the BPK model • Round-optimal Concurrent Zero Knowledge: • the issue of all zero-knowledge simulators • the difficulty of designing any alternative simulator • Our technique
Zero knowledge Interactive Proofs(standard model) (x,w) ∈ RL x ∈ L V P Completeness: if both P and V are honest, V accepts the proof. Soundness: if the theorem is false any P* cannot convince V. Zero Knowledge: (intuition) any V* learns nothing but the fact that the theorem is true.
Zero Knowledge (stand-alone) V* does not learn anything? x ∈ L x, witness V* P Sim Output Output rewind V* Coins V* Coins V* Black Box Sim: rewind V* Stand-alone : V* opens a single session
Concurrent Zero Knowledge More realistic setting: V* can open many sessions concurrently. P Session 1 V* V* Session 2 Session 3 V* V* Session 4 Upon seeing a new msg, V* adaptively plays new sessions
Constant-round concurrent black-box Zero Knowledge (cZK) in the standard model is impossible [CKPR01]. Achieving black-box constant-round cZK requires setup assumptions.
Bare Public Key Model Introduced in STOC 2000 by Canetti, Goldreich, Goldwasser, Micali Assumption: each verifier must be associated with a permanent public key, registered before any proof starts. Public file Registration Phase register VID1 (SK1) PKID1 • Non-interactive • Fully controlled by V* • No trusted party involved register VIDi(SKi) PKIDi Proof Phase Public file • V* can still open an unbounded (poly) number of sessions. • V* has full control of the schedule • Restriction: V* cannot play with identity not in public file. P IDi V* IDi ? V* IDi IDk? V* IDk
Achieving constant-round concurrent ZK in the BPK model x ∈ L (x,w) ∈ RL SKID PKID VID P 1-πV VID uses its secret SKID in 3-πV. (extractable through rewinds) 2-πV 3-πV Concurrent Zero Knowledge Sim: • gets SKID by rewinding πV 1-πP • runs πP in straight-line using SKID P convinces VID if 1) it knows witness OR 2) it knows SKID 2-πP • once SKID is extracted, all sessions played with VID are run in straight-line 3-πP • poly: number of extraction bounded by number of identities. “is able to compute something computable only with knowledge of SKID “
Concurrent Soundness in the BPK model SKID IDEA: if known, the secret SKID should be used already in the first msg1-πP . VID P* PKID 1-πV 2-πV 1-πP Proving concurrent soundness: rule out MiM Attack (SKID) Concurrent executions 3-πV 1-πV SKID VID 1-πP MiM 2-πP 2-πV 3-πV 3-πP P convinces VID if 1) it knows witness OR 2) it knows SKID Concurrent Zero Knowledge Still preserved. Sim extracts the secret before having to play the first msg1-πP .
Concurrent Zero Knowledge and Soundness (PKID, w) VID P SKID 1-πV 2-πV 3-πV (SKID) 1-πP 2-πP 3-πP
Outline • Definitions • Concurrent Zero Knowledge • Bare Public Key (BPK) Model • Concurrent Zero Knowledge and Soundness in the BPK model • Round-optimal Concurrent Zero Knowledge: • the issue of all zero-knowledge simulators • the difficulty of designing any alternative simulator • Our technique
Round-Optimal (4 rounds) Concurrent Zero Knowledge and Soundness (PKID, w) SKID VID P 1-πV 2-πV 3-πV The secret is used before VIDcompletes its protocol. Sim has to play the msg dependent on SKIDwithout knowing it yet. 2-πP (SKID) 1-πP 3-πP Concurrent Simulator?
Concurrent Simulator in Literature all (published) simulators follow this strategy. Simulation in phases V*ID When playing with an “unresolved” identity: Sim 1-πV “bad” 1-πP 2-πV 1) Play a “bad” first message 2) Extract the secret needed to solve the session. 2-πP 3-πV 3) Start simulationfrom scratch (a new phase) with knowledge of one more secret SKID. Number of phases = number of identities (poly) Our contribution: Such simulation approach leads to a distinguishable distribution.
A dummy attack Session 1 V* P Schedule 1-πV 2-πV (SKID) 1-πP Session 2 1-πV 2-πV (SKID) 1-πP 2-πP 3-πV 3-πP 3-πV 2-πP 3-πP
A dummy attack V* Strategy Session 1 V* P 1-πV V* aborts Session 1 with prob. 1/2 V* aborts Session 2 with prob. 1/2 (taken over the transcript seen so far) 2-πV (SKID) 1-πP Session 2 1-πV 2-πV (SKID) 1-πP 2-πP 3-πV 3-πP 3-πV 2-πP 3-πP
A dummy attack V* Strategy Session 1 V* P 1-πV V* aborts Session 1 with prob. 1/2 V* aborts Session 2 with prob. 1/2 (taken over the transcript seen so far) 2-πV (SKID) 1-πP Session 2 1-πV Prob. Abort in Real Game 2-πV (SKID) 1-πP Pr [Abort S1] x Pr[Abort S2] = 1/2 x 1/2 = 1/4
A dummy attack V* Strategy Session 1 V* Sim 1-πV V* aborts Session 1 with prob. 1/2 V* aborts Session 2 with prob. 1/2 (taken over the transcript seen so far) 2-πV (SKID) 1-πP Session 2 1-πV Prob. Abort in Real Game 2-πV (SKID) 1-πP 1) Extract secret to solve Session 1 Pr [Abort S1] x Pr[Abort S2] = 1/2 x 1/2 = 1/4 2-πP 3-πV Prob. Abort Simulation Case 1. Pr [Abort S1] x Pr[Abort S2] = 1/2 x 1/2 = 1/4 Case 2. Pr[Abort S2] x Pr[NOT Abort S1]
A dummy attack 2) Start the simulation from scratch with knowledge of secret. Session 1 V* Sim V* Strategy 1-πV V* aborts Session 1 with prob. 1/2 V* aborts Session 2 with prob. 1/2 (taken over the transcript seen so far) Session 2 1-πV 1-πP 2-πV Prob. Abort in Real Game 2-πV transcript changes (SKID) 1-πP Pr [Abort S1] x Pr[Abort S2] = 1/2 x 1/2 = 1/4 Prob. Abort Simulation Case 1. Pr [Abort S1] x Pr[Abort S2] = 1/2 x 1/2 = 1/4 Case 2. xPr[Case 1] Sim outputs two aborts with probability at least Case 1 + Case 2 > Real Game Pr[Abort S2] x Pr[NOT Abort S1] = 1/2 x 1/2 x 1/4 = 1/16
Simulation in phases yields a distinguishable output. Alternative Simulation Strategies? • Trivially, there exists a simulator for the dummy V* seen so far. • what about more sophisticated V* that aborts with different probability in different sessions….?
The problem: the protocol’s structure of round-optimal protocols P VID • Remark • Protocols that do not follow this structure could admit alternative strategies: • resZK [YZ07] complexity leveraging. • cZK [Z03]: only sequential soundness. “bad” first msg 1-πV “good” first msg 2-πV (SKID) 1-πP 2-πP 3-πV 3-πP • In order to “solve” a session (played with a new identity) Simhas to change the view of the verifier (first play a bad msg, then a good msg) • changing the view of V* skews the output distribution. designing a successful simulation strategy seems problematic.
Outline • Definitions • Concurrent Zero Knowledge • Bare Public Key (BPK) Model • Concurrent Zero Knowledge and Soundness in the BPK model • Round-optimal Concurrent Zero Knowledge: • the issue of all zero-knowledge simulators • the difficulty of designing any alternative simulator • Our technique
Our round-optimal concurrent ZK “permanent secret SKID” SKID (PKID, w) VID P pick (PKtemp ,SKtemp) randomly 1-πV PKtemp 1-πtemp Make SKtempextractable through rewinds PKtemp( ) 2-πtemp 2-πV 3-πV 3-πtemp (SKID)1-πP - witness OR is accepting if P knows either: 2-πP (SKID) 1-πP - permanent secret SKID OR 3-πP (used already in the first round) - temporary secret key SKtemp (used only in the third round) KEY IDEA. Temporary secret key Sktempis used only in the last msg3-πP. (only after the extraction)
The simulator “permanent secret SKID” SKID P VID 1-πV PKtemp 1-πtemp PKtemp( ) 2-πtemp 2-πV 3-πV 3-πtemp (SKID)1-πP 2-πP (sec)1-πP 3-πP Two-mode simulation (allows to keep the main thread unchanged) • to solve a session initiated by an unknown identity Sim extracts both permanent SKID and temporary key SKtemp, and computes the last msg using Sktemp. • to solve a session initiated by a known identity Sim runs in straight-line computing 3-πP using the permanent secret SKID. • the view of V* in the two modes must be statistically indistinguishable.
Concurrent soundness? SKID VID P* to prove concurrent soundness secret must be used already in the first msg. 1-πV PKtemp 1-πtemp VID PKtemp( ) PK’temp 1-πtemp 2-πtemp 2-πV Proof by witness extraction 3-πV 3-πtemp (SKID)1-πP 2-πP - witness OR ((SKID)1-πP 2-πtemp - permanent secret SKID OR 3-πP Concurrent executions? 3-πtemp key point: the temporary keys used in concurrent sessions are independent. - temporary secret key SKtemp (used only in the third round)
Actual implementation PKID = f(x0), f(x1) SKID = x0,x1 P VID Σ1 pk0,pk1 Σ1 C= com(xb) Pktemp= pk0,pk1, Sktemp = trap0, trap1. TC= TCom(pk0,pk1, Σ1) Σ2 Σ2 Σ3 Σ3 , open TCom as Σ1 Σ2 - Σ1 is the valid opening of TC AND (Σ1, Σ2, Σ3) is accepting. Σ3 VID accepts if: (Σ1, Σ2, Σ3) is accepting iff: • C is the commitment of xbOR • P knowsthe witness • πV πtemp πP are implemented with Sigma Protocols. • TComis a two-round trapdoor commitment scheme. • f is a OWP.