+ All Categories
Home > Documents > Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II...

Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II...

Date post: 02-Oct-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
52
Tarik Moataz June 2 nd 2016 Aarhus MPC workshop 2016 *Joint work with Travis Mayberry and Erik-Oliver Blass
Transcript
Page 1: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Tarik Moataz

June 2nd 2016

Aarhus MPC workshop 2016

*Joint work with Travis Mayberry and Erik-Oliver Blass

Page 2: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Part IORAM Overview

Part IIC-ORAM*: Constant Communication ORAM with homomorphic Encryption

Part IIICHf-ORAM**: Constant Communication ORAM without homomorphic Encryption

2

* published at CCS’15

** Work in progress

Page 3: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

ORAM first introduced by Goldreich in 87 further enhanced by Goldreich and Ostrovsky in 96

3

CPU MEM…

Set of registers

(Private Storage)

Instruction 1

Instruction t

Program 𝜋𝑡

Set of memory

blocks (Public

Storage)

RAM

program

Page 4: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

4

Read(1)

Write(4)

Write(5)

Access pattern

=

Accessed

blocks 1,4, 5

+

Their Values !

Page 5: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

5Picture from http://radix-communications.com/randomness/

Page 6: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

𝑎𝑐𝑐𝑒𝑠𝑠1, … , 𝑎𝑐𝑐𝑒𝑠𝑠𝑛

𝑎𝑐𝑐𝑒𝑠𝑠′1, … , 𝑎𝑐𝑐𝑒𝑠𝑠′𝑛

𝑎𝑝1 = 𝐴(𝑎𝑐𝑐𝑒𝑠𝑠1), … , 𝐴(𝑎𝑐𝑐𝑒𝑠𝑠𝑛)

𝑎𝑝2 = 𝐴(𝑎𝑐𝑐𝑒𝑠𝑠′1), … , 𝐴(𝑎𝑐𝑐𝑒𝑠𝑠′𝑛)

• An access is either Read or Write

• For any probabilistic polynomial time adversary, the sequence 𝑎𝑝1and 𝑎𝑝2 are indistinguishable

• We say that ORAM hides the access pattern

6

Page 7: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

7

Access

AccessOblivious

simulation of RAM

Page 8: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

8

* Joint work with Shruti Tople, Yaoji Jia and Prateek Saxena to appear at USENIX’16

Software Protection

G87

Cloud Storage

SS13a, SS13b

Secure RAM computation, MPC

OS97, GKKKMRV12,

GGHJRW13

Garbled RAM

LO13

Privacy-preserving

WNLCSSH14, JMTS16*

Page 9: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Computational/non-computational (e.g., Onion ORAM, C-ORAM)

One-server/Multi-servers (e.g., Multi Cloud SS13, Oblivious Network RAM DLPSV15, Private information Storage OS97)

9

Access

Access

(possible like in PIS)

Page 10: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

One-CPU/Multiple CPUs (e.g., Oblivious Parallel RAM BCP16, CLT16)

Computational HA / Information-theoretic secure (DMN11, A10)

10

Multiple CPUs

Shared Memory

Page 11: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Worst-case communication overhead

Private Storage

Minimum Block Size

Number of rounds

MEM storage overhead

Computational overhead

11

Page 12: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

We want:

Constant Communication ORAM

Constant number of rounds

Very small Block Size

No Computation on the server Size

Constant Private Storage

12

𝑂(1)private

storage

𝑂(1) constant number of blocks

Page 13: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Unfortunately not possible

Goldreich and Ostrovsky (GO96) lower bound of at least log𝑁 blocks

In a one-server setting and without computation:

13

𝑂(log𝑁)private

storage

𝑂(log𝑁) number of blocks

Ring/Path ORAMBlock size in

Ω(log2𝑁)

Page 14: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

GO lower bounds is based on Balls/bins and does not capture:

Encoding stored data and performing computation on outsourced data BN’15

14

𝑂(1)private

storage

𝑂(1) number of blocks

Onion ORAMBlock size in

Ω(log5𝑁)

Very slow

Can we reduce computational overhead and block size?

Page 15: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

15

𝑂(1)private

storage

𝑂(1) number of blocks

C-ORAMBlock size in

Ω(log4𝑁)

10 times

faster

Page 16: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

GO lower bound does not capture multiple servers

16

𝑂(1)private

storage

𝑂(log𝑁) number of blocks

Lu and Ostrovsky 13

𝑂( 𝑁)

𝑂(1) number of blocks

Shi and Stefanov 13𝑂(log𝑁)number of blocks

