莱迪思半导体推固件安全方案,符合NIST固件保护恢复标准

近年来,固件与生产供应链开始成为常见的网络攻击面向,市面上也出现一些相关防护解决方案,例如,在8月中旬,莱迪思半导体(Lattice)在台宣布推出固件安全的Sentry解决方案,以及生产生命周期安全的SupplyGuard服务,就是一例。

该公司亚太区应用工程总监谢征帆指出,他们最新的产品已遵循了美国标准与科技研究院(NIST)制定的相关标准,将协助设备商与制造业确保系统固件的安全。

这样的固件安全方案有何不同?谢征帆表示,Sentry解决方案是一个符合NIST SP 800-193平台固件保护恢复标准(Platform Firmware Resiliency,PFR),并通过相关CAVP(Cryptographic Algorithm Validation Program)认证,可帮助企业在开发产品时,快速符合NIST PFR的规范,对于固件安全保护可以不用从头开始设计。

基本上,这套解决方案由该公司的硬件组件MachXO3D搭配其中的Sentry软件组成,其中包含硬件平台、IP核心与软件工具,同时他们提供参考设计与定制化服务,让基于FPGA为基础的用户可实例,而对于非FPGA的用户,他们也提供了基于RISC-V的软件设计。

Sentry解决方案是如何运行?谢征帆说,在一个硬件平台中,包括CPU、MCU与其他逻辑芯片等,这些组件各自都有自己的固件需要保护,但传统做法上就是各自创建保护机制,并未使用硬件信任根(Root of Trust,RoT)的组件来保护系统,而在Sentry解决方案中,上述固件都是可涵盖的保护范围,通过MachXO3D硬件组件与其中的Sentry软件,将在各芯片与其固件之间,加入一层额外的保护,如同快速开关的机制,让芯片在访问固件时,须通过MachXO3D组件并在Sentry软件的控制下,才能访问。

同时,MachXO3D与Sentry软件将会持续对固件执行侦测,如果发现有任何改动或读取行为,将会通报上层软件并发出警告。此外,即使固件遭暴力攻击,MachXO3D也将能够让毁坏的固件恢复正常。

关于这套方案对每个IC芯片固件的“加密验证”过程,到底是如何进行?后续我们也进一步询问莱迪思,根据他们的说明,这是基于椭圆曲线算法(ECDSA Elliptic Curve Digital Signature Algorithm)的签名认证过程。

简单来说,该方案会针对固件先用SHA-256算法得到一个摘要(Digest),接着再用一个私密密钥(Private Key)ECDSA加密算法得到相应的数字签名,然后这个签名会与固件一起保存在flash中。之后,当硬件平台通电启动时,验证过程就是通过公开密钥(Public Key)、签名(Signature)和摘要一起交给验证引擎,一旦验证成功,就被认为是可靠的固件。

以莱迪思半导体的Sentry解决方案而言,将能在启动之前,加密验证硬件平台中每个CPU、MCU与其他逻辑芯片的固件,并在启动前后与期间都能即时侦测攻击,即使固件损坏,也能自动恢复到正常状态。

例如,当硬件平台启动、通电之后,MachXO3D将使所有的芯片处于重新启动的状态,这时将由MachXO3D直接访问固件,先对固件加密验证,在认证通过之后,才会将快速开关打开,芯片也才可以正常读取固件。简单而言,有了上述这些功能,即可做到PFR标准在保护、侦测与恢复上的要求。

除了提升单个产品的安全性,莱迪思半导体另一个新推的SupplyGuard服务,强调的是整个设备生产生命周期的安全。简单来说,就是从芯片原厂生产开始,到OEM厂商、代工合约制造商(Contract Manufacturer,CM)制造的过程,采动态信任机制,要能够防止过度生产、复制、伪造与植入木马,并能关注供应链中的设备。

谢征帆表示,他们会利用密钥机制,来确保只有授权的制造商才能进行生产。例如,在工厂端他们会生产MachXO3D硬件芯片并注入一个密钥,通过安全的渠道交给购买服务的客户,接着利用密钥对产品加密认证后,交给外包厂商制造,如此一来,将能防止未经授权的注入。而且,每个MachXO3D芯片都有独一无二的ID,能让供应链制造装组装过程可关注每个设备。

在2018年,NIST定义了NIST SP 800-193平台固件保护恢复标准(PFR)。该标准提供了一系列的规范与要求,目的是要硬件平台的固件,提供安全可靠的保护,其中主要有三大原则,包括:保护、侦测与恢复。

(图片来源网址:https://nvlpubs.nist.gov/nistpubs/SpecialPublications /NIST.SP.800-193.pdf)