最后更新于:2021 年 10 月 29日如“安全芯片 IP 网络研讨会系列”中所解释的,信任根是 SoC、其他半导体设备或电子系统的安全基础。当然,它的含义也取决于所问的对象。例如,硬件信任根包含加密功能密钥,并且通常是安全启动过程的一部分,用于为软件信任链提供基础。
本文中:
什么是硬件信任根?
硬件信任根是计算系统所有安全操作所依赖的基础。它包含了加密功能密钥,并用于安全启动过程。它是信任的根源,所以在设计层面必须保证其安全。硬件中信任根是最安全的实现方式,可使硬件免受恶意软件攻击。因此,信任根既可以是独立安全模块,也可以作为处理器或片上系统 (SoC) 之中的安全模块实现。
基于芯片的硬件信任根都有哪些类型?
基于芯片的硬件信任根分为两种类别:固定功能信任根和可编程信任根。本质上,固定功能信任根即状态机。这种状态机通常都很小型,用于执行一系列特定的功能,如数据加密、证书验证和基础密钥管理等功能。这些紧凑型的基于状态机的信任根对于物联网设备尤为适用。
相反,可编程硬件信任根是围绕 CPU 构建的。除了执行基于状态机解决方案的所有功能外,可编程信任根还能够执行一系列更为复杂的安全功能。可编程信任根具备多种功能、可升级,能够运行全新加密算法和安全应用,以应对不断变化发展的攻击载体。
可编程硬件信任根具备哪些优势?
网络安全威胁态势是动态的,并且在迅速发展。所幸,可编程硬件信任根能够持续更新,以应对不断扩大的威胁。其实,攻击者也在不断寻找新方法,以利用各种应用程序和设备的关键漏洞。计算机和网络设备无疑是网络攻击的目标,但在高度互联的物联网世界中,联网门锁、居家安保系统、智能恒温器、安全摄像头、婴儿视频监视器和智能电器等设备也都暴露在风险之中。
被攻破的物联网设备可轻易被重新编程,令消费者在不知不觉中受到隐私侵犯,同时,受远程攻击者控制的互联设备也可能会造成严重的财产损失。此外,被攻破的设备易被僵尸网络劫持,被用来攻击其他设备和重要的互联网基础设施。因此,所有互联设备需要考虑使用可编程硬件信任根,使设备免受当前和未来的威胁。
继续阅读:了解硬件信任根在防伪 IC 中的重要作用
可编程硬件信任根具备哪些功能?
可编程硬件信任根应为特定目的而构建,并且设计从一开始就能提供强大的安全保护级别。由于信任根是攻击者的合逻辑的攻击目标,因此应尽可能保证其安全,使其免受破解。可编程硬件信任根的功能如下:
-
-
孤立执行:
确保敏感安全功能仅在专门安全域内执行,此区域在物理上独立于通用处理器。这种范式,通过将安全功能安全地隔离在物理上独立的信任根中,使得主 CPU 在架构复杂性和性能方面得到优化。
-
全面的防篡改和侧信道防护:
使设备免受多故障注入和侧信道攻击。
-
分层安全:
提供强大的分层防御,避免单点故障。在硬件中强制执行对加密硬件模块和其他敏感安全资源的访问,同时仅硬件可获得关键密钥。可将软件安全置于硬件信任根顶层,以提供额外的灵活性和安全性。
-
多重信任根:
确保将资源、密钥和安全资产妥善隔离。在现实世界中,这意味着诸如芯片供应商、OEM 或服务提供商等每个实体,均可访问自身的“虚拟”安全内核,并且能够在无需“信任”其他实体的情况下,执行安全功能。如此,单个实体即可拥有唯一根和派生密钥,且仅可访问指定功能和资源,如 OTP、调试和控制位。此外,由于支持多重信任根,安全内核可在设备生命周期中的任意时间点向其他实体分配或委派权限,同时(在硬件中)唯一签名应用程序是隔离并与其他程序相互孤立的。
观看 我们的“安全芯片 IP 网络研讨会系列”: 当一个不足时:多重信任根: »
或
继续阅读:这就是我需要多重信任根的原因(+示例)»
-
什么是 Rambus 信任根?
Rambus提供一系列强大的信任根解决方案。从功能强大的国防级别的协同处理器到高度紧凑的状态机。从数据中心到物联网设备,Rambus的解决方案均可适用。可为绝大多数应用提供信任根解决方案。
跳至: 信任根解决方案 »
Rambus 信任根的安全性是如何构建的?
Rambus RT-600系列的信任根的硬件 IP 内核是围绕 Verilog RTL 构建的,能够将定制化和模块化的信任根轻松集成至任意芯片或 FPGA 设计中。更重要的是,Rambus 信任根具备分层架构,提供了硬件设计的安全性和软件灵活性。
简化版 Rambus RT-600 信任根框图
上图展示了 Rambus RT-600信任根的基本架构,其中包含:
-
-
专用的32位CPU:
该 CPU 是一种经过安全优化的可配置的多级 32 位 RISC-V 处理器。
-
多总线结构:
在 Rambus 信任根内部连接各种硬件模块。注:其中有一条单总线,专门于传输和保护敏感密钥,防止未经授权的软件对其进行访问。
-
专用 SRAM:
具备多接口和经硬化的内存保护单元。Rambus 信任根的 SRAM 将安全资产存储在内存区域中,独立于系统其他部分,同时 SRAM 还包含少量只读(read-only)内存。
-
密钥传输内核:
管理可外部使用的密钥。
-
真随机数字生成器:
为多种加密算法和协议的生成真随机数字。
-
DMA 控制器:
将数据移入或移出内核。
-
密钥派生内核:
允许为不同应用程序派生多个密钥,同时保持密钥的加密隔离状态。
-
加密引擎:
包含三种(默认)加密引擎:一个用于公钥算法、椭圆曲线和 RSA 的引擎,一个哈希引擎,以及一个 AES 引擎。
-
OTP 管理内核:
管理用于存储密钥和其他安全资产的一次性可编程内存。
如上所述,适用范围广泛的 Rambus RT-600系列信任根可轻松集成至各种芯片中。其标准接口包含用于与寄存器通信的 AMBA 接口总线(进入内核的控制平面接口),以及与系统内存接合(数据平面访问)的 AHB 总线。Rambus RT-600系列信任根还提供用于外部逻辑密钥的密钥总线接口,此接口易于使用,并可用于管理诸如芯片特性、警报(控制和监视外部逻辑)等各种功能的 I/O 引脚。
Rambus 信任根的其他主要安全特性及功能还包括:
-
独立的安全启动机制:
从集成于门电路上的boot ROM开始执行第一阶段启动。
-
侧信道防护:
为各种侧信道攻击提供全面的防护,例如差分功率分析 (DPA)、简单功率分析 (SPA)、简单电磁分析 (SEMA)、差分电磁分析 (DEMA)、相关功率分析 (CPA) 和相关电磁分析 ( CEMA)。这些侧通道攻击对策存在于整个 Rambus 信任根中,以及 CPU 本身的执行管道中。
-
故障和故障注入攻击防护:
全方位防止故障和故障注入攻击。
-
内存保护单元:
在启动时锁定,恶意代码无法更改。
-
专用的 SRAM 和独立的 CPU 总线:
防止对调用堆栈的修改,并确保控制流的完整性。
Rambus RT-600系列信任根包含了完整的固件堆栈,同时针对使用特权等级(特权等级作为RISC-V ISA 的一部分)的软件采用了分层安全模型。简单来说,就是在硬件级别层面强制执行这些特权等级,进而有效地在其各自分层中将数据分隔。更具体地说,最小特权(安全性最低)层即用户级别,此层用于运行用户编写的安全应用程序。这些应用程序也称为容器。
下一级别是监管级别,用于驻留和运行专为安全定制的基于 Zephyr 的微核。,最高特权等级的地方用于运行最安全的代码,并带有安全监视器,用于监视微核和容器,以及其与硬件之间的交互。尽管较低的等级更为灵活,却不够安全。因此,专门设计了安全监视器,为软件堆栈提供强大的安全保护级别。
是否有专为我的应用所配置的 Rambus 信任根?
Rambus 信任根可根据几乎每一个应用的安全要求和认证标准,提供专门的解决方案。
-
- RT-100系列的信任根解决方案专为功耗和空间受限的应用而设计,如物联网设备。RT-100硬件信任根内核采用状态机架构并带有专门的安全内存,可提供多种的加密加速器,其中包括AES,SHA-2和ECC。针对中国市场,还提供包含SM2,SM3和SM4的加速器的版本。
- RT-630是完全可编程的硬件安全内核,为云、AI/ML及通用半导体应用提供security-by-design的安全保证。它采用一流的防篡改和安全技术,可以防范各种硬件和软件攻击。
- RT-640和RT-645是针对汽车市场而设计的,可分别提供ISO-26262 ASIL-B 和ASIL-D 认证。支持车对车和车与基础设施通信(V2X),高级辅助驾驶系统(ADAS)以及信息娱乐系统的使用。
探索更多入门内容:
– CXL:您所需要了解的一切
– PCI Express 5 与 PCI Express 4:有哪些新功能?
– 侧信道攻击:详解
– DDR5 与 DDR4 – 所有设计挑战与优势
– MACsec 介绍:从 A 至 Z
– HBM2e 实施与选型终极指南 -
发表回复