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.
Publications
Tags
2D
Accelerators
Algorithms
Architectures
Arrays
Big Data
Bootstrapping
C++
Cache Partitioning
Cancer
Careers
Chisel
Communication
Computer Architecture
CTF
DIABLO
Efficiency
Energy
FPGA
GAP
Gaussian Elimination
Genomics
GPU
Hardware
HLS
Lower Bounds
LU
Matrix Multiplication
Memory
Multicore
Oblivious
Open Space
OS
Parallelism
Parallel Reduction
Performance
PHANTOM
Processors
Python
Research Centers
RISC-V
SEJITS
Tall-Skinny QR
Technical Report
Test generation