基于区块链的VANET无证书聚合签名方案

2023-10-21 03:04崔贵焕
计算机技术与发展 2023年10期
关键词:公钥哈希消息

崔贵焕,柳 毅

(广东工业大学 计算机学院,广东 广州 510006)

0 引 言

近年来,物联网(IoT)[1]的快速发展,万物互联的概念经常被提及,车载自组网[2](VANET)利用物联网和现有科技进行车与X(即车与车、基础设施、服务平台等)之间的网络通信,由于VANET通信是开放的,如果其中车辆共享信息不被保护,就可能会导致数据遭受被篡改、重放、拒绝服务等攻击,车主就可能面临非法追踪等安全问题。为了克服这些问题及最小化证书管理开销,无证书方案[3]被提出,后来为降低签名验证开销,聚合签名[4]概念被提出,并应用于移动支付、车联网[5-6]、数据安全领域[7]。结合二者优点,研究人员相继提出无证书聚合签名(CLAS)方案[8~22],将不同车辆产生的n个签名聚合成一个,运行聚合验证算法来验证,从而降低签名大小和验证开销。Gong等[8]首次提出两种CLAS方案,并定义了安全模型。Horng等[9]为车载传感器网络提出CLAS方案,后来被证明对恶意但被动的KGC攻击并不安全。Kumar等[10]为VANET设计CLS方案和CLAS方案,Zhong等[11]提出全聚合方案,但难以抵抗第二类敌手的签名伪造攻击。文献[12-13]都是基于双线性配对。Wang等[14]提出VANET标准模型中的CLAS方案,在文献[15]基础上用于车联网。

为降低开销,Cui等[16]提出不使用双线性配对的CLAS方案,给每辆车配备防篡改装置,但以这种方式实现防篡改太主观且安全性不能保障。Kamil等[17]对文献[16]提出改进,但仍无法抵抗伪造攻击,后来他们提出新的聚合方案[18]。Zhao等[19]证明了Kamil方案不足以抵御两类敌手的攻击并提出改进方案,但其方案的构建不正确。Han等[20]使用聚合服务器进行聚合操作,但未提及聚合器的安全问题。随着区块链的广泛应用,在文献[21]中,Ali等提出基于区块链用于V2I通信的无证书公钥签名方案。Ren等[22]提出用两个双线性配对操作验证签名,但需昂贵计算成本。

该文提出基于区块链的VANET无证书聚合签名方案,将区块链技术和聚合签名应用于VANET中,减少车辆间的通信时间和实现高效的消息交换。与其他基于区块链的方案相比,该方案结合智能合约提升用户参与度。主要工作如下:

(1)提出基于区块链的无证书聚合签名方案,节省证书开销,提高传输效率,保护车辆的隐私。

(2)使用假名策略注册区块链发布任务,即使区块链上交易与现实生活重合,也能降低隐私暴露的可能。既保护隐私,又能对路况进行准确广播。

(3)添加智能合约实现访问控制和奖惩,便于用户获得便捷信息与相应奖励,确保其参与积极性。

在随机预言机模型下证明了该方案的安全性。利用链上——链下存储,实现六大安全性,与其它方案相比,该方案通信开销更低。

1 预备知识

1.1 ECDLP困难性问题

1.2 区块链

区块链[23]技术由中本聪提出,其本质是一个去中心化的分布式数据库,保存着包含所有交易且会不断增加的区块列表。它在参与节点之间维护一个数据块的链式结构,是个基于密码学的持续增长和不可变的数据记录[24]。目前研究人员正尝试将其应用金融供应链、位置隐私、匿名信誉系统等领域。

1.3 智能合约

智能合约[25]作为区块链网络上的去中心化程序运行,能够解决集中化应用程序中的数据消耗和延迟问题。在预定义条件下自动执行,而无需干预中心化的第三方,程序不可变且会永久保留在区块链网络。自动精准执行的特点提高了其信任度,适用于很多应用程序,被广泛应用于区块链。

2 基于区块链的无证书聚合签名方案

2.1 方案模型

