Practicing Oblivious Access on Cloud Storage: the Gap, Fallacy, and - - PowerPoint PPT Presentation

practicing oblivious access on cloud storage the gap
SMART_READER_LITE
LIVE PREVIEW

Practicing Oblivious Access on Cloud Storage: the Gap, Fallacy, and - - PowerPoint PPT Presentation

Practicing Oblivious Access on Cloud Storage: the Gap, Fallacy, and the New Way Forward Vincent Bindschaedler 1 , Muhammad Naveed 1,3 , Xiaorui Pan 2 , XiaoFeng Wang 2 , and Yan Huang 2 1 University of Illinois at Urbana-Champaign 2 Indiana


slide-1
SLIDE 1

Practicing Oblivious Access on Cloud Storage: the Gap, Fallacy, and the New Way Forward

Vincent Bindschaedler1, Muhammad Naveed1,3, Xiaorui Pan2, XiaoFeng Wang2, and Yan Huang2

1University of Illinois at Urbana-Champaign 2Indiana University Bloomington 3Cornell University

slide-2
SLIDE 2

Cloud Storage

User Side

Application

Cloud Storage Service

file1 file4 file2 file3

slide-3
SLIDE 3

Cloud Storage

User Side

Application

get(file1) put(file1, data1) get(file2)

Cloud Storage Service

file1 file4 file2 file3

slide-4
SLIDE 4

Cloud Storage

User Side

Application

get(file1) put(file1, data1) get(file2)

Cloud Storage Service

file1 file4 file2 file3

slide-5
SLIDE 5

Cloud Storage

User Side

Application

get(file1) put(file1, data1) get(file2)

Cloud Storage Service

file1 file4 file2 file3

Leaks access pattern

slide-6
SLIDE 6

Background: Oblivious RAM

  • Obliviousness:
  • For any fixed size request sequence, the associated storages accesses
  • bserved (by the cloud) are statistically independent of the requests
  • Techniques
  • Operates on fixed size data blocks
  • Encrypt blocks with ciphertext indistinguishability
  • Dummy accesses, re-encryption, shuffling, etc.
slide-7
SLIDE 7

Oblivious Cloud Storage

Trusted User Side ORAM Client

Application

Cloud Storage Service

slide-8
SLIDE 8

Oblivious Cloud Storage

Trusted User Side ORAM Client

Application

get(key1) put(key1, val1) get(key2)

Cloud Storage Service

slide-9
SLIDE 9

Oblivious Cloud Storage

Trusted User Side ORAM Client

Application

get(key1) put(key1, val1) get(key2)

Cloud Storage Service

d

  • w

n l

  • a

d (

  • b

j e c t 5 7 ) download(object32) u p l

  • a

d (

  • b

j e c t 1 5 , d a t a 4 ) download(object3) download(object28) upload(object65, data19) download(object11) download(object44) u p l

  • a

d (

  • b

j e c t 7 3 , d a t a 2 6 )

slide-10
SLIDE 10

How close is ORAM to practice?

  • Are ORAM designs in line with the constraints of real-world

cloud services?

  • How close are ORAM techniques to offering practical support to

cloud applications?

  • Are we on the right track to narrow the gap?
slide-11
SLIDE 11

Assumptions in ORAM literature

  • 1. Bandwidth overhead is a good proxy metric
  • So, minimizing it optimizes application performance
  • 2. Application is not taken into account
  • Implicit assumption that application has no impact on performance

Assumptions influence the way the problem is thought about and guide the research agenda.

slide-12
SLIDE 12

Contribution

slide-13
SLIDE 13

Contribution

Chose 4 representative ORAM designs ORAM Literature 1

slide-14
SLIDE 14

Contribution

Chose 4 representative ORAM designs ORAM Literature 1 Build ORAM Systems

slide-15
SLIDE 15

Cloud Storage Evaluation Platform 2 Performance Data App ORAM

Contribution

Chose 4 representative ORAM designs ORAM Literature 1 Build ORAM Systems

