一种基于区块链技术的车载自组织网络数据安全共享与存储系统的制作方法

文档序号:17065684发布日期:2019-03-08 22:54阅读:322来源:国知局
一种基于区块链技术的车载自组织网络数据安全共享与存储系统的制作方法

本发明属于车载自组织网络(vehicularad-hocnetwork,vanet)数据的安全传输与存储,涉及到信息安全领域中的区块链技术,以及基于椭圆曲线上双线性配对性质的数字签名验证技术。



背景技术:

车载自组织网络作为智能交通系统的一部分,它改善了交通流量和减少拥堵,并且提供了便捷的信息服务。其目标就是为道路上的车辆提供自组织的数据传输能力以及实现辅助车辆驾驶,安全预警等应用。交通管理中心可以通过分布式的同步、协调等来对道路资源的合理分配。因此,车载自组织网络为保障车辆的安全、高效行驶将对智能交通系统的发展起着重大作用。

车载自组织网络实体包含了许多内容,主要车辆、路边单元、可信机构和相关管理机构等。车辆可以与其他车辆或路边单元共享道路维护警告的安全数据,以及被认为是非安全数据的行驶路线预测信息。覆盖区域中的交通数据由路边单元汇总到云服务平台进行存储,并形成一个中央数据库。然而,数据是在非安全信道上传输,容易被攻击者截取或篡改。这种中心化的数据存储方式会面临着集中式恶意攻击,存在数据传输到中途被恶意篡改等安全问题。如果车辆发送的数据在中途丢失或被恶意篡改将会影响驾驶员的决策导致偏离路线,严重的甚至会威胁到车辆或驾驶员的安全。一旦中心化数据库遭受攻击将会导致大量的车辆数据泄露,并引起一系列不可控的安全事件。因此,迫切需要一种安全可靠的方法来解决上述安全挑战。

为保证车辆数据共享的安全,有许多研究者提出了解决方案。滑铁卢大学的张晨曦等人介绍了一种有效的批量签名验证方案(ibv),为了应对验证多个消息的时间延迟。滑铁卢大学的陆荣兴等人提出了在可信的参与下一直变更车辆的假名来保护用户的隐私的方案(spring),但是这种方案导致时间延迟增大并不适合车辆数据共享的实时性。斯坦福大学的danboneh等人构建了一个有效的聚合签名方案(bls)来减少验证过程中产生的通信开销。为了防止恶意车辆加入到车载自组织网络中,anna大学的mariaazees等人提出了一种有效的匿名认证方案(eaap)。上述所说的方案虽然能解决数据共享的安全性,但是又会引申出另一个数据存储的安全性和扩展性问题。传统车载自组织网络的中心化存储方式需要付出大量的时间和精力去维护,并需要高额的成本去管理。随着日益增长的车辆数据共享的需求,对数据存储提出了更高的要求。这种由可信的中心化存储方式一旦被攻击者侵入,就会导致大规模的数据泄露,给整个系统带来非常严重的安全威胁。

近年来,区块链(blockchain)作为一种正在迅速发展的颠覆性技术被人们广泛关注。区块链是一个去中心化的分布式数据库,它按时间顺序生成数据区块并以链条的方式组合成特定的数据结构。它利用密码学方式保证数据的不可篡改和不可伪造,可用于分布式计算和网络节点之间的数据共享。一些研究将区块链技术应用到物联网中,可用于解决设备间信息交互、数据存储的安全性问题。这种技术可以为车载自组织网络的数据存储的可扩展性问题提供解决方案。华东师范大学的刘虹等人提出了基于区块链技术的保护车辆能量和数据交互安全的解决方案。并在车辆之间的交互提供了数据硬币和能量硬币来激励车辆共享数据的热情。arizonastate大学的mayankverma等人提出了一种轻量级解决方案,通过创建和传播紧急消息时使用加密技术来解决车辆到车辆通信的安全挑战。新南威尔士大学的alidorri等人为智能车辆提供了分散的隐私保护和基于区块链的安全架构。但是他们的方案缺乏预选节点管理和扩展性等实际问题。广东工业大学的贾文康等人设计了一种基于联盟区块链的点对点电力交易模型,它虽然解决了可扩展性问题但是发现在信息交易过程中并不能完全保证其安全性且容易受到安全攻击。因为传统的区块链系统(例如,比特币)需要全网所有节点一起共识和记账,这将导致效率低下和网络堵塞等实际问题。而且上述方案不是很适合用于解决车载自组织网络中的数据共享与存储的安全问题。



