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

efficient private file retrieval by combining oram and pir
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Efficient ¡Private ¡File ¡Retrieval ¡by ¡ Combining ¡ORAM ¡and ¡PIR ¡

Travis Mayberry Erik-Oliver Blass Agnes Chan ¡ ¡

1 ¡

slide-2
SLIDE 2

Hiding ¡Access ¡Pa>erns ¡

Oblivious ¡RAM ¡

  • Communica@on: ¡High ¡
  • Rounds: ¡Mul@ple ¡
  • Client ¡computa@on: ¡None ¡
  • Server ¡computa@on: ¡None ¡

Private ¡Informa6on ¡Retrieval ¡

  • Communica@on: ¡Low ¡
  • Rounds: ¡One ¡
  • Client ¡computa@on: ¡Low ¡
  • Server ¡computa@on: ¡High ¡

2 ¡

slide-3
SLIDE 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 ¡
  • f ¡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 ¡

slide-4
SLIDE 4

Nota@on ¡

  • ¡ ¡ ¡ ¡: ¡Number ¡of ¡blocks ¡in ¡the ¡ORAM ¡
  • ¡ ¡ ¡ ¡: ¡Size ¡of ¡each ¡block ¡in ¡bits ¡
  • ¡ ¡ ¡ ¡: ¡Size ¡of ¡one ¡ciphertext ¡in ¡bits ¡

n k `

4 ¡

n = 225 ` = 1 MB k = 2048 bits Database = 4 TB

Helpful ¡sample ¡values: ¡

slide-5
SLIDE 5

Shi ¡et ¡al ¡

  • First ¡poly-­‑logarithmic ¡worst-­‑case ¡oblivious ¡

RAM ¡

  • New ¡tree ¡based ¡construc@on ¡
  • Achieves ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡communica@on, ¡with ¡

rela@vely ¡good ¡constants ¡

  • Consists ¡of ¡two ¡phases: ¡data ¡access, ¡and ¡

evic@on ¡

O(` · log3 n)

5 ¡

slide-6
SLIDE 6

n

6 ¡

slide-7
SLIDE 7

1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡

7 ¡

slide-8
SLIDE 8

O(log n)

Bucket ¡ORAM ¡

8 ¡

slide-9
SLIDE 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 ¡

slide-10
SLIDE 10

E(0) ¡ E(1) ¡ E(0) ¡ E(0) ¡ * ¡ * ¡ * ¡ * ¡ = ¡ = ¡ = ¡ = ¡ Query ¡ Database ¡ + ¡ Response ¡ X1,1 ¡ X1,2 ¡ X1,3 ¡ X1,4 ¡ X2,1 ¡ X2,2 ¡ X2,3 ¡ X2,4 ¡ X3,1 ¡ X3,2 ¡ X3,3 ¡ X3,4 ¡ X4,1 ¡ X4,2 ¡ X4,3 ¡ X4,4 ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(X2,1) ¡ E(X2,2) ¡ E(X2,3) ¡ E(X2,4) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(X2,1) ¡ E(X2,2) ¡ E(X2,3) ¡ E(X2,4) ¡

10 ¡

` O(nk + `)

10 ¡

slide-11
SLIDE 11

E(0) ¡ E(1) ¡ E(0) ¡ E(0) ¡ Query ¡

11 ¡

O(nk + `)

* ¡ * ¡ * ¡ * ¡ E(Y1) ¡ E(Y2) ¡ E(Y3) ¡ E(Y4) ¡ E(Y1) ¡ E(Y2) ¡ E(Y3) ¡ E(Y4) ¡ E(Y1) ¡ E(Y2) ¡ E(Y3) ¡ E(Y4) ¡ E(Y1) ¡ E(Y2) ¡ E(Y3) ¡ E(Y4) ¡ = ¡ = ¡ = ¡ = ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(Y1) ¡ E(Y2) ¡ E(Y3) ¡ E(Y4) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡

`

Server ¡Side ¡ To ¡change ¡Xi ¡to ¡X’, ¡encrypt ¡“delta”: ¡ Yj ¡= ¡X’j ¡-­‑ ¡Xi,j ¡

11 ¡

slide-12
SLIDE 12

= ¡ = ¡ = ¡ = ¡ E(X1,1) ¡ E(X1,2) ¡ E(X1,3) ¡ E(X1,4) ¡ E(X’1) ¡ E(X’2) ¡ E(X’3) ¡ E(X’4) ¡ E(X3,1) ¡ E(X3,2) ¡ E(X3,3) ¡ E(X3,4) ¡ E(X4,1) ¡ E(X4,2) ¡ E(X4,3) ¡ E(X4,4) ¡

12 ¡

Encrypted ¡Database ¡ E(X1,1) ¡ E(X1,2) ¡ E(X1,3) ¡ E(X1,4) ¡ E(X2,1) ¡ E(X2,2) ¡ E(X2,3) ¡ E(X2,4) ¡ E(X3,1) ¡ E(X3,2) ¡ E(X3,3) ¡ E(X3,4) ¡ E(X4,1) ¡ E(X4,2) ¡ E(X4,3) ¡ E(X4,4) ¡ + ¡ + ¡ + ¡ + ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(Y1) ¡ E(Y2) ¡ E(Y3) ¡ E(Y4) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ E(0) ¡ Encrypted ¡Delta ¡

12 ¡

slide-13
SLIDE 13

O(log n)

Bucket ¡ORAM ¡

13 ¡

slide-14
SLIDE 14

O(log n)

Bucket ¡ORAM ¡ PIR ¡Bucket ¡

O(log n · k + `) O(` · log n)

14 ¡

slide-15
SLIDE 15

PIR ¡Bucket ¡

  • Read ¡blocks ¡using ¡linear ¡PIR ¡
  • Write ¡blocks ¡using ¡linear ¡PIR-­‑Wri@ng ¡
  • Requires ¡only ¡addi@vely ¡homomorphic ¡

encryp@on! ¡

15 ¡

slide-16
SLIDE 16

What ¡does ¡this ¡give ¡us? ¡

  • Be>er ¡asympto@c ¡communica@on ¡

– Old: ¡ ¡ – New: ¡

O(` · log3 n) O(k · log3 n + ` · log2 n)

Worst-Case Practical Worst-Case Shi et al O(l · log3(N)) O(l · log2(N)) Kushilevitz O( l·log2(N)

log log(N))

O(l · log3(N) Path-PIR Additive O(k · log3(N) + l · log2(N) 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 ¡

slide-17
SLIDE 17

1 2 3 4 5 6 7 8

1) ¡Client ¡requests ¡to ¡read ¡block ¡5 ¡

17 ¡

slide-18
SLIDE 18

1 2 3 4 5 6 7 8

1) ¡Client ¡requests ¡to ¡read ¡block ¡5 ¡

5 7 1

2) ¡Naïve ¡way: ¡use ¡PIR ¡to ¡retrieve ¡1st ¡element ¡of ¡each ¡bucket ¡

O((` + k) · log n)