No blocks

Page 17: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

GO lower bounds does not capture multiple servers, Great!

17

𝑂(1)private

storage

𝑂(1) number of blocks

No blocks

Block size in

Ω(log3𝑁)

Page 18: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

We want:

Constant Communication ORAM

Constant number of rounds

Very small Block Size

No Computation on the server Size

Constant Private Storage

18

Maybe, TWORAM, Bucket ORAM

Computation should not annihilate constant communication

Page 19: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Tree-based ORAM

SCSL’11

19

Page 20: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

● Read and Write operations

– Every element is defined by a leaf identifier

– Every element read/updated is written in the root

● Eviction (Memory shuffle) process to percolate elements towards the leaves

● Recursive position Map

Position Map recursively stored

Bucket e2 leaf1

e1 leaf2

e3 leaf4

e4 leaf3

• Search complexity is polylog

• Bucket size is a security parameter

Leaf

bucket

20

Page 21: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

e3

e2

e1

e4

e2 leaf1

e1 leaf2

e3 leaf4

e4 leaf3

Step 1

e3

e2

e1

e4

e2 leaf1

e1 leaf1

e3 leaf4

e4 leaf3

Step 2

e3

e2e1

e4

e2 leaf1

e1 leaf1

e3 leaf4

e4 leaf3

Step 3

21

Page 22: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Part I

ORAM Overview

Part II

C-ORAM*: Constant Communication ORAM with homomorphic Encryption

Part III

CHf-ORAM**: Constant Communication ORAM without homomorphic Encryption

22

Page 23: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Meta - information

blocks

ORAM tree

We say that an ORAM is a constant communication ORAM if:

• Constant number of blocks

• Meta-information is dominated asymptotically by the size of constant number blocks

The server in this model is a computational server rather than a storage-only server

23

Page 24: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Recent ORAM offers sublinear communication overhead

Onion ORAM by Devadas et al. (TCC’16) first solution offering constant communication overhead, but

With a large block size and a high number of homomorphic multiplications

Onion ORAM block size example:

For N = 220, the block size equals 33Mbit

Total data set size: 34 Tbit

24

Page 25: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Components and primitives:

Tree based ORAM

Additive homomorphic encryption such as Pailler or Damgard-Jurik

Private Information Retrieval (Kushilivitz et al.’97)

Select

Eviction without downloading the bucket

25

123

10

Q = (E(0), E(1), E(0) )

E(123)

123. E(1)

10 . E(0)

E(123)

E(0)

Page 26: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Bucket 1 Bucket 2

headers

PIR query

𝑬(𝒆𝟑) ∙ 𝑬(𝟏)

𝑬(𝒆𝟒)

Header

• Onion layers

• Select operation is the most

expensive operation in Onion ORAM

𝑬(𝒆𝟑)

𝑬(𝟎) ∙ 𝑬(𝟎) 𝑬(𝒆𝟒) ∙ 𝑬(𝟎) 𝑬(𝟎) ∙ 𝑬(𝟎)

Header

𝑬(𝑬 𝒆𝟏 )

𝑬(𝑬 𝒆𝟐 )

𝑬(𝑬 𝒆𝟑 ) 𝑬(𝑬 𝟎 )

Bucket 2

Header

𝑬(𝑬 𝒆𝟏 )

𝑬(𝑬 𝒆𝟐 )

𝑬(𝑬 𝒆𝟑 )

𝑬(𝑬 𝒆𝟒 )

𝑬(𝟏), 𝑬(𝟎), 𝑬(𝟎), 𝑬(𝟎)

26

Page 27: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Bucket 1 Bucket 2Headers

Header

Merged bucket

headers

Permutation 𝜋

Homomorphic

Addition

𝑬(𝒆𝟒)

𝑬(𝒆𝟑)1 0 1 0

0 1 1 0

Generate 𝜋

𝑬(𝒆𝟒)

𝑬(𝒆𝟑)

Headers

𝑬(𝒆𝟏)

𝑬(𝒆𝟐)

Headers

𝑬(𝒆𝟏)

𝑬(𝒆𝟐)

Apply 𝜋 on

bucket 2

𝑬(𝒆𝟒)

𝑬(𝒆𝟑)

Header

𝑬(𝒆𝟐)

𝑬(𝒆𝟏)

27

Page 28: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

• Oblivious merge saves a log2𝑁 multiplicative factor over Onion ORAM’s select

permutation

• From log𝑁 PIR operation to 1 PIR operation

• Main challenges: Security and correctness

1

0

1

1

0

0

1

