efficient private file retrieval by combining oram and pir
play

Efficient Private File Retrieval by Combining ORAM and PIR - PowerPoint PPT Presentation

Efficient Private File Retrieval by Combining ORAM and PIR Travis Mayberry Erik-Oliver Blass Agnes Chan 1 Hiding Access Pa>erns Oblivious RAM Private Informa6on


  1. Efficient ¡Private ¡File ¡Retrieval ¡by ¡ Combining ¡ORAM ¡and ¡PIR ¡ Travis Mayberry Erik-Oliver Blass Agnes Chan ¡ ¡ 1 ¡

  2. Hiding ¡Access ¡Pa>erns ¡ Oblivious ¡RAM ¡ Private ¡Informa6on ¡Retrieval ¡ • Communica@on: ¡High ¡ • Communica@on: ¡Low ¡ • Rounds: ¡Mul@ple ¡ • Rounds: ¡One ¡ • Client ¡computa@on: ¡None ¡ • Client ¡computa@on: ¡Low ¡ • Server ¡computa@on: ¡None ¡ • Server ¡computa@on: ¡High ¡ 2 ¡

  3. Contribu@ons ¡ • We ¡introduce ¡a ¡PIR ¡bucket ¡construc@on ¡which ¡allows ¡ recent ¡ORAM ¡protocols ¡to ¡be ¡merged ¡with ¡PIR ¡ • Consider ¡the ¡no@on ¡of ¡an ¡ORAM’s ¡data ¡latency ¡or ¡online ¡ data ¡ – We ¡define ¡latency ¡to ¡be ¡the ¡amount ¡of ¡communica@on ¡required ¡ before ¡the ¡client ¡has ¡full ¡access ¡to ¡the ¡requested ¡data ¡ • Using ¡our ¡bucket ¡construc@on ¡with ¡the ¡tree-­‑based ¡scheme ¡ of ¡Shi ¡et. ¡al., ¡we ¡obtain ¡an ¡ORAM ¡protocol ¡with: ¡ – The ¡lowest ¡communica@on ¡overhead ¡of ¡any ¡constant-­‑client-­‑ memory ¡Oblivious ¡RAM ¡ – Op@mal ¡data ¡latency ¡ • We ¡evaluate ¡our ¡scheme ¡on ¡Amazon ¡AWS ¡and ¡show ¡that ¡it ¡has ¡very ¡ low ¡overall ¡query ¡@me ¡and ¡monetary ¡cost ¡per ¡query ¡ ¡ 3 ¡

  4. Nota@on ¡ • ¡ ¡ ¡ ¡: ¡Number ¡of ¡blocks ¡in ¡the ¡ORAM ¡ n • ¡ ¡ ¡ ¡: ¡Size ¡of ¡each ¡block ¡in ¡bits ¡ ` • ¡ ¡ ¡ ¡: ¡Size ¡of ¡one ¡ciphertext ¡in ¡bits ¡ k Helpful ¡sample ¡values: ¡ n = 2 25 Database = 4 TB ` = 1 MB k = 2048 bits 4 ¡

  5. Shi ¡et ¡al ¡ • First ¡poly-­‑logarithmic ¡worst-­‑case ¡oblivious ¡ RAM ¡ • New ¡tree ¡based ¡construc@on ¡ O ( ` · log 3 n ) • Achieves ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡communica@on, ¡with ¡ rela@vely ¡good ¡constants ¡ • Consists ¡of ¡two ¡phases: ¡data ¡access, ¡and ¡ evic@on ¡ 5 ¡

  6. n 6 ¡

  7. 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ 7 ¡

  8. Bucket ¡ORAM ¡ O (log n ) 8 ¡

  9. Private ¡Informa@on ¡Retrieval ¡ • Tradi@onally ¡very ¡computa@onally ¡expensive, ¡ conjectured ¡that ¡it ¡might ¡never ¡be ¡feasible ¡ [SC07] ¡ • Recently ¡advances ¡in ¡homomorphic ¡ encryp@on ¡have ¡lead ¡to ¡prac@cal ¡schemes ¡ [MBC13][MG08], ¡especially ¡when ¡ ¡ ¡ ¡ ¡ ¡is ¡large ¡ ` compared ¡to ¡ n 9 ¡

  10. Database ¡ Query ¡ = ¡ * ¡ E(0) ¡ X 1,1 ¡ X 1,2 ¡ X 1,3 ¡ X 1,4 ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ * ¡ = ¡ E(1) ¡ X 2,1 ¡ X 2,2 ¡ X 2,3 ¡ X 2,4 ¡ E(X 2,1 ) ¡ E(X 2,2 ) ¡ E(X 2,3 ) ¡ E(X 2,4 ) ¡ = ¡ * ¡ E(0) ¡ X 3,1 ¡ X 3,2 ¡ X 3,3 ¡ X 3,4 ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ * ¡ = ¡ E(0) ¡ X 4,1 ¡ X 4,2 ¡ X 4,3 ¡ X 4,4 ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ + ¡ E(X 2,1 ) ¡ E(X 2,2 ) ¡ E(X 2,3 ) ¡ E(X 2,4 ) ¡ Response ¡ ` O ( nk + ` ) 10 ¡ 10 ¡

  11. To ¡change ¡X i ¡to ¡X’, ¡encrypt ¡“delta”: ¡ Y j ¡= ¡X’ j ¡-­‑ ¡X i,j ¡ Query ¡ Server ¡Side ¡ E(0) ¡ E(Y 1 ) ¡ E(Y 2 ) ¡ E(Y 3 ) ¡ E(Y 4 ) ¡ = ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ * ¡ E(1) ¡ E(Y 1 ) ¡ E(Y 2 ) ¡ E(Y 3 ) ¡ E(Y 4 ) ¡ E(Y 1 ) ¡ E(Y 2 ) ¡ E(Y 3 ) ¡ E(Y 4 ) ¡ = ¡ * ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(Y 1 ) ¡ E(Y 2 ) ¡ E(Y 3 ) ¡ E(Y 4 ) ¡ = ¡ * ¡ E(0) ¡ E(Y 1 ) ¡ E(Y 2 ) ¡ E(Y 3 ) ¡ E(Y 4 ) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ = ¡ * ¡ ` O ( nk + ` ) 11 ¡ 11 ¡

  12. Encrypted ¡Delta ¡ Encrypted ¡Database ¡ = ¡ E(X 1,1 ) ¡ E(X 1,2 ) ¡ E(X 1,3 ) ¡ E(X 1,4 ) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ + ¡ = ¡ E(X 2,1 ) ¡ E(X 2,2 ) ¡ E(X 2,3 ) ¡ E(X 2,4 ) ¡ E(Y 1 ) ¡ E(Y 2 ) ¡ E(Y 3 ) ¡ E(Y 4 ) ¡ + ¡ = ¡ E(X 3,1 ) ¡ E(X 3,2 ) ¡ E(X 3,3 ) ¡ E(X 3,4 ) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ + ¡ = ¡ E(X 4,1 ) ¡ E(X 4,2 ) ¡ E(X 4,3 ) ¡ E(X 4,4 ) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ + ¡ E(X 1,1 ) ¡ E(X 1,2 ) ¡ E(X 1,3 ) ¡ E(X 1,4 ) ¡ E(X’ 1 ) ¡ E(X’ 2 ) ¡ E(X’ 3 ) ¡ E(X’ 4 ) ¡ E(X 3,1 ) ¡ E(X 3,2 ) ¡ E(X 3,3 ) ¡ E(X 3,4 ) ¡ E(X 4,1 ) ¡ E(X 4,2 ) ¡ E(X 4,3 ) ¡ E(X 4,4 ) ¡ 12 ¡ 12 ¡

  13. Bucket ¡ORAM ¡ O (log n ) 13 ¡

  14. PIR ¡Bucket ¡ Bucket ¡ORAM ¡ O (log n ) O ( ` · log n ) O (log n · k + ` ) 14 ¡

  15. PIR ¡Bucket ¡ • Read ¡blocks ¡using ¡linear ¡PIR ¡ • Write ¡blocks ¡using ¡linear ¡PIR-­‑Wri@ng ¡ • Requires ¡only ¡addi@vely ¡homomorphic ¡ encryp@on! ¡ 15 ¡

  16. What ¡does ¡this ¡give ¡us? ¡ • Be>er ¡asympto@c ¡communica@on ¡ O ( ` · log 3 n ) – Old: ¡ ¡ O ( k · log 3 n + ` · log 2 n ) – New: ¡ Worst-Case Practical Worst-Case O ( l · log 3 ( N )) O ( l · log 2 ( N )) Shi et al O ( l · log 2 ( N ) O ( l · log 3 ( N ) Kushilevitz log log( N ) ) O ( k · log 3 ( N ) + l · log 2 ( N ) Path-PIR Additive O ( l · log( N )) Path-PIR FHE O ( k · log( N ) + l · log( N )) O ( k + l ) Optimal O (log( N ) + l ) O (log( N ) + l ) Also ¡interes@ng: ¡good ¡latency! ¡ 16 ¡

  17. 1) ¡Client ¡requests ¡to ¡read ¡block ¡5 ¡ 7 1 6 8 2 5 4 3 17 ¡

  18. 1) ¡Client ¡requests ¡to ¡read ¡block ¡5 ¡ 2) ¡Naïve ¡way: ¡use ¡PIR ¡to ¡retrieve ¡1 st ¡element ¡of ¡each ¡bucket ¡ 7 7 1 1 6 5 8 2 5 4 3 O (( ` + k ) · log n ) 18 ¡

  19. 1) ¡Client ¡requests ¡to ¡read ¡block ¡5 ¡ 2) ¡Naïve ¡way: ¡use ¡PIR ¡to ¡retrieve ¡1 st ¡element ¡of ¡each ¡bucket ¡ 3) ¡Use ¡PIR ¡again ¡to ¡retrieve ¡3 rd ¡element ¡of ¡previous ¡results ¡ 7 7 5 1 1 6 5 8 2 5 4 3 O ( k · log n + ` ) This ¡is ¡op@mal! ¡ 19 ¡

  20. What ¡good ¡is ¡that? ¡ • Latency ¡represents ¡how ¡responsive ¡the ¡ORAM ¡ is ¡to ¡client ¡interac@ons ¡ – If ¡most ¡of ¡the ¡communica@on ¡happens ¡in ¡the ¡ background, ¡aqer ¡the ¡client ¡receives ¡their ¡data, ¡it ¡ is ¡much ¡more ¡acceptable ¡in ¡real ¡world ¡scenarios ¡ • Also ¡allows ¡the ¡client ¡to ¡take ¡advantage ¡of ¡ interes@ng ¡network ¡asymmetries… ¡ 20 ¡

  21. Cell ¡network ¡data ¡is ¡expensive ¡ L ¡ WiFi ¡Data ¡is ¡cheap ¡ J ¡ Complete ¡“bookkeeping” ¡when ¡you ¡ Defer ¡evic@on ¡while ¡you ¡are ¡out ¡ ¡ get ¡home ¡ 21 ¡

  22. Latency Worst-Case Practical Worst-Case O ( l · log 2 ( N )) O ( l · log 3 ( N )) O ( l · log 2 ( N )) Shi et al O ( l · log 2 ( N ) O ( l · log 2 ( N ) O ( l · log 3 ( N ) Kushilevitz log log( N ) ) log log( N ) ) O ( k · log 3 ( N ) + l · log 2 ( N ) Path-PIR Additive O ( k · log( N ) + l ) O ( l · log( N )) Path-PIR FHE O ( k + l ) O ( k · log( N ) + l · log( N )) O ( k + l ) Optimal O (log( N ) + l ) O (log( N ) + l ) O (log( N ) + l ) 22 ¡

  23. Communica@on ¡Comparison ¡ Overall ¡(per ¡query) ¡ Latency ¡(per ¡query) ¡ 1000 10000 500 5000 200 Communication (MB) Communication (MB) 100 Path-PIR 2000 Shi et.al. 50 Path-PIR Kushilevitz et.al. Shi et.al. Path-ORAM 1000 Kushilevitz et.al. 20 Path-ORAM 500 10 5 200 2 100 1 0 5 10 15 0 5 10 15 Database Size (TB) Database Size (TB) 23 ¡

  24. ¡But ¡what ¡about ¡expensive ¡ computa@on? ¡ Total ¡Time ¡(per ¡query) ¡ Dollar ¡Cost ¡on ¡AWS ¡(per ¡query) ¡ 1000 1 500 0.5 200 0.2 Path-PIR Path-PIR Cost (USD) Shi et.al. Shi et.al. Time (s) Kushilevitz et.al. Kushilevitz et.al. 100 0.1 Path-ORAM Path-ORAM 50 0.05 20 0.02 10 0.01 0 5 10 15 0 5 10 15 Database Size (TB) Database Size (TB) 24 ¡

  25. Conclusion ¡ • We ¡have ¡introduced ¡a ¡technique ¡for ¡applying ¡ PIR ¡to ¡ORAM ¡protocols ¡which ¡results ¡in ¡ significantly ¡decreased ¡communica@on ¡ • Combining ¡our ¡technique ¡with ¡an ¡exis@ng ¡ scheme ¡leads ¡to ¡an ¡efficient ¡ORAM ¡protocol ¡ with ¡very ¡low ¡(op@mal) ¡latency ¡ • Our ¡protocol ¡was ¡tested ¡on ¡Amazon ¡AWS ¡and ¡ shown ¡to ¡be ¡cheaper ¡and ¡faster ¡than ¡related ¡ work ¡ 25 ¡

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