+ All Categories
Home > Documents > A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich...

A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich...

Date post: 22-Jun-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
64
Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM A better write-only oblivious RAM Daniel S. Roche Adam Aviv Seung Geol Choi Travis Mayberry Computer Science Department United States Naval Academy Annapolis, Maryland, USA LJK CASYS Seminar Grenoble, France 21 September 2017 Dan Roche (USNA) Write-Only ORAM 21-09-2017 1 / 31
Transcript
Page 1: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

A better write-only oblivious RAM

Daniel S. Roche Adam Aviv Seung Geol Choi Travis Mayberry

Computer Science DepartmentUnited States Naval Academy

Annapolis, Maryland, USA

LJK CASYS SeminarGrenoble, France

21 September 2017

Dan Roche (USNA) Write-Only ORAM 21-09-2017 1 / 31

Page 2: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Problem: Can’t trust your storage

Want to store data on untrusted mediumse.g. Google cloud or an easily-stolen laptop

Plain encryption is not enoughMust protect access patterns as well as data

Oblivious RAM is a solutionProvides provable security, but is it fast enough?

Dan Roche (USNA) Write-Only ORAM 21-09-2017 2 / 31

Page 3: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Example: Cloud file storage

Storing data remotely is convenient and inexpensive.

Unfortunately, these services are not always the best for privacy.

2012: Google Drive terms of service states it canuse your content in advertising

2014: Private photos from ≈ 500 Apple iCloud accountspublished online

2016: Dropbox reveals a hack from 2012 actually revealedpassword hashes of millions of users

Dan Roche (USNA) Write-Only ORAM 21-09-2017 3 / 31

Page 4: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Example: Mobile devices

Most travellers carry a laptop and/or smartphone with sensitive data.

70 million smartphones stolen per year, only 7% recovered(source: Kensington)

Border agents can legally clone your laptop hard drive

Dan Roche (USNA) Write-Only ORAM 21-09-2017 4 / 31

Page 5: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Encryption is not enough

End-to-end encryption of files is great, but does not protect metadata:which files are accessed, when, and by whom

“The public doesn’t understand. [Metadata] is much more intrusivethan content. . . If you can track that, you know exactly what ishappening — you don’t need the content.”(mathematician and policy expert Susan Landau)

“We kill people based on metadata.”(former NSA and CIA director Michael Hayden)

Dan Roche (USNA) Write-Only ORAM 21-09-2017 5 / 31

Page 6: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Talk outline: Four ORAMs

1 “Square Root” ORAM (Goldreich & Ostrovsky ’96)

2 Path ORAM (Stefanov, Shi et al ’12)

3 Write-Only ORAM (Blass, Mayberry et al ’14)

4 Deterministic, stash-free write-only ORAM (’17)

Goal: Reducing overhead without compromising privacy (too much)

Dan Roche (USNA) Write-Only ORAM 21-09-2017 6 / 31

Page 7: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

ORAM Setting

Oblivious RAM is a translator from logical to physical read/write operations.

user

ORAMprotocol

storage

REVEALED TO EAVESDROPPER

Goal: Eavesdropper should learn only thenumber of physical operations performed(not contents, op types, or addresses)

logical read

logical write

physical read

physical write

Dan Roche (USNA) Write-Only ORAM 21-09-2017 7 / 31

Page 8: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

ORAM Setting

Oblivious RAM is a translator from logical to physical read/write operations.

user

ORAMprotocol

storage

REVEALED TO EAVESDROPPER

Goal: Eavesdropper should learn only thenumber of physical operations performed(not contents, op types, or addresses)

logical read

logical write

physical read

physical write

Dan Roche (USNA) Write-Only ORAM 21-09-2017 7 / 31

Page 9: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

ORAM Security Definition

Formally, an ORAM is secure if any two sequences with the same numberof operations are indistinguishable based on their physical reads/writes.

ORAM Security Game1 Adversary chooses two logical op sequences of the same length

2 Execute one of those sequences with the ORAM

3 Give resulting “transcript” of physical reads and writes to adversary

