ARM CCA机密计算安全模型之安全生命周期管理

安全之安全(security²)博客目录导读

目录

一、固件启用的调试

二、CCA系统安全生命周期

三、重新供应

四、可信子系统与CCA HES


启用 CCA(机密计算架构)的安全系统是指 CCA 平台的实现处于可信状态。
由于多种原因,CCA 启用系统可能处于不安全状态,例如:

  • 在制造组装、测试和配置过程中
  • 在供应链配置过程中
  • 在调试、诊断和维修阶段

Secure world(安全世界)和Normal world(正常世界)的安全生命周期不属于 CCA 及本文件的范围。
预期 Normal world 或 Secure world 的调试和诊断可启用,而不影响 CCA 的安全保障。

一、固件启用的调试

CCA 固件是指可能影响 CCA 安全保障的所有固件,包括应用 PE 固件和受信子系统固件。

[R0103] CCA 固件的可信性始终可证明。
在安全系统上,CCA 仅会在启动时加载授权的 CCA 固件。
CCA 固件的功能,包括可能会妥协 CCA 安全保障的功能,总是反映在签署的固件身份元数据中,捕获在启动状态中,并包含在 CCA 平台证明中。

[R0104] 可能危及 CCA 安全保障的功能包括可能泄露 CCA 资产或影响 CCA 固件或 Realm(领域)执行流的任何功能。
例如,可能危及 CCA 安全保障的功能包括调试功能,如自托管调试和远程调试,或暴露诊断。

仅对 CCA 固件的功能进行证明,而不会证明这些功能在运行时是否被实际使用。
例如,支持调试功能的 CCA 固件可能会实施额外的授权步骤,如访问远程调试或揭示诊断的额外授权流程。但是证明的属性是这些功能的存在,而不是它们是否被实际使用。

[R0105] 依赖方始终能够通过 CCA 平台证明中的启动状态确定 CCA 固件的全部功能。
依赖方可以通过直接验证 CCA 固件测量值实现这一点。或者,它也可以通过验证签署的 CCA 固件身份元数据和受信固件签署者实现。

当前 CCA 版本不支持 CCA 派生的 Realm 密钥,也不支持 CCA 固件用于 CCA HES 以外的 CCA 密钥派生功能。
此类密钥派生功能可能会在未来版本中添加。届时,必须制定额外的规则,以确保调试启用的 CCA 固件无法派生与安全 CCA 固件相同的密钥。此类规则可能会要求在固件身份元数据中的签署者 ID 和安全版本控制,用于 CCA 密钥派生。

二、CCA系统安全生命周期

CCA 系统安全域将经历如图 10 所示的安全生命周期。


实际实现可能在供应过程中有额外的子状态,以支持更复杂的供应链和部署模型。
CCA 不限制或约束实际的供应过程,除了最终结果应具有此处描述的可证明属性。
为定义 CCA 启用系统的可证明属性,本文件使用了较为简单的模型。

生命周期从 CCA 启用系统的制造和测试开始。在此阶段,系统没有证明身份,系统的任何安全功能可能被禁用或绕过。
下一步是配置 CCA 硬件配置参数。

[R0106] 在安全配置之前,系统会进行安全锁定,确保只能运行授权的 CCA 固件,且外部诊断和调试接口已禁用或锁定,以免暴露 CCA 硬件配置参数。
例如,在启用 CCA HES 的系统上,可能只需禁用 CCA HES 主机调试即可保护 CCA 硬件配置参数。建议锁定整个系统,并可能需要保护非 CCA 的安全功能。

一旦供应完成,生命周期将进入安全状态,系统可以与实施验证者注册,以便依赖方验证部署在系统上的Realms(领域)。

[R0107] 只有当系统已完成所有CCA硬件参数的供应锁定时,供应过程才算完成。硬件参数被成功提供后,其值将不可更改。

不可更改意味着CCA硬件参数在整个CCA安全生命周期内不会改变。一些实现可能支持硬件恢复机制,例如允许系统在维修中心进行重新供应后获得新身份。在CCA平台安全生命周期中,这等同于退役先前身份并重新启动新身份的安全供应状态。

系统原则上可以在CCA安全供应状态下进行验证,只要它能够派生出有效的CPAK(平台认证密钥)。但是,这种状态下的系统不应被信任,因为它可能尚未完全供应或锁定。因此,系统只有在进入安全状态后才能与验证者注册。

从安全状态,系统可以进入启用可能破坏CCA安全保证的调试或诊断状态。这可以通过加载支持调试的CCA固件或启用外部调试或诊断接口来实现。

为了系统保持可验证,其验证状态在运行时不能改变。

[R0108] 在安全系统上,只有在系统重启后、初始启动代码完成之前,才能启用CCA固件启用的调试或外部调试功能。

[R0109] 在安全系统上,只有CCA HES可以启用外部调试或诊断接口。

