本发明涉及车联网和区块链技术,具体涉及一种基于区块链的车联网隐私保护交通路线管理方法。
背景技术:
1、车载自组织网络(vanets),是指车辆上的车载设备通过无线通信技术,对信息网络平台中的所有车辆动态信息进行有效利用,在车辆运行中提供不同的功能服务。随着车辆数量的快速增长和通信技术的不断发展,人们对车辆的安全、隐私保护等需求越来越迫切,vanets也成为了政府、研究机构与车辆制造企业共同关注的研究热点。vanets主要由以下几部分组成:可信权威机构(ta)、路边单元(rsu)、车辆、交通管理中心(tmc)等。在vanets中,两种主要的通信类型是车辆和车辆通信(v2v)及车辆和路边单元通信(v2i)。在v2v通信中,车辆定期广播其速度、位置、行驶路线等与交通相关的信息,可用于提高驾驶安全,减少交通事故。在v2i通信中,需要使用rsu等基础设施来为附近的车辆提供一些与交通相关的服务。
2、尽管vanets拥有广泛的应用程序,并提供了显著的优势,但普遍存在的安全和隐私问题也不容忽视。由于在v2v和v2i通信中使用了公共无线网络,vanets容易受到多重攻击。如果没有安全的通信保护机制,攻击者可以很容易地修改以vanets传输的消息。例如,驾驶路线信息可以被恶意地修改以导致交通拥堵,而速度信息可以被修改以导致交通事故。因此,交通相关的通信会影响个人生命和财产安全,设计一种同时适合v2v和v2i通信的消息认证方案是必不可少的。
3、区块链技术近年来被引入了vanets环境,并引起了vanets领域的研究人员的兴趣,因为在解决上述安全和性能问题的背景下,它提供了匿名性、分散化和不变性等特性。具体来说,通过区块链中的智能契约,可以对公钥、假名、证书等公共信息进行管理,从而有效地实现认证和撤销。另外,在身份验证过程中,它只需要从区块链中检索公共信息,而不需要将新数据存储到区块链中。
技术实现思路
1、发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种基于区块链的车联网隐私保护交通路线管理方法。
2、技术方案:本发明的一种基于区块链的车联网隐私保护交通路线管理方法,包括以下步骤:
3、步骤(1)、系统初始化,实现相关实体的初始化工作,获取系统私钥s、系统公钥ppub、以及同态加密的公钥(n,g)和私钥(λ,μ);s为随机数;
4、步骤(2)、相关参与实体进行系统注册,包括对车辆的注册、对雾节点的注册;
5、步骤(3)、车辆的用户输入密码登录车辆;
6、步骤(4)、雾节点向其通信范围内的车辆广播路线请求消息;
7、步骤(5)车辆向雾节点报告自己即将行驶的路线;车辆通过安全信道将加密后的行驶路线、签名和时间戳传输给雾节点;
8、步骤(6)、消息验证及交通路线聚合;雾节点接收到车辆的消息后,先验证消息中时间戳和车辆签名,验证通过后雾节点聚合车辆的行驶路线并发送给交通管理中心tmc;
9、步骤(7)、交通管理中心tmc管理交通路线:tmc接收到雾节点消息后,先验证时间戳和雾节点签名,如果验证通过则对车辆的行驶路线进行解密和恢复;
10、步骤(8)、车辆撤销及密码更改:由可信中心触发智能合约来移除有恶意行为或公钥失效的车辆,被移除的车辆需重新获取新登录密码。
11、进一步地,所述步骤(1)的详细过程为:
12、步骤(1-1)、可信中心ta产生椭圆曲线e:y2=x3+ax+b mod p,然后ta选择生成元p生成阶为q的椭圆曲线群g;
13、步骤(1-2)、ta选择随机数s作为系统私钥,并计算系统公钥ppub=s·p;
14、步骤(1-3)、ta选择单向哈希函数h(·);
15、步骤(1-4)、交通管理中心tmc随机选择两个素数p1和p2和随机数g,计算n=p1·p2,λ=1cm(p1,p2),μ=(l(gλmod n2))-1mod n,基于同态加密产生公钥(n,g)和私钥(λ,μ)。
16、进一步地,所述步骤(2)对车辆和雾节点进行注册的具体过程如下:
17、步骤(2-1)、用户选择车辆vi的登录密码pwi和自己的身份uidi,使用身份uidi对登录密码进行加密,得到upwi=h1(uidi||pwi),然后通过安全信道将注册请求{idi,upwi}发送给可信中心ta;
18、其中,uidi是指第i个用户的身份,idi是指第i个车辆的身份;pwi是用户的登录密码,upwi是将用户的登录密码加密后的结果;
19、步骤(2-2)、可信中心ta得到用户的注册请求后,先检查用户的状态,如果用户已经被注册或者在黑名单里,ta则拒绝用户的注册请求,否则执行步骤(2-3);
20、步骤(2-3)、可信中心ta随机选择计算ski=h2(idi||s||ki)作为车辆的私钥,然后计算车辆vi假名车辆公钥vpk=ski·p;同时计算参数ci=h3(ai||upwi);
21、ski是指第i个车辆的私钥,ti是对应的时间戳,ai,bi和ci是相关的安全参数;
22、步骤(2-4)、ta将{bi,ci,ski,pidi,(n,g)}通过安全信道传输给车辆vi,同时ta将{pidi,vpk}上传到智能合约;
23、步骤(2-5)、雾节点fj将自己身份idj通过安全信道传输给ta;idj是指第j个雾节点的身份;
24、步骤(2-6)、ta得到雾节点fj的注册请求后,先检查雾节点的状态,如果状态不合法,ta则拒绝雾节点的注册请求,否则继续执行步骤(2-7);
25、步骤(2-7)、ta选择作为雾节点的私钥,并计算雾节点fj公钥pkj=skj·p;
26、其中,skj是指第j个雾节点的私钥;
27、步骤(2-8)、ta将{skj,pkj}通过安全信道传输给雾节点,完成注册过程。
28、进一步地,所述步骤(3)用户输入密码登录车辆的具体过程如下:
29、步骤(3-1)、车辆的用户输入{idi,pwi,uidi}登录车辆vi的车载单元obu;
30、步骤(3-2)、车辆vi计算upwi=h1(uidi||pwi),然后检查等式ci=h3(ai||upwi)是否成立,如果等式成立,则登录成功,否则登录失败;
31、其中,uidi是指第i个用户的身份,idi是指第i个车辆的身份;pwi是用户的登录密码,upwi是将用户的登录密码加密后的结果;ai,bi和ci是相关的安全参数。需要前后。
32、本发明中一共计算两次upwi和ai,第一次是车辆用户计算,第二次是车辆计算,来验证用户是否满足登录要求。
33、进一步地,所述步骤(4)雾节点fj路线请求的具体过程如下:
34、步骤(4-1)、雾节点选择一个随机数xj,计算xj=xj·p,然后产生雾节点当前的签名σf1=skj+xj·h2(idj||rs||tj1)mod q,接着雾节点将消息m1={idj,xj,σf1,rs,tj1}广播到通信范围内的所有车辆;
35、tj1是当前时间戳;skj是指第j个雾节点的私钥;rs是雾节点想要查询的路线请求,xj是安全参数;
36、步骤(4-2)、车辆vi一旦接收到消息m1,首先检查时间戳的有效性,如果时间戳终止,则拒绝此消息;否则,车辆验证等式σf1·p=pkj+xjh2(idj||rs||tj1)是否成立,如果该等式成立,则执行步骤(5),如果不成立,则丢弃该消息,不再执行后续步骤;
37、pkj是雾节点fj的公钥,idj是指fj的身份。
38、进一步地,所述步骤(5)车辆向雾节点报告自己即将行驶路线的具体过程为:
39、步骤(5-1)、车辆vi将其要行驶的路线转化成二进制形式,其形式为{f1(v),f2(v),…,fm(v)};
40、步骤(5-2)、车辆选择随机数然后加密其行驶路线同时,车辆选择随机数并计算di=di·p,接下来,车辆vi产生其签名σvi=ski+di·βimod q;
41、步骤(5-3)、车辆通过安全信道将消息传输给雾节点;σvi,di,pidi,ti1分别是指车辆vi的签名、加密后的车辆行驶路线、vi的假名、当前时间戳;fm(v)是车辆行驶路线的二进制表达形式,是ri的n次方(n=p1·p2),di是安全参数。
42、进一步地,所述步骤(6)验证及交通路线聚合的具体过程如下:
43、步骤(6-1)、雾节点接收到车辆的消息首先检查时间戳ti1的有效性,如果时间戳有效,雾节点则发送一个查询交易去区块链查询车辆的公钥;查询到车辆公钥以后,雾节点计算来检查等式是否成立,如果不成立,则消息被拒绝;如果成立则执行步骤(6-2);
44、σvi,di,pidi,ti1分别是指车辆vi的签名、加密后的车辆行驶路线、di是安全参数、vi的假名、当前时间戳;
45、步骤(6-2)、验证完车辆发送的消息后,雾节点聚合车辆的k条行驶路线并发送给交通管理中心tmc;
46、聚合路线如下:
47、
48、然后,雾节点选择随机数计算yj=yj·p,并产生雾节点当前签名雾节点将消息通过安全信道发送给交通管理中心tmc;
49、其中,yj是安全参数,是同态加密中解密公式的计算参数,随机数用于加密。
50、进一步地,所述步骤(7)交通管理中心tmc管理交通路线的具体方法为:
51、步骤(7-1)、交通管理中心tmc接收到雾节点发送的消息首先检查时间戳tj2的有效性,如果有效,则继续验证等式是否成立,如果等式不成立,则拒绝此消息;
52、步骤(7-2)、tmc利用私钥(λ,μ)通过计算解密
53、其中,μ=(l(gλmod n2))-1mod n,l(x)=(x-1)/n;
54、最终恢复出的路线信息为:
55、进一步地,所述步骤(8)车辆撤销和密码更改的具体过程如下:
56、步骤(8-1)、当雾节点发现车辆有恶意行为,则封装一个投票交易去触发区块链上的智能合约,一旦投票数量votecount≥阈值thre,可信中心ta则发送撤销交易触发智能合约deletepk移除车辆公钥;除此之外,ta定期检查车辆公钥的有效性,如果失效,ta则发送撤销交易触发智能合约deletepk移除车辆公钥;
57、步骤(8-2)、用户向车辆中输入{uidi,idi,pwi}和一个新密码
58、步骤(8-3)、车辆计算用户登录密码upwi=h1(uidi||pwi),然后检查等式ci=h1(uidi||pwi)是否相等;
59、如果等式不成立,则说明用户输入的密码是错误的,此过程将终止;否则,车辆计算
60、步骤(8-4)、车辆秘密存储是指对新的登录密码进行加密后的值。
61、有益效果:为减少交通堵塞和交通事故地频繁发生,在本发明技术方案中车辆利用同态加密对其行驶路线进行加密,然后将加密后的信息发送到雾节点;交通管理中心tmc对接收到的密文由雾节点聚合进行解密,并根据解密后的数据进行交通管理,而不知道每辆车的单独路线,因此很好地保护了车辆的隐私;同时还采用区块链对车辆进行公钥管理。
62、与现有技术相比,本发明具有以下优点:
63、(1)本发明采用了密码学中的椭圆曲线加密方法而非双线性配对操作,计算开销和通信开销比较低。同时,使用了同态加密技术,交通管理中心只知道每个路段的车辆总数,而不知道每辆车的单独路线,有效地保护了车辆的隐私。
64、(2)本发明采用了区块链技术记录车辆的匿名公钥。基于智能合约技术,可以对区块链上记录的车辆的公钥进行更新、查询和删除。此外,在身份验证过程中,它不需要可信机构(ta)在线,这样可以减少ta的工作负载。
65、本发明实现了更多的功能特性,例如批量认证、车辆撤销、密码更改等。此外,该密码学协议的安全性是通过形式化的安全性分析评估的,并且能够抵抗多种类型的攻击,与其他相关的方案相比,具有更强的安全性。