Mach-NX:可信系统的基石

2021年01月26日 17:18

可靠的系统安全机制需要多种方法相结合,并且可信根必须始于安全的引导过程。莱迪思凭借其在该领域的领先地位,推出了新一代Mach-NX系列产品,进一步发展了其安全控制平台。这些新器件可以快速应对潜在威胁,保障平台安全,同时简化客户设计。本白皮书由莱迪思赞助,但文中观点和分析均为本文作者所有。

保障系统安全始于固件

为应对当今的各种威胁,复杂的系统需要贯穿整个生命周期的安全机制。这需要从保障供应链安全做起,确保在器件编程、系统制造、运输和安装等过程中系统不会遭到破坏。一旦投入使用,系统还需要安全的OTA更新来修补漏洞或更新安全协议。最后,系统还需要安全报废,防止数据丢失。

专注系统安全的传统市场主要包括数据中心、服务提供商和关键基础设施。由于许多攻击可以从系统内部发起,多租户和公共云数据中心的安全机制就变得十分重要,相比之下网络边缘的安全防范就略显过时了。因此,数据中心系统必须能够防御从系统内部发起的软件攻击。攻击目标包括计算服务器、存储系统以及网络交换机和路由器。在服务提供商的网络中,基站、宽带接入设备,路由器和各种网关是也是潜在的攻击目标。即使对用户面数据进行加密,这些攻击也可能危及管理面,从而在系统打开后门。

从广义上讲,工业控制系统包括了那些部署在关键基础设施中的系统,例如国防、公共事业、电网和交通运输等。各国政府很早就采取行动,保护在这些领域中部署的系统的安全,尤其是在恶意攻击者日益猖獗的情况下。然而,网络犯罪分子越来越多地将其他领域的类 似系统作为目标以获取经济利益。试想一下勒索软件攻击让工厂陷于停滞将造成多大的损失。另一个攻击目标是汽车,汽车的互连和自动化程度日益提高,许多汽车现在都采取OTA固件更新。

设备启动的安全性始于固件,而复杂的系统会有多个阶段的启动过程,也形成更大的攻击面。系统固件需要在启动时进行身份验证以及OTA更新加密和验证。当系统检测到攻击或故障时,必须能够迅速恢复到稳定和安全的状态。

这些系统中有些采用可信平台模块(TPM)来创建安全地存储加密密钥的可信根(RoT)。但是TPM的实现方法差别很大,有的采用专用硬件模块,有的则是基于固件和软件的方法。研究人员已经发现各种实现方式中的漏洞,有些甚至是经过独立认证的方案,并且可 以通过确切的方法利用这些漏洞找到私钥。因此,即便采用TPM也无法完全保护所有的系统固件免受损害。

保护、检测和恢复

保护系统固件的方法之一是监控用于读取和写入相关闪存的串行外围设备接口(SPI)信号。图1展示了一个服务器示例,其中南桥(或PCH)和基板管理控制器(BMC)上都连接了闪存。通过将开关置入SPI路径,就可以让可编程逻辑器件(PLD)监控SPI信号。PLD可以根据经授权和未授权访问表来验证指令和地址。检测到未经授权的访问时,它将通过开关阻止指令到达闪存设备。它还可以记录这些活动,便于在BMC上运行管理代码。

 

1. PFR系统架构。安全控制PLD能够实现SPI监控等PFR功能和控制功能。

用于保护SPI访问的PLD还能实现各类系统控制功能,主要包括电源控制,如上电时序、风扇控制、面板按钮和LED以及对功耗、散热以及物理状态的诸多感知功能。由于这些功能大多使用I2C接口,PLD还能为BMC缓冲和复用信号。

美国国家标准与技术研究院(NIST)负责开发和制定保障网络和系统安全的算法、协议和框架。该机构最近推出了NIST SP 800-193平台固件保护恢复规范(PFR),其核心原则是保护平台固件不受损坏,检测固件损坏以及将损坏的固件恢复到完整状态。

为保护BMC和CPU的启动镜像,安全控制PLD可以在允许关联的主机退出重置状态之前对固件进行验证,包括从闪存读取固件数据、生成摘要、从闪存读取数字签名以及使用适当的非对称加密来验证结果。PFR规范仅推荐了指定的加密算法,但实际上,由于传统算法需要较长的密钥,因而现在椭圆曲线加密(ECC)成为首选。NIST的基准要求是等效于112位的安全强度,这需要2048位RSA签名密钥。相比之下,椭圆曲线DSA

(ECDSA)只需224位的素数域即可达到相同的加密强度。对于192位的等效强度,

ECDSA只需384位,而RSA需要7680位。

