一种基于信息安全技术的车辆远程诊断系统及方法与流程

文档序号:11930529阅读:285来源:国知局
一种基于信息安全技术的车辆远程诊断系统及方法与流程

本发明涉及一种车辆远程诊断方法,尤其是涉及一种基于信息安全技术的车辆远程诊断方法。



背景技术:

近年来,得益于互联网信息技术不断取得的重大突破,汽车行业开始迈入信息化时代,汽车产品也逐步走向智能化。“智能交通”、“车联网”等相关概念也受到了国内外学者的广泛关注。在这些领域上的相关技术的发展与不断完善都将促进汽车不断智能化和信息化。其中,通过以太网以及V2X技术对车辆进行远程诊断的方法也已经日趋成熟。

但是随着车联网技术以及汽车智能化的提升,汽车面临的信息安全问题也愈来愈受到重视。在进行车辆远程固件的过程中,由远程诊断服务器发送的信息报文以及由目标ECU(电子控制单元)返回的诊断信息将有可能受到非法的跟踪、记录与篡改,因此需要使用相应的信息安全技术对这些信息进行保护。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种车辆远程诊断方法。

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

一种基于信息安全技术的车辆远程诊断系统,该系统包括诊断目标ECU和远程诊断服务器,该系统还包括车辆诊断接收网关,所述的车辆诊断接收网关设置在诊断目标ECU和远程诊断服务器之间并分别与两者通信连接,所述的车辆诊断接收网关与远程诊断服务器之间设有非对称加密单元,所述的车辆诊断接收网关和诊断目标ECU之间设有对称加密单元;

所述的非对称加密单元用于在远程诊断服务器端对远程诊断服务器的诊断请求进行非对称加密,同时在车辆诊断接收网关端进行解密验证通信是否安全,若是则车辆诊断接收网关进入诊断状态,远程诊断服务器发送密钥K至车辆诊断接收网关;

所述的对称加密单元用于在车辆诊断接收网关进入诊断状态时在车辆诊断接收网关端对诊断请求进行对称加密,同时在诊断目标ECU端进行解密验证通信是否安全,若是则诊断目标ECU进入诊断状态,车辆诊断接收网关将密钥K发送至诊断目标ECU,进而远程诊断服务器通过密钥K加密对目标ECU进行远程诊断。

所述的非对称加密单元包括:

设置在车辆诊断接收网关端的第一密钥生成分发存储模块:该模块生成非对称加密的公钥Kg_pu和对应的私钥Kg_pr,并将公钥Kg_pu发送至远程诊断服务器,将私钥Kg_pr保存;

设置在远程诊断服务器端的第二密钥生成分发存储模块:该模块生成非对称加密的公钥Kr_pu和对应的私钥Kr_pr,并将公钥Kr_pu发送至车辆诊断接收网关,将私钥Kr_pr保存;

设置在远程诊断服务器端的哈希值生成模块:该模块用于生成诊断请求消息摘要的哈希值MAC;

设置在远程诊断服务器端的非对称加密模块:该模块采用公钥Kg_pu对诊断请求消息Req_meg以及诊断请求消息摘要的哈希值MAC进行加密生成Kg_pu(Req_meg+MAC)并发送至车辆诊断接收网关;

设置在车辆诊断接收网关端的非对称解密模块:该模块采用第一密钥生成分发存储模块保存的私钥Kg_pr进行解密得到诊断请求消息以及诊断请求消息摘要的哈希值Req_meg+MAC;

设置在车辆诊断接收网关端的第一验证确认模块:该模块根据接收到的Kg_pu(Req_meg+MAC)计算得到诊断请求消息摘要的哈希计算值,并将此哈希计算值与解密得到的诊断请求消息摘要的哈希值MAC进行对比,若相同,则车辆诊断接收网关进入诊断状态,验证确认模块通过公钥Kr_pu对Req_meg+MAC进行加密得到Kr_pu(Res_meg+MAC)并发送至远程诊断服务器确认;

设置在远程诊断服务器端端的第二验证确认模块:该模块采用第二密钥生成分发存储模块保存的私钥Kr_pr对Kr_pu(Res_meg+MAC)进行解密并验证消息正确性,若正确,第二验证确认模块通过公钥Kg_pu将密钥K和诊断请求消息摘要的哈希值MAC进行非对称加密得到Kg_pu(K+MAC)并发送至车辆诊断接收网关;

设置在车辆诊断接收网关端的第一密钥保存模块:该模块通过第一密钥生成分发存储模块中的私钥Kg_pr对Kg_pu(K+MAC)进行解密得到密钥K并保存。

所述的对称加密单元包括:

设置在车辆诊断接收网关端的第一对称加密密钥存储模块:该模块存储对称加密私钥Ke_pr;

设置在诊断目标ECU端的第二对称加密密钥存储模块:该模块存储对称加密私钥Ke_pr;

设置在车辆诊断接收网关端的对称加密模块:该模块采用第一对称加密密钥存储模块中的对称加密私钥Ke_pr对诊断请求消息Req_meg以及诊断请求消息摘要的哈希值MAC进行加密生成Ke_pr(Req_meg+MAC)并发送至诊断目标ECU;

设置在诊断目标ECU端的对称解密模块:该模块采用第二对称加密密钥存储模块中的对称加密私钥Ke_pr对Ke_pr(Req_meg+MAC)进行解密;

设置在诊断目标ECU端的第三验证确认模块:该模块根据接收到的Ke_pr(Req_meg+MAC)计算得到诊断请求消息摘要的哈希计算值,并将此哈希计算值与对称解密模块解密得到的诊断请求消息摘要的哈希值MAC进行对比,若两者相同,则发送确认信息至车辆诊断接收网关;

设置在车辆诊断接收网关的第四验证确认模块:该模块验证第三验证确认模块发送的确认信息的正确性,并将密钥保存模块中的密钥K和诊断请求消息摘要的哈希值MAC进行对称加密得到Ke_pr(K+MAC)并发送至诊断目标ECU;

设置在目标ECU端的第二密钥保存模块:该模块通过第二对称加密密钥存储模块中的对称加密私钥Ke_pr对Ke_pr(K+MAC)进行解密得到密钥K并保存。

一种基于信息安全技术的车辆远程诊断方法,该方法包括如下步骤:

(1)远程诊断服务器对诊断请求进行非对称加密并发送至车辆诊断接收网关,执行步骤(2);

(2)车辆诊断接收网关对接收的诊断请求进行解密验证通信是否安全,若是则车辆诊断接收网关进入诊断状态,远程诊断服务器发送密钥K至车辆诊断接收网关,并执行步骤(3),否则结束;

(3)车辆诊断接收网关对诊断请求进行对称加密并发送至诊断目标ECU;

(4)诊断目标ECU对接收的诊断请求进行解密验证通信是否安全,若是则诊断目标ECU进入诊断状态,车辆诊断接收网关将密钥K发送至诊断目标ECU,进而远程诊断服务器通过密钥K加密对目标ECU进行远程诊断,否则结束。

所述的诊断请求包括诊断请求消息Req_meg以及诊断请求消息摘要的哈希值MAC,步骤(1)对诊断请求进行加密前首先采用哈希算法生成诊断请求消息摘要的哈希值MAC。

与现有技术相比,本发明具有如下优点:

(1)本发明设置了车辆诊断接收网关作为中间通信桥梁,提高了诊断目标ECU和远程诊断服务器直接通信的安全性;

(2)本发明车辆诊断接收网关和远程诊断服务器使用以太网通信时使用非对称加密技术,而在车辆内部车辆诊断接收网关和诊断目标ECU之间则使用实时性更好,占资源更少的对称加密技术,非对称加密虽然安全性更高,但是加密和解密花费时间长、速度慢,对称加密技术速度快、计算量小且效率高但是保密性不如非对称加密方法好,采用两只方法的有效结合,能够综合两者优缺点,从而实现在提高通信安全的同时保证一定的通信速度,提高效率;

(3)将非对称加密技术应用于车辆诊断接收网关与远程诊断服务器之间的通信,利用其强大的安全特性,对传输的数据进行保密,保证了传输过程中的可靠性与匿名性;

(4)将对称加密技术应用于诊断接收网关与诊断目标ECU之间的通信,利用对称加密技术速度快、计算量小且效率高的特性,对传输的数据进行保密,保证传输过程中的可靠性与匿名性;

(5)在加密的同时对诊断请求消息采用哈希算法生成诊断请求消息摘要的哈希值MAC,利用了哈希算法不可逆的特性,用于验证传输数据的完整性和真实性。

附图说明

图1为本发明基于信息安全技术的车辆远程诊断系统的结构框图;

图2为本发明远程诊断服务器与车辆诊断接收网关之间的通信结构框图;

图3为本发明车辆诊断接收网关和诊断目标ECU之间的通信结构框图。

图中,1为诊断目标ECU,2为车辆诊断接收网关,3为远程诊断服务器,4为通信模块,5为加密模块。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。

实施例

