Leakage in the Cell Probe Model Lower Bounds for Response Hiding - - PowerPoint PPT Presentation

leakage in the cell probe model lower bounds for response
SMART_READER_LITE
LIVE PREVIEW

Leakage in the Cell Probe Model Lower Bounds for Response Hiding - - PowerPoint PPT Presentation

Leakage in the Cell Probe Model Lower Bounds for Response Hiding Encrypted Multi-Maps Giuseppe Persiano Universit` a di Salerno June, 2019 Describing joint work with: Sarvar Patel and Kevin Yeo (Google LLC) Giuseppe Persiano (UNISA) June


slide-1
SLIDE 1

Leakage in the Cell Probe Model Lower Bounds for Response Hiding Encrypted Multi-Maps

Giuseppe Persiano

Universit` a di Salerno

June, 2019 Describing joint work with: Sarvar Patel and Kevin Yeo (Google LLC)

Giuseppe Persiano (UNISA) June 2019 1 / 27

slide-2
SLIDE 2

The Model

Cell Probe Model for a Data Structure [Yao]

Memory is a sequence of cells each of w bits Accessing (reading/writing) a cell cost 1 All computation is for free Classical model used to derive lower bounds for Data Structures

Giuseppe Persiano (UNISA) June 2019 2 / 27

slide-3
SLIDE 3

The Oblivious Model

Oblivious Cell Probe Model [Larsen+Nielsen ’18]

In a Client-Server setting Client outsources storage of the DS to an honest-but-curios server Client performs DS operations O = (op1, . . . , opl) by accessing the Server memory

◮ client can read and write any cell in Server memory ◮ each cell is w-bit wide

Client has limited private local memory Server observes the access pattern and the data downloaded

◮ viewDS(O) =

  • viewDS(op1), . . . , viewDS(opl)
  • Passive server: performs no computation

Operations are performed online

Giuseppe Persiano (UNISA) June 2019 3 / 27

slide-4
SLIDE 4

Security Notion

Definition

DS is Oblivious, if for every PPT machine A and any two sequences O and O′ of the same length

  • Prob
  • A(viewDS(O)) = 1
  • − Prob
  • A(viewDS(O′)) = 1
  • ≤ 1

4.

Giuseppe Persiano (UNISA) June 2019 4 / 27

slide-5
SLIDE 5

The array maintenance problem (a.k.a. ORAM)

Two operations to maintain an n-slot array A Read(i) returns the current value stored in A[i] Write(i, x) sets A[i] := x

Giuseppe Persiano (UNISA) June 2019 5 / 27

slide-6
SLIDE 6

The array maintenance problem (a.k.a. ORAM)

Two operations to maintain an n-slot array A Read(i) returns the current value stored in A[i] Write(i, x) sets A[i] := x

Theorem (Larsen+Nielsen ’18)

Expected amortized running time of an ORAM with n b-bit slots is Ω b w · log nb c

  • where c is the client memory in bits.

Giuseppe Persiano (UNISA) June 2019 5 / 27

slide-7
SLIDE 7

The array maintenance problem (a.k.a. ORAM)

Two operations to maintain an n-slot array A Read(i) returns the current value stored in A[i] Write(i, x) sets A[i] := x

Theorem (Larsen+Nielsen ’18)

Expected amortized running time of an ORAM with n b-bit slots is Ω b w · log nb c

  • where c is the client memory in bits.

Online Read and Write operations with Passive Server

Giuseppe Persiano (UNISA) June 2019 5 / 27

slide-8
SLIDE 8

Proof strategy for ORAM lower bound [Larsen+Nielsen]

The Information Transfer Technique [Pˇ atra¸ scu+Demaine]

assign probes to nodes of the Information Tree

◮ each probe to at most one node

show that for most nodes v there exists a hard distribution HDv on sequences of operations of the same length that assign lots of probes to v

◮ coding argument leveraging on randomness of the entries of the array

invoke obliviousness to show that for each such distribution all nodes must be assigned the same high number of probes