技术实现要素:

本发明的目的是针对现有技术的不足,提出一种基于区块链技术的车载自组织网络数据安全共享与存储系统,以保证车载自组织网络安全的数据传输与存储,

本发明所述的一种基于区块链技术的车载自组织网络数据安全共享与存储系统,包括车辆、路边单元,以及可信或相关管理机构三种参与主体。车辆在与路边单元或其他车辆数据共享时,采用基于椭圆曲线上双线性配对性质的数字签名技术来保证信息的不可否认性和可靠性。联盟区块链技术让路边单元成为共识节点,车辆为感知数据节点。采用拜占庭容错(practicalbyzantinefaulttolerance,pbft)共识机制,提高故障节点的容错性,使系统更加稳定。路边单元内本地存储设备存储区块链副本和设备基础信息。在路边单元内的智能合约用于共享与存储数据时限制路边单元的触发条件,保证系统能稳定运行。另外,在传输数据时将数据的贡献量表示的数据硬币用来激励车辆共享的热情,使整个系统保持活跃性。

本发明是通过以下技术方案实现的。

本发明所述的一种基于区块链技术的车载自组织网络数据安全共享与存储系统,按以下步骤:

(s01):车辆节点和路边单元在可信机构(trustedauthority,ta)注册登记信息,从而获得相应的认证信息和系统参数。

(s02):路边单元收集由覆盖区域内车辆节点上传的数据,并进行身份验证和消息认证。若该车辆为非法车辆,则路边单元拒绝该车的数据传输并将非法车辆信息记录下来。若该车辆为合法车辆,则路边单元接收它所发的信息并且定期收集打包成数据区块。

(s03):通过路边单元验证并成为合法的车辆依据短程通信协议(dedicatedshort-rangecommunication,dsrc)每隔一段时间广播自身的交通状态数据,如速度、方向、道路状况等。车辆将感知数据共享给其他车辆节点或路边单元之前进行数字签名。为确保数据的不可抵赖性和完整性,采用基于椭圆曲线双线性算法对交互信息进行数字签名。

(s04):路边单元将收集的感知数据先缓存到记录池当中,直到记录池中的数据大小等于区块大小。路边单元内的智能合约根据感知数据的约束条件将自动执行合约,每当智能合约执行完毕后该合约产生的收据将记录在本地存储设备当中。

(s05):路边单元将定期收到的感知数据整理成数据区块,等待随机时间后广播该区块到全网的共识节点。利用拜占庭容错共识机制,使数据区块在全网达成一致性协议。

(s06):若该路边单元获得记录该数据区块的权利,则会广播给全网使其他共识节点对区块链数据进行同步保存,系统奖励相应数量的数据硬币给该路边单元,再由路边单元内的智能合约分配给该覆盖区域内上传数据的车辆节点。

本发明的整体结构具体有三个实体角色,车辆节点、路边单元节点、可信机构节点。其中,图1为三个实体之间数据共享的区域模型。具体内容如下:

1)车辆节点:车辆节点是指联盟链中的感知交通数据的普通节点,它们会定期发送车辆的相关数据和附近道路状况信息到路边单元节点。用字母vi表示第i车辆节点,其中所有的车辆节点可以表示成vi=(v1,v2,...,vi)。在这里所有的车辆节点都将是以的ridi身份信息被登记在联盟区块链中。

2)路边单元(roadsideunit,rsu)节点:路边单元节点是指在联盟区块链中的所有共识节点,它们具有达成共识获得记账资格的权利。这里用字母r表示,其中所有的路边单元节点可以表示成rj=(r1,r2,...,rj),j∈z。并且所有的路边单元节点都将以的真实身份登记在联盟区块链中,并且每个节点的对链内的其他节点都是可见的。一般来说路边单元节点的数量远小于车辆节点的数量,即j<<i。

