Lesson 7.3 · 13 min read
Composite attestation for AI workloads
Verifying the CPU TEE and the GPU together before releasing model keys.
Two pieces of evidence, one decision
For confidential AI, a key service should release model or data keys only when both the confidential VM and every attached GPU pass attestation. NVIDIA provides the NVIDIA Remote Attestation Service (NRAS) as the primary way to validate GPU attestation reports, and publishes open-source tooling for local verification in its nvtrust repository.
- Attest the CVM: chain, TCB, debug off, measurements of firmware, kernel and image.
- Attest each GPU: report signed via NVIDIA's certificate chain, CC mode on, approved driver and VBIOS versions.
- Bind: the CVM evidence commits to the GPU evidence and the session key.
- Release: the key service releases the model key wrapped to the session key.
text
release_model_key IF
cvm.signature_chain_valid AND cvm.debug == false
AND cvm.tcb >= MIN_TCB AND cvm.measurements IN approved_images
AND cvm.report_data == H(gpu_evidence_hashes || session_pubkey || nonce)
AND FOR EACH gpu: gpu.verified_by(NRAS or local verifier)
AND gpu.cc_mode == "on"
AND gpu.driver_and_vbios IN approved_versionsAI-specific operational controls
- Encrypt model weights at rest and decrypt only inside the attested CVM.
- Keep prompt and completion logging inside the boundary, or redact before it leaves.
- Pin inference server and driver versions; GPU driver and firmware updates change what you must approve.
- Track NVIDIA security bulletins alongside CPU vendor advisories (Module 9).
Key takeaways
- Release keys only when the CVM and every GPU pass attestation.
- Bind GPU evidence into the CVM evidence to prevent mix-and-match attacks.
- Pin driver and firmware versions and include them in reference values.
Reference: NVIDIA nvtrust (GitHub), NVIDIA confidential computing.
End of module 7
Take the module 7 quiz to check your understanding.