一种基于信息安全技术的车辆远程固件更新方法及装置与流程

文档序号:11929723阅读:183来源:国知局
一种基于信息安全技术的车辆远程固件更新方法及装置与流程

本发明涉及车辆信息安全领域,尤其是涉及一种基于信息安全技术的车辆远程固件更新方法及装置。



背景技术:

近年来,得益于互联网信息技术不断取得的重大突破,汽车行业开始迈入信息化时代,汽车产品也逐步走向智能化。“智能交通”、“车联网”等相关概念也受到了国内外学者的广泛关注。在这些领域上的相关技术的发展与不断完善都将促进汽车不断智能化和信息化。传统的固件更新方法主要是通过串行烧写的方式,这种方式虽然成本低,安全性好,但是不能在线编程,而且不能远程操作,降低了烧写的方便性,限制了应用场合。所以,车辆ECU的远程固件更新技术开始出现并开始应用。

但是随着车联网技术以及汽车智能化的提升,汽车通过无线网络进行远程固件更新时面临的信息安全问题也越来越多。在进行车辆远程固件的过程中,由远程服务器发送的信息报文、新版本的固件以及由目标ECU返回的信息将有可能受到非法的跟踪、记录与篡改,因此需要使用相应的信息安全技术对这些信息进行保护。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于信息安全技术的车辆远程固件更新方法及装置,能够保证消息以及固件传输过程中的匿名性、真实性与可靠性。

本发明的目的可以通过以下技术方案来实现:

一种基于信息安全技术的车辆远程固件更新方法,包括以下步骤:

1)远程服务器生成一固件更新请求消息,根据该固件更新请求消息的消息摘要生成第一哈希值,对所述固件更新请求消息和第一哈希值进行对称加密封装为第一消息,发送给目标ECU;

2)目标ECU对所述第一消息进行对称解密,根据解密获得的固件更新请求消息的消息摘要计算第二哈希值,判断所述第二哈希值与所述第一哈希值是否相同,若是,则执行步骤3),若否,则忽略所述第一消息;

3)目标ECU生成一密钥K,将该密钥K对称加密后发送给远程服务器;

4)远程服务器通过所述密钥K对新固件及与所述新固件对应的第三哈希值进行加密,生成第二消息发送给目标ECU;

5)目标ECU对所述第二消息进行解密,根据解密获得的新固件计算第四哈希值,判断所述第四哈希值与所述第三哈希值是否相同,若是,则将所述新固件下载至目标ECU的RAM中,执行步骤6),若否,则忽略所述第二消息;

6)目标ECU对新固件进行烧写。

所述远程服务器与目标ECU之间的对称密钥在目标ECU出厂时设置。

所述步骤3)中,目标ECU对密钥K和与该密钥K对应的第五哈希值进行加密后送给远程服务器,远程服务器对所述第五哈希值进行验证,在验证通过后向目标ECU发送确认消息。

所述确认消息为由带有对应哈希值的加密消息。

在执行所述步骤6)之前,验证新固件的安全性,具体为:

通过串口侦听以及通信协议的分析,获得新固件传输过程中的二进制数据,将二进制数据进行哈希计算得到第六哈希值,判断所述第六哈希值与第三哈希值是否相同,若是,是判定新固件安全,若否,则判定新固件不安全。

一种基于信息安全技术的车辆远程固件更新装置,该更新装置设置于车辆通信系统中,所述车辆通信系统包括通过无线网络连接的远程服务器和目标ECU,所述更新装置包括设置于目标ECU中的加密模块和第一通信模块以及设置于远程服务器内的第二通信模块,其中,

所述加密模块生成与远程服务器通信的对称密钥和用于新固件加密的密钥K;

所述第二通信模块利用所述对称密钥向目标ECU发送加密的固件更新请求消息,并在所述固件更新请求消息被接收后利用密钥K向目标ECU发送加密的新固件;

