一种汽车用UDS诊断报文混合加密传输方法及系统与流程

文档序号:31363497发布日期:2022-08-31 15:03阅读:224来源:国知局
一种汽车用UDS诊断报文混合加密传输方法及系统与流程
一种汽车用uds诊断报文混合加密传输方法及系统
技术领域
1.本技术涉及汽车用uds诊断报文技术领域,具体涉及一种汽车用uds诊断报文混合加密传输方法、汽车用uds诊断报文混合加密传输系统、汽车用客户端诊断报文混合加密传输方法以及汽车用诊断服务端诊断报文混合加密传输方法。


背景技术:

2.随着can技术在汽车电子领域的快速发展,在can上实现uds功能备受关注,现有的uds诊断很少考虑uds报文的安全问题,而uds报文的安全对汽车ecu的影响是不可忽视的,uds报文被破解会导致汽车ecu被攻击,对驾驶者的人身安全造成了很大程度的威胁,这就需要报文加密方案来解决uds报文的安全问题。
3.诊断服务是针对汽车故障而生的重要功能,具备对ecu进行多项操作的能力。uds在本质上代表的是一系列的诊断服务,uds报文是诊断客户端根据需求向服务端请求响应诊断服务的信息载体。uds报文包含sid、sf和did,sid是诊断标识符,对应着不同的诊断服务,诊断客户端向服务端发送指定的数据请求,服务端处理完成后,返回处理结果,进而实现对车辆故障的诊断和记录。若请求处理成功,服务端会返回正响应,反之则返回负响应。uds报文如果被破解,ecu很可能执行错误的操作。
4.因此,希望有一种技术方案来解决或至少减轻现有技术的上述不足。


技术实现要素:

5.本发明的目的在于提供一种汽车用uds诊断报文传输方法来至少解决上述的一个技术问题。
6.本发明的一个方面,提供一种汽车用uds诊断报文混合加密传输方法,其特征在于,所述汽车用uds诊断报文混合加密传输方法包括:
7.客户端向诊断服务端发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥;
8.诊断服务端获取uds报文以及第一密钥;
9.诊断服务端对所述第一密钥进行解密,从而获取原始对称加密密钥;
10.诊断服务端通过所述原始对称加密密钥对所述uds报文进行解密,从而获取未加密的uds报文。
11.可选地,所述客户端向诊断服务端发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥包括:
12.客户端获取诊断服务端所传递的原始对称加密密钥以及非对称加密公钥;
13.客户端通过所述原始对称加密密钥对所述uds报文进行加密;
14.客户端通过所述非对称加密公钥对所述原始对称加密密钥进行加密从而形成第一密钥。
15.可选地,所述客户端通过所述原始对称加密密钥对所述uds报文进行加密包括:
16.通过rc4算法加密uds报文;
17.所述客户端通过所述非对称加密所需公钥对所述原始对称加密密钥进行加密从而形成第一密钥包括:
18.利用rsa算法对所述原始对称加密密钥进行加密从而形成第一密钥。
19.可选地,所述客户端向诊断服务端发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥之前,所述汽车用uds诊断报文混合加密传输方法进一步包括:
20.客户端向诊断服务端发送空闲询问信息;
21.诊断服务端获取所述空闲询问信息;
22.诊断服务端根据当前任务信息以及所述空闲询问信息,判断是否能够在预设时间内获取uds报文,若是,则
23.客户端向诊断服务端发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥。
24.可选地,所述汽车用uds诊断报文混合加密传输方法进一步包括:
25.诊断服务端根据当前任务信息以及所述空闲询问信息,判断是否能够在预设时间内获取uds报文,若否,则
26.诊断服务端获取处理当前任务信息所需要的预估时间,并将处理当前任务信息所需要的预估时间发送给所述客户端;
27.客户端在等待所述预估时间后,向诊断服务端发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥。
28.可选地,在所述诊断服务端通过所述原始对称加密密钥对所述uds报文进行解密,从而获取未加密的uds报文之后,所述汽车用uds诊断报文混合加密传输方法进一步包括:
29.诊断服务端向客户端发送收到所述uds报文反馈信息;
30.客户端根据所述uds报文反馈信息,向诊断服务端第二次发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥;
31.诊断服务端接收第二次发送的uds报文以及第一密钥;
32.诊断服务端对第二次发送的所述第一密钥进行解密,从而获取原始对称加密密钥;
33.诊断服务端通过所述原始对称加密密钥对第二次发送的所述uds报文进行解密,从而获取未加密的uds报文;
34.诊断服务端将所述第二次发送的未加密的uds报文以及第一次发送的未加密的uds报文进行对比,若对比成功,则
35.处理所述未加密的uds报文。
36.可选地,所述汽车用uds诊断报文混合加密传输方法进一步包括:
37.诊断服务端将所述第二次发送的未加密的uds报文以及第一次发送的未加密的uds报文进行对比,若对比失败,则
38.诊断服务器向客户端发送报警信息。
39.本技术还提供了一种汽车用uds诊断报文混合加密传输系统,所述汽车用uds诊断报文混合加密传输系统包括客户端以及诊断服务端,其中,
40.客户端向诊断服务端发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥;
41.诊断服务端获取uds报文以及第一密钥;
42.诊断服务端对所述第一密钥进行解密,从而获取原始对称加密密钥;
43.诊断服务端通过所述原始对称加密密钥对所述uds报文进行解密,从而获取未加密的uds报文。
44.本技术还提供了一种汽车用客户端诊断报文混合加密传输方法,所述汽车用客户端诊断报文混合加密传输方法包括:
45.客户端向诊断服务端发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥。
46.本技术还提供了一种汽车用诊断服务端诊断报文混合加密传输方法,所述汽车用诊断服务端诊断报文混合加密传输方法包括:
47.诊断服务端获取客户端向诊断服务端发送的经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥;
48.诊断服务端对所述第一密钥进行解密,从而获取原始对称加密密钥;
49.诊断服务端通过所述原始对称加密密钥对所述uds报文进行解密,从而获取未加密的uds报文。
50.有益效果
51.本技术的汽车用uds诊断报文混合加密传输方法利用混合加密方法对诊断仪发出的uds请求报文进行加密,并提出一种机制,这种机制要求持有私钥的车端首先要对会话密钥进行解密,才能对uds报文进行解密,实现uds报文的安全传输,使得汽车ecu能够执行正确操作,从而保证车辆安全。
附图说明
52.图1是本技术一实施例的汽车用uds诊断报文混合加密传输方法的流程示意图。
53.图2是本技术的汽车用uds诊断报文混合加密传输方法中rc4算法的流程示意图。
具体实施方式
54.为使本技术实施的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本技术一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。下面结合附图对本技术的实施例进行详细说明。
55.图1是本技术一实施例的汽车用uds诊断报文混合加密传输方法的流程示意图。
56.如图1所示的汽车用uds诊断报文混合加密传输方法包括:
57.客户端向诊断服务端发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥,其中,第一秘钥是原始对称加密秘钥
通过非对称加密方式加密所得;
58.诊断服务端获取uds报文以及第一密钥;
59.诊断服务端对所述第一密钥进行解密,从而获取原始对称加密密钥,具体而言,通过非对称加密的私钥对第一密钥进行解密;
60.诊断服务端通过所述原始对称加密密钥对所述uds报文进行解密,从而获取未加密的uds报文。
61.本技术的汽车用uds诊断报文混合加密传输方法利用混合加密方法对诊断仪发出的uds请求报文进行加密,并提出一种机制,这种机制要求持有私钥的车端首先要对会话密钥进行解密,才能对uds报文进行解密,实现uds报文的安全传输,使得汽车ecu能够执行正确操作,从而保证车辆安全。
62.在本实施例中,客户端向诊断服务端发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥包括:
63.客户端获取诊断服务端所传递的原始对称加密密钥以及非对称加密公钥;
64.客户端通过原始对称加密密钥对所述uds报文进行加密;
65.客户端通过非对称加密公钥对原始对称加密密钥进行加密从而形成第一密钥。
66.在本实施例中,诊断服务端随机生成原始对称加密密钥后,向客户端发送该原始对称加密密钥,此后客户端与服务端持有相同的原始对称加密密钥,当客户端有诊断请求时,可以利用该原始对称加密密钥来加密uds报文,服务端可通过该原始对称加密密钥解开客户端发来的uds报文。
67.在本实施例中,诊断服务端将非对称加密所需公钥发送给客户端。诊断服务端利用伪随机数生成器产生一对密钥,分别为公钥和私钥,服务端将公钥发送给诊断客户端,当客户端有诊断请求时,可以利用公钥加密报文或对称加密的密钥,服务端可以利用手中的私钥去解客户端通过公钥加密的信息。
68.在本实施例中,客户端通过所述原始对称加密密钥对所述uds报文进行加密包括:
69.通过rc4算法加密uds报文;具体地,诊断客户端利用rc4算法加密uds报文,其流程如图2所示。rc4算法是一种对称加密算法,其不会对uds报文进行分组处理,而是以字节流的方式加密uds报文。诊断客户端收到服务端发来的密钥后,利用密钥流生成算法将收到的密钥生成密钥流,该密钥流与uds报文的长度是一致的。然后以字节流的方式依次加密uds报文中的每个字节,密钥流和uds报文按对应字节异或的形式得到加密后的uds报文,即uds密文。
70.客户端通过所述非对称加密所需公钥对原始对称加密密钥进行加密从而形成第一密钥包括:
71.利用rsa算法对所述原始对称加密密钥进行加密从而形成第一密钥。具体地,诊断客户端利用rsa算法将对称加密的密钥加密。rsa算法是一种非对称加密算法,利用函数单向求解的方式获得加密后的信息。诊断客户端使用公钥将对称加密的密钥进行加密处理,通过函数计算生成加密后的密钥。
72.在本实施例中,诊断服务端对所述第一密钥进行解密,从而获取原始对称加密密钥以及通过所述原始对称加密密钥对所述uds报文进行解密,从而获取未加密的uds报文包括:
73.诊断服务端首先需要利用私钥解密第一密钥,此处利用函数逆向求解的方式获得原始对称加密密钥。获得原始对称加密密钥后,利用密钥流生成器对此原始对称加密密钥生成密钥流,相同的密钥会生成相同的密钥流,所以此处的密钥流与加密时的密钥流一致。然后将密钥流和uds密文按对应字节异或的方式进行解密,进而得到uds明文。服务端处理完客户端发来的请求后,为客户端返回相应的处理结果。若请求处理成功则返回正响应,若请求处理失败则返回负响应。
74.在一个实施例中,对于请求处理失败的诊断请求,若诊断客户端重新向服务端发出诊断请求,仍遵循以上步骤,使密钥得到更新,以保证uds报文的安全。
75.在本实施例中,客户端向诊断服务端发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥之前,汽车用uds诊断报文混合传输方法进一步包括:
76.客户端向诊断服务端发送空闲询问信息;
77.诊断服务端获取空闲询问信息;
78.诊断服务端根据当前任务信息以及所述空闲询问信息,判断是否能够在预设时间内获取uds报文,若是,则
79.客户端向诊断服务端发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥。
80.在本实施例中,汽车用uds诊断报文混合传输方法进一步包括:
81.诊断服务端根据当前任务信息以及所述空闲询问信息,判断是否能够在预设时间内获取uds报文,若否,则
82.诊断服务端获取处理当前任务信息所需要的预估时间,并将处理当前任务信息所需要的预估时间发送给所述客户端;
83.客户端在等待所述预估时间后,向诊断服务端发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥。
84.在实际工作过程中,诊断服务端可能同时进行多项工作,从而导致无法处理或者无法及时处理uds报文,此时,如果发送uds报文,一方面浪费客户端以及诊断服务端的算力,另一方面,还可能造成uds报文暴露的风险,因此,通过首先询问的方式,从而可以解决上述问题。
85.在本实施例中,在诊断服务端通过所述原始对称加密密钥对所述uds报文进行解密,从而获取未加密的uds报文之后,所述汽车用uds诊断报文混合加密传输方法进一步包括:
86.诊断服务端向客户端发送收到所述uds报文反馈信息;
87.客户端根据所述uds报文反馈信息,向诊断服务端第二次发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥;
88.诊断服务端接收第二次发送的uds报文以及第一密钥;
89.诊断服务端对第二次发送的所述第一密钥进行解密,从而获取原始对称加密密钥;
90.诊断服务端通过所述原始对称加密密钥对第二次发送的所述uds报文进行解密,从而获取未加密的uds报文;
91.诊断服务端将所述第二次发送的未加密的uds报文以及第一次发送的未加密的uds报文进行对比,若对比成功,则
92.处理所述未加密的uds报文。
93.在本实施例中,汽车用uds诊断报文混合加密传输方法进一步包括:
94.诊断服务端将第二次发送的未加密的uds报文以及第一次发送的未加密的uds报文进行对比,若对比失败,则
95.诊断服务器向客户端发送报警信息。
96.如果通过上述加密方法进行加密的uds报文,还是有可能被破解,从而导致篡改uds报文的内容,通过这种再发一次的方式,可以进一步防止问题出现。
97.本技术还提供了一种汽车用uds诊断报文混合加密传输系统,所述汽车用uds诊断报文混合加密传输系统包括客户端以及诊断服务端,其中,
98.客户端向诊断服务端发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥;
99.诊断服务端获取uds报文以及第一密钥;
100.诊断服务端对所述第一密钥进行解密,从而获取原始对称加密密钥;
101.诊断服务端通过所述原始对称加密密钥对所述uds报文进行解密,从而获取未加密的uds报文。
102.本技术还提供了一种汽车用客户端诊断报文混合加密传输方法,所述汽车用客户端诊断报文混合加密传输方法包括:
103.客户端向诊断服务端发送经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥。
104.本技术还提供了一种汽车用诊断服务端诊断报文混合加密传输方法,所述汽车用诊断服务端诊断报文混合加密传输方法包括:
105.诊断服务端获取客户端向诊断服务端发送的经过原始对称加密密钥加密的uds报文以及对原始对称加密密钥通过非对称加密方式进行加密的第一密钥;
106.诊断服务端对所述第一密钥进行解密,从而获取原始对称加密密钥;
107.诊断服务端通过所述原始对称加密密钥对所述uds报文进行解密,从而获取未加密的uds报文。
108.可以理解的是,上述对方法的阐述,也同样适用于对系统的阐述。
109.虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1