【已评审】新增资源协作接口承载基础可信计算相关能力

背景

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配置区分

补充一下path