摘要
随着信息技术在汽车行业的迅速发展,对车辆架构中安全功能的需求不断增加。通常通过在电子中央单元(ECU)中添加硬件安全模块(HSM)来实现这一目标。因此,可以通过在HSM中使用嵌入式硬件加速器进行秘密密码计算来加强安全通信。然而,目前还没有通用的标准来设计汽车HSM的架构。汽车行业期望未来能够设计出一种通用的汽车HSM,不仅能够满足不断增长的性能需求,还能够进一步抵御攻击者利用大规模量子计算机进行的攻击。未来量子计算机的到来促使人们研究后量子密码学(PQC),以确保未来的HSM的安全性。我们对NIST的PQC标准化过程中的候选方案进行了分析,并提出了用于下一代汽车HSM的新硬件加速器集。我们的评估结果表明,构建一个后量子安全的汽车HSM是可行的,并且能够满足现代车辆ECU所施加的严格要求。
引言
汽车工业中信息技术的发展推动了车辆的日益互联,无论是不同车辆之间的通信,还是车辆内不同嵌入式子系统之间的通信。在车辆中,基于电子控制单元(ECU)部署了一个大型的交互式嵌入式系统网络,每个系统都维护着一组特定的功能。然而,车载架构中连接服务的集成不仅增加了用户的便利性,也为汽车世界中的恶意攻击者提供了越来越多的攻击面。如今,集成硬件安全模块(HSM),即在ECU内封装安全导向功能的可信执行环境,是帮助保护车辆免受恶意攻击者侵害的基本组件。
几家领先的芯片制造商已经提供了一些具有汽车级架构的HSM解决方案,这些方案通常包括微控制器处理器、不同用途的内存块(如RAM、ROM、闪存)、用于哈希函数、对称和不对称密码操作的硬件加速器,以及HSM与ECU内的主机处理器之间的安全接口。在ECU内,通常使用HSM中的硬件加速器进行依赖于密钥的密码操作。HSM不仅将秘密信息(如密钥)保存在一个可信的硬件环境中,而且还通过专用硬件加速为密码操作提供良好的加速效果。
然而,汽车行业中还没有关于HSM架构或功能的官方标准。因此,为了构建未来的HSM,需要更多了解现代汽车行业的当前趋势以及对未来挑战的探索。一方面,随着现代车辆性能要求的提高,需要更强大的HSM。另一方面,考虑到“量子时代”的到来,可能需要对HSM的设计架构进行更激进的改变。常用的非对称密码算法,如RSA和ECC,容易受到使用量子计算机的攻击:Shor的算法能够在多项式时间内解决RSA和ECC的基本问题。Grover的算法可以为暴力搜索提供二次速度提升,因此现代HSM中的对称密码加速器和哈希函数(即AES核心)在未来仍然可以使用,只需将密钥大小加倍;然而,HSM内的非对称密码加速器将被完全破解。鉴于量子计算机建设的快速进展,过去十年已经发展了后量子密码学(PQC)这一新领域,提出了被认为能够抵御使用量子计算机攻击的密码算法。
汽车HSM将需要使用后量子安全的算法来确保其在“量子时代”的安全性。这些PQC算法通常比今天的密码算法具有更大的密钥大小,并且进行密钥操作需要更多的时间。此外,PQC算法所需的算术与当今使用的底层密码算法不同。因此,需要为未来的HSM设计新的硬件架构。
虽然存在几种通用的软件-硬件协同设计用于PQC方案,但这些设计都专注于一种特定的PQC方案家族,没有一个针对汽车HSM的使用案例和需求。本文分析了最近进入美国国家标准与技术研究院(NIST)PQC标准化过程第三轮的不同PQC候选方案在汽车ECU架构中的适用性。基于分析结果,提出用于加速推荐PQC算法的硬件加速器的后量子安全汽车HSM架构。
预备知识
A. 后量子密码学
PQC算法有五种流行的类别:基于哈希的、基于代码的、基于格的、多元的和基于同构的密码学。每一种类别都基于不同的数学问题,这些问题对于现代计算机和量子计算机来说都是难以解决的。这些方案在密钥和消息的大小、效率以及对其安全性分析的信任等方面存在差异。
1、基于代码的密码学:大多数基于代码的加密方案都基于McEliece密码系统,该系统最早于1978年提出,其使用二进制Goppa码的实例至今仍保持安全。然而,McEliece密码系统的一个主要问题是公钥的大小过大。即使是其双变量版本,Niederreiter密码系统引入了一种压缩公钥的技巧,但在针对128位后量子安全级别时,公钥的大小仍然超过1MB。一些研究工作已经集中在通过将结构纳入代码来减小密钥的大小,例如使用准循环码。两种基于结构化代码的方案,即BIKE 和HQC ,已经进入了NIST PQC标准化过程的第3轮。
2、基于哈希的密码学:基于哈希的签名方案被认为是非常成熟的,因为它的安全性完全依赖于底层哈希函数的性质,而哈希函数的性质是众所周知的。XMSS 和LMS 是两种流行的有状态的基于哈希的签名方案,它们正在被NIST考虑作为后量子密码学发展早期的一部分进行标准化。因此,基于哈希的签名方案是有希望成为后量子安全的签名方案。
3、基于格的密码学:基于格的密码学可以说是PQC家族中最流行的一种。它的安全基于高维格上定义的不同类型难题,例如“带错误的学习(LWE)”、“最短向量问题(SVP)”等。与基于代码的方案类似,基于通用格的方案通常更令人信服,而基于理想(结构化)格的方案具有更小的密钥和更好的性能。然而,选择基于格的方案的安全参数一直是一个挑战,因为目前还不完全了解它们对抗量子计算机攻击的安全性。
4、多元密码学:多元密码学是基于解决有限域上的多元二次方程组的难题,这是一个NP难问题。尽管多元密码系统的安全性得到了很好的分析,但要构建这样一个既安全又高效的方案并不容易。在过去的十年里,许多方案已被证明是不安全的。其中少数专注于签名方案的方案至今仍保持安全。
5、基于同构的密码学:在所有PQC候选者中,基于同构的密码学是最年轻的一种,最初是在2006年提出的加密方案。基于同构的方案的构造是基于找到两个椭圆曲线之间的高阶超奇异同构的难度。这使得基于同构的方案可以部分继承经典ECC方案的算术。然而,特别是与结构化格基方案相比,基于同构的候选者的有效性并不十分具有竞争力。此外,由于同构性问题的新特性,对这些方案的信心还不够充分。
B. 关于SOTA的案例研究
Software-over-the-air(SOTA)更新是一种让汽车制造商通过下载远程软件更新来维护和改进车辆的技术。它也是ECU级别各种基本安全用例交互的绝佳示例。可以使用SOTA来确定HSM所需的安全功能。
一个完整的SOTA更新包括了HSM的大部分用例,即安全引导、安全软件更新和安全诊断。唯一未直接包含在此SOTA更新中的用例是通常依赖于对称加密(例如AES)以保持低延迟的安全车载通信(SecOC)。因此,SOTA是分析汽车HSM所需功能的良好案例研究。
SOTA更新场景对运行时和内存存储有一定的要求:真实性验证和完整性验证过程预计在1秒内完成,公共验证密钥、用于检查真实性的签名和用于检查完整性的令牌都应小于4kB。此外,考虑到SecOC和SOTA可以同时发生。由于AUTOSAR标准,SecOC利用AESCMAC进行消息认证。
SOTA更新和SecOC都是依赖于安全性的服务,它们在HSM内部执行。因此,HSM需要使用以下原语:数字签名、哈希函数和对称加密。现代HSM通常没有针对ECU级别的公钥加密或密钥封装(KEM)的专用用例。然而,未来一代的HSM可能需要支持KEM方案,例如在车辆级别运行时支持可能的ECU之间密钥交换。因此,在设计未来的HSM时也考虑了KEM方案。
汽车高安全级别消息认证码(HSMS)的PQC选择
A. 推荐的PQC方案
自2020年7月起,15个候选方案已进入美国国家标准与技术研究院(NIST)PQC标准化过程的第三轮。在这15个候选方案中,选择了三个针对NIST安全级别3(中等)和5(高等)的PQC方案,以在汽车应用中实现性能和安全性之间的平衡。除了这三个候选方案,还选择了NIST PQC竞赛之外的一个被广泛理解的数字签名方案。所有四个选定的方案都符合第二节-B中对运行时和内存存储的严格要求。除了密钥(消息)大小和性能指标外,指导我们选择这四个PQC方案的另一个重要标准是确保这些方案背后的数学难题的多样性。
本文为汽车HSMs提出的建议中包括了一个基于代码的方案,两个基于格的方案,以及一个基于哈希的方案。此外,软件和硬件实现的简单性也是选择的重要指标。
1、中等安全级别的方案:对于需要中等安全级别的应用,本文选择基于理想格的签名方案CRYSTALS-Dilithium和基于代码的密钥交换(KEM)方案BIKE,因为它们的效率和密钥尺寸较小。 Dilithium 基于一个经过充分研究的MLWE问题的一个变体。除了良好的性能外,在软件和硬件中实现Dilithium的操作都相当容易。BIKE 是一个基于QC-MDPC(准循环中等密度奇偶校验)代码的基于代码的KEM。由于其平衡的性能,它是通用使用的有希望的候选者。
BIKE被NIST视为“最有希望的基于代码的候选者”。与其他在第3轮中的结构化基于代码的候选者HQC 相比,BIKE的公钥和密文尺寸要小得多,而BIKE的带宽指标要好得多。这些指标使BIKE在密钥尺寸和效率方面更适合汽车用例。因此,Dilithium和BIKE可以结合使用,适用于对性能和密钥尺寸都有严格要求,但不需要非常高的安全要求的应用场景。
2、高安全级别的方案:具有高安全级别的状态哈希签名方案XMSS和基于理想格的KEM方案CRYSTALS-Kyber都被选中,因为它们背后有经过充分研究的数学问题。XMSS已被IETF 标准化,目前是NIST正在考虑作为早期标准化的两个状态哈希签名方案之一。
XMSS的安全性完全依赖于底层哈希函数,即使在存在大型量子计算机的情况下也可以有效地构建。Kyber的安全性依赖于与Dilithium相同的问题,因此它的安全也得到了充分的研究。此外,XMSS和Kyber都具有相对较小的密钥,它们的密钥操作可以通过使用专用硬件加速器得到很好的加速。因此,考虑到它们令人信服的安全性分析,XMSS和Kyber可以结合使用,用于针对高安全级别的应用场景。
B.软件性能分析结果
为了设计一种后量子安全的HSM,首先需要识别一套新的硬件加速器,因为基于为了设计一种后量子安全的HSM,我们需要首先识别一套新的硬件加速器,因为基于PQC方案的数学问题通常与现代密码学有着根本性的不同。作为软件硬件协同设计的一部分,HSM中的硬件加速器旨在加速最密集计算操作。为了了解推荐方案中最密集的计算操作是什么,本文使用性能分析工具Gprof对提交到NIST PQC竞赛第三轮的参考软件实现进行了性能分析。
对于XMSS和Dilithium签名方案,性能分析结果仅包括签名验证操作,而对于KEM方案BIKE和Kyber,所有操作(例如密钥生成、密钥封装和密钥解封装)都包含在内。以下是结果:
1、XMSS:在XMSS中,验证操作大部分时间消耗在底层哈希函数上。根据XMSS IETF规范,对于高安全性级别,可以使用SHA2-512或SHAKE-256作为哈希函数。
2、BIKE:BIKE中使用的准循环码允许将所有矩阵操作视为多项式运算。根据性能分析结果,多项式乘法是BIKE中最昂贵的计算操作之一。此外,BIKE的构建涉及AES-256实例化和哈希函数SHA-384的实例化,这两个函数在软件实现中经常被使用。
3、Dilithium和Kyber:对于Dilithium和Kyber,性能分析结果非常相似,因为这两种协议的构建都是基于相同的构建块。两者都有两个实现变体:一个使用SHAKE来抽样随机数并扩展随机性,另一个则使用AES-256代替。对于这两个实现,SHAKE/AES计算占用了大部分时间,其次是基于NTT的多项式乘法。
PQC HSM的硬件架构
图1描绘了一个典型的EVITA类HSM的架构。由于EVITA中等和EVITA轻量级是EVITA全功能HSM的子集,因此可以类似地对这些较小的HSM进行分析。可以将把EVITA全功能HSM称为现代HSM。
图1 EVITA HSM架构 - 面向EVITA级别的全面架构
A. 现代HSM
一个典型的现代全功能HSM通常包括以下密码学构建模块,如表1所示。
表1 对比现代HSMs和后量子安全HSMs所需的密码块(分别对应中高安全级别);SL=安全级别
● SHA2-256,用作通用哈希函数,作为最初提出的WHIRLPOOL的替代品。 ● (AES-128, all),用于对称密码操作,包括密钥生成、加密和解密,如第二节B所述,此模块对于SecOC是必需的。 ● TRNG,用作真随机数生成器(TRNG)。数字熵从硬件的方差中收集,例如在基于环形振荡器的TRNG中,数字环形振荡器之间的抖动被收集。 ● (AES-128, enc),用作伪随机数生成器(PRNG)。此PRNG通常由TRNG进行种子填充,并通过使用仅支持加密操作的AES引擎来扩展随机性。
● ECC-256,用于非对称密码系统中的256位椭圆曲线算法。
一旦大型量子计算机可用,这样的HSM就不再安全:由于Shor算法,ECC-256的安全性完全受到威胁,而SHA2-256、(AES-128, all)和(AES-128, enc)的安全性则因Grover算法而减半。为确保汽车HSM即使面对量子计算机也能保持安全,应使用后量子安全的非对称原语来替换ECC-256,同时使用安全性加倍的对称原语和哈希函数。
B. PQC HSMs
在后量子安全的HSM(PQC HSM)中,哈希函数和对称密码原语的选择都旨在保持128位的安全性,以抵御量子计算机对中高安全级别的攻击,从而更加保守。对于非对称密码原语,需要更激进的变化:与现代HSM相比,构建PQC HSM需要完全不同的加密块。表1和图2分别总结了针对中高安全级别提出的HSM解决方案。
图2 PQC HSM架构 - 安全特定的加速器:蓝色代表中等安全级别,红色代表高安全级别。
以下是推荐用于PQC HSM的密码块:
● SHA3-512,用作通用哈希函数。SHA3-512是NIST于2015年发布的SHA-3标准的一部分,其内部结构与SHA-2标准不同。SHA-3是更广泛的密码原语家族Keccak的子集,在其内部结构中使用了海绵构造,而SHA-2则基于类似MD5的结构。 ● (AES-256, all),用于对称密码通信。它与(AES-128, all)具有相同的目的,但安全性提高了一倍。
● (AES-256, enc),用于构建伪随机数生成器(PRNG)。
1、中等安全级别的PQC HSM:对于中等安全级别的PQC HSM,建议使用Dilithium作为签名方案替代ECC-256,此外,还建议使用BIKE来支持可能需要在未来汽车HSM中使用的密钥交换操作(KEM)。随机性扩展和多项式乘法是Dilithium中最计算密集的操作之一。因此,建议使用以下密码块来加速Dilithium: ● Dilithium-Poly-Mul,一个基于数论变换(NTT)的多项式乘法器,支持Dilithium的安全参数,用于支持Dilithium中的多项式乘法操作。
● (AES-256, enc),需要一个支持加密功能的AES-256模块,用于在基于AES的Dilithium实现中扩展随机性。在这种情况下,Dilithium和PRNG可以共享相同的(AES-256, enc)核心。
对于BIKE,由于多项式乘法是最昂贵的操作,设计了以下模块:
● BIKE-Poly-Mul,一个可用于加速BIKE中密集和稀疏多项式操作的多项式乘法器。
2、高安全级别的PQC HSM:高安全级别的PQC HSM,建议使用XMSS作为替换ECC-256的签名方案,并推荐使用Kyber作为KEM方案。此外,还需要以下密码核心: ● Kyber-Poly-Mul,类似于Dilithium,需要一个专用的基于NTT的多项式乘法器来加速Kyber。需要注意的是,由于Kyber的安全参数与为Dilithium定义的安全参数不同,因此这两种方案需要分别使用两组不同的多项式乘法器。
● SHAKE-256,选择SHAKE-256作为构建具有高安全级别的XMSS和Kyber的目标。这也能够在HSM中实现签名和KEM方案之间的资源共享。
评估和比较
下面详细讨论两种推荐的具有中等和高安全级别的PQC HSM的性能和综合结果。这些设计是针对Artix-7 FPGA平台(型号XC7A200TFFG1156-3)进行综合的。另外还将提供PQC HSM的综合结果与典型的现代HSM设计之间的比较。
A. 评估
在所有硬件加速器中,对标准块的分析,即AES-128/256、ECC-256、SHA2-256、SHA3-512和TRNG,都是基于开源设计的,并且选择的目标是资源受限的嵌入式系统,同时保持相对良好的性能。例如,AES-128/256、SHA2-256都是基于分块迭代计算的。所选的TRNG根据多个数字环形振荡器之间的抖动收集其数字熵源。这种真随机性可以进一步输入到PRNG中以扩展随机性。Murus SoC被用作HSM内部CPU的代表。它是一种基于RISC-V的开源处理器,资源使用非常小,但保持与ARM Coretex-M3处理器相当的性能。所有这些核心的选择目标是实现良好的时间-面积效率。
SHAKE-256是一种参数化设计,被提出作为基于格的方案的基础构建块。该设计基于在中提出的面积高效的SHAKE模块。在SHAKE核心中,可以在综合时灵活选择并行切片的数量,以实现面积和性能之间的权衡。在我们的工作中,总共使用了16个并行切片。
BIKE-Poly-Mul是一个参数化和常数时间的多项式乘法器,作为BIKE最先进的硬件实现中的一个构建块呈现。根据用户的应用需求,计算数据块的大小可以通过在综合时使用性能参数来调整,以实现时间和面积之间的权衡。在我们的分析中,如表2所示,我们选择数据块大小为32。
表2使用Vivado 2018.3为Arix-7 FPGA合成的硬件加速器的性能结果
Dilithium-Poly-Mul和Kyber-Poly-Mul都是基于参数化和流水线化的NTT(Number Theoretic Transform)多项式乘法器设计进行分析的,该设计包含在文献中,用于加速基于格的方案。在我们的工作中,我们分别使用Dilithium(中等)和Kyber(高)的安全参数对设计进行了综合。
B. 合成结果比较:现代HSM vs PQC HSMs
如表2所示,三种HSM配置的总区域使用情况:现代HSM、中等安全级别的PQC HSM和高安全级别的PQC HSM。与现代HSM相比,中等安全级别的PQC HSM实现了类似的区域利用率,而对于针对高安全级别的PQC HSM,在区域使用方面引入了较小的开销,例如在LUT使用方面,有大约13%的开销。从表中可以看出,在内存和DSP利用率方面,两种PQC HSM配置实际上都更轻量级,因为ECC-256非对称加密核心这种对内存和DSP密集型的组件被从HSM架构中移除了。
需要注意的是,分析没有考虑通常存在于典型嵌入式系统中的额外区域开销,例如接口通信逻辑、内存控制器逻辑、顶级控制器逻辑等。此外,值得一提的是,由于这些密码核心的区域度量是具体实现相关的,因此可以应用不同的优化方法来调整实际HSM实现的性能结果。
研究旨在探索设计一种适用于典型汽车用例的时间-区域高效HSM以抵御大规模量子计算机攻击的可行性。基于以上分析,可以得出结论,设计具有中等和高安全级别的PQC HSM的硬件架构是可行的,而不会承受较大的区域开销。
结论
本文首次对设计用于汽车应用场景的后量子安全HSM进行了分析。首先分析了汽车HSM的典型应用场景,然后根据这些应用场景的内存约束和性能要求,推荐了签名和密钥交换方案。进一步对这些方案的参考软件实现进行了性能分析,并根据分析结果,分别针对中高安全级别推荐了新的硬件加速器集成到PQC HSM中。PQC HSM与现代HSM的评估结果显示,通过使用后量子算法来确保安全性,而不需要过多的面积开销来设计密码硬件加速器,汽车HSM可以保持未来的可扩展性。后量子安全HSM作为软硬件协同设计的可行性,特别是在面积开销方面。为了更好地理解后量子安全HSM的实际硬件实现,性能指标的分析也非常重要。因此,有必要在真实硬件上构建一个后量子安全HSM的原型,并进一步分析这些HSM的性能和面积指标。