GPU Evidence Verification#
Components used to perform GPU evidence verification and produce attestation results (claims) for a relying party.
Functions#
- nvat_rc_t nvat_gpu_local_verifier_create(nvat_gpu_local_verifier_t *out_verifier, nvat_rim_store_t rim_store, nvat_ocsp_client_t ocsp_client, nvat_detached_eat_options_t detached_eat_options)
Create a local verifier to appraise evidence in the current process.
- nvat_gpu_verifier_t nvat_gpu_local_verifier_upcast(nvat_gpu_local_verifier_t verifier)
- nvat_rc_t nvat_gpu_nras_verifier_create(nvat_gpu_nras_verifier_t *out_verifier, const char *base_url, const nvat_http_options_t http_options)
Create a remote verifier that uses NVIDIA Remote Attestation Service to appraise evidence.
- nvat_gpu_verifier_t nvat_gpu_nras_verifier_upcast(nvat_gpu_nras_verifier_t verifier)
- void nvat_gpu_verifier_free(nvat_gpu_verifier_t *gpu_verifier)
- nvat_rc_t nvat_verify_gpu_evidence(const nvat_gpu_verifier_t verifier, const nvat_gpu_evidence_t *gpu_evidence_array, size_t num_evidences, const nvat_evidence_policy_t policy, nvat_str_t *out_detached_eat, nvat_claims_collection_t *out_claims)
Verify GPU evidence against a given evidence policy.
Typedefs#
- nvat_gpu_local_verifier_t
- nvat_gpu_nras_verifier_t
- nvat_gpu_verifier_t
Evaluates GPU evidence to produce attestation results (claims) indicating the validity of submitted evidence.
Functions#
- nvat_rc_t nvat_gpu_local_verifier_create(
- nvat_gpu_local_verifier_t *out_verifier,
- nvat_rim_store_t rim_store,
- nvat_ocsp_client_t ocsp_client,
- nvat_detached_eat_options_t detached_eat_options,
Create a local verifier to appraise evidence in the current process.
Verify evidence in the current process. The local verifier should be used either in:
a TEE connected to the attester
a remote attestation service running in a secure cloud environment
Local verification outside of these use cases is not recommended as the verification process can be compromised by malicious actors with elevated privileges on the host.
- Parameters:
rim_store – See nvat_rim_store_st for more information.
ocsp_client – See nvat_ocsp_client_st for more information.
detached_eat_options – If
NULL
, will use default detached EAT options. See nvat_detached_eat_options_st for more information.
- nvat_gpu_verifier_t nvat_gpu_local_verifier_upcast(
- nvat_gpu_local_verifier_t verifier,
- nvat_rc_t nvat_gpu_nras_verifier_create(
- nvat_gpu_nras_verifier_t *out_verifier,
- const char *base_url,
- const nvat_http_options_t http_options,
Create a remote verifier that uses NVIDIA Remote Attestation Service to appraise evidence.
URL can also be set using the NVAT_NRAS_BASE_URL environment variable.
- Parameters:
base_url – If
NULL
, will use the default NRAS production base URLhttp_options – If
NULL
, will use default HTTP options
- nvat_gpu_verifier_t nvat_gpu_nras_verifier_upcast(
- nvat_gpu_nras_verifier_t verifier,
-
void nvat_gpu_verifier_free(nvat_gpu_verifier_t *gpu_verifier)#
- nvat_rc_t nvat_verify_gpu_evidence(
- const nvat_gpu_verifier_t verifier,
- const nvat_gpu_evidence_t *gpu_evidence_array,
- size_t num_evidences,
- const nvat_evidence_policy_t policy,
- nvat_str_t *out_detached_eat,
- nvat_claims_collection_t *out_claims,
Verify GPU evidence against a given evidence policy.
- Parameters:
verifier – - The GPU verifier to use.
gpu_evidence_array – The GPU evidences to verify.
num_evidences – The number of evidences in the collection.
policy – The evidence policy to apply.
out_detached_eat – Pointer to store the detached EAT, which is a NULL terminated JSON string. Pass NULL to not generate the detached EAT.
out_claims – Pointer to store the resulting claims.
- Returns:
NVAT_RC_OK if the evidence is verified successfully
NVAT_RC_OVERALL_RESULT_FALSE if the
x-nvidia-overall-result
claim is false in the detached EAT This error can only be returned in out_detached_eat is not NULL (otherwise detached EAT is not generated)Other error codes
Typedefs#
-
typedef struct nvat_gpu_local_verifier_st *nvat_gpu_local_verifier_t#
-
typedef struct nvat_gpu_nras_verifier_st *nvat_gpu_nras_verifier_t#
-
typedef struct nvat_gpu_verifier_st *nvat_gpu_verifier_t#
Evaluates GPU evidence to produce attestation results (claims) indicating the validity of submitted evidence.