slide-16
SLIDE 16

Cloud Storage Evaluation Platform 2 Performance Data App ORAM

Contribution

Chose 4 representative ORAM designs ORAM Literature 1 Build ORAM Systems New understanding

How ORAMs work

  • n cloud storage

What real apps need

3

slide-17
SLIDE 17

Cloud Storage Evaluation Platform 2 Performance Data App ORAM

Contribution

Chose 4 representative ORAM designs ORAM Literature 1 Build ORAM Systems New understanding

How ORAMs work

  • n cloud storage

What real apps need

3 CURIOUS (New ORAM Framework) 4 Design

slide-18
SLIDE 18

ORAM Systems We Built

  • 1. Tree-based: PathORAM
  • 2. Layered-based: LayeredORAM
  • 3. Large messages-based:

PracticalOS

  • 4. Partition-based: ObliviStore
  • 1. [PathORAM] Stefanov, Emil, et al. "Path ORAM: An Extremely Simple Oblivious RAM Protocol." CCS 2013.
  • 2. [LayeredORAM] Goodrich, Michael, et al. "Oblivious RAM simulation with efficient worst-case access overhead."

CCSW 2011.

  • 3. [PracticalOS] Goodrich, Michael, et al. "Practical oblivious storage." CODASPY 2012.
  • 4. [ObliviStore] Stefanov, Emil, and Elaine Shi. "Oblivistore: High performance oblivious cloud storage." S&P 2013.
slide-19
SLIDE 19

Application Selection

  • We use Filebench: filesystem benchmarking tool
  • Able to emulate several applications, e.g.:
  • Mail server
  • File server
  • Web proxy
  • Web server
slide-20
SLIDE 20

Methodology

slide-21
SLIDE 21

Methodology

client Amazon S3 bucket extract logs application traces Filebench accesses

slide-22
SLIDE 22

Methodology

client Amazon S3 bucket extract logs application traces Filebench accesses client

PathORAM ObliviStore PracticalOS LayeredORAM No ORAM

application

varmail webproxy webserver fileserver

Amazon S3 performance data accesses requests

slide-23
SLIDE 23

Findings

slide-24
SLIDE 24

Bandwidth overhead as a proxy for response time

slide-25
SLIDE 25

Bandwidth overhead as a proxy for response time

slide-26
SLIDE 26

Bandwidth overhead as a proxy for monetary cost

slide-27
SLIDE 27

Bandwidth overhead as a proxy for monetary cost

slide-28
SLIDE 28

Bandwidth overhead as a proxy for monetary cost

PathORAM

slide-29
SLIDE 29

Application traces

Time

time interval without ORAM Time

time interval with ORAM

  • Slowdown := time with ORAM / time without ORAM
slide-30
SLIDE 30

Application Traces

  • According to slowdown measurements:
  • ObliviStore could easily handle two applications (i.e., varmail and

webproxy), but could not handle the other two (i.e., webserver and fileserver)

  • PathORAM could not handle any of the four applications (it

experienced slowdowns ranging from 3 to 92)

  • In all cases, the monetary cost of running on top of ORAM was

roughly 100 times (or more) than running without ORAM

slide-31
SLIDE 31

PracticalOS & LayeredORAM

  • Neither of the two schemes could support any of the

applications

  • PracticalOS has a low response time for requests
  • but a long and expensive reshuffling phase
  • The cost of operating PracticalOS for varmail is roughly 15

USD / min

slide-32
SLIDE 32

Main Findings

  • Bandwidth overhead is not the bottleneck
  • Network latency is the bottleneck
  • Many real applications require the ORAM to process requests

concurrently

  • Downloads and uploads do not have the same cost
slide-33
SLIDE 33

Asynchronicity & Concurrent Request Processing

  • ObliviStore can process multiple requests concurrently and
  • ffer an asynchronous interface
  • Others (e.g., PathORAM) are fundamentally synchronous
  • The current request must be fully completed before the processing of

