22.04.2014 Views

a590003

a590003

a590003

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

For each i, we can bound Pr[Y i = 1] ≤ ( ⌊δl code<br />

) (<br />

⌋<br />

t /<br />

lcode<br />

)<br />

t ≤ δ t . If we define X = 1 ∑ s<br />

s i=1 X i we also get:<br />

[ s∑<br />

] [<br />

Pr X i < δl code ≤ Pr X < 1/p − (1/p − δl ]<br />

code<br />

)<br />

s<br />

i=1<br />

≤ exp(−2s(1/p − δl code /s) 2 )<br />

≤<br />

exp(−s/p) ≤ 2 −λ<br />

where the second inequality follows by the Chernoff-Hoeffding bound. Therefore Pr[E] ≤ 2 −λ +sδ t = negl(λ)<br />

which proves the lemma.<br />

Use Estimated Success Probability. Instead of looking at the true success probability Succ( ˜S fin ),<br />

which we cannot efficiently compute, let us instead consider an estimated probability ˜Succ( ˜S fin ) which is<br />

computed in the context of ExtGame by sampling 2λ(p(λ)) 2 different “audit protocol executions” between<br />

˜S fin and C fin and seeing on which fraction of them does ˜S succeed (while rewinding ˜S fin and C fin after each<br />

one). Then, by the Chernoff-Hoeffding bound, we have:<br />

[<br />

Pr ˜Succ( ˜S fin ) ≤ 1<br />

2p(λ) ∣ Succ( ˜S fin ) > 1 ]<br />

≤ e −λ = negl(λ)<br />

p(λ)<br />

Combining the above with (4), we get:<br />

[<br />

˜Succ(<br />

Pr<br />

]<br />

fin ) > 1<br />

2p(λ)<br />

∧E ˜S ><br />

fin<br />

(C fin , 1 l , 1 p ) = fail 2 1<br />

p ′ − negl(λ)<br />

(λ)<br />

(5)<br />

Assume Passive Attacker. We now argue that we can replace the active attacker ˜S with an efficient<br />

passive attacker Ŝ who always acts as the honest server S in each protocol execution within the protocol<br />

sequence P and the subsequent audit, but can selectively fail by outputting ⊥ at any point. In particular<br />

Ŝ just runs a copy of ˜S and the honest server S concurrently, and if ˜S deviates from the execution of S, it<br />

just outputs ⊥. Then we claim that, within the context of ExtGameŜ,E , we have:<br />

[<br />

]<br />

˜Succ(Ŝfin) > 1<br />

Pr<br />

2p(λ)<br />

∧EŜfin(C > 1<br />

fin , 1 l , 1 p ) = fail 2<br />

p ′ − negl(λ) (6)<br />

(λ)<br />

The above probability is equivalent for Ŝ and ˜S, up to the latter deviating from the protocol execution without<br />

being detected by the client, either during the protocol execution of P or during one of the polynomially<br />

many executions of the next read used to compute ˜Succ( ˜S) and E ˜S. The probability that this occurs is<br />

negligible, by authenticity of ORAM.<br />

Permuted Extractor. We now aim to derive a contradiction from (6). Intuitively, if fail 2 occurs (but<br />

fail 1 does not), it means that there is some codeword block c j such that Ŝfin is significantly likelier to fail on<br />

a next-read query for which at least one location falls inside c j , than it is for a “random” read query. This<br />

would imply an attack on next-read pattern hiding. We now make this intuition formal. Consider a modified<br />

“permuted extractor” E perm who works just like E with the exception that it permutes the locations used in<br />

the ORead executions during the extraction process. In particular E perm makes the following modifications<br />

to E:<br />

• At the beginning, E perm chooses a random permutation π : [l code ] → [l code ].<br />

• During each of the s iterations of the audit protocol, E perm chooses t indices j 1 , . . . , j t ∈ [l code ] at random<br />

as before, but it then runs ORead(π(j 1 ), . . . , π(j t )) on the permuted values. If the protocol is accepting<br />

the extractor E perm still “fills-in” the original locations: C[j 1 ], . . . , C[j t ] (since we are only analyzing the<br />

event fail 2 we do not care about the values in these locations but only if they are filled in or not).<br />

14<br />

9. Dynamic Proofs of Retrievability via Oblivious RAM

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!