从一个很基础的视角看SoC上的安全需求。
目录
[4)secure boot](#4)secure boot)
[5)secure update](#5)secure update)
[6)rollback protection](#6)rollback protection)
7)security by isolationsecurity by isolation)
8)secure interfacessecure interfaces)
9)bindingbinding)
10)trusted servicestrusted services)
安全目标:
1)子系统的加密身份。
2)安全的生命周期。
security lifecycle states:
CM:Chip Manufacturing 芯片刚出厂,很多敏感的信息都能访问,大部分的安全内容都可以访问。还没有转移到DM。
DM:Device Manufacturing stage。在这个阶段不开internal scan, MBIST,但是需要开放chip 接口和外部测试功能。OEM需要完成所有的provisioning工作。通过安全的provision方案初始化OTP区域包括Device ID,Model ID,Model Key,Device Root Key,Secure Boot public key hash and user-define information stored in the secure region or non-secure region.然后更新到Device Deployment。
DD:Device Deployment stage。处于生产阶段。客户可以使能security functions。
DR:Device Revocation。设备废除阶段。会自动擦除DM阶段provision进入的信息。
3)attestation证明
证明系统安全的可信程度。系统必须能够向依赖方提供其可信度的证据。这要求系统的身份和安全状态通过证明过程来验证。要具备有效性,系统必须成为某个治理计划的一部分。这样的计划包括诸如评估实验室、证明验证者和依赖方等角色。
4)secure boot
安全启动。安全的载入避免未经授权的软件被执行。
5)secure update
安全更新。当漏洞被修复之后系统安全更新状态。
6)rollback protection
回退版本保护。之前软件的版本可能会存在一些可被开发使用的漏洞点。因此,预防非法回退firmware版本是很重要的。
7)security by isolation
安全隔离某些服务避免损害其他服务。分开受信任世界和非受信任世界。
8)secure interfaces
在isolation边界的信息交互。
9)binding
敏感数据要绑定到一个特定的系统以避免数据被克隆或被泄露。
10)trusted services
受信任的服务用于配置安全控制状态。加密服务用于产生密码来支持attestation,安全启动,安全载入也包括数据的binding。
-
Secure Boot Public Key Hash 就像国家的**《宪法》**,是最高、最根本的准则,规定了权力的来源和基本运行规则。
-
Device Root Key 就像每个公民与生俱来的、无法剥夺的生物特征(指纹/虹膜),是个人唯一且最可靠的身份证明。
-
Device ID 就是你的身份证号码,是系统为你分配的唯一管理标识。
-
Model ID 是你的户籍地址,标明你属于哪个群体。
-
Model Key 就像某个特定俱乐部的会员密钥,所有符合条件(同型号)的成员都能用它进入并享受服务。
安全威胁
| 威胁 | 总结 |
|---|---|
| 恶意代码 rogue_code | 攻击者成功载入恶意代码,通过恶意代码获得到了soc中的assets或更高的权限。 |
| 篡改(拆除) tampering | 攻击者通过更换或者篡改了off-chip的存储,内存或外设来获得assets或更高的权限。 |
| 克隆 cloning | 攻击者通过物理访问的方式读到off-chip的存储或内存。反向工程或克隆assets到其他的系统。 |
| 调试滥用 debug_abuse | 攻击者成功的获得了debug的特性来非法地修改了系统的行为或访问assets。 |
| 弱加密 weak crypto | 攻击者破解了加密系统,为了访问assets或冒充设备。这个威胁只与算法强度、key的大小和随机数生成相关。 |
| 冒充 impersonation | 攻击者冒充device为了拦截提供给设备的assets。 |
| 权限滥用 power_abuse | 攻击者滥用power管理为了访问assets。 |
| 软侧信道攻击 soft_side_channels | 攻击者使用软件可观测的侧信道工具去获取assets。 |
| 威胁 | 总结 |
|---|---|
| 侵入式攻击 invasive_attack | 攻击者通过侵入式技术,系统被物理开盒和探测为了恢复资产。 |
| 毛刺 glitching | 物理攻击者使用power,时钟,温度和energy 毛刺攻击制造了错误比如指令跳跃,读写到畸形的数据或指令译码错误。 |
| 物理性侧信道攻击 | differential power analysis 或 timing 攻击。 |
| 服务拒绝 | 损害了一个asset或阻止了asset被访问。 |
| supply chain | supply chain安全。 |
| 应用 | 不受信任世界的威胁和通用应用的安全。 |