«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (10): 43-51  DOI: 10.19678/j.issn.1000-3428.0060802
0

引用本文  

李子健, 章国安, 陈葳葳. 基于区块链的车联网安全通信策略[J]. 计算机工程, 2021, 47(10), 43-51. DOI: 10.19678/j.issn.1000-3428.0060802.
LI Zijian, ZHANG Guoan, CHEN Weiwei. Blockchain-based Secure Communication Strategy for Internet of Vehicles[J]. Computer Engineering, 2021, 47(10), 43-51. DOI: 10.19678/j.issn.1000-3428.0060802.

基金项目

国家自然科学基金"基于SDN和MEC的车联网5G-V2X通信技术研究"(61971245)

通信作者

章国安(通信作者), 教授、博士、博士生导师

作者简介

李子健(1997-), 男, 硕士研究生, 主研方向为车联网、区块链、网络安全;
陈葳葳, 本科生

文章历史

收稿日期:2021-02-03
修回日期:2021-05-07
基于区块链的车联网安全通信策略
李子健 , 章国安 , 陈葳葳     
南通大学 信息科学技术学院, 江苏 南通 226019
摘要:为完善车联网信任评估机制并建立车辆间的信任关系,提出一种基于区块链技术的车联网安全通信策略。利用椭圆曲线加密算法进行车辆身份注册与验证,结合基于Beta分布的直接信任值与基于PageRank算法的推荐信任值求得车辆综合信任值。通过智能合约技术对车辆综合信任值及交互信息进行管控,实现车辆综合信任值的上链、更改与更新。仿真结果表明,该策略能够有效抵御车联网内部与外部攻击,保证数据传输的安全性,且满足车联网车辆在高速移动环境下的高吞吐量及低时延通信需求。
关键词车联网    区块链    信任评估    安全通信    RAFT共识机制    
Blockchain-based Secure Communication Strategy for Internet of Vehicles
LI Zijian , ZHANG Guoan , CHEN Weiwei     
School of Information Science and Technology, Nantong University, Nantong, Jiangsu 226019, China
Abstract: In order to improve the trust evaluation mechanism of the Internet of Vehicles(IoV) and establish the trust relationship between vehicles, a blockchain-based secure communication strategy for IoV is proposed.The elliptic curve encryption algorithm is used to realize identity registration and verification of vehicles.Then by using the direct trust value based on Beta distribution and the recommendation trust value based on the PageRank algorithm, the comprehensive trust value of a vehicles obtained.The smart contract technology is used to control and manage the comprehensive trust values and interaction information of vehicles, implementing the signing up, modification and update of comprehensive values of vehicles.Simulation results show that the proposed strategy can assist in defending against internal and external attacks on IoV, ensure the security of data transmission, and meet the communication requirements of rapidly moving IoV vehicle nodes for high throughput and low delay.
Key words: Internet of Vehicles(IoV)    blockchain    trust evaluation    secure communication    RAFT consensus mechanism    

开放科学(资源服务)标志码(OSID):

0 概述

随着第五代移动通信技术的快速发展,车联网(Internet of Vehicles,IoV)通过不断降低车与车(Vehicle-to-Vehicle,V2V)、车与道路基础设施(Vehicle-to-Infrastructure,V2I)之间的通信时延,为道路交通安全与畅通提供了有效保障,但由于车辆的高速移动性和动态性,使得网络拓扑不断变化,极易遭受恶意节点入侵与攻击,影响整个车联网系统的安全。近年来,车联网安全问题受到越来越多学者的关注。传统解决方案采用公钥基础设施(Public Key Infrastructure,PKI)对车辆身份进行认证[1-3],利用加密[4-6]、数字签名[7]等技术对车辆身份及交互信息进行管控。为提高隐私保护能力,车辆周期性接收到证书机构所产生的假名,并用假名在车联网环境中进行匿名通信。利用上述技术能够有效防止身份伪装及隐私泄露,抵御篡改、女巫等攻击[8-9],但由于车联网点对点(Peer-to-Peer,P2P)的交互模式,无法抵御内部恶意节点的攻击。内部恶意车辆节点在注册身份后,以合法身份越过静态信任机制认证,对车联网环境中的其他车辆节点进行信息欺骗等攻击[10-11],会对车联网安全造成危害。通过将信任机制引入点对点网络,双方通过历史行为轨迹对对方进行信任评估,能够有效排查出环境内部的恶意节点。文献[12]提出基于贝叶斯的信任模型,利用概率评估可信度。文献[13]综合考量交易总数、交易满意度、反馈信任度等与信任有关的参数,提出一种基于信任的P2P信任模型。近几年,许多学者将车联网中的安全技术与信任机制相结合,构建车辆节点间的信任关系。文献[14]通过将本地与全局信任相结合来构建一个反攻击的信任体系。文献[15]提出基于人为因素的车辆信息估计算法,通过车辆间信任和基于OSN信任的融合,综合估计车辆的总体信任值。文献[16]在车联网中建立信任模型,将可信性检查和邻节点推荐相结合,抵御中间人攻击。但上述方案并没有给出完整的车联网信任机制,如何有效地在车联网中实施信任评估并对评估节点及其信任值进行管理,成为车联网亟待解决的安全问题。

