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
--fileto specify the measurement file. - Delete: Deletes an existing measurement file on the managed system. Use
--fileto specify the measurement file. - GetInfo: Gets information from local measurement files. In-band only, and requires
--fileand--file_only.--itemand--showallcannot be used at the same time.--root_certand--extract_certare only available for this action. - Compare: Compares the managed system status or a local measurement file with a referenced measurement file. Requires
--refto specify the local reference measurement file. If--fileis 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).--nonceis 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.