TEE Mode
What is TEE Mode?
TEE Mode leverages Trusted Execution Environments (TEEs) - secure areas within processors that isolate and protect sensitive computations - to generate Web Proofs.
In TEE Mode, a client’s request is routed through a proxy, which runs inside a Trusted Execution Environment. This proxy observes encrypted TLS session data (reusing components from our Origo networking stack) and generates attestations based on the observed data.
Pluto provides multiple execution modes for generating Web Proofs to maximize user optionality. TEE Mode is one of the three execution modes Pluto offers, alongside MPC Mode and Origo Mode.
TEEs at a high level
End-to-end encryption is comprised of three states, and TEE’s provide the last of the three: encryption-in-use.
- Encryption-at-rest protects your data while it is being stored.
- Encryption-in-transit protects your data when it is moving between two points.
- Encryption-in-use protects your data while it is being processed.
The key features of TEEs are isolation, integrity, confidentiality, and performance.
Web Proof TEE mode is designed to ensure sensitive data is handled securely while maintaining high performance using a combination of hardware-backed isolation, EKM Channel Binding and a custom “TEETLS” protocol. Pluto’s Web Proof TEE mode focuses on privacy, integrity, and low-latency to enable secure Web Proofs with minimal overhead.
The diagram below gives a high-level overview of the information flow between parties.
How is TEE Mode different from MPC Mode?
MPC Mode uses multi-party computation and a ‘man-in-the-middle’ approach to attest to TLS connection contents. In contrast, TEE Mode relies on hardware-backed security guarantees and runs the entire proxy within an isolated environment.
TEE Mode typically offers better performance than MPC Mode due to its hardware-based approach and reduced cryptographic overhead. However, it requires trust in the hardware manufacturer and security mechanisms.
How is TEE Mode different from Origo Mode?
While Origo uses a proxy-based approach similar to TEE Mode, the key difference lies in where and how the proxy operates. Origo runs its proxy in a standard environment and uses cryptographic techniques to ensure integrity, while TEE Mode runs the proxy within a hardware-isolated environment.
TEE Mode reuses components from Origo’s networking stack but adds additional security guarantees through hardware isolation. Like Origo, it maintains high performance and low latency, but with different trust assumptions.
How does Pluto use TEE Mode?
Pluto’s Web Proofs SDK implements TEE Mode alongside MPC Mode and Origo Mode. Developers can choose which mode to use based on their specific requirements around trust models, performance needs, and payload sizes.
For more detailed information on the inner workings of Pluto’s TEE Mode implementation, please refer to our TEE Mode blog post.