3)可信机构节点:该节点是被认为最安全可信的。它可以是交通管理中心或汽车制造商,负责生成路边单元节点和车辆节点的身份认证信息和相关系统参数。该节点可以对路边单元节点进行监督和授权,并且可根据交通情况调度和管理智能合约。这里用字母t表示,其中所有的可信机构可以表示成tk=(t1,t2,...,ti),k∈z。通常来说,可信机构的数量远小于路边单元节点的数量,即k<<j。

本发明所用符号如表1所示:

表1本发明所用符号

本发明的更加具体实施步骤如下:

步骤1:车辆节点和路边单元节点加入车载自组织网络的初始化。

1)对于所有车辆vi、路边单元rj进行编号。车辆在加入车载自组织网络时,需要到可信机构节点处进行注册登记。可信机构可以是交通管理中心,也可以是相应的车辆提供服务商等。

2)再由可信机构节点对每个车辆节点、每个路边单元节点授予合法的身份,提供相应的认证信息和系统参数。包括生成m×n维的随机矩阵a、m维的列向量w、唯一的n维列向量di和身份信息idi。

3)当车辆节点和路边单元节点都被授予合法身份后,就可以按照自己的需求将一些非敏感数据共享给其他车辆或上传到路边单元内。例如,车辆前方信号灯周期信息、车辆周围道路状况信息和其他车辆传输的数据等。从而根据所需的数据来辅助驾驶,提高系统的效率。将一些敏感数据存储在车辆内,不参与共享以防止泄露。例如,车辆的车牌号、颜色、大小以及车主的基本信息等敏感数据。

步骤2:对车辆身份信息进行验证。

路边单元节点对通信范围内的所有车辆的数据进行管理,收集区域内车辆节点上传的数据。由于可信机构节点给合法车辆颁布了合法信息,则路边单元对需要上传数据的车辆节点进行身份验证,其他车辆节点也可以对需要共享数据的车辆节点进行身份验证。只有通过身份验证的车辆节点才可以进行下一步的数据操作。

1)第一步,路边单元验证需要上传数据的车辆节点v的身份。若该车辆为非法车辆,则路边单元直接拒绝该车辆的加入;若该车辆身份验证通过,则路边单元接受该车辆的加入,并等待上传数据操作。车辆向签名者路边单元发送签名请求信号。

2)若路边单元收到信号后,计算认证参数r和s。并发送认证信息给v。

3)车辆节点v收到路边单元发来的信息,计算和验证认证参数等式是否成立。若成立,则继续发送计算后的认证参数给路边单元,并带有时间戳信息。路边单元收到消息后再次验证它是否成立。验证通过将继续与v之间进行通信。

只要是在同一个路边单元的覆盖区域内,车辆与路边单元首次通信时需要进行身份验证才能进行之后的消息签名。当首次认证完成后,车辆与其他的车辆通信需要路边单元签名时,则不需要再次进行认证。

步骤3:对车辆发送的数据进行数字签名。

通过路边单元的身份验证后,车辆节点在共享交通状态数据时可根据短程通信协议每隔100-300ms来广播给其他节点。车辆将感知数据共享给其他车辆或者上传到路边单元节点需要进行数字签名,以保证数据的不可抵赖性和完整性。该数字签名算法是以基于椭圆曲线双线性对理论为基础,对交互的信息进行安全高效的验证。

1)首先初始化,假设g和gt分别为加法循环群和乘法循环群,它们的阶数都为q,p表示g中的生成元。则双线性映射为满足双线性、非退化性和可计算性。

2)其次,车辆节点v随机选取三个参数,设置随机化参数和假名信息以防泄露等。然后计算中间参数,v将计算后的参数发送给路边单元。

3)最后,签名者路边单元收到中间参数之后对它进行签名,计算签名信息并发送给v。车辆节点收到路边单元发送来的签名信息后计算最终签名信息。在对消息进行签名的时候,路边单元与车辆共同生成用来车辆之间进行认证的消息签名。

步骤4:根据智能合约对感知数据进行整理。