区块链[17-18]作为比特币的核心技术,因去中心化、开放性、防篡改性、匿名性、可追溯性等特点成为近年来的热门研究方向。区块链技术的各种特性与车联网安全十分契合,能够为车联网中车辆身份和交互信息的验证和保存提供全新的思路。文献[19]将SDN与区块链技术相结合来存储车辆视频信息,并提出一种信任管理机制来扼制恶意节点发送虚假信息。文献[20]利用将位置证明替换工作量证明的区块链来保存更新车辆的信用值。文献[21]使用PoW及PoS共识机制将含有信任值的区块上传到区块链。文献[22]采用联盟链中的PBFT机制及公有链中的PoW机制来选择Leader节点。文献[23]提出一种基于联盟链的车联网管理方法,利用改进的DPoS共识对车辆数据的安全分享提供保障,但是没有对车辆的可靠性进行分析,进而影响了对矿工的判定。上述文献通过联盟链与车联网的结合,在一定程度上解决了车联网内部信任及信息存储问题,但是多数文献将公有链中的共识机制应用于联盟链,造成了巨大的算力资源浪费,并且网络性能较差。本文设计一种基于区块链的车联网安全通信策略,采用基于椭圆曲线的加密技术对车联网外部攻击进行防御,利用基于Beta分布的直接信任和基于PageRank算法的推荐信任相结合的信任评估对车联网内部攻击进行防御,使用智能合约技术实现车辆信息上链、查询以及信任评估功能,通过RAFT共识机制降低车联网时延并提高吞吐量。

1 基于区块链的车联网安全通信策略架构 1.1 系统模型

基于区块链的车联网安全通信系统模型如图 1所示,由证书颁发机构(CA)、路侧单元(RSU)和车载单元(OBU)构成。CA负责为进入车联网的合法车辆进行身份注册,产生公私钥对,颁发身份证书。RSU是分布在路边的设备,通过长期演进技术(Long Term Evolution,LTE)与车辆上的OBU进行信息传递,还负责将收集到的数据上传到区块。OBU是车联网的参与者,能够与其他参与车联网的车辆、路侧单元、证书颁发机构进行通信,并向RSU上传车辆信息。

Download:
图 1 基于区块链的车联网安全通信系统模型 Fig. 1 System model of blockchain-based IoV secure communication

基于区块链的车联网安全通信系统模型包括数据传输层、数据共识层和数据储存层。数据传输层由车辆和RSU组成。RSU负责收集车辆上传的历史信任数据,并将其共识存储至区块链网络。车辆作为用户节点,驶入RSU通信覆盖范围,与RSU进行交互。为保证V2V通信安全,车辆间利用信任模型进行信任评估,从而进行安全消息传递。数据共识层由RSU组成,RSU将接收到的信息上浮至数据共识层,通过共识机制进行Leader选举并对信息进行排序共识。数据储存层根据选出的Leader将这一时间段的信息进行排序共识,并将数据上传到区块链。

1.2 策略流程

根据上文系统模型,提出基于区块链的车联网安全通信策略,策略流程如图 2所示。接入车联网的RSU节点与车辆节点通过CA机构进行身份注册得到注册信息,并将注册信息存储至区块链。在车辆间通信时,通过检索区块链查验交互对方信息是否属实,并计算对方车辆在此阶段的信任值判别其可靠性,同时将本次计算的信任值存入区块链。如果某一车辆的信任值多次低于某个设定的信任阈值,则将此车辆假名置于撤销列表,车辆需重新向CA申请身份注册。

Download:
图 2 基于区块链的车联网安全通信策略流程 Fig. 2 Strategy procedure of blockchain-based IoV secure communication
1.3 基于RAFT共识机制的区块链设计

区块链通常采用PoW共识机制来完成对信息的上传,虽然PoW去中心化程度及安全性能高,但是挖矿记账将浪费大量资源及时间,系统性能较差,无法满足车联网节点的高速移动性及低时延要求。本文策略使用RAFT作为区块链的共识机制,具有如下优势:

1)复杂度仅为On),优于PBFT的On2)。

2)可容忍(n-1)/2个故障节点,有效防止RSU宕机产生的数据丢失等问题。

3)对于车联网,Leader选举机制能较好地避免资源被浪费,数据信息上传速度快且不会出现分叉。

RAFT算法中的所有节点包含Leader、Candidate、Follower等3种角色,作为强一致性算法,选举出的Leader角色能够决定信息的上链。RAFT共识机制的具体过程如下:

1)一开始区块链系统中的所有RSU节点都为Follower节点,如果Follower节点在一段任期(Term)中没有收到Leader或者是Candidate的响应,则自动增加任期,转变为Candidate节点,对其他节点发起投票。当得票数超过一半时,则说明此节点被选举为Leader。如果另一个Candidate节点赢得选举,则此节点返回为Follower节点。RAFT选举流程如图 3所示。

Download:
图 3 RAFT选举流程 Fig. 3 Procedure of RAFT election

2)Leader节点将接收到的信息以区块形式打包并广播给其他节点。区块中的区块头摒弃了公链需要的随机数(Nonce),并增加了任期,如图 4所示。其他节点收到区块后对区块内容中的时间戳和任期进行验证,并复制一份作为存证。

Download:
图 4 区块结构 Fig. 4 Structure of block

3)在得到超过半数节点的响应后,Leader节点将区块上链。

2 基于区块链的车联网安全通信策略设计

策略设计由基于椭圆曲线算法的身份注册、信任评估、安全通信等3个部分构成。身份注册和安全通信中的符号说明如表 1所示。

下载CSV 表 1 符号说明 Table 1 Symbol description
2.1 身份注册

所有参与车联网的RSU及车辆都需要向CA进行身份注册,RSU将自己身份ID提交给CA。CA利用椭圆曲线加密算法对接入车联网的车辆及RSU生成公私钥对及证书。CA产生一个椭圆曲线Ep(ab):y2=x3+ax+b(mod p),必须满足4a3+27b2≠0,且在椭圆曲线上取一个基点Gxy),其中,p为素数域内点的个数,ab为两个大数。RSU与车辆的注册流程如图 5所示。

Download:
图 5 RSU与车辆的注册流程 Fig. 5 Procedure of RSU and vehicle registration
2.1.1 RSU注册

所有参与车联网的RSU都需要向CA进行身份注册,RSU将自己身份ID提交给CA,具体步骤如下:

步骤1  RSU向CA发送注册请求{RIDrkr},可以抵御中间人攻击。

步骤2  CA接受RSU的发送注册请求并验证RSU身份,在确认身份信息无误后产生一个授权证书Certr,选择一个椭圆曲线Ep(ab)并随机选取一个基点Gxy)。CA将RSU发送的kr作为RSU的私钥PRIr,用私钥PRIr产生RSU公钥PUBr=PRIr×G。在产生公私钥对后,将RSU注册完成时间戳TSr及PUBr向全网广播。

步骤3  CA将{TSr,PUBr,PRIr,Certr}通过安全通道传输给等待注册的RSU,RSU收到CA消息后RSU注册流程结束。

2.1.2 车辆注册

在车辆接入车联网系统前,需要向CA发起身份注册申请,具体步骤如下:

步骤1  车辆向CA发送注册请求{RIDv,TSv},其中TSv为车辆申请时的时间戳。

步骤2  CA接受车辆的注册申请请求并验证车辆身份,确认身份信息无误后,CA产生一个随机数kv作为车辆私钥PRIv,选择一个椭圆曲线Ep(ab),并在椭圆曲线上取一个基点Gxy)。CA将自身产生的随机数kv作为RSU的私钥PRIv,使用私钥PRIv产生RSU公钥PUBv = PRIv×G。然后,CA为车辆产生假名PIDv = h(RIDv||kv),CA根据TSv为车辆颁发含有注册失效时间的授权证书Certv并赋予车辆一个初始的直接信任值DTdefault

步骤3  CA将{PIDv,PUBv,PRIv,Certv,DTdefault}通过安全通道传输给等待注册的车辆并上传至区块链,车辆收到CA信息后车辆注册流程结束。

2.2 信任评估

在注册身份完成后,车辆节点依旧有可能会进行恶意攻击,对车联网信息系统进行破坏。本文策略在车辆通信时增加了信任评估机制,计算出的信任值将由车辆上传至附近的RSU,RSU通过共识机制将信任值等信息上传到区块链中进行存储。

2.2.1 直接信任值

计算在t+1时段车辆节点j的直接信任值,主要考虑之前时段车辆节点ij的交互情况。利用Beta分布对车辆节点ij进行直接信任值计算,如式(1)所示:

$ {D}_{{t}_{n+1}}(i, j)=\frac{S(i, j)+1}{S(i, j)+F(i, j)+2} $ (1)

其中:Sij)表示车辆节点ij交互成功次数;Fij)表示车辆节点ij交互失败次数;Dij)能够反映两个车辆节点之间交互的情况。

但是,仅依赖车辆节点交互成功率不能保证节点在获得信任后会发送真实信息,因此增加反馈评价度C,表示在交互成功的前提下车辆节点ij的可信度评价,如式(2)所示:

$ C(i, j)=\frac{\sum\limits _{l=1}^{S(i, j)}\frac{t(i, j)}{n(i, j)}}{F(i, j)} $ (2)

其中:tij)表示车辆节点i发送消息中真实信息的个数;nij)表示车辆节点i发送信息的总数,发送的真实信息数越多,反馈评价度越高。

t+1时段车辆节点j的直接信任值计算如式(3)所示:

$ {D}_{{t}_{n+1}}^{\rm{T}}(i, j)=\left\{\begin{array}{l}{D}_{{t}_{n+1}}(i, j)\times (1+C(i, j\left)\right), N>0\\ {D}_{\rm{d}\rm{e}\rm{f}\rm{a}\rm{u}\rm{l}\rm{t}}^{\rm{T}}, N=0\end{array}\right. $ (3)

其中:N为交互次数。如果车辆没有交互,那么直接信任值为注册时CA分发的初始信任值,但是如果节点进行摇摆攻击,即积累信任值,然后发动攻击,那么很难计算直接信任值。引入时间影响度δ(Δt),表示上一时段节点信任值对当前节点信任值的影响,如式(4)所示:

$ \delta \left(\rm{\Delta }t\right)={\rm{e}}^{-\lambda \left(\rm{\Delta }t\right)} $ (4)

其中:$ \rm{\Delta }t $=tn+1-tnλ为调节系数,λ越小,时间影响度越大,意味着上一时段的直接信任值对这一时段的直接信任值的影响越大。当上一时段信任值减少时,λ小幅增加;当连续减少3次及以上时,λ大幅增加。

将时间影响度考虑在内的直接信任值计算如式(5)所示:

$ {D}_{{t}_{n+1}}^{\rm{T}}(i, j)=\left\{\begin{array}{l}{D}_{{t}_{n+1}}(i, j)\times (1+C(i, j\left)\right)\times \delta \left(\rm{\Delta }t\right), N>0\\ {D}_{\rm{d}\rm{e}\rm{f}\rm{a}\rm{u}\rm{l}\rm{t}}^{\rm{T}}, N=0\end{array}\right. $ (5)
2.2.2 推荐信任值

当两个车辆节点没有直接交互或者直接交互次数过少时,车辆节点i需要通过获取在车联网中其他与i进行交互过的节点j的信任评价来计算推荐信任值。恶意诋毁攻击通常发生在推荐信任值计算时,攻击方式有2种:1)对同样是恶意节点的车辆节点进行过高评价,使得恶意车辆节点能够继续维持一个较高的信任值,得以在车联网中继续运作;2)对交互过的正常车辆节点进行差评,使得正常车辆节点的信任值下降,从而破坏信任模型。

通过改进PageRank算法[24]进行车辆的推荐信任值计算,如式(6)所示:

$ \rm{P}\rm{R}\left(u\right)=\frac{1-\alpha }{P}+\alpha \times \sum\limits _{{P}_{v}\in {B}_{u}}\frac{\rm{P}\rm{R}\left({P}_{v}\right)}{L\left({P}_{v}\right)} $ (6)

其中:PR(u)为所计算的网页u的PageRank值;P为网页总数;α是阻尼系数,一般取0.85;Bu为页面u的入链集合;PR(Pv)为网页Pv的PageRank值;LPv)为Pv链出页面的数量。

通过对PageRank算法进行改进,评估车辆的推荐信任值。所计算的推荐信任值也可看作是对系统环境内车辆交互积极性的信任值奖励,如果在一段时间内车辆进入车联网系统但不与任何其他车辆进行交互,那么只能得到一个较小的推荐信任值。与其他车辆节点交互越多,相应的推荐信任值在一定程度上会越大。改进PageRank算法的推荐信任值计算如式(7)所示:

$ {R}_{{t}_{n+1}}^{\rm{T}}(i, j)=\alpha \sum\limits _{v\in K({k}_{1}, {k}_{2}, \cdots , {k}_{n})}\frac{\rm{P}{\rm{R}}_{{t}_{n}}(i, k)}{L\left(k\right)}+\frac{1-\alpha }{M} $ (7)

其中:$ K({k}_{1}, {k}_{2}, \cdots , {k}_{n}) $表示在n时段与车辆节点j交互过的所有节点的集合;PR表示在n时段车辆节点k的PageRank值;Lk)表示车辆节点kn时段的总交互次数;M表示此时段的车辆总数。车辆节点的推荐信任值由与车辆节点j交互过的车辆节点集合$ K({k}_{1}, {k}_{2}, \cdots , {k}_{n}) $共同决定。如果有车辆节点在当前时段离开车联网或者是因为信用问题被强制注销,那么此节点不包括在K集合中。同样地,如果在当前时段有新的车辆节点加入并与j发生交互,那么对j的推荐要等到下一时段才能生效。