Giuseppe Persiano (UNISA) June 2019 6 / 27

slide-9
SLIDE 9

Obliviousness

very strong requirement it hides the type of operation it hides the parameters of the operations

◮ the content of the array (for Write) ◮ the slot of the operation (for Read and Write)

  • nly number of operations is leaked

Giuseppe Persiano (UNISA) June 2019 7 / 27

slide-10
SLIDE 10

Obliviousness

very strong requirement it hides the type of operation it hides the parameters of the operations

◮ the content of the array (for Write) ◮ the slot of the operation (for Read and Write)

  • nly number of operations is leaked

In several applications more information is leaked for the sake of efficiency

Giuseppe Persiano (UNISA) June 2019 7 / 27

slide-11
SLIDE 11

Differential Privacy

Definition

DS is (ǫ, δ)-DP, if for every PPT machine A and any two sequences O and O′ of the same length that differ for exactly one operation Prob

  • A(vieweMM(O)) = 1
  • ≤ eǫ · Prob
  • A(vieweMM(O′)) = 1
  • + δ

Giuseppe Persiano (UNISA) June 2019 8 / 27

slide-12
SLIDE 12

The Differentially Private RAM

Theorem (P+Yeo ’19)

For every ǫ > 0 and δ ≤ 1/3, the expected amortized running time of a Differentially Private RAM with n b-bit slots is Ω b w · log nb c

  • where c is the client memory in bits.

Giuseppe Persiano (UNISA) June 2019 9 / 27

slide-13
SLIDE 13

The Differentially Private RAM

Theorem (P+Yeo ’19)

For every ǫ > 0 and δ ≤ 1/3, the expected amortized running time of a Differentially Private RAM with n b-bit slots is Ω b w · log nb c

  • where c is the client memory in bits.

Different proof technique

Giuseppe Persiano (UNISA) June 2019 9 / 27

slide-14
SLIDE 14

Leakage Cell Probe Model

A sequence of operations O = (op1, op2, . . . , opl) is associated with leakage L(O) L(O) = (L(op1), . . . , L(opl))

Giuseppe Persiano (UNISA) June 2019 10 / 27

slide-15
SLIDE 15

Leakage Cell Probe Model

A sequence of operations O = (op1, op2, . . . , opl) is associated with leakage L(O) L(O) = (L(op1), . . . , L(opl))

Definition

DS is Non-Adaptively L-INDSecure, if for every PPT machine A and any two sequences O and O′ such that L(O) = L(O′),

  • Prob
  • A(viewDS(O)) = 1
  • − Prob
  • A(viewDS(O′)) = 1
  • ≤ 1

4.

Giuseppe Persiano (UNISA) June 2019 10 / 27

slide-16
SLIDE 16

Leakage Cell Probe Model

A sequence of operations O = (op1, op2, . . . , opl) is associated with leakage L(O) L(O) = (L(op1), . . . , L(opl))

Definition

DS is Non-Adaptively L-INDSecure, if for every PPT machine A and any two sequences O and O′ such that L(O) = L(O′),

  • Prob
  • A(viewDS(O)) = 1
  • − Prob
  • A(viewDS(O′)) = 1
  • ≤ 1

4. Oblivious considers leakage L(O) = l

Giuseppe Persiano (UNISA) June 2019 10 / 27

slide-17
SLIDE 17

Multi-Maps (MM)

Multi-Maps

A data structure to maintain a collection of pairs (key, v), where

  • v = (v1, . . . , vl) is a tuple

1 Add(key, v): adds v to the tuple associated with key 2 Get(key): returns the tuple associated with key Giuseppe Persiano (UNISA) June 2019 11 / 27

slide-18
SLIDE 18

Multi-Maps (MM)

Multi-Maps

A data structure to maintain a collection of pairs (key, v), where

  • v = (v1, . . . , vl) is a tuple

1 Add(key, v): adds v to the tuple associated with key 2 Get(key): returns the tuple associated with key

