在前面的部分中,本系列文章探讨了保护存储平台的各种方法,包括使用证明度量。在结束本系列时,我们将研究应考虑的其他措施,包括创建信任系统、确保所有组件制造都经过验证、保护所有固件更新以及实施加密隐蔽性和安全调试模式。
信任
系统 假设右侧图 1 中所示的系统是服务器。它包含 CPU 复合体、BMC、板载闪存和受信任的安全处理器。
在 CPU 中运行的 BMC 或 BIOS 都不可信,因为服务器的固件经常更改并且是可修改的。该平台的简单、不可修改的安全处理器用于验证存储在串行外设接口 (SPI) 闪存中的固件,然后从重置中释放依赖的受信任组件。
在某些情况下,安全芯片中包含不可修改的黄金映像,如果检测到外部固件异常,它将引导系统。黄金映像可能只足以使系统启动并运行,以便可以再次将其刷新到已知的良好状态。如果有足够的存储空间,则可以恢复整个SPI闪存。
此安全处理器不仅承担中介层角色,而且通常还具有与系统中的所有设备通信并验证证明值的附加角色。这可确保系统下游运行的所有内容也通过一组已知的证明值受到信任。
制造标识和授权
许多业内人士都非常希望看到经过验证的组件制造。图 2 提供了如何实现此目的的示例。
经过验证的制造试图消除铸造厂可能发生的安全漏洞。这些违规行为的例子包括扫地(收集未经验证的零件)和盗窃整卷零件。在任何一种情况下,丢失的部分以后都可能被滥用。
为了防范这些风险,每个芯片都必须经过唯一标识和认证,并在制作时提供签名证书。供应商保证它制造了零件,它是真实的,并且是可追溯的。这可确保以后可以撤销错放的部件。
我们认为,可以使用芯片中生成的密钥,在特定部件的基础上生成证书。另一种方法是证书注入,但这通常会导致错误、拦截和其他类型的安全问题。理想情况下,证书请求在部件内生成,对公共证书进行签名,然后与部件一起存储回去。
如果需要,客户可以使用自己的证书颁发机构重新签名部件。重新签署的过程通常称为所有权转让。在Microchip,我们提供实用程序,使所有权能够从带有Microchip密钥的Microchip设备转移到具有自己的证书和密钥材料的另一家公司设备。
注入公司特定密钥材料的公司完全控制硬件和固件的签名和授权过程。这种方法的缺点是,公司还必须使用受保护的密钥管理基础结构来管理固件源、二进制代码构建和签名处理。建立这样的基础设施可能是一项极其复杂的任务。
安全固件更新
2019 年 800 月发布的一个众所周知的规范描述了一种在芯片上管理固件的好方法:NIST 文档 SP193-800。下面是从规范文档派生的流之一。SP193-3 涵盖了其他内容,该图并非旨在记录整个规范。如图 《》 所示,首先将映像解压缩到非持久性区域,以确保在未清除验证过程时在重新启动时丢失映像。验证测试通过运行受信任的固件来执行。如果下载的固件通过验证,则映像将移动到持久区域。
将映像移动到闪存并完成完整的安全启动过程后,区域 1 中的映像现在将复制到 SPI 闪存的 2 区域。
编程步骤完成后,安全固件管理过程会检测是否应在ASIC中撤销公钥。提醒一下,公钥用于验证映像并匹配固件的给定私有签名密钥。撤销可能在各种情况下发生,但应该不常见。
加密晦涩难懂
与硬件组件相关的数据加密可防止检查可能导致泄露的详细信息。基于固件的加密密钥可以帮助通过各种分发渠道传输固件。唯一的ASIC加密密钥将允许保护下面图4右侧的所有数据流免受检查或迁移。所有存储在片外的数据都将绑定到正在使用的特定ASIC,不能重复使用,也不能变得有用。
安全调试模式
调试会话在计算行业中是必需的,尽管所有相关人员都尽了最大努力。调试模式的固有问题是,它可能向有恶意的个人敞开大门。调试可实现侵入式检查、调试固件加载和操作状态更改。
安全调试从关闭调试入口点(如JTAG或UART)的概念开始。进入调试模式需要特定于相关部件的受控授权过程。收集特定于器件的信息,并将使用该信息的授权令牌返回到器件以激活调试。激活后,可以打开端口并加载调试固件。授权令牌和调试版本仅限于单个部件和给定的调试会话,并且不能重复使用。
审核编辑:郭婷
-
处理器
+关注
关注
68文章
19138浏览量
228967 -
存储
+关注
关注
13文章
4248浏览量
85627 -
服务器
+关注
关注
12文章
8997浏览量
85133
发布评论请先 登录
相关推荐
评论