本发明属于车联网技术领域,尤其涉及一种基于可扩展式贡献组密钥协商的面向车队的安全管理方法。
背景技术:
目前,业内常用的现有技术是这样的:近年来,因汽车数量持续增长而引起的交通安全、出行效率、环境保护等问题日益突出,车联网领域的相关研究尤为重要。车联网是以车内网、车际网和车载移动互联网为基础,融合了传感器、rfid、数据挖掘、自动控制等相关技术,按照通信协议和标准,实现车辆与公众网络的动态移动通信。在车联网中,车辆作为移动通信设备和用户载体,以拓扑节点的形式组织移动网络拓扑。由于车辆自身的移动性,车载通信具有移动区域受限、网络频繁接入和中断、节点覆盖范围大、通信环境复杂等特点。所以,在实施方面存在多方面挑战和困难。随着第五代移动通信的快速发展,对于低时延、高移动性的车联网场景,5g移动通信技术解决了车联网面临的多方面问题和挑战。
当前,移动互联网信息服务的快速发展,推动了智能终端的普及,加快了第五代移动通信的部署,带动更多的产业发展。其中移动互联网对于汽车和交通的影响也非常显著。越来越多的汽车可以连接到互联网,并且可以相互连接,并向更高级的自动驾驶领域发展。而为了更好的处理日益增加的复杂路况,自动驾驶车辆不得不依靠自身传感器,并且也要依靠其他路面行驶的车辆,这些路面的车辆需要相互合作,而不是独自决定驾驶路线或行驶轨迹。而5g车联网是未来实现自动驾驶、无人驾驶的重要条件。因为在自动驾驶过程中,车辆的传感器从监测路况信息到命令车辆的大脑做出反应的时间越短,那么自动驾驶的安全性就会更高。这就要求通信网络具有高可靠和低时延的特点。而5g解决了数据传输速度和容量问题,满足自动驾驶网络技术要求。所以,5g车联网对于未来自动驾驶的实际应用是至关重要的。
目前,在车联网通信技术领域,主要有dsrc与lte-v两大通信方案。lte-v是基于4g技术实现车车通讯,以lte蜂窝网络为v2x基础的车联网专有协议,包括lte-v-cell和lte-v-direct两个工作模式。lte-v-cell可以借助已有的蜂窝网络,支持大带宽、大覆盖通信,满足telematics应用需求,而lte-v-direct可以独立于蜂窝网络,实现车辆与周边环境节点低时延、高可靠的直接通信,满足行车安全需求。lte-v技术可以平滑演进到5g。相比于dsrc,lte-v在5g车联网下的自动驾驶应用有着明显的优势。对于5g车联网的自动驾驶场景,通常是以车队的形式在路面行驶和通信,但是随着当前数据流量的不断增加,5g无线通信网络需要更高的容量和有效的安全机制。而5g车联网的用户和车辆相关数据的传输需要经过其他车载单元、移动终端以及基站,因此,必须采取有效措施保证车队通信的安全性和数据的完整性。在车队内部通信时,需要安全的组密钥来保证通信免受未授权用户的影响。尽管在传输期间使用组密钥加密时数据仍然是安全的,但是在使用不安全的信道和不信任的服务器时,组密钥的生成和管理仍然是一个挑战。在以往所提的关于组密钥管理技术可分为三类:(1)集中式密钥管理:使用单个可信密钥分发中心负责为所有组成员创建和安全分发组密钥;(2)分散式密钥管理:整个组被划分为多个不同的子组,每个自组由管理员来管理;(3)贡献密钥管理:没有集中授权,在该方案中,所有组成员都同等贡献来生成安全组密钥。方案的优点是所有参与的成员都确信自己的贡献是自己随机选择的,因此,其他用户将无法猜测他的密钥或计算最终的组密钥。所以,贡献密钥生成协议更加公平,所有组成员都同等地参与,并且比直接密钥传输协议更安全。但是,在组密钥生成过程中对于组成员又面临挑战,因为贡献组密钥的生成至少需要n轮,当有成员加入或者退出时,组密钥更新也需要与之前相同的轮数。当车队内部协商好密钥需访问网络时,需要与路侧单元进行安全认证。若车队成员众多,每个路侧单元需要验证大量的车辆信息,会导致大量的计算开销。所以可以通过聚合签名把车队成员的签名压缩成一个签名,减小了签名的存储空间,同时也降低了对网络带宽的要求,减轻路侧单元的负担。但是该技术存在固有的安全问题,例如窃听、数据伪造、数据篡改等。所以设计安全有效的聚合方法是非常重要的。在以往的方案中,提出了基于身份的密码技术,可通过用户的任何唯一身份信息生成用户的公钥,私钥生成中心pkg使用主密钥生成用户的私钥。因此,在基于身份的签名系统中,验证算法仅涉及签名对、公共参数和签名者的身份信息。
综上所述,现有技术存在的问题是:没有考虑5g车联网中自动驾驶场景下的车队内部安全通信;组密钥易受攻击者窃取,通信安全性低,并且贡献组密钥管理的密钥生成轮数过多,效率低。
解决上述技术问题的难度和意义:解决问题(1)的意义在于,可以支持低时延、高移动性的5g车联网自动驾驶场景,在无人驾驶车队中,组头领导组员,协同访问各种应用,实现数据的安全共享和传输。解决问题(2)的意义在于,可以提高车队内部通信的安全性,确保组密钥不被泄露,并且可以减小方案的计算和通信复杂度,提高车队内部通信的效率。
技术实现要素:
针对现有技术存在的问题,本发明提供了一种基于可扩展式贡献组密钥协商的面向车队的安全管理方法。
本发明是这样实现的,一种基于可扩展式贡献组密钥协商的面向车队的安全管理方法,所述基于可扩展式贡献组密钥协商的面向车队的安全管理方法基于lte-v通信的自动驾驶车队架构;车队内部成员之间进行组密钥协商,车队成员的动态加入和退出时组密钥更新,访问网络时组头收集所有成员的签名并生成聚合签名,然后将聚合签名发送至路侧单元进行认证,路侧单元验证签名并认证车队车辆。
进一步,所述基于可扩展式贡献组密钥协商的面向车队的安全管理方法
(1)系统初始化,l是一个安全参数。g1和g2是两个阶为素数p的循环群,一个双线性对映射
(2)车队成员之间需要通信时,成员之间进行协商生成车队组密钥;
(3)当有成员动态加入和退出时,车队组密钥进行更新;
(4)车队需要访问网络时,车队组头车辆对成员签名进行聚合并发送给路侧单元进行认证。
进一步,组密钥生成过程只需成员参与,并将计算轮数减小到两轮,具体包括:车队的组头与成员一样,无法查看其他组成员的密钥;车队内有n个成员,则组头采用(2n-2)×n的矩阵,车队组密钥生成分为两轮,具体包括:
(1)第一轮:
在第一轮中,车辆成员u1用其私钥s1(1<s1≤m-1)乘以矩阵的第一行向量的第一值,并将第一行第一个值更新为乘以后的值;车辆成员u2使用其私钥s2(1<s2≤m-1)乘以成员u1更新后的第一行向量的前两个值,并替换矩阵的第二行。以此类推,车辆成员un-1使用其私钥sn-1(1<sn-1≤m-1)乘以矩阵第(n-2)行的前(n-1)个值,并将矩阵的第(n-1)行的前(n-1)个值更新为相乘后的值;车辆成员un使用其私钥sn(1<sn≤m-1)乘以矩阵第(n-1)行,并将矩阵的第n行的值更新为相乘后的值;
(2)第二轮:
第二轮从成员u1使用其私钥s1乘以矩阵的第n行,从第三个值开始到第n个值结束,并将矩阵的第(n+1)行更新为模乘后的值,成员un-2使用其私钥sn-2乘以矩阵的第(2n-3)行的最后一个值,并将矩阵的第(2n-2)行更新为相乘后的值;则矩阵的第(n-1)行到第n行的对角线元素分别为车队中车辆成员{u1,u2,...,un}的公钥;
(3)组密钥产生:
每个车辆成员将其私钥sku和公钥pku相乘,是车队的组密钥。
进一步,当有车队成员动态加入和退出时,具体包括:
(1)成员退出
车辆成员选择一个随机数r,其中(1<r≤m-1),然后使用椭圆曲线乘法来更改组成员的所有公钥,并将新公钥发送给所有剩余组成员,所有成员的私钥保持不变;其余组成员使用其私钥和新公钥进行组内的其余通信;成员移除过程基于以下等式:
pku=r×(ki,j-kremoved);
(2)成员加入原有车队成员更新公钥:
车辆组成员采用随机数r(1<r≤m-1)乘以组中所有成员的公钥,并将其发送给新加入的成员;新加入成员公钥:
原有成员将自己的私钥与最初的公钥相乘,将其发送给新加入的成员,就是新加入成员的公钥;新成员加入后在将新公钥发送给原有成员;
pku=snew×ki,j;
组成员将其私钥与其自己的旧公钥相乘,并将其发送给新添加的成员,现在是新添加的成员的公钥。
进一步,当车队访问网络时,路侧单元不用对每个车队成员进行签名验证,通过组头对车队成员的签名进行聚合,再发送给路侧单元进行认证,按照如下过程进行:
(1)访问网络当车队想要访问网络时,通过组头车辆进行访问;
密钥生成:车辆成员根据身份信息计算qi=h1(idi),所以车辆的私钥为si=xqi;
(2)车队成员车辆签名将签名算法分为两个阶段,离线签名和在线签名算法;离线签名:在没有消息发送时,给定私钥si=xqi,车辆随机选择
h=h1(δ)
ti=tip
vi=tih
ri=sih;
在线签名:给定消息和离线签名,车辆计算在线签名;
hi=h2(mi,idi,ti,δ)
ui=vi+hiri;
得到签名σi=(ui,ti),就是车辆对其消息的签名;
(3)rsu对车队认证,组头将成员的签名进行聚合,形成一个聚合签名;给定车队成员u={u1,u2,...,un},每个成员对应的身份为idi,每个成员的公钥为pku,相应的消息签名对为{(m1,σ1=(u1,t1)),...,(mn,σn=(un,tn))};
车头再计算:
输出聚合签名(u,t),再将聚合签名发送给rsu;
(4)路侧单元认证车队,给定系统参数、成员身份idi、消息mi、公钥、聚合签名(u,t),验证等式
本发明的另一目的在于提供一种执行所述基于可扩展式贡献组密钥协商的面向车队的安全管理方法的基于lte-v通信的自动驾驶车队架构,所述基于lte-v通信的自动驾驶车队架构包括:
路侧单元,用于处理从车队收集到的所有数据,并且向车队成员提供数据信息,路侧单元公私钥对为(pkcenter,skcenter),并将公钥pkcenter公开;
车队组头车辆,用于获取路侧单元的公钥pkcenter;pkg为组头车辆idi生成私钥sid,在部署组头身份时,将会嵌入(param,sid);并且组头车辆可以将车队成员的签名聚合生成聚合签名,发送给路侧单元;
车队成员车辆,为每个成员车辆idi生成私钥sidi,在部署成员车辆的身份时,将会嵌入(param,sidi);每个成员车辆都可以用他的私钥对消息进行签名,并发送给车队组头车辆。
本发明的另一目的在于提供一种应用所述基于可扩展式贡献组密钥协商的面向车队的安全管理方法的车辆网管理平台。
综上所述,本发明的优点及积极效果为:原有贡献组密钥的生成至少需要n轮,当有成员加入或者退出时,组密钥更新也需要与之前相同的轮数。在计算和传输方面都很复杂并且耗时,所提出的可扩展贡献组密钥协商,无论车队大小,在密钥生成过程中都将轮数减少到两轮,并且当车队成员动态加入和退出时,仅限于单个成员参与,其他成员不需要再次参与。当大量的车队成员需要访问网络时,使用基于身份的聚合签名,路侧单元只需对聚合后的签名进行验证即可判断受到的签名是否合法,极大提高了消息验证的效率,并且保证消息的完整性,在5g车联网下的自动驾驶场景有应用价值。
与其他现有密钥管理方案相比,本发明在计算和传输方面,所提议的协议的复杂性被降低到恒定的时间复杂度。无论组大小如何,所提出的密钥管理协议仅需要两轮密钥生成过程,类似的,计算复杂性也降低,因为密钥生成的轮次仅限于两轮,所以说效率肯定会提高。
组密钥的安全性:如果为获得组密钥,攻击者需要获得组内的任何用户的安全密钥,还有用户的公钥。如果攻击者获得安全密钥和用户的公钥,可以计算组密钥。但是由于用户的安全密钥是基于离散对数这个困难问题的,所以说获得组中任何用户的安全密钥在计算上是不可行的;因此,组密钥不会被组成员以外的任何用户的窃取,在安全方面得到保障。
聚合签名效率:因为聚合是将组成员的签名进行聚合然后通过rsu进行认证,不同于一般的组成员分别向rsu认证,所以聚合签名的效率更高,适用于本发明。
附图说明
图1是本发明实施例提供的基于可扩展式贡献组密钥协商的面向车队的安全管理方法流程图。
图2是本发明实施例提供的基于lte-v通信的自动驾驶车队架构示意图。
图3是本发明实施例提供的基于可扩展式贡献组密钥协商的面向车队的安全管理方法实现流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术没有考虑5g车联网中自动驾驶场景下的车队内部安全通信;贡献组密钥管理的密钥生成轮数过多,效率低的问题。本发明极大提高了消息验证的效率,并且保证消息的完整性,在5g车联网下的自动驾驶场景有应用价值。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的基于可扩展式贡献组密钥协商的面向车队的安全管理方法包括以下步骤:
s101:车队进入道路网络,内部协商组密钥;
s102:车队进入网络后,车辆检测到路侧单元,进入接入;
s103:组头访问网络,聚合成员计算的签名,生成聚合签名;
s104:组头将聚合签名发送至路侧单元进行认证。
下面结合附图对本发明的应用原理作进一步的描述。
如图2所示,本发明实施例提供的基于lte-v通信的自动驾驶车队架构,该架构包括:路侧单元、车队组头车辆、车队成员车辆;
路侧单元,具有一定的计算能力和存储空间。可以处理从车队收集到的所有数据,并且可以向车队成员提供数据信息,路侧单元公私钥对为(pkcenter,skcenter),并将其公钥pkcenter公开;
车队组头车辆,作为车队的领导者,可以获取路侧单元的公钥pkcenter。pkg为组头车辆idi生成私钥sid,在部署组头身份时,将会嵌入(param,sid)。并且组头车辆可以将车队成员的签名聚合生成聚合签名,发送给路侧单元;
车队成员车辆,在计算以及存储方面资源有限。pkg为每个成员车辆idi生成私钥sidi,在部署成员车辆的身份时,将会嵌入(param,sidi)。每个成员车辆都可以用他的私钥对消息进行签名,并发送给车队组头车辆。
如图3所示,本发明实施例提供的基于lte-v通信的自动驾驶车队架构提供一种可扩展式贡献组密钥协商的面向车队的安全管理方法包括:
步骤一、系统初始化
假设l是一个安全参数。g1和g2是两个阶为素数p的循环群,一个双线性对映射
步骤二、车队组密钥生成车队组密钥生成分为两轮,过程如下:
(2a)车队的组头与成员一样,无法查看其他组成员的密钥。假定车队内有n个成员,则组头采用(2n-2)×n的矩阵。
(2b)第一轮:
在第一轮中,车辆成员u1用其私钥s1(1<s1≤m-1)乘以矩阵的第一行向量的第一值,并将第一行第一个值更新为乘以后的值。车辆成员u2使用其私钥s2(1<s2≤m-1)乘以成员u1更新后的第一行向量的前两个值,并替换矩阵的第二行。以此类推,车辆成员un-1使用其私钥sn-1(1<sn-1≤m-1)乘以矩阵第(n-2)行的前(n-1)个值,并将矩阵的第(n-1)行的前(n-1)个值更新为相乘后的值。车辆成员un使用其私钥sn(1<sn≤m-1)乘以矩阵第(n-1)行,并将矩阵的第n行的值更新为相乘后的值。
(2c)第二轮:
第二轮从成员u1使用其私钥s1乘以矩阵的第n行,从第三个值开始到第n个值结束,并将矩阵的第(n+1)行更新为模乘后的值。以此类推,成员un-2使用其私钥sn-2乘以矩阵的第(2n-3)行的最后一个值,并将矩阵的第(2n-2)行更新为相乘后的值。则矩阵的第(n-1)行到第n行的对角线元素分别为车队中车辆成员{u1,u2,...,un}的公钥。
(2d)组密钥产生:
每个车辆成员将其私钥sku和公钥pku相乘,就是车队的组密钥。
(2e)成员退出车辆成员选择一个随机数r,其中(1<r≤m-1),然后使用椭圆曲线乘法来更改组成员的所有公钥(退出成员的公钥除外),并将新公钥发送给所有剩余组成员。所有成员的私钥保持不变。其余组成员使用其私钥和新公钥进行组内的其余通信。成员移除过程基于以下等式:
pku=r×(ki,j-kremoved);
(2f)成员加入原有车队成员更新公钥:
车辆组成员采用随机数r(1<r≤m-1)乘以组中所有成员的公钥,并将其发送给新加入的成员。为了保证加入成员后车队的后向安全性,需要随机数乘法。
新加入成员公钥:
原有成员将自己的私钥与最初的公钥(在发送给新加入成员之前的)相乘,将其发送给新加入的成员,就是新加入成员的公钥。新成员加入后在将新公钥发送给原有成员。
pku=snew×ki,j;
组成员将其私钥与其自己的旧公钥(在发送给新添加的成员之前的公钥)相乘,并将其发送给新添加的成员。它现在是新添加的成员的公钥。
步骤三、访问网络
当车队想要访问网络时,通过组头车辆进行访问。
密钥生成:车辆成员根据身份信息计算qi=h1(idi),所以车辆的私钥为si=xqi。
步骤四、车队成员车辆签名
将签名算法分为两个阶段,离线和在线签名算法。
(4a)离线签名:在没有消息发送时,给定私钥si=xqi,车辆随机选择
h=h1(δ)
ti=tip
vi=tih
ri=sih;
(4b)在线签名:给定消息和离线签名,车辆计算在线签名。
得到签名σi=(ui,ti),就是车辆对其消息的签名。
步骤五、rsu对车队认证
组头将成员的签名进行聚合,形成一个聚合签名。
(5a)给定车队成员u={u1,u2,...,un},每个成员对应的身份为idi,每个成员的公钥为pku,相应的消息签名对为{(m1,σ1=(u1,t1)),...,(mn,σn=(un,tn))}。
(5b)车头再计算
输出聚合签名(u,t)。再将聚合签名发送给rsu。
步骤六、路侧单元认证车队
给定系统参数、成员身份idi、消息mi、公钥、聚合签名(u,t),验证等式
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。