4 Adversary has to guess which logical sequence was executed

Equivalently, anyone can generate a fake transcript at random,based only on the number of operations.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 8 / 31

Page 10: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Square Root ORAM

(Goldreich & Ostrovsky, JACM 1996)

Key ideas:

Store blocks in random locations

First time accessing a block, copy to a small local “shelter” area

Repeated access, take from shelter and access something else(“dummy”)

When shelter is full, re-shuffle and incorporate changes

Overhead: Amortized O(√

N) per operation

Dan Roche (USNA) Write-Only ORAM 21-09-2017 9 / 31

Page 11: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Square Root ORAM Example

E

0

D

1

B

2

H

3

C

4

A

5

I

6

F

7

G

8SHELTER

HIDDEN PUBLIC

Dan Roche (USNA) Write-Only ORAM 21-09-2017 10 / 31

Page 12: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Square Root ORAM Example

E

0

D

1

B

2

H

3

C

4

A

5

I

6

F

7

G

8

H

SHELTER

HIDDEN PUBLIC

read(H) read(3)

1 Normal read. Result saved to shelter.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 10 / 31

Page 13: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Square Root ORAM Example

E

0

D

1

B

2

H

3

C

4

A

5

I

6

F

7

G

8

H A’

SHELTER

HIDDEN PUBLIC

read(H) read(3)write(A’) read(5)

2 Normal write. New value stored in shelter.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 10 / 31

Page 14: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Square Root ORAM Example

E

0

D

1

B

2

H

3

C

4

A

5

I

6

F

7

G

8

H A’ D

SHELTER

HIDDEN PUBLIC

read(H) read(3)write(A’) read(5)read(H) read(1)

3 Repeat read. Perform dummy read, return value from shelter

Dan Roche (USNA) Write-Only ORAM 21-09-2017 10 / 31

Page 15: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Square Root ORAM Example

I

0

B

1

H

2

F

3

A’

4

C

5

D

6

E

7

G

8SHELTER

HIDDEN PUBLIC

read(H) read(3)write(A’) read(5)read(H) read(1)

read(0..8)write(0..8)

4 Re-shuffle memory and clear shelter.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 10 / 31

Page 16: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Square Root ORAM Example

I

0

B

1

H

2

F

3

A’

4

C

5

D

6

E

7

G

8

A

SHELTER

HIDDEN PUBLIC

read(H) read(3)write(A’) read(5)read(H) read(1)

read(0..8)write(0..8)

read(A’) read(4)

5 Normal read (not repeated; different round).

Dan Roche (USNA) Write-Only ORAM 21-09-2017 10 / 31

Page 17: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Square Root ORAM Example

I

0

B

1

H

2

F

3

A’

4

C

5

D

6

E

7

G

8

A

SHELTER

HIDDEN PUBLIC

read(H) read(3)write(A’) read(5)read(H) read(1)

read(0..8)write(0..8)

read(A’) read(4)

Public transcript reveals nothing about the logical operations.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 10 / 31

Page 18: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

ORAM Comparison∗

Overhead StorageRead Write Hidden Public

Trivial N N 1 NSquare Root ORAM

√N

√N O(

√N) N

Path ORAM 5 lg N 5 lg N O(log N) 10NBMNO-WoORAM 1 3 O(log N) 2N

Ours 1 1 + ε 2 (1 + 1ε )N

∗Not counting the position mapDan Roche (USNA) Write-Only ORAM 21-09-2017 11 / 31

Page 19: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Path ORAM

(Stefanov, van Dijk, Shi, Chan, Fletcher, Ren, Yu, and Devadas, CCS’13)

Key ideas:

Arrange storage “buckets” in a binary tree

Every block is assigned a random tree path

On every access, read and re-write the entire path

Overhead: O(log N) per operation

Dan Roche (USNA) Write-Only ORAM 21-09-2017 12 / 31

Page 20: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Path ORAM Example

G

0

H

1

C

2

F

3

E

4 5

6 7

A

8

B

9 10 11

D

12 13

C,F,G A,B E D,H

