practicing oblivious access on cloud storage the gap
play

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


  1. 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 University Bloomington 3 Cornell University

  2. Cloud Storage Cloud Storage Service Application file2 file1 file4 file3 User Side

  3. Cloud Storage Cloud Storage Service get(file1) Application file2 file1 put(file1, data1) file4 file3 get(file2) User Side

  4. Cloud Storage Cloud Storage Service get(file1) Application file2 file1 put(file1, data1) file4 file3 get(file2) User Side

  5. Cloud Storage Cloud Storage Service get(file1) Application file2 file1 put(file1, data1) file4 file3 get(file2) User Side Leaks access pattern

  6. Background: Oblivious RAM • Obliviousness: • For any fixed size request sequence, the associated storages accesses observed (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.

  7. Oblivious Cloud Storage Cloud Storage Service Application ORAM Client Trusted User Side

  8. Oblivious Cloud Storage Cloud Storage Service get(key1) Application ORAM Client put(key1, val1) get(key2) Trusted User Side

  9. Oblivious Cloud Storage Cloud Storage 7 ) t 5 e c o b j d ( o a n l o w d Service download(object32) get(key1) Application ORAM Client u p l o a d ( o b j e c t 1 5 , d a t a 4 ) download(object3) put(key1, val1) download(object28) upload(object65, data19) download(object11) get(key2) download(object44) u p l o a d ( o b j e c t 7 3 , d a t a 2 6 ) Trusted User Side

  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?

  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.

  12. Contribution

  13. Contribution 1 ORAM Literature Chose 4 representative ORAM designs

  14. Contribution 1 ORAM Literature Build ORAM Systems Chose 4 representative ORAM designs

  15. Contribution 2 App 1 Performance ORAM ORAM Data Literature Build ORAM Systems Chose 4 representative ORAM designs Cloud Storage Evaluation Platform

  16. Contribution 2 App 1 Performance ORAM ORAM Data Literature Build ORAM Systems Chose 4 representative ORAM designs Cloud Storage Evaluation Platform 3 How ORAMs work on cloud storage What real apps need New understanding

  17. Contribution 2 App 1 Performance ORAM ORAM Data Literature Build ORAM Systems Chose 4 representative ORAM designs Cloud Storage Evaluation Platform 3 How ORAMs work on cloud storage 4 CURIOUS Design What real apps (New ORAM Framework) need New understanding

  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.

  19. Application Selection • We use Filebench: filesystem benchmarking tool • Able to emulate several applications, e.g.: • Mail server • File server • Web proxy • Web server

  20. Methodology

  21. Methodology Amazon S3 application extract logs Filebench accesses bucket traces client

  22. Methodology Amazon S3 application extract logs Filebench accesses bucket traces client Amazon No ORAM varmail S3 accesses PathORAM webproxy requests ObliviStore webserver PracticalOS fileserver performance LayeredORAM application data client

  23. Findings

  24. Bandwidth overhead as a proxy for response time

  25. Bandwidth overhead as a proxy for response time

  26. Bandwidth overhead as a proxy for monetary cost

  27. Bandwidth overhead as a proxy for monetary cost

  28. Bandwidth overhead as a proxy for monetary cost PathORAM

  29. Application traces • Slowdown := time with ORAM / time without ORAM … time interval without ORAM Time … time interval with ORAM Time

  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

  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

  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

  33. Asynchronicity & Concurrent Request Processing • ObliviStore can process multiple requests concurrently and offer 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

  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

  35. Bandwidth Asymmetricity • S3: the monetary cost of an upload is 12.5 times that of a download

  36. Bandwidth Asymmetricity • S3: the monetary cost of an upload is 12.5 times that of a download 120 Median Response Time (ms) 90 60 30 0 1KB 2KB 4KB 8KB 16KB 32KB 64KB GET PUT

  37. Bandwidth Asymmetricity • S3: the monetary cost of an upload is 12.5 times that of a download 120 Median Response Time (ms) 90 60 30 0 1KB 2KB 4KB 8KB 16KB 32KB 64KB GET PUT

  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

  39. CURIOUS

  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

  41. CURIOUS performs better than ObliviStore 4 3.25 Slowdown 2.5 1.75 1 varmail webproxy webserver fileserver ObliviStore CURIOUS

  42. CURIOUS performs better than ObliviStore • Monetary cost is only half to two-thirds 4 3.25 Slowdown 2.5 1.75 1 varmail webproxy webserver fileserver ObliviStore CURIOUS

  43. CURIOUS performs better than ObliviStore • Monetary cost is only half to two-thirds 4 3.25 Slowdown 2.5 1.75 1 varmail webproxy webserver fileserver ObliviStore CURIOUS

  44. CURIOUS performs better than ObliviStore • Monetary cost is only half to two-thirds 4 3.25 Slowdown 2.5 1.75 1 varmail webproxy webserver fileserver ObliviStore CURIOUS

  45. CURIOUS performs better than ObliviStore • Monetary cost is only half to two-thirds • Even though • CURIOUS uses 2X the bandwidth of ObliviStore 4 3.25 Slowdown 2.5 1.75 1 varmail webproxy webserver fileserver ObliviStore CURIOUS

  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

Recommend


More recommend