【架构】安全(二)

在一个抽象的层次,一个系统需要包含一系列的assets,包括一些在这些assets上的操作。assets一般指的是代码或者数据有一个owner或内在的价值。比如金融价值。高价值的assets属于trusted world,低价值的assets属于non-trusted world。以下列出SoC需要达到的安全需求。

目录

[Security requirements:](#Security requirements:)

[1.Security Lifecycle](#1.Security Lifecycle)

[2. Boot ROM and reset](#2. Boot ROM and reset)

[2.1 Boot keys](#2.1 Boot keys)

[2.2 Boot types](#2.2 Boot types)

[2.3 Boot parameters](#2.3 Boot parameters)

[2.4 Boot robustness](#2.4 Boot robustness)

[2.5 Secondary processing elements](#2.5 Secondary processing elements)


Security requirements:

1.Security Lifecycle

  1. lifecycle的状态是保持的或并从OTP类的memory中获得的。
  2. 所有的lifecycle状态的转换是限制在一个设计的规则下,这个规则至少包含:
    1. 系统启动的时候所有子系统安全状态的初始化。
    2. 设计好的可部署状态用于授权系统安全特性的使用。
    3. decommissioned退休状态,不再允许进一步的状态转换。
  3. 进入decommissioned状态应该清除或不使用所有的密钥 依据FIPS 140-2.
  4. 一些系统有足够的硬件能力去隐藏root secrets,当系统处于侵入式debug状态时。比如说Trusted World Privileged Debug。这使系统返回Secured状态成为可能。
  5. Booting,debugging和scan 访问受到secure lifecycle policy控制。

2. Boot ROM and reset

SoC系统的安全初始化由一系列的配置完成,这些配置由安全启动来配置完成。Secure boot确保了firmware的完整性和数据来源的可信度。

安全启动依赖于不可改变的安全boot镜像。它是SoC启动的第一段代码也是用于下一个阶段的验证。一般会分为多个阶段,第一个阶段是Boot ROM。后面的阶段会通过非易失性的存储载入Secure RAM并且执行。第二阶段的boot loader一般指的是Secure Boot Firmware。

2.1 Boot keys

SoC需要有一个on-chip Boot ROM用于安全启动,存储hash形式的公共密钥用于验签。

2.2 Boot types

Cold boot,冷启动一般指的是启动不依赖之前系统状态。一般,冷启动只发生在平台上电或hard reset由power-on reset circuit产生的情况。有时hard reset还会当软件死锁时发生。

Warm boot,热启动一般指的是启动依赖之前系统状态来利用一个比冷启动更快的系统启动方案。这种方式需要告知Boot ROM目前的启动状态,通过比如说:

  • 一个特殊的寄存器告知Boot ROM目前的启动状态。
  • SoC能够使用一个备用重置向量对于一个warm boot,从而使Boot ROM执行warm boot 特定代码。

典型的场景,任何存储需要执行这种机制需要放置在一个AON的区域中。

|---|-----------------------------------------------------------------------------------------------------------------|
| | 如果系统支持warm boot,一个flag或register需要能够区分warm boot和cold boot。这个寄存器只能在Trusted world 被配置,在warm reset和cold reset之后被重置。 |
| | 这个flag或寄存器默认配置为cold boot,非授权的侵入会导致cold boot。 |

2.3 Boot parameters

Boot ROM的实施有时会受到额外的configuration信息影响,比如说从OTP的配置。这些配置包含:

  • 选择first loadable firmware image启动的设备。
  • ROTPK的存储。(Root of Trust Public Key)。
  • boot image decryption root key的存储。
  • 其他boot特定的参数。

有些configuration需要被禁用,依据LCS。

|---|---------------------------------------------------------------|
| | Boot ROM需要能感知目前的LCS状态。 |
| | 必须不能从其他的外设存储启动,除非Trusted Debug mode允许这个行为。 |
| | 任何外部的configuration,不是从on-chip OTP获得的必须通过on-chip public key验证。 |

2.4 Boot robustness

当冷启动时Boot ROM不能被其他agents扰乱。这避免了secure boot被跳过了。

|---|------------------------|
| | Boot ROM执行的时候,DMA不能获取。 |
| | 冷启动的时候,外设访问需要被禁止。 |

2.5 Secondary processing elements

一般SoC都有多个PE,用于启动的PE是primary。Primary PE用于执行Boot ROM。剩下的PE由Primary PE启动。下列是几个简单的场景:

  • platform power controller能保持住所有secondary PEs处于reset state,当primary PE执行Boot ROM时,直到primary PE要求secondray PEs被释放。
  • 冷启动后所有的PEs通过Boot ROM中generic boot vector被执行。但是Boot ROM识别出primary boot PE允许它使用secure boot image去启动,同时其他secondary PEs保持inactive。
  • on-chip security subsystem 执行它自己private Boot ROM当一个系统reset发生时,执行完后释放AP。security subsystem定义在Security subsystems中。
相关推荐
belldeep1 分钟前
网络安全:WAF 雷池 SafeLine 介绍
安全·web安全·雷池·safeline
EkihzniY3 分钟前
筑牢线上医疗人脸识别的安全根基
安全
zhengfei61141 分钟前
“抖音崩了”冲上热搜,无法正常搜索,刷视频功能未受影响
安全
智驱力人工智能1 小时前
实线变道检测 高架道路安全治理的工程化实践 隧道压实线监测方案 城市快速路压实线实时预警 压实线与车牌识别联动方案
人工智能·opencv·算法·安全·yolo·边缘计算
萤丰信息1 小时前
智慧园区:以技术赋能,构筑安全便捷的现代化生态空间
大数据·人工智能·科技·安全·智慧城市·智慧园区
味悲2 小时前
SQL注入学习笔记一
安全·sql注入
菩提小狗2 小时前
小迪安全2022-2023|第35天:WEB攻防-通用漏洞&XSS跨站&反射&存储&DOM&盲打&劫持|web安全|渗透测试|
前端·安全·xss
金士镧(厦门)新材料有限公司2 小时前
片状碳酸镧:科技与环保的隐形“小助手”
科技·安全·全文检索·生活·能源
幽反丶叛冥2 小时前
什么是等保(网络安全等级保护)
网络·安全·web安全
FreeBuf_2 小时前
MEDUSA安全测试工具:集成74种扫描器与180余项AI Agent安全规则
人工智能·安全