我们生活在一个高度互连的世界,很容易受到各种来源的网络攻击。仅 2018 年,硬件攻击让超过 30 亿系统暴露在数据盗窃、非法操作和其它安全隐患中 1。

 

在汽车领域,如今的智能联网汽车则加剧了这类安全问题。若网络攻击造成汽车失控不仅会对目标车辆中的人员造成伤害,更有可能危及附近的车辆、行人和财产。

 

因此,汽车的设计人员和厂商正极力寻找保障系统安全之道。正如本文所述,解决方法之一是采用莱迪思半导体的 MachXO3D™ FPGA。

 

老式汽车时代已经过去

汽车市场在不断演变,近些年来的变化尤其剧烈,变化速度极快。

 

以微处理器单元(MPU)和微控制器单元(MCU)为主的计算器件在 20 世纪七八十年代晚期开始应用于汽车。起初,这些芯片用作复杂的引擎控制系统,只在高端车辆中使用。到九十年代中期,所有的汽车都拥有处理器来监控传感器、控制引擎以及管理各种车辆系统之间的交互。

 

到 2020 年,一辆普通的车约有 50 个计算单元,而一辆高端汽车的计算单元可达 100 多个。如今的汽车不仅装备了 GPS、蓝牙、Wi-Fi、移动数据通信,还拥有道路偏离和碰撞预警等高端安全系统。许多汽车应用都采用了传感器聚合来实现拥有人工智能和机器学习功能的雷达、激光雷达和机器视觉系统。一些汽车还能一键停车,诸如此类的功能越来越多。

 

人们对电动车非常有兴趣。世界上主要的汽车厂商都在大力投资电动汽车。此外,人们对氢燃料汽车也抱有极大热情,目前至少有三款此类车型面世,还有几家公司也正在研发新的车型。

 

感觉不够安全?

除了拥有 50-100 多个计算单元外,如今的汽车与外界的连接也越来越多。在该语境下,“连接”指车辆能与自身之外的其他系统进行双向通信。这让车辆能够与内外部的设备分享网络连接和数据。

 

通用汽车是首家将互连特性推向市场的汽车制造商,1996 年推出了 OnStar 系统。2001 年又推出了远程诊断功能。2003 年,互连汽车服务包括了汽车健康报告、逐向道路导航和网络访问设备。2007 年又推出了 Telematics 服务。到了 2017 年,车队运营商开始见证预测性智能功能的首次部署。

 

在软件环境下,“攻击面”是指未经授权的用户可以输入数据或从环境提取数据的所有切入点的总和。问题在于,拥有 50-100 多个计算单元的联网汽车会为黑客和恶意攻击者提供很大的攻击面。


根据美国国家标准和技术研究院,安全解决方案的主要考虑是建立可信根:

 

现代计算设备由多层抽象的各类硬件、固件和软件组件组成。当前,许多安全和保护机制都植根于软件中,而软件与所有底层组件都必须可靠才能保障安全。由于安全机制依赖这些组件,因而组件上任何一个漏洞都可能损害这些机制的可靠度。将安全机制建立在可信根,则可以更大程度上保证安全。可信根是高度可靠的硬件、固件和软件组件,它们可以执行特定的、至关重要的安全功能。由于可信根本身受到信任,因此必须在设计时确保它们的安全。许多可信根都是在硬件中实现的,因此恶意软件无法篡改其提供的功能。可信根为建立安全和信任提供了坚实的基础。

 

不受保护的系统可能导致数据和设计盗窃、产品克隆和过度生产。更糟的是,安全性能不够完善的系统很容易遭到设备篡改和劫持。

 

市场上的 FPGA 厂商数量很少,且大多数主要专注提供超多资源、功能和高性能的器件。这些器件主要用于大型通信基础设施、服务器农场和数据中心等。相比之下,莱迪思半导体是唯一一家专注中小型 FPGA 的厂商,这类器件非常适合许多汽车应用。此外,莱迪思还提供市场上仅有的小于 10K 查找表且拥有 NIST 认证的、不可更改安全引擎的 FPGA。

 