在推荐信任值计算过程中加入节点相似度的概念,能够更好地抵御恶意诋毁攻击。节点相似度计算如式(8)所示:

$ \rm{S}\rm{i}\rm{m}(i, k)=1-\sqrt{\frac{\sum\limits _{x\in \rm{S}\rm{e}\rm{t}(i, k)}\left(C\right(i, x)-C{(k, x))}^{2}}{N\left(\rm{S}\rm{e}\rm{t}\right(i, k\left)\right)}} $ (8)

其中:Set(ik)为节点ik都交互过的节点集合;N(Set(ik))为此集合的节点数量;Cix)为节点i对此集合中节点x的反馈评价;Ckx)为节点k对此集合中节点x的反馈评价。两个车辆节点对同一车辆的反馈评价越接近,两个车辆节点的相似度越高。

推荐信任值计算公式如式(9)所示:

$ {R}_{{t}_{n+1}}^{\rm{T}}(i, j)=\left\{\begin{array}{l}\left[\alpha \sum\limits _{v\in K({k}_{1}, {k}_{2}...{k}_{n})}\frac{\rm{P}{\rm{R}}_{{t}_{n}}(i, k)}{L\left(k\right)}+\frac{1-\alpha }{M}\right]\times \\ \rm{S}\rm{i}\rm{m}(i, k), L\left(k\right)>1\\ \frac{1-a}{M}, L\left(k\right)\le 1\end{array}\right. $ (9)

当总交互次数小于等于1次时,系统只赋予一个较小的推荐信任值。

2.2.3 综合信任值

将直接信任值和推荐信任值相结合计算综合信任值,如式(10)所示:

$ {T}_{{t}_{n+1}}=\phi {D}_{{t}_{n+1}}^{\rm{T}}(i, j)+(1-\phi ){R}_{{t}_{n+1}}^{\rm{T}}(i, j) $ (10)

其中:$ \phi $为信任调节权重,能够调节直接信任值和推荐信任值的比例。在产生车辆的信任值后,将车辆的假名、信任值、产生时间戳、其他信息以及此时RSU的服务范围传给附近RSU写入区块中。

2.3 安全通信

车与车、车与RSU在通信前必须对车辆身份进行验证,验证流程如图 6所示。

Download:
图 6 车辆身份验证流程 Fig. 6 Procedure of vehicle identity authentication

车辆节点的身份验证步骤具体如下:

1)车辆到RSU的认证申请

在车辆进入RSU管辖范围后,对自身的假名、公钥、证书以及信任值{PIDv,PUBv,Certv}使用Hash函数产生摘要DIG1=h({PIDv,PUBv,Certv})。使用车辆私钥PRIv对此摘要进行签名,产生数字签名SIG=sig(DIG1)。车辆将SIG以及{PIDv,PUBv,Certv}一起发送给RSU。

2)RSU验证

步骤1  RSU收到车辆发送的信息后,用PUBv验证签名SIG得到DIG1,将收到的{PIDv,PUBv,Certv}使用同样的Hash函数计算得到DIG2。如果DIG1=DIG2,则发送的信息没有被篡改,则执行步骤2。

步骤2  RSU提取车辆假名PID,调用智能合约Search Information()函数,在区块链中进行查询:若PID存在,则说明此车辆经CA授权;若验证没有通过,则将此车辆的证书撤回,车辆需要重新在CA中进行身份注册。

步骤3  若车辆合法,则返回认证成功消息。车辆向RSU上传信息。

3)车辆A到车辆B的认证申请

车辆A向车辆B发送通信请求{PIDv,PUBv,Certv}。对{PIDv,PUBv,Certv}使用Hash函数产生摘要DIG3=h({PIDv,PUBv,Certv}),使用车辆私钥PRIv对此摘要进行签名产生数字签名SIG。车辆B将SIG和{PIDv,PUBv,Certv}一起发送给车辆B。

4)车辆B验证

步骤1  车辆B收到车辆A发送的信息后,使用PUBv验证签名SIG得到DIG3。将收到的{PIDv,PUBv,Certv}使用同样的Hash函数计算得到另外一个数字摘要DIG4。如果DIG3=DIG4,则可保证信息的完整性。

步骤2  车辆B接受请求申请,首先查验车辆A证书是否到期,如果到期则拒绝通信。接着车辆B根据车辆A的假名,调用智能合约Search Information()在区块链中查找车辆A的信任值,如果信任值低于某一阈值,则拒绝通信。

步骤3  车辆B如果接受通信请求,则将{PIDv,PUBv,Certv}发给车辆A。车辆A同样按照上述步骤对车辆B进行认证。在接受通信后,双方对本次通信对方的信任值进行计算并就近上传至RSU,由RSU写入区块。

5)全局通信安全

每过一段时间,车联网中管理员会通过智能合约Revoke Information()来遍历区块链,找到被其他车辆认定信任值低于阈值的车辆假名并置于撤销列表。