[R0110] 只有经过明确授权,外部调试或诊断接口才能启用。

[R0111] 授权只能由可信源发出,并由CCA HES验证。

CCA未规定特定的硬件级调试授权协议,但任何此类协议应至少与CCA验证启动的加密安全性相当。

调试状态可以是可恢复的,也可以是不可恢复的。

[R0112] 系统只能在重启后恢复到安全状态。

[R0113] CCA HES确保所有调试接口在恢复到安全状态之前已关闭,并且只能加载授权的CCA固件。

[R0114] 领域管理调试状态代表影响领域世界的外部或CCA固件调试功能。它既可验证也可恢复。

[R0115] 根调试状态代表影响监控器安全域和CCA系统安全域的外部或CCA固件调试功能。在支持CCA HES的CCA系统上,这种状态既可验证也可恢复。

[R0116] 退役状态代表影响CCA HES的外部或CCA固件调试功能。

[R0117] Arm建议在CCA安全系统上永久禁用所有影响CCA HES的调试功能。

[R0118] 在进入退役状态之前,至少应将CCA硬件参数永久置于无法使用的状态。

退役状态不可验证且不可逆。

[R0124] 对于退役系统,CCA验证身份必须撤销,无法恢复或重复使用。

当前版本的CCA不支持派生的Realm密钥,也不支持CCA固件在CCA HES外部的密钥派生。这些功能可能会在未来版本中添加,届时将引入额外的规则,确保在调试状态下派生的密钥与安全状态下的密钥不同。例如,可以通过在CCA密钥派生中包含CCA平台安全生命周期状态来实现。

三、重新供应

严格来说,CCA系统安全生命周期定义了不可变的CCA系统安全域属性的生命周期。这包括不可变的初始启动代码、安全供应的硬件参数,以及CCA系统安全域不可变的硬件元素的安全属性。

不可变的CCA系统安全域属性构成了CCA启用系统最根本的信任根。

[R0138] 不可变的属性通过CCA平台验证密钥和身份间接验证。这意味着这些属性以及相关的CCA平台验证密钥必须在CCA系统安全生命周期的任何可验证状态下保持不变。

进入任何不可验证状态可能会撤销或使不可变的安全声明无效,并且验证者无法确定CCA平台的可信度。

[R0139] 不可变的CCA系统安全域属性只能在供应状态下或在特定的实现恢复过程中(如退役后)被修改。对不可变属性的任何更改都构成重新供应事件,因为CCA平台验证密钥和身份必须更改以反映新的不可变安全属性。

这也包括当CCA平台验证密钥和身份本身发生更改时(例如更新安全算法或恢复被破坏的CCA平台密钥后)。任何重新供应事件都会撤销先前的CCA平台验证密钥和身份,并发放新的CCA平台验证密钥和身份。

Arm CCA不定义供应、重新供应或恢复过程,这些是特定实现和生态系统相关的内容,不在本规范的范围内。

四、可信子系统与CCA HES

预计可信子系统将遵循与主CCA系统安全生命周期相同的模式和规则。

[R0145] 可信子系统可以将其安全生命周期管理委托给另一个可信子系统。例如,电源管理子系统可以将其安全生命周期管理委托给CCA HES主机。

[R0119] 任何CCA可信子系统都不受根调试影响。

[R0120] 任何影响CCA可信子系统的外部或CCA固件启用的调试功能只能在系统重置后启用。

[R0121] 任何影响CCA可信子系统的外部或CCA固件启用的调试功能只能由CCA HES启用。

[R0122] Arm建议在CCA安全系统上永久禁用所有影响CCA HES的调试功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/948683.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机视觉CV期末总复习

1.计算机视觉基础 数字图像表示 二值图像 仅包含黑白两种颜色的图像,只使用1个比特为(0黑或1白)表示 彩色图像:分不同的颜色空间 gray灰度图像 每个像素只有一个采样颜色,取值范围0--255,为8比特位&a…

web安全常用靶场

这里写自定义目录标题 phpstydy2018pikachuxss-labs phpstydy2018 网盘地址 提取码: nxnw ‌phpStudy是一款专为PHP开发者设计的集成环境工具,主要用于简化PHP开发环境的搭建过程。‌ 它集成了Apache、MySQL、PHP等核心组件,用户只需进行一次性安装&a…

每天40分玩转Django:Django实战 - 在线打印服务系统

Django实战 - 在线打印服务系统 一、系统功能概览表 模块主要功能技术要点文件上传PDF/Word文件上传、文件验证文件处理、MIME类型验证异步处理文件转换、打印队列Celery、Redis通知邮件打印状态通知、订单确认SMTP、邮件模板 二、系统架构设计 2.1 模型设计 # models.py …

WPS计算机二级•数据查找分析