18 ¡

slide-19
SLIDE 19

1 2 3 4 5 6 7 8

1) ¡Client ¡requests ¡to ¡read ¡block ¡5 ¡

5 7 1

2) ¡Naïve ¡way: ¡use ¡PIR ¡to ¡retrieve ¡1st ¡element ¡of ¡each ¡bucket ¡ 3) ¡Use ¡PIR ¡again ¡to ¡retrieve ¡3rd ¡element ¡of ¡previous ¡results ¡

5

O(k · log n + `)

This ¡is ¡op@mal! ¡

19 ¡

slide-20
SLIDE 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 ¡

slide-21
SLIDE 21

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

21 ¡

slide-22
SLIDE 22

Latency Worst-Case Practical Worst-Case Shi et al O(l · log2(N)) O(l · log3(N)) O(l · log2(N)) Kushilevitz O( l·log2(N)

log log(N))

O( l·log2(N)

log log(N))

O(l · log3(N) Path-PIR Additive O(k · log(N) + l) O(k · log3(N) + l · log2(N) 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 ¡

slide-23
SLIDE 23

Communica@on ¡Comparison ¡

200 500 2000 5000 100 1000 10000 5 10 15 Communication (MB) Database Size (TB) Path-PIR Shi et.al. Kushilevitz et.al. Path-ORAM 2 5 20 50 200 500 1 10 100 1000 5 10 15 Communication (MB) Database Size (TB) Path-PIR Shi et.al. Kushilevitz et.al. Path-ORAM

Overall ¡(per ¡query) ¡ Latency ¡(per ¡query) ¡

23 ¡

slide-24
SLIDE 24

¡But ¡what ¡about ¡expensive ¡ computa@on? ¡

20 50 200 500 10 100 1000 5 10 15 Time (s) Database Size (TB) Path-PIR Shi et.al. Kushilevitz et.al. Path-ORAM 0.02 0.05 0.2 0.5 0.01 0.1 1 5 10 15 Cost (USD) Database Size (TB) Path-PIR Shi et.al. Kushilevitz et.al. Path-ORAM

Total ¡Time ¡(per ¡query) ¡ Dollar ¡Cost ¡on ¡AWS ¡(per ¡query) ¡

24 ¡

slide-25
SLIDE 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 ¡