Memory access is one of the most important operation done in modern processors thus it plays an important role in implementation of trusted execution environment. Recent secure processors and trusted environment encrypt memory contents to protect those important memory operations. However, sometimes just encrypting data is not enough since there are intelligent attackers who can see where the memory access goes to and infer where the real important data lies in. Those important data includes the private data, key, or OS fingerprint and else. These kind of attacks lead to concept of “memory obliviousness” to secure memory address itself. ORAM refers to Oblivious memory which can leverage obliviousness using specialized data structures and obfuscate memory access so even an attacker see or probe the memory access itself, he never learns about where important data lies on or even where the memory requests are headed to. Initially proposed by Goldreich and Ostrovsky, ORAM obfuscates memory access using random permutation, shuffling and encryption of contents. In this proposal, I’ll implement ORAM interface to support obliviousness on RISC-V’s trusted execution environment.



Yeonju Ro


  • Stefan Wallentowitz-1
  • Alex Bradbury