车载自组织网络中基于区块链技术的车辆通信方法与流程

文档序号:13287154阅读:307来源:国知局
车载自组织网络中基于区块链技术的车辆通信方法与流程

本发明涉及车载自组织网络通信安全技术领域,尤其涉及一种车载自组织网络中基于区块链技术的车辆通信方法。



背景技术:

vanet(vehicularadhocnetworks,车载自组织网络)可以为车辆提供实时的路况信息以及周边车辆的信息(比如行驶速度、行驶方向、所在路段、紧急停车等)。vanet的研究和应用将很大程度地方便驾驶员感知周围的驾驶环境,对交通事故的预防起到了很好的作用,驾驶员通过了解超视距范围信息,来选择更加畅通的路段,提高人们的出行效率。

在实际应用中,同一路段中的各个车辆可以通过vanet进行互相通信,发布路况信息等,但是,如何评价各个车辆发布的路况信息的可信任程度,如何在发布路况信息保证车辆用户的隐私,目前现有技术中还没有有效的解决方案。



技术实现要素:

本发明的实施例提供了一种车载自组织网络中基于区块链技术的车辆通信方法,已实现有效地评价各个车辆在车载自组织网络中发布的路况信息的可信任程度。

为了实现上述目的,本发明采取了如下技术方案。

一种车载自组织网络中基于区块链技术的车辆通信方法,包括:

针对一个路段设置车载自组织网络中一个区块链,所述路段中的车辆获取要发送的路况信息,根据所述车辆的可信任程度信息获取所述路况信息的信任值;

所述车辆将所述路况信息和所述路况信息的信任值封装在一个区块中,各个车辆将相同路段上的路况信息相同的区块链接成一个区块链;

所述路段中的各个车辆下载所述区块链中的各个区块,获取所述区块中的路况信息和所述路况信息的信任值,根据所述路况信息的信任值和所述区块链的相关信息综合判断所述路况信息的可信任程度。

进一步地,所述根据车辆的可信任程度信息获取所述路况信息的信任值,包括:

设置车辆的可信任值itrust,所述itrust的初始值为1,当车辆每发送一条正确的消息时,为车辆的信任值增加0.2;当车辆在发送的消息总数小于5次时发送了一条错误的消息时,对车辆的信任值减半处理;当车辆在发送的消息总数大于或者等于5次时发送了一条错误的消息时,对车辆的信任值不处理;

根据车辆的类别设置车辆的信任权值iweight,根据车辆的可信任值itrust和信任权值iweight计算出车辆的路况信息的信任值mtrust:

mtrust=∑(itrust*iweight)/n

所述n表示所述车辆的发送消息总数。

进一步地,所述的车辆将所述路况信息和所述路况信息的信任值封装在一个区块中,包括:

所述区块链中的各个区块按照发布时间的先后排序,所述车辆从下载的区块链中获取上一区块的相关信息,并设置记录区块生存时间的计时器,所述上一区块的相关信息包括上一区块的头部中的头散列值、时间戳、难度、“随机数”和“merkel根”,所述记录区块生存时间的计时器中的数值按照设定的时间间隔逐步减小,当该数值减小到0的时候,该区块失效;

所述车辆将所述路况信息、所述路况信息的信任值、上一区块的相关信息和记录区块生存时间的计时器封装在一个区块中,所述路况信息包括车辆用户的地址、路段和拥堵情况。

进一步地,所述的方法还包括:

设定所述车辆用户的私钥和公钥,用所述车辆用户的私钥对所述路况信息进行签名,将所述车辆用户的公钥公开,用所述车辆用户的公钥生成所述车辆用户的地址。

进一步地,所述的用所述车辆用户的公钥生成所述车辆用户的地址,包括:

(1)首先计算车辆用户公钥的sha-256哈希值;

(2)对第(1)步产生的sha-256哈希值,再进行ripemd-160哈希值,其产生结果名为fingerprint;

(3)再对fingerprint进行sha-256哈希值计算;

(4)对(3)的结果再做sha-256哈希值计算并截取前4个字节,将截取前的4个字节作为checksum校验码;

(5)在第(2)步产生的结果fingerprint前面加上0x00,后面加上第(4)步产生的checksum校验码;