车辆上传的感知数据先缓存到路边单元内的记录池当中,在此等待验证。当记录池中的数据大小等于数据区块的大小时再将它整理打包进行广播。在路边单元内部署智能合约,并写入一些约束条件。例如,数据共享的对象、大小和范围,以及共享的时间限制等。合约一旦部署,达到某一触发条件后将会自动执行。根据智能合约来对记录池中的数据进行操作,把一些非法的、没用的数据进行剔除,对一些合法的、有效的数据进行整理。并且每执行一次智能合约的收据也将记录在本地存储设备当中。

步骤5:对数据区块的共识过程。

路边单元定期整理收到的感知数据并打包成区块,等待随机时间后广播该区块到全网的共识节点。本发明的共识节点为所有的路边单元,它们通过有线网络进行通信。

为避免损坏的路边单元对区块的共识产生错误的判断,则需要用pbft共识机制。这种容错性大的共识机制将有利于系统共识的稳定性和高效性。若该数据区块被其他共识节点验证不通过,则该区块被拒绝添加到区块链当中。并做好进行下一个数据区块验证的共识准备。若该数据区块被验证通过,则将会被添加到联盟区块链的末端使整条链的高度加一。

步骤6:为促进车辆的数据共享,应用了激励机制。

该路边单元获得记录该数据区块的权利后,则会广播给全网使其他共识节点对区块链副本进行同步保存,使全网数据达到统一。系统会根据该路边单元的贡献给予相应的数据硬币奖励。这种数据硬币可用于车辆节点获取网络中数据的一种数字货币。再由路边单元内的智能合约对数据硬币进行分配给该覆盖区域内的车辆节点。根据它们的贡献量来按比例分配,以此提高车辆进行数据共享的热情。车辆贡献数据将获得数据硬币,车辆获取数据则需要花费数据硬币。

本发明在前人许多解决方案的基础上进行了总结,并公开了一种基于区块链技术的车载自组织网络数据安全共享与存储系统。对于所采用的区块链类型的选择,从车载自组织网络节点的分布情况和数据传输效率角度来看,采用传统公有链和私有链都不太适合。另一方面,由于路边单元相对于车辆具有更大的存储能力,且对匿名性和实时性要求较高。因此,联盟区块链是最适合提高系统安全和效率的区块链类型。其中,合法的路边单元为联盟链的共识节点成员,并且可根据车载自组织网络的规模来设定路边单元的数量。本发明使用了拜占庭容错算法共识机制。该算法使系统即便有一些异常节点,也不会影响最终结果。当车载自组织网络中的车辆在共享数据被恶意攻击者窃取或者篡改时,可采用数字签名技术提高信息交互的安全性。当中央数据库被攻击者攻击后,往往会导致系统大量节点瘫痪无法运行。通常的解决方式是对中央数据库进行维护,需要付出大量的时间和精力。本发明设计的方案解决了上述存在的安全挑战,可保证数据共享的安全性和数据存储的扩展性。这样不仅提高了数据共享的安全而且使数据存储具有可扩展性。

本发明通过联盟区块链技术来保障车辆在与其他车辆共享数据时的安全性、防篡改性。利用智能合约可对上传的感知数据进行管理,以及分配奖励的数据硬币给相应的车辆节点。可信机构可根据最高权限调整智能合约的约束条件,来实现对当前设备的运行政策实时调控,保证该设备的高效运转。在信息交互阶段,采用基于椭圆曲线双线性对性质的数字签名技术来对消息进行签名,保证数据的安全性、防篡改、不可否认性和完整性等。最后,通过奖励数据硬币给车辆节点,促进了车辆共享数据的热情,提高系统的稳定性和活跃性。

附图说明

图1为数据共享的区域模型图。

图2为数据存储的数据区块结构图。

图3为车载自组织网络数据共享与存储系统的整体架构图。

图4为数字签名和身份验证的流程图。

图5为系统中数据区块的共识过程流程图。

图6为车载自组织网络数据共享与存储系统的整体流程图。

图7为智能合约与基于数据硬币的奖励机制过程。

具体实施方式

为了更加详细的说明本发明,以下将以具体实施例对本发明作进一步说明。