MachXO3 FPGA 系列 FPGA 介绍

莱迪思提供各类 FPGA 技术。一款非常适合部署在汽车应用中的 FPGA 就是 MachXO 系列。

 

初代 MachXO 系列于 2005 年上市。2010 年又推出了 MachXO2/ZE™系列,随后 2013 年和 2019 年又分别推出了 MachXO3L/LF™和 MachXO3D™系列。在产品的发展历程中,每一代新产品不仅继承了前代专为客户需求打造的特性,还对资源和功能进行了拓展。

 

与前几代 MachXO FPGA 产品类似,MachXO3™器件拥有低功耗特性、大量 LUT 资源以及大量输入 / 输出(I/O)。此外,还器件还支持瞬时启动和热插拔功能,拥有后台可编程内部闪存配置存储器,支持现场逻辑更新。因而 MachXO3 器件是粘合逻辑、总线桥接、总线接口、马达控制、上电控制以及其他各类控制逻辑应用的理想选择。此外,由于 MachXO3 FPGA 拥有数百个 I/O,因此也非常适合需要通用 I/O 扩展、接口桥接和上电管理等功能的各类应用。

 

图 1. MachXO3 FPGA 占据平台控制主导地位,是系统最先上电,最后断电的器件。


MachXO3LF 系列器件拥有最多 9400 个 LUT 和 384 个 I/O,可提供各类设计场景所需的各种功能。该系列器件可选 3.3/2.5 V 或低功耗 1.2 V 内核,提供多个 I/O bank(最多 6 个),支持热插拔以及各种信号标准和电压、可对每个引脚进行编程。-40°C 至+125°C 的拓展温度(结温)范围可应对严酷的汽车环境, AEC-Q100 Grade 2 认证确保了该器件满足现有的汽车质量行业标准。

 

除了提供基于闪存的配置存储器之外,MachXO3LF 系列还提供多达 448 Kb 的用户闪存(UFM)。此外, 在上电时,配置数据将从闪存配置存储器复制到基于 SRAM 的配置单元中(不要与用户 SRAM 存储器的存储模块混淆)。该操作以大规模并行方式执行,不到 5 毫秒即可完成。这种方法的巨大优势在于,将新配置加载到闪存配置存储器中时,器件可以使用其基于 SRAM 的配置继续运行。新配置加载完毕后,可以在程序控制下暂停器件运行,锁定输出,将新配置复制到 SRAM 配置单元中,然后释放器件继续运行。.

 

随着工艺制程的不断发展,集成电路的结构越来越小,而影响当今所有电子设备的一个共同问题就是辐射。常见的一种由于辐射引发的效应就是单粒子翻转(SEU),即高能放射性粒子撞击电路中的敏感节点,从而改变其状态。例如,寄存器位或存储单元从 0 翻转到 1 或从 1 到 0。由于 SEU 可以纠正,因此被视为“软错误”。FPGA 由于有配置单元的缘故,其 SEU 问题不可小觑。

 

毫无疑问,汽车应用的安全性能至关重要。为应对辐射效应以及电气噪声环境(如汽车上的电气噪声)MachXO3LF 系列支持软错误检测(SED)、软错误校正(SEC)和软错误注入(SEI)。

 

图 2. MachXO3LF 的简化框图,展示了软错误检测和校正过程


SED 模块是构建在芯片上的硬核,它可以计算 SRAM 配置位的循环冗余校验(CRC),将计算出的 CRC 与当前配置相关的现有 CRC 进行比较,在出现不匹配时标记错误。在可编程逻辑中实现的 SEC 软核会响应该标记,触发后台的重新配置核,调用存储在配置闪存中的初始配置来更新 SRAM 配置单元(重新配置不会中断任何未受影响的进程)。

 

最后,用户可以使用 SEI 功能,在不修改 CRC 的情况下,通过 JTAG、I2C 或 SPI 直接将错误注入目标 SRAM 配置单元来模拟软错误事件。

 