A special case of Structured Encryption [Chase-Kamara]

Giuseppe Persiano (UNISA) June 2019 11 / 27

slide-19
SLIDE 19

Multi-Maps (MM)

Multi-Maps

A data structure to maintain a collection of pairs (key, v), where

  • v = (v1, . . . , vl) is a tuple

1 Add(key, v): adds v to the tuple associated with key 2 Get(key): returns the tuple associated with key

A special case of Structured Encryption [Chase-Kamara] A generalization of ORAM:

Giuseppe Persiano (UNISA) June 2019 11 / 27

slide-20
SLIDE 20

Multi-Maps (MM)

Multi-Maps

A data structure to maintain a collection of pairs (key, v), where

  • v = (v1, . . . , vl) is a tuple

1 Add(key, v): adds v to the tuple associated with key 2 Get(key): returns the tuple associated with key

A special case of Structured Encryption [Chase-Kamara] A generalization of ORAM:

◮ ORAM is a MM with all tuples of length 1; Giuseppe Persiano (UNISA) June 2019 11 / 27

slide-21
SLIDE 21

How expensive are EMM?

Giuseppe Persiano (UNISA) June 2019 12 / 27

slide-22
SLIDE 22

How expensive are EMM?

It depends on the leakage function

Giuseppe Persiano (UNISA) June 2019 12 / 27

slide-23
SLIDE 23

How expensive are EMM?

It depends on the leakage function If no security is sought: O

  • log log n

log log log n

  • [Beame and Fich ’99]

Giuseppe Persiano (UNISA) June 2019 12 / 27

slide-24
SLIDE 24

How expensive are EMM?

It depends on the leakage function If no security is sought: O

  • log log n

log log log n

  • [Beame and Fich ’99]

If only number of operations is leaked O (log n) Use ORAM [Folklore]

Giuseppe Persiano (UNISA) June 2019 12 / 27

slide-25
SLIDE 25

How expensive are EMM?

It depends on the leakage function If no security is sought: O

  • log log n

log log log n

  • [Beame and Fich ’99]

If only number of operations is leaked O (log n) Use ORAM [Folklore] What if we only want to hide the response of the operations?

Giuseppe Persiano (UNISA) June 2019 12 / 27

slide-26
SLIDE 26

How expensive are EMM?

It depends on the leakage function If no security is sought: O

  • log log n

log log log n

  • [Beame and Fich ’99]

If only number of operations is leaked O (log n) Use ORAM [Folklore] What if we only want to hide the response of the operations? What is the cost of the Response-Hiding EMM?

Giuseppe Persiano (UNISA) June 2019 12 / 27

slide-27
SLIDE 27

Response-Hiding Leakage Function – I

Definition (Leakage function LG for O = (op1, . . . , opl))

LG(Oi) is defined as follows:

1 if opi = Get(keyi) then LG(Oi) =

  • Get, keyi,
  • Get
  • MMOi−1, keyi
  • ;

the key queried and the size of the response are leaked

2 if opi = Add(keyi, vi) then LG(Oi) =

  • Add, aepi

the add pattern is leaked the type of operation is also leaked add equality pattern aepi := (aepi

1, . . . , aepi i−1) and aepi j is defined as

follows, for j = 1, . . . , i − 1 aepi

j =

     ⊥, if opj is a Get operation; 0, if opj is an Add operation and keyj = keyi; 1, if opj is an Add operation and keyj = keyi;

Giuseppe Persiano (UNISA) June 2019 13 / 27

slide-28
SLIDE 28

Response-Hiding Leakage Function – II

Definition (Leakage function LA for O = (op1, . . . , opl))

LA(Oi) is defined as follows:

1 if opi = Get(keyi) then LA(Oi) =

  • Get,
  • Get
  • MMOi−1, keyi
  • , gepi

; the size of the response and the equality pattern are leaked

2 if opi = Add(keyi, vi) then LA(Oi) = (Add, keyi, vi)