实施例1。数字签名技术。

本发明中涉及了大量的车辆进行数据共享,在信息交互过程中很容易被监控和伪造。系统需要一种安全的隐私保护方法,来确保信息的准确性和防篡改。来自车辆节点的基本信息必须经过身份验证和完整性检查才能被授权。否则攻击者就可以替换数据甚至假冒其他车辆来广播错误的信息。因此,在联盟链中用基于椭圆曲线双线性对性质的数字签名技术来对车载自组织网络中的消息传输进行批量匿名认证。对应(s02)及图4,下面将详细介绍数字签名的具体步骤。

(1)预分发阶段

车辆节点和路边单元节点在加入网络前需要在可信机构处登记注册。它们被可信机构授权后,将获得相应的认证信息和系统参数。

1)随机选取一个素数q,阶数都为q的两个群g和gt,其中g为一个循环加法群,gt为循环乘法群。g中的生成元为p和双线性映射

2)可信机构随机生成一个m×n维的矩阵a(2≤m≤n)和一个m维的列向量ω,并且满足线性方程组ad=ω有无穷多解,即

3)可信机构为每个合法车辆节点生成唯一的n维列向量di,di且满足adi=ω,即di是线性方程ad=ω的一个解。然后可信机构将向量di发给相应的车辆节点vi作为其真实身份信息。可信机构随机选取一个m维列向量d,并计算的身份

ridi=dtdi(1)

最后,可信机构将a、d、ω作为路边单元与可信机构之间的共享秘密通过安全信道发送给路边单元。

4)路边单元在素数模q的单位群和有限域中生成自身的私钥x1,并且计算另一个私钥x2,其中

x2=(dtω)modq(2)

对应的公钥为ppub1=x1和ppub2=x2p,h:{0,1}*→g是一个单向散列函数。每个路边单元节点和车辆节点都可以公开访问系统参数

(2)身份验证和签名密钥生成

在车辆节点与路边单元进行通信之前需要被进行身份确认。对车辆的消息签名做好准备,车辆节点再向签名者路边单元发送签名请求信号。详细步骤如下:

1)首先路边单元rj随机选择k,且并计算认证参数r和s。

r=ka(3)

s=kω(4)

发送验证信息给车辆vi。并且其中t1是与消息传输时间相关联的时间戳。

2)车辆vi收到路边单元rj发来的数据,并存放在防篡改装置内。车辆上的防篡改装置(tamper-proofdevice,tpd)是被认为非常可靠的,其信息从未被披露过。首先计算:

r=rdi(5)

然后验证信息是否成立,如果它们是相等,则发送给路边单元rj。并且其中t2是与消息传输时间相关联的时间戳。

3)路边单元rj接收到消息验证是否成立。如果验证成功则继续与车辆vi之间的通信,否则就会中断通信。再选取随机参数yi,并且然后,计算ρi=yip,将参数ρi发送给车辆用户。如果ρi和ridi都验证通过,则防篡改装置将开始生成匿名身份和签名密钥。

4)车辆随机选择系统参数μi、ri1、ri2,设置随机化参数ci,并且计算假名aidi:

ci=μiρi(6)

aidi=ridit2(7)

紧接着计算签名密钥βi和γi

βi=ri1h(aidi||ci||mi)+ri2p(8)

γi=ri1μi(modq)(9)

最后,防篡改装置输出签名密钥(βi,γi)。

在路边单元的通信范围内,车辆节点与路边单元首次通信时需要进行双向匿名验证才能继续下一步的消息签名。验证完成后,当车辆与其他车辆进行通信需要路边单元协助以生成签名时,车辆与路边单元之间不再需要进行认证。从而可以减少了整个通信过程的通信开销和计算开销。

(3)消息签名阶段

在消息签名阶段,路边单元和车辆共同生成用于车辆之间进行认证的消息签名。由签名者路边单元接收到(βi,γi)后,对车辆发送来的消息进行签名

ti=x1βi+x2yγip(10)

然后,计算出ti后发送给车辆用户。车辆用户收到签名者路边单元发送来的签名ti,计算最终签名信息si