(6)用base58表示法转换第(5)步的结果,由此得到所述车辆用户的地址。

进一步地,所述的根据所述路况信息的信任值和所述区块链的相关信息综合判断所述路况信息的可信任程度,包括:

路段中的各个车辆下载所述区块链中的各个区块,获取所述区块链中的路况信息和路况信息的信任值,根据区块链中记录区块链生存时间的时间戳获取区块链的生存时间tcdead,根据区块中的计时器的数值获得区块的生存时间tbdead;

将所述区块链的生存时间tcdead和所述区块的生存时间tbdead进行比较,当tbdead>tcdead时,将所述路况信息的信任值增加:当tbdead≤tcdead时,将所述路况信息的信任值减少。

由上述本发明的实施例提供的技术方案可以看出,本发明公开了一种车载自组网络中基于区块链技术的车辆隐私保护通信协议,该协议通过引入区块链技术,实现了车载自组网在去中心、去信任和不泄露隐私的情况下安全通信。该协议结合用户可信任度度量机制,消息分类的机制,vanet区块链的形成和消亡机制实现对可靠消息的认证。同时,引入了数字签名、车辆地址产生、消息加密算法,在保护用户隐私的前提下,利用vanet区块链技术,实现消息安全高效的认证。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种车载自组织网络的区块链的结构示意图;

图2为本发明实施例提供的一种车载自组织网络中基于区块链技术的车辆通信方法的处理流程图;

图3为本发明实施例提供的一种车辆信任值判断过程图;

图4为本发明实施例提供的一种对应公钥地址的产生过程示意图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

为了更好地将区块链技术与车载自组织网络进行融合,本发明实施例提供了一种车载自组织网络中基于区块链技术的车辆隐私保护通信协议。设计出一个区中心化、去信任的车载自组织网络消息安全认证方案。通过对所形成的车载自组织网络区块链进行分析来判定消息是否可靠,在该方案中,除了借鉴区块链技术不可篡改,去中心,去信任的特点,还引入了车辆分类、等级划分和奖惩机制,有了利益作为驱动可以更好的促进系统的正常运行。在该协议中,为每一个车辆节点分配很多对不同的公私钥对,并根据公钥产生相应的地址。为每一辆车分配初始的信任值,并根据车辆的表现来对信任值进行相应的增减。并将车辆按照可信程度的高低进行划分,分配不同的安全权值。然后设定vanet区块链中所包含的数据结构,设定区块和区块链的生存时间,并根据这两个时间来判读消息的可靠性。在本发明中,相同的路况信息才可以在一条区块链上进行链接,并且是按照时间的先后顺序进行的。

在上述车载自组中基于区块链技术的车辆隐私保护通信协议中,设计出一种适合车载自组织网络使用的区块链,图1为本发明实施例提供的一种车载自组织网络的区块链的结构示意图,在区块链的头部包含了上一区块头部的散列值、时间戳、难度、随机数、消息可信任值、merkle根、计时器。在区块链的主体部分包含了路况信息,该路况信息由车辆地址、路段和拥堵情况组成,路况信息用sha-256进行加密。

上述消息可信任值是对车辆发出的消息的可信任值进行评估,上一个区块的散列值即上一个区块的hash值,merkle根是路况信息的hash值,时间戳记录该区块链的创始区块的产生时间,将难度作为保留值,用于以后对车载自组织网络的共识机制进行相关研究,计时器记录该区块的有效时间,车辆地址表示产生该区块的车辆地址,路段是车辆所在的路段,拥堵情况表示在该路段是否畅通。

本发明实施例提供的一种车载自组织网络中基于区块链技术的车辆通信方法的处理流程如图2所示,包括如下的处理过程:

步骤s210:针对一个路段设置车载自组织网络中的区块链,所述路段中的车辆获取要发送的路况信息,根据所述车辆的可信任程度信息获取所述路况信息的信任值;

步骤s220:设定所述车辆用户的私钥和公钥,用所述车辆用户的私钥加密所述路况信息,将所述车辆用户的公钥公开,用所述车辆用户的公钥生成所述车辆用户的地址;

