Understanding Verifiability
Enclave verifiability is a critical security feature that allows users to confirm that code is running in genuine hardware with hardware security features enabled. Tinfoil’s integrity features ensure that all code and data remain unchanged and verifiable through cryptographic remote attestation performed with the Trusted Execution Environment (TEE). When connecting to a Tinfoil secure enclave, the Tinfoil client automatically verifies the TEE’s attestation and compares the runtime code measurement (signed hash of the code running inside the TEE) to the measurement of the code committed to by Tinfoil on GitHub and Sigstore.Attestation verification is performed automatically by the Tinfoil client
library. This happens transparently without requiring explicit developer
action, but can be customized for advanced use cases.
Attestation Process
The attestation process establishes a chain of trust from the hardware level up to the application level. Each step builds upon the security guarantees of the previous one to create a chain of trust connecting the hardware to the publicly auditable code it is running.How It Works
- Hardware Authentication The process begins by verifying the authenticity of the physical hardware components. This step ensures the TEE is running on genuine confidential computing chips with proper security features enabled, not on simulated or otherwise compromised hardware.
- Configuration Verification Once hardware authenticity is confirmed, the system validates that all security-critical settings are properly configured. This ensures the TEE environment is set up with the correct parameters and isolation boundaries.
- Code Measurement The system creates cryptographic measurements (hashes) of all code and configuration files being loaded into the TEE. This prevents modification of the code during runtime.
Attestation Chain of Trust
The attestation chain is established through a series of cryptographic validations:- Hardware Root of Trust: Hardware manufacturers (Intel, AMD, NVIDIA) embed cryptographic keys in their processors
- Firmware Validation: Hardware validates firmware integrity during boot
- TEE Initialization: Firmware initializes the TEE with verified security parameters
- Measurement: TEE measures loaded code and creates cryptographic evidence
- Attestation Report: TEE signs the measurements with hardware keys
- Verification: Clients verify signatures and measurements against known good values
- Transparency Log: Code measurements are recorded on Sigstore for public auditability