0

0

1

0

1

1-positions: 1, 3, 40-positions: 2, 5, 6

1-positions: 1, 4, 60-positions: 2, 3, 5

1, 3, 4 2, 3, 5

2, 5, 6 1, 4, 6

Bucket 1 Bucket 2 Bucket 1

Bucket 2

Random

mapping

Random

mapping

1 3 4

2 3 5

2 5 6

1 4 6

3 1 5 2 6 4

𝜋

28

Page 29: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Headers of root

PIR vector

Headers of bucket1

PIR vector

Headers of leaf node

PIR vector1 23 4

29

Page 30: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

1 23 4

Block

Adding the block to the root with PIR-Write

30

Page 31: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Headers of root

Permutation

Headers of bucket 1 and 2

Permutation

Headers of leaf nodes 1 and 3

Permutation

Oblivious

mergingCopy bucket

31

Page 32: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

• Adversary, given 𝜋, does not get any additional knowledge over

• load of a bucket

• distribution of real, empty blocks

• Permutation outputted by oblivious merging is indistinguishable

from a random permutation

32

Page 33: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Noisy blocks

Increasing bucket size by factor 𝜑

Oblivious merge fails if at a given level and eviction

#empty blocks of parent < #real blocks of child

#empty blocks of child < #real blocks of parent

Headers

𝑬(𝒆𝟒)

𝑬(𝒆𝟑)

Headers

𝑬(𝒆𝟐)

𝑬(𝒆𝟏)

Headers

𝑬(𝒆𝟒)

𝑬(𝒆𝟑)

Headers

𝑬(𝒆𝟏)

𝑬(𝒆𝟐)

Headers

𝑬(𝒆𝟒)

𝑬(𝒆𝟑)

𝑬(𝒆𝟐)

𝑬(𝒆𝟏)

Additional

blocks

33𝜑 is constant equal to 4 (empirically 2.2)

Page 34: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Simplified block size Homomorphic additions Homomorphic scalar

multiplications

Onion ORAM Ω(log5 N) 𝚯(𝐥𝐨𝐠𝟖𝑵) 𝚯(𝐥𝐨𝐠𝟖𝑵)

C-ORAM Ω(log4 N) 𝚯(𝐥𝐨𝐠𝟔𝑵) 𝚯(𝐥𝐨𝐠𝟓𝑵)

34

𝑂(log4𝑁 + 𝐵)

Meta-information: |PIR vectors| + |headers|+ |Permutations|

Page 35: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Computation Storage

4000 % smaller block

size for the same dataset

10 000 % fewer

homomorphic operations

35

However C-ORAM still needs 5~10 minutes per access?

Page 36: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Part I

ORAM Overview

Part II

C-ORAM: Constant Communication ORAM with homomorphic Encryption

Part III

CHf-ORAM: Constant Communication ORAM without homomorphic Encryption

36

Page 37: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

37

How can we get rid of the very expensive Homomorphic

encryption?

Page 38: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

38

1. Replace Homomorphic encryption with secret shared block

2. Replace computational PIR with Information-theoretic PIR

Page 39: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

We use secret sharing and replace a homomorphically encrypted block by two shares:

39

𝑬(𝒆𝟐)

𝑬(𝒆𝟏)

Bucket

𝒆𝟐⊕ r2

𝒆𝟏⊕ r1

r2

r1

Share 2

Share 1

Page 40: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Bucket 1 Bucket 2Headers

𝒆𝟒 ⊕ r4

𝒆𝟑 ⊕ r3

Headers

𝒆𝟏 ⊕ r1

𝒆𝟐 ⊕ r2

40

r’1

r’2

r’3

r’4Server 1

Bucket 1 Bucket 2Headers

r4

r3

Headers

r1

r2r’1

r’2

r’3

r’4Server 2

Headers

𝒆𝟏 ⊕ r1 ⊕ r’2

𝒆𝟐 ⊕ r2 ⊕ r’1

𝒆𝟑 ⊕ r3 ⊕ r’4

𝒆𝟑 ⊕ r3 ⊕ r’3

Permutation 𝜋

Headers

r1 ⊕ r’2

r2 ⊕ r’1

r3 ⊕ r’4

r3 ⊕ r’3

Same Permutation 𝜋

Page 41: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

41

Download all headers of

the selected path

Determine the exact

position of the block

𝑉1 =0,1, 0,0,1,0,1,1,0,1,1,1

𝑉2 =0,1, 0,0,1,1,1,1,0,1,1,1

Page 42: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

42

Compute Result1 ⊕ Result2

