基于RSA与AES组合算法在汽车领域应用研究
2021-06-30吉利汽车研究院宁波有限公司胡展国于兴林刘韩影
吉利汽车研究院(宁波)有限公司 胡展国 于兴林 丁 华 刘韩影
通过研究发现,目前很多汽车企业在防盗码的生成与管理环节存在着较大的安全问题,主要表现在防盗码的生成条件与密钥的安全传递等方面。因此,本文将基于RSA与AES两种算法的组合应用,结合汽车企业自身的密钥管理输入模型,融合两种算法来加强汽车防盗码的生成与管理。
随着工业的发展,汽车在智能制造与新能源领域也加快了步伐,尤其是在柔性化生产的智能制造过程中,加强了生产线的并线生产与数据融合;同时,将研发数据、生产数据、售后数据有效地统一结合,形成产、供、销融为一体的数据可追溯性,这在一定程度上对汽车唯一身份的安全性保护带来了一些挑战;对其它外围系统接口交互与数据融合等方面的管理也提出了更高的要求。为此,本文通过汽车智能制造生产管理模式下车辆身份管理现状的研究,为其提供对称算法与非对称算法的组合应用,来加强汽车防盗码的安全身份管理。
1 防盗码的现状
目前,很多国内外汽车工厂都有自己的生产制造管理系统,汽车发动机的防盗码大多在此系统中按照一定的规则生成。随着车企产品数量增多、众多品牌的发展、智能制造柔性化并线生产的兴起,需要在相同的工厂生产不同品牌的车型等诉求与日俱增,甚至国内外的众多品牌车型需要互相试制试验或者量产制造。另外,各工厂或者基地汽车防盗码的用户密钥也是集中于员工个人管理,这将为如何安全的协同管理异地工厂用户密钥的传递等问题带来了巨大挑战。市场现状调研结果,如图表1:
表1 市场现状调研结果
2 现状分析
通过表1的汽车市场场景的调研分析可知,当前全球车企普遍存在着如下问题:(1)随着柔性化智能生产制造的需求越来越高,对于多品牌混线生产,如果还是将密钥集中于某些供应商手中的话,势必会引起各方系统兼容性的安全隐患,对于其扩展性也存在着一定的限制,不利于系统的交互与调用;(2)如果面向的是全球品牌混线生产,密钥的管理又集于某些系统管理人员,一旦人员变动或者人员流失也势必会带来汽车防盗安全风险;(3)由于汽车的防盗码是属于电子防盗系统,其不但可用于防盗本身,而且对于购车客户去4S店日常维修时需要进行的追溯性也存在着诸多问题。鉴于上述情况,本文提出以RSA和AES组合算法来解决汽车防盗码的生成与管理方案。
3 关键技术
AES算法是一种对称加密算法,其优点是运算速度比较快,对内存要求不高,适合一般条件机器运算,分组与密钥长度设计可按需灵活设计;但其也有一些缺点,比如:对于加密与解密都需要使用相同的密钥,这给安全管理密钥带来难点。
RSA算法是一种非对称加密算法,它在加密与解密中可以不需要使用相同的密钥,这给异地分布式部署的应用带来了密钥管理的安全隐患。同时,它还能够抵抗当前绝大多数密码类攻击,其已被ISO推荐为公钥数据加密标准。但是,它与对称加密算法运算速度相比较慢,它在大数据分解技术的长度扩展过程中,不利于数据格式的标准化。所以,将AES与RSA算法的组合应用可以互补优缺点。
4 系统设计
4.1 整体架构
发送方将车辆VIN码和对应PIN码的类型、长度进行展开规约模型输入,利用AES对称算法将模型进行加密形成AES密钥;基于此AES密钥,再使用RSA算法对密钥进行RSA加密生成RSA密钥对,通过分布式管理系统进行RSA密钥对管理;其中,RSA私钥用于接收方的解密,RSA公钥用于发送方的公钥加密。此时,发送方可利用AES加密后所形成的密文C生成相应的ESK码,将此码写入汽车ECU系统;接收方通过RSA私钥解密AES密钥,并与车辆ECU生成的PIN码进行匹配识别校验,匹配成功则可判定身份识别一致;可提供至制造基地下游生产系统执行,同时对于4S店相关的售后也可依据相应算法接口,展开系统接口对接集成,形成研发、生产、售后的闭环校验安全工作机制。其系统功能框图,如图1所示。
图1 功能框图
4.2 算法模型
通过一定的VIN号规则与标准构建算法模型,自定义建立车辆识别代号结构模型输入参数,其参数组成部分可包括:制造基地识别代码(含:地理区域、国别、制造厂基地编码);车辆部分说明(含:车辆特征代号或者品牌特征码、品牌校验码);车辆指示部分(含:车辆生产年份、车辆装配基地编码、生产序列号)。同时,为增加其破解复杂度,模型参数值可将其设置为数字、字母、特殊字符组合。
4.3 密钥管理
AES算法密钥可存储于车载ECU中,也可存放于后台数据库里。RSA算法密钥因加解密的过程中可使用不同密钥,其公开密钥可存放于B/S架构系统库中,私有密钥存放于接收端自己的应用系统库里。
4.4 接口实现
对于不同的架构可以构建不同的环境版本。基于C语言环境下,可将算法封装成动态链接库调用模式,对于调用方只需导入封装后的dll动态算法链接库;基于Java语言环境下,可将算法封装生成Jar文件并利用混淆器进行混淆以防止反编译等破解源码相关工作,那样对于第三方调用者可直接导入JAR工程包完成调用工作,其对外调用表现形式可为:PinGenerator().vin2Pin(Vin码)。
5 系统测试
通过一定规则约束配置参数模型VIN码,并将加密后的AES密钥与PIN类型模型组合,生成对应的PIN码,经验证测试其具备很强的安全性,同时也解决了各基地用户密钥管理难的问题。图2是其功能测试图。
图2 功能测试图
结论:本文通过RSA与AES组合算法,分析了其在汽车领域中的应用,接着进行系统的设计与整体架构梳理,并通过构建算法模型和建立密钥管理等一系列的工作,开发出不同语言版本的接口实现和最终的系统测试。另外,进一步验证表明通过两种算法的组合和汽车企业自身的业务算法模型,可增强系统间的安全交付与技术验证,实现汽车在多区域领域乃至国外区域很好的数据交互,带来汽车生产、研发、售后的全生命周期管理的便捷性与安全性。