车路协同场景下的组密钥提前下发方法、系统及存储介质转让专利

申请号 : CN202311617797.5

文献号 : CN117318944B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 程腾孟阳张强王文冲石琴

申请人 : 合肥工业大学

摘要 :

本发明涉及车联网通信技术领域,公开了车路协同场景下的组密钥提前下发方法、系统及存储介质。该方法包括以下步骤:车辆在当前路侧单元的通信范围内进行身份验证,当前路侧单元基于BB84协议并通过云服务器中的光交换机与周围路侧单元进行密钥协商,以获取周围路侧单元的组密钥。然后当前路侧单元利用不经意传输N选一模型将下一个路侧单元的组密钥提前下发给车辆。本发明能够确保路侧单元组密钥在传递过程中的绝对安全,同时提高了组秘钥的下发效率。

权利要求 :

1.车路协同场景下的组密钥提前下发方法,所述车路协同场景由云服务器、区块链、路侧单元以及能够与路侧单元通信的车辆构建而成;其特征在于,所述组密钥提前下发方法包括以下步骤:S3.车辆在当前路侧单元的通信范围内进行身份验证;

S4.当前路侧单元通过云服务器获取周围路侧单元的组密钥;

S5.当前路侧单元利用不经意传输N选一模型将下一个路侧单元的组密钥提前下发给车辆;

其中,车辆行驶进入所述下一个路侧单元的通信范围后,能够使用接收到的组密钥与所述下一个路侧单元进行加密通信;

步骤S5包括以下具体步骤:

S51.当前路侧单元为周围m个路侧单元的匿名身份和组密钥集合,依次生成相应的公私钥对,并将周围m个路侧单元的公钥发送给车辆;{pubKj,priKj}表示与第j个路侧单元相应的公私钥对,其中pubKj为公钥,priKj为私钥,j=1,2,…,m;

S52.车辆随机生成一个随机数d,判断车辆即将行驶到的下一路侧单元,利用即将行驶到的下一路侧单元的公钥对随机数d进行加密,得到密文Y,并将密文发送给当前路侧单元;

S53.当前路侧单元采用周围m个路侧单元的私钥依次对密文Y进行解密计算,将各解密计算结果分别与周围各路侧单元的匿名身份和组密钥集合进行异或运算,得到异或值集合,使用车辆公钥将异或值集合加密并发送给车辆;

S54.车辆接收到加密的异或值集合后,采用车辆私钥进行解密以得到多个异或值,随后采用随机数d分别对多个异或值进行异或运算,即车辆得到下一个路侧单元的组密钥。

2.根据权利要求1所述的车路协同场景下的组密钥提前下发方法,其特征在于,步骤S5中,在车辆行驶进入所述下一个路侧单元的通信范围的同时,所述下一个路侧单元还根据车辆的匿名身份在区块链中查询到车辆的公钥,并将车辆所需的下一批周围路侧单元的组密钥使用安全多方计算和车辆公钥加密提前下发。

3.根据权利要求1所述的车路协同场景下的组密钥提前下发方法,其特征在于,在步骤S3之前,所述组密钥提前下发方法还包括以下步骤:S1.云服务器进行初始化操作以产生系统参数,包括以下具体步骤:

2 3 3 2

S11.云服务器先选择一条椭圆曲线y=x+ax+b,且4a+27b≠0;然后选择生成元G,n为G的阶数;再选取量子随机数s为云服务器的私钥,公钥为Ppub=s·P,P为生成元G的生成点;

2 3

mod q表示y=x+ax+b对q取余,q为一个大于3的素数,a,b∈Fp,Fp表示有限域;

* l * l

S12.云服务器选择三个单向哈希函数H1:{0,1} →{0,1} 、H2:{0,1} →{0,1} 和H3:{0,* l

1}→{0,1},其中的上标“1”表示哈希函数的输出长度;

S13.云服务器发布系统参数params={a,b,q,n,P,Ppub,H1,H2,H3}。

4.根据权利要求3所述的车路协同场景下的组密钥提前下发方法,其特征在于,在步骤S3之前,所述组密钥提前下发方法还包括以下步骤:S2.车辆向云服务器进行注册登记,包括以下具体步骤:

S21.第i个车辆将自己的真实身份VIDi和密码PWi通过安全通道提供给云服务器,以请求注册登记;其中,i=1,…,u,u为车辆的总数;

S22.在收到第i个车辆的注册登记请求后,云服务器选择一个量子随机数si,并计算车辆私钥vi=H1(VIDi║si║s);同时将车辆信息{VIDi,PWi,vi}存储在数据库中,将{vi,params}发送给车辆;

S23.车辆秘密保存vi和params并以此生成自身的公钥Ppubi。

5.根据权利要求4所述的车路协同场景下的组密钥提前下发方法,其特征在于,步骤S3中,若当前路侧单元为车辆经过的第一个路侧单元时,身份验证的方法包括以下步骤:S31.车辆生成量子随机数ri和时间戳Ti,并构建认证请求消息M发送给当前路侧单元;

其中,认证请求消息M的表达式如下:

M={AIDi║Ri║Ii║Ti║MD}

* *

式中,Ri=ri·P;AIDi=H2(VIDi║Ri ║Ti)为第i个车辆的匿名身份,其中Ri =ri·vi·*Ppub,使用加密参数Ri 加密真实身份信息Ii=EnRi*(VIDi,PWi)和签名MD=H3(AIDi║Ri║Ii║Ti);En表示加密函数;

S32.当前路侧单元收到车辆的认证请求消息M后,检查时间戳和签名有效性;若消息有效,则当前路侧单元将认证请求消息M发送给云服务器;

*

S33.云服务器收到认证请求消息M后,检查时间戳和签名有效性,随后计算Ri =s·*vi·Ri,解密获得车辆的VIDi和PWi,计算和检查AIDi=H2(VIDi║Ri ║Ti),经过检查无误后将信息{AIDi,VIDi}记录在数据库,最后将回复消息{AIDi,Ppubi}发送给当前路侧单元,完成车辆在路侧单元的通信范围内的身份验证。

6.根据权利要求1所述的车路协同场景下的组密钥提前下发方法,其特征在于,步骤S4中,当前路侧单元基于BB84协议并通过云服务器中的光交换机与周围路侧单元进行密钥协商,以获取周围路侧单元的组密钥。

7.车路协同场景下的组密钥提前下发系统,其包括云服务器、区块链、路侧单元和车辆,其特征在于,所述组密钥提前下发系统应用如权利要求1至6中任一项所述的车路协同场景下的组密钥提前下发方法。

8.根据权利要求7所述的车路协同场景下的组密钥提前下发系统,其特征在于,所述云服务器包括光交换机、量子密钥分发管理模块和服务器模块;所述云服务器用于注册、生成、存储和验证车辆数字证书;

所述路侧单元包括量子随机数发生器、电子控制模块、电子控制设备和量子密钥分发管理模块;所述路侧单元用于生成路侧组密钥,获取周围路侧单元的组密钥,以及向区块链查询和写入区块;

所述车辆具备与路侧单元的通信能力;

所述区块链用于记录车辆匿名身份和车辆的映射关系。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时,实现如权利要求1至6中任意一项所述的车路协同场景下的组密钥提前下发方法的步骤。

说明书 :

车路协同场景下的组密钥提前下发方法、系统及存储介质

技术领域

[0001] 本发明涉及车联网通信技术领域,具体是车路协同场景下的组密钥提前下发方法,以及应用该方法的组密钥提前下发系统及计算机可读存储介质。

背景技术