all the parameters of an Add the type of operation is also leaked get equality pattern gepi := (gepi

1, . . . , gepi i−1) and gepi j is defined as

follows, for j = 1, . . . , i − 1 gepi

j =

     ⊥, if opj is a Add operation; 0, if opj is an Get operation and keyj = keyi; 1, if opj is an Get operation and keyj = keyi;

Giuseppe Persiano (UNISA) June 2019 14 / 27

slide-29
SLIDE 29

Main result

Theorem (Informal)

LG-INDSecurity and LA-INDSecurity EMM have Ω(log n) expected amortized overhead.

Giuseppe Persiano (UNISA) June 2019 15 / 27

slide-30
SLIDE 30

Main result

Theorem (Informal)

LG-INDSecurity and LA-INDSecurity EMM have Ω(log n) expected amortized overhead. A sequence of operations that return R responses requires Ω(R · log n) work.

Giuseppe Persiano (UNISA) June 2019 15 / 27

slide-31
SLIDE 31

Main result

Theorem (Informal)

LG-INDSecurity and LA-INDSecurity EMM have Ω(log n) expected amortized overhead. A sequence of operations that return R responses requires Ω(R · log n) work. This is tight [Folklore] Use ORAM and spend O(log n)

Giuseppe Persiano (UNISA) June 2019 15 / 27

slide-32
SLIDE 32

Proof technique

We adapt the Information Transfer technique of [P+D] to our setting we have a weaker security notion

◮ can only invoke obliviousness for distribution with same leakage ◮ we prove lower bound for very leaky implementations

in our data structure problem entries/values are not random

◮ need to identify a different source of randomness for the encoding

argument

Giuseppe Persiano (UNISA) June 2019 16 / 27

slide-33
SLIDE 33

Defining the Hard Distribution HD for LG

we have

1 the following disjoint sets of values ◮ V0 consisting of k values; ◮ V1, . . . , Vp each consisting of nǫ values; 2 the following disjoint sets of keys: ◮ sets K a

i , for i = 1, . . . , p, each of size nǫ;

◮ sets K g

i , for i = 1, . . . , p, each of size nǫ;

Giuseppe Persiano (UNISA) June 2019 17 / 27

slide-34
SLIDE 34

Defining the Hard Distribution HD for LG

we have

1 the following disjoint sets of values ◮ V0 consisting of k values; ◮ V1, . . . , Vp each consisting of nǫ values; 2 the following disjoint sets of keys: ◮ sets K a

i , for i = 1, . . . , p, each of size nǫ;

◮ sets K g

i , for i = 1, . . . , p, each of size nǫ;

p = n1−ǫ

Giuseppe Persiano (UNISA) June 2019 17 / 27

slide-35
SLIDE 35

Defining the Hard Distribution HD

Phase 0 Execute SubPhase Ii, for i = 1, . . . , p for each key ∈ K g

i

  • utput: Add(key, V0),

Phase j, for j = 1, . . . , p Execute SubPhase Aj and SubPhase Gj SubPhase Aj for each key ∈ K a

j ,

randomly select subset Bkey ⊂ Vj of k values

  • utput: Add(key, Bkey);

SubPhase Gj for each key ∈ K g

j

  • utput: Get(key);

Giuseppe Persiano (UNISA) June 2019 18 / 27

slide-36
SLIDE 36

The Hard Distribution HD

InitPhase I1 I2 Ij Ip A1 G1 . . . . . . . . . . . . Ai Gi . . . . . . Ap Gp Add(K g

1 , V0)

Add(K g

2 , V0)

. . . . . . . . . . . . Add(K g

j , V0)

. . . . . . Add(K g

p , V0)

Add(K a

1 ) Get(K g 1 )

Add(K a

i ) Get(K g i )

Add(K a

p) Get(K g p )

Giuseppe Persiano (UNISA) June 2019 19 / 27

slide-37
SLIDE 37

The Hard Distribution HD

InitPhase I1 I2 Ij Ip A1 G1 . . . . . . . . . . . . Ai Gi . . . . . . Ap Gp Add(K g

1 , V0)

