【摘要】为解决车联网通信架构中心实体负载过大和数据安全风险高等问题,提出一种基于区块链的车联网节点
据安全通信模型(DSCM )。首先,考虑车联网数据的实时性和车辆节点的移动性,设计了普通数据和紧急数据的区块结构和数据包格式,并针对节点存储问题提出一种节点数据更新方法。其次,提出一种基于云服务器和区块链的节点身份认证方案,解决用户的身份验证和隐私问题。然后,在实用拜占庭容错(PBFT )共识机制的基础上,提出改进动态PBFT 机制。最后,对DSCM 模型进行评估,分析DSCM 模型的特点、车辆节点面临的问题和DSCM 模型的解决方案,证明了该模型的有效性。
主题词:区块链车联网共识机制安全通信模型
中图分类号:TP373文献标识码:A
DOI:10.19620/jki.1000-3703.20200464
Research on Data Security Communication Model for IoVs Nodes Based
on Blockchain
Ren Tiaojuan 1,2,Zheng Jiaying 1,Chen Yourong 2,Chen Qiuxia 2,Liu Banteng 2
(1.Changzhou University,Changzhou 213164;2.Zhejiang Shuren University,Hangzhou 310015)
【Abstract 】A blockchain-based Data Security Communication Model (DSCM)for IoVs nodes is proposed to solve the problem of overloading centralized system and high risk of data security of IoV communication structure.Firstly,considering the real-time of data and mobility of vehicles,blockchain structure and data package format are designed for generic data and emergency data,and a node data update method is proposed for node storage.Secondly,this paper proposes a node identity authentication scheme based on cloud servers and blockchain to solve the user authentication and privacy issues.Further more,based on Practical Byzantine Fault Tolerance (PBFT)consensus mechanism,the paper proposes an improved dynamic PBFT mechanism.In the end,the paper analyzes the characteristics of DSCM model for
evaluation,and analyzes the problems faced by vehicles nodes and the solutions of DSCM which proves validity of the model.
Key words:Blockchain,IoVs,Consensus mechanism,Security communication model
任条娟1,2
郑佳莹1
陈友荣2
陈秋霞2
刘半藤2
(1.常州大学,常州213164;2.浙江树人大学,杭州310015)
*基金项目:浙江省公益技术应用研究项目(LGF19F010005);浙江省自然科学基金项目(LQ18F030006);
浙江树人大学省属高校基本科研业务费专项资金项目(2020XZ005)。
基于区块链的车联网节点数据安全通信模型研究*
汽车技术·Automobile Technology
【引用格式】任条娟,郑佳莹,陈友荣,等.基于区块链的车联网节点数据安全通信模型研究[J].汽车技术,2021(5):30-35.
REN T J,ZHENG J Y,CHEN Y R,et al.Research on Data Security Communication Model for IoVs Node
s Based on Blockchain[J].Automobile Technology,2021(5):30-35.
1前言
车联网是智能网联车辆的核心技术之一。在车联网中,车辆节点定期向周围的节点广播其当前位置、速度和加速度等信息,但这种方式对车辆数据安全构成潜在威胁。现有的车联网架构都是中心化的,一旦中心化实体被攻击,将会带来严重的数据安全风险,造成身份、位置等隐私泄露。且随着物联网技术的快速发展,车联网节点数据量剧增,中心实体负载过大,面临着单点故障的风险。同时,车联网的高移动性、易变性等特质给
车辆通信系统带来了巨大挑战。
区块链技术是一种完全分布式的公共数据库或分类账,具有去中心化、透明性、防篡改等特点,因此国内外学者提出将区块链技术引入车联网。如:文献[1]根据数据类型设计了不同功能的独立区块链,提出了车辆区块链数据向外传输的模型。文献[2]提出了基于许可的区块链模型,管理所收集的车辆相关数据。文献[3]增加奖励机制,并提出一种半分布式对等计算(Peer to Peer ,P2P )网络模型。文献[4]提出了一种基于区块链的安全数据共享模型,鼓励车辆广播公告消息和生成
区块。部分学者以联盟链为基础,将车辆的存储和计算转移至路侧单元(Road Side Unit ,RSU )。文
献[5]开发了一种P2P 数据共享系统,公开审计和存储共享数据及其共享记录。文献[6]提出了一种基于联盟区块链的数据安全共享和存储系统。文献[7]实现了开放环境下自动驾驶云控服务及相关数据的安全共享。部分学者将区块链网络划分区域。文献[8]将车联网划分为若干个区域,每个区域设定一条公有链,提出了一种区块链分支算法。文献[9]、文献[10]以城市为单位,将车联网设计为一个联盟链,实现各城市车联网联盟链之间的数据交换。
本文针对存储维护困难、通信效率低、实时处理困难等问题,提出一种基于区块链的车联网节点数据安全通信模型(Date Security Communication Model ,DSCM ),包括区块链设计、节点身份认证、改进动态实用拜占庭容错共识算法、车辆安全通信方法等。根据数据的紧急程度,将数据分成普通数据和紧急数据。考虑到车辆节点的运动情况,提出一种改进实用拜占庭容错共识算法。
2车联网数据安全通信模型
本文以车联网服务为基础,借助区块链的思想设计了安全通信模型,包括区块链设计、节点身份认证、改进动态实用拜占庭容错共识算法和车辆安全通信方法。
如图1所示,车联网区块链由车联网联盟链和1个公链组成。考虑通信的部署,将整个车联网划分成蜂窝式区域,每个区域设定1条区块链,这些区块链共同组成车联网联盟链,其中车联网联盟链由各区域中所有的通信和车辆节点等车联网节点组成。同时,所有通信(5G )和路侧单元等车联网
的边缘侧设备统称为边缘节点。车联网中所有边缘节点作为共识节点组成车联网公链,实现各区域间紧急数据的共享。
图1
车联网数据通信原理
本文将车联网数据分为普通数据和紧急数据。普
通数据包含车辆的基本安全数据,在所在区域内的车辆之间传输。紧急数据包含交通事故、道路拥堵状态等特殊信息,在区域之间传输,通过车路通信和云计算的分布式广播,实现全范围内的消息共享。但是仍需要解决以下问题:一是如何设计普通数据和紧急数据的区块结构、数据存储结构、节点身份认证方式等,并实现车辆数据真实性和完整性的验证;二是如何有效地实现车辆数据的共识,剔除恶意节点,提高共识效率,缩短共识时间;三是如何实现数据的安全通信。2.1车联网区块链设计
2.1.1
区块设计
边缘节点分布式记录、存储路况信息,每个边缘节点都会存储联盟链上所有的数据,即使网络中某些节点遭受攻击,也不会对数据造成任何威胁,从本质上解决了中心化模式下数据存储不安全的问题。
图2所示为主链中的区块结构,区块主要分为区块头和区块体2个部分。区块头中:时间戳表示区块产生的时间;有效时间表示该区块的有效期限;当前区块的哈希值表示整个区块数据的哈希值;父区块哈希值表示上一个区块的哈希值;默克尔树根哈希值表示区块体内存储的所有车辆交易信息的根哈希值。区块体由交易数据块组成,交易数据块由多个数据块(例如图中D1~D4)构成,计算每个数据块哈希值(例如图中H 1~H 4、H 12、H 34),最终计算整个交易区块体的默克尔树根
(H 1234)。每个数据块中可存储10条车辆数据条目(Item ),每个区块的大小不超过1MB 。这种区块链的数据结构使得链上每个区块的信息都可以由前驱节点追溯,并影响后继节点的信息构成,由密码学方法保证了恶意攻击无法篡改信息,确保数据的安全性和完整性。
图2区块结构
2.1.2
数据存储结构
如图3所示,为了保证记录内容可信、未篡改,模型
记录所有数据的哈希值并采用分层结构存储。其中,数
据块(Data Block )由1个数据头信息和多个数据条目组成。数据头信息包含时间戳和数据块的哈希值,可减少
RSU 1RSU 2
5G
头头
区域链
RSU 1
RSU 2
5G RSU 1
RSU 2
5G 头
头头
区域链
RSU 1
RSU 2
5G
区块头时间戳有效时间当前区块哈希值
父区块哈希值默克尔树
根哈希值区块头交易数据体
时间戳H H H H H H H D1
D2
D3
D4
Item 1Item 2
Item 10
D4
校验的计算成本,有利于数据块在区块链网络中传播。每一个数据条目中都包含了时间戳t 、数据所有者公钥P k 、元数据、数据哈希(Hash )。其中,元数据为普通数据或紧急数据:普通数据包括车辆的位置、速度、方向、制动状态、有效时间等车辆自身基本安全信息;紧急数据包括交通事故、道路拥堵状态、实时路况、有效时间等特殊信息。每条数据的大小不超过1KB 。根据前面3个信息,计算和存储本条数据的哈希值,方便其他节点的哈希校验,从而加快节点对区块的校验速度,减少搜索空间。
图3数据存储结构
2.1.3
节点数据更新
由于区块链具有无限冗余的特性,每个节点都备份
了区块链网络的所有信息,消耗大量功率,这在车联网的网络环境下难以运行和维护。且车辆通信期间会生成大量数据,需要大型数据服务器长时间管理和存储数据。因此,根据车联网的实时性和移动性,在每个区块链节点上,都只备份当前区域内区块链网络的数据。当车辆节点从一个区域移动到另一个区域时,删除在原有区域的区块链信息,并更新下载当前区域网络的区块链信息和数据。车辆节点存储量达到阈值后,则从头开始判断区块的有效期。如图4所示,如果区块链中有区块过期,则删除整个区;如果区块链中区块未过期而内存不足,为保护区块的完整性和真实性,先删除该区块的数据,只保留区块的哈希值。
图4节点数据更新
2.1.4
数据包格式
车辆发送的数据包含数据所有者公钥Q 、元数据
m 、数字签名S 、数据哈希值h (m )(SHA256)、时间戳t 。如表1所示,应发送的数据包为M sig {Q |S |t|m |h (m )}。
表1
数据格式
2.2节点身份认证
用户的身份验证和隐私是车联网中的2个重要问
题,本文采用一种基于云服务器和区块链的节点身份认证方案。如图5所示,车联网节点(车辆节点和边缘节点)在启动加入网络前,发送注册请求给负责证书签发的认证中心(Certificate Authority ,CA )。云服务器负责存储和管理节点的出厂信息和真实身份,方便节点注册时进行身份验证,并管理CA 颁发的节点假名。当节点在具有真实身份的系统中注册后,可获得由CA 颁发的包括假名、一对公私钥和2个哈希值的证书。在CA 为节点颁发的证书中,隐藏了节点的真实身份,可以保护节点的隐私,并可根据假名+公钥的哈希值和真名+证书的哈希值追踪恶意节点。
图5节点身份认证
车辆节点可从一个区域快速移动到另一个区域,为移动节点。新加入网络的节点称为新生节点。考虑到车辆的移动性,通过随机组成的随时间动态变化的验证组成员,快速验证新生节点和移动节点的证书。其中,验证组成员由所有区域内随机挑选的数量为M 的边缘节点和数量为N 的移动节点组成。其中,已经入选成为验证组成员的节点在下次随机组合过程中将不会被考虑,直到所有可能的组合都遍历过。
在区块链网络中,车联网节点会在其通信列表中保存一定时间内通信过的节点信息,该列表为信任列表。若列表中的节点信息超出时间范围,则会被删除。信任列表可在边缘节点之间和边缘节点与车辆节点之间更新。当车辆节点移动到另一个区域时,则该节点当前所
数据块数据头信息Item 1Item 2
Item n
Item 1
123
t P 元数据Hash t P 元数据Hash t P 元数据Hash
10
t P 元数据Hash
普通消息车速位置
制动状态
紧急消息
交通事故
拥堵状态实时路况
数据N4N5
N6N7
数据
数据
内容长度/位
Q 65
m 可变
S 可变
h (m )256
t 13
存储
云服务器
边缘
节点
存储
边缘
节点
记录
区块链
注册
证书
CA
车辆节点
车辆节点
边缘节点
验证
区块
头区块头区块
在区域内的区域代表节点向前一个区域及其周围区域(不包括当前区域)发送验证请求。其中,验证组
中只要在1个边缘节点或n个车辆节点的可通信列表中可查询到该车辆节点信息,即认为通过该区域的验证。若该车辆节点通过跨区之前所在区域的验证,且在周围区域(不包括当前区域和前一个区域)中未能通过,则表明该车辆节点具有唯一性,即认为该车辆节点的身份验证成功,可以参与数据通信。若未能满足上述情况,则该车辆节点参与数据通信的权利被取消,一段时间后重复上述验证过程,直到完成该车辆节点的身份验证。车辆节点第一次加入网络时,该区域的区域代表节点向其他区域的验证组发送验证请求,若在各个区域中都未通过验证,则证明该车辆节点的唯一性,即认为该车辆节点的身份验证成功,否则不能参与数据的通信。
总之,通过云服务器的身份认证和节点间的身份认证,才能允许车联网节点进行有效的数据通信,从而减少传统认证方案中对CA的依赖,有效检测和防止恶意节点加入,并保护节点的身份隐私。
2.3改进动态实用拜占庭容错共识机制
实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)算法提出的一致性协议、视图切换协议和检查点协议,可实现数据更新和容错恢复,使区块在全网达成一致。相比工作量证明(Proof of work,PoW)机制,该机制不仅在效率上能满足交易短时间内响应的需求,还解决了每个节点的历史消息存储问题,且当恶意节点入侵时可容错恢复。但是,由于车联网中节点可快速移动且实时产生较多的数据,需要快速达到共识。因此,在PBFT共识机制的基础上,提出由区域内部共识机制与多区域共识机制组成的动态区域共识机制。
区域内部共识机制在分区策略的基础上,在边缘节点中随机确定区域代表节点,并在区域代表节点中选出主节点。主节点的选举方法是为p=v·f(R),其中p为主节点编号,v为视图编号(当前区块数量),R为区域内边缘节点的总数量,f()为取余函数。其他区域代表节点作为副本节点。其中,若主节点存在恶意行为,则在副本节点中重新挑选主节点。根据主节点,区域内部共识机制采用PBFT原有的一致性协议完成区块共识。
多区域共识机制同样依赖于前面各项机制。但考虑到在多区域共识机制下,参与区块共识的区域代表节点数量远超出区域内部共识机制的节点数量,为提高共识机制的效率,缩短数据更新时间,简化了一致性协议和视图切换协议。如图6所示,在简化一致性协议中,各区域的主节点组成主节点,发送预准备消息到其他
区域代表节点,区域代表节点接收并处理预准备消息,
向主节点发送认可消息。若主节点收到的认可消
息数量超过f2(f2为区域代表节点数量的1/3),则统一发送认可消息到其他区域代表节点进行验证。若区域代
表节点验证通过,则将验证消息发送给主节点。若主
节点收到的验证成功消息数量超过f2,则共识达成,并将区块写入车联网公链。而简化视图切换协议主要针对当主节点为恶意节点时,选取副本节点的其中一个节点取代当前主节点,继续完成当前共识。该方法不仅可避免恶意节点成为主节点构建区块而导致交易延迟的风险,而且区块构建效率满足车联网的需求。
图6简化一致性协议
2.4数据安全通信实现
考虑车联网数据中存在普通数据和紧急数据,提出不同数据的安全通信方法。车与车之间交换车辆自身的常规数据属于普通消息,主要通过本区域的车车通信实现;当出现紧急数据时,需要将这些数据广播给其他区域的车辆,则需要通过车路通信实现,即边缘节点可直接将紧急数据广播给附近的车辆节点,同时将紧急数据发送给云服务器,云服务器统筹并通过大数据查其他感兴趣区域内的边缘节点,边缘节点再将紧急数据发送给其所在区域内附近的车辆节点[11]。数据安全通信的流程如图7所示。
3模型评估
与传统的车联网通信方案中的安全和隐私保护不同,车联网联盟区块链技术可确保数据存储和共享期间的安全并实现隐私保护。联盟区块链可确保数据可追溯性,智能合约的自动执行可保护数据安全共享。
车联网联盟链的分布式特征可抵御集中式数据存储带来的数据安全风险。本文采用对照分析的方法评估基于区块链的车联网节点数据安全通信模型。如表2所示为通信模型比较结果,与现有研究成果中的其他解决方案的对比,DSCM模型基于联盟链和改进PBFT,具有区域主节点
区域代表节点1
区域代表节点2
区域代表节点3
预准备反馈确认提交
划分、数据分类、数据更新等特点,专为车联网通信问题设计。现存车联网通信安全问题及相应解决方案如表3所示,从安全隐私、效率、数据管理、用户参与度等角度,分析了目前车联网安全通信存在的问题,并介绍了DSCM模型中相应的解决方案及优势,从而解决了隐私泄露、数据篡改、内存冗余、用户参与度低等问题。
图7数据安全通信的流程
表2通信模型比较
4结束语
本文借助区块链技术,解决了现有的车联网架构中心实体负载过大和数据安全风险高等问题。首先提出了基于区块链的车联网节点数据安全通信模型(DSCM),根据车联网的实时性和移动性设计普通数据和紧急数据的区块结构,采用数字签名方法验证数据和区块的完整性和真实性。其次,采用一种基于云服务器和验证组的节点身份认证方案,解决用户的身份验证和隐私问题。接着,在PBFT共识机制的基础上,提出动态实用拜占庭容错共识算法,保证车联网区块链快速共识。最后,通过与其他通信模型进行比较,说明了DSCM模型具有快速共识、数据安全、隐私保护、轻量级存储、高效通信等特点,更适用于目前的车联网通信环境。
表3现存车联网节点通信安全问题及解决方案
参考文献
[1]JIANG T,FANG H,WANG H.Blockchain-Based Internet of Vehicles:Distributed Network Architecture and Performance Analysis[J].IEEE Internet of Things Journal, 2019,6(3):4640-4649.
[2]CEBE M,ERDIN E,AKKAYA K,et al.Block4Forensic:An Integrated Lightweight Blockchain Framework for Forensics Applications of Connected Vehicles[J].IEEE Communications Magazine,2018,56(10):50-57.
方法文献[4]
文献[5]文献[8]文献[9]文献[11]
文献[13] DSCM 区块链
类型
联盟链
公有链
联盟链
联盟链
公有链
联盟链
联盟链
共识
机制
PoW
PoW
PBFT
PBFT
PoW
PBFT
改进
PBFT
是否数
据分类
×
×
×
×
是否数
据更新
×
×
×
×
×
专为车联网通
信问题设计
×
是否分
区域
×
×
×
类型
安全与
隐私
效率
数据管
理(存储
更新)、
数据完
整性
用户参
与度
规则
面临的问题
1.信任和访问
控制;
2.终端攻击
(双花攻击、女巫
攻击等);
3.用户数据隐
私泄露;
4.恶意节点追
踪。
1.共识效率
低;
2.实时通信。
1.数据更新;
2.数据篡改和
不完整。
1.数据分别存
储在不同的数据
中心,共享数据;
2.节点不参与
共识造成计算资
源的浪费。
数据分类
解决方案
1.基于云服务器和区块链的节
点身份认证方案;
2.采用基于云服务器和区块链
的节点身份认证方案和改进动态
实用拜占庭容错共识机制,有效验
证合法节点身份,剔除恶意节点攻
击,防护终端数据安全;
3.车联网节点可创建多个假名,
从而切断节点信息和节点身份之
间的关联,保护节点轨迹等隐私信
息不被泄露;
4.在CA和RSU的协助下,跟踪
恶意用户并获取恶意节点的假名,
同时将报告发送到云服务器,识别
并清除恶意节点的身份信息,并追
踪恶意节点。
1.改进PBFT算法,简化一致性
协议;
2.采用边缘计算和云计算相结
合的方案,减少传输延时,满足数
据的实时性需求。
1.分区域管理,删除无用信息,
保留哈希值;
2.使用节点密钥进行非对称加
密,且将信息记录在车联网联盟
链,实现数据完整性和不可篡改。
1.分布式存储,共同备份,实现
数据共享;
2.参与共识算法的节点可优先
获知数据,鼓励节点参与共识。
按数据紧急程度分为普通数据
和紧急数据。
车辆节点执行车辆身份
认证
开始
验证成功?
N
产生数据包并签名
Y
Y N
中国汽车模型网是否普
通数据?
周围车辆接收并验证边缘节点接收并验证
验证成功?验证成功?
N
N
Y Y
数据交易区域内广播数据交易多区域广播
执行区域内共识机制执行区域间共识机制
生成区块
数据更新
废除该数据废除该数据