安全通信涉及的区块链账本操作均通过智能合约完成。智能合约主要包括信息上链、身份信息验证、信任评估等3种功能。智能合约根据不同的场景需求制定相关策略,通过代码方式写入区块链,在触发条件后能够自动完成合约上的预设。本文采用智能合约对车辆信任值及信息进行管理,可以实现对车辆信任值的上链、更改与更新,以及查找出信任值不符合规定的所有车辆。

1)Upload Information()智能合约

Upload Information()智能合约收集车辆上传给RSU的信息,车辆信息包括假名、时间戳、所需提交的RSUID、车辆公钥、信任值及其他信息,利用账本数据状态操作API中GetState及PutState方法对信息状态进行操作。

算法1  Upload Information算法

输入  PID,Timestamp,RSUID,PublicKey,Trust,Info

输出  车辆信息添加成功

1.if len(input)!=6

2.return error:Incorrect number of arguments

3.end if

4.if RSUID!=range RSUs//判断所需提交的RSU是否存在

5.return error:specified RSU does not 6.exist

6.end if

7.err = stub.GetState(PID)

8.if err=nil

9.return error:vehicle already exists

10.end if

11.vehicleTSONasBytes = json.Marshal(input)

12.err=stub.PutState(PID,vehicleTSONasBytes)

13.if err!= nil

14.return error

15.else

16.return add vehicle successfully

17.end if

2)Search Information()智能合约

Search Information()智能合约为用户提供已上链车辆信息的查询功能。当用户有查询需求时,需要输入车辆的假名以此获取车辆的所有信息。利用账本数据状态操作API中的GetState方法对信息状态进行操作。

算法2  Search Information算法

输入  PID

输出  查询结果

1.if len(input) < 1

2.return error:PID should be provided

3.end if

4.err = stub.GetState(input)

5.if err!=nil

6.return vehicle can not be founded

7.else

8.return query vehicle by ID successfully

3)Revoke Information()智能合约

Revoke Information()智能合约可对车联网系统中信任值较低的车辆节点进行排查,对于排查出的多次被其他车辆认定信任值较低的车辆,能够根据车辆的假名以及公钥在CA中进行证书的撤回。

算法3  Revoke Information算法

输入  Trust < 0 or Trust < num_set

输出  RevokeList//不合法车辆ID列表

1.if(PID not exist in Block)

2.return error:specified vehicle does not exist

3.else

4.return Trust

5.end if

6.let Trust=search(PID)

7.if(Trust < 0 or Trust < num_set)//查询信任不合法节点

8.add PID into RevokeList

9.end if

3 仿真结果与分析 3.1 综合信任值评估

测试在5个车辆节点交互的情况下车辆节点综合信任值的变化情况。初始综合信任值设为0.5,$ \phi $设为0.7。如图 7所示,随着时段的增加,正常车辆综合信任值不断增加,恶意车辆综合信任值不断减小。

Download:
图 7 车辆综合信任值评估 Fig. 7 Evaluation of vehicle comprehensive trust value
3.2 基于区块链的信任评估系统性能分析

为测试本文策略的可行性,利用Hyperledger Fabric组件搭建基于区块链的信任评估系统(简称为本文系统)模拟车辆信息的上链查询过程,部署多个节点模拟RSU进行区块链仿真。仿真环境配置为Ubuntu 16.04操作系统、Hyperledger Fabric 1.4.3测试环境、Docker应用容器引擎、Golang编程语言。仿真主要对系统吞吐量和平均时延进行压力测试。模拟车辆终端向系统发送5 000笔交易,通过改变交易发送速率,观察系统性能的变化。

在较低交易发送速率的情况下,在上链过程中系统吞吐量和平均时延的变化如图 8(a)图 8(b)所示。在上链过程中,交易发送速率由25 transaction/s增加至150 transaction/s,每次叠加25 transaction/s对系统进行测试。在查询过程中系统吞吐量和平均时延的变化如图 8(c)图 8(d)所示。在查询过程中,交易发送速率由50 transaction/s增加至300 transaction/s,每次叠加50 transaction/s对系统进行测试。基于区块链的信任评估系统相比文献[17]模型在较低交易发送速率的情况下具有较高的吞吐量以及较低的时延。

Download:
图 8 低交易发送速率下的吞吐量与平均时延对比 Fig. 8 Comparison of throughput and average time delay under low transaction sending rate