same key

Add(K g

2 , V0)

same key

. . . . . . . . . . . . Add(K g

j , V0)

same key

. . . . . . Add(K g

p , V0)

same key

Add(K a

1 ) Get(K g 1 )

Add(K a

i ) Get(K g i )

Add(K a

p) Get(K g p )

Giuseppe Persiano (UNISA) June 2019 19 / 27

slide-38
SLIDE 38

The Hard Distribution HD

InitPhase I1 I2 Ij Ip A1 G1 . . . . . . . . . . . . Ai Gi . . . . . . Ap Gp Add(K g

1 , V0)

same key

Add(K g

2 , V0)

same key

. . . . . . . . . . . . Add(K g

j , V0)

same key

. . . . . . Add(K g

p , V0)

same key

Add(K a

1 )

same key

Get(K g

1 )

Add(K a

i )

same key

Get(K g

i )

Add(K a

p)

same key

Get(K g

p )

Giuseppe Persiano (UNISA) June 2019 19 / 27

slide-39
SLIDE 39

The Hard Distribution HD

InitPhase I1 I2 Ij Ip A1 G1 . . . . . . . . . . . . Ai Gi . . . . . . Ap Gp Add(K g

1 , V0)

same key

Add(K g

2 , V0)

same key

. . . . . . . . . . . . Add(K g

j , V0)

same key

. . . . . . Add(K g

p , V0)

same key

Add(K a

1 )

same key

Get(K g

1 )

K g

1 , |V0|

Add(K a

i )

same key

Get(K g

i )

K g

i , |V0|

Add(K a

p)

same key

Get(K g

p )

K g

p , |V0|

Giuseppe Persiano (UNISA) June 2019 19 / 27

slide-40
SLIDE 40

The Hard Distribution HD

InitPhase I1 I2 Ij Ip A1 G1 . . . . . . . . . . . . Ai Gi . . . . . . Ap Gp Add(K g

1 , V0)

same key

Add(K g

2 , V0)

same key

. . . . . . . . . . . . Add(K g

j , V0)

same key

. . . . . . Add(K g

p , V0)

same key

Add(K a

1 )

same key

Get(K g

1 )

K g

1 , k

Add(K a

i )

same key

Get(K g

i )

K g

i , k

Add(K a

p)

same key

Get(K g

p )

K g

p , k

Giuseppe Persiano (UNISA) June 2019 19 / 27

slide-41
SLIDE 41

The Information Tree of the Hard Distribution

A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-42
SLIDE 42

The Information Tree of the Hard Distribution

A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 write(18, ...) Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-43
SLIDE 43

The Information Tree of the Hard Distribution

A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 write(21, ...) Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-44
SLIDE 44

The Information Tree of the Hard Distribution

A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 read(19)

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-45
SLIDE 45

The Information Tree of the Hard Distribution

A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 write(19, ...) Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-46
SLIDE 46

The Information Tree of the Hard Distribution

A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 read(19) Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-47
SLIDE 47

The Information Tree of the Hard Distribution

1 A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 read(19) Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-48
SLIDE 48

The Information Tree of the Hard Distribution

1 A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 write(21, ...) Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-49
SLIDE 49

The Information Tree of the Hard Distribution

2 A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 write(21, ...) Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-50
SLIDE 50

The Information Tree of the Hard Distribution

A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 write(12, ...) Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-51
SLIDE 51

The Information Tree of the Hard Distribution

A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 write(16, ...) Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-52
SLIDE 52

The Information Tree of the Hard Distribution

31 A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 write(16, ...) Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-53
SLIDE 53

The Information Tree of the Hard Distribution

32 A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-54
SLIDE 54

The Information Tree of the Hard Distribution

20 20 21 7 1 2 6 3 2 34 8 1 1 4 1 2 32 31 3 1 1 8 3 2 18 7 3 1 4 1 1 A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-55
SLIDE 55

The Information Tree of the Hard Distribution

