Trust Agent Provisioning
Trust Agent Provisioning
"Provisioning" the Trust Agent involves connecting to a Verification Service to download the Verification Service PrivacyCA certificate, create a new Attestation Identity Keypair in the TPM, and verify or create the TPM Endorsement Certificate and Endorsement Key. The Verification Service PrivacyCA root certificate is used to sign the EC, and the EC is used to generate the Attestation Identity Keypair. The AIK is used by the Verification Service to verify the integrity of quotes from the host’s TPM.
Provisioning is the only time that the Trust Agent requires TPM ownership permissions. If no TPM ownership secret is provided in the trustagent.env file, the Agent will use a null ownership secret to perform the provisioning steps. If a TPM ownership secret is provided in the trustagent.env answer file, the Agent will attempt to use the specified secret. If TPM ownership is in a clear state, the Agent will take ownership if a secret is specified. If the TPM is already "owned," the Agent will try to use the specified secret; if the specified secret does not match the actual ownership password, the provisioning will fail.
Intel recommends using the default "null" ownership secret, as this makes it easy for other applications to also use the Trust Agent, and can prevent the need to clear ownership in the case of a need to re-provision.
Provisioning can be performed separately from installation (meaning you
can install the Trust Agent without Provisioning, and then Provision
later). If the trustagent.env
answer file is present and has the
required Verification Service information during installation, the Agent
will automatically run the Provisioning steps.
Note
The trustagent.env
answer file must contain user credentials for a user with sufficient privileges. The minimum role required for performing provisioning is the "AttestationRegister" role.
Note
If the Linux Trust Agent is installed without being Provisioned, the Trust Agent process will not actually run until the Provisioning step has been completed.
If the answer file is not present during installation, the Agent can be
provisioned later by adding the trustagent.env
file and running the
following command:
tagent setup -f <trustagent.env file
path>
Trust Agent Registration
Registration creates a host record with connectivity details and other host information in the Verification Service database. This host record will be used by the Verification Service to retrieve TPM attestation quotes from the Trust Agent to generate an attestation report.
The Trust Agent can register the host with a Verification Service by running the following command (the trustagent.env answer file must be present in the current working directory):
tagent setup create-host
Hosts can also be registered using a REST API request to the Verification Service:
POST <https://verification.service.com:8443/hvs/v2/hosts>
{
"host_name": "<hostname of host to be registered>"
"connection_string": "intel:https://<hostname or IP address>:1443",
"flavorgroup_names": [],
"description": "<description>"
}
Note
When a new host is registered, the Verification Service will automatically attempt to match the host to appropriate Flavors. If appropriate Flavors are not found, the host will still be registered, but will be in an Untrusted state until/unless appropriate Flavors are added to the Verification Service.
Importing the HOST_UNIQUE Flavor
RHEL and VMWare ESXi hosts have measured components that are unique to each host. This means that a special HOST_UNIQUE flavor part needs to be imported for each RHEL and ESXi host, in addition to any other OS or Platform Flavors.
Note
Importing a Flavor requires user credentials for a user with sufficient privileges. The minimum role required for creating the HOST_UNIQUE Flavor part is the “host_unique_flavor_creator” role. This role can only create HOST_UNIQUE Flavor parts, and cannot create any other Flavors.
On Red Hat Enterprise Linux hosts with the Trust Agent, this can be performed from the Trust Agent command line (this requires the trustagent.env answer file to be present in the current working directory):
tagent setup create-host-unique-flavor
This can also be performed using a REST API (required for VMWare ESXi hosts):
POST https://verification.service.com:8443/hvs/v2/flavors
{
"connection_string": "<Connection string>",
"partial_flavor_types": ["HOST_UNIQUE"]
}