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 ¡

Recommend


More recommend