在较高交易发送速率的情况下,上链及查询过程的系统吞吐量及平均时延变化如图 9图 10所示,两个过程的交易发送速率均从100 transaction/s增加至1 000 transaction/s,每次叠加100 transaction/s。由图 9可以看出,在交易发送速率为400 transaction/s之后,上链过程吞吐量稳定保持在373.8 transaction/s左右。在交易发送速率为700 transaction/s之后,查询过程吞吐量稳定保持在665.1 transaction/s左右,均能满足车联网需求。由图 10可以看出,随着交易发送频率的提高,查询与上链过程的平均时延都有所提高,但是上链过程的响应时延均在7 s之内,查询过程的响应时延均在3 s之内。因为查询过程不需要与Hyperledger Fabric中的节点进行通信,所以查询过程的平均时延及吞吐量均要优于上链过程。

Download:
图 9 高交易发送速率下的吞吐量对比 Fig. 9 Comparison of throughput under high transmission sending rate
Download:
图 10 高交易发送速率下的平均时延对比 Fig. 10 Comparison of average time delay under high transmission sending rate

综上所述,本文设计的基于区块链的信任评估系统在高交易发送速率及低交易发送速率下均具有较高的吞吐量及较低的时延,可满足车联网实时通信需求,同时保证数据传输的安全可靠性。

4 结束语

本文从车辆节点身份注册与信任评估两方面入手,提出基于区块链的车联网安全通信策略。利用椭圆曲线加密算法为车辆及RSU生成通信所需的证书等信息,并对外部攻击进行抵抗,保证通信节点的真实性。运用直接信任和推荐信任相结合的方式对车辆信任值进行量化判断,将其与车辆的其他信息共同写入区块链,利用区块链去中心化、可追溯等特点为车联网提供分布式存储系统。同时,通过智能合约上链查询信息,对恶意车辆进行评估监管,实现对内部攻击的抵抗。仿真结果验证了该策略具有较高的系统吞吐量及较低的平均时延,能够满足车联网实时安全通信需求。后续将改进RAFT选举机制,通过提升RAFT共识机制的去中心化程度以及区块链系统的吞吐量,增强车联网整体性能。