如图1所示,该方案包含以下实体:交通管理中心(Traffic Management Center,TMC)、密钥生成中心(Key Generation Center,KGC)、区块链(Blockchain)、路边单元(Road Side Units,RSUs)和装有通信车载单元的车辆(Vehicle)。其中TMC、KGC、RSU间通信通过诸如传输层安全协议的安全有线网络进行,车辆间、车辆与RSU通过DSRC协议通信[26]。

图1 方案模型

(1)TMC:交通管理中心与KGC共同生成公共参数。参与生成假名,存储车辆真假名索引表、RSU发送的数据。初始化后进入离线状态,直到接收虚假消息报告,追踪来源并处罚。

(2)KGC:与TMC共同生成系统参数,当车辆节点在KGC完成注册后,KGC为其发放部分私钥。

(3)Vehicle:与其它实体通信,频繁广播交通信息。与TMC共同生成假名并根据需要更换假名。

(4)RSU:管理相应区域中的广播消息。RSU验证并接收交通广播,将验证成功后的数据发送到TMC,执行签名聚合操作。如发现虚假消息,上传消息到区块链防篡改同时上报给TMC。

(5)Blockchain:负责对交易和聚合签名的验证和存储,利用智能合约实现访问控制和支付操作。

2.2 方案构造

本节将详细描述所提方案,方案的部分符号说明如表1所示。

表1 方案的部分符号说明

(7)签名验证:RSU接收到车辆广播的签名消息{PSUi,VPKi,mi,TPi,σi}后执行该算法,对同时接收到的签名消息用公式SiP=Ui+h3i(Ri+h2iKpub+h1iXi)验证。其中h1i=H1(PSUi,Xi),h2i=H2(PSUi,Ri,Kpub,Ti)。如果验证通过则发送消息至TMC存储,并对同一时间接收到的消息进行聚合。如果有消息验证失败,则将消息发送至TMC进行存储的同时向TMC发送验证失败报告,TMC通过区块链和身份索引表追踪。

(8)聚合签名:RSU从不同车辆接收到签名消息{PSUi,VPKi,mi,TPi,σi},验证后,将接收到的有效签名σi=(Ui,Si)进行聚合。计算式(1)(2),其中n为签名个数。聚合签名为σ=(U,S)。区块链存储聚合签名和消息{Dj,(PSUi,VPKi,mi,TPi)i∈{1,2,…,n},σ}哈希值。

(1)

(2)

(9)聚合验证:区块链上的矿工收到聚合结果进行验证。输入聚合签名σ、params、VPKi=(Xi,Ri)。首先计算h1i、h2i、h3i,矿工验证等式(3),其中n为签名个数,若等式成立,将其打包上传到区块链。

(3)

(10)数据通信:车辆Vi使用假名加入VANET,向KGC请求部分私钥,生成自己的公私钥。车辆在行驶过程中广播路况等信息,所发消息均经过签名,RSU执行签名验证并将获得数据发送TMC,同时聚合已验证成功的签名,将聚合签名以及向TMC所发消息的哈希值存储至区块链上;若部分验证失败,将验证成功的数据发送TMC,验证成功的签名聚合后上链,同时向TMC报告验证失败消息以便追踪惩罚。车辆主要从RSU中获得可验证聚合签名的可信消息,也通过V2V交互获得信息。矿工验证聚合签名并发布到区块链。另外,车辆使用假名加入区块链,通过触发智能合约发送查询任务以及交易,不经过广播交互来查询相关服务信息,其他矿工(可以是车辆节点)解决任务可获取奖励。如果接收任务结果验证为假,可向TMC举报并上链存证,TMC追踪发布假消息的节点,然后向RSU发布命令撤销该节点并将其获得的该交易款退回。

1)发改、经信、商务部门数据。主要为主体功能区规划、产业集聚区规划、产业基地、工业园区分布范围、规模以及加油站数据等相关资料,用于采集主体功能区、开发区、保税区范围及名称、面积、类型、等级等属性的赋值。

其中步骤(1)~(9)为无证书签名及验证过程,步骤(10)描述了结合区块链实现数据的安全传输。

2.3 正确性证明

所提方案的正确性可以证明如下:

(1)部分私钥验证的正确性。

PSKPSUiP=(ri+ah2i)P=riP+ah2iP=

Ri+h2iaP=Ri+h2iKpub

(4)

(2)签名验证的正确性。

SiP=[ui+h3i(PSKPSUi+h1ixi)]P=