Result2 = σ𝑖=1log 𝑁

𝑉2 [𝑖]⊕BiResult1 = σ𝑖=1log 𝑁

𝑉1 [𝑖]⊕Bi

Page 43: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Replace C-PIR with IT-PIR while taking advantage of the obliviousness of tree-based ORAM

43

For any constant #𝑺𝒆𝒓𝒗𝒆𝒓 ≥ 𝟐 and for any 𝑩 ≥ 𝒌 ∙ 𝑵, there exists

an IT-PIR construction with communication complexity O(B) bit.

For any constant #𝑺𝒆𝒓𝒗𝒆𝒓 ≥ 𝟐 and for any 𝑩 ≥ 𝒌 ∙ 𝒍𝒐𝒈 𝑵, there

exists an IT-PIR construction with communication complexity O(B) bit.

Page 44: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

44

Tree 1 Tree 2 Tree 3 Tree 4

• Tree 1 and Tree 2 are secret

shared (block per block)

• Tree 3 is a replica of Tree 1

• Tree 4 is a replica of Tree 2

Page 45: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

C-ORAM

O(log2𝑁) homomorphic multiplications

O(log𝑁) C-PIR query generation

Encrypt the block homomorphically

Computational HA

CHf-ORAM

O(log𝑁) XOR operations

O(log𝑁) Random bit generations

Secret share the block

IT-secure

45

CHf-ORAM is as good as PIS in communication enjoying a polylog in

computation (rather than linear)

Page 46: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

46

1. block size of 1 MB.

2. network speed of 20 Mbps.

3. XOR of two 1 MB blocks in 1 ms

(2012 Macbook Pro with 2.4 Ghz

Intel i7)

Page 47: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

In SCORAM, eviction circuit size in tree-based ORAM is a bottleneck for secure RAM computation

Best ORAM for secure RAM computation are those with constant private storage

Tree-based ORAM with stash are not good for secure RAM computation due to the oblivious sorting

47

CHf-ORAM has constant circuit size, with constant private storage

with no need for OS

Page 48: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

48

Scheme Circuit Size

SCSL’11 𝑂(log4𝑁 + 𝐵 ∙ log2𝑁)

CLP’14 𝑂(log4𝑁 + 𝐵 ∙ log2𝑁)

Path SC ORAM 𝑂(log logN (log3𝑁 + 𝐵 ∙ log𝑁))

LO’13 𝑂(log𝑁 ∙ 𝐶𝑃𝑅𝐹 + 𝐵 ∙ log𝑁)

Circuit ORAM 𝑂(log3𝑁 + 𝐵 ∙ log𝑁)

CHf-ORAM 𝑂(log4𝑁 + 𝐵)

If 𝐵 is larger than log4𝑁, then circuit size is constant in B

Page 49: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Simplified

block size in

bits

Private

Storage in

block

Communicat

ion in block

Homomorphic

additions

Homomorphic

scalar

multiplications

#Servers

C-ORAM Ω(log4 N) 𝑶(𝟏) 𝑶(𝟏) 𝚯(𝐥𝐨𝐠𝟔𝑵) 𝚯(𝐥𝐨𝐠𝟓𝑵) 1

CHf-ORAM Ω(log3 N) 𝑶(𝟏) 𝑶(𝟏) − − 4

49

Page 50: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

We have:

Constant Communication ORAM

Constant number of rounds

Very small Block Size

No Computation on the server Size

Constant Private Storage

One-server

50

Reduce the block size to be in 𝑂(log2𝑁)(No heavy computation)

Page 51: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Simplified

block size in

bits

Private

Storage in

block

Communica

tion in block

Homomorphic

additions

Homomorphic

scalar

multiplications

#Servers

C-ORAM Ω(log4 N) 𝑶(𝟏) 𝑶(𝟏) 𝚯(𝐥𝐨𝐠𝟔𝑵) 𝚯(𝐥𝐨𝐠𝟓𝑵) 1

CHf-ORAM Ω(log3 N) 𝑶(𝟏) 𝑶(𝟏) − − 4

Ω(log N) or

Ω(log2 N)

𝑶(𝟏) 𝑶(𝟏) − − 1

51Picture from http://www.deviantart.com/browse/all/fanart/?q=super-sheep&order=9

Page 52: Tarik Moataz June 2 2016 Aarhus MPC workshop 2016 - ctic.au.dk · Part I ORAM Overview Part II C-ORAM*: Constant Communication ORAM with homomorphic Encryption Part III CHf-ORAM**:

Thanks!

52


Recommended