outsourced storage proofs of retrievability
play

Outsourced Storage & Proofs of Retrievability Hovav Shacham, UC - PowerPoint PPT Presentation

Outsourced Storage & Proofs of Retrievability Hovav Shacham, UC San Diego Brent Waters, SRI International The Setting Client stores (long) file with server - Wants to be sure its actually there Motivation: online backup; SaaS


  1. Outsourced Storage & Proofs of Retrievability Hovav Shacham, UC San Diego Brent Waters, SRI International

  2. The Setting • Client stores (long) file with server - Wants to be sure it’s actually there • Motivation: online backup; SaaS • Long-term reliable storage is expensive

  3. Example Protocols ( h = h ( M )) ( M ) V P M ? = h ( · ) h Kotla,Alvisi, Dahlin, Usenix 2007: ( M ) ( M ) V P c h ( c � M ) ? h ( c � M ) = ·

  4. How do we evaluate protocols of this sort?

  5. Systems Criteria • Efficiency: - Storage overhead - Computation (including # block reads) - Communication • Unlimited use • Stateless verifiers • Who can verify? File owner? anyone?

  6. Crypto criterion • Only an adversary storing the file can pass the verification test • Possible to extract M from any prover P' via black-box access • (Cf. ZK proof-of-knowledge) • Insight due to Naor, Rothblum, FOCS 2005 and Juels, Kaliski, CCS 2007

  7. Security Model — I • Keygen: output secret key sk • Store ( sk, file M ): output tag t , encoded file M* • Proof-of-storage protocol: � � { 0, 1 } ← V ( sk, t ) � P ( t, M ∗ ) • Public verifiability: - Keygen outputs keypair ( pk , sk ) - Verifier algorithm takes only pk

  8. Security Model — II • Challenger generates sk • Adversary makes queries: - “store M i ” ⇒ get t i , M i * - “protocol on t i ” ⇒ interact w/ V ( sk , t i ). • Finally, adversary outputs: - challenge tag t from among { t i } - description of cheating prover P' for t

  9. Security Model — III • Security guarantee: ∃ extractor algorithm Extr st. when �� � V ( sk, t ) � P � � = 1 ≥ � we have Extr ( sk, t, P � ) = M except with negligible probability

  10. Probabilistic Sampling • Want to check 80 blocks at random, not entire file • Pr[ detect 1-in-10 6 erasure ]: < 0.01% • Pr[ detect 50% erasure ]: 1 - (1/2) 80 • So: encode M ⇒ M * st. any 1/2 of blocks suffice to recover M : erasure code • Due to Naor, Rothblum, FOCS 2005

  11. The Simple Solution • Store: - erasure encode M ⇒ M * - for each block m i of M *, store authenticator σ i = MAC k ( i , m i ) • Proof of storage: { ( m i , σ i ) } n � � ( k ) V P i = 1 I ⊆ [ 1, n ] ( | I | = 80 ) { ( m i , σ i ) } i ∈ I ? = MAC k ( i, m i ) σ i

  12. Lower communication using homomorphic authenticators

  13. Improved Solution (Try #1) • Downside to simple solution: response is 80 blocks, 80 authenticators • Let’s send Σ m i instead! { ( m i , σ i ) } n � � ( k ) V P i = 1 I ⊆ [ 1, n ] ( | I | = 80 ) � � σ = i ∈ I σ i µ = i ∈ I m i

  14. Improved Solution (Try #1) • Downside to simple solution: response is 80 blocks, 80 authenticators • Let’s send Σ m i instead! { ( m i , σ i ) } n � � ( k ) V P i = 1 I ⊆ [ 1, n ] ( | I | = 80 ) � � σ = i ∈ I σ i µ = i ∈ I m i ???

  15. Homomorphic Authenticators • Problem: have linear combination of messages m i • Need to authenticate via some function of { σ i } • Ateniese et al., CCS 2007: RSA-based homomorphic authenticators; authenticates � i σ ν i � i ν i m i i

  16. Our Contributions 1. Efficient homomorphic authenticators based on PRFs and on bilinear groups 2. A full proof for (improved) simple protocol, against arbitrary adversaries

  17. PRF Authenticator • PRF f : {0,1}* → K ; m i ∈ K ; K: GF(2 80 ) or Z p • Keygen: PRF key k ; α ∈ K • Authenticate: σ i ← f k ( i ) + α · m i • Aggregate: � � σ ← ν i σ i µ ← ν i m i • Verify: ? � = ν i f k ( i ) + αµ σ

  18. BLS Authenticator • Bilinear map e : G 1 × G 2 → G T , 〈 u 〉 = G 1 . • Keygen: sk: x ∈ Z p ; pk: v = g 2 x ∈ G 2 . H ( i ) u m i � x • Authenticate: � σ i ← • Aggregate: � � σ ν i σ ← µ ← ν i m i i • Verify: � � ? � H ( i ) ν i , v e ( σ, g ) = e u µ ·

  19. Improved Solution (Try #2) { ( m i , σ i ) } n � � ( k, α ) V P i = 1 I ⊆ [ 1, n ] ( | I | = 80 ) ν i ← K i ∈ I Q = { ( i, ν i ) } � µ ← ν i m i ( i,ν i ) ∈ Q � σ ← ν i σ i µ, σ ( i,ν i ) ∈ Q ? � = ν i f k ( i ) + α µ σ ( i,ν i ) ∈ Q

  20. Communication & storage • PRF solution: 80-bit µ , 80-bit σ • BLS solution: 160-bit µ , 160-bit σ • But: 100% storage overhead • Storage/communication tradeoff: - split each block into s sectors - one authenticator per block: - response: (1+ s ) × 80 bits [or × 160 bits] - storage overhead: 1/ s

  21. The proof of security

  22. Security Proof Outline 1. “Straitening”: whenever (µ, σ ) verify correctly, µ was computed as Σν i m i 2. “Extraction”: can extract 1/2 of blocks from prover P' that outputs µ= Σν i m i on ε -fraction of queries, ⊥ otherwise 3. “Decoding”: recover M from any 1/2 of M * blocks

  23. Attack on Improved Solution Try #1 • Attacker picks index i * • For i ≠ i*, sets a i ← ±1, stores m' ← m i + a i m i * • for query I st. i * ∉ I , compute µ � = � � � m � i = ( m i + a i m i ∗ ) = µ + m i ∗ a i i ∈ I i ∈ I i ∈ I • this is correct if #(+1) = #(-1) in Σ a i : � 80 � 1 � � � Pr 0 = i ∈ I a i 2 80 ≈ 8.89 · = 40

  24. Attack (cont.) Attacker knows dim ( n -1) subspace:  1 0 ± 1  · · ·   1 ± 1       ± 1       1 ± 1   0 1 ± 1 · · · But he doesn’t know any single block!

  25. Conclusion • Homomorphic authenticators from PRFs, BLS • “Improved Solution, Try #2”: - compact response (& query in r.o. model) - secure against arbitrary adversarial behavior • Security requires proof — some okay-looking schemes are insecure http://cs.ucsd.edu/~hovav/papers/sw08.html

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend