Skip to main content
This guide shows you how to perform GPU attestation and verification on Virtual Machines provisioned by io.net Cloud, this allows you to verify NVIDIA GPUs and validate cryptographic evidence to ensure workloads run in a Trusted Execution Environment (TEE).

One-Time Setup

Before running GPU verification for the first time, you need to install NVIDIA’s official attestation tools. This setup takes about 2–3 minutes and only needs to be completed once per VM.
1

Connect to your VM

2

Create Verification Directory

Create a dedicated directory to store the verification tools and scripts.
3

Create a Python Virtual Environment

Use a virtual environment to keep dependencies isolated and avoid conflicts with system packages.
You should now see (venv) in your command prompt.
4

Install NVIDIA Attestation SDK

Upgrade pip, then install NVIDIA’s official attestation packages.
Expected output:
5

Create the Verification Script

Create a Python script that collects GPU evidence and performs cryptographic attestation using NVIDIA’s SDK.
6

Verify the Installation

Confirm that the NVIDIA attestation packages are installed correctly.
Expected output:

Setup Complete

You have successfully installed the official NVIDIA GPU attestation tools.What you have created:
  • Directory: ~/gpu-verification/
  • Virtual environment: ~/gpu-verification/venv/
  • Verification script: ~/gpu-verification/verify_gpu.py
  • Installed packages: nv-attestation-sdk, nv-local-gpu-verifier
This setup is required only once. The verification script is now ready for repeated use whenever GPU attestation is required.

Running GPU Verification

After completing the one-time setup, you can verify your GPUs at any time by following the steps below.

Quick Verification

This verification process will take approximately 30 seconds.

What Happens During Verification

The verification script performs the following steps automatically:
1

Generating a Cryptographic Nonce

  • Creates a random 32-byte challenge value.
  • Ensures attestation freshness and prevents replay attacks.
2

Collecting Evidence from GPUs

  • Queries each GPU for attestation evidence (typically takes approximately 20 seconds).
  • Retrieves certificate chains directly from the GPU hardware.
  • Collects firmware measurements for both the driver and VBIOS.
  • Gathers all required cryptographic signatures.
3

Validating Attestation Evidence

  • Verifies that certificate chains trace back to the NVIDIA Root Certificate Authority.
  • Checks certificate revocation status using OCSP (Online Certificate Status Protocol).
  • Retrieves Reference Integrity Manifests (RIMs) from NVIDIA.
  • Compares runtime firmware measurements against known golden RIM values.
  • Validates all cryptographic signatures to ensure integrity and authenticity.

Expected Output (Success)

What This Proves

When the output displays ✅ VERIFICATION SUCCESSFUL, you have cryptographic assurance that:
  1. Authenticity: All GPUs are genuine NVIDIA hardware with valid certificate chains.
  2. Integrity: Firmware measurements match NVIDIA’s reference values, indicating no tampering.
  3. Configuration: Confidential Computing features are enabled and functioning correctly.
  4. Trust Chain: All certificates trace back to the NVIDIA Root Certificate Authority and have not been revoked.

Understanding Verification Results

Successful Verification Indicators

Your GPUs are successfully verified when all of the following messages appear:
  • ✅ “VERIFICATION SUCCESSFUL”
  • ✅ “Certificate chains are valid”
  • ✅ “Certificates are not revoked (OCSP)”
  • ✅ “Firmware measurements match golden RIM values”
  • ✅ “Hardware attestation passed”
What this confirms:
  • The GPUs are authentic NVIDIA hardware.
  • Firmware is intact, unmodified, and matches NVIDIA’s reference measurements.
  • Confidential Computing features are enabled and operating correctly.
  • The system is suitable for running sensitive workloads.

Failed Verification Indicators

Contact support immediately if any of the following messages appear:
  • ❌ “VERIFICATION FAILED”
  • ❌ “Certificate validation failed”
  • ❌ “RIM verification failed”
  • ❌ “OCSP check failed (revoked)”
  • ❌ “No GPUs with Confidential Computing support found”
What this may indicate:
  • The hardware does not support Confidential Computing.
  • The system is misconfigured.
  • Network connectivity issues are preventing access to OCSP or RIM services.
  • A potential security issue that requires further investigation.
Do not process sensitive or confidential data if verification fails.All failures should be investigated and resolved before running protected workloads.

Troubleshooting

This section outlines common issues encountered during GPU attestation and provides guidance on how to diagnose and resolve them.
Possible causes:
  • The virtual machine type does not support Confidential Computing.
  • NVIDIA drivers are not installed or are not properly loaded.
  • Confidential Computing features are not enabled at the BIOS or firmware level.
Verify GPU presence:
Expected result:
The output should list NVIDIA H100 or H200 GPUs.
If no GPUs are shown:
Contact support, as the virtual machine may not be provisioned with the correct hardware.
Possible causes:
  • Firewall rules blocking outbound HTTPS traffic to NVIDIA services.
  • No internet connectivity from the virtual machine.
  • Temporary unavailability of NVIDIA attestation services.
Test connectivity to NVIDIA services:
If access is blocked:
Update firewall rules to allow outbound HTTPS traffic (port 443) to the following endpoints:
  • ocsp.nvidia.com
  • rim.attestation.nvidia.com
Normal execution time:
  • First run: 45–60 seconds (initial download of RIM files)
  • Subsequent runs: 30–45 seconds (cached RIM files are reused)
If execution exceeds five minutes:
  • Network latency may be affecting access to NVIDIA services.
  • Cancel the process using Ctrl + C and retry.
  • If the issue persists, contact support for further assistance.
Possible cause:
The Python virtual environment is not activated.
Solution:
Possible causes:
  • No internet connectivity during setup.
  • Inability to reach the PyPI repository.
  • Insufficient available disk space.
Solution:

Support

Getting Help

If you encounter issues during GPU verification, follow the steps below to diagnose and resolve the problem. Recommended Troubleshooting Steps
  1. Review this guide
    Most common issues and resolutions are documented in the troubleshooting section.
  2. Examine error messages carefully
    Error output typically indicates the underlying cause of the failure.
  3. Verify prerequisites
    Ensure that the NVIDIA driver is installed correctly and that GPUs are visible to the system.
  4. Collect diagnostic information
    Gather the following information before contacting support:

Contact Support

When reaching out for assistance, provide the Virtual machine identifier, complete error messages, and the diagnostic files listed above.

NVIDIA Resources

Official NVIDIA Documentation NVIDIA Support Channels