所述第一通信模块解密所述固件更新请求消息和新固件,在利用哈希值验证所述固件更新请求消息和新固件安全后,将所述新固件下载至目标ECU的RAM中。

所述第二通信模块包括:

更新消息生成单元,生成一固件更新请求消息,根据该固件更新请求消息的消息摘要生成第一哈希值,根据对称密钥对所述固件更新请求消息和第一哈希值进行对称加密封装为第一消息,发送给目标ECU;

新固件发送单元,在接收到经验证后的密钥K时响应,通过所述密钥K对新固件及与所述新固件对应的第三哈希值进行加密,生成第二消息发送给目标ECU。

所述第一通信模块包括:

更新消息验证单元,对所述第一消息进行对称解密,根据解密获得的固件更新请求消息的消息摘要计算第二哈希值,判断所述第二哈希值与所述第一哈希值是否相同;

固件密钥发送单元,在所述更新消息验证单元的判断结果为是时响应,将密钥K对称加密后发送给远程服务器;

固件验证单元,对所述第二消息进行解密,根据解密获得的新固件计算第四哈希值,判断所述第四哈希值与所述第三哈希值是否相同;

固件下载单元,在所述固件验证单元的判断结果为是时响应,将所述新固件下载至目标ECU的RAM中,对新固件进行烧写。

该更新装置还包括:

信任链建立模块,将新固件由第一通信模块发送至加密模块,通过串口侦听以及通信协议的分析,获得新固件传输过程中的二进制数据,将二进制数据进行哈希计算得到第六哈希值,判断所述第六哈希值与第三哈希值是否相同,若是,是判定新固件安全,若否,则判定新固件不安全;

在判定新固件安全后对新固件进行烧写。

与现有技术相比,本发明具有以下有益效果:

1)对称加密技术速度快、计算量小且效率高,可以应用该方法对传输的数据进行保密;哈希算法能够将任意长度的二进制值转换为较短的固定长度的二进制值,如果一段明文数据只更改一个数值,随后生成的哈希值都会不同。而且根据哈希值逆推消息报文的运算量相当大,实际上基本是不可能做到的,因此,哈希算法可以用于验证传输数据的完整性。本发明在固件远程更新中应用了对称加密技术和哈希算法保证了消息传输的安全性和完整性,解决了现有传统固件更新方便性差、应用场合少的问题,同时也解决了现有远程更新的信息安全问题,方便性、适应性和可靠性高。

2)本发明在固件远程更新过程中进行多次加密和哈希验证,极大地保证了消息传输的安全性。

3)本发明在下载完新固件后,还设置了一个信任链,对所下载的新固件进行了安全性和完整性的验证,进一步提高了固件更新的安全性。

附图说明

图1为本发明实施例中远程服务器与目标ECU之间通信的建立示意图;

图2为本发明实施例中远程服务器向目标ECU传输新版本固件的示意图;

图3为本发明实施例中目标ECU对固件的完整性验证流程图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

本实施例提供一种基于信息安全技术的车辆远程固件更新装置,该更新装置设置于车辆通信系统中,所述车辆通信系统包括通过无线网络连接的远程服务器和目标ECU,所述更新装置包括设置于目标ECU中的加密模块和第一通信模块以及设置于远程服务器内的第二通信模块,其中,所述加密模块生成与远程服务器通信的对称密钥和用于新固件加密的密钥K,也用于安全存储;所述第二通信模块利用所述对称密钥向目标ECU发送加密的固件更新请求消息,并在所述固件更新请求消息被接收后利用密钥K向目标ECU发送加密的新固件;所述第一通信模块解密所述固件更新请求消息和新固件,在利用哈希值验证所述固件更新请求消息和新固件安全后,将所述新固件下载至目标ECU的RAM中。

