<- End‑to‑End Examples Go to ToC

1 General 2 Components 3 The Actors
4 Data Types 5 Verification Pipeline 6 Trust Establishment Protocol
7 Attestation Evidence 8 Data Exchange Metadata 9 Cryptography
10 Trust Operations and the Trace 11 Not yet implemented 12 Verification
13 Access to the code

1 General

The MPAI-PTF Reference Software implements Technical Specification: Process Instance Trust Framework (MPAI-PTF) V1.0 in the AI Framework specified by Technical Specification: AI Framework (MPAI-AIF) V3.0. With it, an AIF Controller establishes trust in every AI Module it runs – on its own machine or on a remote AIM host – before the Module is allowed to start, and two Controllers establish trust in each other before they exchange data.

It is written in C# for .NET 10 and is part of the software that implements MPAI-AIF V3.0, MPAI-MAS V1.0 and CAV-TEC V2.0. The same trust mechanisms protect the AI Modules of MPAI-MAS and the messages exchanged by Connected Autonomous Vehicles.

2 Components

Component Function
Trust library The PTF Data Types, their canonical form and signatures; the issuing and checking of Cryptographic Instance Identities, Instance Credentials and Process Lifecycle Credentials; the Verification Pipeline; the Trust Establishment Protocol; Attestation Evidence; the Trace of Trust Operations; the signing of Data Exchange Metadata.
AIF Controller Acts as Trust Anchor, Policy Authority and Verifier for the AI Modules it runs: it issues their credentials, binds their policy, verifies them before a Module starts, and records each Trust Operation.
AIM host A program that runs AI Modules on another machine for a Controller. Each AIM’s key is made on the host and never leaves it; the host presents the AIM’s identity and evidence, and receives its credentials.
Root of trust A Trust Anchor’s key may be held in a TPM 2.0, where it cannot be exported, and the code the party runs is measured into it. The software uses the TPM 2.0 command set against Microsoft’s reference TPM simulator.
MPAI Store Approves AIM Implementations by recording the fingerprints of their binaries; the evidence of what an AIM runs is compared with them.
City Trust Authority Admits Connected Autonomous Vehicles to a city by issuing them credentials, so that CAVs that do not know each other can establish trust through it.

3 The Actors

MPAI-PTF Actor In the Reference Software
Process Instance An AI Module Instance, local or on an AIM host.
Trust Anchor An AIF Controller, an AIM host, a City Trust Authority. A CAV is a Controller.
Verifier, Policy Authority The AIF Controller, for the AI Modules it runs; each end of a link between two Trust Anchors, for the other end.
Data Producer / Consumer CAVs exchanging messages through their External Ports.

4 Data Types

The JSON Schemas of all the Data Types are compiled and checked by the tests; the objects the software produces are validated against them.

Data Type Use
Cryptographic Instance Identity Produced and verified: an ECDSA P-256 public key, its fingerprint, and a signature proving possession of the private key.
Instance Credential Issued and verified, also as a chain of credentials (e.g. a package issuing credentials to the AI Modules it contains).
Process Lifecycle Credential Issued at each change of state of a Module: Created, Running, Suspended, Terminated.
Attestation Evidence Produced and verified: the hashes of the AIM’s binary and models, or a TPM quote.
Policy Binding Produced by the Controller from the AIM’s Metadata – its Ports and their Data Types, the Storage it may use – and enforced on every Channel of the Module.
Trust Anchor Produced and verified.
Trust Message TrustRequest and TrustResponse of the Trust Establishment Protocol.
Trust Operation Produced and signed for each step of verification, issuing and policy binding; kept in the Trace.
Data Exchange Metadata, Security Produced and verified on the messages CAVs exchange.
Security Algorithm, Security Evidence and Trust Operation Taxonomies Their identifiers are used.
Cryptographic Instance Role Taxonomy, Security Technology Taxonomy, Profile, Process Instance, Error Code Not used yet (see 11).

5 Verification Pipeline

Before a Module starts, the Controller verifies each of its AI Modules with the Verification Pipeline. The steps are executed in order, the first failure stops the pipeline, and each step is recorded as a signed Trust Operation:

  1. Identity: the Cryptographic Instance Identity is well formed, its fingerprint matches its key, its signature proves possession of the key, and it is that of the expected instance.
  2. Credential: the Instance Credential – or its chain – leads to a trusted Trust Anchor, is signed by its issuer, names this identity, and is within its validity.
  3. Lifecycle: the Process Lifecycle Credential is signed by a trusted issuer, current, and in the expected state.
  4. Evidence: the Attestation Evidence is signed, and what it says the AIM runs is what the MPAI Store approved.
  5. Policy: the Policy Binding is the Verifier’s own, is for this instance, and its constraints are those of the AIM’s Metadata.

