International Association for Cryptologic Research

International Association
for Cryptologic Research


Paper: Cache attacks and Countermeasures: the Case of AES

Dag Arne Osvik
Adi Shamir
Eran Tromer
Search ePrint
Search Google
Abstract: We describe several software side-channel attacks based on inter-process leakage through the state of the CPU's memory cache. This leakage reveals memory access patterns, which can be used for cryptanalysis of cryptographic primitives that employ data-dependent table lookups. The attacks allow an unprivileged process to attack other processes running in parallel on the same processor, despite partitioning methods such as memory protection, sandboxing and virtualization. Some of our methods require only the ability to trigger services that perform encryption or MAC using the unknown key, such as encrypted disk partitions or secure network links. Moreover, we demonstrate an extremely strong type of attack, which requires knowledge of neither the specific plaintexts nor ciphertexts, and works by merely monitoring the effect of the cryptographic process on the cache. We discuss in detail several such attacks on AES, and experimentally demonstrate their applicability to real systems, such as OpenSSL and Linux's dm-crypt encrypted partitions (in the latter case, the full key can be recovered after just 800 writes to the partition, taking 65 milliseconds). Finally, we describe several countermeasures which can be used to mitigate such attacks.
  title={Cache attacks and Countermeasures: the Case of AES},
  booktitle={IACR Eprint archive},
  keywords={side-channel attack, cache, memory access, cryptanalysis, AES},
  note={ 13010 received 15 Aug 2005},
  author={Dag Arne Osvik and Adi Shamir and Eran Tromer},