[0002] 随着科技进步,智能网联汽车发展迅速,汽车成为可移动、可交互的智能网络终端。并且智能网联汽车在实现智能交通、智慧城市、无人驾驶方面有着举足轻重的作用。但汽车的网联化技术还存在许多难题。例如智能网联汽车的身份认证问题和组密钥的安全分发问题正越来越受到研究人员的关注,随着这些问题的解决,可以有效解决汽车信息泄露的问题。
[0003] 目前车联网中身份认证的解决方案主要基于匿名认证技术,主要包括三种方式:PKI(公钥基础设施)技术、IBS(基于身份的签名)技术、数字签名。其中,PKI(公钥基础设施)技术是一种广泛使用的加密和认证系统,可以用于车辆与RSU之间的身份认证;在PKI系统中,每个参与者都有一个唯一标识(公钥)和相应的私钥;车辆和RSU可以使用这些密钥进行加密和数字签名来实现身份验证。IBS(基于身份的签名)技术是一种密码学签名方案,与传统的公钥基础设施(PKI)和数字证书的方式不同,IBS技术基于身份信息,允许用户使用其身份信息来生成签名,而无需事先获取和维护公钥。数字签名:车辆可以使用私钥生成数字签名,对发送的消息或数据进行加密和验证。RSU(路侧单元)可以使用车辆的公钥来验证数字签名,从而确保消息的真实性和身份认证。
[0004] 上述三种方式需要CS对车辆信息进行复杂且多次的加解密,这无疑是耗费计算、存储资源的,并不适用于资源受限且对通信质量有要求的车联网节点。
[0005] 组密钥在智能网联汽车中起到保护通信安全和数据保密的作用。组密钥完整无泄漏的下发给车辆是确保车辆与RSU安全通信的基础,已有的组密钥下发方案包括:预共享密钥方案、动态密钥协商方案等。其中,预共享密钥(Pre‑shared Key)方案是一种常见的密钥分发方案,适用于RSU向车辆下发组密钥的场景。该方案的核心思想是,在车辆和RSU之间预先协商和共享一个密钥,使其成为双方之间的信任凭证。而动态密钥协商(Dynamic Key Establishment)方案是一种安全通信方案,用于在通信参与者之间动态生成和协商密钥的过程。在动态密钥协商方案中,通信参与者可以根据需要动态地生成会话密钥或组密钥,而不是事先共享密钥。通过协商过程,参与者可以相互验证身份、生成共享的密钥,并确保密钥的安全性。
[0006] 由于现有的组密钥都是实时下发,且只有车辆在RSU的通讯范围内,才能得到该RSU的组密钥,这种一对一的实时下发组密钥的方法耗时长,计算和通信开销大。这种方式使得车辆的通讯效率低,并且随着量子计算机的发展,密钥的安全传输也面临着很大的问题。

发明内容

