A Privacy-preserving Self-Sovereign Identity Scheme for Vehicular Ad hoc NETworks
-
摘要: 针对车联网(VANETs)环境下车辆用户数字身份管理问题,该文提出基于区块链的去中心化可撤销隐私保护自主管理身份(SSI)方案。经可信机构(TA)授权后,路侧单元(RSU)组成委员会负责车辆用户身份注册、数字身份凭证颁发及维护。基于门限BLS签名和实用拜占庭容错(PBFT)共识机制实现数字身份凭证创建,解决凭证颁发机构去中心化问题;集成秘密共享和零知识证明技术,解决数字身份凭证颁发和验证过程中隐私保护问题;基于密码学累加器技术,解决分布式存储环境数字身份凭证撤销问题。最后,对该方案安全属性进行了详细分析,证明方案能够满足所提出的安全目标,同时基于本地以太坊私有链平台使用智能合约对所提方案进行了实现及性能分析,实验结果表明了设计的可靠性、可行性和有效性。Abstract: A decentralized, revocable, and privacy-preserving Self-Sovereign Identity (SSI) solution based on blockchain is proposed to address digital identity management challenges for users in the context of the Vehicular Ad hoc NETworks (VANETs). The Road Side Units (RSU) authorized by a Trusted Authority (TA) to form a committee are responsible for user registration, credential issuer and management.The threshold BLS signature and the Practical Byzantine Fault Tolerance (PBFT) consensus mechanism are uesd to create digital identity credentials to resolve the issues resulted in the centralized certification authorities. The combining secret sharing and zero-knowledge proof addresses privacy concerns during identity credential issuance and verification. The cryptographic accumulator is employed to tackle the revocation of user identity credentials in distributed storage scenarios. Finally, our comprehensive security analysis demonstrates the novel scheme can meet the proposed security objectives. The novel solution is implemented on an Ethereum private blockchain by using smart contracts, and experimental results show the reliability, feasibility and effectiveness of our scheme.
-
1. 引言
车载自组织网络(简称车联网)(Vehicular Ad hoc NETworks, VANETs)是一种具备感知、计算、存储和无线通信功能的特定类型移动自组织网络,由智能车辆中的车载单元(On-Board Unit, OBU)和路边单元(Road Side Unit, RSU)组成,传统的VANETs有两种通信模式,即车对车(Vehicle-to-Vehicle, V2V)通信和车对基础设施(Vehicle-to-Infrastructure, V2I)通信,在V2V通信中,车辆定期广播相关交通信息,如车速、位置、行驶路线、路况等,在V2I通信中,需要RSU等基础设施为附近的车辆提供一些与交通相关的服务[1] 。VANETs对于提高交通效率、降低交通堵塞、减少交通事故以及改善驾驶体验发挥着十分重要的作用。
随着物联网和人工智能等新兴技术产业的快速发展,VANETs已经不满足于V2V和V2I这两种通信模式,更在朝着车对任何事物通信(Vehicle-to-Everything, V2X)的方向发展,由于网络环境的开放性,攻击者可以拦截、篡改或删除VANETs中传输的任何信息,也可以通过冒充车辆广播错误信息误导其他车辆,引发交通安全问题,危及车辆用户的生命财产安全。为了保证通信的安全性和可靠性,车辆用户身份的合法性至关重要。数字身份管理(IDentity Management, IDM)是保证车辆用户合法性和通信安全性的重要手段,也是当前智慧交通系统(Intelligent Transportation System, ITS)建设的重要方面,然而由于VANETs具有高移动性、资源有限和数据公开等特点,数字身份管理一直存在挑战性[2] 。现有的数字身份管理系统(IDentity Management System, IDMS)以集中式和联盟式为主[3] ,但是在这两种类型IDMS中,用户每使用1次数字身份都要与中心化的管理机构进行1次交互,这显然无法适应于车辆高速移动、通信即时性要求极高的VANETs环境。除此之外,在传统的不依赖于区块链的集中式和联盟式的IDMS中,用户的个人身份信息不在用户自己手中而在一个中心化的第三方机构中[4] ,用户对个人信息的管控有着严重束缚,单点故障问题依然存在,因此无法直接将其应用到VANETs环境中。尽管目前已有许多研究工作来解决这方面的问题,但是车辆用户隐私保护和身份撤销仍然是一个相当大的挑战。由此可见,当前的VANETs环境中迫切需要一个去中心化的、用户可自主管理的隐私保护可撤销数字身份管理方案来满足车辆用户数字身份管理的需求。
区块链技术的发展为数字身份的去中心化自主管理带来了曙光,通过利用区块链的分布式账本技术和数字钱包,用户可以完全实现对数字身份的自主管理,自主管理身份(Self-Sovereign Identity, SSI)是数字身份管理发展的重要阶段,使用SSI技术,用户即可在不依赖于某个中心化的第三方机构的情况下实现对数字身份的管理和控制[5] 。
在现有研究的推动下,本文融合了当前比较流行的秘密共享和零知识证明这两种隐私保护技术,并使用密码学累加器技术进行车辆用户数字身份凭证的撤销,提出一种适用于车联网环境的隐私保护可撤销自主管理身份方案。本文贡献总结如下:
(1)针对VANETs环境中的车辆用户数字身份管理问题,使用SSI这种新型的数字身份管理技术,为车辆用户提供安全、便捷的数字身份管理服务。
(2)针对车辆用户数字身份去中心化问题,基于门限BLS签名和实用拜占庭容错(Practical Byzantine Fault Tolerance, PBFT)共识算法设计了凭证创建机制,实现去中心化的数字身份凭证创建。
(3)针对车辆用户数字身份管理过程中的隐私保护问题,首先使用Shamir秘密共享技术设计了一种数字身份凭证颁发存储机制,可以保证用户的隐私信息在凭证颁发和存储过程中不被泄露。其次,使用零知识证明技术设计了一种身份认证机制,实现在不泄露用户隐私信息的情况下完成身份认证。
(4)针对车辆用户数字身份凭证撤销问题,基于密码学累加器技术设计了一种撤销机制,可以在分布式存储环境实现凭证撤销。
(5)使用智能合约对身份管理过程中各个阶段涉及到的机制进行了仿真实现及性能分析,此外,从保密性、不可伪造性、不可否认性等方面对提出方案的安全性进行了深入分析。
2. 相关工作
近年来,从事车联网研究的专家学者也提出了一些解决VANETs环境中数字身份管理问题的可行方案。Li等人[6] 提出了一种可用于VANETs的去中心化标识符(Decentralized IDentifier, DID)安全注册和认证机制,该机制通过结合双层区块链、DID和信誉反馈机制,实现了高效的车辆用户身份注册和验证,但是该机制在匿名性和隐私保护的考虑上是有所欠缺的。Das等人[7] 参考SSI和去中心化可信身份的思想提出了一个基于区块链的车辆身份管理框架,该框架设计了一个可代表车辆唯一身份的标识符(Unique IDentity, UID),该标识符在分布式和加密保护的存储上进行组织、记录和传输,并允许仅由底层策略允许的用户使用,但在该框架中侧重于用户身份的生成和验证,对于身份的隐私保护和撤销的考虑有所欠缺。George等人[8] 为VANETs提出了一种新的基于区块链的去中心化身份验证方案,在该方案中,车辆在网络中保持条件匿名,其真实身份只能向授权实体透露,但是该方案仅实现了分布式的身份验证,并未实现数字身份的去中心化,因此在身份管理过程中仍然存在单点故障问题。Goncalves等人[9] 提出了一个可用于VANETs的安全通信和身份管理混合模型,该模型依赖于公钥基础设施(Public Key Infrastructure, PKI)、基于属性的加密(Attribute-Based Encryption, ABE)和身份管理器实现,但是该模型依赖于传统的IDMS,因此当车辆数增大时,系统性能下降明显,影响车辆用户的正常使用。Theodouli等人[10] 为车联网生态系统提出了一个基于区块链的身份和信任管理框架,该框架提出了关于实体的识别注册以及身份验证的过程,但仍然缺乏关于身份撤销的考虑。
综上所述,尽管当前业内专家学者已提出了许多解决VANETs中数字身份管理问题的方案,但对隐私保护可撤销自主管理身份在VANETs中应用的研究是比较欠缺的。本文致力于去中心化隐私保护自主管理身份的研究,旨在为VANETs提供一种行之有效的车辆用户数字身份管理方案。
3. 预备知识
3.1 自主管理身份
自主管理身份采用了去中心化身份管理服务的概念,旨在赋予个体对其身份信息的完全控制权,同时保护其隐私和安全。随着万维网联盟(World Wide Web Consortium, W3C)的标准化以及对去中心化身份管理方式的塑造,把这种由用户管理数字身份的方式称为自主管理身份[11] 。自主管理身份方案中涉及到的核心组件有去中心化标识符(Decentralized IDentifiers, DID)、可验证凭证(Verefiable Credentials, VC)、区块链和数字钱包[12] 。
(1)DID:DID是自主管理身份的基础,是一个唯一的去中心化的标识符,可以由个人或实体拥有。DID在区块链的分布式账本上创建,具有不可篡改性和难以伪造的特性。
(2)VC:VC是用户身份的数字证明,涵盖了个体所具有的独特属性和声明。VC由可信的发证机构签发,持有者在需要时出示给验证者进行身份验证。
(3)区块链:区块链作为一种特殊类型的数据结构,不仅可以进行数据存储,而且还可以运行具有自我执行能力的智能合约程序[13] 。区块链是自主管理身份的核心组件之一,用于DID的生成及存储。
(4)数字钱包:数字钱包是一种用于存储和理数字资产或应用程序的工具[14] ,在自主管理身份中用户使用数字钱包管理可验证凭证VC和相关加密密钥,同时负责与身份相关任务的交互。
自主管理身份方案中主要有3个实体角色,分别是凭证颁发者、凭证持有者以及验证者[15] 。凭证颁发者负责创建凭证并向持有者进行颁发,持有者接收到凭证后存储到本地的数字钱包中进行保留,并在需要时向验证者展示凭证,验证者对持有者提供的凭证进行验证。
3.2 共识机制
共识机制是区块链系统的核心技术之一,目前主流的共识技术有工作量证明(Proof of Work, PoW)、权益证明(Proof of Stake, PoS)、委托权益证明(Delegated Proof of Stake, DPoS)和实用拜占庭容错(Practical Byzantine Fault Tolerance, PBFT)等[16] 。鉴于VANETs环境车辆高移动性和通信即时性的特点,本方案选择了共识效率较高的PBFT共识协议,PBFT共识来源于拜占庭将军问题,是一种少数服从多数的共识机制[17] 。在PBFT共识机制中,由客户端和共识节点共同完成共识过程,完成共识后负责打包区块的矿工节点由全网节点投票产生。PBFT共识方案主要包括预准备阶段、准备阶段和确认阶段,在共识的过程中首先进入预准备阶段,预准备完成之后进入准备阶段,最后对共识进行确认。详细过程如下:
(1)预准备阶段:主节点根据接收到的客户端请求生成预准备消息,以表示主节点已做好处理客户端请求的准备,之后主节点将请求广播给其他节点。
(2)准备阶段:其他节点收到主节点广播的消息后生成准备消息,之后广播准备消息表示该节点已做好准备,同时将预准备消息和广播消息写进日志文件。在此阶段,要求超过f+1(f<(N−1)/3)个节点确认消息的真实性,完成后进入确认阶段。
(3)确认阶段:所有节点生成确认消息并广播到其他节点,在此阶段同样会进行准备阶段的验证操作,验证通过后则说明共识已达成,之后由矿工节点将达成共识的消息打包成区块并进行上链操作。
3.3 门限BLS签名方案
BLS签名是一种基于椭圆曲线密码学的高效多签名方案,门限BLS在原来的基础上做了改进,使其可以在不暴露签名者的情况下进行签名的验证和聚合[18] 。接下来对门限BLS签名方案进行回顾。
设DKG是一个分布式密钥生成协议,则(t,n)门限BLS签名方案可表示为一个多项式算法集TH-BLS=(DKG,SSignBLS,SVerBLS,CombBLS,VerBLS),在签名过程中,上述算法集中的子算法依次执行,首先调用DKG进行分布式的密钥生成,之后参与者调用SSignBLS算法生成部分签名,部分签名生成之后主节点使用SVerBLS进行签名验证,验证通过之后调用CombBLS算法进行签名聚合生成完整签名,验证者进行签名验证时调用VerBLS算法进行验证。具体定义如下:
DKG:在n个参与者p1,p2,⋯,pn之间运行的一个分布式密钥生成协议,pi可进行私钥共享ski和公钥共享向量(pk1,pk2,⋯,pkn)的输出。
SSignBLS:输入私钥共享ski和消息m∈{0,1}∗,生成签名共享σi。
SVerBLS:输入公钥共享pki∈G,签名共享σi和消息m进行签名验证。
CombBLS:输入公钥共享向量(pk1,pk2,⋯,pkn),t+1个签名共享(σi,i)集S(i表示σi的索引)以及消息m,运行算法SVerBLS,输出签名σ。
VerBLS:输入公钥pk,签名σ和消息m对σ进行验证,若验证通过结果返回1,否则返回结果0。
3.4 Shamir秘密共享
秘密共享在保护重要的隐私信息不被泄露和损坏方面扮演着重要的角色,1979年,Shamir提出了第1个门限秘密共享方案,它允许将任何秘密拆分为多个不相关的共享,但每个参与者只保留1个秘密份额,并且可以独立共享多个秘密[19] 。Shamir秘密共享方案可以分为份额创建和秘密重构两个阶段。在份额创建阶段,秘密所有者随机选取1个n−1次线性多项式f(x)=a0+a1x+⋯+an−1xn−1,之后令秘密s=a0,其中所有的系数ai(i=1→n−1)属于有限域Fp=GF(p),之后计算得到n个秘密份额为si=f(i)(i=1→n);在秘密重构阶段,假设秘密被拆分为了t个份额,则可根据拉格朗日插值公式
s=f(0)=t∑j=0f(j)(t∏r=1,r≠j−rj−r)(mod)p (1) 对完整的秘密s进行重构。
3.5 零知识证明
零知识证明由Goldwasser等在20世纪80年代提出,是通信双方可在不泄露命题有关任何秘密信息的情况下完成命题正确性验证的一种两方密码协议,目前零知识证明技术中使用比较广泛的是简洁非交互式零知识知识论证(zero-knowledge Succinct Non-interactive Argument of Knowledge, zk-SNARK)[20] 。zk-SNARK是区块链、隐私计算等场景下重要的隐私保护技术,其实现协议较多,比较经典的有Pinocchio, GKMMM18等[21] ,本文选择通信复杂度相对较小的Groth16[22] 协议,实现了用户身份凭证的验证,这种方法是自主管理身份领域讨论的热点话题,关于上述协议的详细对比介绍可参考文献[21] 。一个完整的zk-SANRK方案包括以下4个算法,分别是初始化Setup,公共参考字符串生成GenCRS,证明构造GenProof以及证明验证VerProof。zk-SANRK在工作过程中首先进行初始化并生成公共参考字符串,之后进行证明构造。详细定义如下:
Setup:给定一个安全的参数λ,初始化生成公共参数列表PPZ。
GenCRS:给定一个算数电路C,输入PPZ,生成公共参考字符串CRS=(pkZ,vkZ),可以将pkZ理解为证明生成密钥,vkZ为证明验证密钥。
GenProof:证明者根据pkZ构造一个关于命题陈述的证明π,π具有零知识属性。
VerProof:验证者使用vkZ对π进行验证。
3.6 密码学累加器
密码学累加器是一种密码学原语,允许一组元素聚合为一个固定大小的累加器值,对于累加器中的每一个元素,都有一个对应的值称为证据(witness),利用证据可以证明相应的元素是否包含在累加器中。累加器可以分为通用累加器和动态累加器,目前匿名凭证的撤销主要基于动态累加器,出于系统运算的统一性和计算有效性的考虑,本方案中所采用的是基于双线性映射的动态累加器[23] 。一个安全的动态累加器方案通常由五个算法构成,分别是累加器密钥生成AccGen,累加器值添加AccAdd,累加器值删除AccDel,累加器见证更新AccWitUpdate和累加器见证验证AccVerify:
AccGen:一个可以累加到n个值的空累加器acc∅,设置初始状态为state∅,输入系统参数,生成密钥对(skAcc,pkAcc)。
AccAdd:累加器添加一个新值i到累加器,获得新的累加器值accV∪{i},其中V表示累加器值集,一起生成的还有i的证据witi。
AccDel:从累加器中删除值i,更新累加器值和状态,同时更新i对应的证据。
AccWitUpdate:该算法用于累加器的见证更新,更新后输出新的证据wit′i。
AccVerify:使用i最新的证据wit′i验证i是否包含在累加器中,如果验证通过返回1,否则返回0。
4. 本文方案
4.1 系统模型
如图1所示,本方案提议的系统中涉及到的实体主要有:区块链,可信机构(Trusted Authority, TA),路边单元(Road Side Unit, RSU),车辆用户和验证者。
(1)区块链:本方案使用区块链来进行用户车辆的DID注册生成、DID文档的存储以及用户可验证凭证哈希值的存储。
(2) TA:在本方案中,TA作为系统信任的根源负责RSU的注册和监管,不承担其他计算和存储任务,从而防止系统出现单点故障,提高了系统稳定性。同时,在完成系统初始化和车辆标签授予后,TA不参与车辆的数字身份管理过程,因此,即使TA本身受到攻击后,仍然不影响系统的运行。
(3)RSU:RSU通常是具有足够计算能力的路边基础设施,本方案中RSU作为区块链网络的委员会节点认为其是受TA严格监管并且可信的,因此可充当发证者的角色,同时在车辆注册和撤销的过程中也发挥重要的作用。
(4)车辆用户:车辆用户是系统交互中的主要出发点,也是数字身份的唯一拥有者。
(5)验证者:本方案中的验证者可以是任何可与车辆进行通信的实体。
在本解决方案中,联网车辆上路时会携带着信任机构授予的车辆标签Token,该标签会作为车辆的身份属性在车辆进入车联网环境时提交给当前覆盖范围内的RSU进行注册,注册成功后RSU委员会生成车辆数字身份凭证并下发给车辆用户,车辆用户将数字身份凭证存储到本地的数字钱包中由自己管理,这样一来,联网车辆在获取服务需要验证身份时就无需再与身份提供者进行交互即可实现向验证者展示数字身份凭证。同时,为避免车辆身份的滥用,本方案中设计了数字身份撤销功能,当车辆出现恶意行为时RSU会对车辆数字身份进行撤销。
4.2 细节构造
(1)初始化Setup:给定一个安全的参数λ作为输入,运行累加器的初始化算法AccSetup(1λ)获得初始值accV。接下来生成素数p,q使得p=2wq+1,其中w≥1,令(G1,G2,GT)是3个生成器为g的q阶循环群,得到e:G1×G2→GT是一个双线性映射。此外,定义一个具有关系RC的算数电路C
RC=(ℓ,aux,{ui(X),vi(X),wi(X)}mi=0,t(X)),1≤ℓ≤m (2) 其中,aux代表辅助信息,m代表用户的属性数量,{ui(X),vi(X),wi(X)}mi=0分别代表3个n−1次的多项式,t(X)代表一个n次多项式。最后,输出参数集params=(p,q,g,e,G1,G2,GT)。
(2)密钥生成KeyGen:
(a)用户密钥生成UserKeyGen:输入参数params,用户生成自己的密钥对(pku,sku),同时输入算数电路的关系RC,选取随机数α,β,γ,δ,x∈Z∗p得到零知识证明需要用到的密钥对(pkZ,vkZ),其中
pkZ=(α,β,γ,δ,{xi}n−1i=0,{βui(x)+αvi(x)γ}ℓi=0,{βui(x)+αvi(x)+wi(x)δ}mi=ℓ+1,{xit(x)δ}n−2i=0),vkZ=(β,γ,δ,{xi}n−1i=0) (3) (b)发证者密钥生成IssuerKeyGen:输入参数params,TA首先生成自己的密钥对(skTA,pkTA),之后使用秘密共享算法生成共享密钥skRi和公钥共享向量(pk1,pk2,⋯,pkn), skRi代表第i个RSU的私钥,同时RSU生成累加器的密钥对(pkAcc,skAcc)。
(3)凭证创建CreatCred:
(a)用户签名Sign:用户使用sku对其身份属性attru=(a0,a1,⋯am)进行签名,得到σu。
(b)创建DIDCreatDID:用户将attru, σu, pku以及账户地址addru提交到其覆盖范围内的RSU, RSU确认之后转发到区块链进行注册,获取代表其数字身份的唯一标识符DID及对应DID文档。
(c)创建凭证CreatCred:
步骤1 用户将属性集attrsu以及DID打包为凭证创建请求M提交到当前覆盖范围内的RSU。
步骤2 接收到消息的RSU将用户的凭证创建信息转发到当前环境中所有的RSU,记为RSU′。消息广播操作对应PBFT共识中的预准备阶段。
步骤3 当RSU′收到RSU转发的消息后私钥skR′i生成签名共享σRi:=h(M)skRi∈G,其中h:{0,1}∗→G是一个哈希函数。
步骤4 生成σiR后输入公钥共享pki∈G和消息M,验证签名,即判断等式e(g,σRi)=e(pki,h(M))是否成立,若成立则返回1表示验证通过,否则返回0,这个验证过程对应于PBFT共识机制工作过程中的准备阶段。
步骤5 签名共享验证通过后由RSU对σRi进行收集,要求收集到的签名共享总数要大于t+1个,之后输入(pk1,pk2,⋯,pkn)和σRi进行签名合并,生成签名σR=∏i∈S0σLii(S0:={i∈[n]|(σi,i)∈S}),S表示签名共享集合(σi,i),Li=∏j∈S0∖{i}(i/j−i)记作集合S0的第i个拉格朗日系数。
步骤6 得到σR后输入TA的公钥pkTA和M对其进行验证,计算e(g,σR)=e(pkTA,h(M))是否成立,若验证通过,则说明生成的签名符合发证要求并且当前环境中的RSU达成了共识。
步骤7 RSU生成用户的可验证凭证VC={DIDu,pkTA,attru,σR}。
(d)累加器值添加AccAdd:调用AccAdd算法生成新的累加器值accV∪{VC}=accV⋅gn+1−{VC}及VC的累加器见证witVC=∏j≠{VC}j∈Vgn+1−j+{VC}。
(4)颁发凭证IssueCred:RSU首先设置总共享数n和门限t,然后输入VC,将VC转化为字节数组,使用字节数组生成随机秘密值,最后将秘密值拆分为用户身份凭证的共享si(i=1→n),并生成用户身份凭证的哈希值h(VC),之后将凭证共享下发给用户,用户将凭证共享存储在本地的数字钱包中;将h(VC)及凭证创建和颁发过程中产生的日志信息由矿工节点进行打包生成区块并上传到区块链。
(5)验证凭证VerifyCred:
(a)构造证明GenProof:在证明构造之前首先需要计算一个3×(m+2n+4)的矩阵M并选取随机数r1,r2∈Z∗p,然后使用pkZ得到凭证的零知识证明π=MpkκZ=(A,B,C)。其中
A=α+m∑i=0siui(x)+r1δ,B=β+m∑i=1sivi(x)+r2δ, C=m∑i=ℓ+1si(βui(x)+αvi(x)+wi(x))+p(x)t(x)δ+Ar1+r2B−r1r2δ (4) 根据秘密共享技术的特性,si(i=1→n)具有零知识属性,因此这里将其拆为了两部分作为构造证明的输入,(s1s2,⋯,sℓ)代表可验证凭证c的陈述,(sℓ+1,sℓ+2,⋯,sm)代表见证,p(x)代表n−2次商多项式。
(b)验证证明VerifyProof:验证者使用vkZ验证式(5)是否成立,如果成立,证明验证通过,输出b=1,反之,输出b=0
e(A,B)=e(α,β)e⋅(ℓ∑i=0si(βui(x)+αvi(x)+wi(x))ℓ,ℓ)e(C,δ) (5) (6)撤销凭证RevokeCred:
(a)验证AccVerify:RSU首先选取随机数γ∈Zq,之后使用累加器的验证算法输入witVC,pkAcc进行计算e(pkAcc,accV∪{VC})e(g,witVC)=e(g,g)γn+1检查accV∪{VC}是否包含在累加器中,如果在则执行算法AccDel,反之输出0并拒绝凭证撤销请求。
(b)删除AccDel:从累加器中删除accV∪{VC},获得新的累加器值accV/{VC},实际上这里执行的是添加算法的逆运算。
(c)更新AccUpdate:对凭证VC的证据进行更新得到wit′VC=witVC⋅∏j∈V/Vwitgn+1−j+{VC}∏j∈Vwit/Vgn+1−j+{VC},其中Vwit代表累加器见证值的集合,见证更新成功后即证明累加器值对应的凭证已被撤销。
4.3 操作流程
本方案的操作分为车辆用户注册,凭证创建,凭证颁发,凭证验证以及凭证撤销五个阶段。
方案操作流程图如图2所示。
(1)注册阶段:
(a)RSU注册:RSU向TA提交注册请求,TA对注册请求进行核验,注册成功后TA向RSU下发共享密钥对。
(b)车辆用户注册:首先车辆用户从TA申请一个Token以获得根信任,之后向RSU提交注册请求,RSU确认注册请求后将注册信息转发到区块链网络进行注册。
(2)凭证创建阶段:车辆用户注册成功后,RSU对注册到的DID进行解析,以获取车辆用户的身份属性,得到属性之后进行签名及构造凭证。
(3)凭证颁发阶段:RSU使用秘密共享算法创建凭证共享,然后将凭证共享下发给用户。
(4)凭证验证阶段:车辆用户构造凭证的零知识证明,然后将证明发送给验证者进行凭证验证。
(5)凭证撤销阶段:RSU使用密码学累加器对车辆用户凭证进行撤销,并在区块链网络进行广播。
5. 方案分析
5.1 安全性分析
本方案设计的安全目标有不可伪造性、保密性、不可链接性、不可否认性和可撤销性,可归结为门限BLS签名的安全性、零知识证明的安全性、动态累加器安全性以及区块链系统的安全性。
假设1 可计算co-Diffie-Hellman,co-CDH[24]。co-CDH假设是在椭圆曲线群G上,在给定g,ga,gb的情况下,计算gab是困难的。
定理1 如果门限BLS签名在假设1下是安全的,则本方案在随机预言机模型中是不可伪造的。
证明 本方案不可伪造性证明可以定义为挑战者C和敌手A之间的实验EXPUFA(1λ),操作如下:
(1)初始化阶段:挑战者C运行Setup(1λ)获得系统参数集params,并将params发送给敌手A。设PH为诚实方集合,PC为腐败方集合,PH,m为已签署消息m的诚实方集合,C初始化上述集合为空。
(2)查询阶段:首先定义预言机模型,主要包含算法OkeyGen, Ocorrupt, OCreatCred,敌手A可以访问上述预言机,查询阶段定义如下:
OkeyGen(Pi):如果参与者Pi∉PH∪PC,则运行KeyGen(params)生成(ski,pki),同时更新PH=PH∪{Pi},响应pki。
OCorrupt(Pi):令PC=PC∪{Pi},如果Pi∈PH,更新PH=PH/{Pi},同时响应ski。
OcreatCred(Pi,m):如果Pi∈PH,则更新PH,m=PH,m∪{Pi},响应签名sign(m,ski,params)。
(3)响应阶段:敌手A输出1个消息m∗和1个签名σ∗。C通过运行群初始化算法得到1个组合密钥CK∗和1个验证密钥VK∗。
(4)验证阶段:当满足以下条件时,实验输出1,说明验证成功,打破了本方案的不可伪造性:
(a)攻击者未获得足够的部分签名;
(b)门限签名是可用的。
在攻击实验中,攻击者A的优势可以定义为Advco-CDHA(λ)=Pr[ExpUFA(1λ)=1],然而对于实验的随机性而言,这个概率是可忽略不计的,符合假设1,因此本方案满足不可伪造性的要求。
定理2 如果用户的身份标识符DID满足不可链接性,凭证证明π满足零知识性,则本方案符合保密性和不可链接性的要求。
证明 在注册阶段,生成了用户的身份标识符DID,根据W3C定义的标准,DID是无法链接到用户真实身份属性的,本方案在操作过程中严格遵循了该标准,因此是满足不可链接性的。在身份凭证验证阶段,构造了用户身份凭证的零知识证明π。根据zk-SNARK技术的零知识性定义,验证者无法从π中学习到任何关于用户身份凭证的任何信息。同时在证明构造过程的输入的是用户身份凭证的共享,根据秘密共享技术的特性,单个共享不会泄露关于秘密本身的任何信息。综上,本方案符合保密性和不可链接性的要求。
定理3 如果区块链是不可篡改的,则本方案满足不可否认性。
证明 由于区块链系统是基于单向哈希的散列链结构,如果不考虑区块链本身面临的攻击,则区块链上的记录是不可篡改的。本方案中涉及到的所有操作都是通过智能合约实现的,在部署智能合约的过程中会产生大量的日志信息,这些日志信息都会被矿工节点打包上传到区块链,因此本方案中实体的所有行为都是不可否认的。
定理4 如果累加器是满足正确性的,则本方案满足可撤销性。
证明 累加器的正确性保证了累加器可以按预期进行,并且所有诚实的用户能够生成正确的凭证证明。根据文献[23] ,诚实的参与者不会破坏累加器的正确性,并且对于任意的PPT敌手破坏累加器正确性的概率可忽略,因此本方案满足可撤销性。
5.2 性能分析
在性能分析方面,首先对各个阶段的时间成本进行了理论计算,同时挑选了3个类似的工作与本方案进行了对比,之后在本地测试环境中对方案的实际性能进行了评估。
为了有效地分析本文方案的计算开销,使用python密码库对方案中涉及到的密码学操作进行了测试,其中哈希操作Th≈0.06ms,签名操作Tsig≈1.23ms,验证操作Tver≈1.11ms,双线性配对操作Tbp≈2.65ms,乘法操作Tmul≈1.16ms,加法操作Tadd≈0.84ms。
为了便于统计对比,根据文献[6] 的参数设置,将凭证创建过程中的参与者数量设为5个,将凭证共享份额的数量设为10,则计算可得到各阶段的理论时间开销,所得的时间开销的大小由各阶段所执行的密码学操作的次数决定,如表1所示。
表 1 各阶段理论计算时间(ms)阶段 计算 注册 Th+Tsig+Tver≈2.40 创建 5Tsig+3Tver+3Tadd+6Tmul+Tbp≈21.61 颁发 9Tadd+8Tmul+Th≈16.90 验证 12Tadd+20Tmul+4Tbp≈43.88 撤销 Tadd+2Tmul≈3.16 通过测试,在理论计算时间开销上,注册阶段进行了1次哈希操作、1次签名和1次验证操作,耗时2.40 ms;凭证创建阶段进行了5次签名操作、3次验证操作、3次群上的加法、6次椭圆曲线点乘和1次双线性配对,耗时21.61 ms;凭证颁发阶段执行了9次加法、8次点乘和1次哈希,耗时16.90 ms;凭证验证阶段进行了12次加法、20次点乘和4次双线性配对,耗时43.88 ms;凭证撤销阶段进行了1次加法和2次点乘操作,耗时3.16 ms。
可以发现(图3(a)),凭证验证阶段时间开销相比于其他4个阶段较高,注册和撤销阶段的时间开销较小。
为了进一步说明本方案在计算开销方面的优越性,与近年来提出的方案[6–8]进行了总体耗时比较(图3(b)),之所以选择以上3个方案作为对比对象,是因为上述3个方案和本方案所解决的都是车联网环境下的数字身份管理问题,并且都使用了区块链技术,存在一定的可比性。通过对比可以发现,当用户数为5的时,文献[6]的方案总体耗时为472.6 ms,文献[7] 的方案总体耗时为433.3 ms,文献[8] 的方案总体耗时为606.85 ms,而本方案总体耗时为311.8 ms,明显低于其他3个方案,这说明本方案在计算效率上是具有优越性的。
之后在一台处理器为Intel CORE i5、内存为8GB、操作系统为Ubuntu 20.04.1 amd64的个人笔记本电脑上使用truffle+Ganache+metamask[25] 的开发环境对本文提出的方案进行了实现,得到了方案部署智能合约所需的gas花销(表2)。根据文献[26] 所给出的Gas花销参考标准,将Gas价格设置为2Gwei(1 Gwei=10–9ether),统计得到本方案的ether花销为0.014981,保持在小数点两位以后,这个花销在VANETs环境中是可以接受的。
表 2 方案Gas花销测试结果阶段 Gas单元 注册 2075 649 创建 798 244 颁发 948 106 验证 1351 186 撤销 564 352 6. 结束语
本文的主要研究对象是面向VANETs的隐私保护自主管理身份系统,通过使用门限BLS签名、秘密共享、零知识证明、密码学累加器、区块链和智能合约,提出了一种可行实用的车辆用户数字身份管理方案,并且还提供了一些必要的安全属性,即不可伪造性、保密性、不可链接性、不可否认性和可撤销性。实验结果分析表明,本方案具有合理的通信和计算成本,适用于VANETs环境。
-
表 1 各阶段理论计算时间(ms)
阶段 计算 注册 Th+Tsig+Tver≈2.40 创建 5Tsig+3Tver+3Tadd+6Tmul+Tbp≈21.61 颁发 9Tadd+8Tmul+Th≈16.90 验证 12Tadd+20Tmul+4Tbp≈43.88 撤销 Tadd+2Tmul≈3.16 表 2 方案Gas花销测试结果
阶段 Gas单元 注册 2075 649 创建 798 244 颁发 948 106 验证 1351 186 撤销 564 352 -
[1] ZHU Fei, YI Xun, ABUADBBA A, et al. A security-enhanced certificateless conditional privacy-preserving authentication scheme for vehicular ad hoc networks[J]. IEEE Transactions on Intelligent Transportation Systems, 2023, 24(10): 10456–10466. doi: 10.1109/TITS.2023.3275077. [2] LIU Xingchen, HUANG Haiping, XIAO Fu, et al. A blockchain-based trust management with conditional privacy-preserving announcement scheme for VANETs[J]. IEEE Internet of Things Journal, 2020, 7(5): 4101–4112. doi: 10.1109/JIOT.2019.2957421. [3] SOLTANI R, NGUYEN U T, and AN Aijun. A survey of self-sovereign identity ecosystem[J]. Security and Communication Networks, 2021, 2021: 8873429. doi: 10.1155/2021/8873429. [4] GILANI K, BERTIN E, HATIN J, et al. A survey on blockchain-based identity management and decentralized privacy for personal data[C]. 2020 2nd Conference on Blockchain Research & Applications for Innovative Networks and Services (BRAINS), Paris, France, 2020: 97–101. DOI: 10.1109/BRAINS49436.2020.9223312. [5] MüHLE A, GRÜNER A, GAYVORONSKAYA T, et al. A survey on essential components of a self-sovereign identity[J]. Computer Science Review, 2018, 30: 80–86. doi: 10.1016/j.cosrev.2018.10.002. [6] LI Xuehan, JING Tao, LI Ruinian, et al. BDRA: Blockchain and decentralized identifiers assisted secure registration and authentication for vanets[J]. IEEE Internet of Things Journal, 2023, 10(14): 12140–12155. doi: 10.1109/JIOT.2022.3164147. [7] DAS D, DASGUPTA K, and BISWAS U. A secure blockchain-enabled vehicle identity management framework for intelligent transportation systems[J]. Computers and Electrical Engineering, 2023, 105: 108535. doi: 10.1016/j.compeleceng.2022.108535. [8] GEORGE S A, JAEKEL A, and SAINI I. Secure identity management framework for vehicular ad-hoc network using blockchain[C]. 2020 IEEE Symposium on Computers and Communications, Rennes, France, 2020: 1–6. doi: 10.1109/ISCC50000.2020.9219736. [9] GONÇALVES F, RIBEIRO B, GAMA O, et al. Hybrid model for secure communications and identity management in vehicular ad hoc networks[C]. 2017 9th International Congress on Ultra Modern Telecommunications and Control Systems and Workshops, Munich, Germany, 2017: 414–422. doi: 10.1109/ICUMT.2017.8255170. [10] THEODOULI A, MOSCHOU K, VOTIS K, et al. Towards a blockchain-based identity and trust management framework for the IoV ecosystem[C]. 2020 Global Internet of Things Summit, Dublin, Ireland, 2020: 1–6. doi: 10.1109/GIOTS49054.2020.9119623. [11] FATHALLA E S, AZAB M, XIN Chunsheng, et al. PT-SSIM: A proactive, trustworthy self-sovereign identity management system[J]. IEEE Internet of Things Journal, 2023, 10(19): 17155–17169. doi: 10.1109/JIOT.2023.3273988. [12] VAN BOKKEM D, HAGEMAN R, KONING G, et al. Self-sovereign identity solutions: The necessity of blockchain technology[J]. arXiv preprint arXiv: 1904.12816, 2019. [13] HILDEBRAND B, BAZA M, SALMAN T, et al. A comprehensive review on blockchains for Internet of Vehicles: Challenges and directions[J]. Computer Science Review, 2023, 48: 100547. doi: 10.1016/j.cosrev.2023.100547. [14] BATRA R and KALRA N. Are digital wallets the new currency[J]. Apeejay Journal of Management and Technology, 2016, 11(1): 1–12. [15] NAIK N and JENKINS P. uPort open-source identity management system: An assessment of self-sovereign identity and user-centric data platform built on blockchain[C]. 2020 IEEE International Symposium on Systems Engineering, Vienna, Austria, 2020: 1–7. doi: 10.1109/ISSE49799.2020.9272223. [16] XIE Mingyue, LIU Jun, CHEN Shuyu, et al. A survey on blockchain consensus mechanism: Research overview, current advances and future directions[J]. International Journal of Intelligent Computing and Cybernetics, 2023, 16(2): 314–340. doi: 10.1108/IJICC-05-2022-0126. [17] 陈友荣, 章阳, 陈浩, 等. 面向车联网异构节点的区块链高效一致性共识算法研究[J]. 电子与信息学报, 2022, 44(1): 314–323. doi: 10.11999/JEIT201065.CHEN Yourong, ZHANG Yang, CHEN HAO, et al. Efficient consistency consensus algorithm of blockchain for heterogeneous nodes in the internet of vehicles[J]. Journal of Electronics & Information Technology, 2022, 44(1): 314–323. doi: 10.11999/JEIT201065. [18] BOLDYREVA A. Threshold signatures, multisignatures and blind signatures based on the gap-Diffie-Hellman-group signature scheme[C]. The 6th International Workshop on Public Key Cryptography, Miami, USA, 2003: 31–46. doi: 10.1007/3-540-36288-6_3. [19] HARN L, LIN Changlu, and LI Yong. Fair secret reconstruction in (t, n) secret sharing[J]. Journal of Information Security and Applications, 2015, 23: 1–7. doi: 10.1016/j.jisa.2015.07.001. [20] NITULESCU A. zk-SNARKs: A gentle introduction[R]. Technical Report, 2020. [21] 李威翰, 张宗洋, 周子博, 等. 简洁非交互零知识证明综述[J]. 密码学报, 2022, 9(3): 379–447. doi: 10.13868/j.cnki.jcr.000525.LI Weihan, ZHANG Zongyang, ZHOU Zibo, et al. An overview on succinct non-interactive zero-knowledge proofs[J]. Journal of Cryptologic Research, 2022, 9(3): 379–447. doi: 10.13868/j.cnki.jcr.000525. [22] GROTH J. On the size of pairing-based non-interactive arguments[C]. The 35th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Vienna, Austria, 2016: 305–326. doi: 10.1007/978-3-662-49896-5_11. [23] CAMENISCH J, KOHLWEISS M, and SORIENTE C. An accumulator based on bilinear maps and efficient revocation for anonymous credentials[C]. The 12th International Workshop on Public Key Cryptography, Irvine, USA, 2009: 481–500. doi: 10.1007/978-3-642-00468-1_27. [24] LEE K. Decentralized threshold signatures for blockchains with non-interactive and transparent setup[R]. Cryptology ePrint Archive, 2023. [25] TruffleSuite. Truffle and MetaMask[EB/OL]. https://trufflesuite.com/docs/truffle/how-to/truffle-with-metamask/. [26] ZHANG Jing, FANG Huixia, ZHONG Hong, et al. Blockchain-assisted privacy-preserving traffic route management scheme for fog-based vehicular ad-hoc networks[J]. IEEE Transactions on Network and Service Management, 2023, 20(3): 2854–2868. doi: 10.1109/TNSM.2023.3238307. -