Project T-TEE reading list

Here I am starting to collect a list of (mostly) papers that are relevant to Project Open TEE, which is an effort to arrive at a TEEs with acceptable security models for “web3”.

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

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 Resistance 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)

Making TEEs go fast (in case we have to make them too slow to make them secure)

Auditing design files

6 Likes