20 20 21 7 1 2 6 3 2 34 8 1 1 4 1 2 32 31 3 1 1 8 3 2 18 7 3 1 4 1 1 A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-56
SLIDE 56

The Information Tree of the Hard Distribution

20 20 21 7 1 2 6 3 2 34 8 1 1 4 1 2 32 31 3 1 1 8 3 2 18 7 3 1 4 1 1 A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8 Count(v) Each probe is assigned to at most one node

Giuseppe Persiano (UNISA) June 2019 20 / 27

slide-57
SLIDE 57

The Neighbor Hard Distributions

InitPhase I1 I2 Ij Ip A1 G1 . . . . . . . . . . . . Ai Gi . . . . . . Ap Gp Add(K g

1 , V0)

Add(K g

2 , V0)

. . . . . . . . . . . . Add(K g

j , V0)

. . . . . . Add(K g

p , V0)

Add(K a

1 ) Get(K g 1 )

Add(K a

i )

Get(K g

i )

Add(K a

p)

Get(K g

p )

Giuseppe Persiano (UNISA) June 2019 21 / 27

slide-58
SLIDE 58

The Neighbor Hard Distributions

InitPhase i ≤ j I1 I2 Ij Ip A1 G1 . . . . . . . . . . . . Ai Gi . . . . . . Ap Gp Add(K g

1 , V0)

Add(K g

2 , V0)

. . . . . . . . . . . . Add(K a

i )

. . . . . . Add(K g

p , V0)

Add(K a

1 ) Get(K g 1 )

Add(K g

j , V0)

Get(K g

i )

Add(K a

p)

Get(K g

p )

Giuseppe Persiano (UNISA) June 2019 21 / 27

slide-59
SLIDE 59

The Neighbor Hard Distributions

InitPhase i ≤ j I1 I2 Ij Ip A1 G1 . . . . . . . . . . . . Ai Gi . . . . . . Ap Gp Add(K g

1 , V0)

same key

Add(K g

2 , V0)

same key

. . . . . . . . . . . . Add(K a

i )

same key

. . . . . .

same key

Add(K g

p , V0)

Add(K a

1 )

same key

Get(K g

1 )

Add(K g

j , V0)

same key

Get(K g

i )

Add(K a

p)

same key

Get(K g

p )

Giuseppe Persiano (UNISA) June 2019 21 / 27

slide-60
SLIDE 60

The Neighbor Hard Distributions

InitPhase i ≤ j I1 I2 Ij Ip A1 G1 . . . . . . . . . . . . Ai Gi . . . . . . Ap Gp Add(K g

1 , V0)

same key

Add(K g

2 , V0)

same key

. . . . . . . . . . . . Add(K a

i )

same key

. . . . . .

same key

Add(K g

p , V0)

Add(K a

1 )

same key

Get(K g

1 )

K g

1 , k

Add(K g

j , V0)

same key

Get(K g

i )

K g

i , k

Add(K a

p)

same key

Get(K g

p )

K g

p , k

Giuseppe Persiano (UNISA) June 2019 21 / 27

slide-61
SLIDE 61

v A1 G1 A2 G2 A3 G3 A4 G4 A5 G5 A6 G6 A7 G7 A8 G8

Giuseppe Persiano (UNISA) June 2019 22 / 27

slide-62
SLIDE 62

v A1 K a

1

G1 A2 K a

2

G2 A3 K a

3

G3 A4 K a

4

G4 A5 K a

5

G5 A6 K a

6

G6 A7 K a

7

G7 A8 K a

8

G8

Giuseppe Persiano (UNISA) June 2019 22 / 27

slide-63
SLIDE 63

v A1 K a

1

G1 K g

1

A2 K a

2

G2 K g

2

A3 K a

3

G3 K g

3

A4 K a

4

G4 K g

4

A5 K a

5

G5 K g

5

A6 K a

6

G6 K g

6

A7 K a

7

G7 K g

7

A8 K a

8

G8 K g

8

