Overview

This is an overview of the major components that par part of Veraison, and the related git repositories.

Remote attestation verification service

The main part of the project is the remote attestation verification service implemented inside services repo. This service provides REST API for verifying attestation evidence based on provisioned endorsements and polices.

Client-side libraries for the services API are inside apiclient (for Go), c-apiclient (for C), and rust-apiclient (for Rust) repos.

There are also command line interface application for interacting with the service:

  • cocli for compiling and provisioning PSA and CCA endorsements and trust anchors.
  • evcli for verifying PSA and CCA evidence.
  • pocli for managing verification policies.

Standards driven work

The Veraison Project supports Attestation related working groups in standards bodies, in particular IETF & TCG. This set of repos provide test bed implementations for some of the standards work, as related to Veraison services.

EAT

eat Golang library for manipulating Entity Attestation Tokens (draft-ietf-rats-eat).

EAR

These libraries provide functions for working with EAR (EAT Attestation Results), an EAT/JWT serialisation of the Attestation Result for Secure Interactions (AR4SI) information model - see draft-fv-rats-ear

ear: Golang implementation of EAT Attestation Results rust-ear: Rust implementation of EAT Attestation Results c-ear: C implementation of EAT Attestation Results

cmw: implementation for RATS WG Conceptual Message Wrappers (draft-ftbs-rats-msg-wrap) for attestation related data encapsulation.

Verifier Provisioning

These libraries provide support for the standard information models used to convey data to a Verifier.

corim: manipulation of Concise Reference Integrity Manifest (CoRIM) and Concise Module Identifier (CoMID) tags. Also includes cocli CLI tool, that assists users creating CoRIM & CoMID tags.

swid : SWID and CoSWID manipulation library

COSE

go-cose: go library for CBOR Object Signing and Encryption (COSE)

Architecture specific libs

This collection of libraries provides manipulation and verification functionality for Attestation formats of various architectures.

psatoken: Platform Security Abstraction (PSA) Attestation Token manipulation library.

ccatoken A library for the Arm Confidential Computing Architecture (CCA) Attestation Token.

dice: library providing support functions for manipulating various profiles of DICE.

parsec: Library support for handling the Parsec Key Attestation formats used in the attested TLS PoC.

enact-demo: EnactTrust TPM/Veraison interop demo and related docs


See also: repo guide inside docs repo.