si=ri1-1(ti-ri2ppub1)(11)

最后,车辆用户获得签名者路边单元对消息mi的签名σi=(aidi,si,ci,mi)。

(4)消息验证阶段

消息验证过程有两种方式:单一消息验证和批量消息验证。关于这两种版本的详细描叙如下:

1)单一消息验证

接收者车辆接收到发送者车辆的签名σi,通过验证

是否成立来检查(aidi,si,ci,mi)。如果等式(12)是成立,就验证通过。说明车辆身份是合法,接收该信息;否则,拒绝该消息。

2)批量消息验证

在批量验证中,车辆或路边单元可以同时验证多个消息的真实性,表示为σ1=(aid1,s1,c1,m1),σ2=(aid2,s2,c2,m2),...,σi=(aidi,si,ci,mi),其中m1,m2,...,mi可能相同。

如果等式(13),则证明这些消息签名都是有效的,验证者接收这些消息。

由于在车载自组织网络中车辆节点在移动,而路边单元节点一般不会动。因此车辆会经历从一个路边单元的通信范围内到另一个路边单元通信范围内的转变。这样可能会导致数据共享的延迟,可用软切换方法使车辆节点与当前位置更接近的不同路边单元相关联。

实施例2。区块链数据区块的建立。

在本发明的联盟区块链的路边单元记账节点负责将一定时间内车辆上传的交互信息收集到本地存储设备当中。并对这些记录进行加密和数字签名,然后整理成区块,如(s04)。图2为本发明中的区块链结构,为了使数据具有可追溯性和防篡改每个区块内都含有前一个区块的加密哈希值。和比特币(bitcoin)系统类似,记账节点需要找到一个满足某个难度的哈希值,来提供有效的工作量证明。

数据区块一般由区块头和区块体构成。区块头包含当前的版本号、当前区块共识过程的求解随机数、时间戳和merkle根的值以及前一区块的哈希值等信息。前一区块的哈希值可用于追溯数据区块的历史信息和验证数据区块的合法性。区块体包含了一个由交易数据记录进行哈希运算形成的merkle树结构。它是一种二叉树,用于存储交易信息。其中区块中的merkle根的值组成,包括每辆车所上传的不同数据进行hash()运算得出。有车辆的速度数据、方向数据、路线数据、位置数据和交通状态信息等。依据merkle树结构算法,两两进行hash()运算,直到生成唯一的merkle根存入到区块头中。具体merkle树运算过程如下:

假设路边单元通信范围内的车辆vi上传的一系列数据表示为di,首先计算hash(d1d2)=d12,hash(d3d4)=d34,...,hash(dn-1dn)=d(n-1)n,然后进行第二次hash()运算,则hash(d12d34)=d1234,hash(d56d78)=d5678,...,hash(d(n-3)(n-2)d(n-1)n)=d(n-3)(n-2)(n-1)n,以此类推,最后只剩下两个哈希进行运算。计算出最后的哈希值为hash(d12...idi(i+1)...n),也就是merkle根的值。反之,我们要验证该区块的合法性,只需要验证merkle根的值。

路边单元根据随机数前一个块的哈希值、时间戳、merkle根等数值(表示为pre_data)来计算当前区块的哈希值,计算满足不等式的随机数其中指系统用于路边单元计算正确随机数的难度值。系统可以根据相关条件调整来控制找出特定随机数的速度。最快找出目标哈希值的矿工(路边单元)将区块和特定的随机数广播给其他的矿工。其他矿工审核并验证区块中的交易记录和随机数值。若该区块被验证通过,区块中的消息记录将按线性和时间顺序添加到主链的末端。

实施例3。共识流程的实现。

在本发明中的联盟区块链中采用实用性拜占庭容错(practicalbyzantinefaulttolerance,pbft)共识机制。其共识过程由普通路边单元节点和领导者(表示为leader)路边单元节点来共同完成。leader为该共识过程中的主节点,其他的普通路边单元节点为从节点,如(s05)。图5为本发明的共识过程流程图,领导者将其收集到的数据区块广播到从节点当中进行验证和审查。在异常的从节点当中,一般为作恶节点和故障节点,其行为是对其它节点的请求无响应。假设网络总的节点数为n,异常节点数为f。系统使用pbft共识算法将最大允许f=(n-1)/3的异常节点存在,并且不会影响共识结果。详细的共识步骤如下:

(1)请求阶段

主节点的通信范围内所有感知节点(称为客户端)上传的数据被集合成一个新的数据区块。该区块为了能够被审查验证,上面含有主节点的数字签名以及该区块的哈希值等信息。请求端发送请求到任意路边单元节点,激活该节点的服务操作并称为领导者,并准备下一步操作。

(2)预准备阶段

领导者收到请求后向每个从节点广播交易执行的顺序。主节点将从感知节点收集到需要放在新的区块内的多个交易进行排序后存入列表,然后将该列表向全网广播。从节点收到消息后会有两种选择。一种是从节点正常接受消息,另一种是从节点异常拒绝接受消息。

(3)准备阶段

当每个从节点接收到交易列表后,验证和审计交易的完整性和合法性。把审计结果添加上各节点的数字签名并广播给其它非主节点。如果节点收到了数量为2f的不同节点的消息,表示该节点的准备阶段已经完成。系统最大可容忍节点的数量为f(即n≥3f+1),异常节点则无法广播。

(4)确认阶段

节点接收并汇总其他从节点的审计结果,与自身的审计结果进行对比。从节点向其他从节点广播确认消息。若从节点收到了数量为n-f(包括它自己的消息)的确认消息后,再向客户端进行反馈结果,并将结果写入区块当中。

(5)回复阶段

若主节点和从节点都收到一定数量的相同请求,则对客户端进行反馈。只要满足异常节点f≤(n-1)/3,就不会对共识结果产生影响。所有节点都将采用少数服从多数的基本原则。

最后,所有的节点都达成共识,同意这个新的区块被添加到联盟区块链上。图6为本发明从感知数据的共享到安全存储过程流程图。领导者将当前审计的数据区块和相应的数字签名的记录发送给所有授权的路边单元进行存储。之后,该区块存储在基于联盟区块链的数据安全共享与存储系统中,并且领导者获得相应奖励。领导者将进一步分析系统中不赞同的路边单元的审计结果,判断这些路边单元是否存在恶意行为,及时对其进行处理。可信机构会根据从节点达成共识的反馈结果,对异常的从节点进行维护或剔除。使用pbft共识算法对分布式网络具有比较好的容错能力,更加高效地保障系统数据的安全性和准确性。

在一个节点通过共识过程获得新区块的记账权后,系统将会给予一定数量的数据硬币奖励。这个数据硬币是根据感知节点贡献的数量贡献量来表示。该节点会根据数据记录池中每辆车的贡献数据的比例来分配奖励。该节点设定数据硬币分配的对象、数量和范围,以及数据的共享时间等约束条件。通过执行智能合约的脚本文件来完成预先设定好的操作流程。为了保证数据共享的公平性和合法性,智能合约在加入联盟区块链的节点上在触发条件后将自动执行。以给予数据硬币的激励模式来促进整个联盟区块链中车辆数据共享的积极性,如(s06)。图7是由智能合约来控制数据硬币的奖励分配机制。数据分享车辆(vs)可以将数据传输给数据获取车辆(va)。则va将一定数量数据硬币转移到vs给出的地址。没有足够数据硬币的va可以根据贡献相关数据量来获得以完成付款。在数据交互期间,数据硬币被定义为关于车辆的数据贡献量的证明。

假设,r1获得记账权,系统给予数量为r的数据硬币奖励。该路边单元r1通信范围内的vs贡献数据量为s,而收集到的感知数据记录池总共为t。在r1中的智能合约会首先查看该车辆节点是否在控制范围内,以及在记录池中该车辆数据贡献量的比例。根据相应的数据贡献百分比例来分配数据硬币。

其中r是vs在本次数据区块记录中所获得的奖励。若va想从vs或r1中获得所需的数据,将要支付对应的数据硬币给他们。为了平衡车载自组织网络中的数据需求和供应,以提供激励机制来鼓励车辆节点出于自身利益来满足当地的数据需求。如果更频繁地为车载自组织网络协作智能做贡献,它将被分配更高的优先级去访问资源池。