如图1所示,一种基于信息安全技术的车辆远程诊断系统,该系统包括诊断目标ECU和远程诊断服务器3,该系统还包括车辆诊断接收网关2,车辆诊断接收网关2设置在诊断目标ECU1和远程诊断服务器3之间并分别与两者通信连接,车辆诊断接收网关2与远程诊断服务器3之间设有非对称加密单元,车辆诊断接收网关2和诊断目标ECU1之间设有对称加密单元;非对称加密单元用于在远程诊断服务器3端对远程诊断服务器3的诊断请求进行非对称加密,同时在车辆诊断接收网关2端进行解密验证通信是否安全,若是则车辆诊断接收网关2进入诊断状态,远程诊断服务器3发送密钥K至车辆诊断接收网关2;对称加密单元用于在车辆诊断接收网关2进入诊断状态时在车辆诊断接收网关2端对诊断请求进行对称加密,同时在诊断目标ECU1端进行解密验证通信是否安全,若是则诊断目标ECU1进入诊断状态,车辆诊断接收网关2将密钥K发送至诊断目标ECU1,进而远程诊断服务器3通过密钥K加密对目标ECU进行远程诊断。图中,诊断目标ECU1、车辆诊断接收网关2和远程诊断服务器3均设有一个通信模块4和一个加密模块5,通信模块4实现信息通讯,加密模块5实现对称加密以及非对称加密,远程诊断服务器3和车辆诊断接收网关2中的加密模块4组成了所述的非对称加密单元,诊断目标ECU1和车辆诊断接收网关2中的加密模块4组成了所述的对称加密单元。

非对称加密单元包括:

设置在车辆诊断接收网关2端的第一密钥生成分发存储模块:该模块生成非对称加密的公钥Kg_pu和对应的私钥Kg_pr,并将公钥Kg_pu发送至远程诊断服务器3,将私钥Kg_pr保存;设置在远程诊断服务器3端的第二密钥生成分发存储模块:该模块生成非对称加密的公钥Kr_pu和对应的私钥Kr_pr,并将公钥Kr_pu发送至车辆诊断接收网关2,将私钥Kr_pr保存;设置在远程诊断服务器3端的哈希值生成模块:该模块用于生成诊断请求消息摘要的哈希值MAC;设置在远程诊断服务器3端的非对称加密模块:该模块采用公钥Kg_pu对诊断请求消息Req_meg以及诊断请求消息摘要的哈希值MAC进行加密生成Kg_pu(Req_meg+MAC)并发送至车辆诊断接收网关2;设置在车辆诊断接收网关2端的非对称解密模块:该模块采用第一密钥生成分发存储模块保存的私钥Kg_pr进行解密得到诊断请求消息以及诊断请求消息摘要的哈希值Req_meg+MAC;设置在车辆诊断接收网关2端的第一验证确认模块:该模块根据接收到的Kg_pu(Req_meg+MAC)计算得到诊断请求消息摘要的哈希计算值,并将此哈希计算值与解密得到的诊断请求消息摘要的哈希值MAC进行对比,若相同,则车辆诊断接收网关2进入诊断状态,验证确认模块通过公钥Kr_pu对Req_meg+MAC进行加密得到Kr_pu(Res_meg+MAC)并发送至远程诊断服务器3确认;设置在远程诊断服务器3端端的第二验证确认模块:该模块采用第二密钥生成分发存储模块保存的私钥Kr_pr对Kr_pu(Res_meg+MAC)进行解密并验证消息正确性,若正确,第二验证确认模块通过公钥Kg_pu将密钥K和诊断请求消息摘要的哈希值MAC进行非对称加密得到Kg_pu(K+MAC)并发送至车辆诊断接收网关2;设置在车辆诊断接收网关2端的第一密钥保存模块:该模块通过第一密钥生成分发存储模块中的私钥Kg_pr对Kg_pu(K+MAC)进行解密得到密钥K并保存。

对称加密单元包括:

设置在车辆诊断接收网关2端的第一对称加密密钥存储模块:该模块存储对称加密私钥Ke_pr;设置在诊断目标ECU1端的第二对称加密密钥存储模块:该模块存储对称加密私钥Ke_pr;设置在车辆诊断接收网关2端的对称加密模块:该模块采用第一对称加密密钥存储模块中的对称加密私钥Ke_pr对诊断请求消息Req_meg以及诊断请求消息摘要的哈希值MAC进行加密生成Ke_pr(Req_meg+MAC)并发送至诊断目标ECU1;设置在诊断目标ECU1端的对称解密模块:该模块采用第二对称加密密钥存储模块中的对称加密私钥Ke_pr对Ke_pr(Req_meg+MAC)进行解密;设置在诊断目标ECU1端的第三验证确认模块:该模块根据接收到的Ke_pr(Req_meg+MAC)计算得到诊断请求消息摘要的哈希计算值,并将此哈希计算值与对称解密模块解密得到的诊断请求消息摘要的哈希值MAC进行对比,若两者相同,则发送确认信息至车辆诊断接收网关2;设置在车辆诊断接收网关2的第四验证确认模块:该模块验证第三验证确认模块发送的确认信息的正确性,并将密钥保存模块中的密钥K和诊断请求消息摘要的哈希值MAC进行对称加密得到Ke_pr(K+MAC)并发送至诊断目标ECU1;设置在目标ECU端的第二密钥保存模块:该模块通过第二对称加密密钥存储模块中的对称加密私钥Ke_pr对Ke_pr(K+MAC)进行解密得到密钥K并保存。