STASH

HIDDEN PUBLIC

Dan Roche (USNA) Write-Only ORAM 21-09-2017 13 / 31

Page 21: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Path ORAM Example

G

0

H

1

C

2

F

3

E

4 5

6 7

A

8

B

9 10 11

D

12 13

C,F,G A,B E D,H

STASH

HIDDEN PUBLIC

read(D) read(0) read(1) read(4) read(5) read(12) read(13)

write(0) write(1) write(4) write(5) write(12) write(13)

1 Read path to D

Dan Roche (USNA) Write-Only ORAM 21-09-2017 13 / 31

Page 22: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Path ORAM Example

G

0 1

C

2

F

3

D

4

E

5

6 7

A

8

B

9 10 11

H

12 13

C,F,G A,B D,E H

STASH

HIDDEN PUBLIC

read(D) read(0) read(1) read(4) read(5) read(12) read(13)write(0) write(1) write(4) write(5) write(12) write(13)

2 Reassign D’s leaf and re-write old path

Dan Roche (USNA) Write-Only ORAM 21-09-2017 13 / 31

Page 23: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Path ORAM Example

G

0 1

C

2

F

3

D

4

E

5

6 7

A

8

B

9 10 11

H

12 13

C,F,G A,B D,E H

STASH

HIDDEN PUBLIC

write(A’) read(0) read(1) read(2) read(3) read(8) read(9)

write(0) write(1) write(2) write(3) write(8) write(9)

3 Read path to A

Dan Roche (USNA) Write-Only ORAM 21-09-2017 13 / 31

Page 24: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Path ORAM Example

A’

0

G

1

C

2

F

3

D

4

E

5

6 7

B

8 9 10 11

H

12 13

A,C,F,G B D,E H

STASH

HIDDEN PUBLIC

write(A’) read(0) read(1) read(2) read(3) read(8) read(9)write(0) write(1) write(2) write(3) write(8) write(9)

4 Reassign A’s leaf and re-write old path

Dan Roche (USNA) Write-Only ORAM 21-09-2017 13 / 31

Page 25: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Path ORAM Example

A’

0

G

1

C

2

F

3

D

4

E

5

6 7

B

8 9 10 11

H

12 13

A,C,F,G B D,E H

STASH

HIDDEN PUBLIC

read(D) read(0) read(1) read(4) read(5) read(10) read(11)

write(0) write(1) write(4) write(5) write(10) write(11)

5 Read path to D

Dan Roche (USNA) Write-Only ORAM 21-09-2017 13 / 31

Page 26: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Path ORAM Example

A’

0

G

1

C

2

F

3 4 5

6 7

B

8 9

E

10 11

H

12 13

A,C,F,G B,D E H

D

STASH

HIDDEN PUBLIC

read(D) read(0) read(1) read(4) read(5) read(10) read(11)write(0) write(1) write(4) write(5) write(10) write(11)

6 D can’t fit in old path; must go into stash

Dan Roche (USNA) Write-Only ORAM 21-09-2017 13 / 31

Page 27: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Path ORAM Example

A’

0

G

1

C

2

F

3 4 5

6 7

B

8 9

E

10 11

H

12 13

A,C,F,G B,D E H

D

STASH

HIDDEN PUBLIC

read(G) read(0) read(1) read(2) read(3) read(6) read(7)

write(0) write(1) write(2) write(3) write(6) write(7)

7 Read path to G

Dan Roche (USNA) Write-Only ORAM 21-09-2017 13 / 31

Page 28: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Path ORAM Example

G

0 1

A’

2

D

3 4 5

C

6

F

7

B

8 9

E

10 11

H

12 13

A,C,F B,D E G,H

STASH

HIDDEN PUBLIC

read(G) read(0) read(1) read(2) read(3) read(6) read(7)write(0) write(1) write(2) write(3) write(6) write(7)

8 Re-writing path allows to clear the stash

Dan Roche (USNA) Write-Only ORAM 21-09-2017 13 / 31

Page 29: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Path ORAM Example

G

0 1

A’