[0007] 为了解决现有技术中在车路协同场景,组密钥的下发效率和传递安全性较低的技术问题,本发明提供了车路协同场景下的组密钥提前下发方法、系统及存储介质。
[0008] 为实现上述目的,本发明提供如下技术方案:
[0009] 本发明公开一种车路协同场景下的组密钥提前下发方法,车路协同场景由云服务器、区块链、路侧单元以及能够与路侧单元通信的车辆构建而成。组密钥提前下发方法包括以下步骤:
[0010] S3.车辆在当前路侧单元的通信范围内进行身份验证。
[0011] S4.当前路侧单元通过云服务器获取周围路侧单元的组密钥。
[0012] S5.当前路侧单元利用不经意传输N选一模型将下一个路侧单元的组密钥提前下发给车辆。
[0013] 其中,车辆行驶进入下一个路侧单元的通信范围后,能够使用接收到的组密钥与下一个路侧单元进行加密通信。
[0014] 作为上述方案的进一步改进,步骤S5包括以下具体步骤:
[0015] S51.当前路侧单元为周围m个路侧单元的匿名身份和组密钥集合,依次生成相应的公私钥对,并将周围m个路侧单元的公钥发送给车辆。{pubKj,priKj}表示与第j个路侧单元相应的公私钥对,其中pubKj为公钥,priKj为私钥,j=1,2,…,m。
[0016] S52.车辆随机生成一个随机数d,判断车辆即将行驶到的下一路侧单元,利用即将行驶到的下一路侧单元的公钥对随机数d进行加密,得到密文Y,并将密文发送给当前路侧单元。
[0017] S53.当前路侧单元采用周围m个路侧单元的私钥依次对密文Y进行解密计算,将各解密计算结果分别与周围各路侧单元的匿名身份和组密钥集合进行异或运算,得到异或值集合,使用车辆公钥将异或值集合加密并发送给车辆。
[0018] S54.车辆接收到加密的异或值集合后,采用车辆私钥进行解密以得到多个异或值,随后采用随机数d分别对多个异或值进行异或运算,即车辆得到下一个路侧单元的组密钥。
[0019] 作为上述方案的进一步改进,步骤S5中,在车辆行驶进入下一个路侧单元的通信范围的同时,下一个路侧单元还根据车辆的匿名身份在区块链中查询到车辆的公钥,并将车辆所需的下一批周围路侧单元的组密钥使用安全多方计算和车辆公钥加密提前下发。
[0020] 作为上述方案的进一步改进,在步骤S3之前,组密钥提前下发方法还包括以下步骤:
[0021] S1.云服务器进行初始化操作以产生系统参数,包括以下具体步骤:
[0022] S11.云服务器先选择一条椭圆曲线y2=x3+ax+b,且4a3+27b2≠0。然后选择生成元G,n为G的阶数。再选取量子随机数s为云服务器的私钥,公钥为Ppub=s·P,P为生成元G的生2 3
成点。mod q表示y=x+ax+b对q取余,q为一个大于3的素数,a,b∈Fp,Fp表示有限域。
[0023] S12.云服务器选择三个单向哈希函数H1:{0,1}*→{0,1}l、H2:{0,1}*→{0,1}l和* lH3:{0,1}→{0,1},其中的上标“1”表示哈希函数的输出长度。
[0024] S13.云服务器发布系统参数params={a,b,q,n,P,Ppub,H1,H2,H3}。
[0025] 作为上述方案的进一步改进,在步骤S3之前,组密钥提前下发方法还包括以下步骤:
[0026] S2.车辆向云服务器进行注册登记,包括以下具体步骤:
[0027] S21.第i个车辆将自己的真实身份VIDi和密码PWi通过安全通道提供给云服务器,以请求注册登记。其中,i=1,…,u,u为车辆的总数。
[0028] S22.在收到第i个车辆的注册登记请求后,云服务器选择一个量子随机数si,并计算车辆私钥vi=H1(VIDi║si║s)。同时将车辆信息{VIDi,PWi,vi}存储在数据库中,将{vi,params}发送给车辆。
[0029] S23.车辆秘密保存vi和params并以此生成自身的公钥Ppubi。
[0030] 作为上述方案的进一步改进,步骤S3中,若当前路侧单元为车辆经过的第一个路侧单元时,身份验证的方法包括以下步骤:
[0031] S31.车辆生成量子随机数ri和时间戳Ti,并构建认证请求消息M发送给当前路侧单元。其中,认证请求消息M的表达式如下:
[0032] M={AIDi║Ri║Ii║Ti║MD}
[0033] 式中,Ri=ri·P。AIDi=H2(VIDi║Ri*║Ti)为第i个车辆的匿名身份,其中Ri*=ri·vi·*Ppub,使用加密参数Ri加密真实身份信息Ii=EnRi*(VIDi,PWi)和签名MD=H3(AIDi║Ri║Ii║Ti)。
En表示加密函数。
[0034] S32.当前路侧单元收到车辆的认证请求消息M后,检查时间戳和签名有效性。若消息有效,则当前路侧单元将认证请求消息M发送给云服务器。
[0035] S33.云服务器收到认证请求消息M后,检查时间戳和签名有效性,随后计算Ri*=s·*vi·Ri,解密获得车辆的VIDi和PWi,计算和检查AIDi=H2(VIDi║Ri║Ti),经过检查无误后将信息{AIDi,VIDi}记录在数据库,最后将回复消息{AIDi,Ppubi}发送给当前路侧单元,完成车辆在路侧单元的通信范围内的身份验证。
[0036] 作为上述方案的进一步改进,步骤S4中,当前路侧单元基于BB84协议并通过云服务器中的光交换机与周围路侧单元进行密钥协商,以获取周围路侧单元的组密钥。
[0037] 本发明还公开一种车路协同场景下的组密钥提前下发系统,其包括云服务器、区块链、路侧单元和车辆,组密钥提前下发系统应用上述车路协同场景下的组密钥提前下发方法。
[0038] 作为上述方案的进一步改进,云服务器包括光交换机、量子密钥分发管理模块和服务器模块;云服务器用于注册、生成、存储和验证车辆数字证书。路侧单元包括量子随机数发生器、电子控制模块、电子控制设备和量子密钥分发管理模块;路侧单元用于生成路侧组密钥,获取周围路侧单元的组密钥,以及向区块链查询和写入区块。车辆具备与路侧单元的通信能力。区块链用于记录车辆匿名身份和车辆的映射关系。
[0039] 本发明还公开一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时,实现上述车路协同场景下的组密钥提前下发方法的步骤。
[0040] 与现有技术相比,本发明的有益效果是:
[0041] 1、本发明公开的车路协同场景下的组密钥提前下发方法,通过在当前路侧单元向处测量下发周围路侧单元的组密钥过程中使用了不经意传输N选一模型,可以帮助车辆提前获取到下一个路侧单元的组密钥,提高组密钥的下发效率,同时路侧单元无法知道车辆究竟获取到哪一个路侧的组密钥,车辆也只能获取到某一个路侧的组密钥,进一步使得路侧单元的组密钥传递更加安全,从而令车辆的身份认证更加高效,路侧单元组密钥的下发更加具有隐私性,降低了密钥泄露的可能性。
[0042] 2、本发明的组密钥提前下发方法还应用了区块链技术,车辆遇到的第一个路侧单元在得到车辆的匿名身份和公钥后,将信息储存在区块链中,后续的其他路侧单元只需得到车辆的匿名身份就可以在区块链中查找到车辆的公钥。区块链大幅节省了云服务器的计算开销,同时使车辆的认证效率更高。
[0043] 3、本发明的组密钥提前下发方法,通过在路侧单元之间组密钥的传递中利用了BB84量子密钥加密技术,当前路侧单元基于BB84协议并通过光交换机OS和周边RSU进行密钥协商(量子密钥)。完成密钥协商后,周边的路侧单元使用协商生成的密钥(量子密钥)加密传输各自的组密钥。BB84协议的无条件安全性确保了路侧单元组密钥在传递过程中的绝对安全。
[0044] 4、本发明公开的车路协同场景下的组密钥提前下发系统以及计算机可读存储介质,通过应用上述组密钥提前下发方法,能够产生与上述方法相同的有益效果,在此不再赘述。