MachXO3D FPGA 系列简介

汽车行业目前正采取类似服务器行业的安全策略,包括供应链安全、安全启动(确保固件启动的代码是受信任的)和平台固件保护恢复(PFR)。

 

如前所述,MachXO3LF 汽车 FPGA 作为业界领先的可编程逻辑器件,能够灵活部署可靠的汽车应用。MachXO3D 汽车器件不仅大大提升了闪存容量(最高 2693 Kb UFM),还新增了硬件安全特性,为汽车系统带来符合 NIST 标准的安全性能。实际上,MachXO3D 是 10 K LUT 以下唯一一款拥有 NIST 认证的不可更改的安全引擎的器件。

 

MachXO3D 作为硬件可信根是系统最先上电、最后断电的器件,此外,它的不可更改的安全引擎还能实现 ECDSA、ECIES、AES、SHA、HMAC、TRNG、唯一安全 ID 和公钥 / 私钥生成等预验证的加密功能。不可更改的安全引擎以及莱迪思最新发布的固件安全解决方案集合——Lattice SentryTM 均能在产品的整个生命周期内保障安全,包括器件制造和运输、平台制造、安装、运行直至报废。它还提供数据安全、设备安全、数据验证、设计安全和品牌保护,全面防止各类威胁,保障系统安全。

 

图 3. MachXO3D 安全控制 FPGA 是系统最先上电、最后断电的可信根可编程逻辑器件

 

根据 NIST SP 800 193 标准的定义,平台固件保护恢复(PFR)包括了保护、检测和恢复三部分。保护是指保护平台固件和关键数据不受损坏,确保固件更新的可靠性和完整性。检测包括在系统首次上电时加密检测受损的平台固件和关键数据以及跟进在系统更新。恢复则包括执行可信的恢复进程,将受损平台固件和关键数据恢复到之前的状态。

 

MachXO3D 器件提供安全双引导等功能,完全满足 PFR 的要求。MachXO3D 的可编程逻辑、不可更改的安全引擎和安全的双引导配置模块,在设计实施过程中提供足够的灵活性,且能在部署系统后实现安全更新。除了本身提供硬件可信根外,片上逻辑的使用还极大地减少了网络攻击的攻击面。

 

图 4. MachXO3D 的双引导功能完全满足 NIST 平台固件保护恢复标准的要求


MachXO3D 采用自我检测、自我恢复和自我保护功能,实现安全的实时系统更新,进一步满足 NIST PFR 的要求。自我检测时,安全引擎会在启动前使用安全存储在芯片上的公钥对现有的片上配置镜像进行身份验证。自我保护是指如果新下载的镜像身份验证失败,则安全引擎会自动还原到现有已经过验证的“黄金镜像”。自我保护时,除了防止器件使用受损的镜像进行自我配置之外,可编程逻辑还控制来自编程端口的访问,该锁定策略可确保每个闪存存储具有单独的访问权限,并且当新的镜像文件处于传输状态(加载到配置闪存的过程中)时,安全引擎会阻断所有来自配置端口的攻击。

 

典型应用案例

以下展示了 MachXO3 和 MachXO3D 在汽车中的三种常见应用案例:电池管理、可信根和基于硬件的安全启动。

 

  • 电池管理:如今包括电动车在内的大多数系统都有多节电池。电池组中的每节电池都需要充电到合适电量来确保电池的使用寿命。过充或充电不足都有可能缩短电池寿命。

 

电池管理系统执行各种任务,包括防止电池在不安全的环境下运行、监视电池状态、计算辅助数据并上报该数据。


基于 MachXO3 的电池管理系统(BMS)是一个控制器,监控充电和放电过程,实现智能的电池单元平衡,保证每个电池单元的充电均衡。此外,BMS 还提供实时电池信息,例如电池的充电状态(SOC) 和健康状态(SOH),从而协助车辆的应用处理器(AP)向驾驶员提供最新信息。

 

图 5. 基于 MachXO3 的电池管理系统

 

