基于区块链的车联网数据存储和共享模型的方案
2024-12-12巫光福黄宝珠
关键词:区块链;车联网;QC-MDPC;分布式存储
0 引言
随着自动驾驶的快速发展,车辆在行驶过程中产生的数据可应用的范围越来越广,这些数据数量呈爆炸式增长,如何对这些数据进行存储和共享成为现阶段的重要问题。通过车联网(Internet of Vehicle,IOV) 将使用科学技术收集和处理的数据发送给相关实体,以满足车辆应用范围的需要[1]。由于车辆行驶的范围很广,车辆需要与路侧单元(Road Side Unit,RSU)以及旁边车辆进行数据存储和数据共享,部分用户会担心数据在共享过程中会被恶意窃取以及篡改。为保证数据共享过程更安全和透明,在此阶段,区块链驱动的车联网逐渐走到大众的视野,并受到大量的关注。
巫光福等人[2]认为车联网采用云计算与边缘计算混合的架构来实现数据安全共享,保证数据的安全性和完整性,但是仍然存在网络堵塞、网络时延高、容易堵塞等问题。杨颜博等人[3]采用隐藏访问控制的可验证方法提高访问控制,使用可验证外包解密保证数据的安全可靠。陶永才等人[4]结合无证书代理签名技术对车辆进行加密,引入雾计算对车辆存储保证车辆的可靠性。
本文将RSU作为区块链节点,实时响应车辆请求,为车辆提供数据采集、导航、数据传输等多样化服务。这样,系统在为用户提供安全、便捷、智能、高效的驾驶服务和体验的同时,可以显著降低网络延迟。由于车辆之间交换的数据包含大量用户的隐私信息,如行驶路线、用户身份等。在这个复杂的系统中,用户的隐私很容易被泄露。针对上述问题,采取以下措施:1) 引进基于QC - MDPC 码的公钥密码和AES算法对系统的数据进行加密,保护车辆数据安全,抵抗女巫攻击、抗量子攻击等。2) 借助IPFS和区块链对车辆的数据进行存储,保证数据的安全性和可靠性,使用PBFT共识算法对车辆上传和访问的数据进行控制验证,防止单一节点被攻击篡改数据。3) 引入车辆假名,提高车辆的匿名性,增强车联网的访问安全。
1 相关知识
1.1 IPFS
星际文件系统(Inter Planetary File System,IPFS) 是一种将网络中的节点构成的分布式系统,是分布式存储和共享文件的超媒体网络传输协议[5]。现阶段IPFS结合多种技术形成分布式系统,当文件发送至IPFS存储,网络中的所有对等体都可以使用该文件;上传的文件被分切成多个板块并使用唯一的哈希值进行标识,从而实现对内容寻址的效果。它使用哈希表查找文件的内容,将数据存储至IPFS中,散列值存储在块中,大大地节省存储空间,系统中会存在同样内容的副本信息,若篡改原数据信息,可通过对比判断IPFS中的信息是否发生改变,故使用副本可以保护IIPn5lAq3KPi2eWXiNGwwsL9A==PFFSS可的以用永户久数存据储不和被共篡享改数。据IPF,S没具有有单以点下故特障点。:12)) IIPPFFSS是可基以于存内储容各的种寻类址型。
1.2 基于QC - MDPC码的公钥密码体系
对于LDPC码本就存在的稀疏性提出基于QC - MDPC 公钥密码体系[6],已知LDPC码具有以下定义1。
定义1 (LDPC/MDPC 码): 一个(n, r, w)LDPC 或MDPC码是长度为n,余维为r的线性码,其中,r =n-k,k(k<n)表示码的维度,其允许一个恒行权重w的奇偶校验矩阵。
中密度准循环奇偶校验(QC - MDPC)码是采用准循环形式的密度相对更高的LDPC码。QC - MDPC码的准循环结构奇偶校验矩阵HQC 如式1所示,其中,Hij是循环块矩阵,由H11线性变化循环得到。
2 车联网的共享模型
2.1 模型的逻辑框架
基于区块链的车联网数据存储与共享模型主要包含以下实体:可信权威机构(Trusted Authority,TA)、数据拥有者(Data owner,DO) 、数据请求者(Data user, DU)、联盟链(Consortium blockchain, CB)、RSU、IPFS。
对上述实体进行详细描述
TA:TA作为一个完全可信的中央权威机构。主要负责系统的初始化,为车辆生成假名并保存注册表数据。
DOs:数据所有者。车辆需要共享数据时,DO一般为车辆需要共享数据的时候的角色。车辆行驶过程中,DO可以通过路载单元收集共享信息并对信息进行加密,最后将密文数据上传至IPFS存储。
DUs:数据消费者。车辆需要访问共享数据时,DU为车辆请求访问数据的角色。需要注意的是,只有DU运行的时候,才可以向RSU发送访问请求。
联盟链:车辆区域内的RSU作为联盟链的节点,同步车联网中的数据与IPFS 存储的密文对应的哈希值。
RSU:通信单元,是车辆和外部进行信息传输的枢纽。RSU作为联盟链的节点,可以同步记录车辆的数据共享记录和IPFS返回的哈希值。
IPFS:用于存储RSU发送的密文数据。
PKI:密钥中心,使用密钥生成算法生成车辆用户对应的私钥和公钥。
2.2 模型的运行流程
本文模型基于联盟链、IPFS、TA、DOs、DUs、PKI、RSU等组件提出车联网数据共享模型,模型的运行流程包括系统初始化、密钥生成、数据加密、数据上传、数据解密5个阶段。
1)系统初,始化注。车登辆记节,生点成在车交辆通假管名理和局车(T辆ran的s⁃私钥,只有注册过的车辆才可以在系统中数据共享。
2) 密钥生成。通过安全可信的密钥中心,PKI使用基于QC - MDPC 码的公钥密码体系生成车辆对应的公私钥:输入车辆假名RIDi 和向量参数(n,r,w,m,t),运行密钥生成算法生成公私钥。
3) 数据加密。车辆将需要共享的数据使用AES 进行加密,对AES加密密钥使用密钥中心生成的公钥进行加密。
4) 数据上传。DO将加密后的共享密钥、自身的公钥和假名信息以及签名请求存储至IPFS,最后将返回IPFS的索引值、数据记录给RSU,写入联盟链节点进行共识记录。
5) 数据解密。DU 向RSU 提出访问交易请求,RSU验证通过后根据IPFS索引值地址读取加密文件,使用译码算法解密得到共享数据。RSU将此操作记录上链存储。
3 模型描述
3.1 系统初始化
系统数据共享前需要进行系统初始化,为车辆节点完成车辆登记,生成注册表,确保系统在运行过程的安全性。
TA 选择随机数Z*P 作为主密钥,TA保存主密钥msk = α,根据车辆匿名身份信息计算SKi = msk RIDi = αRIDi 作为车辆用户的私钥。TA将车辆匿名身份和用户私钥{RIDi,SKi} 通过安全信道发送给车辆。系统中的车辆节点在TA中完成注册,TA备份所有通过全网认证的节点信息,从而完成身份认证。
3.2 密钥生成
PKI密钥中心为车辆生成对应的公钥和私钥:PKI 首先对进入密钥中心的车辆RIDi随机选择向量h0, h1…hm - 1,权重w/m。其中,w为QC - MDPC 码的权值(n,r,w),m为子矩阵的个数。对于每个节点i,PKI选择随机选择权重为3 w 2的向量并发布(n,r,w,m,t),节点i 使用hRIDi ← hash(RIDi )将RID映射到二进制中,构造校验矩HQC = [ HQC1|HQC2|…|HQCm - 1 ],生成Hi。节点i使用公式(3) 计算生成器矩阵,得到公钥Gi。具体步骤如算法1:
3.3 模型的数据加密
DO将自己所需要共享上传的数据Mi 使用对称密钥k 进行AES 对称加密得到密文CTAES,CTAES = E (k,Mi ) ,使用QC - MDPC 编码算法,DO随机选择一个n长序列e∈F n2,满足w(e) ≤ t, 计算C = k × Gi + e,得到密文C。
3.4 数据上传
DO 将密文CT=(C,CTAES)使用算法2 将数据T{ A= SigSKiCThash,CT,RIDi,Gi,}上传至IPFS,其中,CT是生成的密文,RIDi 和G 是车辆用户的公钥和假名身份,SigSKiCThash 是用户对交易信息的签名。IPFS对CT计算将得到唯一地址索引值address返回给RSU,DO将上传数据记录DOup = {Tup,H (ti ) }发送至RSU,其中,Tup 为数据上传时间,H (ti )为访问数据时间。为了防止DO上传虚假数据,数据区块链中的主节点RSU在区块链上记录DOup 进行数据审计后,采用拜占庭容错共识(PBFT) 算法,将数据相关信息记录到区块链上中。此外,RSU可以根据DOup 实现高效的密文检索。
3.5 数据解密
DU需要访问数据时,向最近的RSU请求访问共享数据时,产生一个区块链交易请求TB ={PKB,RIDB,SigB }发送至RSU中,RSU作为区块链的节点会对该交易信息进行验证,若验证成功,从指定的地址接收密文C 进行译码算法BF得到共享密钥k:对接收到的有效比特计算其对应的伴随子并给出upc方程不成立的总数。不断翻转更新比特因子,其中每轮迭代给出的判决门限τ,τ = maxupc - δ,δ 为随机生成的小整数。
4 实验评估和模型分析
4.1 车联网数据共享模型比较分析
本文模型与现有的车联网数据共享模型在以下4 个方面进行比较,具体比较如表1所示,相对文献[8] 的车联网数据共享的集中式存储,本方案提供的分布式存储可以解决发生单点故障而造成的数据泄露;对于文献[3]和文献[9]中的使用云存储和分布式哈希表进行存储,RSU存储可以快速接收实时数据并进行计算和存储,十分适用于区块链节点的共识和合成,IPFS具有追溯性并且可以存储大量数据,适用于车联网数据存储和查询,RSU和IPFS结合存储车联网数据可以解决云存储和哈希表存储数据有限的问题。此外,本模型采用混合加密的方式对数据进行加密,AES对称加密数据,QC - MDPC 加密对称密钥,保障了数据的安全性和可靠性,在后量子时代也有足够的应用范畴。
4.2 方案安全性分析
4.2.1 数据存储安全
车联网数据使用AES加密算法存储在IPFS中,并返回对应的地址继续存储在RSU,相对其他的车联网数据共享存储,对称密钥经过QC - MDPC 加密,该算法可以保证传输的数据安全性和可靠性,在分发密钥时使用密钥中心生成对应的密钥,保证对称密钥的前向和后向攻击。与传统的中心存储不同,本文使用的是去中心化的分布式存储,可以很好地避免因中心节点受到攻击而数据存在问题,具有较强的可扩展性和安全性。
本文方案基于区块链并使用IPFS存储跨域共享数据,对副本数据存储保存,避免存在中心化单点故障或数据被某个恶意节点删改的问题,保证数据的可用性和安全性[11]。RSU节点间采用PBFT 共识机制进行数据传输以及广播,当网络中的恶意节点数量少于总节点数的1/3时,区块链中的数据无法篡改,可有效防止单节点被恶意攻击。对比文献[4]中将密文数据存储在车辆和RSU上,本文采用的IPFS+RSU共同存储大量的数据,可以避免车辆丢失以及RSU被恶意攻击造成的数据发生篡改。对比文献[3]中使用区块链直接存储,本文方案可以避免因存在数据过多影响区块链的性能。
4.2.2 数据访问安全
车辆访问共享数据时,首先会向RSU产生区块链交易请求,区块链节点对交易的请求进行验证共识,只有超过2/3节点验证通过后才可以得到IPFS存储数据的地址,获取对应的密文,使用译码算法才能解密得到明文数据,保证数据访问安全。
4.3 方案性能分析
为了验证本文提出的基于区块链的车联网数据共享方案是否能满足数据的需要,能否保障数据安全,对此对本方案进行模拟分析。测试采用QC- MDPC加密数据的效率,故使用交通仿真软件SUMO 模拟环境模拟过程。表2为本次实验设置的不同数量车辆以及路边单元和其他参数的设置。
4.3.1 通信开销
如图2所示,比较无证书加密和本文采用的QC - MDPC 码加密过程中密文加密效率随着车辆密度的变化趋势。从图中可以看到,当车辆密度较低时,使用无证书加密的方案,密文加密效率远大于QC - MDPC 码加密,但当车辆密度变大后,区域内需要传输的数据量越来越大,无证书的加密效率低于QC - MDPC 码。QC - MDPC 具有密钥量较少、算法复杂度较低等优点,可以运用于大量数据中的安全数据共享,相较其他的方案所需存储密钥大大减少,有更快的解密速度,可降低数据传输的开销。
4.3.2 时间开销
对数据共享和密文下载两个阶段进行仿真,仿真实验后图3展示数据共享的时间消耗,模拟车辆密度从20到100数据共享的计算开销。图4展示在密文下载阶段的时间消耗,从仿真实验可以看到,随着车辆密度增加,参与数据共享和传输数据的车辆也越来越多,但是从图中可以看出,本文的模型计算开销比较稳定,可以很好地应用于车联网系统中。
5 结束语
针对区块链车联网数据共享中存在车联网数据隐私安全问题,本文提出新的数据存储和共享模型,现阶段大部分数据共享都采用的是无证书加密和基于身份验证的加密,很难抵抗大量的数据攻击。本文提出IPFS存储数据,后返回地址给区块链节点RSU 混合存储,利用区块链上数据的不变性,保证数据的不可篡改和可追溯性;提出QC - MDPC 码和AES共同加密数据,保证车辆数据可以抵抗量子、女巫等攻击。通过安全性分析,车辆访问数据需要PBFT共识交易请求,未授权的用户无法得到车辆数据以及篡改数据,保证了数据安全。通过理论分析和仿真实验,可以得到模型可以符合实际要求,未来可以对区块链的共识算法进行修改,获取更低时延和吞吐量。