附图说明

[0045] 图1为本发明实施例中车路协同场景下的组密钥提前下发系统的结构示意图。
[0046] 图2为本发明实施例中车路协同场景下的组密钥提前下发方法的流程图。
[0047] 图3为本发明实施例中的组密钥下发的结构原理图。
[0048] 图4为本发明实施例中车辆与RSU之间身份认证的结构原理图。

具体实施方式

[0049] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0050] 请参阅图1,本发明实施例中提供一种车路协同场景下的组密钥提前下发系统,其包括云服务器、区块链、路侧单元和车辆。
[0051] 其中,云服务器(CS,Cloud Server)包括光交换机OS、量子密钥分发管理模块QKDM和服务器模块(Server);云服务器用于注册、生成、存储和验证车辆数字证书。
[0052] 路侧单元(RSU)包括量子随机数发生器QRNG、电子控制模块ECM、电子控制设备ECD和量子密钥分发管理模块QKDM;路侧单元用于生成路侧组密钥,获取周围路侧单元的组密钥,以及向区块链查询和写入区块。
[0053] 车辆(Vehicles)具备与路侧单元的通信能力。在一些实施例中,云服务器和车辆中均可部署量子随机数发生器。
[0054] 区块链(Blockchain Network)用于记录车辆匿名身份和车辆的映射关系。
[0055] 请参阅图2和图3,本实施例还提供一种车路协同场景下的组密钥提前下发方法,车路协同场景由云服务器、区块链、路侧单元以及能够与路侧单元通信的车辆组成;组密钥提前下发方法可以包括步骤S1 S5。~
[0056] S1.云服务器进行初始化操作以产生系统参数,具体包括步骤S11 S13。~
[0057] S11.云服务器先选择一条椭圆曲线y2=x3+ax+b,(mod q),即Eq(a,b),且4a3+27b2≠0(mod q);然后选择生成元G,n为G的阶数;再选取量子随机数s为云服务器的私钥,公钥2 3
为Ppub=s·P,P为生成元G的生成点。q表示一个大于3的素数,mod q表示y=x+ax+b对q取余,a,b∈Fp,Fp表示有限域。
[0058] S12.云服务器选择三个单向哈希函数H1:{0,1}*→{0,1}l、H2:{0,1}*→{0,1}l和* lH3:{0,1}→{0,1},其中的上标“1”表示哈希函数的输出长度。
[0059] S13.云服务器发布系统参数params={a,b,q,n,P,Ppub,H1,H2,H3}。
[0060] S2.车辆向云服务器进行注册登记,具体包括步骤S21 S23。~
[0061] S21.第i个车辆将自己的真实身份VIDi和密码PWi通过安全通道提供给云服务器,以请求注册登记;其中,i=1,…,u,u为车辆的总数;
[0062] S22.在收到第i个车辆的注册登记请求后,云服务器选择一个量子随机数si,并计算车辆私钥vi=H1(VIDi║si║s);同时将车辆信息{VIDi,PWi,vi}存储在数据库中,将{vi,params}发送给车辆,用于后续车辆计算各种数据(包括匿名信息、加密真实信息、签名之类),以及用于云服务器解密车辆的信息从而得到车辆的真实信息。
[0063] S23.车辆收到回复后,秘密保存vi和params,根据vi和params生成自身的公钥Ppubi。
[0064] S3.车辆在当前路侧单元的通信范围内进行身份验证。
[0065] 请参阅图4,路侧单元周期性地广播消息,当车辆启动后第一次进入路侧单元的通信范围并接收广播消息时,车辆向路侧单元发送认证请求消息,路侧单元在云服务器的协助下完成认证。
[0066] 其中,若当前路侧单元为车辆经过的第一个路侧单元时,身份验证的方法具体包括步骤S31 S33。~
[0067] S31.车辆生成量子随机数ri和时间戳Ti,并构建认证请求消息M发送给当前路侧单元;其中,认证请求消息M的表达式如下:
[0068] M={AIDi║Ri║Ii║Ti║MD}
[0069] 式中,Ri=ri·P;AIDi=H2(VIDi║Ri*║Ti)为第i个车辆的匿名身份,其中Ri*=ri·vi·*Ppub,使用加密参数Ri加密真实身份信息Ii=ERi*(VIDi,PWi)和签名MD=H3(AIDi║Ri║Ii║Ti);En表示加密函数。
[0070] S32.当前路侧单元收到车辆的认证请求消息M后,检查时间戳和签名有效性;若消息有效,则当前路侧单元将认证请求消息M发送给云服务器;
[0071] S33.云服务器收到认证请求消息M后,检查时间戳和签名有效性,随后计算Ri*=s·*vi·Ri,解密获得车辆的VIDi和PWi,计算和检查AIDi=H2(VIDi║Ri║Ti),经过检查无误后将信息{AIDi,VIDi}记录在数据库,最后将回复消息{AIDi,Ppubi}发送给当前路侧单元,完成车辆在路侧单元的通信范围内的身份验证。
[0072] 在步骤S33之后,当前路侧单元将接收到的回复消息{AIDi,Ppubi}记录在区块链,同时利用近距离无线通信下发自身组密钥;在此之后,当车辆进入下一个路侧单元的通信范围并接收到广播消息时,车辆直接向下一个路侧单元发送自己的匿名身份信息,下一个路侧单元直接通过区块链完成车辆身份验证,并获取车辆公钥Ppubi。图4中的“Vehicle Authentication”表示车辆身份认证。
[0073] 本发明采用的区块链,是一种分布式账本,每一个交易参与者都是区块链网络的节点,每个节点都有一份完整的公共账簿备份,上面记载着交易历史信息。任何一个节点发起交易行为都需要将相关信息更新到区块网络中的每一个节点的账簿,从而所有节点均可参与对这一笔交易的验证。所以区块链具有去中心化、不可篡改和透明性的特点。
[0074] S4.当前路侧单元基于BB84协议并通过云服务器中的光交换机与周围路侧单元进行密钥协商,以获取周围路侧单元的组密钥。
[0075] BB84协议是一种量子密钥分发协议,用于在量子通信中安全地分发密钥。是最早且最为知名的量子密钥分发协议之一。BB84协议通过使用量子特性确保密钥的安全性,同时利用量子态的不可克隆性和测量的不可干扰性来检测潜在的窃听者。该协议的基本思想是使用发射器(Alice)和接收器(Bob)之间的量子信道来传递量子比特(qubits),然后利用经典信道进行公开的鉴定和纠错,最终生成一个共享的安全密钥。
[0076] S5.当前路侧单元利用不经意传输N选一模型将下一个路侧单元的组密钥提前下发给车辆。
[0077] 其中,车辆行驶进入下一个路侧单元的通信范围后,能够使用接收到的组密钥与下一个路侧单元进行加密通信。同时,下一个路侧单元还根据车辆的匿名身份在区块链中查询到车辆的公钥,并将车辆所需的下一批周围路侧单元的组密钥使用安全多方计算和车辆公钥加密提前下发。安全多方计算和车辆加密是两种不同的加密算法,不经意传输N选一模型就属于安全多方计算,先用安全多方计算,然后再用车辆公钥来加密安全多方计算的结果,发给车辆。
[0078] 图3中的OT表示不经意传输,“不经意传输N选一模型”是一种密码学概念,通常用于描述在多方安全计算(Secure Muti‑Party Computation,SMPC)中的一种特殊情况,它是一种额外的保护方式,用于隐藏传输的事实和手段。在这个模型中,参与方中的其中一个参与方(即1方)并不知道其他参与方(即N‑1方)是哪些,也不知道其他N‑1方的输入内容,但他可以得到所有N方的共同计算结果。(在这个过程中RSU输入自身和周围其他RSU的ID和组密钥,车辆输入下一个RSU的ID,共同计算得到一个结果“即车辆输入RSU的ID对应的组密钥。”)
[0079] 具体地,步骤S5包括步骤S51 S54。~
[0080] S51.当前路侧单元为周围各个路侧单元的匿名身份和组密钥集合,依次生成相应的公私钥对,并将所有的公钥发送给车辆;其中,周围路侧单元共m个,Qj表示第j个路侧单元的匿名身份RIDj和组密钥集合,j=1,2,…,m;{pubKj,priKj}表示与第j个路侧单元相应的公私钥对,其中pubKj为公钥,priKj为私钥。
[0081] S52.车辆随机生成一个随机数d,判断车辆行驶方向以分析车辆即将行驶到的下一路侧单元(比如第j个路侧单元),据此选择与该路侧单元相应的公钥对随机数d进行加密,得到密文即Y=EnpubKj(d),其中“En”为加密符号。并生成时间戳以和密文Y一起发送给当前路侧单元。
[0082] S53.当前路侧单元验证时间戳后,采用周围各个路侧单元的私钥依次对密文Y进行解密计算,得到多个解密结果即K1=DepriK1(Y),K2=DepriK2(Y)……Km=DepriKm(Y),其中“De”为解密符号。将各解密计算结果分别与周围各路侧单元的匿名身份和组密钥集合进行异或运算,即,……,得到异或值集合将{e1,e2,…,em},使用车辆公钥Ppubi将异或值集合加密,即,将E发送给车辆。
[0083] S54.车辆接收到加密的异或值集合后,采用车辆私钥进行解密以得到多个异或值,即。随后采用随机数d分别对多个异或值{e1,e2,…,em}进行异或运算,即车辆得到下一个路侧单元的组密钥。
[0084] 本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时,实现上述车路协同场景下的组密钥提前下发方法的步骤。
[0085] 该计算机可读存储介质可以包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储介质也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card  ,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器通常用于存储安装于计算机设备的操作系统和各类应用软件等。此外,存储器还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0086] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。