本发明属于网络通讯安全,特别涉及一种提升汽车网关信息安全的方法。
背景技术:
1、随着汽车工业的飞速发展以及人们对于汽车高科技配置的需求提高,汽车控制器中的算法也越来越复杂,传感器的数量不断增多,加大了整车网络上的数据交互体量。伴随着汽车的智能化程度提升,部分l2+的adas控制器甚至可以接管车辆,控制车辆的前进后退转向灯“行为”,此时如果黑客可以轻易入侵这些智能控制器,那么将威胁到乘客的生命安全;随着车联网的普及,手机与车机之间的信息交互增多,越来越多的用户隐私数据被存储在车机端,如果被黑客入侵则用户的隐私“财产”也会受到相应的威胁。针对这些潜在的“威胁”,联合国通过了r155号法规,该法规涉及车辆网络安全及其网络安全管理体系的统一规定。
2、为了满足信息安全的需求,车辆网关作为与外部设备最重要的接口,信息安全的重要性尤其关键;网关作为唯一连接在obd口的控制器,负责与车外设备交互,同时兼顾整车中其他控制器之间的报文和信号路由,是整车的神经中枢;同时,该网关装置还集成了ecall紧急呼叫功能,用于紧急情况下的报警求助。
3、在应用本发明专利提到的信息安全方案之前,网关中对于信息安全的保护仅有autosar中的e2e策略,通过报文之间的rc和checksum校验来证实各控制器之间的真实性和有效性,在uds诊断中也仅有27服务进行安全等级认证,通过这两种方式来保证控制器之间的交互安全,但这些安全策略对于r155号法规来说,是远远不够的。
4、公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
技术实现思路
1、本发明的目的在于提供一种提升汽车网关信息安全的方法,从而克服上述现有技术中的缺陷。
2、为实现上述目的,本发明提供了一种提升汽车网关信息安全的方法,其特征在于,包括网关硬件加固、网关密钥证书安全管理、网关安全随机数生成、网关安全隔离;
3、其中,网关硬件加固通过接口隐蔽和脚位封装提升硬件自身的安全性;网关秘钥和证书安全管理用于保证软件安全措施中所使用的秘钥和证书管理,自身成为一个可信根,保证秘钥和证书自身安全;网关安全随机数生成使得在安全诊断与外界设备交互时,生成的随机数是可信的;网关安全隔离是在网关信息安全系统中,对网关原有功能的安全性升级措施;
5、硬件加固、秘钥和证书安全管理、安全随机数生成、安全隔离、安全启动、安全刷写、安全诊断、安全日志和安全存储共同组成了网关的信息安全系统。
6、优选地,上述技术方案中,网关硬件加固具体为:网关装置所使用的芯片祛除对芯片内存进行访问或更改芯片功能的隐蔽接口,芯片脚位需要进行bga/lga形式进行封装;
7、网关装置在设计状态启用的调试口,网关装置上的以太网/jtag/uart/usb/spi等接口,在正式投产时需要祛除;mcu和mpu芯片调试口也需要在量产阶段禁用;
8、网关装置中pcb板上的可读性文字需要祛除;
9、网关装置中mcu和mpu数据通信的线路需要放置在pcb板中间层;
10、网关装置中mcu和mpu芯片需具备片上的可信硬件hsm或一次性熔断不可更改qfprom用来存储关键可信根数据。
11、优选地,上述技术方案中,密钥证书安全管理:网关供应商在产线生产时,将可信的电检设备通过密码认证后连接到主机厂的pki秘钥管理系统,根据供应商代码的校核,遵循pkcs#10协议申请x.509格式的安全证书和ca的公钥并灌注写入到网关装置mcu中的hsm和mpu的qfprom里;安全证书中包括合法用户身份信息,合法用户公钥信息和ca的私钥数字签名;其中合法的公钥信息可以验证合法用户加密的数据,ca作为可信机构,所释放的公钥也可以验证注入的安全证书是否被篡改。
12、优选地,上述技术方案中,安全随机数生成:网关生成的随机数不可以重复,且应该采用基于硬件的真随机数生成器来生成校验用的随机数;mcu采用hsm自带的可信随机数生成模块,mpu采用基于dev_random生成随机数。
13、优选地,上述技术方案中,安全隔离具体为:所有不同网段上的控制器,必须通过网关的路由功能进行交互,不可以跨域直连;网关拥有路由白名单的机制,不在白名单内的报文及信号不可以被网关路由与转发,白名单内的路由表由主机厂自行定义;在网关路由过程中,遇到以下风险入侵状态时应该记录安全日志:超出设定频率100%发送周期的报文、不在路由表中的报文id、数据长度和数据格式不正确的报文;当总线负载超出95%时,需要记录为安全事件,此时可能被重放攻击。
14、优选地,上述技术方案中,系统中的网关安全启动分为两部分,分别为mcu和mpu的安全启动,由于芯片型号不同,方案不一致;
15、mcu安全启动方案:mcu的芯片具有hsm硬件安全模块,根据以下算法步骤,实现对bootloader代码的校验:
16、mcu安全启动采用两层级的安全启动校验,预先校验“bootloader”代码,后将app层代码分块,逐步校验;mcu中的hsm模块先于host启动,并通过基于aes128的cmac校验算法,对bootloader代码的完整性先行校验,此时可以发现该代码是否被篡改;该校验通过后,才可以初始化bootloader代码,运行代码后跳转到网关控制器host模块app层代码运行;
20、优选地,上述技术方案中,针对mcu和mpu的安全启动,如果某一步校验失败,则停留在bootloader层不执行应用程序,并记录相应的安全启动失败事件的安全日志;
21、特别地,mcu和mpu是通过双方应用层功能实现了spi通讯进行数据交互,但由于安全日志功能做在mcu侧,mpu在安全启动失败时仅停留在bootloader层,无法将安全启动结果回传至mcu安全日志中,且mpu侧的bootloader层没有做uds诊断功能无法被诊断仪读取;所以mcu侧做了mpu侧的超时检测策略,当mcu安全启动后,若50个通讯周期仍未收到mpu侧的spi数据,即记录mpu安全启动失败,并计入安全日志。
22、优选地,上述技术方案中,安全刷写具体为:
23、由于只有mcu侧的网关应用软件需要在产线和售后环境下通过电检仪和售后诊断仪进行更新,所以针对mcu侧的应用软件更新功能做了安全刷写的保护;
25、其次需要对传统的app刷写包(.hex或.s19)增加一些安全保护措施,在传统的刷写包中增加如下刷写包头文件内容供控制器验证:版本信息、模块数据加签证书、签名和摘要;刷写包头文件是由零部件工程师上传至主机厂的零部件数据管理tce系统,由该系统向主机厂签名pki服务器申请,完成头文件的生成,流程如图3所示;其中,版本信息是主机厂按规定格式释放给供应商的软件版本号,每一版软件的版本号唯一;摘要是将刷写文件按照sha256哈希算法计算得出的刷新包裁剪数据;签名是通过rsa2048算法,用证书私钥对刷写包摘要值处理的出的数据;
26、与原有的普通刷新方式相对比,安全刷写需要增加以下验证的步骤进行刷写:版本对比、证书验证、签名验证和哈希摘要对比才能完成整个安全刷写流程;
27、具体实施方式如下:为了防止版本回退攻击,版本对比是控制器将接收到的版本信息和本地存储的上一次的版本信息作对比,如果接收到的版本信息早于存储的历史版本信息,则负反馈刷写步骤,并记录该安全事件至安全日志,此时版本信息不可以进行更新;证书校验指的是通过控制器的自身公钥校验收到的刷写包头文件中模块数据加签证书的签名真实性,以进一步验证该证书的有效性完整性;签名验证即对刷写包摘要的签名,通过已被验证过的模块数据加签证书中的公钥进行验签,正式摘要数据的有效性完整性;之后进行正常的刷写包刷新流程后,控制器内部再次对已刷写的内容,做相同的sha256哈希算法计算得出的刷新包裁剪数据,并与刷写包头文件中的摘要值进行对比,对比有差异时立即停止应用层代码的运行,等同于软件刷写失败;上述四步的验证失败都需要记录为安全事件,计入安全日志。
28、优选地,上述技术方案中,安全诊断具体为:安全诊断主要为本发明专利中的网关和车外设备的安全交互过程,车外设备主要分为产线电检仪和售后诊断仪;但还存在不少车管所及通用维修站的通用诊断仪,这些诊断仪按照法规要求不需要经过安全诊断,所以在安全诊断之前设立了诊断白名单机制;诊断白名单机制:对于通用诊断仪的诊断id清单及其子诊断服务,将它们设置为诊断白名单,可以直接跳过安全诊断步骤,满足通用诊断仪的需求;其他车外设备需要在生产时向主机厂pki系统申请诊断仪证书,申请的流程如下:车外设备调用rsa2048算法生产公私钥对,然后车外设备将公钥+设备id打包发送给主机厂pki系统,pki系统按照ca证书链进行下级sub-ca证书的签发,签发后的证书会返回给车外设备,证书申请及证书下发均采用pkcs#10协议;
30、s1车外设备首先发送申请到的证书至网关端;
31、s2网关端因为已经在下线时注入了根证书,即可通过根证书来验证车外设备证书的真实性完整性;
32、s3验证未通过时,直接跳出认证流程,负反馈认证失败;认证通过时,网关利用真随机数生成器生成随机数并发送给车外设备端;
33、s4车外设备将收到的真随机数采用私钥签名,返回给网关端;
34、s5网关端再次通过接收到的证书中的公钥对随机数的签名进行认证,认证通过后即通过通讯认证步骤,验证不通过则跳出步骤,并将验证结果返回给车外设备端;
35、s6此时车外设备端可以正常与网关&整车进行诊断通讯交互。
37、安全存储具体为:对于网关系统里的敏感信息数据,采用了对称aes-128加密算法对敏感信息:apn账号、密码和ip地址进行了加密存储。
38、与现有技术相比,本发明具有如下有益效果:
39、1.实现了使网关控制器达到iso21434中的网络信息安全要求,符合wp29r155号法规要求;
40、2.本网关从硬件软件和系统层面都可以降低黑客攻击的几率;
41、3.本网关复用了主机厂原有的加密pki证书链系统,通过证书链保证公钥私钥可信;
42、4.本网关由于存在安全启动策略,被黑客替换软件后也可以通过可信根进行启动来校验软件真实性完整性,做到二次防攻击;