Get Trusted Computing Measurement Information
更新时间: 2025/06/26
在Gitcode上查看源码

93h-查询可信计算度量信息(Get-Trusted-Computing-Measurement-Information)

修订记录

openUBMC版本号修订日期修订内容
25.062025/06/26初稿,新增命令详情

基本信息

功能说明

查询可信计算度量信息。

权限

ReadOnly

适用机型

支持可信计算的设备

说明: 设备是否支持可信计算,可以通过下面的IPMI命令获取,如果命令响应中的第一个字节的 bit1 为 1,则证明当前设备支持可信计算。 命令:ipmitool raw 0x30 0x93 0xDB 0x07 0x00 0x5B 0x2B 0x00 示例:

  • 上述命令返回响应为 01, 则证明当前设备不支持可信计算
  • 上述命令返回响应为 02,则证明当前设备支持可信计算

命令信息

请求信息

字节顺序域取值说明
NetFn30h
CMD93h
1:3Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。
4Sub command,子命令=93h
5Data Type, 数据类型,详情见 表1
6:7Reserved
8:9Offset, 读取的数据偏移,LS Byte first
10Length,读取长度

响应信息

字节顺序域取值说明
1Completion Code
2:4Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。
2:4Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。
5End of List,表示当前数据是否结束。
当参数数据比较长的时候,可能需要分多次读取,通过此字段可以判断数据是否读完。
[7:1]:reserved
[0]:End of list
0=last data
1=middle data
6:NData,实际返回的数据可能小于等于Read length。

附表1 可信计算查询的数据类型

Data TypeData Format读写类型子命令字可用通道描述
0见 表2read onlybt/ipmb芯片版本、固件版本等,见下表版本信息格式
1见 表3read onlybt/ipmbBMC基础固件度量信息
2见 表3read onlybt/ipmbBMC引导固件度量信息
3见 表3read onlybt/ipmbBMC运行固件度量信息
4见 表3read onlybt/ipmbBMC安全协处理器固件度量信息
5见 表3read onlybt/ipmbBIOS固件度量信息
6见 表4read onlybt/ipmbHost安全引导固件度量信息
7见 表4read onlybt/ipmbHost引导固件度量信息
8见 表4read onlybt/ipmbHost引导固件配置度量信息
9见 表4read onlybt/ipmbHost内核固件度量信息
10见 表4read onlybt/ipmbHost初始根文件系统度量信息
11见 表5read onlybt/ipmbCPU设备硬件度量信息
12见 表5read onlybt/ipmb网卡设备硬件度量信息
13见 表5read onlybt/ipmbNPU设备硬件度量信息
14见 表5read onlybt/ipmbGPU设备硬件度量信息

附表2 版本信息格式

Data字节顺序长度(byte描述
data 11信息格式版本号,当前版本为1
data 2:54tcm芯片版本(16进制编码),LS Byte first
data 6:94tcm固件版本(16进制编码),LS Byte first

附表3 BMC信息格式

Data字节顺序长度(byte描述
data 11信息格式版本号,当前版本为1
data 2:54TCG定义的类型,平台状态寄存器索引值,从1开始,LS Byte first
data 6:94TCG定义的类型,代表日志事件类型,当前事件类型取值为0xf1,LS Byte first
data 10:4132data 46:N+32 数据的hash值(16进制编码)
data 42:454data 46:N+32 数据长度
data 46:494固件类型,取值包括:1 - L1,2 - UBoot,3 - Rootfs,4 - BIOS,7 - Coprocessor
data 50:534固件数量
data 54:N40*固件数量每个固件在存储区域的offset(4字节)、size(4字节),以及hash值(32字节)
data N+1:N+3232所有固件的hash拼接后计算得出的hash值
data N+33:N+6432固件名称(字符串,包含结束符)
data N+65:N+9632实际度量值(16进制编码)
data N+97:N+12832基准度量值(16进制编码)
data N+1291对比结果,255:未刷新/无效数据,0:成功,1:失败
data N+1301控制行为,255:未刷新/无效数据,0:允许启动,1:阻止启动

附表4 OS信息格式

Data字节顺序长度(byte描述
data 11信息格式版本号,当前版本为1
data 2:3332固件名称(字符串,包含结束符)
data 34:6532实际度量值(16进制编码)
data 66:9732基准度量值(16进制编码)
data 981对比结果,255:未刷新/无效数据,0:成功,1:失败
data 991控制行为,255:未刷新/无效数据,0:允许启动,1:阻止启动

附表5 硬件度量信息格式

Data字节顺序长度(byte)描述
data 11信息格式版本号,当前版本为1
data 21组件数量
data 3:3432固件名称(字符串,包含结束符),带槽位号
data 35:6632实际度量值(16进制编码)
data 67:9832基准度量值(16进制编码)
data 99:13032实际型号(字符串,包含结束符)
data 131:16232基准型号(字符串,包含结束符)
data 163:19432实际厂商(字符串,包含结束符)
data 195:22632基准厂商(字符串,包含结束符)
data 227:29064实际标识(字符串,包含结束符)
data 291:35464基准标识(字符串,包含结束符)
data 3551部件状态,0:正常,1:增加,2:移除,3:变更,其它:失败
data 356:N353如果有多个部件,格式同 data 3:355

命令样例

查询可信计算版本信息

请求:

ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x93 0x00 0x00 0x00 0x00 0x00 0xc0

响应:

db 07 00 00 01 4e 1b 03 06 23 09 05 10

返回到索引