文章目录
IEEE INTERNET OF THINGS JOURNAL, VOL. 7, NO. 12, DECEMBER 2020
概要
背景:物联网的最新发展促进了以自主车辆和路边基础设施为关键组件的车联网(IoV)的发展。然而,由于环境不受信任,车辆很难评估所接收信息的可信度。因此,在IoV中建立信任是一个关键的安全问题,它一直受到可扩展性挑战的限制。
本文提出:本文提出了一种基于区块链的IoV协议,使用smart contracts
智能合约、physical unclonable functions
物理不可克隆函数(PUF)、certificates
证书和 a dynamic Proof-of-Work (dPoW) consensus algorithm
动态工作证明共识算法。
- 区块链与智能合约一起,为注册可信车辆和阻止恶意车辆提供了一个安全框架。
- PUF用于为每个建立信任的车辆分配唯一身份。
- 证书由保护车辆隐私的路边单位颁发。
- dPoW共识允许协议根据车辆产生的传入流量进行扩展。
传统加密方式因为需要存储密钥而具有固有的缺陷,因此业界开发了一种不需要存储密钥的下一代新型加密技术,称之为PUF(Physically Unclonable FuncTIon,物理不可复制功能)。这种技术起源于美国,利用芯片制造过程中不可控制因素产生的芯片物理结构差异来产生完全随机的密钥。每一块芯片本身即是密钥。从底层物理结构的角度来看,世界上没有完全相同的两块芯片,也就保证了密钥的随机性和唯一性。而且,无需保存提取出来的密钥,使用过后随即消失,需要使用时再对芯片做密钥提取即可。不保存密钥,黑客也就无从攻击或窃取,也解决了密钥安全性的问题。
PUF具有某些特性,使其成为IoV的一个有吸引力的选择,例如物理安全性、低能耗、低硅面积的高吞吐量、低成本、结构简单和不可复制。
现状
- 大多数现有的IoV信任管理协议不提供可靠的安全措施,并且缺乏安全的车辆注册和撤销车辆注册的可靠系统。
- 车辆网络通常依赖分散的资源,集中式系统不适合在车辆网络中建立和管理信任。然而,大多数现有的IoV应用程序依赖于集中式模型。
- 为了解决1, 在本文中,我们使用物理不可克隆函数PUF作为协议的信任基础。PUF具有某些特性,使其成为IoV的一个有吸引力的选择,例如物理安全性、低能耗、低硅面积的高吞吐量、低成本、结构简单和不可复制。
- 为了解决2,我们使用区块链来开发一个没有中央机构的去中心化协议,它提供了一种管理车辆注册的安全方法。然而,在支持日益智能化的应用程序及其操作的同时,运行区块链挖掘流程需要巨大的计算和存储资源。因此,已经确定了不同的途径(例如,实时处理、资源密集型应用程序、挖掘和共识算法)来解决基于区块链的解决方案的可扩展性挑战。
四方权衡
类似于分布式定理:分布式系统的一致性、可用性、对网络分区的容忍度(CAPs)定理指出[8]:“一个健壮的分布式系统只能同时提供三个属性中的两个。
四方权衡:scalability、decentralization,latency,security。
类似分布式系统对:一致性、可用性、分区容忍性的三选二。区块链系统也可以看作是一个四向权衡:
Scalability
(可伸缩性):可伸缩性问题指的是区块链系统处理交易的能力。为了使区块链技术更加普及,系统应该能够在广泛的应用程序中处理不断增加的交易量。
Decentralization
(去中心化):去中心化反映了对整个系统控制的碎片化,这使得系统可以实现其他目标:抵制审查、公开参与、免受某些攻击、消除单点故障。
Security
(安全性):区块链系统应保证分类帐的不变性,对51%攻击、Sybil攻击、分布式拒绝服务等攻击的一般鲁棒性。
Latency
(时延):区块链的延迟是通过到结束的时间(TTF)来衡量的,TTF定义为交易完成/确认并变为不可逆的时间。
举例说明:
比特币以太坊
:实现良好的去中心化和安全性,但存在扩展性和终结性不足的问题。
Cardano和EOS
:牺牲区块生产者的去中心化来实现可扩展性(高吞吐量)。
Cosmos和AION
:以承担额外的攻击风险为代价,获得了可扩展性、去中心化和快速TTF。
因此,本文着重于为IoV设计一个分散的信任管理协议,同时解决四方权衡问题。
贡献
-
针对IoV中的车辆信任管理,提出一种去中心化且可扩展的协议,
-
通过区块链公钥基础设施(PKI)功能和智能合约,提出的一个用于管理车辆注册的可靠框架。
-
提出通过PUF以及通过颁发证书保护其隐私,基于不同车辆身份分配的硬件原语。
-
提出一种动态一致性算法,可以根据车辆产生的传入交通量,来衡量和改变车辆行为。
-
对协议进行严格的性能分析,同时解决区块链的四向权衡。
-
评估协议动态性的案例研究,以及与最先进的IoV信任管理协议的全面比较分析
研究现状
车载自组织网络(VANETs)的传统集中式系统架构难以应对ITS应用日益复杂的问题。
- Gazdar等人提出了一种动态分布式信任模型,用于在VANETs中的车辆之间建立信任关系。
- Lu等人[19],[20]提出了BARS,一种基于区块链的车辆网络信任管理系统,他们根据车辆的历史数据分配可信度得分。
- Malik等人[4]还提出了一个使用区块链的车辆网络认证框架。
然而,这些协议只关注车辆的隐私保护,未能解决其可扩展性问题。
- Singh和Kim提出了使用区块链的加密信任点(cTp)[28]。cTp使车辆能够安全地共享数据。
- 同样,Shrestha等人[27]讨论了基于区块链的IoV消息传播服务。
然而,这两种解决方案都不能保护车辆隐私。
-
Zhang等人[25]强调了物联网网络中生成的数据量,并强调了移动边缘计算对抵消基于区块链的车辆网络中的资源消耗的重要性。他们的解决方案有助于减少区块链计算开销,但边缘计算的引入并没有使其真正分散。
-
此外,Singh和Kim[26]提出了Trust Bit,一种基于奖励的车辆通信机制。他们使用具有唯一加密ID(cID)的区块链,该ID由车主发布,用于安全通信。
-
Zhang和Chen[24]介绍了一个使用联盟区块链在车辆网络中共享和存储数据的安全平台。然而,使用这样的区块链会导致额外的开销和较差的可伸缩性。
-
Yahiatene和Rachedi[18]讨论了一种区块链和软件定义的网络方法,用于保护车辆社交网络(VSN)。他们的方法使车辆网络可编程、虚拟化和可分区,而区块链实现交易认证并保持数据完整性。
-
Kaci和Rachedi[30]提出PoolCoin,这是区块链中矿工声誉管理的分布式信任模型。这个想法可以扩展到研究将RSU计算负载外包给采矿池,或允许其他矿工参与区域RSU采矿池。
-
Khelifi等人[23]提出了区块链在IoV安全名称数据网络缓存中的有趣用途。、
-
Y ang等人[21]提出了一种基于区块链的车辆网络分散信任管理协议。
-
最后,Lei等人[22]讨论了异构车辆系统的动态密钥管理。他们将区块链用于他们提议的密钥管理协议。
IoV-Blockchain 协议内容
网络模型
包含以下几个部分:
- 车辆:每辆车都有自己的区块链帐户和一对用于加密通信的公钥和私钥。
- RSUs:从路边基础设施到车辆提供无线通信的交通处理系统单元。
- 智能合约:计算机程序脚本,可以自主运行。与RSU交互的公共合同,确保车辆生成的数据来自可信来源。初次之外,它还负责存储和读取区块链账本中的数据。
- 服务器/矿工:这表示一个或一组设置,可以与网络的RSU和车辆交互,以提供不同类型的服务,例如部署区块链本身。矿工代表RSU的计算资源。
- 存储:向区块链中的存储设备读取和/或写入数据的过程,这些设备可以存储不同的数据形式。
- PUFs:PUF是一种“硬件指纹”,可以为半导体设备(例如微处理器、集成电路等)提供独特的标识。PUF通常以质询-应答对(CRP)为特征,可以表示为 R i = P U F ( C i ) R^i=PUF(C^i) Ri=PUF(Ci) 其中 R i R^i Ri是质询 C i C^i Ci产生的响应。因此,当用 C i C^i Ci激发时,每个PUF都会产生一个独特的 R i R^i Ri。
- 区块链:区块链实例代表一个与智能合约一起工作的本地分布和地理范围有限的账本。
协议操作
协议的操作包括两个阶段:
- 车辆注册阶段
- 车辆之间通信的数据传输阶段
车辆注册阶段
当车辆生成数据时,检查者会检查它是否已注册。如果车辆在注册列表中,则PUF质询将发送给车辆。如果它对挑战产生了积极响应,则车辆与本地区块链之间的链接将成功建立。最后,在这些检查之后,RSU向车辆颁发证书,用于认证。
因此,签发证书后,车辆无需再次进行这些检查。证书颁发是一次性操作,颁发给车辆的证书在其与本地区块链的持续时间内有效。如果车辆从注册列表中删除,则颁发给它的证书将被吊销,它必须再次重复设置阶段,以注册自己并获得证书。
数据传输阶段
前提:每辆车都有自己的唯一ID以及存储在区块链中的唯一CRP。
这里值得注意的是,加密指纹(cID)用于IoV区块链网络中的安全通信。
证书用于匿名化车辆的身份,以保护其隐私并减少开销,即一旦向车辆颁发证书,就不需要通过PUF质询来验证身份。
安全性分析&假设&威胁模型
A. 假设
- 每辆车都配有PUF。
- PUF和车辆的微控制器构成一个片上系统
System-on-a-chip (SoC)
,任何篡改都会使PUF失效。 - 鉴于SoC假设,PUF和微控制器通过安全信道通信。
- 关于PUF的标准假设是:每个PUF都是唯一且不可识别的,即对手无法预测其行为。PUF可以建模为: P U F : { 0 , 1 } l 1 → { 0 , 1 } l 2 PUF:\left\lbrace0,1\right\rbrace^{l_1}→ \left\lbrace0,1\right\rbrace^{l_2} PUF:{ 0,1}l1→{ 0,1}l2,即PUF在用长度为 l 1 l_1 l1的输入激励时将产生长度为 l 2 l_2 l2的输出。
本文提出的协议使用挑战者C和对手A之间的安全游戏 E x p P U F , A S e c Exp_{PUF,A}^{Sec} ExpPUF,ASec对PUF安全进行建模,该游戏定义如下:
- A随机选择一个挑战 C i C^i Ci并将其发送给C。
- C通过PUF来获得响应 R i R^i Ri并把 R i R^i Ri发送给A。
- C选择之前未使用的随机挑战 C x C^x Cx,并通过PUF获得响应 R x R^x Rx,即 R x = P U F ( C x ) R^x=PUF(C^x) Rx=PUF(Cx)。
- 对于 C x C^x Cx以外的挑战,A可以进行多项式次数的PUF查询。
- A针对 C x C^x Cx挑战,输出它的猜测值: R x ′ R^{x'} Rx′。
- 如果 R x ′ = R x R^{x'} = R^x Rx′=Rx,则A获得游戏的胜利。对手A在本游戏中的优势可以通过 A d v A P U F = P r [ R x ′ = R x ] Adv^{PUF}_A=Pr[R^{x′}=R^x] AdvAPUF=Pr[Rx′=Rx]来建模。
B. 威胁模型
一组车辆V=V1、V2、…、Vn与这些安全区块链S进行交互。但车辆与区块链的交互通过并不安全的网络。在身份验证阶段结束时,实体要么在网络中注册,要么被拒绝。如果身份验证成功,则车辆可以通过与合约交互来开始传输数据。对手A假定完全控制区块链中车辆和矿工之间的通信通道。这可能包括攻击,例如窃听、篡改、重放和在网络中注入数据包。以下用于建模这些攻击:
- SendS(S,m0,r0,m1):A模仿合法车辆的行为,并向区块链S和接收者r0发送消息m0,然后车辆回复S消息m1。
- SendM(ID,m0、r0):A模仿区块链的行为,并向A和接收者r0发送消息m0。
- Monitor(M,S):模拟A在车辆V和区块链S之间的通道上持续窃听的能力。
- Drop(A):模拟A在V和S之间丢弃数据包的能力。
对于上述各种函数,对手A可以调用多项式次数次。
C. 安全性证明
引理:
- 对手不可能篡改区块链中的数据。
- 车辆的秘密响应不可能会泄露。
- PUF可以安全抵御物理/克隆攻击。
- 车辆的公钥无法被关联。
定理:
- 定理1:PUF实现了车辆和区块链的相互认证。
- 定理2(数据来源):提出的协议成功地建立了数据来源的真实性。
仿真与实现
- 使用Solidity语言创建IoV区块链网络模型。
- dPoW共识机制用Python3.7.3编写。
A.仿真环境
- 装有Ubuntu OS(版本17.04)的笔记本电脑。
- 电脑规格如下:Intel内核i7-7700HQ CPU(4核,@2.8 GHz),16-GB RAM,Nvidia GeForce GTX 1060 GPU,6 GB内存,1 TB HDD,128-GB SSD。
- shell脚本环境是Terminal。
- Ethereum开发包用于终端,使用Ethereum Go客户端(Geth)实例化节点,即用Go语言编写的命令行界面。
- Remix是Solidity基于浏览器的IDE,用于编写及编译智能合约。
web3.js
允许RSU和车辆,对使用HTTP/IPC连接与本地或远程以太坊节点交互。车辆方面使用web3.js
通过HTTP连接与相应的Geth客户端交互,以将请求作为事务发送到智能合约,并接收授权结果。RSU方面通过web3.js
与Geth客户端交互,以部署编译后的智能合约并托管本地区块链。
算法将会初始化两类节点,其中包括一组用R表示的RSU节点和一组用V表示的车辆节点。每个节点都有自己的区块链帐户并可以通过智能合约与其他节点交互。
每个RSU节点都持有区块链的快照,与其对等RSU节点同步。
B.合约执行流程
合约执行流程包含两个操作阶段:
- 初始化:RSU节点将会初始化合约,该合约将被 合约实例认为是 可服务变量。因此,可以在RSU节点的Geth终端中编译合约。
- 部署:将编译好的合约部署在RSU节点上,然后RSU节点继续挖掘,以获取与合约实例交互所需的合约地址。对于交互,还需要从Remix IDE获得合约ABI。然后,合约地址在车辆节点之间广播,使其能够通过合约与RSU节点进行交互和通信。因此,RSU节点现在可以授权车辆、注册或删除它们,并允许它们作为事务发送请求。
参考:https://www.jianshu.com/p/aa60e81825f8:Application Binary Interface,ABI 是程序间互动的接口,但程序是被编译后的 binary code。所以同样是接口,但传递的是 binary 格式的信息。所以 ABI 就要描述如何 decode/encode 程序间传递的 binary 信息。
C.协议的营运成本
“gas”是以太坊使用的特殊单位的名称。它衡量一个动作或一系列动作需要执行多少“工作”。 以太坊上的一项交易或合约可以执行的每项操作都会花费一定数量的gas。
gas的重要性在于它有助于确保提交给网络的交易支付适当的费用。 通过要求交易支付每个操作的执行费用,我们确保网络不会因为执行大量对任何人无价值的密集工作而陷入困境。 这与比特币交易费用不同,它仅基于交易的千字节大小。 由于以太坊允许运行任意复杂的计算机代码,所以短的代码实际上可能导致大量计算工作的完成。 所以衡量直接完成的工作非常重要,而不是仅仅根据交易或合同的长度选择费用。
表III列出了IoV区块链协议及其功能的耗气量估算,以Wei(乙醚)为单位,这些估算是使用Remix IDE获得的。执行合约所需的气体量为21 128,而部署合约所需要的气体量则为985 200。sendMessage()和registryVehicles()具有无限气体估计值。这是因为它们的输入大小未定义。
IoV-区块链四方权衡的性能分析
本节介绍协议的性能评估,并从区块链的四方权衡角度讨论其效率。我们还将协议对于车辆信任管理方面的性能与已提出的方案【21】进行了比较。
方案【21】:Z. Yang, K. Yang, L. Lei, K. Zheng, and V. C. M. Leung, “Blockchain-based decentralized trust management in vehicular networks,”IEEEInternet Things J., vol. 6, no. 2, pp. 1495–1505, Apr. 2019.
A.可伸缩性
区块链由区块链组成,其中每个区块都包含元数据(previous hash)和数据(tuples of transactions)。这意味着区块链的长度随着时间不断增加。因此,我们从两个方面评估所提出协议的可伸缩性:
一、通信开销
考虑使用[21]的拟议协议传输所需的最大数据包大小,如表VII所示。我们观察到,我们提出的协议的通信开销比[21]中的协议低36%。为了研究协议在通信开销方面的可伸缩性,我们在图4中显示了增加车辆数量对通信开销的影响。可以看出,协议比[21]更具伸缩性,能够以更少的开销管理更多的车辆。
二、dPoW共识
我们用表IV中列出的四种场景定义了dPow 共识算法。
我们观察到,当到达率较低时,挖掘难度最高,挖掘目标值由挖掘哈希的四个有效位定义。同样,当到达率较高时,挖掘难度最低,目标值由挖掘哈希的一个有效位定义。这使得协议可以有效地扩展,即高挖掘难度的低到达率可以提高安全性保真度,而低挖掘难度的高到达率可以提高吞吐量,从而在更短的时间内挖掘更多的块。
我们模拟了表IV中提到的1000个区块的场景,每个区块中有100个虚拟交易,如图7所示。
图7(a)所示,在场景δ=4下挖掘1000个区块所需的总时间几乎为5秒[即每秒大约20 000个交易(tx/s)]。
图7©和(e)显示,在情景δ=3.2下,采矿所需的总时间分别约为50和650秒(即2000和150 tx/s)。
图7(g)中可以看出,在场景δ=1下开采区块所花费的总时间为10 000 s(即10 tx/s)。
因此,可以得出结论,对于低到达率,吞吐量较低,而对于高到达率,吞吐率也较高,这使得所提出的协议具有可扩展性。
B.去中心化
区块链的去中心化程度可以通过其控制权和资源在矿工中的分布来评估。
为了处理IoV区块链网络中作为交易生成的请求,并确保其平稳运行,矿工(RSU)需要验证交易并高效生成区块。因此,矿工需要完成以下步骤:1)收集、验证并将交易整理成一个区块并进行挖掘;2)在网络中广播开采的区块以达成共识并将其附加到区块链。
为了衡量协议的去中心化程度,考虑一个具有N个对等节点和M个矿工节点的IoV区块链系统。注意,对等节点表示矿工节点和服务器节点。
- 节点集: N = { n 1 , n 2 , … , n N } \mathcal{N}=\left\lbrace n_1,n_2,…,n_N \right\rbrace N={ n1,n2,…,nN}。
- 计算能力: γ = { γ 1 , γ 2 , … , γ n } \mathcal{γ}=\left\lbrace γ_1,γ_2,…,γ_n \right\rbrace γ={ γ1,γ2,…,γn},节点 n n n_n nn的计算能力用 γ n γ_n γn表示。
- 矿工: M = { m 1 , … , m m , … , m M } \mathcal{M}=\left\lbrace m_1,…,m_m,…,m_M \right\rbrace M={ m1,…,mm,…,mM}, M ⊆ N \mathcal{M}⊆\mathcal{N} M⊆N、 从 N \mathcal{N} N中选择。
假设根据密度 λ ( x ) λ(x) λ(x)的非均匀泊松点过程(PPP),矿工位于 R 2 R^2 R2中的独立随机位置,其中节点 n n n_n nn的位置由二维坐标 x n ∈ R 2 x_n∈R^2 xn∈R2, x = { x n } x=\left\lbrace x_n \right\rbrace x={ xn}是位置集。
密度 λ ( x ) λ(x) λ(x)的定义为对于任意的 A ⊆ R 2 A⊆R^2 A⊆R2, E { N u m ( A ) } = ∬ A λ ( x ) d x ⊆ R 2 E\left\lbrace Num(A) \right\rbrace=\iint_Aλ(x)dx⊆R2 E{ Num(A)}=∬Aλ(x)dx⊆R2,其中 N u m ( A ) Num(A) Num(A)是区域A中的节点数。
为了衡量去中心化程度,本文使用了基尼系数(the Gini coefficient),这是一个经过充分研究的衡量财富或收入不平等的指标。我们通过考虑RSU地理位置的分布来衡量去中心化程度。由于矿工密度分布λ(x)是x的连续函数,因此关于(w.r.t.)地理分布的矿工基尼系数可以表示为
g ( λ ) = ∫ a ∫ a ∣ λ ( x ) − λ ( y ) ∣ d y d x ∫ a ∫ a λ ( x ) d y d x = ∫ a ∫ a ∣ λ ( x ) − λ ( y ) ∣ d y d x 2 M g(\lambda)=\frac{\int_a\int_a|\lambda(x)-\lambda(y)|dydx}{\int_a\int_a\lambda(x)dydx} = \frac{\int_a\int_a|\lambda(x)-\lambda(y)|dydx}{2M} g(λ)=∫a∫aλ(x)dydx∫a∫a∣λ(x)−λ(y)∣dydx=2M∫a∫a∣λ(x)−λ(y)∣dydx
其中,a表示与密度集为 λ = { λ ( x ) } , x ∈ a λ=\left\lbrace λ(x) \right\rbrace,x∈a λ={
λ(x)},x∈a的二维坐标(x,y)相关的面积, a ⊆ R 2 a⊆R^2 a⊆R2。
请注意,基尼系数的值在[0,1]范围内,其中0表示完全分散,1表示完全集中。因此,矿工的地理分布越分散或统一,系数越接近0。此外,为了保证矿工的地理分散,需要满足以下约束: g ( λ ) ≤ η g , ∀ η g ∈ [ 0 , 1 ] g(λ)≤η_g,∀η_g∈[0,1] g(λ)≤ηg,∀ηg∈[0,1]
其中, n g n_g ng为矿工的去中心化阈值w.r.t.地理分布。
图5显示了协议的去中心化性能。可以看出,随着基尼系数值的降低,洛伦兹曲线逐渐接近理想的去中心化,即区块链变得更加去中心化。从图中可以看出,对于基尼系数的三个不同值,洛伦兹曲线的不同区域。基尼系数值越高,意味着矿工的分布更加集中,而值越低意味着他们的分布越分散。
C.时延
与MAC/PHY(Media Access Control 和 Physical layer)开销类似,时延也是IoV的一个重要性能指标,因为它表示车辆通过RSU成功验证自身及其请求所需的总时间。因此,我们提出的协议的延迟从两个方面进行评估:
- 我们研究RSU侧的身份认证时延,即RSU验证车辆所需的时间。
- 我们研究车辆生成的交易的TiF,即:交易已完成且不可逆转所需的时间。
一、RSU的身份认证时延
图6显示了本文提出的协议和【21】中提出的协议在RSU侧的车辆认证延迟的比较。为了进行公平比较,我们使用表VI中给出的参数对两个协议进行了模拟。使用MATLAB中的自定义离散事件模拟器得到结果,这证实了本文所提出的协议的认证延迟明显低于【21】。这减少了RSU的负担,使他们能够随着车辆数量的增加有效地管理信任。
二、TiF(Time-to-Finality)
对于TiF,我们考虑表IV中列出的相同四种场景。本文提出的协议中的事务处理需要两个步骤:将交易添加到一起,形成一个块并对其进行挖掘,然后在挖掘的块上达成共识。因此,我们为车辆生成的交易制定了TiF,其中包括区块挖掘时间(即区块间隔)和区块验证时间,如下所示:
t f , δ = t i , δ + t c , δ , δ = 1 , 2 , 3 , 4 t_{f,δ}=t_{i,δ}+t_{c,δ},δ=1,2,3,4 tf,δ=ti,δ+tc,δ,δ=1,2,3,4
其中, t i , δ t_{i,δ} ti,δ表示块间隔时间,它取决于δ的选择,δ表示共识延迟,即矿工需要验证块的时间。为了简单起见,假设一致延迟时间为1,因为验证块很简单,需要输入证明值来生成目标散列。因此,我们只考虑阻塞间隔时间,主要关注不同交易到达率下协议的挖矿动态。
我们模拟了表IV中1000个块的场景,每个块有100个虚拟事务,如图7所示。
- 在场景δ=4下,每个块的哈希迭代次数(即其中100个事务的TiF)如图所示。7(b)峰值为每个块120次散列迭代(h/b,hash iterations per block)。
- 类似地,场景δ=3.2下的散列迭代次数如图7(d)和(f)所示,峰值分别为2500和35000 h/b。
- 此外,图7(h)显示了场景δ=1(峰值约为400 000 h/b)下每个块的散列迭代次数。
因此,我们可以得出结论,对于低到达率,TiF较高,而对于高到达率,TiF较低,这使得我们的协议能够以低延迟运行。
因此,在我们提出的协议中,车辆应当在短时间内获得交易的最终结果。为了满足IoV区块链延迟要求,假设一个区块应在连续的区块间隔(即 △ ( △ > 1 ) \bigtriangleup(\bigtriangleup>1) △(△>1)个区块间隔)内开采和验证。具体而言,TiF应满足以下约束条件
t f , δ ≤ △ t i , δ = 1 , 2 , 3 , 4 t_{f,δ}\leq\bigtriangleup_{t_i},δ=1,2,3,4 tf,δ≤△ti,δ=1,2,3,4
还可以观察到,区块间隔对区块链的影响是双重的:
- 减少区块间隔可以提高吞吐量,如图7所示;
- TiF随着区块间隔的增大而成比例增加,因为较大的区间会转化为更多需要验证的交易。此外,块间隔的减小对一致性延迟施加了更严格的约束,这与矿工和所选一致性算法的动态性密切相关。
因此,应仔细调整区块间隔、矿工分布和选择共识动态,以解决四方权衡。
D.安全性
我们提出的协议使用PoW共识算法的变体,即dPoW。只要honest miners诚实矿工的数量大于malicious miners恶意矿工,PoW就提供了高度的安全性。理论上,一个对手/一组对手可以通过使用(>50%)采矿力,潜在地开采另一条“更长”的矿链,该矿链可以回到创世区块。因此,诚实矿工的忠诚在PoW中至关重要。为了使用共识算法δ保证所提出协议的安全性,恶意矿工的数量 n m n_m nm需要受到以下限制:
n m ≤ n m , δ , δ = d P o W n_m≤n_{m,δ},δ=dPoW nm≤nm,δ,δ=dPoW
其中 n m , δ = ⌊ [ ( n h , δ − 1 ) / 2 ] ⌋ n_{m,δ}=\lfloor[(n_{h,δ}−1) /2]\rfloor nm,δ=⌊[(nh,δ−1)/2]⌋表示拟定协议中恶意矿工的最大可容忍数量,即 < 50 <50% <50, n h , δ n_{h,δ} nh,δ表示诚实矿工的总数。
为了分析这一点,我们考虑这样一个场景:攻击者试图创建一个比诚实矿工链更快的非诚实矿工链。攻击者和诚实矿工之间的竞争可以描述为二项随机游走。 并且给出success和failure的定义:
- success:代表诚实链延长了一个区块,从而使其在不诚实链中的领先优势增加了+1。
- failure:代表不诚实链延长一个区块从而减少了差距,即-1。
此外,攻击者追赶诚实链后面的块的可能性类似于赌徒的破产问题。假设一个赌徒从一个给定的赤字开始,拥有无限的信用额度,并可能进行无限次的尝试以达到收支平衡点。然后,攻击者赶上诚实链的概率由下式给出
Q n = { 1 , i f p ≤ q ( q p ) n , i f p > q Q_n = \begin{cases}1&,if &p \leq q\\(\frac{q}{p})^n&,if&p>q\end{cases} Qn={
1(pq)n,if,ifp≤qp>q
其中, p p p是诚实矿工找到下一个区块的概率, q q q是攻击者找到下一块的概率, Q n Q_n Qn是攻击者从诚实链后面的区块追赶上来的概率。图8显示了这种攻击的无效性,只要诚实的矿工拥有超过50%的总计算能力。
可以看出,当 p = 1 , 0.9 , 0.8 , 0.7 和 0.6 p=1,0.9,0.8,0.7和0.6 p=1,0.9,0.8,0.7和0.6时,攻击者 Q n Q_n Qn利用诚实链攻击的概率随着块数的增加呈指数下降,即,在仅仅十个块之后, Q n Q_n Qn降为0。当 p = 0.5 p=0.5 p=0.5时, Q n Q_n Qn增加为1,这证实了谁控制了协议总计算容量的50%以上,就能控制其区块链。然而,考虑到我们的假设 p > q p>q p>q, Q n Q_n Qn随着攻击者必须赶上的块数的增加,攻击呈指数级下降,从而使攻击无效。
此外,交易的真实性通过数字签名得到保证。该协议使用椭圆曲线密码(ECC)和椭圆曲线数字签名算法(ECDSA)来确保车辆生成的数据是合法的。表V[45]给出了ECC与Rivest–Shamir–Adelman(RSA)、Diffie–Hellman(DH)和数字签名算法(DSA)之间的常见比较。我们观察到,ECC可以使用较小的密钥长度实现更高级别的安全性,较小的密钥长度会降低计算开销。
案例研究
我们使用OSMWebWizard的城市移动(SUMO)模拟包为我们的协议设计了一个案例研究。SUMO是一个开源、微观、高度便携和连续的道路交通模拟软件包,旨在处理大型道路网络。我们考虑了新加坡唐人街地区,该地区有100个左侧驾驶节点,包括车辆、公共汽车和卡车,以33米/秒的惊人速度行驶,没有停顿时间。图9显示了提取路线长度约为1300 m的考虑地图段,所采取的步骤。提取地图段后,SUMO生成了一个地图配置(.cfg)文件,该文件首先转换为车辆跟踪文件(.xml),然后,使用SUMO包中提供的“traceExporter”功能生成车辆移动跟踪文件(.tcl)
A. IoV区块链协议动态
为了分析我们的协议,我们使用了ns-3,这是一个用于Internet系统的离散事件网络模拟器。
通过移动跟踪文件,我们使用车辆环境无线访问(WAVEs)协议和表VI中列出的参数定义了一个自定义VANET。
WAVE协议的标准是IEEE [email protected] GHz(车辆环境的当前技术水平),可连续访问车辆生成的所有通信量的10 MHz控制信道。
- 模拟用100辆车和10个RSU节点分别运行了100秒,此外,车辆节点根据移动跟踪文件在提取的地图段的650×650 m 2 m^2 m2区域内移动。
- 所有车辆节点以每秒10次的频率,以6 Mb/s的速率向RSU传输512-B块头,即每秒广播10000个块头。
- 所有车辆都试图以2.048 kb/s的速率连续向其他节点发送64-B应用程序包。
- 车辆使用的路由协议为OLSR,双射线地面损失模型与Nakagami衰减模型结合使用。
- 车辆的发射功率设置为20 dBm,RSU相距50 m。
我们根据数据包交付率(PDR)计算区块链数据包的交付,PDR是发送到RSU的数据包数量除以它实际接收的数据包数。我们对所有十个RSU进行了此操作,以查看随距离衰减的影响。
B. MAC/PHY开销
在目前已有的车联网的信任管理协议中,广播频道充斥着车辆的认证请求。这会影响应用程序吞吐量,也可能使RSU过载,从而导致更长的身份验证延迟。因此,MAC/PHY开销对IoV的性能至关重要。其值在[0,1]范围内,由下式给出
M A C / P H Y o v e r h e a d = ( t o t a l P H Y B y t e s − t o t a l A p p B y t e s ) / t o t a l P H Y B y t e s MAC/PHY overhead=(total PHYBytes−total AppBytes)/total PHYBytes MAC/PHYoverhead=(totalPHYBytes−totalAppBytes)/totalPHYBytes
其中,PHYBytes表示物理层的流量,而AppBytes代表数据链路层的流量。MAC/PHY开销可以看作是协议开销随时间的移动平均值。
C. 讨论和评估
- 图10(a)和(b)显示了协议的应用数据和应用包接收速率。注意,每秒传输的比特数表示数据速率,并称车辆节点正在以2.048 kb/s的速率传输64-B应用包。我们可以看到,应用程序总吞吐量保持在平均150 kb/s,而应用程序数据包接收速率保持在平均每秒30个数据包(pps)。我们观察到,我们的协议在IEEE 802.11下,当前场景中达到了吞吐量上限。
- 图10(c)显示了相关的MAC/PHY开销,其低值表明了我们的协议的效率。
- 此外,图10(d)显示了十个RSU的PDR,表示车辆广播到RSU的区块链数据包。RSU1是最早的,PDR最高,而RSU10是最远的,由于信道衰落,PDR最低。
因此,这些结果表明了我们提出的协议在IoV中的有效性。
D. 比较分析
在本节中,我们将我们的协议与Yang等人提出的最先进的协议【21】进行了比较。为了进行公平比较且不失通用性,我们使用第VII-a节中解释的参数模拟了两种协议。
模拟结果和改进记录在表VII中,而图11显示了动力学比较的图形描述。我们观察到,在所有比较指标中,我们的协议都优于【21】。图11(a)显示,【21】中协议的应用程序流量总接收速率平均为140 kb/s,而我们的协议为150 kb/s,即接收速率提高了7.15%。图11(b)显示,【21】的应用程序包吞吐量约为25 pps,而我们的协议为30 pps。这是因为【21】中传输的数据包大小为800 B,而在我们的协议中,它的大小为512 B。
类似地,图11(c)显示,我们的协议的MAC/PHY开销低于【21】中的协议。我们观察到,100秒后,【21】的MAC/PHY开销为16.55%,而我们协议的MAC/PHY开销为11.39%。此外,对比图10(d)和11(d),可以看出,在不同RSU位置的PDR中,我们的协议也优于【21】。因此,由于具有较高的吞吐量和较低的开销和数据包大小,我们的协议能够为更多车辆进入时间驱动信任管理,这可以通过表VII中详述的RSU PDR进行验证。这也使得所提议的协议具有良好的可扩展性。
总结
本文研究了在IoV中车辆信任管理的问题,并提出了一个基于区块链的协议,该协议使用带PUF的智能合约、证书和dPoW共识算法。区块链和合约通过管理车辆注册成为分散式IoV网络的基础。PUF为每辆车提供了唯一的指纹,从而建立了信任。RSU签发了保护车辆隐私的证书。此外,dPoW共识允许协议根据车辆产生的传入流量进行扩展。我们提出的协议还能够通过管理注册车辆列表来区分注册车辆和恶意车辆。