Giuseppe Persiano (UNISA) June 2019 22 / 27

slide-64
SLIDE 64

v A1 K g

5

G1 K g

1

A2 K g

6

G2 K g

2

A3 K g

7

G3 K g

3

A4 K g

8

G4 K g

4

A5 K a

5

G5 K g

5

A6 K a

6

G6 K g

6

A7 K a

7

G7 K g

7

A8 K a

8

G8 K g

8

HDv: Hard distribution at v

Giuseppe Persiano (UNISA) June 2019 22 / 27

slide-65
SLIDE 65

v A1 K g

5

G1 A2 K g

6

G2 A3 K g

7

G3 A4 K g

8

G4 A5 G5 K g

5

A6 G6 K g

6

A7 G7 K g

7

A8 G8 K g

8

HDv: Hard distribution at v

Giuseppe Persiano (UNISA) June 2019 22 / 27

slide-66
SLIDE 66

Get operations in the right subtree Client memory Add operations in the left subtree

Giuseppe Persiano (UNISA) June 2019 23 / 27

slide-67
SLIDE 67

Get operations in the right subtree Add operations in the left subtree Client memory Cells overwritten in right subtree

Giuseppe Persiano (UNISA) June 2019 23 / 27

slide-68
SLIDE 68

Get operations in the right subtree Add operations in the left subtree Client memory Cells overwritten in right subtree each keyword receives k random values from a set of nǫ

Giuseppe Persiano (UNISA) June 2019 23 / 27

slide-69
SLIDE 69

Get operations in the right subtree Add operations in the left subtree Client memory Cells overwritten in right subtree Entropy: log nǫ

k

  • Ω(k log n) bits

Giuseppe Persiano (UNISA) June 2019 23 / 27

slide-70
SLIDE 70

Theorem

For every v of the information tree of depth 8 ≤ d ≤ 1−ǫ

2 log n c

E [|Count(v)|] = Ω n 2d · k · log n w

  • with respect to HDv.

Giuseppe Persiano (UNISA) June 2019 24 / 27

slide-71
SLIDE 71

Theorem

For every v of the information tree of depth 8 ≤ d ≤ 1−ǫ

2 log n c

E [|Count(v)|] = Ω n 2d · k · log n w

  • with respect to HDv.

For every v, LG(HDv) = LG(HD), so by LG-INDsecurity,

Giuseppe Persiano (UNISA) June 2019 24 / 27

slide-72
SLIDE 72

Theorem

For every v of the information tree of depth 8 ≤ d ≤ 1−ǫ

2 log n c

E [|Count(v)|] = Ω n 2d · k · log n w

  • with respect to HDv.

For every v, LG(HDv) = LG(HD), so by LG-INDsecurity,

Theorem

For every v of the information tree of depth 8 ≤ d ≤ 1−ǫ

2 log n c

E [|Count(v)|] = Ω n 2d · k · log n w

  • with respect to HD.

Giuseppe Persiano (UNISA) June 2019 24 / 27

slide-73
SLIDE 73

Wrapping up

For an eMM that is LG-IND secure each probe contributes 1 to at most one Count(v).

Giuseppe Persiano (UNISA) June 2019 25 / 27

slide-74
SLIDE 74

Wrapping up

For an eMM that is LG-IND secure each probe contributes 1 to at most one Count(v).

v Count(v) is a lower bound to the number of probes

Giuseppe Persiano (UNISA) June 2019 25 / 27

slide-75
SLIDE 75

Wrapping up

For an eMM that is LG-IND secure each probe contributes 1 to at most one Count(v).

v Count(v) is a lower bound to the number of probes

level d has 2d nodes,

Giuseppe Persiano (UNISA) June 2019 25 / 27

slide-76
SLIDE 76

Wrapping up

For an eMM that is LG-IND secure each probe contributes 1 to at most one Count(v).

v Count(v) is a lower bound to the number of probes

level d has 2d nodes,

◮ each level contributes n · k · log n

w