An AI Module that fails is not started; the Module reports NOT_TRUSTED.

6 Trust Establishment Protocol

Two Trust Anchors – a Controller and an AIM host, or two CAVs – establish trust with the Trust Establishment Protocol when their link is opened, over TLS:

  • Each end sends a signed TrustRequest or TrustResponse and verifies the other’s: its Trust Anchor is trusted – or, for CAVs, credited by a Trust Authority the receiver trusts – valid, and its signature correct. Trust is mutual.
  • Freshness: a message more than 5 minutes old or ahead is refused.
  • Replay: each message names the certificate of the TLS link it is sent on, so it cannot be replayed or relayed on another link.
  • An AIM host may require the Controller to present TPM-attested evidence of the code it runs, and vice versa.

7 Attestation Evidence

  • The Controller measures each AIM Implementation – its binary and its models – before building it, and compares the measurements with the fingerprints approved by the MPAI Store.
  • A party whose key is in a TPM measures its own code and each Implementation into TPM registers and proves them with a quote, signed by a key the TPM manufacturer certified, over a nonce bound to the link. The Verifier replays the measurement log against the quote and checks each measurement against the approved values.

8 Data Exchange Metadata

Each message a CAV sends to another CAV carries Data Exchange Metadata with its Security: the Trust Authority and the credential of the sender, and the hash of the message signed with the sender’s key. The receiver drops a message that is unsigned, altered, or signed by another party than the one it claims to come from.

9 Cryptography

  • Signatures: ECDSA P-256 with SHA-256 (PTF-ALGO-SIG-ECDSA-P256-SHA256). Hashes: SHA-256 (PTF-ALGO-HASH-SHA256).
  • An object is signed in canonical form: members sorted at every level, no whitespace, minimal escaping, numbers in their shortest form, UTF-8.
  • Credentials are valid for 24 hours, Process Lifecycle Credentials for 1 hour, Trust Anchors for 1 year.

10 Trust Operations and the Trace

Every Trust Operation – issuing, verifying, binding a policy, changing a lifecycle state, admitting a link – is signed and appended to a Trace in which each record carries the hash of the previous one and the Controller’s signature. The Controller verifies its Trace when it starts and refuses to run if the Trace was altered, truncated or reordered.

11 Not yet implemented

  • Roles in the Cryptographic Instance Identity and the Cryptographic Instance Role Taxonomy.
  • Profile (VerificationProfile), Process Instance and Error Code objects: a failure is reported with a reason, not with the Error Codes of MPAI-PTF.
  • Revocation of credentials; an allow-list of evidence types; the age of evidence.
  • The usage rules of Data Exchange Metadata (retention, onward sharing), and Data Exchange Metadata on the data exchanged inside a Controller or with an AIM host.
  • A Verifier distinct from the parties: the Controller verifies the AI Modules it runs, and two Trust Anchors verify each other.
  • The Conformance Testing suite (ID-xx, CR-xx, EV-xx, …) as such.
  • A hardware TPM: the software uses the TPM 2.0 reference simulator.

12 Verification

The Reference Software is verified by automated tests, among them:

  • The schemas, the canonical form, and signatures altered, reordered or missing.
  • Identities, credentials and credential chains, valid and refused: not possessed, expired, not yet valid, wrongly signed, from an unknown issuer, for another identity, in the wrong state.
  • Each failure of the Verification Pipeline and where it stops; Modules refused as NOT_TRUSTED.
  • Binaries and models other than those approved by the Store.
  • The Trust Establishment Protocol with foreign, expired, forged, stale and relayed messages.
  • TPM-held keys that cannot be exported; quotes from another manufacturer, with an old nonce, with a missing log item, or over altered code.
  • The Trace altered, truncated, reordered and continued after a restart.
  • An MPAI-MAS Service under Zero Trust with an attested AIM host; two CAVs admitted by a city, and messages refused when altered or sent by another party.

13 Access to the code

Please send an email to the MPAI Secretariat to access the code.

<- End‑to‑End Examples Go to ToC