基于签密和区块链的车联网电子证据共享方案
2022-01-12杨小东席婉婷王嘉琪陈艾佳王彩芬
杨小东,席婉婷,王嘉琪,陈艾佳,王彩芬
(1.西北师范大学计算机科学与工程学院,甘肃 兰州 730070;2.深圳技术大学大数据与互联网学院,广东 深圳 518118)
1 引言
车联网[1]是车、路、人协同的开放融合网络,是借助现代通信技术实现信息共享的移动通信系统。车联网中车辆行驶数据、交通状态数据和交通事故数据的共享,不仅能够实现路况监测以避免交通混乱,也能够为交通执法部门和保险公司等提供重要信息。例如,交通执法部门可以通过车辆行驶数据调查事故原因;保险公司可以将交通事故数据作为理赔证据等。然而,车联网数据在促进智慧交通发展的同时,也面临着严峻的数据安全挑战。由于车联网数据具有巨大的经济价值,恶意用户利用车联网进行非法行为的情况频频发生[2],数据被窃取或伪造可能会造成车联网交通事故难以定责等问题。
电子证据[3]作为一种新型的证据,是利用电子设备进行传递、存储和共享的一切形式的证据。传统证据的提取依赖于人工,人工取证费时费力且效率极低;而电子证据具有收集迅速、易于保存、占用空间少和便于审查核实的特点,它的共享则能够更高效地解决车联网交通事故的追责及赔偿等问题。然而,电子证据因其本身较脆弱且依赖存储介质,易被丢失、修改和伪造[4]。如发生肇事类交通事故时,无有效证据或责任人故意伪造证据会导致定责困难或追责出现偏颇。保险公司的赔偿可能随之出现偏差造成重大利益损失,且追责有失公允也会导致司法部门公信力下降。因此,电子证据共享过程中的隐私泄露与数据安全问题亟待解决。
基于身份的签密[5]和代理重加密技术[6]可以通过对数据加密来解决数据隐私与安全问题。基于身份的签密具有更短的密文和更小的计算开销,对数据既签名又加密保证了数据的机密性和不可否认性。代理重加密技术使用重加密密钥进行密文转换,将授权者的密文转换成被授权者可以解密的密文,实现了第三方用户对授权方数据的共享。然而,基于身份的签密和代理重加密技术依赖于半可信第三方,通常存在数据存储中心化的问题。云服务器通常在执行用户命令的同时,仍对用户的信息保持好奇,因此其是半可信的。集中化存储的云服务器很容易遭到不法分子的攻击,造成隐私数据的篡改、丢失或泄露[7]。
区块链技术[8]是一种具有去中心化、数据难以篡改、可追溯、不可伪造等特性的信任机制,为电子证据在车联网中的共享提供了新的去中心化的解决方案。区块链技术可以在防止证据被篡改的同时,实现电子证据的分布式安全存储。然而,区块链技术现阶段存在性能瓶颈[9],无法大规模存储车联网电子证据数据。随着区块链交易数据的增长,节点记录数据的时间也不断延长,数据确认的时延也会越来越高,因此单纯使用区块链存储和共享车联网电子证据存在效率低下的问题。
针对上述问题,本文提出了基于签密和区块链技术的车联网电子证据共享方案。该方案采用链上存储证据报告、链下存储证据密文的方式,将云的海量存储能力和区块链的难以篡改性结合进行优势互补;利用基于身份的签密和代理重加密技术对电子证据进行加密,实现了证据的机密性、身份可验证性和不可否认性。同时,通过管理车辆用户的信誉值,提高了数据的可靠性;采用聚合签名技术降低了签名验证的计算开销。
2 相关工作
电子取证逐渐替代传统人工取证,一定程度上解决了证据收集依赖人工、取证效率低下、证据容易失真等问题。但是目前还面临着安全和隐私挑战,如证据提供车辆的隐私保护问题和电子证据易受攻击被篡改和伪造的问题。因此,车联网电子证据共享成为公共法治及智慧交通领域重点关注的研究课题之一。
为了解决数据隐私泄露和共享安全问题,Malone 等[10]在数字签名体制[11]的基础上利用双线性对计算构造了第一个基于身份的签密方案,保证了数据的机密性、消息的完整性和不可否认性;但其明文的签名在密文中可见,Libert 等[12]随后指出该方案是不安全的。Karati 等[13]介绍了一种新的基于身份的双线性对签名加密方案,实现了身份的可追溯性;但由于其计算量大不适合在交通场景中短时间内对大量车辆签名进行验证。Boneh 等[14]提出的聚合签名解决了多个签名的验证问题,签名验证者仅需验证聚合后的一个签名即可,提高了系统中签名的验证速率。Blaze 等[15]提出代理重加密机制实现了密文转换,解决了实际应用中的细粒度解密权限分配问题;但该方案的授权人与代理人可以串通获取授权人的私钥,即存在合谋攻击安全风险。Hundera 等[16]和Luo 等[17]将云计算技术引入代理重签密方案,降低了大量数据的存储成本,满足了云端数据的机密性和完整性的安全需求;但其方案仍消耗较高昂的计算成本,且存在数据存储中心化和数据易被篡改的问题。
区块链技术的出现为数据易被篡改和伪造的问题提供了一种新的解决方案[18-19],区块链能够确保数据的去中心化存储、难以篡改和不可伪造。Zhang 等[20]提出了一个基于区块链的云取证方案,该方案在提供证据同时可实现身份的隐私保护;但方案的效率和安全均受限于中心信任节点。Malamas 等[21]提出了一种基于移动物联网的取证框架,利用区块链获取证据保证了证据完整性和可靠性;但密钥管理技术烦琐,无法适用于车联网场景。Huang 等[22]提出了一种基于区块链的云计算电子取证模型,该模型可以防止取证各方的串谋篡改;但不能满足并发请求,算法效率需要进一步优化。Oham 等[23]利用区块链技术存取证据,提出了一种自动车辆归责框架,该框架能够解决车辆与司法部门间在交通事故中的信任问题,但无法避免数据确认时延高的问题。Li 等[24]对电子证据加密实现了数据的安全存储及细粒度访问控制,通过区块链技术保证了数据记录的防篡改性;但该方案存在大量双线性对运算,计算开销较大并不高效。
为此,本文基于签密和区块链技术提出了一个新的车联网电子证据共享方案。利用云服务器存储电子证据密文,区块链存储包含证据哈希值及签名等的证据报告,这样既能防止云服务器伪造或篡改证据,又能减轻区块链的存储负担。使用基于身份的签密和代理重加密算法加密电子证据保证数据机密性,为所有进行通信的实体生成匿名身份以保护其身份隐私。因此,本文方案既解决了车联网电子证据的安全共享问题,又实现了证人即车辆用户的隐私保护需求,使电子证据共享更加高效、安全。
3 车联网电子证据共享模型
本节首先重点介绍了模型的逻辑框架与实体功能,然后给出车联网电子证据共享模型的设计目标。
3.1 模型的逻辑框架与实体功能
本文提出将区块链与云服务器相结合,实现数据的链上(区块链)+链下(云服务器)混合存储;同时,利用签密和代理重加密技术,实现了车辆用户的隐私保护和电子证据的安全共享。如图1 所示,基于区块链的车联网电子证据共享模型包括可信机构(TA,trusted authority)、认证机构(CA,certification authority)、车辆(Vi,vehicle)、路边单元(RSU,road-side unit)、区块链(BC,blockchain)、云服务器(CS,cloud server)和保险公司(IC,insurance company)7 个实体,其中TA 对应图1 中的车辆管理所,CA 对应图1 中的交通警察局。
图1 车联网电子证据共享模型框架
各个实体的具体介绍如下。
1) 可信机构:负责进行全局设置,车辆和路边单元需到车辆管理所登记注册。
2) 认证机构:负责生成代理密钥,管理并更新车辆的信誉值。
3) 车辆:参与取证任务,负责收集证据并对其进行签密。
4) 路边单元:负责验证每个车辆的签名,并将有效的一组车辆签名进行聚合。
5) 区块链:负责将证据报告存储在记录池中,保险公司需先入链查找证据报告,再根据报告请求云服务器返回证据密文。
6) 云服务器:负责进行代理重加密并存储证据密文,具有足够的存储和计算资源。云服务器验证证据密文的有效性,无效则拒绝存储。
7) 保险公司:将取证任务委托给路边单元,通过云服务器获取证据密文并解密得到有效证据,对提供有效证据的车辆给予报酬奖励。
3.2 模型的设计目标
该模型旨在达到如下设计目标。
1) 数据共享。采用云存储和加密技术实现了多对多的共享,车辆用户将电子证据加密存储在云服务器中,保险公司通过解密获取电子证据。车辆用户借助云服务器将电子证据共享给需要有效证据的保险公司。
2) 隐私保护。利用基于身份的签密技术,为车辆生成匿名身份进行交互使其真实身份不被泄露,同时也通过加密数据在共享过程中保护电子证据的数据隐私。
3) 安全高效。采用了区块链和云计算相结合的混合存储以保证证据数据的安全。区块链中的数据记录的防篡改性以及云服务器强大的存储、计算能力可以确保电子证据的安全存储。聚合签名和代理重加密技术的应用能够很好地提高方案效率,实现数据高效共享。
4 方案的详细构造及设计
方案主要包括系统初始化、实体注册、证据收集、证据上传、证据访问和激励机制6 个步骤。
4.1 系统初始化
TA 选择一个安全参数1λ并执行如下操作。
1) TA 选择一个大素数p,2 个阶为p的循环群G0和GT,其中G是群G0的生成元。循环群满足双线性映射
4) TA 秘密保存主密钥msk=α,公开全局参数并将区块链记录池初始化为空。
4.2 实体注册
车辆都需要在TA 处进行登记注册。车辆通过安全信道将自己的真实身份发送给TA,对于真实身份为RIDi的车辆用户,TA 为其生成匿名身份AIDi来保护身份隐私,具体注册步骤如下。
4) 如果进行取证任务的车辆用户出现任何违规或非法行为,TA 可以根据AIDi查询注册信息表registry 来曝光该车辆的真实身份以进行追查。
5) 区块链节点向TA 实名注册,TA 创建创世块并广播给整个区块链网络,区块链节点记录创世块。
4.3 证据收集
路边单元RSU 接受IC 委托的取证任务后,邀请事故路段车辆进行如下证据收集操作。
2) RSU 邀请事故发生路段周围车辆(V1,V2,…,Vj)收集事故相关证据数据附上签名并上传。经过事故路段但无证据的车辆Vf驶离该路段也可将任务附上签名广播给周围的车辆,以提高取证任务完成的效率。
3) RSU 将车辆收集的事故相关证据发送至CA,由CA 的交通执法人员根据forensicsn筛选出有效的证据,并对相关证据数据进行代理重加密;若无有效证据则由RSU 继续广播证据收集任务。
4.4 证据上传
车辆、路边单元和认证机构执行以下流程向区块链网络和云服务器安全地上传证据数据。
1) 车辆签密
取证车辆对行车记录仪拍到的现场照片、视频以及事故车辆行驶状态数据等证据进行签密,以保证其他实体交互过程中是不知道证据明文的。无证据车辆将取证任务附上签名广播给周围车辆。
2) 聚合签名生成
路边单元验证车辆签名是否合法,并为持有合法签名的一组车辆进行如下操作生成聚合签名。
①RSU 在区块链账本和本地数据库中查找t是否已经存在。如果存在,则拒绝该车辆提供的证据,避免重复存证;否则,RSU 继续进行聚合签名。3) 代理重加密及密文存储
CA 对聚合签名进行验证,若签名合法,则执行以下操作进行代理重加密,并将经过签密和代理重加密的证据密文进行如下存储。
①交通执法人员根据forensicsn、证据报告和信誉值valuei筛选出有效的证据,其中CA 管理的车辆信誉值初始均为相同数值,仅提交过证据的车辆的匿名身份会被CA 保存,并对该车辆的信誉值进行更新。
4.5 证据访问
保险公司IC 发送访问请求,在接收到云服务器CS 的证据密文后,执行解密操作获取证据明文,具体步骤如下。
1) IC 根据取证编号、伪名以及当前时间戳Ts向区块链网络请求访问证据报告,数据请求为,持有相应数据记录的区块链节点向IC 返回证据报告report3。
2) IC 根据证据报告向云服务器发送request2请求证据密文,云服务器向保险公司返回证据密文C。
4.6 激励机制
保险公司IC 根据证据报告中车辆信誉值valuei的高低对证据进行评估。IC 通过奖励机制来刺激、鼓励更多车辆收集并提供有效证据。一旦该有效证据被IC 成功接受,则对对应的车辆用户进行报酬奖励。
CA 初始时根据信誉感知激励机制为不同的车辆Vi设置不同的信誉值。当IC 发布取证任务并且车辆Vi竞争参与这些任务时,感知平台会根据Vi的信誉值valuei进行选择,优先交由信誉值高的Vi参与取证任务。对Vi的信誉值valuei进行更新后,V i可再次进入下一轮的任务竞争中。通过该激励机制,可以刺激车辆用户提高任务完成率和参与率。
当有取证任务要处理时,CA 为每个不同的取证任务设置一个信誉阈值,用un表示。IC 为鼓励更多Vi参与完成取证任务,会在每个任务处理完成后为对应Vi提供奖励报酬。报酬函数用来表示,其中a为正常数,B为初始成本预算。通过这种方式,保险公司初始时会提供很高的报酬来鼓励车辆用户参与取证任务,随着车辆用户参与的比例l(r)越来越高,报酬会慢慢趋于平稳。
5 安全性分析
本节将从正确性、机密性、不可伪造性这3 个方面对本文所提方案进行安全性分析。
5.1 正确性
1) 签名的正确性验证
路边单元RSU 需要对车辆Vi的签名进行正确性验证,以确保提供证据的该车辆身份是合法的。RSU计算式(1)进行验证,当等式成立时车辆Vi的身份才合法,其对电子证据的签名才有效。具体证明如下。
验证得出等式成立,即该车辆签名有效。路边单元RSU 将所有合法车辆的签名聚合起来形成新签名发送给CA,CA 同样需要验证聚合签名是否有效。当验证等式成立时,该聚合签名有效。
2) 证据密文解密正确性验证
5.2 机密性
本文将基于身份的签密与代理重加密结合起来,保证了车联网环境下电子证据共享过程中的机密性。机密性是指除了提供证据的车辆及使用证据的保险公司外,其他实体都不知道证据的具体内容。在本文中,车辆用户Vi对电子证据M进行签密,将加密后的一级证据密文C'发送给CA;CA 生成代理重加密密钥RKbc发送给云服务器CS,CS 对一级密文代理重加密后进行密文存储。当保险公司IC 希望访问一起事故的电子证据时,根据取证编号n、公司伪名AIDc等生成访问请求request1。IC将访问请求发送给区块链网络以获取证据报告report3,再根据证据报告向云请求证据密文C,最终解密得到电子证据明文。由于Vi收集的证据经过了CS 的代理重加密,因此只有被授权的合法保险公司RIDc才能正确解密证据密文,其他实体无法获取任何有关电子证据的具体内容。具体证明过程见附录1。
5.3 不可伪造性
在传统车联网数据共享方案中,由于云服务器是半可信的且存在响应时延的问题,因此车辆将证据全部发送至云服务器进行处理会存在较大安全风险。本文利用云服务器和区块链混合存储以及基于身份的签名技术,保证了电子证据的不可伪造性。车辆Vi上传的证据报告和保险公司IC 的访问记录对所有区块链实体公开可见,并且所有链上的数据都具有公开可验证、防篡改性。只要数据被记录在车联网区块链上,就不会被轻易地伪造和篡改。车辆Vi进行数据交互时使用的都是匿名身份AIDi,非法攻击者即使成功冒充身份,也会因为不知道系统主密钥α而不能生成用户私钥SKi。因此,非法攻击者无法伪造合法的车辆用户签名而伪造的无效签名则不能通过等式的完整性验证。具体证明过程见附录2。
6 性能分析
本节分析了方案的激励性,并从计算开销方面对所提方案与现有方案进行分析和比较。
6.1 激励机制
本文方案引入信誉值是为了使取证任务快速被车辆用户处理完成,即在更短的时间内获得更高的任务完成比率。在图2 中可以看出在一段时间内本文信誉激励机制能很快地处理完取证任务,并在处理任务速度方面具有较好的稳定性。通过设置取证任务的信誉值,区别划分车辆用户,选择信誉值高的车辆用户来处理取证任务。这样通过影响取证任务的信誉阈值un和保险公司支付的报酬Pn,从而使车辆用户参与比例l(r)不断增大,并最终趋于平稳。
图2 取证任务完成趋势(l (r)稳定前)
在保证取证任务顺利处理完成的基础上,减少保险公司支付给车辆用户的报酬Pn,从而保险公司可以降低对车辆用户奖励的预算,减少成本的投入。当参与车辆足够多时不需要再对车辆用户进行激励。图3 表明l(r)稳定后的一段时间内,在保证取证任务顺利完成的基础上,可以减少保险公司支付给车辆用户的报酬Pn,从而使其投入成本减少。综上所述,本文中选择了信誉高的车辆用户处理取证任务,使车辆用户参与比例l(r)不断增大,保险公司需要支付给车辆用户的报酬Pn逐渐减少;即该信誉激励机制在有效提高任务处理效率的同时,降低了保险公司的成本开销。
图3 取证任务完成趋势(l (r)稳定后)
6.2 计算开销
本节采用对比分析的方式,将本文方案与Yu等[6]方案、Hundera 等[16]方案和Luo 等[17]方案的计算开销进行了比较。由于这些方案是在双线性对上构建的,因此通过评估标量乘法运算、指数运算和双线性对运算消耗的时间来比较不同方案的计算开销。各个方案的加解密算法计算开销如表1 所示,其中,M表示一个标量乘运算,E表示一个指数运算,P表示一个双线性运算。
表1 方案计算开销比较
本文仿真实验在Intel Core i5-7400 CPU@3 GHz 平台上使用Pairing-Based Crypto(PBC)函数库实现,所使用硬件环境为4 GB 处理器内存和64 位Windows 10 操作系统。通过仿真实验对比了本文方案及相关3 种方案的计算开销,对比结果如图4 所示。本文方案生成代理密钥、加密和解密消耗的总时间为151.96 ms,是4 个方案中计算开销最少的,因此本文车联网电子证据共享方案是高效的。
图4 各方案计算开销比较结果
6.3 签名验证
在使用更高效方案对电子证据加解密的同时,本文使用的聚合签名技术也降低了计算开销。聚合签名技术是将不同消息上不同用户分别签署的多个签名聚合成一个短签名。聚合签名进行验证后,验证者可以判断所接收签名的有效性,很大程度上提高了消息验证的效率。本文方案中单个签名验证和聚合签名验证的计算开销比较如表2 所示,其中j为单个签名的个数。
表2 单个签名验证和聚合签名验证的计算开销比较
通过实验对比本文方案中单个签名验证和聚合签名验证的计算开销,结果如图5 所示。当存在多个签名时,聚合签名的验证时间远小于单个签名累加的验证时间。因此,本文方案中采用的聚合签名技术极大地降低了签名验证的开销,使电子证据共享方案更加高效。
图5 签名验证开销比较
7 结束语
本文针对车联网电子证据共享中的隐私安全和效率问题,提出了一种基于区块链的车联网电子证据共享方案。该方案不仅实现了证据数据的隐私保护及安全共享,也保证了证据上传者与各实体的匿名交互。借助区块链记录所有证据报告,确保了电子证据不会被篡改和伪造。采用聚合签名和代理重加密技术,使方案具有更优的计算高效性和可靠性。引入信誉激励机制,在有效提高任务处理效率的同时,减少了保险公司支付奖励报酬的成本。最后,通过仿真从计算开销等方面验证了方案的高效性。目前本文匿名交互不足以完全保护用户隐私,只能保证真名被隐藏,无法阻止敌手进行会话链接来判断两次不同的匿名会话来自相同的车辆。在未来的工作中,将继续结合车联网应用场景设计出更安全、高效的隐私保护方案。
附录1 机密性证明
定理1如果DBDH 问题是困难的,则本文签密方案在适应性选择密文攻击下满足机密性,即不存在一个攻击者能在多项式时间内以不可忽略的优势攻破本文方案。
证明如果存在一个概率多项式时间敌手A 可以以不可忽略的优势τ选择性地攻破本文方案,那么能够构造一个概率多项式时间算法使挑战者B 以不可忽略的优势攻破DBDH 假设。即给定挑战者B 一个随机的DBDH 问题实例判断等式Z=e(G,G)abc是否成立。
附录2 不可伪造性证明
定理2如果CDH 困难问题成立,本文所提方案可以抵抗适应性选择消息攻击下的存在性伪造攻击,即不存在一个攻击者以不可忽略的优势攻破本文方案。
证明如果存在一个多项式时间的敌手A 在适应性选择消息攻击下以不可忽略的优势攻破了本文方案,那么能够构造一个多项式时间算法使挑战者B 以不可忽略的优势攻破CDH 问题,即给定B 已知(aG,bG),最终可以计算出abG。
系统建立。挑战者B 进行系统初始化,设置系统公钥为Ppub=αG,生成系统参数Params 并将其发送给A 。B 维护和更新列表L1,L2,L3,L4,其分别对应对H1,H2,H3,H4的询问结果。
阶段1A 必须首先对身份RIDi做H1询问之后,才能将其用做其他询问。A 不可以利用签名询问的结果来进行解签名询问。H1,H2,H3和H4询问与定理1 中同理。
私钥询问。当A 对身份为RIDi的车辆进行私钥询问时,B 在列表L1中寻找相对应的记录(RIDi,AIDi)。如果身份为RIDi的车辆属于路边单元邀请的车辆组V*,B 计算私钥SKi=αAIDi并将其返回A ;否则,挑战者B 失败并终止挑战。