一种基于信息安全技术的车辆远程诊断方法,该方法包括如下步骤:

(1)远程诊断服务器3对诊断请求进行非对称加密并发送至车辆诊断接收网关2,执行步骤(2);

(2)车辆诊断接收网关2对接收的诊断请求进行解密验证通信是否安全,若是则车辆诊断接收网关2进入诊断状态,远程诊断服务器3发送密钥K至车辆诊断接收网关2,并执行步骤(3),否则结束;

(3)车辆诊断接收网关2对诊断请求进行对称加密并发送至诊断目标ECU1;

(4)诊断目标ECU1对接收的诊断请求进行解密验证通信是否安全,若是则诊断目标ECU1进入诊断状态,车辆诊断接收网关2将密钥K发送至诊断目标ECU1,进而远程诊断服务器3通过密钥K加密对目标ECU进行远程诊断,否则结束。

诊断请求包括诊断请求消息Req_meg以及诊断请求消息摘要的哈希值MAC,步骤(1)对诊断请求进行加密前首先采用哈希算法生成诊断请求消息摘要的哈希值MAC。由此,一个可信任的诊断信任链就建立起来了,目标ECU与远程诊断接收网关之间的诊断服务、询问与应答,则可以通过密钥K进行加解密与哈希MAC值验证,这种方法确保了整个车辆远程诊断过程的匿名性、完整性及真实性。

图2为远程诊断服务器3与车辆诊断接收网关2之间的通信结构框图,非对称加密技术通过软件的方式加以实现,远程诊断服务器3获取车辆诊断接收网关2的公钥Kg_pu对诊断请求消息,以及消息的摘要生成的哈希值MAC进行加密,生成Kg_pu(Req_meg+MAC),封装成以太网的报文格式,通过以太网收发器发送给车辆诊断接收网关2。车辆诊断接收网关2在收到诊断请求之后,向车辆诊断接收网关2的加密模块请求车辆诊断接收网关2的私人密钥Kg_pr以及远程诊断服务器3的公共密钥Kr_pu。车辆诊断接收网关2用私钥Kg_pr将信息进行解密,得到诊断请求消息以及消息摘要生成的哈希值:Req_meg+MAC,然后计算诊断消息摘要的哈希值与发送来的哈希值进行比对,如果相同,则可以证明远程诊断服务器3发送的加密消息并没有受到非法的篡改,则保证了诊断请求消息的真实性与完整性。车辆诊断接收网关2则进入诊断状态。接下来,车辆诊断接收网关2使用远程诊断服务器3的公共密钥Kr_pu返回远程诊断服务器3一个确认消息Kr_pu(Res_meg+MAC)。远程诊断服务器3收到并验证该确认消息之后,将一个通信密钥K通过非对称加密的方式Kg_pu(K+MAC)发送给车辆诊断接收网关2。为了确保安全,密钥K存储在第一密钥保存模块之中。

图3为车辆诊断接收网关2和诊断目标ECU1之间的通信结构框图,进入诊断状态的车辆诊断接收网关2使用从安全模块传来的私钥Ke_pr,通过对称加密的方式,发送诊断请求消息与消息摘要生成的哈希MAC值Ke_pr(Req_meg+MAC)给诊断目标ECU1。对称加密的方式则通过硬件加以实现。目标ECU接收到发来的信息,用加密模块发来的私钥Ke_pr进行解密,并计算信息摘要的哈希值与发送来的哈希值进行比对,以证明消息的真实性与可靠性。验证成功之后,目标ECU的通信模块将返回给车辆诊断接收网关2的通信模块一个加密的确认消息Ke_pr(Res_meg+MAC),最后则由车辆诊断接收网关2将密钥K通过对称加密的方式Ke_pr(K+MAC)发送给目标ECU。目标ECU将密钥存储在加密模块中,确保其安全性。这标志着目标ECU进入诊断模式。

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