2

D

3 4 5

C

6

F

7

B

8 9

E

10 11

H

12 13

A,C,F B,D E G,H

STASH

HIDDEN PUBLIC

read(G) read(0) read(1) read(2) read(3) read(6) read(7)write(0) write(1) write(2) write(3) write(6) write(7)

Public transcript reveals nothing about the logical operations.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 13 / 31

Page 30: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

ORAM Comparison∗

Overhead StorageRead Write Hidden Public

Trivial N N 1 NSquare Root ORAM

√N

√N O(

√N) N

Path ORAM 5 lg N 5 lg N O(log N) 10N

BMNO-WoORAM 1 3 O(log N) 2NOurs 1 1 + ε 2 (1 + 1

ε )N

∗Not counting the position mapDan Roche (USNA) Write-Only ORAM 21-09-2017 14 / 31

Page 31: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

What about the hidden storage?

Square root ORAM needs O(√

N) hidden blocks for the “shelter”;Path ORAM needs O(log N) for the “stash”.

This creates problems with multiple clients:How to share the local (hidden) storage between different devices?

DefinitionAn ORAM is stateless if it requires only O(1) hidden storage.

Can be accomplished by transferring entire local state on each operation.

For Square Root ORAM and Path ORAM, this does not change theasymptotic overhead.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 15 / 31

Page 32: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

What about the hidden storage?

Square root ORAM needs O(√

N) hidden blocks for the “shelter”;Path ORAM needs O(log N) for the “stash”.

This creates problems with multiple clients:How to share the local (hidden) storage between different devices?

DefinitionAn ORAM is stateless if it requires only O(1) hidden storage.

Can be accomplished by transferring entire local state on each operation.

For Square Root ORAM and Path ORAM, this does not change theasymptotic overhead.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 15 / 31

Page 33: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

What about the position map?

Square root ORAM and Path ORAM require a position mapto remember where blocks are stored.

Solution: Store the positions in O(log N)recursively smaller ORAMs of the same type.

(Assumes that a single block can hold many addresses.)

Dan Roche (USNA) Write-Only ORAM 21-09-2017 16 / 31

Page 34: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Some recent work on ORAMs

Automating secure computation of RAM-model programs(Liu, Huang, Shi, Katz ’14)

Burst ORAM (Dautrich, Stefanov, Shi ’14)

Constant communication ORAM (Moataz, Mayberry, Blass ’15)

Oblivious data structures (Wang, Nayak, Liu, Chan, Shi ’14)

Oblivious PRAM (Boyle, Chung, Pass ’16)

Onion ORAM (Devadas, van Dijk, Fletcher, Ren ’16)

Ring ORAM (Ren, Fletcher, Kwon ’14)