the next request can start

  • ORAM schemes do not appear to consider asynchronicity as a

crucial property

  • 3 out of 39 published papers have this property
slide-34
SLIDE 34

Asynchronicity is a MUST!

  • Asynchronicity has never been a main design goal.
  • But, we found that:
  • 1. Asynchronicity is not only desirable but actually necessary
  • No synchronous ORAM scheme can fully support cloud applications
  • 2. Asynchronicity is difficult
  • E.g., the implementation of ObliviStore did not get it right
slide-35
SLIDE 35

Bandwidth Asymmetricity

  • S3: the monetary cost of an upload is 12.5 times that of a download
slide-36
SLIDE 36

Bandwidth Asymmetricity

Median Response Time (ms)

30 60 90 120 1KB 2KB 4KB 8KB 16KB 32KB 64KB GET PUT

  • S3: the monetary cost of an upload is 12.5 times that of a download
slide-37
SLIDE 37

Bandwidth Asymmetricity

Median Response Time (ms)

30 60 90 120 1KB 2KB 4KB 8KB 16KB 32KB 64KB GET PUT

  • S3: the monetary cost of an upload is 12.5 times that of a download
slide-38
SLIDE 38

Bandwidth-only evaluation is INACCURATE!

  • Overhead evaluation: total bandwidth only in existing

literature

  • Bandwidth overhead := download overhead + upload overhead
  • But, experimentally, their performance and monetary cost are

different

  • Failure to incorporate this experimental insight in our thinking could lead

us to make incorrect conclusions about how schemes perform in practice

  • Example: which is better?
  • Scheme 1: 20 download overhead, 20 upload overhead
  • Scheme 2: 40 download overhead, 10 upload overhead
slide-39
SLIDE 39

CURIOUS

slide-40
SLIDE 40

Novel ORAM Framework: CURIOUS

  • Based on our findings, we propose CURIOUS
  • Simple design:
  • Flexible due to modular design
  • Simple concurrency model
  • Also, it preserves properties that applications expect from

cloud

  • e.g., reliability
slide-41
SLIDE 41

CURIOUS performs better than ObliviStore

Slowdown

1 1.75 2.5 3.25 4 varmail webproxy webserver fileserver ObliviStore CURIOUS

slide-42
SLIDE 42

CURIOUS performs better than ObliviStore

Slowdown

1 1.75 2.5 3.25 4 varmail webproxy webserver fileserver ObliviStore CURIOUS

  • Monetary cost is only half to two-thirds
slide-43
SLIDE 43

CURIOUS performs better than ObliviStore

Slowdown

1 1.75 2.5 3.25 4 varmail webproxy webserver fileserver ObliviStore CURIOUS

  • Monetary cost is only half to two-thirds
slide-44
SLIDE 44

CURIOUS performs better than ObliviStore

Slowdown

1 1.75 2.5 3.25 4 varmail webproxy webserver fileserver ObliviStore CURIOUS

  • Monetary cost is only half to two-thirds
slide-45
SLIDE 45

CURIOUS performs better than ObliviStore

Slowdown

1 1.75 2.5 3.25 4 varmail webproxy webserver fileserver ObliviStore CURIOUS

  • Even though
  • CURIOUS uses 2X the bandwidth of ObliviStore
  • Monetary cost is only half to two-thirds
slide-46
SLIDE 46

Conclusions

  • Oblivious RAM has come a long way…
  • … and there is a long way to go still…
  • But we found:
  • In theory there is no difference between theory and practice
  • But in practice, there is.
  • Lesson:
  • align theory to practice
  • evaluate theory on practical systems
slide-47
SLIDE 47

Open-Source Code (BSD license)

  • Our entire system including CURIOUS, the 4 representative

ORAM schemes (PathORAM, LayeredORAM, PracticalOS, ObliviStore), and our evaluation platform is open-source.

  • Uses Amazon S3 as storage backend.
  • Download URL: oblivious-storage.com
  • Contact: bindsch2@illinois.edu