Skip to main content

The Attestation SDK provides developers with a easy to use APIs for implementing attestation capabilities into their applications.

Project description

NVIDIA Attestation SDK

The Attestation SDK offers developers easy-to-use APIs for implementing attestation capabilities into their Python applications. With this SDK, you can seamlessly integrate secure and reliable attestation services into your software, thereby ensuring the authenticity, integrity, and trustworthiness of your system.

Features

  • Local GPU Attestation (using NVIDIA NVML based Python libraries)
  • Remote GPU Attestation (using NVIDIA Remote Attestation Service)

Note: Attestation SDK is still in Early Access Release (beta), and the APIs may undergo changes until the GA release.

Install Attestation SDK

From Wheel file

  • Download the latest Wheel file from the this directory.

  • Install the SDK in a Python virtual environment. Please make sure that you are using the same virtual environment that you used in Step 2 for the NVIDIA Local GPU verifier scripts.

      pip3 install ./nv_attestation_sdk-<-version->-py3-none-any.whl
    

From Source

If you choose to install the Attestation SDK from the source code instead of a Wheel file, use the following commands:

cd attestation_sdk
pip3 install .

GPU Attestation

Pre-requisites

  1. Create a Confidential Virtual Machine with the following specifications:
  • NVIDIA Hopper H100 GPU
  • Driver version r535 installed.
  • Ensure that the SKU is supported for Confidential Computing.
  1. Follow the instructions in nvTrust/guest_tools/local_gpu_verifier/README.md to install the NVIDIA GPU Local Verifier Python SDK.

  2. Run the following command and ensure that you have the 'verifier' Python module installed.

    pip list | grep nv-local-gpu-verifier
    nv-local-gpu-verifier              1.4.0
    

Local GPU Attestation

Policy File

You can find a sample Attestation Result policy file for Local GPU Attestation here Please note that the Schema/EAT claim information is subject to change in future releases.

How to do Perform Attestation

Please refer to the sample implementation

Remote GPU Attestation

Pre-Requisites

NVIDIA Remote Attestation Service (NRAS) must be accessible from the machine.

Policy File

You can find a sample Attestation Result policy file for Remote GPU Attestation here

Please note that the Schema/EAT claim information is subject to change in future releases.

How to do Perform Attestation

Please refer to the sample implementation

Building Attestation SDK

python3 -m pip install --upgrade build
python3 -m build

APIs

nv_attestation_sdk import attestation

API Description
Attestation(<-name->) Create a new Attestation Object used to call other Attestation methods.
set_name(<-name->) Set a name for the Attestation SDK client
add_verifier(<-attestation-device-type->, <-local/remote->, <-remote-attestation-service-url->, <-attestation-results-policy->) Add a specific type of verifier for the client object. The verifier will be invoked during the attest operation
attest() Trigger the Attestation for client object, This uses the Attestation type configured in add_verifier method
validate_token(<-attestation-results-policy->) Validate the Attestation Claims against a policy

nv_attestation_sdk.gpu.attest_gpu_remote

API Description
generate_evidence(<-nonce->) Generate GPU attestation evidence using the Local GPU Verifier Python SDK with a user-provided nonce.
verify_evidence(<-nonce->, <-evidence->,<-nras_url->) Verify the evidence with the NVIDIA Remote Attestation Service (NRAS)

End-user License Agreement

By using the Attestation Suite Services, you affirm that you have read the Agreement and agree to its terms. If you do not have the required authority to enter into the Agreement or if you do not accept all Agreement terms and conditions, do not use the Attestation Suite Services. Please see the End-user License Agreement for more information on data collection.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

nv_attestation_sdk-1.4.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file nv_attestation_sdk-1.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nv_attestation_sdk-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bacb8e305b1b98a2239340c7fd61a4428d21aa1fcc26366fb1280ac8afda8dd2
MD5 01424f619185d5f9650e73d2a2d35eef
BLAKE2b-256 581ed9e516c36b050fe87dd123af74aad2359c72cb90bdaa5186626ccf54b956

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page