S3ORAM (Hoang, Ozkaptan, Yavuz, Guajard, Nguyen ’17

TWORAM (Garg, Mohassel, Papamanthou ’16)

Variable-size ORAM (Roche, Aviv, Choi ’16)

Dan Roche (USNA) Write-Only ORAM 21-09-2017 17 / 31

Page 35: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

ORAM Setting

In WoORAM, the attacker does not see physical read operations.

user

ORAMprotocol

storage

REVEALED TO EAVESDROPPER

Goal: Eavesdropper should learn only thenumber of physical operations performed(not contents, op types, or addresses)

physical readlogical read

logical write physical write

Dan Roche (USNA) Write-Only ORAM 21-09-2017 18 / 31

Page 36: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Write-Only ORAM Setting

In WoORAM, the attacker does not see physical read operations.

user

ORAMprotocol

storage

REVEALED TO EAVESDROPPER

Goal: Eavesdropper should learn only thenumber of physical operations performed(not contents, op types, or addresses)

physical readlogical read

logical write physical write

Dan Roche (USNA) Write-Only ORAM 21-09-2017 18 / 31

Page 37: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Applications of Write-Only ORAM

Encrypted hidden volumesAttacker must not learn whether disk is actually being usedImplemented with HiVE (Blass et al ’14)

Secure computation with remote attackerComputing on trusted CPU (e.g. Intel SGX) with untrusted RAMAdversary can only see snapshots of memoryDemonstrated attack on Montgomery’s ladder (John et al ’17)

Encrypted backup and file synchronization a la DropboxUser stores a local copy; only updates (writes) are sent to serverImplemented with ObliviSync (Aviv, Choi, Mayberry, Roche ’17)

Dan Roche (USNA) Write-Only ORAM 21-09-2017 19 / 31

Page 38: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Write-Only ORAM Comparison∗

Overhead StorageRead Write Hidden Public

Trivial 1 N 1 NSquare Root ORAM 1

√N O(

√N) N

Path ORAM 5 lg N 5 lg N O(log N) 10N

BMNO-WoORAM 1 3 O(log N) 2NOurs 1 1 + ε 2 (1 + 1

ε )N

∗Not counting the position mapDan Roche (USNA) Write-Only ORAM 21-09-2017 20 / 31

Page 39: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

BMNO-WoORAM

(Blass, Mayberry, Noubir, and Onarlioglu, CCS’14)

Key ideas:

No need to shuffle, just write to random locations

“Stale” blocks identified by position map lookups can be overwritten

Requires stash for when random locations are all non-stale

Overhead: O(1) per write but O(log N) stateless

Dan Roche (USNA) Write-Only ORAM 21-09-2017 21 / 31

Page 40: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

BMNO-WoORAM Example

0

C

1 2

E

3

H

4 5

D

6

B

7

8 9

A

10

F

11 12 13 14

G

15

STASH

HIDDEN PUBLIC

Dan Roche (USNA) Write-Only ORAM 21-09-2017 22 / 31

Page 41: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

BMNO-WoORAM Example

0

C

1 2

E

3

H

4 5

D

6

B

7

8 9

A

10

F

11 12 13 14

G

15

STASH

HIDDEN PUBLIC

read(B)

1 Normal read. Nothing is revealed.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 22 / 31

Page 42: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

BMNO-WoORAM Example

0

C

1 2

E

3

H

4 5

D

6

B

7

8 9

A

10

F

11 12 13 14

G

15

STASH

HIDDEN PUBLIC

read(B)write(H’)

2 Normal write. Old value is not written but becomes stale.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 22 / 31

Page 43: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

BMNO-WoORAM Example

0

C

1 2

E

3

H

4 5

D

6

B

7

8

H’

9

A

10

F

11 12 13 14

G

15

STASH

HIDDEN PUBLIC

read(B)write(H’) write(1) write(9) write(11)

3 Normal write. Old value is not written but becomes stale.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 22 / 31

Page 44: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

BMNO-WoORAM Example

0

C

1 2

E

3

H

4 5

D

6

B

7

8

H’

9

A

10

F

11 12 13 14

G

15

STASH

HIDDEN PUBLIC

read(B)write(H’) write(1) write(9) write(11)write(A’)

4 All selected positions are non-stale; add to stash.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 22 / 31

Page 45: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

BMNO-WoORAM Example

0

C

1 2

E

3

H

4 5

D

6

B

7

8

H’

9

A

10

F

11 12 13 14

G

15

A’

STASH

HIDDEN PUBLIC

read(B)write(H’) write(1) write(9) write(11)write(A’) write(6) write(9) write(15)

5 All selected positions are non-stale; add to stash.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 22 / 31

Page 46: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

BMNO-WoORAM Example

0

C

1 2

E

3

H

4 5

D

6

B

7

8

H’

9

A

10

F

11 12 13 14

G

15

A’

STASH

HIDDEN PUBLIC

read(B)write(H’) write(1) write(9) write(11)write(A’) write(6) write(9) write(15)read(H’)

6 Read fetches most recent (non-stale) version.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 22 / 31

Page 47: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

BMNO-WoORAM Example

0

C

1 2

E

3

H

4 5

D

6

B

7

8

H’

9

A

10

F

11 12 13 14

G

15

A’

STASH

HIDDEN PUBLIC

read(B)write(H’) write(1) write(9) write(11)write(A’) write(6) write(9) write(15)read(H’)write(D’)

7 “Lucky” selection allows to write and clear stash.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 22 / 31

Page 48: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

BMNO-WoORAM Example

0

C

1 2

E

3

A’

4 5

D

6

B

7

8

H’

9

A

10

F

11 12

D’

13 14

G

15

STASH

HIDDEN PUBLIC

read(B)write(H’) write(1) write(9) write(11)write(A’) write(6) write(9) write(15)read(H’)write(D’) write(3) write(4) write(13)

8 “Lucky” selection allows to write and clear stash.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 22 / 31

Page 49: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

BMNO-WoORAM Example

0

C

1 2

E

3

A’

4 5

D

6

B

7

8

H’

9

A

10

F

11 12

D’

13 14

G

15

STASH

HIDDEN PUBLIC

read(B)write(H’) write(1) write(9) write(11)write(A’) write(6) write(9) write(15)read(H’)write(D’) write(3) write(4) write(13)

Public transcript reveals nothing about the logical operations.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 22 / 31

Page 50: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Write-Only ORAM Comparison∗

Overhead StorageRead Write Hidden Public

Trivial 1 N 1 NSquare Root ORAM 1

√N O(

√N) N

Path ORAM 5 lg N 5 lg N O(log N) 10NBMNO-WoORAM 1 3 O(log N) 2N

Ours 1 1 + ε 2 (1 + 1ε )N

∗Not counting the position mapDan Roche (USNA) Write-Only ORAM 21-09-2017 23 / 31

Page 51: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Our WoORAM

(Roche, Aviv, Choi, Mayberry, CCS’17)

Storage consists of two parts:

Holding area:Circular buffer where new blocks are written sequentially

Long-term storage:Size-N array where blocks go in their “true” locationsAlso written sequentially as items are copied from holding area

Key property: Every holding area block will definitely becopied to long-term storage before being overwritten.(No randomization or stash needed!)

Dan Roche (USNA) Write-Only ORAM 21-09-2017 24 / 31

Page 52: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Deterministic WoORAM Example

A

0

B

1

C

2

D

3

E

4

F

5

G

6

H

7

LON

GTE

RM

8 9 10 11

HO

LDIN

G

HIDDEN PUBLIC

Dan Roche (USNA) Write-Only ORAM 21-09-2017 25 / 31

Page 53: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Deterministic WoORAM Example

A

0

B

1

C

2

D

3

E

4

F

5

G

6

H

7

LON

GTE

RM

H’

8 9 10 11

HO

LDIN

G

HIDDEN PUBLIC

write(H’) write(0) write(1) write(8)

1 Normal write. Old value is not written but becomes stale.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 25 / 31

Page 54: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Deterministic WoORAM Example

A

0

B

1

C

2

D

3

E

4

F

5

G

6

H

7

LON

GTE

RM

H’

8

F’

9 10 11

HO

LDIN

G

HIDDEN PUBLIC

write(H’) write(0) write(1) write(8)write(F’) write(2) write(3) write(9)

2 Normal write. Long-term blocks are “refreshed” even if not stale.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 25 / 31

Page 55: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Deterministic WoORAM Example

A

0

B

1

C

2

D

3

E

4

F’

5

G

6

H

7

LON

GTE

RM

H’

8

F’

9

A’

10 11

HO

LDIN

G

HIDDEN PUBLIC

write(H’) write(0) write(1) write(8)write(F’) write(2) write(3) write(9)write(A’) write(4) write(5) write(10)

3 Just-written value is copied to long-term block.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 25 / 31

Page 56: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Deterministic WoORAM Example

A

0

B

1

C

2

D

3

E

4

F’

5

G

6

H’

7

LON

GTE

RM

H’

8

F’

9

A’

10

A”

11

HO

LDIN

G

HIDDEN PUBLIC

write(H’) write(0) write(1) write(8)write(F’) write(2) write(3) write(9)write(A’) write(4) write(5) write(10)write(A”) write(6) write(7) write(11)

4 Holding area values can become stale before being refreshed.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 25 / 31

Page 57: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Deterministic WoORAM Example

A”

0

B

1

C

2

D

3

E

4

F’

5

G

6

H’

7

LON

GTE

RM

D’

8

F’

9

A’

10

A”

11

HO

LDIN

G

HIDDEN PUBLIC

write(H’) write(0) write(1) write(8)write(F’) write(2) write(3) write(9)write(A’) write(4) write(5) write(10)write(A”) write(6) write(7) write(11)write(D’) write(0) write(1) write(8)

5 Both areas complete one “round” at the same time.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 25 / 31

Page 58: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Deterministic WoORAM Example

A”

0

B

1

C

2

D

3

E

4

F’

5

G

6

H’

7

LON

GTE

RM

D’

8

F’

9

A’

10

A”

11

HO

LDIN

G

HIDDEN PUBLIC

write(H’) write(0) write(1) write(8)write(F’) write(2) write(3) write(9)write(A’) write(4) write(5) write(10)write(A”) write(6) write(7) write(11)write(D’) write(0) write(1) write(8)

Public transcript reveals nothing about the logical operations.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 25 / 31

Page 59: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Overhead-Storage Tradeoff

The scheme can be adjusted to write fewer blocks or use less storage.

Example: Low storage

5 writes per opStorage size 1.25N X X X X X X X X X X

LONG-TERM HOLDING

Example: Balanced

2 writes per opStorage size 2N X X X X X X X X X X X X X X X X

LONG-TERM HOLDING

Example: Fast writes

1 or 2 writes per op(alternating)Storage size 3N

X X X X X X X X

X X X X X X X X X X X X X X X X

LONG-TERM

HOLDING

Dan Roche (USNA) Write-Only ORAM 21-09-2017 26 / 31

Page 60: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Advantages

Performance: Asymptotically optimal.Can achieve (nearly) absolute optimal overhead or storage

Security: Simplified security proof, relies only on symmetric cipher

Stateless: Client only needs cipher key and a counter

Locality: Long-term storage has spatial locality; holding area hastemporal locality. Reduces cache misses during reads.

Sequential write pattern: Ideal for SSD devices

Dan Roche (USNA) Write-Only ORAM 21-09-2017 27 / 31

Page 61: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Write-Only ORAM Comparison∗

Overhead StorageRead Write Hidden Public

Trivial 1 N 1 NSquare Root ORAM 1

√N O(

√N) N

Path ORAM 5 lg N 5 lg N O(log N) 10NBMNO-WoORAM 1 3 O(log N) 2N

Ours 1 1 + ε 2 (1 + 1ε )N

∗Not counting the position mapDan Roche (USNA) Write-Only ORAM 21-09-2017 28 / 31

Page 62: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

Implementation

Both WoORAM implemented as C++ template classes

BUSE (Block Device in Userspace) connects code to Linux kernel

BUSENBD

WoORAM

Benchmark Results using fio with random reads&writesHard disk: 10.2 MB/sec(200x faster than BMNO, 1.6x slower than baseline)

Solid state: 34.4 MB/sec(4.1x faster than BMNO, 4.5x slower than baseline)

Dan Roche (USNA) Write-Only ORAM 21-09-2017 29 / 31

Page 63: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Motivation Square Root ORAM Path ORAM Write-Only ORAM Better WoORAM

More details

See the paper for details on:

CiphersUsing CTR mode cuts down on the storage of IVs.

Position mapWe design an oblivious trie data structure to store the positions injust one recursive WoORAM.This saves a O(log N) factor compared to BMNO-WoORAM.

Block packing and stripingEverything (including position map) can be written intwo sequential physical blocks under reasonable parameters.

Dan Roche (USNA) Write-Only ORAM 21-09-2017 30 / 31

Page 64: A better write-only oblivious RAM - United States Naval ... · 1 “Square Root” ORAM (Goldreich & Ostrovsky ’96) 2 Path ORAM (Stefanov, Shi et al ’12) 3 Write-Only ORAM (Blass,

Thank you for having me!


Recommended