Giuseppe Persiano (UNISA) June 2019 25 / 27

slide-77
SLIDE 77

Wrapping up

For an eMM that is LG-IND secure each probe contributes 1 to at most one Count(v).

v Count(v) is a lower bound to the number of probes

level d has 2d nodes,

◮ each level contributes n · k · log n

w

we have Θ(log n

c ) levels

Giuseppe Persiano (UNISA) June 2019 25 / 27

slide-78
SLIDE 78

Wrapping up

For an eMM that is LG-IND secure each probe contributes 1 to at most one Count(v).

v Count(v) is a lower bound to the number of probes

level d has 2d nodes,

◮ each level contributes n · k · log n

w

we have Θ(log n

c ) levels

number of probes is Ω

  • n · k · log n

w · log n c

  • to execute

Giuseppe Persiano (UNISA) June 2019 25 / 27

slide-79
SLIDE 79

Wrapping up

For an eMM that is LG-IND secure each probe contributes 1 to at most one Count(v).

v Count(v) is a lower bound to the number of probes

level d has 2d nodes,

◮ each level contributes n · k · log n

w

we have Θ(log n

c ) levels

number of probes is Ω

  • n · k · log n

w · log n c

  • to execute

◮ Θ(nk) Add Giuseppe Persiano (UNISA) June 2019 25 / 27

slide-80
SLIDE 80

Wrapping up

For an eMM that is LG-IND secure each probe contributes 1 to at most one Count(v).

v Count(v) is a lower bound to the number of probes

level d has 2d nodes,

◮ each level contributes n · k · log n

w

we have Θ(log n

c ) levels

number of probes is Ω

  • n · k · log n

w · log n c

  • to execute

◮ Θ(nk) Add ◮ Θ(n) Get each with Θ(k) results each Giuseppe Persiano (UNISA) June 2019 25 / 27

slide-81
SLIDE 81

Wrapping up

For an eMM that is LG-IND secure each probe contributes 1 to at most one Count(v).

v Count(v) is a lower bound to the number of probes

level d has 2d nodes,

◮ each level contributes n · k · log n

w

we have Θ(log n

c ) levels

number of probes is Ω

  • n · k · log n

w · log n c

  • to execute

◮ Θ(nk) Add ◮ Θ(n) Get each with Θ(k) results each

amortized efficiency per response Ω log n w · log n c

  • Giuseppe Persiano (UNISA)

June 2019 25 / 27

slide-82
SLIDE 82

Typical parameter regime

w = Ω(log n) and c = nα, α < 1.

Giuseppe Persiano (UNISA) June 2019 26 / 27

slide-83
SLIDE 83

Typical parameter regime

w = Ω(log n) and c = nα, α < 1. amortized efficiency per response of an eMM is Ω (log n)

Giuseppe Persiano (UNISA) June 2019 26 / 27

slide-84
SLIDE 84

Typical parameter regime

w = Ω(log n) and c = nα, α < 1. amortized efficiency per response of an eMM is Ω (log n) Same for LA leakage function

Giuseppe Persiano (UNISA) June 2019 26 / 27

slide-85
SLIDE 85

Conclusions

Response Hiding in a mildly Dynamic setting gives Ω(log n) overhead

◮ static EMM can be implemented with constant slowdown via cuckoo

hashing

Giuseppe Persiano (UNISA) June 2019 27 / 27

slide-86
SLIDE 86

Conclusions

Response Hiding in a mildly Dynamic setting gives Ω(log n) overhead

◮ static EMM can be implemented with constant slowdown via cuckoo

hashing

◮ proof only uses addition of values to keys Giuseppe Persiano (UNISA) June 2019 27 / 27

slide-87
SLIDE 87

Conclusions

Response Hiding in a mildly Dynamic setting gives Ω(log n) overhead

◮ static EMM can be implemented with constant slowdown via cuckoo

hashing

◮ proof only uses addition of values to keys ◮ no remove operation Giuseppe Persiano (UNISA) June 2019 27 / 27