固件保护还包括经更新验证机制。尽管PFR规范未做详细规定,但OTA更新可以加密进行传输。固件镜像加密采用对称算法,当前的实现则采用高级加密标准(AES)。基准安全强度需要128位密钥(AES-128),但如今256位密钥在一些对安全性较敏感的应用中更为常见。通过使用AES-256,批量加密超过了384位ECC哈希(SHA-384)和消息身份验证(HMAC-384)的强度。镜像解密后,可以在写入闪存之前验证其数字签名。

PFR规范包括了一项可信根检测(RTD)的功能。该功能背后的思路是:对系统固件或关键数据的攻击不应损害RTD。通过上述SPI监控,PLD不仅能够充当RTD,还能阻止那些违反预设定的闪存访问规则的攻击。在启动时,它能够通过验证有效的固件镜像检测到入侵。检测到固件受损时,系统优先使用本地存储的固件镜像,恢复到之前经过授权的状态。这里需要注意的是,备份的镜像不能是静态的,因为之前的固件版本可能包括已知的漏洞。

自莱迪思提供实现系统控制功能的PLD以来,其芯片、知识产权(IP)和软件快速发展,现在可以将RoT、系统固件保护以及控制功能集成到单个器件中。新一代Mach-NX在久经验证的MachXO3D基础上,结合专用IP、软件和服务,更上一层楼。

Mach-NX实现强大的加密

为满足安全控制要求,Mach-NX提供可编程硬核逻辑以及丰富的I/O。芯片的配置(位流)存储在片上闪存中,该闪存可以管理两个加密的镜像。启动时,主位流在下载到SRAM的同时会进行验证。如果验证失败,器件可以自动从备份的(黄金版)位流重启。Mach-NX还包括了通用的用户闪存(UFM),可以用来存储用户的加密密钥。该UFM大小为1064Kb且经过加密,在禁用双引导功能后大小变为2669 Kb。

安全区域(Secure Enclave)是保障系统安全的重要模块,它可以实现加密协议、真随机数生成器(TRNG)以及为每个器件生成唯一的不可更改的ID。它还处理包括ECDSA和ECDH在内的ECC协议,最多支持384位素域。它还支持使用最大256位的密钥进行AES批量加密。该区域通过TRNG生成公私密钥对,并通过在管理组件传输协议(MCTP)下传输的安全协议和数据模型(SPDM)提供标准的身份验证接口。

如图2所示,Mach-NX添加了一个RISC-V硬核来运行管理和控制固件。这一紧凑的32位微控制器执行RV32I指令集,集成了中断控制器、计时器和JTAG调试器。莱迪思此前以软IP提供该核,如今采用硬核实现有助于释放可编程逻辑,实现其他功能。Mach-NX共有11K逻辑单元,可用逻辑单元和UFM的组合为现场升级提供了空间,满足未来不断发展的安全需求。

图2.Mach-NX框图。该芯片包括了硬核RISC-V CPU、硬核安全模块、闪存、可编程逻辑单元和丰富的IO。

Mach-NX的另一个新特性是增强型SPI(eSPI)接口,它代替了传统的低引脚数(LPC)总线来连接BMC。eSPI在SPI的电气和时序规范的基础上新增了一层新协议,因此可以向下兼容SPI。与前代产品一样,新器件包括了实现控制功能的灵活I/O,最多拥有379个引脚,可实现LVCMOS、LVTTL和LVDS等标准,支持1.2V到3.3V电压范围。所有封装方案均采用0.8 mm引脚间距以简化PCB布局。

Mach-NX是基于莱迪思Nexus平台的最新产品,采用了三星的28 nm全耗尽型绝缘体上硅(FD-SOI)工艺制造。尽管FD-SOI以低漏电流著称,但对于大多数安全控制应用而言, 功耗只是次要考量。然而该工艺的另一个好处是大大减少了由辐射引起的软错误。由于器件配置存储在SRAM中,因此单粒子翻转(SEU)可能会导致难以恢复的故障。在这种逻辑密度的器件中,FD-SOI工艺几乎可以杜绝SEU的发生。

更加完善的解决方案

为了简化客户的设计,莱迪思通过IP、软件和各类服务来完善其安全控制平台,实现PFR和其他更多解决方案。为了便于使用PFR IP来配置Mach-NX,莱迪思提供了Propel Builder这一拖放式的开发工具。PFR设计中需要的软IP包括SPI主控、SPI监控器,I2C监控器以及RISC-V CPU和可编程逻辑之间基于寄存器的接口。SPI监控器连接外部SPI开关,监控SPI和闪存之间的访问并阻断未经授权的命令。软核PFR模块需要2.6 K逻辑单元,剩下的8.4 K可用于用户逻辑。

莱迪思还提供在嵌入式RISC-V核上运行的固件源代码,作为Sentry PFR参考设计的一部分。有三个主要的PFR软件组件分别负责安全管理、日志管理和带外通信。每个组件都提供一套应用代码的API,而低级API则提供对软/硬IP模块的访问。莱迪思提供了一个应用示例,用于演示保护、检测和恢复功能。PropelSDK允许客户修改、编译和调试PFR固件。