所述第二通信模块包括:更新消息生成单元,生成一固件更新请求消息,根据该固件更新请求消息的消息摘要生成第一哈希值,根据对称密钥对所述固件更新请求消息和第一哈希值进行对称加密封装为第一消息,发送给目标ECU;新固件发送单元,在接收到经验证后的密钥K时响应,通过所述密钥K对新固件及与所述新固件对应的第三哈希值进行加密,生成第二消息发送给目标ECU。

所述第一通信模块包括:更新消息验证单元,对所述第一消息进行对称解密,根据解密获得的固件更新请求消息的消息摘要计算第二哈希值,判断所述第二哈希值与所述第一哈希值是否相同;固件密钥发送单元,在所述更新消息验证单元的判断结果为是时响应,将密钥K对称加密后发送给远程服务器;固件验证单元,对所述第二消息进行解密,根据解密获得的新固件计算第四哈希值,判断所述第四哈希值与所述第三哈希值是否相同;固件下载单元,在所述固件验证单元的判断结果为是时响应,将所述新固件下载至目标ECU的RAM中,对新固件进行烧写。

在本发明的另一实施例中,该更新装置还包括:信任链建立模块,将新固件由第一通信模块发送至加密模块,通过串口侦听以及通信协议的分析,获得新固件传输过程中的二进制数据,将二进制数据进行哈希计算得到第六哈希值,判断所述第六哈希值与第三哈希值是否相同,若是,是判定新固件安全,若否,则判定新固件不安全;在判定新固件安全后对新固件进行烧写。

如图1所示,利用上述更新装置实现远程服务器2和目标ECU1的通信的建立具体为:

加密模块11生成对称密钥K_com和密钥K,第二通信模块21通过对称密钥K_com对固件更新请求消息以及消息的摘要生成的哈希值MAC进行加密,生成K_com(Req_meg+MAC),封装成以太网的报文格式,通过以太网收发器发送给目标ECU1的第一通信模块12。第一通信模块12在收到请求之后,向加密模块请求通信对称密钥K_com以及生成的用于固件更新的密钥K。第一通信模块用密钥K_com将信息进行解密,得到固件更新请求消息以及消息摘要生成的哈希值:Req_meg+MAC,然后计算固件更新请求消息摘要的哈希值与发送来的哈希值进行比对,如果相同,就可以证明远程服务器发送的加密消息并没有受到非法的篡改,保证了固件更新请求消息的真实性与完整性。接下来,第一通信模块将用于固件更新的密钥K、回复消息及其摘要生成的哈希值K_com(Res_ecu+K_enc+MAC)返回给远程服务器,由远程服务器进行解密以及验证,获取其中的密钥K。最后远程服务器返回一个确认消息K_com(Res_ser+MAC)给目标ECU,标志着整个通信环境已经搭建好了,目标ECU进行一系列操作,比如发布停车命令以及更新警告等,切换到可编程模式,可以开始传输新版本的固件。

对称加密技术通过硬件的方式加以实现,本实施例采用恩智浦公司开发的一款加密芯片MPC5748G,可解决在硬件层次上实现对称加密解密以及密钥安全存储的问题。哈希算法则可以通过软件算法的方法加以实现。

如图2所示,新固件传输过程具体为:远程服务器接收到目标ECU返回的进入到可编程模式的确认消息之后,通过密钥K对新的固件及其摘要生成的哈希值进行加密K(Firmware+MAC),发送给目标ECU,第一通信模块12则解密并验证更新固件的哈希值。如果通过解密和认证,则将固件下载到ECU的RAM中。为了加以保护,将固件Firmware及其MAC值其存入加密模块11的ROM中。

如图3所示,在目标ECU下载完所有的固件之后,需要建立一个信任链,即对每次新固件安装的安全性进行计算。通过串口侦听,获得固件传输过程中的二进制数据,将二进制数据进行哈希计算得到一个该版本固件的哈希值,将其与远程服务器传来的哈希值进行对比。如果相同的话,则可以证明该固件的安全性和完整性。最后重启目标ECU硬件,将新版本的固件从ROM中进行烧写。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1