Metal A Metadata-Hiding File-Sharing System Weikeng Chen Raluca - - PowerPoint PPT Presentation

metal
SMART_READER_LITE
LIVE PREVIEW

Metal A Metadata-Hiding File-Sharing System Weikeng Chen Raluca - - PowerPoint PPT Presentation

Metal A Metadata-Hiding File-Sharing System Weikeng Chen Raluca Ada Popa UC Berkeley End-to-end encrypted file sharing Academia: DepSky, M-Aegis, Mylar, Plutus, ShadowCrypt, Sieve, SiRiUS Industry: Encryption is not enough: Metadata still


slide-1
SLIDE 1

Weikeng Chen

Metal

A Metadata-Hiding File-Sharing System

Raluca Ada Popa

UC Berkeley

slide-2
SLIDE 2

End-to-end encrypted file sharing

Academia:

DepSky, M-Aegis, Mylar, Plutus, ShadowCrypt, Sieve, SiRiUS

Industry:

slide-3
SLIDE 3

Encryption is not enough: Metadata still leaks

  • User identities: who read or wrote a file
  • File access patterns: which file is being read or written
slide-4
SLIDE 4

Doctor #1 #2 #3 The attacker sees: Doctor #1

  • The doctor is accessing a file
  • The file is #1
  • #1’s access control list

ACL: Doctor, Alice

Encryption is not enough: Metadata still leaks

slide-5
SLIDE 5

An attack using file access patterns

Doctor #1 #2 #3

Cancer

Diabetes

Heart

Filenames are also encrypted

slide-6
SLIDE 6

An attack using file access patterns

Doctor #1 #2 #3

Cancer

Diabetes

Heart

Patient Read diabetes treatment

1

See counts of file access

slide-7
SLIDE 7

An attack using file access patterns

Doctor #1 #2 #3 Patient Read cancer treatment See counts of file access

1 1

Cancer

Diabetes

Heart

slide-8
SLIDE 8

An attack using file access patterns

Doctor #1 #2 #3

37 239

Cancer Diabetes Heart 2. 2.49 49‰ 0. 0.39 39‰ 8. 8.61 61‰

877

Public database on disease incidence rate

Cancer

Diabetes

Heart

slide-9
SLIDE 9

An attack using file access patterns

Doctor #1 #2 #3

Cancer

Diabetes

Heart

Filenames inferred

Cancer Diabetes Heart

slide-10
SLIDE 10

Reveal a patient’s disease

Doctor #1 #2 #3

Cancer

Diabetes

Heart

I saw Alice in the waiting room Alice Read a treatment

Cancer Diabetes Heart

slide-11
SLIDE 11

Reveal a patient’s disease

Doctor #1 #2 #3

Diabetes

Heart

Alice Read a treatment

Diabetes Heart

Alice has cancer

Cancer

Cancer

slide-12
SLIDE 12

Encryption is not enough: Metadata still leaks

  • User identities: who read/wrote a file
  • File access patterns: which file is being read/written
slide-13
SLIDE 13

Single-server, secure against malicious users Scan all the files Example: Access a 64KB file in a million-file storage PIR-MCORAM’s amortized time > "# min Lower bound: Single-server construction has linear server computation in # of files

Existing solution: PIR-MCORAM [MMRS17]

slide-14
SLIDE 14

Server 1 Server 2

Expensive zero-knowledge proofs Assumes two semi-honest servers that do not collude Logarithmic overhead Does not support file sharing

Existing solution: Anonymous RAM [BHKP16]

slide-15
SLIDE 15

Much faster Assumes two semi-honest servers that do not collude Support file sharing

Server 1 Server 2

500× faster than PIR-MCORAM and 20× faster than AnonRAM Logarithmic overhead

Metal

slide-16
SLIDE 16

Metal’s three components

Anonymous access control Oblivious storage with malicious users Permission sharing See paper

slide-17
SLIDE 17

Metal’s threat model

Some users can be malicious

Server 1 Server 2

slide-18
SLIDE 18

Metal’s goals

Privacy Efficiency Any given access should be oblivious among all the files accessible by the honest users

slide-19
SLIDE 19

Metal’s file layout

secret-shared between the two servers Decryption key:

Server 1 Server 2

slide-20
SLIDE 20

Input

!"

Secure two-party computation (S2PC) [Yao86]

S2PC #1, #2 = ((!1, !2)

Security guarantee: Each server only learns its own input and output

Input

!+

Output

#"

Output

#+

slide-21
SLIDE 21

Our S2PC uses reactive Yao’s protocol

Stateful S2PC

… …

The S2PC is a continuous service, rather than a one-time computation

slide-22
SLIDE 22

