Suppose you store your files on an untrusted server — encrypted, so the server cannot read them. You feel safe. But every time you open a file, the server watches which encrypted block you fetch. Over time that sequence of addresses reveals your reading habits, your recent edits, even your medical history, without ever breaking the encryption itself.
This is access-pattern leakage, and it is a real attack. Researchers have shown that the sequence of memory addresses a program visits can expose the secret inputs it is processing — even when every byte stored in memory is perfectly encrypted.
Oblivious RAM (ORAM) is the solution proposed by Oded Goldreich and Rafail Ostrovsky in 1996: a layer that sits between a program and its memory and scrambles the sequence of addresses accessed, so that an observer — the server, a hardware spy, or a side-channel adversary — sees only a random-looking stream of accesses, learning nothing about which logical slot was touched or why.
The price is overhead: every real access must be disguised among fake ones. How much overhead is necessary — and sufficient — is a rich open question in cryptography.
Comments
Loading comments...