目录
1.量子计算对密码学的威胁
1.1 传统密码学速览
1.2 量子计算对密码学的威胁
2.后量子密码学
2.1 量子计算原理
2.2 后量子密码学
3.未来汽车网络安全面临的威胁
3.1 量子计算对汽车的威胁
3.2 TC4xx对于PQC算法的支持
国庆抽空回顾了下Hitex组织的《Designing with TC4xx》,该会议里面提到的大部分TC4xx新特性在之前已经分析过了,后面有机会再聊聊(题外话:参会这几家的PPT确实搞得简单易懂)。
比较吸引我的是ETAS再一次提到了后量子密码学对于整车的影响,结合之前看过一篇论文《Post-Quantum Secure Architectures for Automotive Hardware Secure Modules》,看来不入门一下后量子密码学是要落后了。
因此,今天的主要议题:
(1)弄清量子计算对于传统密码学的威胁
(2)当前汽车网络安全架构面临的难题
(3)TC4xx针对后量子密码学的支持
1.量子计算对密码学的威胁
1.1 传统密码学速览
之前讲解汽车信息安全入门总结(2)-CSDN博客 时就已经阐述过,当前我们常见的传统密码学算法包括对称算法、非对称算法和Hash算法(也称杂凑算法)。
这里再次有请Alice和Bob上台展示一番。
- 对称算法
通信双方Alice和Bob共享一个私钥,通过私钥实现数据加解密,一般用于数据加密传输和存储,
对称密码算法基本都来源于Shannon提出的乘积密码思想,它遵循Feistel分组密码结构,旨在实现扩散和混乱,保证数据每一比特都能得到重新排列、混淆密文和密钥的统计关系,它不依赖于特定数学难题,因此可用于保证数据的机密性;
但是这个私钥在密钥分发的过程中有被窃听的风险,因此对称密码一般还需结合其他类型算法使用。
常见对称算法包括:AES(FIPS-197)、SM4(GB/T 32907-2016)、ZUC(GB/T 33133.2-2017)等。
- 非对称算法
通信接收方Alice向所有人公布公钥(Public Key),发送方Bob用此公钥将数据加密后传给Alice,而Alice使用与该公钥匹配的私钥解密,并且私钥只有Alice一人拥有。第三方使用公钥逆向解密数据非常困难(基于数学难题)。
- Hash算法
该类型算法可以将任意长度的数字消息转换为固定长度消息的函数,用于数据完整性保护。
理论上讲,对称算法和Hash算法保证了数据的机密性和完整性,对称算法保证了数据来源的身份认证。常见做法为,先对原始数据进行签名,再对原始数据+签名进行对称加密,从而保证了CIA。
1.2 量子计算对密码学的威胁
对称密码算法的密钥长度直接决定了攻击难度,例如AES-128具有128位密钥,使用穷举攻击搜索的空间复杂度高达2^128,理论上随着密钥长度的增加,安全强度也成指数级上升;从目前研究看,量子攻击对对称密码算法影响较小,具体可参考论文《抗量子计算对称密码研究进展概述》。
非对称密码算法来源数论难题,例如RSA基于大数因子分解、ECC基于椭圆曲线离散对数、DH\DSA基于离散对数难解,这个之前密码学基础专栏已经讨论过。
但是随着量子计算的出现,这些难题存在被破解的可能。
1994年,Shor提出了分解大数和求解离散对数的量子算法,其量子资源消耗成多项式级,这对于目前广泛使用的公钥密钥体制(RSASSA、DH、ECDSA、SM2等)的底层数论难题均有效,
这意味着一旦一定规模的量子计算机成为现实,首当其冲的就是互联网的各种公钥密码体系,区块链去中心化概念也将不再安全。
2.后量子密码学
2.1 量子计算原理
量子计算与目前计算机数字计算差别在于二进制表示方式和存储方式。
我们目前接触到的电子产品,用0和1来表示数字,理论上一个N位寄存器可以存储任意一个2^N - 1的非负整数,但是在同一时刻只能表示一个数。
但是量子计算就不一样,它基于量子力学原理,使用quantum bits(量子位,简称qubits)来存储数字。它可以用叠加形式在同一时刻表示二进制数0和1,因此理论上将一个N qubits的量子寄存器在同一时刻可以存储2^N-1个非负整数。那在这样量子寄存器上操作,相当于就是同时对2^N个整数进行并行操作。
因此,我们的电子产品要执行2^N计算才能完整的操作,在量子计算机上只需要N步就可以完成。这有点像之前看“星际穿越”时无法想象到四维空间一样,我也很难理解量子计算机在运算方式上为何可以做到与传统计算机不一样,但是它确实做到了。
据统计,Google于2018年建造了72 qubit芯片,虽然质量相对较差,但是已经是历史性突破。
因此,量子计算对于基于数论难题的非对称密码算法是毁灭性的打击,后量子密码学就在这个背景中产生。
2.2 后量子密码学
后量子密码算法(Post-quantum Cryptography\PQC))主要是为了抵御量子计算的攻击,国内也叫抗量子密码。
目前实现PQC大致可分为4类:基于Hash函数、基于编码、基于格、基于多变量。
- 基于Hash函数:利用Hash函数的抗碰撞性,用于构造数字签名,代表算法XMSS和SPHINCS+等;
- 基于编码(Code-based):用于构造加密算法,基本理论来源于某些编码的译码非常困难,代表算法为McEliece;
- 基于格(Lattice-based):所谓格,是指数的几何,它是数形结合的代数结构。格密码基于格上问题的困难性,可用于数字签名、身份认证、密钥交换等等;代表算法SIS\LWE
- 基于多变量(Multivariate-based):该类算法基于高次多变量方程求解难,采用二次多项式,将有限域上的一组二次多项式作为公钥映射,可用于密钥交换等,代表算法如HFEv-类型的GeMSS、UOV类型的Rainbow签名
2023年8月,NIST公布了PQC初始公开标准草案:
- 基于格的公钥加密、密钥封装算法:Crystals-Kyber
- 基于格的公钥签名算法:Crystals-Dilithium、Falcon
- 基于哈希的公钥签名算法:SPHINCS+
3.未来汽车网络安全面临的威胁
3.1 量子计算对汽车的威胁
当前汽车作为一部移动终端,它的网络安全贯穿从生产到报废,而公钥密码体系在真实性认证扮演了非常重要的角色,如下图:
车云安全通信、车内安全启动\安全认证、ECU SOTA都依赖非对称密码学,然而量子计算的出现可能会对整车网络安全架构造成破坏性的威胁。
有人可能会说,量子计算对整车造成威胁的时间还早着呢。
但是个人认为,2015年Mosca教授提出的评估网络安全风险理论可以让我们保持警醒:
一台汽车的生命大概就是10年,意味着整车的各种证书、密钥、敏感信息均需要保存直到报废所需10年,这个时间就是X;
当我们做产品需要迁移算法时,需要考虑这个移植时间,当然如果我们接口做的好,那么这个时间Y就很少;
Z则表示可以破解传统算法的量子计算机大规模部署的时间,这个应该没人能预知。
一旦X+Y > Z,我们再切换就为时已晚:
这会造成什么样的威胁呢?
1.对称算法安全性降低,所有基于数论难题的非对称算法很容易被攻破;
2.OEM OTA的安全防御措施轻易被瓦解
3.所有车云通信数据可随时被窃听、篡改
....
因此从现在开始做起,是应对PQC的最好解决方案。
3.2 TC4xx对于PQC算法的支持
根据公开资料显示,AURIX TC4xx提出了security cluster的概念,如下:
Cyber security satellite(CSS)提供了硬件加速器的并行化,为应用程序提供了21个独立通道,避免资源竞争;
Cyber security real-time module用于提升性能,相较于TC3xx HSM性能增加15倍。
在PQC算法上,TC4xx同样可以提供硬件加速机制,统计如下: