当前位置: 首页 > news >正文

【架构】安全(二)

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

目录

Security requirements:

1.Security Lifecycle

2. Boot ROM and reset

2.1 Boot keys

2.2 Boot types

2.3 Boot parameters

2.4 Boot robustness

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中。
http://www.dtcms.com/a/615212.html

相关文章:

  • 设置一个好的网站导航栏网站多久才会被收录
  • 毕设做网站 方面的论文广州公共交易中心
  • 公司网站建设方案汇报浙江省住房和建设厅网站
  • 论文研读|基于扩散过程的图像篡改定位
  • 网站优化需要金桥网站建设
  • jEasyUI 创建菜单按钮
  • C语言编译单元 | C语言编译过程的详细解析与优化技巧
  • 石家庄推广网站有做网站赚钱的吗
  • 黄冈网站开发油管代理网页
  • asp.net 发布网站 ftp云南做网站多少钱
  • 网站制作 网页显示不全建造网站需要什么
  • 当前网站开发什么语言帝国cms做的网站
  • Linux系统编程——信号
  • 做游戏网站有几个要素北京大兴黄村网站建设
  • 常州高端模板建站别人的域名解析到了我的网站上
  • 广东建设报网站施工企业管理费用包括哪些
  • 第四十二篇:MySQL索引深入:B+Tree原理、最左前缀原则、索引优化
  • Win10 用的 C 语言编译器 | 提升开发效率的最佳选择
  • 做百度快照要先有网站吗手机网站一键开发
  • 能源产品网站建设多少钱网站关键词下降
  • 华容道布局(1):40种经典布局及解法图解合集
  • 网站建设常用模板下载网站推广方法有哪些
  • 没电脑可以建网站吗泰国网站的域名
  • 编译型语言 | 解析编译型语言的特点与应用
  • html5网站后台制作北京南站在哪个街道
  • 企业网站cms 开源广东新闻联播
  • SAP FICO BU损益表
  • 中山中小型网站网站关键词格式
  • 网站不能访问如何做冗余安徽省建设工程信息网安徽省政务
  • 13.vector(下)