An Incomplete Reading List

Good for understanding TEEs in general:

  • SoK: Hardware-supported Trusted Execution Environments
    • the main thing I got out of this paper is a nice taxonomy of adversarial models and subproblems in TEE design
    • they also provide a framework to think about different kinds of techniques employed to solve key subproblems.
  • Keystone
    • really clean explanation of how a TEE works at a high level.
  • SGX explained
    • really long and detailed. Better to go looking for something specific than read front to end
  • TDX Demystified
    • Mostly useful to coming to understand how TEEs actually work.
    • found the attestation section useful
    • still had some questions on the hardware
  • Google’s TDX security review
    • lists a bunch of vulnerabilities found in an audit.
    • provides more colour on where keys are stored in hardware

Microarchitectural Side Channels:

Fault-based attacks on TEEs

  • Bypassing Isolated Execution on RISCV with Fault Injection
    • Shows how faults can be used to get around PMP which the the RISCV primitive used to provide memory isolation.
    • IMO attacks like these support the idea that we should avoid sharing hardware resources as much as possible.
  • Prime Masking vs Faults
    • Fault attacks can allow attackers to observe faulty (or missing if safeguard exist) outputs that provide insight into input or intermediate values. Boolean masking does not defend well against this, but prime masking does. Boolean masking also requires minimum levels of noise present in the chip.
    • This paper builds on previous research to prove that prime masking can be efficiently applied.
  • Beware Insufficient Redundancy
    • Demonstrates an attack on a design that is secure against an unrealistically weak adversary.

Security verification:

DRAM attack and defense:

Masking

Side Channel Resistant Instruction Sets/Processors

Note, the section above provides the primitives required to build what we find in this section.

Tamper Resistance

Trojans

Irreproducible Keys (Secrecy of Hardware Secrets)

Extending TEEs with prog crypto

Auditing design files