使用 MachXO3D FPGA 来实现 BMS 能为系统提供额外的安全性能,防止对智能电池的入侵导致电池突破安全极限,对电池或者车辆造成永久性破坏或严重故障。

 

  • 信任链 / 可信根:硬件可信根是保护整个汽车系统(包括所有引擎控制单元)的信任链中的首个环节。

 

从组件供应商开始,汽车系统供应链还包括 Tier 2 系统开发人员、Tier 1 系统集成商、OEM 汽车制造商、分销和运输、经销商以及最终客户。在整个供应链中,入侵系统的攻击点有许多,有可能在这些环节加载损坏的固件。

 

Lattice SupplyGuard™供应链安全服务为客户提供工厂锁定的 IC。这些 IC 只能使用特定客户开发、签名、加密的配置位流进行编程。

 

图 6. 基于 MachXO3D 的供应链 / 可信根

 

此外,MachXO3D FPGA 的双引导功能支持密钥加密和以及系统可默认设置、高度安全的黄金镜像。系统上电时,瞬时启动的 MachXO3D、黄金镜像和莱迪思 SupplyGuard 三者共同提供了端到端的供应链保护。

 

  • 基于硬件的安全启动:MachXO3D FPGA 是汽车系统中首个上电的器件,也是最后断电的器件。系统上电后,MachXO3D 会自我检查以确保只运行经过身份验证的固件。MachXO3D 还检查系统中其他器件的相关固件。

 

图 7. 基于 MachXO3D 的安全启动


MachXO3D FPGA 的硬件安全配置模块符合 NIST SP 800 193 平台固件保护恢复(PFR)标准,在出现恶意攻击时,能够保护、检测自身并恢复到完好状态。此外,可编程架构的的大规模并行处理能力让 MachXO3D 能够同时保护、检测和恢复多个平台固件。

 

结论

MachXO3 FPGA 基于闪存的配置提供了“瞬时启动”功能,使其成为平台上首个上电、最后断电的器件,并在系统控制和电源管理功能市场中占据主导地位。

 

汽车应用的安全性是第一位的。为应对辐射效应以及电气噪声环境(如汽车上的电气噪声),MachXO3LF 系列支持软错误检测(SED)、软错误校正(SEC)和软错误注入(SEI)。

 

MachXO3D 汽车器件不仅大大提升了闪存容量(最高 2693 kb UFM),还新增了硬件安全特性,为汽车系统带来符合 NIST 标准的安全性能。

 

MachXO3D FPGA 通过硬件可信根功能增强了安全性。OEM 和汽车制造商可以通过 MachXO3D FPGA 为所有系统组件轻松实现可靠、全面、灵活的基于硬件的安全机制。MachXO3D FPGA 可以在系统运行时进行保护、检测并从未经授权的固件访问中恢复自身和其他组件。此外,MachXO3D FPGA 可以和 SupplyGuard 服务共同保护系统在生命周期的各个阶段(从制造到报废)免受恶意活动的损害。

 

下一代 MachXO3D FPGA 让汽车更安全 WP0027C

除安全领域外,由于 FPGA 拥有全面的并行处理能力,因此成为实现各种先进的驾驶辅助系统(帮助驾驶员实现驾驶和停车功能的电子系统)的理想之选。许多 ADAS 系统都需要实时响应,MCU 太慢,而定制的 SoC 开发昂贵且费时。此外,SoC 的硬件加速器算法实际上是“冻结在芯片中”,这在各类标准和协议不断发展并不断变化时代无疑是不合适的。理想的解决方案是使用 FPGA,它具有极高的灵活性,并且可以重新配置来适应不断发展的标准、协议和功能要求。

 

MachXO3D FPGA 为当今日益复杂和互连的汽车应用提供了功能和安全性的完美结合。

 

参考资料

1 https://www.technologyreview.com/2018/01/05/146411/at-least-3-billion-computer-chips-have-the- spectre-security-hole/


2 预计 2021 年一季度实现全面认证