参考文献
[1]
WANG R J, TANG Y C, ZHANG W Q, et al. Privacy protection scheme for Internet of vehicles based on homomorphic encryption and block chain technology[J]. Chinese Journal of Network and Information Security, 2020, 6(1): 46-53. (in Chinese)
王瑞锦, 唐榆程, 张巍琦, 等. 基于同态加密和区块链技术的车联网隐私保护方案[J]. 网络与信息安全学报, 2020, 6(1): 46-53.
[2]
ZHANG H, CAI Y, XIA H K. RSU-based assisting ring formation scheme in VANET[J]. Computer Science, 2020, 47(5): 301-305. (in Chinese)
张浩, 蔡英, 夏红科. VANET中基于RSU辅助签名环形成的方案[J]. 计算机科学, 2020, 47(5): 301-305.
[3]
ZHAO N, ZHANG G A, GU X H. Certificateless aggregate signature scheme for privacy protection in VANET[J]. Computer Engineering, 2020, 46(1): 114-120, 128. (in Chinese)
赵楠, 章国安, 谷晓会. VANET中隐私保护的无证书聚合签名方案[J]. 计算机工程, 2020, 46(1): 114-120, 128.
[4]
TAN H C, MA M D, LABIOD H, et al. A Secure and Authenticated Key Management Protocol(SA-KMP) for vehicular networks[J]. IEEE Transactions on Vehicular Technology, 2016, 65(12): 9570-9584. DOI:10.1109/TVT.2016.2621354
[5]
ELHABOB R, ZHAO Y N, SELLA I, et al. Efficient certificateless public key cryptography with equality test for Internet of vehicles[J]. IEEE Access, 2019, 7: 68957-68969. DOI:10.1109/ACCESS.2019.2917326
[6]
ZHANG J Y, LI F, LI R X, et al. Research on identity authentication in V2X communications based on elliptic curve encryption algorithm[J]. Automotive Engineering, 2020, 42(1): 27-32. (in Chinese)
章嘉彦, 李飞, 李如翔, 等. V2X通信中基于椭圆曲线加密算法的身份认证研究[J]. 汽车工程, 2020, 42(1): 27-32. DOI:10.3969/j.issn.1674-6546.2020.01.007
[7]
ZHANG Y L, LIU X Z, LANG X L, et al. New certificateless aggregate signature algorithm for vehicular ad hoc networks[C]//Proceedings of the 3rd Information Technology, Networking, Electronic and Automation Control Conference. Washington D.C., USA: IEEE Press, 2019: 700-704.
[8]
KERRACHE C A, CALAFATE C T, CANO J C, et al. Trust management for vehicular networks: an adversary-oriented overview[J]. IEEE Access, 2016, 4: 9293-9307. DOI:10.1109/ACCESS.2016.2645452
[9]
SUN N. A simulation research on DoS attack in VANET[D]. Changchun: Jilin University, 2017. (in Chinese)
孙宁. VANET中DoS攻击仿真研究[D]. 长春: 吉林大学, 2017.
[10]
LIU J S, YOU Z X, YUE G X, et al. Research progress of network trust[J]. Computer Science, 2018, 45(11): 13-28, 36. (in Chinese)
刘建生, 游真旭, 乐光学, 等. 网络信任研究进展[J]. 计算机科学, 2018, 45(11): 13-28, 36. DOI:10.11896/j.issn.1002-137X.2018.11.002
[11]
XIA H, ZHANG S S, LI Y, et al. An attack-resistant trust inference model for securing routing in vehicular ad hoc networks[J]. IEEE Transactions on Vehicular Technology, 2019, 68(7): 7108-7120. DOI:10.1109/TVT.2019.2919681
[12]
WANG W, ZENG G S. Bayesian cognitive trust model based self-clustering algorithm for MANETs[J]. Science China Information Sciences, 2010, 53(3): 494-505. DOI:10.1007/s11432-010-0050-8
[13]
XIONG L, LIU L. PeerTrust: supporting reputation-based trust for peer-to-peer electronic communities[J]. IEEE Transactions on Knowledge and Data Engineering, 2004, 16(7): 843-857. DOI:10.1109/TKDE.2004.1318566
[14]
ZHANG J S, ZHENG K F, ZHANG D M, et al. AATMS: an anti-attack trust management scheme in VANET[J]. IEEE Access, 2020, 8: 21077-21090. DOI:10.1109/ACCESS.2020.2966747
[15]
TAO M, ZHOU X. On the human factor consideration for trust evaluation algorithm for VANETs[J]. Journal of China Academy of Electronics and Information Technology, 2019, 14(9): 973-977. (in Chinese)
陶敏, 周雄. 车联网中基于社会网络的车辆信任估计方案[J]. 中国电子科学研究院学报, 2019, 14(9): 973-977. DOI:10.3969/j.issn.1673-5692.2019.09.013
[16]
AHMAD F, KURUGOLLU F, ADNANE A, et al. MARINE: man-in-the-middle attack resistant trust model in connected vehicles[J]. IEEE Internet of Things Journal, 2020, 7(4): 3310-3322. DOI:10.1109/JIOT.2020.2967568
[17]
YU J G, ZHANG H, LI S, et al. Data sharing model for Internet of Things based on blockchain[J]. Journal of Chinese Computer Systems, 2019, 40(11): 2324-2329. (in Chinese)
于金刚, 张弘, 李姝, 等. 基于区块链的物联网数据共享模型[J]. 小型微型计算机系统, 2019, 40(11): 2324-2329. DOI:10.3969/j.issn.1000-1220.2019.11.015
[18]
WU T, HUANG K, ZHOU L L, et al. Research on blockchain consistency algorithm with state legality verification[J]. Computer Engineering, 2018, 44(1): 160-164. (in Chinese)
吴腾, 黄锴, 周琳琳, 等. 具有状态合法性验证的区块链一致性算法研究[J]. 计算机工程, 2018, 44(1): 160-164. DOI:10.3969/j.issn.1000-3428.2018.01.027
[19]
XIE L X, DING Y, YANG H Y, et al. Blockchain-based secure and trust worthy Internet of Things in SDN-enabled 5G-VANETs[J]. IEEE Access, 2019, 7: 56656-56666. DOI:10.1109/ACCESS.2019.2913682
[20]
LI F X, CHEN X Z, MA J. Research on credit system based on blockchain in VANET[J]. Communications Technology, 2019, 52(12): 3058-3063. (in Chinese)
李凤祥, 陈秀真, 马进. 车联网中基于区块链的信用体系研究[J]. 通信技术, 2019, 52(12): 3058-3063. DOI:10.3969/j.issn.1002-0802.2019.12.039
[21]
YANG Z, YANG K, LEI L, et al. Blockchain-based decentralized trust management in vehicular networks[J]. IEEE Internet of Things Journal, 2019, 6(2): 1495-1505. DOI:10.1109/JIOT.2018.2836144
[22]
ZHANG X H, CHEN X F. Data security sharing and storage based on a consortium blockchain in a vehicular ad-hoc network[J]. IEEE Access, 2019, 7: 58241-58254. DOI:10.1109/ACCESS.2018.2890736
[23]
KANG J W, XIONG Z H, NIYATO D, et al. Toward secure blockchain-enabled Internet of Vehicles: optimizing consensus management using reputation and contract theory[J]. IEEE Transactions on Vehicular Technology, 2019, 68(3): 2906-2920. DOI:10.1109/TVT.2019.2894944
[24]
DAI B R, JIANG S M, LI D W, et al. Evaluation model of cross-chain notary mechanism based on improved PageRank algorithm[J]. Computer Engineering, 2021, 47(2): 26-31. (in Chinese)
戴炳荣, 姜胜明, 李顿伟, 等. 基于改进PageRank算法的跨链公证人机制评价模型[J]. 计算机工程, 2021, 47(2): 26-31.