uiP+h3i(PSKPSUi+h1ixi)P=

Ui+h3i(riP+sh2iP+h1ixiP)=

Ui+h3i(Ri+h2iKpub+h1iXi)

(5)

(3)聚合验证的正确性。

(6)

3 安全分析

3.1 安全模型

为了保护车辆隐私,该方案考虑了强匿名、不可链接性、消息完整性、不可否认、可追踪、防篡改,并抵御以下两种对手的攻击。对手A1:恶意用户的公钥替换攻击,即A1可替换合法用户的公钥,但无法获取KGC系统主密钥。对手A2:恶意但被动的KGC攻击,即A2可以访问KGC主密钥,但不能替换任何车辆的公钥。

3.2 安全性证明

引理1:若对手A1可以在随机预言机模型中以不可忽略的概率ε1在多项式时间内伪造出有效签名,那么在多项式时间内,存在挑战者C1在不可忽略的概率ε'解决ECDLP,则认为该方案在对手A1自适应选择消息和身份攻击下具有不可伪造性。

证明:假设挑战者算法C1能有效解决ECDLP困难性问题,输入(P,aP),目标是在交互中计算a。

(1)初始化阶段:C1执行系统初始化算法,随机选择s作为主密钥,计算公共参数params并发送给A1,秘密保存s。

(2)查询阶段:本阶段A1提出一系列查询,这些查询由挑战者自适应回答。C1维护并初始化以下列表:L1={(PSUi,Xi)},L2={(PSUi,Ri,Kpub,Ti)},L3={(PSUi,mi,xi,Ui,TPi)},LPSK={(PSKPSUi,Ri,PSUi)},Luser=(PSUi,Xi,Ri,xi,PSKPSUi)。

(5)秘密值查询:A1进行该查询时,C1执行:当PSUi=PSU*,C1终止,当PSUi≠PSU*,C1从Luser中查找(PSUi,Xi,Ri,xi,PSUPSUi)并将xi发给A1,若Luser中不存在,C1执行创建用户查询添加xi到Luser,返回秘密值xi。

(6)公钥替换:A1想要替换PSUi的公钥,选择新公钥后,C1从Luser中查找元组(PSUi,Xi,Ri,xi,PSKPSUi),然后更新列表为(PSUi,Xi',Ri',⊥,⊥)。

如要成功伪造签名,C1输出a需满足以下条件:E1:C1在部分私钥和签名查询时未终止;E2:A1伪造的签名有效;E3:在伪造身份中存在PSUi=PSU*。

在询问阶段,如果PSUi=PSU*的时候C1会终止,假设pr[PSUi=PSU*]=θ,则C1不终止的概率是1-θ,则pr[E1]≥(1-θ)qpsk+qsig,由对手A1以不可忽略的概率ε1在多项式时间内伪造出有效的签名可知pr[E1|E2]≥ε,另外,同时满足以上条件的PSUi,有1个PSUi=PSU*,其余k-1个PSUi≠PSU*,pr[E1|E2∧E3]≥θ(1-θ)k-1,满足以上挑战者在不可忽略的概率ε'=θ(1-θ)qpsk+qsig+k-1ε1解决了椭圆离散对数难题。这与公理矛盾。其中qpsk为部分私钥查询次数,qsig为签名查询次数。

引理2:如果对手A2可以在随机预言机模型中以不可忽略的概率ε2在多项式时间内伪造出有效的签名,那么在多项式时间内,则存在挑战者C2在不可忽略的概率ε''解决ECDLP,则认为该方案在对手A2自适应攻击下具有不可伪造性。

证明:证明过程同引理1,在此不再赘述。

3.3 安全需求分析

(1)强匿名性和不可链接性。

(2)消息完整性和不可否认。

从引理1和引理2的不可伪造性证明中也能看到在满足身份认证的同时充分保证了消息完整性。用户签名时会利用安全哈希函数,而且RSU会将验证失败的信息和聚合后的hash值上传区块链,TMC通过哈希运算比较结果值进行监管,且一旦签名被冒用验证等式不会成立,多方验证保证不可否认。

(3)可追踪和防篡改。

