Skip to content

Attestation

Manages remote attestation measurement files on managed systems. As a security mechanism, remote attestation provides a digital signature and allows users to manage measurement files on managed systems as well as local measurement files with confidence. A measurement file is a collection of states of the managed system, such as firmware version, firmware measurement, configuration data, and hardware information. When a measurement file is generated by the managed system, a digital signature is signed with the managed system's Device Attestation Key.

Syntax

OOB

saa -i <IP or host name> -u <username> -p <password> -c Attestation --action <action> [--file <filename> [--overwrite] [--item <item name>]] [--ref <filename>] [--nonce <nonce>]

In-Band

saa [-I Redfish_HI -u <username> -p <password>] -c Attestation --action <action> [--file <filename> [--overwrite] [--item <item name>] [--showall] [--file_only]] [--ref <filename>] [--nonce <nonce>]

Multiple Systems OOB

saa -l <system list file> [-u <username> -p <password>] -c Attestation --action <action> [--file <filename> [--overwrite]]

Actions

  • Dump: Creates and downloads a measurement file from the managed system, then saves it as a local measurement file. Without --file, the measurement file is saved with the same name as on the managed system (in Windows OS, : is replaced by - for a valid filename). Without --nonce, SAA uses the current OS time of the managed system as the default nonce.
  • List: Lists existing measurement files on the managed system.
  • Download: Downloads an existing measurement file from the managed system. Use --file to specify the measurement file.
  • Delete: Deletes an existing measurement file on the managed system. Use --file to specify the measurement file.
  • GetInfo: Gets information from local measurement files. In-band only, and requires --file and --file_only. --item and --showall cannot be used at the same time. --root_cert and --extract_cert are only available for this action.
  • Compare: Compares the managed system status or a local measurement file with a referenced measurement file. Requires --ref to specify the local reference measurement file. If --file is also used, the local measurement file is compared with the reference file (SAA still dumps the latest measurement from the managed system and checks certificate chain/signature states). --nonce is also available with this action; without it, SAA uses the current OS time as the default nonce.

Options

  • --action <action>: Sets action to Dump, List, Download, Delete, GetInfo, or Compare.
  • --file <file name> (Optional): File name for the measurement file on the managed system or local storage.
  • --ref <file name> (Optional): Reference measurement file for comparison. Only supported with the Compare action.
  • --overwrite (Optional): Overwrites the downloaded or extracted file.
  • --showall (Optional): Prints all information from the measurement file. Only supported with the GetInfo action.
  • --item <item name> (Optional): Prints the specified item for the measurement file. Only supported with the GetInfo action.
  • --file_only (Optional): Gets information from the local measurement file. Required for the GetInfo action.
  • --root_cert <file name> (Optional): Inputs the public certificate of Root CA to verify the certificate chain in the measurement file. Only supported with the GetInfo action.
  • --extract_certs <file name> (Optional): Extracts the endpoint certificate chain from the local measurement file. Only supported with the GetInfo action.
  • --nonce <nonce> (Optional): Specifies the nonce for the Dump and Compare actions.
  • --type (Optional): Specifies the dump type for the Dump action. Supported types: MB.

Examples

Dump

[SAA_HOME]# ./saa -i 192.168.34.56 -u ADMIN -p PASSWORD -c Attestation --action Dump --file measurement.bin --overwrite --nonce MY_NONCE_XXXX
[SAA_HOME]# ./saa -i 192.168.34.56 -u ADMIN -p PASSWORD -c Attestation --action Dump

List

[SAA_HOME]# ./saa -i 192.168.34.56 -u ADMIN -p PASSWORD -c Attestation --action List

Download (In-Band through Redfish Host Interface)

[SAA_HOME]# ./saa -I Redfish_HI -u ADMIN -p PASSWORD -c Attestation --action Download --file measurement.bin

Delete (In-Band through Redfish Host Interface)

[SAA_HOME]# ./saa -I Redfish_HI -u ADMIN -p PASSWORD -c Attestation --action Delete --file measurement.bin

GetInfo (In-Band)

[SAA_HOME]# ./saa -c Attestation --action GetInfo --file_only --file measurement.bin
[SAA_HOME]# ./saa -c Attestation --action GetInfo --file_only --file measurement.bin --extract_cert chain.pem
[SAA_HOME]# ./saa -c Attestation --action GetInfo --file_only --file measurement.bin --item BMC_ACT_FW_VER
[SAA_HOME]# ./saa -c Attestation --action GetInfo --file_only --file measurement.bin --showall

Compare (OOB)

[SAA_HOME]# ./saa -i 192.168.34.56 -u ADMIN -p PASSWORD -c Attestation --action Compare --ref reference_measurement.bin

Multiple Systems OOB

[SAA_HOME]# ./saa -l SList.txt -u ADMIN -p PASSWORD -c Attestation --action Dump --file measurement.bin --overwrite

SList.txt:

192.168.34.56
192.168.34.57

Output

GetInfo

Measurement.............measurement.bin
 Nonce................2022-04-12T11:20:25+08:00
 Signature............Signed
 Certificate Chain....Verified

GetInfo with --extract_cert

Measurement..............measurement.bin
 Nonce................2022-04-12T11:20:25+08:00
 Signature............Signed
 Certificate Chain....Verified
Device Identity Certificate PEM chain file "chain.pem" is created.

GetInfo with --item

Measurement..............measurement.bin
 Nonce................2022-04-12T11:20:25+08:00
 Signature............Signed
 Certificate Chain....Verified
 Item: BMC_ACT_MEAS
 Description: BMC Firmware Measurement
 Value:
A30CFFC59284658300654B8CDD5144B7C8CCDF3540B52EAF98FE0B7A3A8A4BB1E7FEA2D89FC9F7BB7
01B35C1DDD53B43E08751F483573DB75E9F3D5653B0871A

GetInfo with --showall

 Item: <Item Name>
 Description: <Item Description>
 Value: <Item Value>

Signature Status

Measurement File Signature

  • Signed: The measurement file signature is signed by the Device Attestation Key and verified by the Device Attestation Public Key from the measurement file.
  • Verification failed: The measurement file signature cannot be verified by the Device Attestation Public Key from the measurement file.

Certificate Chain

  • Verified: The Device Identity Certificate Chain in a measurement file is verified back to the Root CA. The Device Attestation Certificate is verified by the Device Identity Certificate.
  • Verification failed: The Device Identity Certificate Chain in a measurement file cannot be verified back to the Root CA, or the Device Attestation Certificate cannot be verified by the Device Identity Certificate.

Root Certificates

  • Matched: The Root CA Certificate matches the input certificate file.
  • Mismatched: The Root CA Certificate does not match the input certificate file.

Notes

  • This command is only available for OOB and in-band usage restricted to the Redfish host interface when managing measurement files on the managed system.