← Latest papers
💻 computer science

Recovering a Full AES-128 Key Across Tenant Boundaries via DDR4 Row-Buffer Timing on Cloud FPGAs

This paper demonstrates that a fully unprivileged co-tenant on a shared cloud FPGA can recover a complete AES-128 master key from a victim by exploiting DDR4 row-buffer timing side-channels, overcoming the "one-slot-per-bank" limitation through reverse-engineered bank mapping and statistical aggregation across multiple encryptions.

Original authors: Vineet Chadalavada, Fareena Saqib

Published 2026-09-07
📖 7 min read🧠 Deep dive

Original authors: Vineet Chadalavada, Fareena Saqib

Original paper licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

In the modern digital world, we often imagine that our private data is locked away in a secure vault, separated from the prying eyes of others by layers of software and digital walls. This is the promise of cloud computing: that different users can share the same powerful hardware without ever seeing each other's work. However, the physical reality of how computers store information tells a different story. When a computer performs a calculation, it often needs to look up values in a large list, much like checking a dictionary for a definition. To do this quickly, the computer opens a specific section of its memory, known as a row buffer, to keep that list ready. If the computer needs to look up a different item in the same section, it must close the current list and open a new one, a process that takes a tiny fraction of a second longer. This difference in time, though minuscule, leaves a trace. Just as a footstep in wet sand reveals where someone walked, the time it takes to access memory can reveal which data was being used. For decades, security experts have known that these tiny timing clues could be used to steal secrets from a single computer, but the question remained whether this trick could work across the invisible boundaries that separate different users on a shared cloud server.

Researchers at the University of North Carolina at Charlotte have now demonstrated that it is indeed possible to steal a complete secret key from a neighbor on a shared cloud server, using nothing but the timing of memory access. They focused on a specific type of cloud hardware called a Field-Programmable Gate Array, or FPGA, which is a reconfigurable chip used to speed up complex tasks. In a typical cloud setup, multiple users are placed on the same physical card to save money. While the software ensures that User A cannot directly read User B's files, both users share the same physical memory chips outside the main processor. The researchers showed that a user with no special privileges, no access to the victim's data, and no knowledge of the secret key could still recover the entire encryption key used by a neighbor. They achieved this by carefully measuring how long it took their own computer to read from memory while the neighbor was simultaneously performing encryption.

The challenge was far more difficult than simply listening to the neighbor's activity. In a standard computer cache, every single piece of data leaves its own unique footprint, allowing an attacker to see all sixteen parts of a secret key at once. However, the memory chips used in these cloud servers behave differently. They have a structural limitation where each memory section can only remember the very last item it opened. When a victim encrypts a message, they look up sixteen different values in a row. Because the memory section can only hold one open item at a time, the first fifteen lookups are immediately overwritten by the sixteenth. By the time the attacker tries to listen, the evidence of the first fifteen parts of the secret has vanished, leaving only the final piece visible. This created a barrier that made standard hacking techniques useless, as the attacker could only see one byte of the sixteen-byte key, which is not enough to break the encryption.

To overcome this, the researchers devised a clever strategy that exploited the fact that the memory chip contains sixteen independent sections, each with its own memory buffer. Instead of trying to listen to all sixteen parts in a single section, they rearranged the secret data so that each of the sixteen parts of the key lived in a different memory section. This way, when the victim looked up all sixteen values, they opened all sixteen sections simultaneously, and none of them overwrote the others. The attacker then built a custom tool that could quickly check each of the sixteen sections to see which one was still open. By repeating this process with many different test messages, the attacker could gather enough clues to reconstruct the full secret key. The researchers tested this method on a Xilinx Alveo U250 card, a common piece of hardware used in data centers. They found that by running their own program alongside a victim's encryption program, they could recover the entire master key in all nineteen keys tested, even when the victim was running a full, ten-round encryption process.

The success of this attack relied on two main discoveries. First, the researchers had to figure out exactly how the memory controller decided which section of memory to use for a specific piece of data. This mapping is not obvious and is different for every type of hardware. The team reverse-engineered this map by timing how long it took to access different addresses, effectively mapping the memory layout from the outside in. Second, they had to prove that the signal they were detecting was real and not just random noise. The difference in time between a successful memory access and a failed one was incredibly small, lasting only about four clock cycles, or roughly thirty-two nanoseconds. Despite this tiny signal, the researchers showed that by averaging the results over many attempts, the pattern became clear. In their most realistic test, where the attacker and victim ran completely separate programs without any coordination, the attacker successfully recovered the full key from a victim who was encrypting data with a verified, standard encryption algorithm.

This work does not mean that all cloud computing is currently unsafe, but it reveals a specific vulnerability in how shared hardware is managed. The researchers noted that most commercial cloud instances today are dedicated to a single user, which prevents this type of attack. However, as the industry moves toward more efficient, shared hardware to lower costs, the risk increases. The study highlights that logical isolation, which keeps software separate, is not enough to protect physical resources. The memory chips themselves retain a history of what was accessed, and that history can be read by a neighbor. The researchers suggest several ways to fix this, such as keeping secret data in the fast, private memory inside the chip rather than the shared external memory, or randomizing where data is stored so that the timing clues become meaningless. They also propose that cloud providers could monitor memory access patterns to detect when a user is trying to spy on another.

The implications of this research extend beyond just one type of encryption. The method used to steal the key relies on the fundamental way memory works, meaning it could potentially be applied to other secret-keeping algorithms that use similar lookup tables. The researchers emphasized that their findings are based on actual hardware experiments, not computer simulations, which gives the results a high degree of reliability. They tested the attack against fifty different random keys and nineteen different encryption scenarios, and it worked every time. The entire process of recovering the key took only seconds once the initial setup was complete, making it a practical threat for any future cloud environment that allows multiple users to share the same physical memory.

Ultimately, this study serves as a warning that the physical world of computer hardware has its own rules that software cannot always override. Just as two people sharing a room might hear each other's footsteps even if they cannot see each other, two users sharing a cloud server might be able to hear the timing of each other's memory accesses. The researchers have shown that with enough patience and the right tools, these faint echoes can be amplified into a clear picture of a secret. As cloud providers continue to pack more users onto fewer chips to improve efficiency, understanding these physical side channels will be essential for designing systems that are truly secure. The solution lies not in building higher digital walls, but in understanding the physical behavior of the memory beneath them and ensuring that the history of one user's actions cannot be read by another.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →