背景
BMC支持基础可信计算能力的安全特性,特性能力标志需要供多个底层组件进程(framework、bmc_core等均有依赖)依赖判断进行一些能力限制。
基础可信计算能力:安全启动信息查看(若支持安全启动)、硬件身份度量
关联ISSUE
整体方案
由于涉及初始阶段驱动加载的能力差异区分,建议放置在全局属性承载,能确保属性配置在app启动前就绪。
开启基础可信计算使能后,USB通道会多扩展注册一个字符设备用于相关业务数据传输,且BMA-BMC通道将会限制仅可为”PCIe-Veth”不可修改。
采用框架提供全局属性能力,新增基础可信计算相关的安全特性属性
全局属性通用格式:
path:/bmc/kepler/Global
intf:bmc.kepler.Global.域名1(.域名2)
评审点
1、新增资源协作接口用于承载基础可信计算相关的安全特性全局属性
详细描述
1、新增资源协作接口 bmc.kepler.Global.SecurityService.BasicTrustedComputing
资源path:/bmc/kepler/Global
接口描述:承载可信计算相关全局属性
新增属性
| 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 易变属性 |
|---|---|---|---|---|---|---|---|---|
| Supported | b | true | false | 表示是否支持基础可信计算能力。 默认值:false。 |
Read:ReadOnly | global.json配置、持久化 | 掉电持久化 | false |
| Enabled | b | false | true | 表示基础可信计算能力使能,仅当Supported为true时可使能。 默认值:false。 使能后Web可见《可信计算》页面,可以查看安全启动信息(若支持)、硬件身份等信息。 |
Read:ReadOnly Write:UserMgmt |
global.json配置、持久化 | 掉电持久化 | false |
新增接口影响
| 路径 | 新增接口影响 | CSR配置影响 | 持久化影响 | 其它影响 |
|---|---|---|---|---|
| /bmc/kepler/Global | 对外提供基础可信计算相关能力配置的查询和设置能力 | 无影响 | 新增table,包含稳定主键,无兼容性问题 | 需实现新增的属性 |
全局属性定义
{
"GlobalBasicTrustedComputing": {
"tableName": "t_global_basic_trusted_computing",
"tableType": "KV",
"tableLocation": "Remote",
"path": "/bmc/kepler/Global",
"privilege": ["ReadOnly"],
"interfaces": {
"bmc.kepler.Global.SecurityService.BasicTrustedComputing": {
"properties": {
"Supported": {
"baseType": "Boolean",
"default": false,
"readOnly": true,
"privilege": {
"read": ["ReadOnly"]
},
"usage": ["PoweroffPer"]
},
"Enabled": {
"baseType": "Boolean",
"default": false,
"readOnly": false,
"privilege": {
"read": ["ReadOnly"],
"write": ["UserMgmt"]
},
"options": {
"emitsChangedSignal": "true"
},
"usage": ["PoweroffPer"]
}
}
}
}
}
}
评审结论
同意新增资源协作接口 bmc.kepler.Global.SecurityService.BasicTrustedComputing
新增属性如下:
① 属性名称:Supported,属性签名:b,读写权限:只读
② 属性名称:Enabled,属性签名:b,读写权限:[Read:ReadOnly, Write:UserMgmt]
遗留问题
1、考虑把资源放到管理组件承载,不使用全局属性
A:由于涉及初始阶段驱动加载的能力差异区分,最好是能放在全局属性,能在app启动前ready。若在app侧放置,依赖产品PSR配置,需要在自发现后重新触发驱动行为
2、BasicTrustedComputing的边界不够清晰,命名和SecurityEnhance相对冲突,重新确认接口命名能力边界
A:调整为 bmc.kepler.Global.SecurityService.BasicTrustedComputing
基础可信计算能力包含 安全启动信息查看(若支持安全启动)、硬件身份度量
3、全局属性不支持从CSR读数据,不能基于CSR配置属性来源,确认属性配置是否合理
A:已确认,全局属性global.json配置在manifest不同产业目录下,无需PSR,可直接基于json配置区分