Verification Types
Tinfoil implements two distinct verification approaches with their own set of security assumptions and tradeoffs.- Clients may verify at connection time by checking security proofs before proceeding with exchanging sensitive data, AND/OR:
- Auditors may verify an enclave out of band, using material committed to an append-only immutable log by an enclave.
Confidential Inference Orchestrator Architecture
All model inference requests go through the confidential inference orchestrator, which securely routes requests to the appropriate model enclave based on the requested model parameter. This orchestrator architecture provides several key benefits:-
Request Routing: The orchestrator examines incoming requests to determine the target model (e.g., from the
model
parameter in chat completions, or special handling for audio/document processing endpoints) and routes the request to the correct enclave. - Load Balancing: Multiple enclaves can serve the same model, and the orchestrator automatically load balances requests across available instances.
-
Chain of Trust: Both the confidential inference orchestrator and the model enclaves run the same
tfshim
framework, creating a consistent chain of trust throughout the entire inference pipeline.
Inference Chain of Trust
The chain of trust is established because both the orchestrator and enclaves use the same attestation framework:- Orchestrator Attestation: The confidential inference orchestrator runs the shim and generates its own attestation, proving it’s running unmodified code in a secure enclave
- Inference Enclave Attestation: Each model enclave also runs the shim and generates CPU attestations for their inference workloads.
Connection Time Verification
Connection time verification (aka in-band verification) occurs when a client checks the integrity of a service before exchanging application data. All of our client SDKs support this mode when running in an environment that supports it.Audit Time Verification
Audit time verification involves collecting attestation evidence out of band of an enclave connection and verifying it at a later time. This approach does not ensure in-band verification of the connection but rather relies on a verifiable audit trail that ensures Tinfoil or cloud providers can’t secretly tamper with the service without leaving a trace. All enclaves support audit time verification via attestation transparency.Audit time verification through attestation transparency
Tinfoil implements audit time verification through attestation transparency. At boot time, both the confidential inference orchestrator and each model enclave perform the following attestation process:- Generate a user identity for ACME registration
- Generate an ECDSA key for the TLS certificate
- Request a CPU attestation over the ECDSA public key
- Serialize the CPU attestation into a format that fits in the SAN field of an x509 TLS certificate
- Order a TLS certificate from a public CA using the enclave-specific ACME user and ECDSA key, embedding the CPU attestation into the SAN field