步骤s230:车辆将路况信息和路况信息的信任值封装在一个区块中,对车载自组织网络的区块链包含的各部分字段值进行设计,各个车辆将相同路段的相同路况信息链接到一个区块链上;

步骤s240:路段中的各个车辆下载所述区块链中的各个区块,获取所述区块中的路况信息和所述路况信息的信任值,根据所述路况信息的信任值,结合区块链的长度、生存时间、整个区块链的长度,以及区块链上的可信程度度量参数的变化,来综合判断所述路况信息的可信任程度;

进一步,在步骤s210中,首先当用户要发送路况信息时,根据gps系统来定位所在的路段,并根据车辆所安装的传感器以及车辆的速度来判断路况是不是拥堵。车辆的公私密钥对、地址,车辆的信任值和信任权值都存储在车辆的防篡改元件中。为了能够更好的实现共识机制,在车载自组织网络的区块链中,加入了车辆的信任值和信任权值的计算。

图3为本发明实施例提供的一种车辆信任值判断过程图。如果一个车辆的历史表现良好,那么它所产生的区块链里面包含的路况信息就更值得信任。在场景中的所有车辆节点都被赋予了初始可信任值itrust=1。为了鼓励车辆节点发送正确的消息,打击有恶意行为的车辆。采取这样的方式对车辆的信任值进行增减:当车辆每发送一条正确的消息时,为车辆的信任值增加0.2;当车辆每发送一条错误的消息时,对车辆的信任值进行减半处理。

但是,在现实的生活当中,车辆在收集信息的时也难免会出现错误,仅仅因为一次失误而将没有恶意行为的车辆的信任值减半,将不利于整个系统的消息认证。为了解决这个问题,在车辆的防篡改芯片中设置存储单元来记录最近n次消息发送的行为对信任值的影响情况。如果在这n次记录中,仅有一次发生了错误,那么这次错误就可以被原谅。由于最近的一次错误对信任值的影响是最大的,为了使itrust≥1,至少需要(0.2﹡n+1)/2≥1,经过计算得出当n≥5时可以达到理想的效果。

为了进一步提高效率,在该方案中,采取了对车辆进行分类的方法。当一辆在道路上巡逻的警车内和在相同路段上行驶的私家车辆同时发送出两条相反的消息时,肯定会相信警车所发送出来的消息。那么为了利用公用车辆这种高可信的优势,来为不同类别的车辆设置信任权值。信任权值越大,表明该类车辆更具权威性,对区块链可信任度的确定做出的贡献更大。用iweight来表示信任权值,本方案中,警车iweight=10,公交车的iweight=4,消防车和救护车的iweight=8,普通私家车辆的iweight=2。

在该方案中,用mtrust来表示消息的信任值,mtrust的计算公式如下:

mtrust=∑(itrust*iweight)/n(公式1)

n表示消息的次数

车辆将路况信息和消息的信任值等信息封装成一个区块,将该区块用车辆的私钥进行签名,用车辆的公钥验证通过后,将用私钥签名后的区块上传到相应的区块链上。

进一步,在步骤s230中,除了保留原有区块链的头部的“上一区块头散列值”、“时间戳”“难度”“随机数”以及“merkel根”外,还添加了消息信任值字段和记录区块生存时间的计时器,该计时器采用倒计时的方法来记录时间。在区块链的主体中,存储着与道路情况相关的数据,包括车辆地址、路段、拥堵情况。路况信息使用车辆用户的私钥通过sha-256进行签名,用count表示vanet区块头部中的计时器中的数据。其中设置count的目的是为了保证消息的实时性,count的初始值设置为5,每间隔一分钟进行减1操作,直到count=0,表示该区块实效。这个count参数的重要性在于消息的可信任度存在一个时效性问题,一个过时的消息将不再具有可用价值,这也是衡量消息是否有效的一个重要方面。

进一步,在步骤s240中,车载自组织网络是通过广播的形式传递消息的,车辆会不断的发送周围的路况信息,其他车辆可以收集它所发送的信息,车辆在收到信息后进行处理,将描述路况信息相同的消息链接在一起,根据连接在一起的这些消息的生存时间及可信任程度来计算。

