杜 田,李 欣,赖成喆,郑 东
(1.西安邮电大学 网络空间安全学院,西安 710121;2.中国人民解放军61516 部队,北京 100000)
随着人工智能技术的提高,传统汽车行业与信息技术相结合[1]促进了无人驾驶领域的发展。无人驾驶车辆通过各种传感器的组合感知周围环境,同时利用人工智能算法对车道及路径进行规划,以控制车辆开往目的地[2]。无人驾驶方式能够有效地减少交通事故的发生,缓解交通拥堵及管理压力,也可以使行动不方便的老年人和残疾人等弱势群体出行更加便利[3]。地图是无人驾驶车辆的核心部件,也是车道及路径规划的关键。与传统数字地图不同,无人驾驶车辆地图不仅要求地图信息覆盖精确全面,还要求对地图信息进行快速更新[4]。由于无人驾驶地图更新需要大量路况数据予以支持,若未及时上传数据或上传错误数据则会导致系统错误。目前,基于卫星图像的数字地图[5]得到了广泛的应用,它能够保证地图中道路信息的正确性,但是无法做到实时更新[6],难以满足无人驾驶车辆对于地图与路况高精度和实时性的要求。路况信息一旦出现错误,则会造成无人驾驶车辆失控,产生严重的后果,而且容易发生单点故障,导致整个地图系统不可用。多方车辆需要共同协作以实时发送路况信息,提高地图的更新效率,从而为无人驾驶车辆提供实时路况更新服务。服务器根据相关路况信息对地图进行更新,但是车辆用户数庞大且来源复杂,无法确保数据来源的安全性及可靠性。
近年来,主流的安全信任管理方案是使用认证来确保数据来源的安全性,通过信任管理确保数据的可靠性。信任管理是指通过对车辆发送的数据进行分析处理,并结合车辆的历史信任值对该消息的可信度进行评估,同时对特定的车辆采取奖励或者惩罚措施,并将相应结果返回给服务器。同时,一些安全性问题也逐渐显现,例如车辆的隐私问题及恶意车辆的攻击。
本文将无证书签名、信任管理、区块链技术引入到无人驾驶车辆的地图中,提出一种信任管理方案用于无人驾驶的地图更新。利用无证书签名实现车辆的匿名认证,保证车辆身份的可验证性及不可否认性,并结合区块链技术和信任管理设计分布式信任管理机制,通过对路况信息数据进行评估,确保数据的可靠性和完整性。
随着城市智能交通的发展,无人驾驶车辆因其具有低能耗、自动化等特点,成为近年来智能交通系统的研究热点。无人驾驶车辆通过地图更新服务器对从多方接收到的数据进行分析处理,但是地图更新服务器无法确保数据来源的安全性及可靠性。因此,合理的认证算法和信任管理机制的设计成为研究热点。
文献[7]提出一种安全高效的无人驾驶车辆地图更新方案,利用群智感知模型、签密和代理重加密技术对感知数据进行签密,并将加密数据存储在车辆雾节点中,经过云服务平台上传给地图公司。但群智感知模型容易泄露车辆数据及位置隐私,给用户带来较大的安全隐患。
为了保护车辆的隐私并实现认证功能的应用,研究人员提出使用匿名证书进行认证。文献[8]提出一种在城市场景有效的假名证书分发方案。假名证书可以满足隐私保护需求,但是存在证书分发、撤销及存储等问题,使得匿名证书认证方案开销过大,效率降低。文献[9]提出基于群签名的身份认证协议,可以有效地保护车辆的隐私信息,但群管理员权限过大并且车辆需要在群组内频繁更新通信密钥,存在严重的安全隐患问题,并且增加了通信开销。文献[10-11]通过消息认证码使得认证的处理速度更快且效率更高,但是无法实现不可否认性,带来了安全隐患。恶意车辆可以否认其发出的错误消息,存在严重的交通问题。
为解决上述问题,文献[12]提出无证书签名(Certificateless Signature,CLS)。在无证书签名中,密钥生成中心(Key Generation Center,KGC)只生成用户的部分私钥,用户需选择一个秘密值与其部分私钥共同生成独立的私钥,从而确保签名的安全。文献[13]将无证书签名引入到车联网场景,为车联网中的用户提供有条件的隐私,但是该方案不能抵抗恶意KGC 的攻击。文献[14]设计一种在计算性Diffie-Hellman 问题假设下用于车联网场景的CLS方案,但是该方案不能抵抗恶意KGC 攻击。文献[15]提出用于车联网中的CLAS 方案,但文献[16]指出CLAS 方案存在无法抵抗恶意KGC 攻击、追踪性不足等安全性问题。文献[17]提出一种用于车联网的高效和安全的无证书签名基础认证方案,但是该方案不能抵抗公钥替换攻击,给车联网带来极大的安全隐患。
认证可以验证消息发送者的合法性,却无法保证消息内容的可靠性。某些攻击者控制某些节点,使其具备某些恶意行为,例如故意发送虚假消息等。信任模型的建立可以有效解决车辆节点在网络中的恶意行为,减少虚假数据在网络中的传播。传统的集中式信任管理容易引起单点故障,导致系统瘫痪。随着区块链技术的快速发展,研究人员将区块链技术引入到信任管理中,提出基于区块链的分布式信任管理方案。分布式信任管理机制能够打破传统集中式信任管理机制带来的局限性。文献[18]提出一种车联网中的基于区块链的交通事故验证和信任验证机制,使用POE 共识算法对交通事故结果进行共识,共识结束后,通过RSU(Road Side Unit)将共识结果广播至相邻区域的车辆,并且存储在区块链的事件将被永久保存以供公众访问。文献[19]提出一种基于区块链的边缘计算可信数据管理方案,可以支持基于矩阵的多通道数据分段和隔离,用于敏感或隐私数据保护,将交易负载存储在区块链上,同时通过智能合约使得受保护的区块链数据和交易的条件访问以及解密查询。文献[20]提出一种基于联盟链的车联网资源共享范例,并提出一种轻量级的信誉证明机制。文献[21]提出一个基于区块链的信任管理系统,车辆对消息发起者进行信任评估,获得其信任值,并定期将信任值上传到附近的RSU。RSU将信誉值打包成块,并将该块添加到区块链上。文献[22]提出一种隐私感知匿名声誉系统,防止车辆公布虚假消息。文献[23]在车辆之间利用区块链技术建立信任,将信任值打包成块,并将PoW 共识与PoS 共识相结合,将块存储在区块链中。文献[24]设计一个基于区块链的位置隐私保护信任管理模型,构建匿名区域来保证车辆的隐私安全。文献[25]构建一个基于区块链的匿名信誉系统,通过2 个区块链能够有效实现证书的匿名性。文献[26]提出一种基于区块链的可信位置隐私保护方案,设计基于狄利克雷分布的信任管理方法,通过区块链更新车辆信任值,以便任何车辆在必要时访问其他车辆的历史信任信息。文献[27]提出一种可扩展的基于区块链的车联网信任管理协议,使用区块链和智能合约给可信车辆注册提供保障,通过DPoW 共识算法对车辆传入的数据进行扩展。上述方案均侧重于可信车辆的信任管理,未对车辆进行身份认证,存在非法车辆的恶意攻击及故意上传错误路况信息的问题,并且在区块链中使用的共识机制效率降低,难以满足繁忙的车联网系统的效率需求,容易出现路况信息积压等情况,导致无人驾驶地图无法实时更新。
针对上述问题,本文提出一个用于无人驾驶地图更新的信任管理系统,使用无证书签名保证消息发送者的合法性,并利用基于区块链的信任管理确保消息内容的可靠性以及地图更新的实时性。本文方案能够实现匿名认证和有条件的隐私保护,确保在发生恶意事件后,可以追溯到恶意车辆的真实身份,并将区块链技术与信任管理相结合,确保不可篡改信任的数据,可以有效防止恶意车辆攻击。根据安全性和效率评估,本文方案在车联网中是安全且高效的。
在有限域Fp上的椭圆曲线E是一个满足y2=x3+Ax+Bmodp且包含无穷远点O的有限循环群。其中A、B∈Fp,4a3+27b2≠0 modp,(x,y)为满足上述条件椭圆曲线E上的点。
椭圆曲线离散对数问题(Elliptic Curve Discrete Logarithm Problem,ECDLP)是给定大素数q,取阶为q的群G和椭圆曲线E,其中P为G的任意一个生成元。已知P、aP∈G,计算a∈。
计算性Diffie-Hellman 问题(Computational Diffie-Hellman Problem,CDHP)是给定大素数q,取阶为q的群G,P为G的任意一个生成元。任意给定a、b∈,已知P、aP、bP∈G,计算abP∈G。
本文设计的无证书签名方案参数信息如表1所示。
表1 无证书签名方案的参数信息Table 1 Parameters information of certificateless signature scheme
本文方案使用的算法主要有以下7 个:
1)系统初始化(setup)。可信任中心(Trusted Center,TA)将安全参数λ作为输入运行此算法,并输出系统参数params 保存系统主密钥s。
2)假名生成算法。TA 使用车辆Vi的真实身份作为输入运行此算法,并输出车辆Vi的假名。
3)部分私钥提取算法。TA使用车辆Vi假名作为输入运行算法,输出该车辆的部分私钥转换值及部分公钥Di。
4)设置秘密值算法。车辆Vi选择随机数,并将该数作为其秘密值。
5)设置车辆密钥算法。车辆Vi执行该算法,并输出其公私钥对。
6)签名算法。车辆Vi执行该算法,使用消息作为输入并输出消息签名对(mi,δi)。
7)签名验证算法。路边单元RSU 执行该算法,使用params、,mi∈{0,1}*,将δi,T作为输入,其中T为当前的时间戳,若签名有效则输出Valid,否则输出Invalid。
本文设计的无证书签名方案主要有以下2 种类型:1)类型I,敌手Adv-1 为恶意的车辆,它不能获取系统的主密钥,但可以替换合法车辆的公钥;2)类型II,敌手Adv-2 为诚实但有好奇心的TA,它不能替换车辆的公钥,但可以自己生成系统参数。
方案的安全性由挑战者C和敌手Adv 之间的游戏进行界定。
2.4.1 游戏I
该游戏由挑战者CI和敌手Adv-1 进行交互完成,CI维护用户列表LCuser的交互过程分为3 个阶段:
1)初始化阶段。挑战者CI输入安全参数λ,运行系统初始化算法,生成系统参数params和主密钥s。CI安全保存s,并将params 发送给Adv-1。
2.4.2 游戏II
该游戏由挑战者CII和敌手Adv-2进行交互完成的,交互过程主要有3 个阶段:1)初始化阶段,挑战者CII输入安全参数λ,运行系统初始化算法,生成系统参数params 和系统主密钥s,CII将params,s发送给Adv-2;2)询问阶段,在此阶段,敌手Adv-2 可自适应性地向CII提交Hash 询问、创建用户询问、秘密值询问、部分私钥询问、签名询问,询问过程与游戏I 一致;3)伪造阶段,Adv-2 输出伪造的消息签名对,若同时满足Ver(params,)=Valid 和Adv-2 不能提交关于目标用户对消息的签名询问的条件,则称Adv-2 赢得了此游戏。
本文主要研究用于无人驾驶地图更新的信任管理方案。本文方案的系统模型如图1 所示。
图1 本文方案的系统模型Fig.1 System model of the proposed scheme
车联网中的车辆首先与路边单元RSU 相互认证,确认对方合法身份后,RSU 接收车辆发送的路况信息并根据车辆的历史信任值及距离远近对路况信息的可信度进行判断。RSU 将判断后的正确路况信息发送给地图更新服务器,地图更新服务器结合相关信息实时更新地图,并通过区块链更新相关车辆的信任值。在本文方案中,车辆和RSU 都需在可信任中心(Trusted Center,TA)中进行注册。车辆与RSU交互前互相验证,确保双方都是在TA 中注册过的合法用户。车辆确认RSU 身份后,向RSU 发送消息签名,RSU 验证签名后,对消息进行处理,分析该消息的可信度,根据可信度对车辆的信任值进行更新,并将最终路况信息发送给地图更新服务器。地图更新服务器通过RSU 反馈的路况信息对地图进行实时更新。车辆和RSU 的认证算法流程如图2 所示。
图2 认证算法流程Fig.2 Procedure of authentication algorithm
本文方案主要由以下4 个部分组成:1)TA 为可信机构,负责系统初始化、RSU 和车辆的注册,本文中的TA 是不完全可信的,主要负责系统的建立以及为车辆生成部分私钥,当发生纠纷时,TA 可以通过恶意车辆的伪身份恢复出车辆的真实身份;2)地图更新服务器,需要大量的路况数据来实时更新地图,通过RSU 上传的相关路况信息,实时更新地图;3)RSU 为路边单元,安装在路侧的基础设施,具有良好的存储和计算能力;4)车辆,车联网中的每个车辆都安装一个车载单元(On Board Unit,OBU),OBU具有无线通信能力,允许车辆与RSU 通信。
3.2.1 车辆注册
3.2.2 RSU 注册
3.4.1 车辆签名生成
在车辆与RSU 通信前,首先访问区块链RSU 注册列表,然后查看其时间戳是否在有效期内,并获得μi,计算μi P。若μi P=Wi+h″Ppub,则验证通过,确定RSU 合法并选择与RSU 通信。
3.4.2 消息签名对验证
RSU 接收到车辆Vi发送的消息签名对后,首先验证时间戳Ti是否符合当前签名的时效,若时间戳有效,则对签名δi进行验证;然后计算si P,若si P=Ui+h2,i(Di+h1,i Ppub)+h3,i Xi,则验证通过,RSU 接收消息mi。
RSU 定义车辆接收到的所有消息集合{M1,M2,…,Mj},Mj表示关于事件ej的所有消息的集合。车辆发送的消息mi中含有关于事件e的相关信息。
RSU 接收该车辆发送的消息mi,并在区块链中查询该车辆的历史信任值,计算该消息的可信度。RSU 评估每一个关于事件ej的消息的可信度,构成集合。
RSU 利用贝叶斯推理模型来判断事件ej发生的概率p(ej/Cj),如式(1)所示:
若p(ej/Cj)大于预设的阈值,则认为事件ej真实发生,并将该信息发送给地图更新服务器,地图更新服务器对相关路况信息进行更新。RSU 根据判断结果,对发送消息的车辆进行评分:符合判断消息结果的产生一个正面评分,对不符合判断消息结果的消息产生一个负面评分。
其中:pos 和neg 分别为正面评分和负面评分的数量。这两类评分的权重由参数ωpos、ωneg决定,如式(3)和式(4)所示:
其中:Y(·)为影响ωpos、ωneg大小的函数。
信任值更新是根据信任值的变化量,对车辆的信任值进行更新,如式(5)所示:
其中:θ为参数。
根据车辆的信誉值给予相应奖励,如式(6)所示:
其中:p为此次信息上传的总奖励。奖励可以用来购买地图更新服务器提供的娱乐服务等。
3.6.1 矿工节点的选取
由于各个RSU 独立承担信任评估工作,因此为保证各RSU 保存数据的一致性,需要每隔一段时间采用共识机制来选择一个临时的中心节点,将产生新的区块广播给其他节点。
中心节点的选择是区块链系统中最关键的步骤。中心节点的选择方式主要有工作量证明(Proofof-Work,PoW)、权益证明(Proof-of-Stake,PoS)、股份授权证明(Delegated Proof-of-Stake,DPoS)和瑞波(Ripple)共识机制。PoW 即挖矿技术,通过计算出一个满足规则的随机数,获得本次的记账权。但是挖矿会造成大量的资源浪费,导致达成共识的周期延长。权益证明的基本原理是根据每个节点的所有权占比来决定产生区块的难度,在一定程度上缩短了挖矿时间,但是难以满足车联网中的实时性需求。DPoS 的基本原理是将PoS 中的记账者换为由指定节点数组成的小圈子,只有在圈子中的节点才能够获得记账权,在一定程度上缩短了达成共识的时间,但整个过程还是依赖于代币,实用性不强。瑞波共识机制是每个节点都会维护一个信任节点列表,并且只接受信任节点列表中节点的投票,可在短时间(秒级)内实现交易认证和确认[28],满足车联网中对于车辆信任值更新的实时性要求[29-31]。
每个节点在达成共识开始时,尽可能多地收集需要共识的交易,并放到“候选集”中。每个节点对其信任节点列表中的“候选集”做一个并集,并对每一个交易进行投票。当各节点交流交易的投票结果达到一定投票比例时,交易会进入到下一轮共识中,未达到投票比例的交易会被丢弃或者进入到下一次共识过程的候选集中。在最终轮次中,所有投票超过80%的交易会被放到Merkle 树型的已共识交易集中。
3.6.2 分布式共识
当系统形成交易集后,每个节点开始打包新的区块,并将当前区块号、共识交易集的Merkle 树Hash、父区块Hash、当前时间戳和车辆信任值等信息放在一起,以计算一个区块Hash。每个节点将得到的区块Hash 广播到其可见的节点,节点接收到它所有可信列表中其他节点广播发送的区块Hash 之后,结合自己生成的区块Hash,对每一个区块Hash计算一个比例。如果某个Hash 的比例超过80%的阈值,则这个Hash 是达成共识后的区块Hash。如果自己的Hash 与共识通过的Hash 相同,则说明自己打包的区块得到了确认,是新的被共识过的区块,直接存储到本地,并且更新状态。如果自己的Hash 与共识通过的Hash 不同,则需要向某个区块Hash 正确的节点索要新的区块信息,之后存储到本地并且更新当前状态。如果上面没有对某一区块Hash 超过设定的阈值,那么重新开始共识过程,直到满足条件。
经过分布式共识,网络中各基站均具有一致的信任数据,从而为每辆车的信任评估提供有力依据。
当车辆享受服务时,车辆向RSU 发送请求,RSU转发给服务器,服务器查询其存储在区块链上的信任值和激励值,选择是否为其提供其他服务。
本文认证算法的正确性可通过以下等式验证:
认证算法的不可伪造性证明如下:
定理1在随机预言机模型中,若存在一个挑战者CI以ε的优势攻破ECDLP 问题,则存在一个概率多项式时间敌手Adv-1 以ε′≤的优势攻破本文方案。其中:pico为创建用户询问过程中未发生H1碰撞的最小概率;piq为敌手Adv-1 未进行过的部分私钥问询的概率;peq为在伪造阶段中的概率;pvf为列表L2、L3中存在,且输出有效的伪造签名的概率。
证明设CI是一个椭圆曲线离散对数问题的挑战者,困难问题的输入为(G,P,Ppub=sP),其中s∈,挑战者CI的目标是计算出s。定义敌手Adv-1,在敌手Adv-1 与挑战者CI之间建立一个游戏。
1)初始化阶段
挑战者CI建立初始为空的列表L1、L2、L3、LCuser。CI运行系统建立算法,将系统参数params={q,G,P,Ppub,H1,H2,H3,H}发送给Adv-1。Adv-1 选取车辆为目标车辆。
2)询问阶段
询问阶段主要有H1询问、H2询问、H3询问、创建用户查询、秘密值询问、替换公钥询问、部分私钥询问、签名询问。
3)伪造阶段
根据分叉定理[32]及上式,可得如下方程组:
4)伪造成功概率
事件E1:在伪造过程中,CI没有终止过游戏1。
事件E2:Adv-1 成功伪造了的签名。
CI成功解决 ECDLP 问题的优势为ε=Pr[E1∩E2]=Pr[E1]Pr[E2|E1]=Pr[E1]ε′,其中ε′为Adv-1 攻破本方案的优势。
E1发生的概率Pr[E1]≥picopiqpeqpvf。则CI成功解决ECDLP问题的优势ε=Pr[E1∩E2]=Pr[E1]Pr[E2|E1]≥picopiqpeqpvfε′。
因此,若CI能够以ε的优势解决ECDLP 问题,则敌手以ε′≤的优势攻破本文方案。
因为敌手Adv-1 攻破本文方案的优势可忽略,所以本文方案能够抵抗类型I 攻击者。
定理2在随机预言机模型下,若存在一个挑战者CII以ε的优势攻破ECDLP问题,则存在一个概率多项式时间敌手Adv-2可以以ε′≤的优势攻破本文方案。其中:pico为创建用户在询问过程中未发生H1碰撞的最小概率;prp为敌手Adv-2 未进行过的部分私钥问询的概率;psq为敌手Adv-2未进行过的秘密值问询的概率;peq为伪造阶段中的概率;pvf为列表L2、L3中存在且输出有效的伪造签名的概率。
证明设CII是一个椭圆曲线离散对数问题的挑战者,困难问题的输入为G,P,Q=xP,其中x∈,挑战者CII的目标是计算x。本文定义敌手Adv-2,在敌手Adv-2 与挑战者CII之间建立一个游戏,两者的交互主要有4 个阶段。
1)初始化阶段
挑战者CII建立初始为空的列表L1,L2,L3,LCuser。CII运行系统建立算法,将系统参数params={q,G,P,Ppub,H1,H2,H3,H}和系统主密钥s发送给Adv-2。Adv-2 选取车辆作为目标车辆。
2)询问阶段
询问阶段主要有H1询问、H2询问、H3询问、创建用户查询、秘密值询问、替换公钥询问、部分私钥询问、签名询问。
3)伪造阶段
根据分叉定理[32]及上式,可得如下方程组:
4)伪造成功概率
事件E1:在伪造过程中,CII没有终止过游戏2。
事件E2:Adv-2 成功地伪造了的签名。
CII成功解决ECDLP 问题的优势ε=Pr[E1∩E2]=Pr[E1]Pr[E2|E1]=Pr[E1]ε′,其中ε′为Adv-2 攻破本方案的优势。
E1发生的概率Pr[E1]≥picoprppsqpeqpvf,则CII成功解决 ECDLP 问题的优势ε=Pr[E1∩E2]=Pr[E1]Pr[E2|E1]≥picoprppsqpeqpvfε′。因此,若CII能够结合ε的优势解决ECDLP 问题,则敌手能以ε′≤的优势攻破本文方案。
由于CII攻破ECDLP 的优势可忽略,因此敌手Adv-2 攻破本文方案的优势可忽略。本文方案能够抵抗类型II 攻击者。
其他安全需求包括以下6 个方面:1)认证性,认证性和完整性可以从定理1 和定理2 的不可伪造性中证明;2)匿名性,车辆在通信过程中,除了车辆自身和TA,其他实体都无法得知车辆的真实身份,由于本文方案使用车辆假名RIDi进行通信,,其中,因此可以保护车辆的隐私,使车辆具有匿名性;3)可追踪性,当系统中注册过的车辆发送恶意信息等行为时,可信中心TA 可以通过追踪密钥s′恢复车辆的真实身份;4)不可抵赖性,因为可信中心TA 可以将车辆的真实身份和其假名联系起来,所以车辆无法否认其发过的任何一个消息;5)不可链接性,由于ui具有随机性,因此攻击者无法判断消息是否来自同一车辆,以保证车辆与消息之间具有不可链接性;6)抵抗重放攻击,在车辆发送的消息中存在时间戳,保证消息的新鲜度,在RSU 与车辆通信前检查时间戳是否过期,以避免重放攻击。
不同方案的服务功能对比如表2 所示,其中,“√”表示有服务功能,“×”表示无服务功能。由于地图更新需满足高精度和高效性的要求,需要大量的车辆提供路况信息,但车辆的身份和数据的可靠性难以得到保证。因此,本文设计具有匿名认证功能的信任管理方案可以解决该问题。
表2 不同方案服务功能对比Table 2 Service function comparison among different schemes
本文从计算开销、通信开销和信任管理功能等方面对不同方案进行对比。为评估方案效率,本文选取由处理器内存16 GB的AMD Ryzen 7 5800H和Windows组成的硬件平台,通过仿真实验结果对比不同方法的开销。
为验证本文方案的有效性,本文将本文方案与文献[15,17,33-36]的方案进行对比。计算开销主要取决于签名算法和验证算法的计算量,通过Hash将计算量映射到点运算,根据双线性配对运算等算法执行的次数统计计算开销。各个运算的时间消耗如表3 所示。
表3 各个运算的时间消耗Table 3 Time consumption of each operation ms
文献[15,34-36]提出的方案都涉及到了双线性配对运算和Hash 映射到点运算,文献[33]的方案中签名算法和验证算法点乘运算次数较多。不同方案的计算开销对比如表4 所示。相比以上文献提出的方案,本文方案的签名开销和验证开销都具有优势。
表4 不同方案的计算开销对比Table 4 Computing costs comparison among different schemes
不同方案的通信开销对比如表5 所示。本文用|G|表示群G上元素的长度,|GT|表示双线性群GT上元素的长度,表示域上元素的长度,|T|表示当前时间戳的大小。从表5 可以看出,与其他方案相比,本文方案的通信开销较少,更能满足地图更新场景的实时性需求。
表5 不同方案的通信开销对比Table 5 Communication costs comparison among different schemes
随着车辆数量的增加,不同算法的运行时间对比如图3 所示。从图3 可以看出,在注册阶段,当车辆个数达到100 时,所需的注册时间仅为0.81 s,公私钥生成时间为0.8 s,签名生成时间约为1.5 s,签名验证时间为1.5 s。因此,本文算法具有高效性和较高的稳定性。
图3 车辆个数对算法时间的影响Fig.3 Influence of number of vehicles on algorithm time
在不同函数Y(·)影响下信任值偏移量的变化趋势如图4 所示。当负面评分占比小于50% 时,由Y(x)=x3控制的信任值偏移量比Y(x)=x控制的高,说明当Y(x)=x3时,少量的负面评分不会对信任值的偏移量产生较大的影响。因此,本文采用函数Y(x)=x3控制信任值偏移量参数ωpos、ωneg,使得信任值偏移量更符合多数车辆的判断结果。
图4 负面评分对信任值偏移量的影响Fig.4 Influence of negative rating on trust value deviation
信任值偏移量的变化对信誉值的影响如图5 所示。从图5 可以看出,当车辆发送诚实的消息时,本文方案与文献[37]方案的车辆信誉值增加,当车辆发送虚假消息时,车辆的信誉值下降。本文方案对虚假消息的敏感度高,车辆信誉值下降较快。当车辆继续发送诚实消息时,本文方案恢复速度缓慢,以防止开关攻击。因此,本文方案对车辆的恶意行为具有较高的防骗能力。
图5 信任值偏移量的变化对信誉更新值的影响Fig.5 Influence of trust deviation offset on reputation update value
本文方案与文献[22-27]方案采用的共识机制、区块链类型、算力需求等方面进行对比,各方案的优缺点如表6所示。
表6 本文方案与现有区块链信任管理方案对比Table 6 Comparison between the proposed scheme and existing blockchain trust management schemes
从表6可以看出,本文使用Ripple算法作为共识机制,文献[22-23]使用的PoS+PoW 算法能够给矿工和持币者两方提供和平共赢的机会,避免数字货币的集中化,但难以避免PoS 和PoW 带来的资源浪费问题。文献[24-26]使用PoW 算法,需要大量的启动节点和算力来维护区块链。文献[27]使用的DPoW 算法去中心化程度高,避免拥有算力的组织或者持币大户控制网络,并且能够保证较小的算力需求。而本文使用的Ripple算法,不需要挖矿,所需算力较小,能够满足无人驾驶地图更新的实时性需求。
本文对上述共识算法进行仿真,各共识算法运行时的CPU 占用率对比如图6 所示。仿真结果表明,本文所使用的Ripple 共识算法具有较小的CPU占用率,效率较高。
图6 不同共识算法的CPU 占用率对比Fig.6 CPU utility comparison among different consensus algorithms
针对无人驾驶地图更新中存在的数据来源安全性和可靠性问题,本文提出一种具有认证功能的信任管理方案。利用计算开销和通信开销较少的无证书签名实现匿名认证,保证数据来源的安全性,同时对车辆的身份实现有条件的隐私保护。利用信任管理方案评估消息数据的可信度,确保数据的可靠性。消息数据都认证通过后,将数据发送给地图更新服务器,保证数据的准确性与安全性。仿真结果表明,本文信任管理方案具有较高的更新效率和防骗能力,在计算开销和通信开销方面具有一定的优势。后续将对本文使用的共识算法进行深入研究,为无人驾驶车辆提供更高效安全的地图更新服务。