实施例4。安全性分析。

本发明的数据安全性对整个车载自组织网络系统来说至关重要,且满足数据交易和数据存储所需的安全需求。相关安全性如下:

(1)去中心化:与传统的车载自组织网络数据存储方式不同。本发明采用了联盟区块链的分布式存储方案。它不依赖于可信任的第三方实体的数据库,避免了传统中心化数据存储容易遭到集中式恶意攻击的可能并节省了维护中心化数据库的成本。去中心化存储是将数据内容进行复制,分散存储在网络的各个节点当中。利用的是所有路边单元的闲置资源,使整个系统效率得到显著提高。

(2)隐私保护:通过非对称加密和签名验证技术,攻击者没办法在短时间内暴力破解打开加密的数据。并且车辆节点在数据传输时,攻击者无法轻易找到该车辆的真实身份。所应用的基于椭圆曲线上双线性对性质的数字签名认证方案,将车辆vi的真实身份rid转换成了匿名身份aidi=ridit2(其中ridi=dtdi)。即使攻击者知道可信机构为车辆vi生成的唯一的di,还需要知道可信机构随机选取的m维列向量d。因此,要找到车辆vi的真实身份时非常困难的,保证了身份隐私。

(3)不可否认和完整性:在数据的共享阶段,所有的交易数据在发送之前,都需要由当前车辆节点进行签名。再由可信机构登记的合法车辆和授权的路边单元进行身份验证。只有通过身份验证的合法车辆才能发送共享数据和接收数据。通过数字签名技术知道数据发送者的来源,保证了数据的不可否认性。利用了工作量证明机制,将所有的加密的感知数据由路边单元执行公开审计和验证。如果数据被改动或者不完整,共识阶段将不能通过。这就保证了发送的数据具有完整性。

(4)不可伪造和不可篡改:联盟区块链分布式的特性与数字签名技术相结合保证了没有攻击者可以假冒成合法车辆节点来威胁网络。这是因为任何实体在没有签名者私钥的情况下,都无法伪造其他实体的数字签名。控制系统中的一个或多个路边单元的对手也无法改变最后真实数据的任何信息。因为使用了pbft共识算法,保证在系统遭受到33%的节点破坏下仍能正常工作。例如,该区域内路边单元总数为n,一个路边单元想要称为异常路边单元节点的概率为1/2。攻击者想要篡改共识结果,则至少需要控制f=(n-1)/3的恶意节点。在这种情况下要想篡改成功的概率仅仅为1/2(n-1)/3。可以看出,随着全网中的路边单元的增多,想要恶意篡改的可能性将会越小,系统也将更稳定。

实施例5。通信开销对比。

(1)计算延迟:在车辆的数据共享中,主要的计算延迟是消息的验证延迟。本发明中所用到的签名验证和其他方案中验证进行对比,如表2所示。其中,tmul代表一次椭圆曲线上的点乘运算,tpar代表一次双线性对运算,而tmtp表示maptopoint散列操作的时间。由于影响验证速度的因素主要是这三种操作,其他运算忽略不计。采用嵌入度为6的mnt曲线,且指数为160位表示。该实验在intelpentiumiv3.0-ghz机器上执行,得到以下结果。tpar=4.5ms,tmtp=0.6ms,tmul=0.6ms。

表2几种验证方式的验证开销比较

本发明所消耗的验证延迟和一些代表性的方案进行了对比,可以看出进行单个签名验证时本发明方案所需的延迟时间更少。例如有ibv、spring、bls和eaap等方案与本发明方案在验证单个签名和验证n个签名的延迟时间进行对比。并且随着验证消息数量的增多,其验证延迟不会随着消息的增多而延长。

(2)传输性能

本发明的一个新的数据区块的交易确认时间设置为10分钟,而传统区块链系统(例如比特币)的交易区块确认时间为60分钟。因此,在传输效率方面本发明的验证速度是传统的6倍,将更具有优势。在数据区块共识方面,本发明只对预选节点路边单元实现共识过程而不是系统中所有的连接节点。

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