如何创建安全可信的环境
在当今世界,网络攻击比大多数人想象的更常见,从拒绝服务 (DoS) 攻击、恶意软件监视个人和通过勒索软件勒索金钱到控制嵌入式物联网 (IoT) 设备。
防止这些是一场持续的战斗,犯罪者使用一切手段确保他们的恶意软件难以删除,包括更新主板和物联网设备上的固件。通过控制固件,恶意软件从打开设备的那一刻起就控制了设备,并且检测和删除要困难得多。
电信原始设备制造商 (OEM) 需要知道他们的产品在网络中不会被篡改,因为他们的某个设备在网络的核心或边缘受到损害可能会产生灾难性的后果。
设备上电时,从板上的闪存设备读取要运行(启动)的初始软件。这是在开发板上运行的第一个软件,它为后续软件设置硬件,无论是第二阶段引导加载程序还是像 Linux® 这样的操作系统。确保加载固件的真实性是系统完整性的关键。
一种解决方案是使用安全启动。下面将展示Microchip WinPath网络处理器+ WanStaX + 可信平台模块(TPM)如何提供安全和可信的启动环境。
安全启动
安全启动需要在硬件设计中进行一些小的更改,以确保无法更改出厂时加载到设备中的第一阶段固件映像。这些映像必须存储在写保护闪存设备或只读存储器 (ROM) 上。WinPath系列设备能够从NOR闪存或通过I2C启动,并且这两种技术都可以进行写保护,因此无法通过软件更新。
NOR 闪存中的硬件写保护扇区、写保护 I 2 C设备、ROM 或一次性可编程 I2C 设备都可以防止在网络中安装固件时更新或篡改固件。
对映像进行签名
使用标准加密工具,生成公共/私有 2048 位 RSA 密钥对。私钥(OEM 必须确保其保密)与 SHA-512 哈希一起使用,对将在设备上加载和执行的所有映像进行签名(请参阅图 1)。生成的图像签名将附加到原始图像中,以便于检测和比较。公钥可以与任何人自由共享,并在需要时发布,因为它只能用于验证映像是否有效运行。
图 1:对映像进行签名
WanStaX目前旨在生产小型(<64k)第一级引导加载程序,该引导加载程序加载到具有硬件写保护的I2C设备中。WinPath 在硬件中配置为从此I 2C 设备启动。此映像还包括公钥,用于在执行之前验证它加载的每个第二阶段引导加载程序映像。
图 2:验证映像
验证映像
第一阶段引导加载程序将尝试通过依次检查每个引导加载程序的签名来引导第二阶段引导加载程序(参见图 2);如果未能在此映像或备份映像上提供有效的签名,将确保调用恢复机制以通过本地管理控制台端口下载映像,并在执行之前再次验证任何签名。因此,除了 OEM 签名的映像之外,无法在硬件上加载任何映像。
启动过程
可以通过添加受信任的平台模块 (TPM) 来增强安全启动。此模块可以提供有关引导过程的信任根的加密断言。参见图 3。
除其他功能外,TPM 还提供一组平台配置寄存器 (PCR),这些是一组单向哈希(即可以添加到但无法清除的哈希)。每个哈希称为度量。使用此构建块,WanStaX 引导加载程序可以测量系统的可变方面(例如,闪存变量、内核参数、映像),以生成引导过程的签名跟踪。
由于 WanStaX 将 TPM 模块初始化(这只能在 TPM 打开电源后完成一次)作为第一阶段引导加载程序的一部分,因此已知 TPM 是安全的,其测量值是可信的。初始化后,第一阶段加载器立即测量自身并将其哈希值放入第一个PCR寄存器中,从而提供引导过程的第一个加密标记。
图3:启动过程
当加载第二阶段图像并验证其签名时,将对图像进行测量并将其添加到第二个PCR寄存器中。因此,在第二阶段加载程序启动之前,WanStaX 将测量第一级和第二阶段加载程序,并将其存储在 TPM 模块中。
一旦 WanStaX 第二阶段加载程序启动,它将检查活动/备份内核映像上的签名,如果有效,它将:
测量将传递给内核映像的内核参数
测量存储在闪存中的环境变量
测量要引导的内核映像
执行内核映像
此时,已经测量了系统的所有可变方面(系统用户可以更改的任何方面),并且当与 WanStaX 内核及其内置根文件系统结合使用时,确保引导内核可以验证是否有任何更改。使用此断言,内核可以使用 TPM 模块“包装/解包”密钥/数据。此数据可用于存储使用 cryptoFS 装载的安全闪存区域的密钥。
TPM 包装/解包使用 TPM 模块,使用所选内部 PCR 寄存器及其内部(每个 TPM 设备唯一)主包装密钥(存储根密钥)的组合来加密/解密数据 blob。使用 TPM 模块加密后,只能在加密它的平台上解密加密数据的 blob。如果 Blob 足够小,则可以存储在 TPM 模块本身或闪存磁盘上,以便在下次启动时使用。
对图像的任何更改,甚至是环境变量中的单个字符更改,都将使加密的 blob 无法打包。
结论
使用对原理图设计的一些微小更改和添加TPM,所有WinPath设计,以WanStaX为粘合剂,可以在电信网络中运行时提供安全和可信的平台。Taurus的XS-3500 PCI夹层卡是用于智能电网环境的“WinPath + WanStaX + TPM”网络加速卡实施的一个例子。
审核编辑:郭婷
-
处理器
+关注
关注
68文章
19169浏览量
229164 -
Linux
+关注
关注
87文章
11230浏览量
208937 -
操作系统
+关注
关注
37文章
6742浏览量
123194
发布评论请先 登录
相关推荐
评论