1.本技术涉及自动驾驶技术领域,尤其涉及一种车辆通信的方法及装置。
背景技术:2.自动驾驶应用中的一个重要场景是车辆的编队行驶,在车辆编队行驶场景中,最前车辆可以充当“领航车”的角色,其后由若干自动驾驶车辆组成,呈一个队列的行驶形态前进,车队成员保持一定的车距以及稳定的车速,在有序行驶的状态下巡航。
3.在车辆编队行驶过程中,群组内的车队成员之间主要通过v2x(vehicle to everything,车到万物)方式来进行车辆间的通信,但v2x基于开放的无线通信网络,相比传统网络更容易受到攻击,对于主要基于v2x通信的车辆编队行驶领域所带来的损害也更大。因此,在自动驾驶的车辆编队行驶场景下,对v2x通信的安全性提出更高的要求。
4.并且,在农场、矿区和码头等商用车场景中,需要按照作业任务对分配的车辆临时组建车队,车队内成员车辆之间的消息涉及任务分配、费用核对和作业参数等机密信息,因此对车辆之间的消息进行安全传输显得十分重要。
5.因此,现有亟需提出一种针对自动驾驶领域中车辆编队行驶过程中车队成员之间进行安全通信的方案。
技术实现要素:6.本技术实施例提供一种车辆通信的方法及装置,用于实现车辆之间的安全通信。
7.第一方面,本技术实施例提供一种车辆通信的方法,该方法可以应用于领航车,该方法包括:接收入队请求消息;入队请求消息包括目标车辆的证书,入队请求消息用于指示目标车辆请求入队;响应于入队请求消息,向目标车辆发送入队响应消息;其中,入队响应消息包括第一密文、所述目标车辆的证书对应的第一标识和领航车的证书,第一密文是领航车根据目标车辆的证书的公钥对第一会话密钥进行加密得到的;进而所述第一标识可以用于指示目标车辆根据其自身的证书的私钥对第一密文进行解密以获取第一会话密钥,以及获取领航车的证书。
8.在本技术实施例中,领航车在接收到来自目标车辆的入队请求消息之后,利用目标车辆的证书的公钥对第一会话密钥进行加密传输。如此,有效提升密钥传输的安全性和可靠性,进而使得车辆之间可以安全通信,从而有效提升车辆通信的信息安全和网络安全的性能。
9.在一种可能的设计中,领航车在接收入队请求消息之前,还可以生成第一会话密钥。其中,第一会话密钥用于对车辆之间的广播信息进行加密,进而领航车可以将该第一会话密钥加密后传输给该车队内的其他车辆,进而使得其他车辆可以利用第一会话密钥对广播信息进行加密传输。
10.在该设计中,领航车在接收入队请求消息之前,无需和多个车辆进行密钥协商,就可以生成第一会话密钥。如此,有效减少密钥生成的时延,使得待入队的目标车辆能够更快
地使用第一会话密钥对广播信息进行加密传输。
11.在一种可能的设计中,领航车还可以接收出队请求消息;该出队请求消息用于指示目标车辆请求出队;进而领航车可以响应于出队请求消息,发送出队响应消息,以指示目标车辆执行出队操作。
12.在该设计中,领航车可以管理车队内的车辆,在接收到目标车辆出队请求消息时,领航车可以作出响应,以指示该目标车辆出队。
13.在一种可能的设计中,领航车在发送出队响应消息之后,还可以向领航车所在车队中的其他车辆发送第一通知消息;其中,第一通知消息包括第一签名信息、所述领航车所在车队中的其他车辆的证书对应的第二标识和第二密文,第一签名信息用于指示领航车的身份信息,第二密文是领航车根据该其他车辆的证书的公钥对第二会话密钥进行加密得到的;进而所述第二标识用于指示所述其他车辆根据其的证书的私钥对所述第二密文进行解密,以获取所述第二会话密钥,第一通知消息用于指示其他车辆根据领航车的证书和第一签名信息,验证领航车的身份。
14.在该设计中,领航车在请求出队的目标车辆出队后,根据该其他车辆的证书的公钥将第二会话密钥加密传输给车队内的其他车辆。如此,使得第二会话密钥的传输更加可靠,有助于提升车辆之间通信的安全性。
15.在一种可能的设计中,领航车在发送第一通知消息之前,还可以生成第二会话密钥;第二会话密钥用于对车辆之间的广播信息进行加密。应理解,“车辆之间的广播信息”可以是车队中的任意两个车辆之间的广播信息,也可以是领航车和其他车辆之间的广播信息,这里不作具体的限制。
16.在该设计中,领航车在请求出队的目标车辆出队后,可以生成新的会话密钥(即第二会话密钥),并将该第二会话密钥加密传输给车队内的其他车辆。如此,及时更新会话密钥,有助于提升车辆之间的通信的安全性和可靠性。
17.第二方面,本技术实施例还提供一种车辆通信方法,该方法可以应用于目标车辆,该方法包括:发送入队请求消息;入队请求消息包括目标车辆的证书,入队请求消息用于指示目标车辆请求入队;接收与入队请求消息对应的入队响应消息;入队响应消息包括第一密文、所述目标车辆的证书对应的第一标识和领航车的证书,第一密文是领航车根据目标车辆的证书的公钥对第一会话密钥进行加密得到的,所述第一标识可以用于指示所述目标车辆根据其自身的证书的私钥对所述第一密文进行解密以获取所述第一会话密钥,以及获取所述领航车的证书;根据目标车辆的证书的私钥对第一密文进行解密以获取第一会话密钥,以及获取领航车的证书。
18.在一种可能的设计中,目标车辆还可以发送出队请求消息;出队请求消息用于指示目标车辆请求出队;接收与出队请求消息对应的出队响应消息,执行出队操作。
19.应理解,上述第二方面的有益效果,具体请参照上述第一方面中相应设计可以达到的技术效果,这里不再重复赘述。
20.第三方面,本技术实施例还提供一种车辆通信方法,该方法可以应用于原领航车,在该方法中可以由原领航车发起领航车切换请求,也可以由目标领航车发起切换请求。
21.方式1:原领航车接收来自目标领航车的切换请求消息;原领航车响应于切换请求消息,向目标领航车发送切换响应消息,该切换请求响应消息用于指示目标领航车进行领
航车切换。
22.方式2:原领航车向目标领航车发送切换请求消息,并接收与该切换请求消息对应的切换响应消息,所述切换响应消息用于指示原领航车进行领航车切换;原领航车进行领航车切换,得到更新后的车队。
23.在本技术实施例中,原领航车可以向目标领航车发起领航车切换请求,也可以接收来自领航车的切换请求,并进行领航车切换。如此,实现了对车队的灵活管理,可以有效满足不同场景的业务需求。
24.在一种可能的设计中,原领航车还可以发送第二通知消息;其中,第二通知消息包括第二签名信息和目标领航车的证书,第二签名信息用于指示原领航车的身份信息;第二通知消息用于指示原领航车根据其所在车队中的其他车辆根据原领航车的证书和第二签名信息验证原领航车的身份,并在验证通过时获取目标领航车的证书。
25.在该设计中,原领航车在进行领航车切换之后,向其所在车队的其他车辆发送第二通知消息,以通知其他车辆更新领航车的证书。如此,使得车队内的其他车辆及时获知目标领航车的信息。
26.第四方面,本技术实施例提供一种车辆通信方法,该方法可以应用于目标领航车,在该方法中可以由原领航车发起领航车切换请求,也可以由目标领航车发起切换请求。
27.方式1:目标领航车向原领航车发送切换请求消息;目标领航车接收与该切换请求消息对应的切换响应消息,该切换响应消息用于指示目标领航车进行领航车切换;目标领航车进行领航车切换,得到更新后的车队。
28.方式2:目标领航车接收来自原领航车的切换请求消息;目标领航车响应于切换请求消息,向原领航车发送切换响应消息,切换响应消息用于指示原领航车进行领航车切换。
29.应理解,该实施例的有益效果,具体请参照上述第三方面中可以达到的技术效果,这里不再重复赘述。
30.在一种可能的设计中,目标领航车在领航车切换之后,还可以生成第三会话密钥,第三会话密钥用于对车辆之间的广播信息进行加密。
31.在该设计中,目标领航车进行领航车切换成功之后,可以生成第三会话密钥,如此,及时更新会话密钥,有助于提升车辆之间的通信的安全性和可靠性。
32.在一种可能的设计中,目标领航车在生成第三会话密钥之后,还可以发送第三通知消息;其中,第三通知消息包括第三签名信息、所述目标领航车的证书对应的第三标识和第三密文,第三签名信息用于指示目标领航车的身份信息,第三密文是目标领航车根据第一会话密钥对第三会话密钥进行加密得到的;所述第三标识用于指示更新后的车队中的除目标领航车以外的其他车辆根据第一会话密钥对第三密文进行解密,以获取第三会话密钥;第三通知消息用于指示更新后的车队中的除目标领航车以外的其他车辆根据目标领航车的证书和第三签名信息,验证目标领航车的身份。
33.在该设计中,目标领航车将利用第一会话密钥对第三会话密钥进行加密传输,以及将自身的第三签名信息传输给更新后的车队中的其他车辆。如此,使得其他车辆可以验证目标领航车的身份以及根据原始的会话密钥对加密的新密钥进行解密,进而减少其他车辆获取新会话密钥的时延,有助于提升车辆之间的通信的安全性和可靠性。
34.在一种可能的设计中,目标领航车在发送第三通知消息之后,还可以接收来自其
他车辆的领航车更新响应信息;领航车更新响应消息用于指示其他车辆已获取目标领航车的信息;进而目标领航车可以发送第四通知消息,以指示其他车辆使用第三会话密钥对广播信息进行加密。
35.在该设计中,目标领航车在接收到其他车辆的领航车更新响应消息之后,向该其他车辆发送通知消息,以指示他车辆使用第三会话密钥对广播信息进行加密。如此,有助于提升车辆之间的通信的安全性和可靠性。
36.第五方面,本技术实施例还提供一种车辆通信方法,该方法可以应用于服务器,该方法包括:接收车队创建通知消息;车队创建通知消息用于指示领航车已创建车队;车队创建通知消息包括车队的标识和车队内的车辆标识;响应于所述车队创建通知消息,发送第一响应消息;第一响应消息用于指示领航车获取第一会话密钥,第一会话密钥用于对车队中的车辆之间的广播信息进行加密。
37.本技术实施例中,服务器可以接收车队创建通知消息,并响应于该车队创建通知消息,向领航车发送第一会话密钥,以使车队中的车辆之间的广播信息可以根据第一会话密钥进行加密。如此,服务器可以实现对车队的管理,有助于提升车辆之间的通信的安全性和可靠性。
38.在一种可能的设计中,服务器还可以接收入队请求通知消息;入队请求通知消息用于指示第一车辆请求入队;响应于入队请求通知消息,将第一会话密钥发送至第一车辆。
39.在该设计中,服务器可以实现对车队的会话密钥的管理,在确定有待入队车辆时,向待入队车辆发送第一会话密钥,使得待入队车辆可以使用第一会话密钥对广播信息进行加密。如此,有助于提升车辆之间的通信的安全性和可靠性。
40.在一种可能的设计中,服务器还可以接收出队请求通知消息;出队请求通知消息用于指示第二车辆请求出队,出队请求通知消息包括车队的标识和第二车辆的车辆标识;响应于该出队请求通知消息,根据车队的标识和第二车辆的车辆标识,确定更新后的车队,并向更新后的车队中的每辆车辆发送第二会话密钥;第二会话密钥用于对更新后的车队中的车辆之间的广播信息进行加密。
41.在该设计中,服务器可以实现对车队的会话密钥的管理,在确定有车辆出队后,向更新后的车队发送更新后的会话密钥(即第二会话密钥),使得更新后的车队中的其他车辆可以使用第二会话密钥对广播信息进行加密。如此,有助于提升车辆之间通信的安全性和可靠性。
42.在一种可能的设计中,服务器还可以接收领航车切换通知消息;领航车切换通知消息中还包括车队的标识和目标领航车的车辆标识;响应于领航车切换通知消息,根据车队的标识和目标领航车的车辆标识,进行领航车切换。
43.在该设计中,服务器可以实现对车队的灵活管理,可以根据车队内车辆的需求灵活地切换领航车,有助于提升车辆之间通信的安全性和可靠性。
44.在一种可能的设计中,服务器在进行领航车切换之后,还可以生成第三会话密钥,并向车队中的其他车辆发送第三会话密钥,第三会话密钥用于对车队中的车辆之间的广播信息进行加密。
45.在该设计中,服务器可以实现对车队的会话密钥的管理,在进行领航车切换之后,生成新的会话密钥(即第三会话密钥),使得更新后的车队中的其他车辆可以使用新的会话
密钥对广播信息进行加密。如此,及时更新会话密钥,有助于提升车辆之间通信的安全性和可靠性。
46.第六方面,本技术实施例还提供一种车辆通信方法,该方法可以应用于领航车,该方法包括:发送车队创建通知消息;车队创建通知消息用于指示领航车已创建车队;车队创建通知消息包括车队的标识和车队内的车辆标识;接收与所述车队创建通知消息对应的第一响应消息;第一响应消息携带第一会话密钥;第一会话密钥用于对车辆之间的广播信息进行加密。
47.在一种可能的设计中,领航车还可以发送入队请求通知消息;入队请求通知消息用于指示第一车辆请求入队。
48.在一种可能的设计中,领航车还可以发送出队请求通知消息;出队请求通知消息用于指示第二车辆请求出队,出队请求通知消息包括车队的标识和第二车辆的车辆标识;接收与所述出队请求通知消息对应的第二响应消息;所述第二响应消息携带第二会话密钥,第二会话密钥用于对更新后的车队中的车辆之间的广播信息进行加密;所述更新后的车队是根据车队的标识和第二车辆的车辆标识确定的。
49.在一种可能的设计中,领航车还可以发送领航车切换通知消息;领航车切换通知消息中包括车队的标识和目标领航车的车辆标识;领航车切换通知消息用于指示服务器根据车队的标识和目标领航车的车辆标识,进行领航车切换。
50.在一种可能的设计中,领航车还可以接收第三会话密钥,并根据第三会话密钥对车队中的车辆之间的广播信息进行加密。
51.应理解,该实施例的有益效果,具体请参照上述第五方面中可以达到的技术效果,这里不再重复赘述。
52.第七方面,本技术实施例提供一种车辆通信的装置,示例性的,该装置可以包括:
53.接收模块,用于接收入队请求消息;所述入队请求消息包括目标车辆的证书,所述入队请求消息用于指示所述目标车辆请求入队;
54.发送模块,用于响应于所述入队请求消息,向所述目标车辆发送入队响应消息;
55.其中,所述入队响应消息包括第一密文、所述目标车辆的证书对应的第一标识和领航车的证书,所述第一密文是所述领航车根据所述目标车辆的证书的公钥对第一会话密钥进行加密得到的,所述第一标识用于指示所述目标车辆根据其自身的证书的私钥对所述第一密文进行解密以获取所述第一会话密钥,以及获取所述领航车的证书。
56.另外,该方面中,通信装置其他可选的实施方式可参见上述第一方面的相关内容,此处不再详述。
57.第八方面,本技术实施例提供一种车辆通信装置,示例性的,该装置包括:
58.发送模块,用于发送入队请求消息;所述入队请求消息包括目标车辆的证书,所述入队请求消息用于指示所述目标车辆请求入队;
59.接收模块,用于接收与所述入队请求消息对应的入队响应消息;所述入队响应消息包括第一密文、所述目标车辆的证书对应的第一标识和领航车的证书,所述第一密文是所述领航车根据所述目标车辆的证书的公钥对第一会话密钥进行加密得到的,所述第一标识用于指示所述目标车辆根据其自身的证书的私钥对所述第一密文进行解密以获取所述第一会话密钥,以及获取所述领航车的证书;
60.处理模块,用于根据所述目标车辆的证书的私钥对所述第一密文进行解密以获取所述第一会话密钥,以及获取所述领航车的证书。
61.另外,该方面中,通信装置其他可选的实施方式可参见上述第二方面的相关内容,此处不再详述。
62.第九方面,本技术实施例提供一种车辆通信的装置,示例性的,该装置可以包括:
63.接收模块,用于接收来自目标领航车的切换请求消息;发送模块,用于响应于所述切换请求消息,向所述目标领航车发送切换响应消息,所述切换请求响应消息用于指示所述目标领航车进行领航车切换;或者,
64.发送模块,用于向目标领航车发送切换请求消息;接收模块,用于接收与所述切换请求消息对应的切换响应消息,所述切换响应消息用于指示所述原领航车进行领航车切换;
65.处理模块,进行领航车切换,得到更新后的车队。
66.另外,该方面中,通信装置其他可选的实施方式可参见上述第三方面的相关内容,此处不再详述。
67.第十方面,本技术实施例提供一种车辆通信装置,示例性的,该装置包括:
68.发送模块,用于向原领航车发送切换请求消息;接收模块,用于接收与所述切换请求消息对应的切换响应消息,所述切换响应消息用于指示所述目标领航车进行领航车切换;处理模块,用于进行领航车切换,得到更新后的车队;或者,
69.接收模块,用于接收来自原领航车的切换请求消息;发送模块,用于响应于所述切换请求消息,向原领航车发送切换响应消息,所述切换响应消息用于指示所述原领航车进行领航车切换。
70.另外,该方面中,通信装置其他可选的实施方式可参见上述第四方面的相关内容,此处不再详述。
71.第十一方面,本技术实施例提供一种车辆通信的装置,该装置可以用于实现服务器的功能。示例性的,该装置可以包括:
72.接收模块,用于接收车队创建通知消息;所述车队创建通知消息用于指示领航车已创建车队;所述车队创建通知消息包括所述车队的标识和所述车队内的车辆标识;
73.发送模块,用于响应于所述车队创建通知消息,发送第一响应消息;所述第一响应消息用于指示所述领航车获取第一会话密钥,所述第一会话密钥用于对所述车队中的车辆之间的广播信息进行加密。
74.另外,该方面中,通信装置其他可选的实施方式可参见上述第五方面的相关内容,此处不再详述。
75.第十二方面,本技术实施例提供一种车辆通信装置,示例性的,该装置包括:
76.发送模块,用于发送车队创建通知消息;所述车队创建通知消息用于指示领航车已创建车队;所述车队创建通知消息包括所述车队的标识和所述车队内的车辆标识;
77.接收模块,用于与所述车队创建通知消息对应的接收第一响应消息;所述第一响应消息携带第一会话密钥;所述第一会话密钥用于对车辆之间的广播信息进行加密。
78.另外,该方面中,通信装置其他可选的实施方式可参见上述第六方面的相关内容,此处不再详述。
79.第十三方面,本技术实施例提供了一种服务器,该服务器包括处理器,处理器用于执行上述第五方面以及上述第五方面任一可能的设计中所述的方法。
80.在一种可能的设计中,服务器为单服务器或由多个子服务器构成的服务器集群,当服务器为由多个子服务器构成的服务器集群时,多个子服务器联合执行上述第五方面以及上述第五方面任一可能的设计中所述的方法。
81.第十四方面,本技术实施例提供了一种车辆,该车辆可以包括处理器,处理器用于执行上述第一方面至第四方面、第六方面,以及上述第一方面至第四方面、第六方面任一可能的设计中所述的方法。
82.第十五方面,本技术实施例提供了一种芯片系统,该芯片系统包括至少一个处理器,当程序指令在至少一个处理器中执行时,使得上述第一方面至第六方面以及上述第一方面至第六方面可选的设计中任一所述的方法得以实现。
83.在一种可能的设计中,该芯片系统还包括通信接口,通信接口用于输入或输出信息。
84.在一种可能的设计中,该芯片系统还包括存储器,该存储器通过通信接口耦合处理器,用于存储上述指令,以便处理器通过通信接口读取存储器中存储的指令。
85.在一种可能的设计中,上述处理器可以为处理电路,本技术对此不作限定。
86.第十六方面,本技术实施例还提供了一种包括指令的计算机程序产品,当其在上述装置上运行时,以执行如上述第一方面至第六方面以及上述第一方面至第六方面可选的设计中任一所述的方法得以实现。
87.第十七方面,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当计算机程序被运行时,实现如上述第一方面至第六方面以及上述第一方面至第六方面可选的设计中任一所述的方法。
88.上述第七方面至第十七方面的有益效果,具体请参照上述第一方面至第六方面中相应设计可以达到的技术效果,这里不再重复赘述。
附图说明
89.图1为本技术实施例提供的一种系统架构示意图;
90.图2为本技术实施例提供的另一种系统架构示意图;
91.图3为本技术实施例一提供的一种车辆通信的方法流程示意图;
92.图4为本技术实施例一提供的另一种车辆通信的方法流程示意图;
93.图5为本技术实施例一提供的另一种车辆通信的方法流程示意图;
94.图6为本技术实施例二提供的一种车辆通信的方法流程示意图;
95.图7为本技术实施例二提供的另一种车辆通信的方法流程示意图;
96.图8为本技术实施例二提供的另一种车辆通信的方法流程示意图;
97.图9为本技术实施例二提供的另一种车辆通信的方法流程示意图;
98.图10为本技术实施例提供的一种车辆通信装置的结构示意图;
99.图11为本技术实施例提供的另一种车辆通信装置的结构示意图;
100.图12为本技术实施例提供的一种芯片系统的结构示意图。
具体实施方式
101.首先,对本技术实施例中涉及的部分用语进行解释说明,以便于理解。
102.1)证书(certificate):指数字证书,是一个经证书认证中心(certificate authority,ca)数字签名的包含公开密钥拥有者信息以及公开密钥的文件,用于通信双方的身份认证。证书一般包含证书版本号(version)、序列号(serial number)、签名算法标识符(signature)、颁发者名称(issuer)、主体公钥信息(subject public key info)、有效期(validity)等信息;还可以包含颁发者的标识符(issuer unique identifier)、主体标识符(subject unique identifier)以及其他的扩展信息(extensions)。本技术实施例涉及车辆的证书,该证书对应一个公钥和私钥,进而在车辆之间通信的过程中,车辆可以利用这证书的公钥和私钥进行相应的加密和解密操作。
103.2)签名信息(certificate):指数字证书,是一个经证书认证中心(certificate authority,ca)数字签名的包含公开密钥拥有者信息以及公开密钥的文件,用于通信双方的身份认证。本技术实施例中的签名信息是用于验证车辆的身份信息。
104.3)领航车:在编队行驶的车队中用于管理车队内任一车辆的车辆信息,例如,车辆标识、车辆编号或车辆证书等。在一些实施例中,领航车还用于确定会话密钥,并将会话密钥发送至车队内的其他车辆,以使其他车辆使用会话密钥进行加密通信。
105.4)目标车辆:在一些实施例中,目标车辆为待入队的自由车。在另一些实施例中,目标车辆为申请出队跟随车。目标车辆,主要用于和领航车交互,确定会话密钥,并使用会话密钥进行加密通信。
106.5)跟随车:是指在车队内跟随领航车进行行驶的车辆。
107.6)自由车:是指车队外的未加入车队的车辆。
108.7)服务器:用于和领航车进行信息交互,实现对车队的管理,包括但不限于:预先配置所管理的车队的证书、车队中各组员车辆的车辆信息,为车队中的每一车辆制定车辆编号,示例性地,车辆编号为连续且不重复的正整数。比如,车辆编号为1,2,3
…
n,n为正整数,车队中的每一车辆的车辆编号不同。还可以与车队中的车辆进行通信,例如,领航车辆向应用服务器发送车队创建通知,进而服务器可以实现对车队信息(车队中的每一车辆的车辆信息、编号和证书等信息)。示例性地,车辆与应用服务器之间的通信方式可以是v2x通信方式。示例性地,该服务器可以为车辆网应用服务器(v2x application server,v2x as)。
109.8)pc5(直连通信接口):终端与终端之间的通信接口,即车、人、道路基础设施之间的短距离直接通信接口;其特点是:通过直连、广播、网络调度的形式实现低时延、高容量、高可靠的通信。
110.本技术实施例中的术语“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a和b和c。
111.以及,除非有相反的说明,本技术实施例提及“第一”、“第二”等序数词是用于对多
个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一通知消息和第二通知消息,只是为了区分不同的通知消息,而并不是表示这两种通知消息的内容、优先级或者重要程度等的不同。
112.此外,本技术实施例和权利要求书及附图中的术语“包括”和“具有”不是排他的。例如,包括了一系列步骤或模块的过程、方法、系统、产品或设备,不限定于已列出的步骤或模块,还可以包括没有列出的步骤或模块。
113.为了实现车辆之间的安全通信,本技术实施例提供一种车辆通信方法及装置,在该方法中,领航车和目标车辆进行通信交互,以及利用目标车辆的证书的公钥对第一会话密钥进行加密传输,使得目标车辆可以安全地获取到会话密钥,进而有效提升密钥传输的安全性和可靠性,进而使得车辆之间可以安全通信,从而降低车辆之间的机密信息被窃取的风险。该方法中详细的技术方案请参见下文的实施例一。
114.为了满足不同通信场景中的车辆之间的安全通信,本技术实施例还提供了另一种车辆通信方法及装置,在该方法中,领航车和服务器进行通信交互,获取第一会话密钥,并基于第一会话密钥对广播信息进行加密传输,进而有效提升密钥传输的安全性和可靠性,进而使得车辆之间可以安全通信,且第一会话密钥由服务器生成,进而可以有效减少队内其他车辆获取会话密钥的时延。该方法中详细的技术方案请参见下文的实施例二。
115.在详细介绍本技术实施例提供的技术方案之前,首先对本技术实施例所适用的系统架构进行介绍。
116.示例性的,图1示出了本技术实施例适用的一种系统架构示意图。
117.如图1所示,该系统架构包括领航车1、跟随车2、跟随车3、跟随车4和自由车5。
118.其中,领航车1、跟随车2、跟随车3和跟随车4组成了一支车队,跟随车2、跟随车3和跟随车4在领航车1的带领下进行行驶;任意两车之间可以通过通信网络建立通信连接,进行通信交互。
119.其中,领航车1可以生成第一会话密钥,并将该第一会话密钥加密传输给跟随车2、跟随车3和跟随车4,进而跟随车2、跟随车3和跟随车4可以根据该第一会话密钥对它们之间的广播信息进行加密传输,以提升车辆之间通信的安全性。
120.其中,自由车5是该车队以外的自由车。
121.在一种可能的实施方式中,领航车1可以和自由车5进行通信交互。例如,自由车5可以向领航车1发送包含自由车5的证书的入队请求消息,领航车1响应于该请求消息,领航车利用自由车5的证书的公钥将第一会话密钥加密传输给自由车5,以及将领航车1的领航车的证书发送给自由车5,以使自由车5入队。
122.应理解,上述车辆中均设置有车载通信设备,不同车辆之间的通信交互,可以理解为不同车载通信设备之间的交互。
123.应理解,图1中所示出的两个车辆仅为一种示例,不作为本技术的限定。在实际应用中,一个车队中可以包括更多的车辆,本技术对车队中车辆的数量不做限定。另外,图1所示的架构可以应用到多种通信场景中,例如,第五代(the 5th generation,5g)通信系统、未来的第六代通信系统和演进的其他通信系统、第四代(the 4th generation,4g)通信系统、车到万物(vehicle to everything,v2x)、长期演进-车联网(lte-vehicle,lte-v)、车到车(vehicle to vehicle,v2v)、车联网、机器类通信(machine type communications,
mtc)、物联网(internet of things,iot)、长期演进-机器到机器(lte-machine to machine,lte-m)、机器到机器(machine to machine,m2m)等通信场景中,本技术对此不作限定。
124.在一些实施例中,本技术实施例适用的系统架构中还可以包括服务器。示例性的,图2示出了本技术实施例适用的另一种系统架构示意图。
125.如图2所示,服务器6可以和车队中的任意车辆进行通信交互。
126.在一种可能的实施方式中,服务器6可以接收来自领航车1的车队创建通知消息,并响应于车队创建通知消息,向领航车1发送第一会话密钥,以使领航车1根据第一会话密钥对车辆与车辆之间需要交互的数据进行加密,以此实现车辆之间的安全通信。
127.以上介绍了本技术实施例适用的系统架构,以下介绍本技术实施例涉及的场景。
128.1、创建车队场景
129.静止或行驶状态的自由车5,向预设行驶区域内的其他车辆发起广播信息“创建车队”,在接收到其他车辆的确认指令之后,自由车5的角色变换为领航车,并向其他车辆广播领航车的信息。
130.2、加入车队场景
131.自由车5接收到领航车1的组队信息后,如果想要加入车队,则向领航车发起入队请求消息;领航车1接收到自由车5的入队请求消息后,确认是否让自由车5加入车队。如果接受自由车5为成员,则领航车1将车队成员管理信息中车队申请状态置为确认同意加入车队状态,并在车队信息列表中增加自由车5的车辆标识,并向队内其他车辆广播更新后的车队状态;自由车5接收到领航车1广播的确认同意加入该车队的回复,则将自由车5设置行驶状态为加入车队状态,广播状态信息,并加入车队后进行跟驰。此时自由车5的属性及角色转变为跟随车,将自身的行驶状态设置为跟驰状态,并广播自身的状态信息。若领航车1不同意自由车5加入该车队,则不理会该自由车5,自由车5的角色继续保持自由车类型。
132.3、离开车队场景
133.跟随车2向领航车1发送出队申请消息,领航车1接收到出队申请消息后,同意跟随车2出队,向跟随车2发送出队响应信息;跟随车2在收到该响应消息后,将车辆行驶状态设置为离队,并进行广播,直到跟随车2完全离开车队,设置自身角色为自由车;领航车1确认跟随车2可以离开车队,则将跟随车2的车辆标识移出车队信息列表中,并加入到离队列表中。
134.4、领航车切换场景。
135.在领航车切换场景中,领航车1可以向跟随车2发送领航车切换请求消息,并在接收到跟随车2的确认响应之后,进行领航车切换;或者,跟随车2可以向领航车1发送领航车切换请求消息,并在接收到领航车a的确认响应之后,进行领航车切换。
136.上述自由车5、跟随车2、领航车1仅仅为结合图1给出的示例性描述,本技术实施例对此不作限定。
137.以上介绍了本技术实施例涉及的应用场景,下面结合具体的示例介绍本技术实施例提供的技术方案。
138.【实施例一】
139.图3示出了本技术实施例一提供的一种车辆通信的方法,该方法可以应用于图1所
示的系统架构中,该方法主要涉及目标车辆请求入队的场景,该方法包括以下流程:
140.s301、目标车辆向领航车发送入队请求消息,领航车接收该入队请求消息。
141.其中,入队请求消息中携带有目标车辆的证书。
142.应理解,目标车辆的证书为车辆证书颁发机构为该目标车辆颁发的,用于唯一标识该目标车辆的合法身份。其中,目标车辆的证书可以是车辆管理人员预配置在目标车辆中的,也可以是目标车辆与该车辆证书颁发机构进行通信交互获得的,本技术实施例不作限定。
143.s302、领航车向目标车辆发送入队响应消息,目标车辆接收该入队响应消息。
144.其中,该入队响应消息携带有第一密文、目标车辆的证书对应的第一标识和领航车的证书。领航车的证书可以用于验证领航车的身份。所述第一标识用于指示目标车辆根据其自身的证书的私钥对第一密文进行解密以获取第一会话密钥,以及获取领航车的证书。其中,所述第一标识可以是目标车辆的证书对应的hashid。
145.在一种可能的实施方式中,领航车可以根据目标车辆的证书的公钥对第一会话密钥进行加密得到第一密文。如此,有效实现第一会话密钥的安全传输,有效降低第一会话密钥被窃取的风险。
146.需要说明的是,上述第一会话密钥可以是领航车预先生成并存储在本地的,也可以是领航车在接收到目标车辆的入队请求消息之后生成的,这里不作具体的限制。
147.在一种可能的实施方式中,领航车在生成第一会话密钥之前,还需要创建车队。其中,领航车创建车队的过程可以是:领航车根据车辆的位置、行驶方向等信息挑选该领航车预设区域内的1个或多个自由车与该领航车组成车队,领航车向该一个或多个自由车发送车队创建请求;该一个或多个自由车同意组建车队后,向领航车发送确认响应消息,领航车接收该确认响应消息,并为一个或多个自由车编制在车队中的编号。应理解的是,领队车还可以存储有车队中各车辆的证书、车辆的标识等信息。示例性地,车辆的标识可以是车辆识别号码(vehicle identification number,vin),vin可以是生产商为该车辆分配的,每个车辆具有专属的vin。
148.需要说明的是,上述组建车队的方式仅为举例,不应构成对本技术实施例组建车队的限定,任何组建车队的方式均适用于本技术实施例。
149.s303、目标车辆根据其自身的证书的私钥对第一密文进行解密,以获取第一会话密钥。
150.在一种可能的实施方式中,第一会话密钥可以包括加密密钥和加密算法,进而目标车辆通过解密获得第一会话密钥之后,就可以基于该加密密钥和加密算法,对其与车队内的其他车辆之间的广播信息进行加密。
151.在一种可能的实施方式中,第一会话密钥可以包括加密密钥凭据和加密算法,进而领航车可以将第一会话密钥发送至目标车辆之后,目标车辆根据预设的算法对加密密钥凭据进行处理,生成加密密钥;再基于该加密密钥和加密算法,对其与车队内的其他车辆之间的广播信息进行加密。其中,预设算法可以是sm4,aes,3des等,本技术实施例不作限制。
152.s304、目标车辆获取领航车的证书。
153.在一种可能的实施方式中,目标车辆获取到领航车的证书之后可以把该证书保存在本地,以便后续目标车辆接收到领航车的信息之后,可以根据该证书验证领航车的身份。
154.在图3所示的实施例中,作为待入队车辆目标车辆向领航车发起入队请求,领航车利用目标车辆的证书的公钥将第一会话密钥加密传输给目标车辆。如此,有效提高密钥传输的安全性和可靠性,从而有效实现车辆之间的安全通信。
155.图4示出了本技术实施例一提供的另一种车辆通信的方法,该方法可以应用于图1所示的架构中,该方法涉及目标车辆请求出队的场景,该方法包括以下流程:
156.s401、目标车辆向领航车发送出队请求消息,领航车接收该出队请求消息。
157.其中,该出队请求消息中包括目标车辆的车辆标识。
158.在一种可能的实施方式中,领航车接收到该出队请求消息,将目标车辆的车辆标识从车队内的车辆信息列表中删除,更新车队中的车辆列表。示例性的,领航车所在车队的原始车队列表如表1所示,领航车将目标车辆的车辆标识从车队中的车辆列表中删除之后,得到如表2所示的更新后的车队列表。
159.表1
[0160][0161]
表2
[0162][0163]
s402、领航车响应于出队请求消息,向目标车辆发送出队响应消息,目标车辆接收该出队响应消息。
[0164]
s403、目标车辆执行出队操作。
[0165]
在一种可能的实施方式中,目标车辆执行出队操作的过程可以是:将自身的车辆行驶状态设置为离队状态,并向车队里的所有车辆进行广播,并将自身角色为设置为自由车。
[0166]
s404、领航车生成第二会话密钥,根据其所在车队中的组员车辆的证书的公钥对第二会话密钥进行加密,得到第二密文。
[0167]
应理解,第二密文可以理解为一个或多个密文,每个密文可以是领航车可以根据各个组员车辆的证书的公钥对第二会话密钥进行加密得到的。
[0168]
例如,该车队中有组员车辆1、组员车辆2、组员车辆3,则第二密文为密文1、密文2、密文3,其中,密文1是根据组员车辆1的证书的公钥进行加密得到的,密文2是根据组员车辆2的证书的公钥进行加密得到的,密文3是根据组员车辆3的证书的公钥进行加密得到的。
[0169]
s405、领航车基于第一签名信息、所述领航车所在车队中的其他车辆的证书对应的第二标识和第二密文,生成第一通知消息,并向其他车辆发送第一通知消息,其他车辆接收该第一通知消息。
[0170]
其中,所述其他车辆的证书对应的第二标识用于指示所述其他车辆根据其的证书的私钥对所述第二密文进行解密,以获取所述第二会话密钥。其中,所述第二标识可以其他车辆的证书对应的hashid。
[0171]
在一种可能的实施方式中,第一签名信息是领航车使用领航车对应证书的私钥进行签名操作后得到的。其中,本技术实施例对签名算法不作限定,以下示例性地列举几种,签名算法可以是ecdsa或基于sm2的签名算法。
[0172]
s406、其他车辆根据领航车的证书和第一签名信息验证领航车的身份。
[0173]
应理解,其他车辆是指领航车所在车队中的跟随车,具体可以是一个或多个车辆,本技术实施例不作限制。
[0174]
举例来说,假设领航车所在车队中有跟随车2、跟随车3和跟随车4,则跟随车2、跟随车3和跟随车4接收到第一通知消息后,均可以分别根据领航车的证书和第一签名信息验证领航车的身份。其中,每个跟随车验证领航车身份的过程均类似。下面以一个跟随车为例,对跟随车2对领航车身份进行验证的流程进行示例性描述。
[0175]
示例性的,跟随车2对领航车身份进行验证的流程包括:跟随车2获取领航车的证书中包含的该领航车的公钥,并使用该领航车的公钥对第一签名信息进行解密,若解密失败,则领航车的身份未验证通过;若解密成功,则领航车的身份验证通过,继续执行s407。
[0176]
s407、其他车辆根据自身的证书的私钥对第二密文进行解密,以获取第二会话密钥。
[0177]
应理解,其他车辆中跟随车的数量与第二密文中密文的数量相同,每个跟随车对应一个密文。若其他车辆中涉及多个跟随车,则每个跟随车根据其自身的证书的私钥,对其对应的密文进行解密。
[0178]
在一种可能的实施方式中,其他车辆获取到第二会话密钥之后,其他车辆还可以向领航车发送密钥更新响应消息;领航车接收该密钥更新响应消息,确认车队内所有车辆都正确响应后,向组员车辆发送第一指示消息,以指示组员车辆使用第二会话密钥对pc5口的广播信息进行加密传输。
[0179]
在图4所示的实施例中,领航车在确定车队内的目标车辆离队之后,可以生成新的会话密钥(即第二会话密钥),并将新的密钥下发到车队内的其他组员车辆,以使组员车辆根据新的会话密钥对车辆之间的广播信息进行加密。如此,有效实现车辆之间的安全通信。
[0180]
图5示出了本技术实施例一提供的另一种车辆通信的方法,该方法可以应用于图1所示的架构中,该方法主要涉及领航车切换场景,该方法包括以下流程:
[0181]
s501a、目标领航车向原领航车发送切换请求消息,原领航车接收该切换请求消息。
[0182]
其中,切换请求消息用于指示目标领航车请求切换领航车,该切换请求消息中携带有目标领航车的车辆标识。
[0183]
应理解,原领航车可以理解为当前车队的领航车,目标领航车可以进行领航车切换后的得到的车队的领航车。
[0184]
s502a、原领航车响应于该切换请求消息,向目标领航车发送切换响应消息,目标领航车接收该切换响应消息。其中,该切换响应消息用于指示目标领航车进行领航车切换。
[0185]
s503a、目标领航车进行领航车切换。
[0186]
在一种可能的实施方式中,目标领航车进行领航车切换,将自己的车辆行驶状态设置为带队状态,并将自身角色设置为领队车。
[0187]
上述s501a-s503a可以替换为s501b-s503b。也就是说,领航车切换可以是目标领
航车发起的,也可以是原领航车发起的。
[0188]
s501b、原领航车向目标领航车发送切换请求消息,目标领航车接收该切换请求消息。其中,切换请求消息用于指示原领航车请求切换领航车。
[0189]
s502b、目标领航车响应于切换请求消息,向原领航车发送切换响应消息,原领航车接收该切换响应消息。
[0190]
其中,该切换响应消息用于指示原领航车进行领航车切换。
[0191]
s503b、原领航车进行领航车切换。
[0192]
在一种可能的实施方式中,原领航车进行领航车切换,将自己的车辆行驶状态设置为跟驰状态,并将自身角色设置为跟随车;以及将目标领航车的车辆行驶状态设置为带队状态,目标领航车的角色设置为领航车。
[0193]
s504、原领航车向其他车辆发送第二通知消息。
[0194]
其中,第二通知消息包括第二签名信息和目标领航车的证书,第二签名信息用于指示原领航车的身份信息。应理解,这里的其他车辆是指原领航车所在车队中的跟随车,可以是一个或多个,本技术实施例不作限制。当车队中有多个跟随车时,这里的第二通知消息为原领航车发出的广播消息。
[0195]
s505、其他车辆根据原领航车的证书和第二签名信息验证原领航车的身份,以及获取目标领航车的证书。
[0196]
在一种可能的实施方式中,第二签名信息是根据原领航车的证书的私钥生成的,进而其他车辆可以根据原领航车的证书的公钥对第二签名信息进行解密,若解密成功,则原领航车的身份验证成功,其他车辆获取目标领航车的证书,并保存在本地;若解密失败,则原领航车的身份验证失败,则其他车辆禁止保存目标领航车的证书。
[0197]
s506、目标领航车生成第三会话密钥。
[0198]
s507、目标领航车向其他车辆发送第三通知消息,第三通知消息包括第三签名信息、所述目标领航车的证书对应的第三标识和第三密文,其他车辆接收第三通知消息。
[0199]
其中,第三标识可以用于指示更新后的车队中的除目标领航车以外的其他车辆根据第一会话密钥对第三密文进行解密,以获取第三会话密钥。第三标识可以是目标领航车的证书对应的hashid。
[0200]
s508、其他车辆根据第三签名信息和目标领航车的证书,验证目标领航车的身份。
[0201]
在一种可能的实施方式中,第三签名信息是根据目标领航车的证书的私钥生成的,进而其他车辆可以根据目标领航车的证书的公钥对第三签名信息进行解密,若解密成功,则目标领航车的身份验证成功,则其他车辆继续执行s509;若解密失败,则目标领航车的身份验证失败。
[0202]
s509、其他车辆根据第一会话密钥对第三密文进行解密,获取第三会话密钥。
[0203]
在一种可能的实施方式中,第三密文是目标领航车根据第一会话密钥对第三会话密钥进行加密得到的。
[0204]
s510、其他车辆向目标领航车发送密钥更新响应消息,目标领航车接收该密钥更新响应消息。
[0205]
s511、目标领航车向其他车辆发送第三指示信息,其他车辆接收该第三指示信息。
[0206]
其中,第三该指示信息用于指示其他车辆基于第三会话密钥,对车辆之间的广播
信息进行加密。示例性的,若其他车辆为跟随车2、跟随车3和跟随车4,跟随车2接收到第三指示信息之后,可以基于第三会话密钥对跟随车2和跟随车4之间的广播信息进行加密传输,还可以对跟随车2准备广播给跟随车3、跟随车4和目标领航车的广播消息进行加密传输。
[0207]
在图5所示的实施例中,原领航车和目标领航车均可以发起领航车切换请求,并且在领航车成功切换之后,目标领航车还可以生成新的会话密钥(即第三会话密钥),并且利用旧的会话密钥(即第一会话密钥)将新的会话密钥加密传输给车队内的其他车辆。如此,有效降低会话密钥被窃取的风险,进而有效实现车辆之间的安全通信。
[0208]
【实施例二】
[0209]
图6示出了本技术实施例二提供的一种车辆通信的方法,该方法可以应用于图2所示的系统架构中,该方法主要涉及领航车创建车队的场景,该方法包括以下流程:
[0210]
s600、领航车创建车队。
[0211]
在一种可能的实施方式中,领航车可以向服务器发送车队组建请求,以指示服务器为领航车组建车队,例如,服务器还可以根据车辆的位置、行驶方向等信息挑选该领航车预设区域内的一个或多个车辆与该领航车组成车队。
[0212]
在一种可能的实施方式中,领航车自身组建车队,领航车根据车辆的位置、行驶方向等信息挑选该领航车预设区域内的一个或多个车辆与该领航车组成车队,并执行s601,向服务器发送车队创建通知消息。
[0213]
s601、领航车向服务器发送车队创建通知消息,服务器接收该车队创建通知消息。
[0214]
其中,车队创建通知消息中包括车队标识和车队内车辆的标识。应理解,车队内车辆的标识可以是车辆标识和/或车辆编号。
[0215]
示例性地,若车队中包括4辆车,则车队内车辆的标识包括车辆标识(vin_1,vin_2,vin_3,vin_4)和车辆编号(1,2,3,4),其中,车辆标识与车辆编号按照排列顺序一一对应。该车队内车辆的标识表征可以为:车辆标识为vin_1的车辆的车辆编号为1,车辆标识为vin_2的车辆的车辆编号为2,依次类推。
[0216]
再示例性地,领航车向服务器发送的车队内车辆的标识可以是车辆标识与车辆编号的组信息,例如:(vin_1,1),(vin_2,2),(vin_3,3)和(vin_4,4)。
[0217]
需要说明的是,上述车辆编号仅为举例,本技术对车辆编号的具体数值不作限定。
[0218]
s602、服务器生成第一会话密钥。
[0219]
在一种可能的实施方式中,服务器存储有各个车辆的证书,服务器接收到车队创建通知消息之后,可以根据车队标识和车队内车辆的标识,对车队内的各个车辆的身份信息一一进行验证,在验证通过时,执行s602,生成第一会话密钥;若该车队内出现一个车辆未验证通过,则服务器向领航车发送车队创建失败响应消息。
[0220]
在一种可能的实施方式中,服务器可以是根据预设的算法的生成第一会话密其中,预设的算法可以包括但不限于对称算法(如sm4,aes等)、随机数生成算法、时间生成算法等任一算法。
[0221]
s603、服务器向领航车发送第一会话密钥,领航车接收第一会话密钥。
[0222]
在一种可能的实施方式中,领航车接收到第一会话密钥之后,可以根据其所在车队中各个跟随车的证书对应的公钥对第一会话密钥进行加密传输给各个跟随车,以使各个
跟随车辆可以对车辆之间的广播信息进行加密。
[0223]
在另一种可能的实施方式中,服务器还可以直接向领航车所在车队中的每个跟随车发送第一会话密钥,并利于各个跟随车的证书对应的公钥对第一会话密钥进行加密传输给对应的跟随车,以使跟随车可以对车辆之间的广播信息进行加密。
[0224]
在图6所示的实施例中,领航车向服务器发送车队创建通知消息,进而服务器可以验证车队中各个车辆的身份信息,并在验证通过时,对生成第一会话密钥,并将第一会话密钥下发到领航车,以使领航车根据第一会话密钥对车辆之间的广播信息进行加密。如此,有效实现车辆之间的安全通信,且缩短了在组建车队时对车队的成员车辆进行验证的时延,并且提高了会话密钥传输的安全性和可靠性,实现了车辆之间的安全通信。
[0225]
图7示出了本技术实施例二提供的一种车辆通信的方法,该方法可以应用于图2所示的系统架构中,该方法主要涉及自由车申请入队的场景,该方法包括以下流程:
[0226]
s700、领航车确定第一车辆请求入队。
[0227]
示例性的,第一车辆以自由车5为例,领航车接收到自由车5的入队请求消息,进而可以响应于该消息,确定自由车5想要加入领航车所在车队。
[0228]
s701、领航车向服务器发送入队请求通知消息,服务器接收该入队请求通知消息;入队请求通知消息包括车队标识和第一车辆的车辆标识。
[0229]
在一种可能的实施方式中,服务器本地存储有第一车辆的证书,进而服务器可以根据第一车辆的证书和第一车辆的标识对第一车辆的身份信息进行验证,在验证通过时,执行s702,向第一车辆发送第一会话密钥。
[0230]
s702、服务器向第一车辆发送第一会话密钥,第一车辆接收第一会话密钥。
[0231]
在一种可能的实施方式中,第一车辆接收到第一会话密钥,可以根据第一会话密钥对其与领航车之间的广播信息进行加密,或者对其与领航车所在车队的其他跟随车之间的广播信息进行加密。
[0232]
在图7所示的实施例中,服务器可以实现对车队的会话密钥的管理,在确定有待入队车辆时,领航车可以向服务器发送入队请求通知消息,服务器响应该通知消息,在待入队车辆的身份验证通过时,向待入队车辆发送第一会话密钥,使得待入队车辆可以使用第一会话密钥对广播信息进行加密。如此,有助于提升车辆之间的通信的安全性和可靠性。
[0233]
图8示出了本技术实施例二提供的另一种车辆通信的方法,该方法可以应用于图2所示的系统架构中,该方法主要涉及跟随车申请出队的场景,该方法包括以下流程:
[0234]
s800、领航车确定第二车辆请求出队。
[0235]
示例性的,第二车辆以跟随车4为例,领航车接收到跟随车4的出队请求消息,进而可以响应于该消息,确定跟随车4满足出队条件(例如,无正在执行的作业任务),则同意跟随车4出队。
[0236]
s801、领航车向服务器发送出队请求通知消息,服务器接收该出队请求通知消息;入队请求通知消息包括车队标识和第二车辆标识。
[0237]
在一种可能的实施方式中,服务器接收该出队请求通知消息,将第二车辆标识从车队中车辆列表中移除,得到更新后的车辆列表,并执行s802。
[0238]
s802、服务器生成第二会话密钥。
[0239]
s803、服务器向其他车辆发送第二会话密钥,其他车辆接收第二会话密钥。
[0240]
应理解,这里的车辆是指更新后的车队中除领航车以外的其他跟随车。
[0241]
在一种可能的实施方式中,其他车辆接收到第二会话密钥,可以根据第二会话密钥对其与领航车之间的广播信息进行加密,或者对其与其他跟随车之间的广播信息进行加密。
[0242]
在图8所示的实施例中,服务器可以实现对车队的会话密钥的管理,在确定有车辆出队后,向更新后的车队发送更新后的会话密钥(即第二会话密钥),使得更新后的车队中的其他车辆可以使用第二会话密钥对广播信息进行加密。如此,有助于提升车辆之间通信的安全性和可靠性。
[0243]
图9示出了本技术实施例二提供的另一种车辆通信的方法,该方法可以应用于图2所示的系统架构中,该方法主要涉及领航车切换的场景,该方法包括以下流程:
[0244]
s900、领航车确定目标领航车。
[0245]
其中,领航车确定目标领航车有多种实施方式,包括但不限于以下方式:
[0246]
方式1,领航车向目标领航车发送切换请求消息,并接收与切换请求消息对应的切换响应消息,根据该切换响应消息确定目标领航车。
[0247]
方式2,领航车来自目标领航车接收切换请求消息,并在确定目标领航车满足领航车切换条件时,确定该目标领航车。
[0248]
s901、领航车向服务器发送领航车切换通知消息,服务器接收该领航车切换通知消息。领航车切换通知消息包括车队标识和目标领航车的车辆标识。
[0249]
在一种可能的实施方式中,服务器本地存储有目标领航车的证书,进而服务器可以根据目标领航车的证书对目标领航车的身份信息进行验证,在验证通过时,执行s902,进行领航车切换。
[0250]
s902、服务器生成根据车队标识和目标领航车的车辆标识,进行领航车切换,并更新车队。
[0251]
s903、服务器生成第三会话密钥;
[0252]
s904、服务器向其他车辆发送第三会话密钥。
[0253]
在图9所示的实施例中,服务器可以实现对车队的会话密钥的管理,在接收领航车切换通知消息后,根据车队的标识和目标领航车的车辆标识,进行领航车切换;生成第三会话密钥,并向车队中的其他车辆发送第三会话密钥,使得更新后的车队中的其他车辆可以使用第三会话密钥对广播信息进行加密。如此,及时更新会话密钥,有助于提升车辆之间通信的安全性和可靠性。
[0254]
图10示出了本技术上述实施例中所涉及的一种车辆通信装置的一种可能的结构示意图,该装置1000可以用于实现上述图1或图2中所示的车辆的功能。
[0255]
示例性的,装置1000可以包括:
[0256]
接收模块1001,用于接收入队请求消息;所述入队请求消息包括目标车辆的证书,所述入队请求消息用于指示所述目标车辆请求入队;
[0257]
发送模块1002,用于响应于所述入队请求消息,向所述目标车辆发送入队响应消息;
[0258]
其中,所述入队响应消息包括第一密文、所述目标车辆的证书对应的第一标识和领航车的证书,所述第一密文是所述领航车根据所述目标车辆的证书的公钥对第一会话密
钥进行加密得到的,所述第一标识用于指示所述目标车辆根据其自身的证书的私钥对所述第一密文进行解密以获取所述第一会话密钥,以及获取所述领航车的证书。其中,第一标识可以是目标车辆的证书对应的hashid。
[0259]
在一种可能的实施方式中,装置1000还包括处理模块1003,在接收模块1001,用于接收入队请求消息之前,处理模块1003还用于:生成所述第一会话密钥,所述第一会话密钥用于对车辆之间的广播信息进行加密。
[0260]
在一种可能的实施方式中,接收模块1001还用于接收出队请求消息;所述出队请求消息用于指示所述目标车辆请求出队;发送模块1002还用于响应于所述出队请求消息,发送出队响应消息;所述出队响应消息用于指示所述目标车辆执行出队操作。
[0261]
在一种可能的实施方式中,发送模块1002在发送出队响应消息之后,发送第一通知消息;其中,所述第一通知消息包括第一签名信息、所述领航车所在车队中的其他车辆的证书对应的第二标识和第二密文,所述第一签名信息用于指示所述领航车的身份信息,所述第二密文是所述领航车根据其所在车队中的其他车辆的证书的公钥对第二会话密钥进行加密得到的;所述第二标识用于指示所述其他车辆根据其的证书的私钥对所述第二密文进行解密,以获取所述第二会话密钥,第一通知消息用于指示其他车辆根据领航车的证书和第一签名信息,验证领航车的身份,以及根据其他车辆的证书的私钥对第二密文进行解密,以获取第二会话密钥。
[0262]
在一种可能的实施方式中,处理模块1003还用于在发送模块1002发送第一通知消息之前,生成第二会话密钥;所述第二会话密钥用于对所述车辆之间的广播信息进行加密。
[0263]
应理解,装置1000的各个实施方式对应详细描述及取得的有益效果可参见上述图3-图9所示任一实施例的相关内容,此处不再详述。
[0264]
图11示出了本技术上述实施例中所涉及的一种车辆通信装置的一种可能的结构示意图,该装置1100可以用于实现上述图2中所示的服务器的功能。
[0265]
示例性的,装置1100可以包括:
[0266]
接收模块1101,用于接收车队创建通知消息;所述车队创建通知消息用于指示领航车已创建车队;所述车队创建通知消息包括所述车队的标识和所述车队内的车辆标识;
[0267]
发送模块1102,用于响应于所述车队创建通知消息,发送第一响应消息;所述第一响应消息用于指示所述领航车获取第一会话密钥,所述第一会话密钥用于对所述车队中的车辆之间的广播信息进行加密。
[0268]
在一种可能的实施方式中,接收模块1101还用于接收入队请求通知消息;所述入队请求通知消息用于指示第一车辆请求入队;发送模块1102还用于响应于所述入队请求通知消息,将所述第一会话密钥发送至所述第一车辆。
[0269]
在一种可能的实施方式中,接收模块1101还用于接收出队请求通知消息;所述出队请求通知消息用于指示第二车辆请求出队,所述出队请求通知消息包括所述车队的标识和所述第二车辆的车辆标识;发送模块1102还用于响应于该出队请求通知消息,根据所述车队的标识和所述第二车辆的车辆标识,确定更新后的车队,并向所述更新后的车队中的每辆车辆发送第二会话密钥;所述第二会话密钥用于对所述更新后的车队中的车辆之间的广播信息进行加密。
[0270]
在一种可能的实施方式中,装置1100还包括处理模块1103,接收模块1101还用于
接收领航车切换通知消息;所述领航车切换通知消息中包括所述车队的标识和目标领航车的车辆标识;处理模块1103用于响应于领航车切换通知消息,根据所述车队的标识和所述目标领航车的车辆标识,进行领航车切换,生成第三会话密钥,并向所述车队中的其他车辆发送第三会话密钥,所述第三会话密钥用于对所述车队中的车辆之间的广播信息进行加密。
[0271]
应理解,装置1100的各个实施方式对应详细描述及取得的有益效果可参见上述图6-图9所示任一实施例的相关内容,此处不再详述。
[0272]
本技术实施例还提供了一种车辆,该车辆可以包括处理器,处理器用于执行上述图3-图9所示任一实施例中的车辆通信方法。
[0273]
在一种可能的实施方式中,还包括存储器,用于存储计算机程序或指令。
[0274]
在一种可能的实施方式中,还包括收发器,用于接收或发送信息。
[0275]
本技术实施例还提供了一种服务器,该服务器包括处理器,处理器用于实现上述图6-图9所示实施例中的服务器的功能,以实现本技术实施例提供的车辆通信方法。
[0276]
在一种可能的实施方式中,还包括存储器,用于存储计算机程序或指令。
[0277]
在一种可能的实施方式中,还包括收发器,用于接收或发送信息。
[0278]
在一种可能的实施方式中,服务器为单服务器或由多个子服务器构成的服务器集群,当服务器为由多个子服务器构成的服务器集群时,多个子服务器联合执行上述图2中所示的服务器6的功能。
[0279]
本技术实施例还提供了一种芯片系统,请参见图12,该芯片系统1200包括至少一个处理器,当程序指令在至少一个处理器1201中执行时,使得上述图3-图9所示任一实施例中的车辆通信方法得以实现。
[0280]
在一种可能的实施方式中,该芯片系统还包括通信接口1203,通信接口用于输入或输出信息。
[0281]
在一种可能的实施方式中,该芯片系统还包括存储器1202,该存储器1202通过通信接口1203耦合处理器,用于存储上述指令,以便处理器通过通信接口1203读取存储器中存储的指令。
[0282]
应理解,本技术实施例中不限定上述处理器1201、存储器1202以及通信接口1203之间的连接介质。本技术实施例在图12中以存储器1202、处理器1201以及通信接口1203之间通过通信总线1204连接,总线在图12中以粗线表示,其它部件之间的连接方式,仅是示意性说明,并不作为限定。所述总线可以包括地址总线、数据总线、控制总线等。为了便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线等。
[0283]
本技术实施例还提供了一种包括指令的计算机程序产品,当其在上述装置上运行时,以执行如上述图3-图9所示任一实施例中的车辆通信方法。
[0284]
本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当计算机程序被运行时,实现如上述图3-图9所示任一实施例中的车辆通信方法。
[0285]
上述各实施例可以相互结合以实现不同的技术效果。
[0286]
上述本技术提供的实施例中,分别从各个设备之间交互的角度对本技术实施例提供的方法进行了介绍。为了实现上述本技术实施例提供的方法中的各功能,第一终端、第二终端与网络设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加
软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
[0287]
本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本技术各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0288]
在本技术实施例中,存储器可以是非易失性存储器,比如硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0289]
本技术实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,简称dvd))、或者半导体介质(例如,ssd)等。
[0290]
在本技术实施例中,在无逻辑矛盾的前提下,各实施例之间可以相互引用,例如方法实施例之间的方法和/或术语可以相互引用,例如装置实施例之间的功能和/或术语可以相互引用,例如装置实施例和方法实施例之间的功能和/或术语可以相互引用。
[0291]
本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。