GhostRider: A Hardware-Software System for Memory Trace Oblivious Computation (Best Paper Award)

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.


Authors: Chang Liu, Austin Harris, Martin Maas, Michael Hicks, Mohit Tiwari, Elaine Shi
Publication Date: March 2015
Conference: 20th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2015)
Download PDF: PAPER