各个车辆结合vanet区块链的长度、生存时间、整个区块链的长度,以及区块链上的可信程度度量参数的变化,来判断消息的可信程度。由于道路上的车辆流动速度非常快,所以对消息的时效性要求是比较强的。因此,区块链也是有它的生存周期的,用tcdead表示,超过这个生存周期的区块链会消亡。根据区块链中记录区块链生存时间的时间戳可以获取区块链的生存时间tcdead,根据区块中的计时器的数值获得区块的生存时间tbdead。

在本方案中,设置区块链的生存时间是30分钟,该生存时间通过区块链中的时间戳倒计时显示。对于单个的区块的生存时间,用tbdead来表示是这样设置的,在步骤二中提到了count的值,当count的值减少到0时,区块的生存期结束,在本方案中设置count的值为5。根据区块和区块链生存期的不同来判断该区块链上的消息的可信程度:

当tbdead>tcdead时:说明虽然该条区块链的生存期已经结束,但是其上的区块还没有结束它们的生存期,可以证明该条链上的消息被更多的车辆认可,该区块链上的消息是真实可信的,将所述区块中的路况信息的信任值增加。

当tbdead≤tcdead时:说明只有很少的车辆认可该条区块链上的路况消息,没有车辆发出相同的消息填在相应的部分,该区块链上的消息是不可信的,将所述区块中的路况信息的信任值减少。

最后根据该规则对发送正确消息的车辆进行奖励和信任值的计算,相应的对恶意的车辆进行惩罚和信任值的计算。

对于一条由普通私家车辆组成的刚好可以实现tbdead>tcdead的区块链来说,要满足该条件就需要tbdeadmax=n*count=tcdead,n=6。那么在一条区块链中至少要有6个区块才可以认为该链是可用的。

对于初始时的普通私家车辆来说,itrust=1,iweight=2。那么可以根据公式(1)计算出mtrust=2。那么当mtrust<2时,则需要对其进行进一步的验证。当mtrust≥2时,则认为消息是可信的。

另外在车载自组网的区块链中,各个区块都是按照时间的顺序进行链接的,前一个区块链的产生时间必然早于后面的一个区块链。这样可以避免区块链的重复链接问题。

进一步,在步骤s220中,详细介绍了如何利用公钥产生地址。图4为本发明实施例提供的一种对应公钥地址的产生过程示意图,具体处理步骤如下:

(1)首先计算用户公钥的sha-256哈希值

(2)对第(1)步产生的sha-256哈希值,再进行ripemd-160哈希值,其产生结果名为fingerprint

(3)再对fingerprint进行sha-256哈希值计算

(4)对(3)的结果再做sha-256哈希值计算并截取前4个字节,结果为checksum校验码

(5)在第(2)步产生的结果fingerprint前面加上0x00,后面加上第(4)步产生的checksum

(6)用base58表示法转换第(5)步的结果,由此得到车辆用户的地址。

在车载网中,为了防止车辆的隐私泄露,需要有多对密钥,当车辆去4s店进行保养时也会对这些密钥对进行更新。当车辆要发送信息就必须有自己的密钥和地址。地址就好比是现实生活中的邮箱,而密钥就是邮箱的密码。将相应的区块链存储在相应的邮箱里面,在接受消息的时候也要使用相应的公钥的消息进行验证。

综上所述,本发明公开了一种车载自组网络中基于区块链技术的车辆隐私保护通信协议,该协议通过引入区块链技术,实现了车载自组网在去中心、去信任和不泄露隐私的情况下安全通信。该协议结合用户可信任度度量机制,消息分类的机制,vanet区块链的形成和消亡机制实现对可靠消息的认证。同时,引入了数字签名、车辆地址产生、消息加密算法,在保护用户隐私的前提下,利用vanet区块链技术,实现消息安全高效的认证。

本发明实施例将区块链技术与车载自组织网络进行融合,同时,为了保证消息的匿名发送,也要为车辆定期分配多个签名密钥,这样可以保护车辆的个人隐私,在整个数据传递的过程中,还会根据车辆以往的行为表现对信任值进行增减,为不同的车辆分配不同的信任权值,并设置奖惩制度,利用区块链的生存时间,以及最终的消息可信任值来判断消息的真伪,在一定程度上提高了消息的可靠性。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1