由于恶意参与者不可避免,匿名保护车辆隐私,所以TMC拥有追查车辆身份的权利。如出现相应事件,RSU将消息上链并报告假名给TMC,TMC通过区块链及索引表进行追踪。区块链上的发布如要修改,需重新发布,所有消息都可供追溯,聚合后的签名哈希值存入区块链,监管机构可有效追溯消息来认定车辆责任。

4 实验及性能分析

本节将从安全性、计算开销、通信开销等方面进行分析。使用2台PC:Intel(R) Core(TM) i5-4460 CPU @ 3.20 GHz和AMD R5 4600H @3.00 GHz and 16 GB of RAM,通过IntelliJ IDEA调用JPBC库量化操作的时间消耗,在64位Ubuntu18.04下构建以太坊私链模拟车辆加入区块链后节点的交互通信以及交易过程,使用truffle框架实现界面交互,对智能合约主要函数的gas消耗和调用函数的响应时间进行测试。

4.1 安全性能分析

首先在安全性能上从8个方面与文献[14-17,21-22]进行了对比,如表2所示。文中方案不基于双线性配对运算,并且在强匿名性、不可链接性、可追踪性等方面表现优于其他方案。

表2 安全性能对比

4.2 开销分析

文中方案在计算开销和通信开销两方面与文献[14-15,21-22]进行对比,如表3和表4所示。其中Tbp为双线性配对运算时间,Tbp-mul为双线性配对乘法运算时间,Tbp-add为双线性配对加法运算时间,TECC-mul为椭圆曲线乘法运算时间,TECC-add为椭圆曲线加法运算时间,Th为单向哈希时间,分别为:6.086 ms,1.018 ms,0.007 ms,0.758 ms,0.047 ms,0.000 1 ms。

表3 计算开销对比

表4 通信开销对比

图2展示了聚合验证计算开销对比,文献[14-15,21]使用双线性配对运算,验证效率低开销较高。文献[22]虽然在计算开销上较低,但其利用RSU聚合和验证,加重RSU通信负担,文中方案由矿工聚合验证节省RSU开销,结合通信开销对比,文中方案基于无双线性配对运算,效率更高,优势更明显。

图2 聚合验证计算开销对比

由图3传输聚合签名通信开销在消息个数变化时的对比看出,文中方案通信开销最低,相比开销最接近的文献[22]降低平均约85.8%,当n=10~100变化时实验所得开销降低约80.5%、85.4%、86.5%、87%、87.3%、85.8%等。显然相比另外3个方案降低更多。

图3 传输聚合签名通信开销对比

4.3 智能合约gas消耗

用户注册后才能进行任务发布/下载,未注册调用智能合约会触发permission denied事件提示注册。用户链上发布任务并标记为待解决,此时链上节点均可下载。合约收到100个该任务请求后将任务标为解决中,避免过多节点下载造成资源浪费。用户可能收到不同结果,选取满意结果后支付报酬并标记任务已解决。当聚合签名个数为50时,平均每15 s就能将200个聚合签名哈希值上链。实验表明,聚合签名从生成到最终上链平均时间约0.075 s。表5是主要函数gas消耗和调用该函数响应时间测试。

过高的gas消耗会造成网络负担,从表5可以看出,用户注册、发布/上传任务结果、下载/接受任务结果所消耗的gas相差不大,以上智能合约gas消耗量小,各功能响应时间不超过5 ms,响应迅速。

5 结束语

该文引入区块链并利用椭圆曲线构建无证书聚合签名方案,在降低了开销的同时,实现了强匿名性等六大安全性。降低了现有计算和通信负担,解决了巨大的证书管理开销问题。并通过实验证明了该方案的可行性,与其它方案相比,该方案的通信开销降低了85.8%以上,更适合应用于VANET。另外,无限制的假名更换是不合理的,更换假名需要成本,未来的研究会围绕选择更合适的假名更换策略,进一步验证随机预言机模型和标准模型在应用中的差别,提升方案的实用性。

猜你喜欢
公钥哈希消息
一张图看5G消息
一种基于混沌的公钥加密方案
HES:一种更小公钥的同态加密算法
基于OpenCV与均值哈希算法的人脸相似识别系统
SM2椭圆曲线公钥密码算法综述
基于维度分解的哈希多维快速流分类算法
消息
消息
消息
基于格的公钥加密与证书基加密