对于生产过程而言,PFR设计的安全性与供应链息息相关, 因此莱迪思还提供名为SupplyGuard的安全服务,与Mach-NX不可更改的ID配合使用。公司为每位客户分配特定的部件号,并使用加密密钥对这些器件进行出厂编程。客户可以使用该密钥以及签名和加密的位流对器件编程。器件的ID能够让客户的系统在对合法器件进行编程的同时,防止对位流的非法读取。这有助于保护位流的完整性以及客户的IP。如果没有客户专用密钥,就无法对器件重新编程。在这种“锁定”的安全机制下,即便无法确定制造地点的安全性,不无需担心篡改器件的风险。

其他的方案

由于Mach-NX的特殊性,它在PFR应用中并没有面临正面竞争。如果使用其他厂商的FPGA,客户就需要获得第三方授权的加密模块作为软IP。他们需要使用软IP实例化MCU,并将其集成到第三方模块中。大多数FPGA还需要外部闪存配置存储器。如表1所示,其他FPGA的系统固件认证性能要比Mach-NX低得多。验证时间越长,启动时间越长,而启动时间变长会减少系统正常运行时间。许多云服务都包含一项服务水平协议

(SLA),规定了系统正常运行的时间。因此启动时间会直接影响SLA指标。“五个九” 可靠性(99.999%)要求每年的停机时间少于5.3分钟,因此系统启动时间在云数据中心十分重要。

Lattice

Mach-NX

其他

FPGAs

BMC

F/W验证时间*

<5秒

>15秒

>10秒

ECC支持

硬核IP

第三方IP

实时SPI监控

F/W恢复时间

<5微秒

>100微秒

>100微秒

表1.Mach-NX和其他解决方案的PFR功能比较。莱迪思的芯片完美结合了高性能和强大的安全性。* 64 MB固件镜像和33 MHz SPI时钟频率下测得的时间。(数据来源:莱迪思)

当系统固件验证失败时,Mach-NX可以快速恢复。该器件支持双SPI存储器,一个存储主要固件,另一个则可以保存黄金版固件。如果验证失败,Sentry固件将从主SPI切换到副SPI,继续进行引导过程。然后在后台将经过身份验证的固件镜像复制到主SPI闪存中。其他解决方案则必须在引导开始之前复制固件镜像。

另一种PFR实现是使用BMC,但是这种方法有诸多局限。首先,厂商的BMC一般不支持椭圆曲线加密,因此它们的验证较弱。其次BMC依赖于外部闪存,无法规避Mach-NX和SupplyGuard可以防止的供应链漏洞。最后,它们不支持SPI监控,需要使用外部PLD添加此功能。Mach-NX可以实现PFR以及控制功能,后者在任何情况下都需要PLD参与。

最近的一大趋势是客制化的平台安全芯片的发展,但是其中一些是为智能手机设计,如生物识别。谷歌为其云服务器开发了Titan安全微控制器。尽管其他的大型云运营商也可以开发类似的芯片,但是多数OEM都不愿意承担定制芯片开发所需的巨额资源。莱迪思的客制化解决方案提供了类似的功能,客户无需负担高额的定制芯片开发成本。

结论

莱迪思现在不仅提供FPGA,还提供全面的安全控制平台,包括优化的芯片、软件、工具和服务。通过在从系统设计到设备报废的整个生命周期内提供安全保护,莱迪思的方案可解决各个阶段出现的漏洞。Mach-NX基于公司多年的安全控制经验,并在久经验证的MachXO3D基础上加强了加密功能、升级了BMC接口并且提供更多实现自定义功能和现场更新的可编程逻辑。同时,Sentry参考设计降低了客户对时间和资源的需求,能够快速轻松地将PFR集成到他们的系统中。

尽管服务器已率先采用了强大的平台安全机制,但随着实时在线的网络连接不断增长,越来越多的系统也暴露在网络攻击之下,安全领域的市场依然在不断扩大。网络和通信设备、工业控制系统、航空航天系统以及自动驾驶汽车等越来越多地成为威胁的目标。莱迪思可以帮助这些领域的客户在从制造到现场升级的整个周期中保障其设计安全。

Bob Wheeler是林利集团的首席分析师及《微处理器报告》的高级编辑。林利集团为客户提供最全面的微处理器和SoC设计方面的分析。我们不仅分析业务战略,还分析技术层面。我们的专题文章涵盖的主题包括嵌入式处理器、移动处理器、服务器处理器、AI加速器、IoT处理器、处理器IP核和以太网芯片。有关更多信息,请访问我们的官方网站www.linleygroup.com

分享到:

上一条:e络盟社区上新多个基础课程学习模块,助力工程师拓展专业技能
下一条:迈向可持续的数字化道路