我们出于网站功能和性能的目的使用Cookie。通过使用它们,我们可以改善用户的浏览并跟踪网站的流量。有关更多信息,请访问我们的 隐私政策 和 使用条款。
加特兰网络安全白皮书(四)| 加特兰非对称加密设计
2025-02-11
近年来,汽车电子系统的复杂性和互联性不断提升,车辆面临着前所未有的网络攻击风险。黑客通过网络漏洞可以轻易获取车辆的敏感信息,甚至控制车辆的关键功能,给驾驶者和乘客的安全带来严重威胁。加特兰网络安全白皮书(四)——《加特兰非对称加密设计》介绍了非对称密码体制这一先进的加密技术以及加特兰独特的非对称密码引擎设计,通过公钥和私钥的配对机制,确保只有授权用户才能访问敏感信息,从而降低数据泄露的风险,有效保障数据传输的安全性。
加特兰非对称加密设计
1. 泄密的危害
2. 非对称密码体制
3. 非对称密码算法
4. 非对称密码在汽车网络安全中的应用
5. 加特兰非对称密码引擎设计
1 泄密的危害
在数字信息爆炸时代,每天都发生着海量的数据传输,在没有其他安全防护的情况下,收发的数据很容易被黑客截获。如果在传输敏感数据时使用明文传输,就意味着一旦数据被截取,黑客能轻而易举地读取其中的内容。因此对传输数据进行密码学处理尤为关键。
图1 数据传输泄密风险
2 非对称密码体制
非对称密码体制,也称为公钥密码体制,是一种使用两个密钥的加密技术,即公钥和私钥。公钥可以公开,任何人都可以使用它来加密消息;而私钥则由用户自己秘密保存,用于解密使用相应公钥加密的消息,或者用于对消息进行数字签名。
图2 非对称密码体制
在对称密码体制中,安全性依赖于密钥的安全性,如果密钥被泄露,加密信息将不再安全。而非对称密码体制的优点在于,公钥可以公开,即使公钥被窃取,也无法解密信息,因此具有更高的安全性。
目前基于非对称密码引擎的实现方案主要有基于大数因子分解难题的RSA(Rivest Shamir Adleman)算法和基于椭圆曲线离散对数问题的椭圆曲线密码(Elliptic Curve Cryptography,ECC)体制。
3 非对称密码算法
3.1 RSA原理
RSA算法由罗纳德·林·李维斯特(Ronald L. Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)于1977年提出。RSA算法本身基于一个简单的数论知识:将两个素数相乘很容易,根据乘积推导出两个素数却尤为困难。
RSA公钥密码体制的算法步骤如下:
1. 给定两个大素数p和q(保密)
2. 计算N = p * q(公开)和欧拉函数m = φ(N) = (p – 1) * (q – 1)的值(保密)
3. 随机选取正整数e,1 < e < m,使之满足gcd(e, m) = 1,(N, e)是公开的加密密钥
4. 计算d的值,使之满足d * e ≡ 1 (mod m),(N, d)是保密的解密密钥,即私钥
5. 加密变换:对于明文M ∈ Zn,密文为:C = Me mod N
6. 解密变换:对于密文C ∈ Zn,明文为:M = Cd mod N
3.2 ECC原理
椭圆曲线密码(ECC)是一种公钥加密体制,最初由尼尔·科布利茨(Neal Koblitz)和维克多·米勒(Victor Miller)两人于1985年提出。相比RSA,ECC可以使用更短的密钥来实现与RSA相当或更高的安全性。160位的ECC加密,其安全性相当于1024位的RSA;210位的ECC加密,其安全性与2046位的RSA相当。
ECC具有安全强度高、功耗低、存储空间小等优点,因此被广泛应用于身份认证、快速加密、数字签名等领域。
Weierstrass方程代表的平面曲线即为椭圆曲线,常用E表示:
E = y2 + a1xy + a3y = x3 + a2x2 + a4x + a6
在实际应用中,ECC公钥加密体制所采用的椭圆曲线为Weierstrass方程的简化形式,此外还需要求简化形式的椭圆曲线判别式不为零,如以下公式所示:
y2 = x3 + ax + b mod p (4a3 + 27b2 ≠ 0)
y2 = x3 + x + 1 | y2 = x3 – 1 |
![]() |
![]() |
图3 椭圆曲线示例
数学上的椭圆曲线是连续的,如果直接用于加密存在安全风险。因此,ECC将曲线限制在有限整数域内,使其成为离散的点集合(类似网格坐标)。这些离散点的总数称为曲线的“阶”,是保障加密安全性的关键参数。
ECC最核心的运算就是点乘。点乘是指由椭圆曲线上的点所构成的交换群中的运算,占整个密码计算时间的90%。点乘可以分解为点加和倍点运算,而点加和倍点的实现则通过调用底层运算单元中的模乘、模加减、模逆、模平方。
对于模乘、模平方运算,蒙哥马利域的模运算可以有效提升效率;而对于ECC的点运算层,在射影坐标系下不需要进行费时的模逆运算。因此,为提高ECC操作执行的效率,所有的模运算都在蒙哥马利域进行,所有的点运算都在射影坐标系下进行。
图4 ECC点运算流程
4 非对称密码在汽车网络安全中的应用
随着信息技术的深入发展以及汽车智能化水平的提高,保障汽车网络安全越来越重要。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的身份认证、数据加密、数字签名。
1. 身份认证:车辆与车辆(V2V)、车辆与基础设施(V2I)通信时,可使用非对称密码进行身份认证。例如,路边的充电桩要与车辆建立安全连接时,充电桩可以用车辆的公钥对一个随机数进行加密并发送给车辆,车辆用自己的私钥解密后再将结果返回给充电桩,充电桩通过验证返回结果来确认车辆身份的合法性,反之亦然,从而防止非法设备接入汽车网络。
2. 数据加密:对于汽车中传输的敏感数据,如导航信息、车辆控制指令等,可使用非对称密码进行加密。比如,当车辆向云平台上传驾驶习惯等数据时,先用云平台的公钥对数据加密,只有云平台用相应的私钥才能解密,保证数据在传输过程中的保密性,防止数据被窃取或篡改。
3. 数字签名:汽车电子控制单元(ECU)之间传递软件更新指令等重要信息时,发送方可以使用私钥对消息进行数字签名,接收方用发送方的公钥验证签名的有效性。这样能确保消息确实来自合法的发送方,且在传输过程中没有被篡改,保障了消息的完整性和真实性。
5 加特兰非对称密码引擎设计
加特兰雷达SoC产品采用基于Microcode(微码)架构实现非对称密码引擎,通过指令调度实现不同类型的非对称算法,包含:
1. 支持/不支持CRT(Chinese Remainder Theorem, 中国余数定理)的RSA算法
2. 椭圆曲线密码学ECC,包含NIST推荐的曲线:
– 素域曲线:P-192、P-224、P-256、P-384、P-521
– 二进制域曲线:K-163、K-233、K-283、K-409、K-571
– 二进制域曲线:B-163、B-233、B-283、B-409、B-571
3. ECDH椭圆曲线密钥交换
4. 数字签名算法(Digital Signature Algorithm,DSA)和椭圆曲线数字签名算法(ECDSA与EdDSA)
5. 国密SM2算法
6. 国密SM9算法
7. 米勒-拉宾(Miller-Rabin)素性测试算法
加特兰基于Microcode的架构设计,可以大大提高设计的可拓展性,通过升级Microcode可实现支持新的非对称算法。
图5 加特兰非对称密码引擎设计
通过采用加特兰非对称密码引擎,能有效提升汽车雷达网络安全,保护用户数据,防止潜在的网络攻击。未来,加特兰还将持续深化非对称密码体制的应用,推动汽车行业向更安全、更智能的未来迈进。