Strawman 1: All files in S2PC

Read #1

#1 #2 #3

Security goal:

  • No server sees the file
slide-23
SLIDE 23

#1 #2 #3

Read #1

#1

S2PC

Security goal:

  • No server sees the file

Strawman 1: All files in S2PC

slide-24
SLIDE 24

#1 #2 #3

Read #1

#1

S2PC

Problem: Very large S2PC circuit

256 bits each bit

Strawman 1: All files in S2PC

slide-25
SLIDE 25

Oblivious RAM [Goldreich86, Ostrovsky90]

ORAM Server

Access a file in a way that hides which file and is efficient

ORAM Client

Read/write a file I don’t know which file

The ORAM server only accesses log(N) files ORAM protocol

slide-26
SLIDE 26

Strawman 2: S2PC + ORAM

S2PC

ORAM Server ORAM Client

ORAM Client?

slide-27
SLIDE 27

Strawman 2: S2PC + ORAM

S2PC

ORAM Server ORAM Client

ORAM protocol

Read #1 Read #1.

Problem: Still very large S2PC circuit (e.g., 75 s per access)

slide-28
SLIDE 28

Technique: Synchronized inside-outside ORAM

Observation: For efficiency, data should be outside S2PC

ORAM IndexORAM Small indices DataORAM Accessed by Yao’s protocol Accessed by public-key protocols Big file data

Challenge: Synchronizing IndexORAM and DataORAM Synchronize

slide-29
SLIDE 29

Encryption in DataORAM

DataORAM

  • Use ElGamal encryption
  • One can rerandomize a ciphertext using the public key

Can be leveraged in designing oblivious protocols

slide-30
SLIDE 30

ORAM access

ORAM Server

In ORAM, access to a file downloads data on a path

ORAM Client Path !

slide-31
SLIDE 31

Synchronized ORAM access in Metal

ORAM Client Path ! IndexORAM

slide-32
SLIDE 32

Synchronized ORAM access in Metal

ORAM Client Path ! IndexORAM Pos = 2 Pos(1)

To Server 1

Pos(2)

To Server 2

Secret-share the position The desired file

slide-33
SLIDE 33

Synchronized ORAM access in Metal

DataORAM Pos(1) Pos(2) Challenge: Obtains the data obliviously

slide-34
SLIDE 34

Synchronized ORAM access in Metal

DataORAM Pos(1) Pos(2) Challenge: Obtains the data obliviously Uses secret-shared doubly oblivious transfer A rerandomized ciphertext

  • f the file
slide-35
SLIDE 35

Synchronized ORAM access in Metal

DataORAM Pos(1) Pos(2) Challenge: Obtains the data obliviously The two servers then run threshold decryption to return the plaintext data. Only the user sees the data

slide-36
SLIDE 36

ORAM update

ORAM Server

The client updates the ORAM by reorganizing the files

ORAM Client Path !1, !2

slide-37
SLIDE 37

Synchronized ORAM update in Metal

IndexORAM ORAM Client Path !1, !2

Challenge: securely apply the same update on DataORAM

slide-38
SLIDE 38

Technique: Tracking and permutation generation

IndexORAM ORAM Client Path !1, !2

the ORAM update can be expressed as a permutation

σ

Old A B C

  • New

A

  • B
  • C
slide-39
SLIDE 39

Synchronized ORAM update in Metal

IndexORAM ORAM Client Path !1, !2

σ

σ(1)

To Server 1

σ(2)

To Server 2

Secret-share the permutation

slide-40
SLIDE 40

Synchronized ORAM update in Metal

DataORAM

σ(1) σ(2)

Challenge: Applies the permutation, but hides the permutation Each server performs a secret share of permutation in turn

slide-41
SLIDE 41

Synchronized ORAM update in Metal

DataORAM

σ(1) σ(2)

Challenge: Applies the permutation, but hides the permutation Each server performs a secret share of permutation in turn Applied σ(1) Applied σ(2) Ciphertexts are rerandomized during the permutation.

slide-42
SLIDE 42

Synchronized IndexORAM and DataORAM

IndexORAM DataORAM

Synchronize The two techniques improve over S2PC + ORAM by 20×

slide-43
SLIDE 43

Evaluation setup

Metal is implemented in C/C++ using the Obliv-C platform [ZE15] Evaluation setup:

  • Two servers, one in Northern California, one in Oregon
  • One client, in Canada
slide-44
SLIDE 44

Metal’s file access latency

The file access latency is within a few seconds 500× faster than PIR-MCORAM and 20× faster than AnonRAM

slide-45
SLIDE 45

www.oblivious.app

Thank you!

Metal

A Metadata-Hiding File-Sharing System