听说这里是目录哦 通配符🌌问号(?)星号(*)波形符(~) 排序🌠数字按大小排序以当前选定区域排序以扩展选定区域排序 文字按首字母排序 快速筛选分类数据☄️文字筛选数字筛选颜色筛选…

基于海思soc的智能产品开发(camera sensor的两种接口)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于嵌入式开发设备来说,除了图像显示,图像输入也是很重要的一部分。说到图像输入,就不得不提到camera。目前ca…

网安入门之MySQL后端基础

数据库 (Database) 数据库是指长期存储在计算机中的,有组织、可共享的数据集合。它通过表、列、行等结构来组织数据,目的是使数据可以高效存储、检索和管理。数据库通常包括多个表,每个表存储与特定主题或对象相关的数据 数据库管理系统 (D…

概率基本概念 --- 离散型随机变量实例

条件概率&独立事件 随机变量 - 离散型随机变量 - 非离散型随机变量 连续型随机变量奇异性型随机变量 概率表示 概率分布函数概率密度函数概率质量函数全概率公式贝叶斯公式 概率计算 数学期望方差协方差 计算实例 假设有两个离散型随机变量X和Y,它们代…

w139华强北商城二手手机管理系统

🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…

LLM大语言模型中RAG切片阶段改进策略

切片方法的特点和示例: Token 切片 适合对 Token 数量有严格要求的场景,比如使用上下文长度较小的模型时。 示例文本: “LlamaIndex是一个强大的RAG框架。它提供了多种文档处理方式。用可以根据需选择合适的方法。” 使用Token切片(chunk…

Earth靶场

打开靶机后使用 arp-scan -l 查询靶机 ip 我们使用 nmap 进行 dns 解析 把这两条解析添加到hosts文件中去,这样我们才可以访问页面 这样网站就可以正常打开 扫描ip时候我们发现443是打开的,扫描第二个dns解析的443端口能扫描出来一个 txt 文件 dirsear…

Kafka 消费者专题

目录 消费者消费者组消费方式消费规则独立消费主题代码示例(极简)代码示例(独立消费分区) offset自动提交代码示例(自动提交)手动提交代码示例(同步)代码示例(异步&#…

重庆大学软件工程复试怎么准备?

重大软件复试相对来说不算刁钻,关键是对自己的竞赛和项目足够了解,能应对老师的提问。专业课范围广,英文文献看个人水平,难度不算大,整体只要表现得得体从容,以及充分的准备,老师不会为难你。 …

Hadoop•FinalShell连接VMware免密登录

听说这是目录哦 FinalShell连接VMware🌤️解决重连失效FinalShell的使用 免密登录⛈️能量站😚 FinalShell连接VMware🌤️ 保持虚拟机的开机状态,打开FinalShell,如果虚拟机关机或者挂起,连接就会断开。 …

List-顺序表--2

目录 1、ArrayList 2、ArrayList构造方法 3、ArrayList常见方法 4、ArrayList的遍历 5、ArrayList的扩容机制 6、ArrayList的具体使用 6.1、杨辉三角 6.2、简单的洗牌算法 1、ArrayList 在集合框架中,ArrayList 是一个普通的类,实现了 List 接口…

通过串口通信控制led灯的亮灭

初始化led灯的gpio接口控制灯的亮灭 初始化uart1串口 将gpio9和gpio10设置为复用模式进行串口通信 通过串口的输入输出函数实现串口通信控制led灯的亮灭

git知识点汇总

git init 初始化一个git仓库,后面可以加仓库名,在当前目录下创建指定名称的目录并在该目录下创建仓库,若不加则直接在当前目录下创建仓库。git仓库的三个区域:工作区(当前目录)、暂存区(.git/in…

电子电气架构 --- 中央HPC架构

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…

让 Agent 具备语音交互能力:技术突破与应用前景(16/30)

让 Agent 具备语音交互能力:技术突破与应用前景 一、引言 在当今数字化时代,人机交互方式正经历着深刻的变革。从早期的命令行界面到图形用户界面,再到如今日益普及的语音交互,人们对于与机器沟通的便捷性和自然性有了更高的追求…

L27.【LeetCode笔记】2 的幂(五种解法)

目录 1.题目 2.自解 方法1:调用log函数 代码 提交结果 方法2:循环 提交结果 3.优解 方法3:位运算n & (n-1) 0 代码 提交结果 方法4:位运算lowbit 代码 提交结果 4.投机取巧的方法 代码 提交结果 1.题目 https://leetcode.cn/problems/power-of-two/?env…

第0章 机器人及自动驾驶SLAM定位方法全解析及入门进阶学习建议

嗨,各位同学大家好!笔者自985硕士毕业后,在机器人算法领域已经深耕 7 年多啦。这段时间里,我积累了不少宝贵经验。本专栏《机器人工程师带你从零入门SLAM》将结合下面的SLAM知识体系思维导图及多年的工作实战总结,将逐…