Skip to content

Latest commit

 

History

History
15 lines (11 loc) · 1.52 KB

protocols.md

File metadata and controls

15 lines (11 loc) · 1.52 KB

Protocols

A protocol is how Jane talks to a trust agent. Each element endpoint names one (endpoints: <name>: protocol:), and the protocol decides which intent functions it can carry and how. The Web UI's Protocols page lists the registered ones.

Protocol Trust agent Functions Notes
A10HTTPRESTv2 tarzan (or another agent speaking the same HTTP API) tpm2/pcrs, tpm2/quote, tpm2/gettime, tpm2/capabilities, tpm2/activatecredential, tpm2/getcert, uefi/eventlog, uefi/efivars, uefi/bootconfig, ima/asciilog, txt/log, sys/info JSON over HTTP. Jane fills in parameters from the element (TPM device, key handles and public keys) and generates nonces and credentials
RATSD ratsd, Veraison's attestation daemon ratsd/subattesters, ratsd/chares CMW evidence collections from ratsd's leaf attesters (TSM, NVIDIA GPU, ...); Jane generates the nonce
A10NULLPROTOCOL none any (*/*) testing: always returns a fixed test claim
A10NETCONF none null/good, null/test proof of concept for NETCONF; returns a fixed claim
TESTCONTAINERPROTOCOL none testcontainers/repoimageintegrity test protocol for containers

The parameters each function takes, and what it returns, are in Functions; the attest page's Reference shows them too, with where each value comes from.

Protocols are compiled into Jane and registered at start-up (janeserver/protocols/registerProtocols.go).