GhostRider: A Hardware-Software System for Memory Trace Oblivious Computation

被引:81
作者
Liu, Chang [1 ]
Harris, Austin [1 ]
Maas, Martin [3 ]
Hicks, Michael [1 ]
Tiwari, Mohit [2 ]
Shi, Elaine [1 ]
机构
[1] Univ Maryland, College Pk, MD 20742 USA
[2] Univ Texas Austin, Austin, TX 78712 USA
[3] Univ Calif Berkeley, Berkeley, CA 94720 USA
基金
美国国家科学基金会;
关键词
ENCRYPTION; ATTACKS;
D O I
10.1145/2694344.2694385
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper presents a new, co-designed compiler and architecture called GhostRider for supporting privacy preserving computation in the cloud. GhostRider ensures all programs satisfy a property called memory-trace obliviousness (MTO): Even an adversary that observes memory, bus traffic, and access times while the program executes can learn nothing about the program's sensitive inputs and outputs. One way to achieve MTO is to employ Oblivious RAM (ORAM), allocating all code and data in a single ORAM bank, and to also disable caches or fix the rate of memory traffic. This baseline approach can be inefficient, and so GhostRider's compiler uses a program analysis to do better, allocating data to non-oblivious, encrypted RAM (ERAM) and employing a scratchpad when doing so will not compromise MTO. The compiler can also allocate to multiple ORAM banks, which sometimes significantly reduces access times. We have formalized our approach and proved it enjoys MTO. Our FPGA-based hardware prototype and simulation results show that GhostRider significantly outperforms the baseline strategy.
引用
收藏
页码:87 / 101
页数:15
相关论文
共 52 条
[1]  
Agat J., 2000, Conference Record of POPL'00: 27th ACM SIGPLAN-SIGACT. Symposium on Principles of Programming Languages. Papers Presented at the Symposium, P40, DOI 10.1145/325694.325702
[2]  
[Anonymous], 2002, THESIS
[3]  
[Anonymous], 1987, STOC
[4]  
[Anonymous], 1996, J ACM
[5]  
[Anonymous], 2002, Tech. Rep. UCAMCL-TR-536
[6]   Security of Multithreaded Programs by Compilation [J].
Barthe, Gilles ;
Rezk, Tamara ;
Russo, Alejandro ;
Sabelfeld, Andrei .
ACM TRANSACTIONS ON INFORMATION AND SYSTEM SECURITY, 2010, 13 (03)
[7]   Preventing Timing Leaks Through Transactional Branching Instructions [J].
Barthe, Gilles ;
Rezk, Tamara ;
Warnier, Martijn .
ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 153 (02) :33-55
[8]  
Barthe Gilles., 2005, ACM Types, P103, DOI [10.1145/1040294.1040304, DOI 10.1145/1040294.1040304]
[9]  
Bavera F, 2008, APPLIED COMPUTING 2008, VOLS 1-3, P347
[10]  
Blanton M., 2013, ASIACCS