背景
新一代芯片新增安全协处理器,需要对其启动度量信息进行展示。
关联ISSUE
整体方案
安全协处理器的启动度量信息由组件上资源协作接口,并通过北向REST接口向外部呈现。
评审点
评审点一:新增资源协作接口 /bmc/kepler/Managers/:ManagerId/TPCM/Measured/Coprocessors/:Id
新增Path:/bmc/kepler/Managers/:ManagerId/TPCM/Measured/Coprocessors/:Id
Interface:bmc.kepler.Managers.TPCM.Measured
属性: Name、Version、PCRName、ActualDigest、StandardDigest、ComparedResult、ControlAction
评审点二:REST接口新增安全协处理器度量信息
1./UI/Rest/AccessMgnt/TPCMDetailedInfo的GET方法新增Coprocessor度量信息
详细描述
评审点一:新增资源协作接口
新增Path:/bmc/kepler/Managers/:ManagerId/TPCM/Measured/Coprocessors/:Id
Interface:bmc.kepler.Managers.TPCM.Measured
属性:(与原有Interface保持一致)
| 属性名称 | 签名 | 默认值 | 操作权限 | 说明 | 持久化 | 变化通知 | 备注 |
|---|---|---|---|---|---|---|---|
| Name | s | “” | “read”: [“ReadOnly”] | 启动度量对象 | 复位持久化 | false | |
| Version | s | “” | “read”: [“ReadOnly”] | 版本号 | 复位持久化 | false | |
| PCRName | s | “” | “read”: [“ReadOnly”] | 取值范围"PCR[0]“到"PCR[23]” | 复位持久化 | false | |
| ActualDigest | s | “” | “read”: [“ReadOnly”] | 实际度量值:16进制字符组成长度为64的字符串 | 复位持久化 | true | |
| StandardDigest | s | “” | “read”: [“ReadOnly”] “write”: [“SecurityMgmt”] |
基准度量值:16进制字符组成长度为64的字符串 | 复位持久化 | true | |
| ComparedResult | y | 0xff | “read”: [“ReadOnly”] | 度量结果:0xff-未度量,2-不支持, 1-失败,0-成功 |
复位持久化 | false | |
| ControlAction | y | 0xff | “read”: [“ReadOnly”] | 控制行为(度量失败是否放行):0xff-未度量,2-不支持,1-不放行,0-放行 |
复位持久化 | false |
评审点二:REST接口新增Coprocessor响应
URI:/UI/Rest/AccessMgnt/TPCMDetailedInfo
变化类型: 新增响应内容
操作类型: GET
应用场景: WEB展示安全协处理器启动度量信息
详细描述: 在/UI/Rest/AccessMgnt/TPCMDetailedInfo接口响应中新增安全协处理器度量信息:
| 属性名称 | 取值类型 | 取值范围 | 默认值 | 说明 |
|---|---|---|---|---|
| { | ||||
| MeasuredObject | String | 协处理器名称+Id,如:“Coprocessor1” | “” | 启动度量对象名称 |
| Version | String | 版本号字符串,如"1.0.10.2" | “” | 版本号 |
| PCR | String | "PCR[0]“到"PCR[23]” | “” | PCR名称, 取值范围"PCR[0]“到"PCR[23]” |
| ActualDigest | String | 16进制字符组成长度为64的字符串 | “” | 实际度量值 |
| StandardDigest | String | 16进制字符组成长度为64的字符串 | “” | 基准度量值 |
| IsMatch | Bool | true-匹配,false-不匹配 |
false | 度量结果(实际值与基准值是否相等) |
| } |
示例:
GET:/UI/Rest/AccessMgnt/TPCMDetailedInfo
{
"Count": 9,
"Members": [
{
"IsMatch": true,
"Version": "1.0.0.0",
"StandardDigest": "12************************************************************34",
"ActualDigest": "12************************************************************34",
"MeasuredObject": "Coprocessor1",
"PCR": "PCR[0]"
},
...
}
评审结论
- 同意资源协作接口新增路径
/bmc/kepler/Managers/:ManagerId/TPCM/Measured/Coprocessors/:Id, 包含已有接口bmc.kepler.Managers.TPCM.Measured,属性保持原有设计。 - 同意webrest接口
/UI/Rest/AccessMgnt/TPCMDetailedInfo的GET操作响应中Members对象数组新增实例,表示安全协处理器度量信息,属性保持原有设计。
遗留问题
1、Coprocessor的PATH加ID - 已闭环 - /bmc/kepler/Managers/:ManagerId/TPCM/Measured/Coprocessors/:Id