随着连接设备的普及,特别是在物联网(IoT)应用中,嵌入式系统设计人员越来越需要应对计算系统工程师多年来必须应对的信任和安全问题。
可信计算组 (TCG) 在开发基于标准的信任技术以解决这些信任和安全问题方面有着悠久的历史。最近,TCG已将其重点扩展到嵌入式系统。TCG新发布的设备身份组合引擎(DICE)架构旨在为嵌入式空间提供增强的安全性和唯一的设备识别和证明。
DICE依赖于简单的硅功能和软件技术的组合,这些技术协同工作以提供加密强的设备标识。对纯软件安全性的改进部分基于将引导过程分解为多个层。每个层和硬件配置的唯一机密是使用只有 DICE(以及(可选)制造商)知道的唯一设备机密 (UDS) 创建的。
设备机密和密钥对于设备和每个软件层是唯一的,确保在修改代码或配置时,机密和密钥将不同。通过这种方法,每个软件层都将其接收到的秘密完全保密。如果通过漏洞泄露了机密,则修补代码将自动重新键入设备。
图 1 显示了 DICE 中的受信任代码如何为平台提供基于硬件的信任根。在 DICE 启动模型中:
开机无条件启动 DICE
百达对UDS拥有独占访问权限
每一层计算下一层的密钥(通过加密单向函数)
每一层都保护它接收到的秘密
[图1|DICE模型在每一层使用新的密钥,基于受信任的不可变代码构建,以构建信任链并提供强大的设备标识。
硬件具有将对 UDS 的访问限制为仅对 DICE 的访问的功能,它执行 DICE 安全性的初始步骤。UDS 和在 DICE 平台上运行的第一个可变代码的测量(其中 DICE 为测量提供信任根)都用于计算复合设备标识符 (CDI)。从 CDI 开始,每个连续的软件层都使用密钥和下一层的测量值来派生下一层的新密钥。在转移控制权之前,每一层都必须擦除自己的秘密。此过程在启动期间继续进行,从而形成一个基于设备标识并基于测量代码的测量链。
为了实际了解这项技术,微软的强大物联网(RIoT)架构为利用DICE提供了参考实现。这与支持 Azure IoT 中的设备预配服务的体系结构相同。在 RIoT 参考中,支持 DICE 的处理器运行称为 RIoT 内核的第一阶段引导加载程序。RIoT 核心负责根据 DICE 执行的测量结果派生设备标识。然后,RIoT 内核将其自己的设备固件测量值与从 DICE 接收的 CDI 相结合,并将此机密值传递给固件,以便进一步派生其机密和密钥。
在此体系结构中,设备固件依赖于以称为固件标识 (FWID) 的加密哈希值编码的证明(设备安全配置的加密报告)元素。FWID 是固件安全描述符 (FSD) 的哈希值,它与 UDS 一起是派生基于 DICE 的身份和证书的函数的模拟输入。
实现 DICE 平台有三个基本要求。这些包括:
计算哈希的能力(理想情况下在硬件或ROM中),
至少 256 位的 UDS,
一种保护机制,可将对 UDS 的访问限制为 DICE,并且仅在平台重置时重置
这些特性通常在嵌入式应用中使用的可用微控制器(MCU)中找到,但专为DICE架构设计的MCU可以优化其实现。可用于实现DICE架构的硬件包括现有的MCU:意法半导体的STM32L0L4系列MCU、美光科技基于Authenta的闪存。专为DICE设计的新型MCU包括微芯科技的CEC1702、安全IoT1702演示板和华邦的闪存。
随着DICE规范接近最终确定,更广泛的供应商将提供更多的设计导入工具和支持。
审核编辑:郭婷
-
mcu
+关注
关注
146文章
17002浏览量
350332 -
嵌入式
+关注
关注
5069文章
19021浏览量
303412 -
物联网
+关注
关注
2903文章
44284浏览量
371353
发布评论请先 登录
相关推荐
评论