CN117375797A - 基于区块链与零知识证明的匿名认证与车载信息共享方法 - Google Patents

基于区块链与零知识证明的匿名认证与车载信息共享方法 Download PDF

Info

Publication number
CN117375797A
CN117375797A CN202311362998.5A CN202311362998A CN117375797A CN 117375797 A CN117375797 A CN 117375797A CN 202311362998 A CN202311362998 A CN 202311362998A CN 117375797 A CN117375797 A CN 117375797A
Authority
CN
China
Prior art keywords
task
key
information
data
knowledge proof
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311362998.5A
Other languages
English (en)
Inventor
张小红
陈星星
刘书玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangxi University of Science and Technology
Original Assignee
Jiangxi University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangxi University of Science and Technology filed Critical Jiangxi University of Science and Technology
Priority to CN202311362998.5A priority Critical patent/CN117375797A/zh
Publication of CN117375797A publication Critical patent/CN117375797A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3026Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

基于区块链与零知识证明的匿名认证与车载信息共享方法,包括可信权威机构、用户、区块链、智能合约,路边单元和星际文件系统,用户包括数据请求者与数据提供者。数据请求者通过路边单元发送任务信息请求,路边单元利用区块链上的用户匿名身份信息验证数据请求者身份的合法性,验证成功后路边单元利用智能合约将数据请求任务广播到区块链中,数据提供者通过智能合约查询和执行任务,利用IPFS存储任务信息,并采用共享文件哈希索引CID的方式实现任务信息的安全共享。本发明满足车载系统匿名身份认证与信息安全共享对安全性和隐私性的要求,可有效抵御潜在的恶意攻击,改变了现有匿名身份认证与信息安全共享方案集中式结构,降低了计算开销。

Description

基于区块链与零知识证明的匿名认证与车载信息共享方法
技术领域
本发明属于信息安全技术领域,涉及到信息安全领域中的区块链技术,以及零知识证明和数据安全性验证的方法。
背景技术
车载自组织网络(Vehicular Ad Hoc Networks,VANETs)能够创造一个智能交通生态系统,为驾驶员和交通管理者提供即时而准确的交通情报。但是,车辆间的实时通信和信息共享安全性问题,受到越来越多的学者关注。
Azees等在《IEEE Transactions on Intelligent Transportation Systems》2017,18(9)“EAAP:Efficient Anonymous Authentication With Conditional Privacy-Preserving Scheme for Vehicular Ad Hoc Networks”中提出了一种新的车载安全通信方案,实现对共享数据车辆匿名身份验证以及利用高效的条件隐私跟踪机制揭示恶意车辆的真实身份。但是该方案使用中心化的云服务器作为系统存储存在一定的安全隐患,一旦云服务器崩溃将使得整个系统无法正常运转。为了保证数据的安全性和隐私性,Yang等在《IEEE Transactions on Vehicular Technology》2022,71(8)“AcceleratingDecentralized and Partial-Privacy Data Access for VANET via Online/OfflineFunctional Encryption”提出了一种基于区块链的分布式、保护隐私的访问控制方案ORAC。通过功能加密(Functional Encryption)将车辆侧的解密计算拆分为离线阶段和在线阶段,保证车辆在保证部分隐私的同时能够高效访问数据。通过联盟区块链,ORAC在VANET中实现了可靠的交互,以防止无效的数据传输。Shretha等在《Digitalcommunications and networks》2020,6(2)中提出了一种新型的区块链来解决VANET中的关键信息传播问题,将节点可信度和消息可信度存储在分布式分类账中,以便在VANET中安全传播消息,作为其他车辆的基础信任。
以上方案在一定程度上提高了信息传播服务的机密性和安全性,但是传统的身份验证方案可能使攻击者通过分析与跟踪用户行为从而获取用户真实身份信息。因此,提出一种安全、去中心化和防追踪的数据安全共享方案至关重要,零知识证明技术在实现用户隐私保护与身份验证的同时仍能保持区块链的去中心化和透明性特点。这使得零知识证明成为解决区块链隐私和安全问题的强大工具。Rasheed等在《IEEE Transactions onIntelligent Transportation Systems》2020,21(2)“Adaptive Group-Based ZeroKnowledge Proof-Authentication Protocol in Vehicular Ad Hoc Networks”提出了一种基于混合方法的自适应基于组的零知识证明认证协议(AGZKP-AP),将通用可验证方案与ZKP协议相结合,以最大限度地减少用户访问网络时身份验证参数的泄露。Zhao等在《IEEETransactions on Intelligent Transportation Systems》2022,23(10)“Blockchain-Enabled Conditional Decentralized Vehicular Crowdsensing System”提出了一种将zk-SNARK证明与混合任务智能合约相结合的隐私保护方案,以保证交互过程不会泄露参与者的任何隐私信息。同时设计了一种高效的信誉管理机制,使参与者在用户隐私信息安全的情况下也能获得满意并对系统中的恶意操作进行有效的监督。但是该方案的计算代价较大,因此上述方案均不适用于安全的数据共享服务。
发明内容
本发明的目的是提出一种基于区块链与零知识证明的匿名认证与车载信息共享方法,利用区块链去中心化的存储任务请求与执行记录,有效实现了不同实体之间的信任和公平,保障了数据共享的安全性和完整性,实现了跨多方交易的安全和透明记录。为了有效实现隐私保护、匿名交易等功能,利用零知识证明技术为用户生成证明从而实现在验证任务的有效性的前提下,无需揭示任务的详细信息并实现交易的隐私保护。同时利用区块链与IPFS相结合构建分布式的任务数据存储与共享框架,将数据的存储与传输变得更加去中心化、高效和安全同时解决了VANETs中不同实体之间大量数据交互导致的数据负载问题。
本发明所述的一种基于区块链与零知识证明的匿名认证与车载信息共享方法,包括可信权威机构TA、用户、区块链、智能合约,路边单元RSU和星际文件系统(IPFS),其中用户由数据请求者DR与数据提供者DP组成。DR通过距离自身最近的RSU进行身份认证。当身份验证成功后,DR以交易的形式生成一个任务,其中陈述了任务需求,关键词和报酬,例如数据类型需求、位置需求、截止时间和奖励金额等,完成任务的生成后DR将任务发送给RSU进行验证并通过智能合约RTBC广播到区块链中,其他用户通过相应陈述选择是否执行任务。本发明满足匿名身份认证与信息共享对安全性和隐私性的要求,有效抵御潜在的攻击手段,不仅改变现有数据安全共享方案集中式结构,还有效降低了计算开销。
具体地说,本发明是通过以下技术方案实现的。
本发明所述的一种基于区块链与零知识证明的匿名认证与车载信息共享方法,按以下步骤:
(S01):可信权威机构TA在系统初始化和密钥生成过程中生成系统公钥MPK和主密钥MSK;数据请求者DR以交易的形式生成一个任务,其中陈述了任务需求TR,关键词keyword,报酬R和截止时间dl,例如数据类型需求、位置需求、截止时间和奖励金额等,完成任务的生成后DR将任务发送给RSU进行验证并通过智能合约RTBC广播到区块链,其他用户通过相应陈述选择是否执行任务;
(S02):路边单元RSU接收到任务请求后,调用智能合约RTBC将经过验证的任务广播到区块链中。其他用户根据任务所提供的关键词,任务需求等信息判断是否符合任务要求。当某一用户DP满足任务要求并向RSU发出任务执行请求时,RSU首先验证DP身份的有效性。DP验证通过后,利用任务信息与DR建立安全连接并通过一系列交互生成会话密钥用于任务执行;
(S03):DR调用智能合约ZKAC使用证明密钥和特定的输入数据来生成证明。DR成功生成证明后将验证密钥与证明发送给RSU进行验证。RSU使用验证密钥、证明和相应的公开输入来验证证明的有效性。如果验证成功,RSU将确认发布任务的有效性,否则将拒绝发布任务请求。同时为了保证DP上传的任务信息没有被临时篡改,DP需要在交易前将相应任务信息加密上传至IPFS进行保存,并对收集的任务生成零知识证明确保任务信息的完整性;
(S04):双方调用ZKAC智能合约验证证明的有效性,当验证通过后DP调用智能合约DMRC将相应任务信息上传发送给DR。同时为了防止恶意用户对系统交易的干扰,DP需要提交一定的押金,恶意参与任务执行的用户将收到惩罚并扣除押金;
(S05):DR收到任务数据后,对数据进行校验。DR确认信息完整性与有效性后通过智能合约DMRC将奖励分配给提交数据的DP。当所有奖励分配完毕后,任务执行结束。
进一步说,步骤(S01)所述,按以下步骤:
(1)系统初始化:
Setup(1λ)→pp:通过输入一个安全参数λ从而生成系统一系列公共参数pp=(p,e,G1,g,G2,h,GT,Fp),用于生成加密算法的输入公共参数。其中p是一个大素数,e是一个双线性映射:e:G1×G1→G2;其中G1,G2为两个p阶循环群,g和h分别是G1的两个生成元。Fp是一个有限域;
(2)密钥生成:
KeyGen(pp)→{pk,sk}:其中pp是生成的一系列参数。随机选择分别计算私钥sk={r}和对应的公钥pk={gr,hr},其中pk*,1=gr以及pk*,2=hr。私钥由用户作为秘密保存,公钥对其他用户公开;
数据请求者DR与数据提供者DP利用密钥生成算法分别生成密钥对{pkDR,skDR}和{pkDP,skDP}。
(3)数据加密:
Enc(pk,m)→AC:发送方利用需要加密的明文信息m和对应的公钥pk作为输入生成密文信息AC。随机选择计算c1=(g·h)a和c2=m·(pk*,1·pk*,2)a则密文AC={c1,c2};
(4)数据解密:
Dec(sk,AC)→m:接收方利用接收到的密文信息AC={c1,c2}以及自身的私钥sk作为输入,利用解密算法和/>获取对应的明文信息m。
本发明步骤(S02)所述的基于会话密钥的加密算法,包括以下具体内容:
(1)会话密钥生成
DR计算密钥DP计算/>其中zDR和zDP分别为DR和DP的私钥,/>和/>分别为对应的部分公钥。DR随机选择一个秘密数字进行计算/>将结果SDR与时间戳TDR一起打包发送给DP。接收到参数后,DP首先计算/>之后生成会话密钥SKDP=e(g,SK2)。同样DR计算/>以及SKDR=e(SK3,h),最终会话密钥SK=SKDP=SKDR
(2)数据加密
数据请求者DR与数据提供者DP利用会话密钥SK和明文信息m,输出密文SCm
(3)数据解密
数据请求者DR与数据提供者DP利用会话密钥SK和密文SCm,输出明文信息m。
本发明步骤(S03)所述的基于零知识证明的验证算法,包括以下具体内容:
(1)密钥生成
ZKeyGen(C)→{PKZ,VKZ}:给定一个算术电路它从有限域/>中取n+m个参数作为输入,并在/>中产生l个输出,之后利用公共参数pp生成密钥对{PKZ,VKZ}。PKZ是用于生成证明的证明密钥,VKZ是用于证明验证的验证密钥;
1)构建二次算数程序QAP=(Ai(x),Bi(x),Ci(x),Z(x)),其中随机生成/>
2)对于i∈[0,d],计算pkH,i=(τig);
3)对于i∈[0,m],计算
生成证明密钥PKZ={pkA,pkB,pkC,pkH};
4)对于i∈[0,n],计算
生成验证密钥VKZ={vkC,vkZ}。
(2)证明生成
该算法生成一个零知识证明π,或者生成错误⊥。该算法有三个输入参数分别是:证明密钥PKZ,公开声明/>以及一个私有证据/>其中是算术电路C的一个公开输入,任何人都能够使用,/>是算术电路C的一个隐私输入,只有证明者知道,零知识证明π证明了算术电路C在/>和/>之间构建的关系;
1)证明者拥有算术电路C的QAP系数解(s0=1,s1,...,sm),定义构建多项式P(x)=A(x)B(x)-C(x)并整除Z(x)得到多项式/>
2)分别计算
其中hi,i∈[0,d]为多项式H的系数,生成零知识证明π={πABCH}。
(3)证明验证
该算法用于任意用户检查和验证一个零知识证明,如果验证成功输出c=1,否则输出c=0。该算法有三个输入参数分别是:验证密钥VKZ,公开声明/>以及零知识证明π。π是GenProof()算法生成的零知识证明,/>是GenProof()算法的输入公共参数。
1)验证者输入计算/>
2)验证零知识证明的正确性如果验证成功输出c=1,否则输出c=0。
本发明提出的基于区块链与零知识证明的匿名认证与车载信息共享算法不仅保证信息交互过程的安全性、机密性和隐私性,还能抵御潜在的攻击。利用区块链技术与零知识证明构建匿名认证和数据安全共享的系统模型,改善了数据共享的中心化模式,产生纷争时,区块链上存储的数据可以作为仲裁的依据。安全性分析与性能评估表明本发明在安全性、计算开销方面具有明显优势,可推广应用到身份识别与安全存储共享场景中。
附图说明
图1为本发明匿名认证和数据安全共享方案的系统模型图。
图2为本发明匿名认证和数据安全共享方案零知识证明生成图。
图3为本发明匿名认证和数据安全共享方案仿真性能图。
图4为本发明匿名认证和数据安全共享方案各个步骤的计算开销图。
图5为本发明匿名认证和数据安全共享方案V2R认证在计算开销的对比图。
图6为本发明匿名认证和数据安全共享方案V2V认证在计算开销的对比图。
具体实施方式
以下将结合附图及具体实施例对本发明作进一步说明。
1.本发明的模型结构布局。
如图1为本发明的整体结构,具体参数定义如下:
可信权威机构(Trusted Authority,TA):TA在VANETs中具有强大的计算能力和存储空间,不易被恶意攻击和完全可信。它负责系统的初始化并生成一系列的公共参数帮助路边单元和用户完成登记注册。
路边单元(Roadside Unit,RSU):路边单元节点用于提供车辆与基础设施之间的通信和交互,通过无线通信技术,如车载通信、Wi-Fi、蜂窝网络等,与车辆进行双向通信。以此完成用户的身份认证以及任务数据处理和共识。它具有强大的计算和存储能力,作为区块链中的管理节点可以实时查看和记录区块链中每笔任务部署与执行的状态。
用户:用户包括数据请求者DR和数据提供者DP,具体定义如下:
(1)数据请求者(DR):他们通常是需要信息/数据的普通车辆用户。当DR需要获取交通信息,但没有足够的能力直接获取,因此需要在VANETs中选择具有该信息或数据的用户DP来执行相应的任务。由于执行任务需要一些计算、存储和传感器资源,因此完成任务后会有奖励以此来吸引DP的参与。
(2)数据提供者(DP):他们通常是参与任务执行的车辆用户,具有完成任务信息收集和共享的能力。车辆配备车载单元OBU,用于收集车辆的各种参数或外部环境变量,具有通信能力可确保DP与RSU以及DP与DR之间的安全交互。
区块链:作为一种去中心化的分布式账本技术,它以块的形式存储数据,并使用密码学方法保证数据的安全性和不可篡改性。本发明利用这些特性将用户隐私信息加密后保存在区块链中来保证用户身份的有效性与完整性,同时将交易信息保存在区块链中保证了交易的公正性。本发明利用区块链作为任务部署与执行的平台,其中TA和RSU作为管理节点参与到车辆用户的注册认证以及任务的过程中,以此保证任务公平公正的顺利进行。
智能合约:通过使用预定义的规则和逻辑生成智能合约,在没有第三方介入的情况下即可自动执行合约条款。智能合约的使用消除了中介机构、降低了成本和提供了安全可靠的任务执行环境。本发明的模型主要设计了三个智能合约。包括请求任务广播合约RTBC,用于接收注册用户在VANETs中发布任务的请求并将其广播到区块链中;零知识证明认证合约ZKAC,用于记录零知识证明参数以及对生成的参数进行验证;数据管理和奖励合约DMRC,用于任务信息的存储与共享操作以及对数据提供者DP的奖励分配。
星际文件系统(Interplanetary File System,IPFS):用于存储与交通事故、道路建设、天气信息、交通堵塞等相关的任务信息。通过提供分布式存储服务,解决了区块链存储效率低、成本高等问题。这些任务信息由VANETs中的DP通过OBU上传到IPFS中,当信息成功上传后将返回IPFS中基于上传内容的唯一哈希索引。该哈希索引将被用于任务信息的安全共享。
2.本发明的匿名认证和数据安全共享方案
本发明提出的基于区块链与零知识证明的匿名认证与车载信息共享方法的系统初始化与注册具体实现过程如下:
(1)系统初始化
1)可信权威机构TA使用初始化算法Setup(1λ)→pp生成一系列公共参数pp=(p,e,G1,g,G2,h,GT,Fp),其中TA选择阶为大素数p的乘法循环群G1和G2,g,h为G1的生成元,存在双线性映射e:G1×G1→G2,假设λ为系统安全参数,定义哈希函数 和/>其中{0,1}*表示任意长度的字符串;
2)可信权威机构TA随机选择作为私钥,同时利用g,h计算对应的公钥MPKTA,1=gx以及MPKTA,2=hx,系统主私钥MSKTA={x}和公钥MPKTA={MPKTA,1,MPKTA,2}。之后TA将MPKTA作为系统公钥广播到区块链,MSKTA作为秘密存储在TA中;
3)路边单元RSU通过安全通道,将唯一的身份信息例如序列号、位置资料或时间戳传送给TA。TA接收到/>后,利用密钥生成算法KeyGen()生成RSU对应的密钥对首先TA选择一个随机数/>作为其私钥,其中i表示第i个RSU。之后计算为RSU的私钥,/>为对应的公钥。TA通过安全通道将生成的密钥对分发给相应的路边单元RSU。并将其公钥/>广播到区块链。
(2)用户注册
车辆用户Vu利用密钥生成算法KeyGen()随机选择分别计算sku={zu}和之后用户Vu选择一个时间戳Tu,将生成的公钥pku、真实身份信息IDu和时间戳Tu打包离线发送给TA。TA在接收到相应信息后计算假名并将FIDu发送给用户Vu保存在OBU中。TA将{FIDu,IDu,pku,Tu}保存在本地数据库中,同时将{FIDu,pku}利用系统公钥MPKTA加密并上传至区块链。
任务请求部署过程具体实现如下所示:
DR为任务需求信息TRDR(道路拥塞情况、事故信息、天气与施工情况等)生成一个任务TDR。DR根据任务需求信息TRDR生成任务关键字keyword,报酬R,截止时间dl等条件调用智能合约RTBC但不执行。
1)为了防止任务信息被恶意篡改DR计算δDR=H5(keyword||R||dl)并创建一个匿名钱包地址IPDR用于存放交易费用fDR
2)DR利用RSU的公钥计算/>并发送给对应的RSU;
3)RSU在接收到密文后利用私钥解密得到相关参数。通过区块链索引IDR获取DR的身份信息{FIDDR,pkDR};
4)RSU通过比较对应参数是否相等验证DR的身份是否合法。同时利用任务信息计算并与δDR对比。如果等式成立,RSU则认为DR的身份信息正确并且任务在传输过程中没有被篡改。验证通过后RSU利用节点地址/>执行RTBC将任务信息广播到区块链中供其他用户查询,如果验证不通过RSU将拒绝将任务广播到区块链。
任务执行准备过程具体实现如下所示:
DP通过区块链中广播的任务信息说明(关键字keyword,截止日期dl,报酬R等)判断是否执行该任务。当DP选择执行某一任务时,首先计算δDP=H5(keyword||R||dl)并与δDR,对比。如果等式/>成立,则认为任务在传输过程中没有被篡改。验证通过后DP创建一个匿名地址IPDP并向其中存入一定的押金dDP。执行任务之前DP需要被验证身份的合法性,根据任务信息通过IPDR与DR建立远程连接,DR初步验证DP的身份并建立会话密钥SK,具体过程如下:
1)DP与附近的路边单元RSU建立连接并验证身份,具体过程与DR相同。通过区块链索引IDP获取DP的身份信息{FIDDP,pkDP}。RSU通过比较对应参数是否一致验证DP的身份是否合法;
2)当确定DP身份合法后,DP提交交易信息参数IDR给RSU从而获得DR身份信息{FIDDR,pkDR};
3)DP利用DR交易地址IPDR与DR建立远程连接,并将{FIDDR,pkDP}利用DR的公钥加密ACDP=Enc(pkDR,{FIDDR,pkDP})将密文ACDP发送给DR;
4)DR通过私钥解密Dec(skDR,ACDP)获得明文,通过明文信息初步验证DP的身份合法性并获取公钥信息pkDP
5)身份的合法性验证通过后,DR计算Diffie-Hellman密钥DP计算/>其中zDR和zDP分别为DR和DP的私钥,/>和/>分别为对应的部分公钥;
6)DR随机选择一个秘密数字进行计算/>将结果SDR与时间戳TDR一起发送给DP;
7)接收到参数后,DP进行计算然后计算SKDP=e(g,SK2);
8)DR计算其中vDR是由DR生成的一个秘密参数。DR计算SKDR=e(SK3,h),建立会话密钥SK=SKDR=SKDP
当双方成功建立会话密钥SK后,DR利用会话密钥SK加密详细任务需求信息TRDR,DR计算密文与δ'DR=H2(TRDR||δDR)并将/>发送给DP以便其收集任务信息TIDP
零知识证明生成过程如图2,具体实现如下所示:
在任务执行时需要验证交易双方的身份信息以及交易内容的合法性。由于涉及隐私信息本发明利用零知识证明在证明身份有效性的同时保证了信息的隐私性。
(1)DR资产拥有权证明生成
DR在交易之前需要向DP证明他拥有一定数量的资产,但又不透露具体的资产数量。DR作为证明者使用zk-SNARK算法来构建一个零知识证明。
1)DR将拥有的资产数量进行转换,计算σDR=H3(IPDR||fDR)。这一过程由DR独自完成不泄露资产的具体数量;
2)DR调用ZKAC智能合约构建算术电路CDR生成零知识证明密钥对ZKeyGen(CDR)→(PKZ,DR,VKZ,DR),其中PKZ,DR是证明密钥,VKZ,DR是验证证明的验证密钥;
3)DR根据任务交易信息构建公开声明以及私有证据利用证明密钥PKZ,DR生成零知识证明π1得到证明π1后DR将{VKZ,DR1}上传至ZKAC用于验证。
(2)DP任务信息完整性证明生成
DP收到后计算/>获取详细的任务需求信息TRDP,为了防止任务被恶意篡改DP计算δ'DP=H2(TRDP||δDP)并将其与δ'DR比较。如果等式δ'DP==δ'DR成立则证明了任务信息的完整性。根据任务要求,DP需要收集对应的任务信息TIDP并在截止日期前发送给DR。同时为了防止任务信息TIDP被临时篡改从而有目的的生成零知识证明,在生成零知识证明前需要利用区块链对隐私数据做完整性检查,之后DP对收集的任务信息生成唯一性证明。
1)DP利用会话密钥对任务信息TIDP加密其中SK为准备阶段生成的会话密钥;
2)DP将密文上传至IPFS保存,当成功上传后DP将得到基于密文内容的唯一哈希索引CIDDP,同样利用会话密钥对其加密/>其中CIDDP可用于DR访问IPFS并从中获取对应的密文/>从而完成任务信息TIDP的安全共享。DP计算σDP=H3(IPDP||dDP)以及任务信息TIDP与唯一哈希索引CIDDP的哈希值δ”DP=H3(TIDP||CIDDP);
3)DP调用ZKAC智能合约构建算术电路CDP生成零知识证明密钥对ZKeyGen(CDP)→(PKZ,DP,VKZ,DP);
4)DP根据任务信息构建公开声明以及私有证据/>利用证明密钥PKZ,DP生成零知识证明得到证明π2后DP将{VKZ,DP2}上传至ZKAC用于验证。
本发明任务执行过程具体如下:
在任务TDR执行之前,DR需要将一些信息{δ'DR,fDP,fR,IPDR,IPDP}和费用提前存储到DMRC,其中fR是执行DMRC的花费避免恶意用户无限制执行合约造成任务执行混乱。fDP是对DP的奖励,该奖励将通过对应的区块链地址IPDP转移到对应用户并可通过合约查看。DP在任务执行前需要验证DR身份是否有效同时证明收集的任务信息TIDP的完整性,调用智能合约ZKAC自动验证相应的零知识证明的有效性。
其中r1,r2为返回的验证结果取两个值0或者1,当返回结果为1时表示证明验证通过。反之则说明DR与DP生成的零知识证明无法被证明有效,任务将无法继续执行。当验证结果r=r1∧r2为1时,证明被认为是有效的。验证通过后DP将利用会话密钥SK加密/>其中T'DP是当前时间。之后通过DMRC合约发送至DR的地址IPDR
DR在接收到密文SCDP后通过计算得到明文信息,首先检验零知识证明结果r和时间T'DP的值是否有效,同样通过计算/>得到唯一哈希索引CIDDR,利用哈希索引从IPFS中获得加密任务信息/>DR得到密文后计算得到原始任务信息。同样DR需要验证任务信息的完整性以确保其未被恶意篡改。DR利用获得的信息计算δ”DR=H3(TIDR||CIDDR)并与δ”DP进行比较。如果δ”DR==δ”DP等式成立,则证明了任务信息的完整性同时任务执行结束,否则任务执行失败DR将拒绝执行奖励分配同时DP上传的押金dDP将被扣除。无论等式是否成立DR上传的费用fR都将被扣除。
本发明任务奖励分配过程具体如下:
在任务截止日期前DP成功发送任务信息同时DR接收并确认任务信息无误后将执行奖励分配并结束任务。DR需要对提交任务信息的DP进行相应的奖励分配。转账金额包括执行任务的报酬R加上DP预付的押金dDP。对于未提交数据的用户,将不发放报酬并扣除押金。DR根据任务执行信息构建公开声明以及私有证据/>并利用证明密钥PKZ,DR生成零知识证明/>
DR将相应的任务记录传递给DMRC。DR结合奖励分配记录调用DMRC进行验证。如果合约验证通过,则任务执行结束,并退还DP押金。否则,将扣除押金作为罚款。
3.本发明的正确性保障
(1)任务执行准备阶段正确性。
在此阶段,由DR和DP分别计算的会话密钥需要相同。DP生成的会话密钥SKDP=e(g,SK2)以及DR生成的会话密钥SKDR=e(SK3,h),验证如下:
证明了这一阶段的正确性。
(2)零知识证明生成阶段正确性
在此阶段,DR和DP生成零知识证明验证任务执行以及任务信息的完整性。生成的零知识证明通过输入验证密钥VKZ={vkC,vkZ},公开声明以及零知识证明π={πABCH}验证/>的正确性,验证如下所示:
证明了这一阶段的正确性。
4.本发明的安全性保障
1)不可伪造性
在本发明的安全模型中,攻击者具有入侵读取车辆OBU中的存储信息并得到Diffie-Hellman密钥SK1以及随机数SDR的能力。通过SK1的值计算获得H1(SK1),之后/>根据任务广播信息获得DR的FID信息、发送的时间戳TDR和任务关键字keyword等信息,利用获取信息攻击者/>计算H5(FIDDR||TDR||keyword)。同样通过任务信息/>也可以获得双方的公共密钥pkDR,2之后攻击者尝试计算得到任务执行双方的会话密钥,首先/>计算SK2
其中zDP是DP的私钥被秘密存储在本地,从公钥pkDP或者SK1中获取zDP的值是具有CDH困难问题。因此攻击者无法通过获取的参数成功计算得到SK2从而进一步获取会话密钥。之后攻击者/>尝试计算SK3
其中vDR是由DR生成的一个秘密参数,攻击者只能得到参数SDR而无法通过该参数得到vDR,这同样是一个CDH困难问题。因此/>同样无法通过获取的参数成功计算得到SK3从而进一步获取会话密钥。本发明提出的会话密钥生成方案中利用CDH问题的严谨性防止了攻击者生成会话密钥从而获取任务执行的具体信息。
2)匿名性
本发明不直接使用真实身份信息参与到VANETs当中,车辆用户在注册时所需的隐私身份信息,在TA的本地数据库中以高度机密的方式被保存。并且用户的私人信息将由TA使用,以便在发生争议时从假名身份追踪车辆的真实身份从而保证了系统的公正性。在认证环节,RSU通过调用区块链中存储的假名信息对车辆用户进行身份验证,整个过程中不涉及真实身份的任何信息因此用户的真实信息不会暴露在VANETs中的任何环节和实体面前。在计算会话密钥SK的过程中,计算使用的依然是用户的假名。因此,本发明实现了匿名认证。
3)节点共谋攻击
由于VANETs中的路边单元作为区块链的管理节点执行用户之间的任务请求,并采用共识算法对任务执行结果进行评估。VANETs网络的分散性质,决策由多个节点共同做出,恶意节点需要控制一定数量的其他节点对共识结果进行篡改,这降低了合谋企图的影响。因此,随着节点数量的增加,合谋变得更加困难。此外,攻击者串通的成本远高于利润成本,因此串通攻击是不划算的,因为必须牵涉更多节点才能显著影响网络。
4)消息篡改攻击
原始任务信息在上传之前通过会话密钥加密,并以密文的形式传输到IPFS。在没有会话密钥的情况下,攻击者无法破解获得有效信息。为了保证DR接收到的道路信息没有被篡改,使用零知识证明对信息进行验证。值得注意的是,加密信息上传IPFS后将无法被篡改,如果信息有一个比特被篡改都将导致最终生成的哈希索引截然不同。因此任何信息的篡改都将在零知识证明以及哈希索引中反映出来。基于此,攻击者不可能伪造任务执行结果,信息的完整性得以保护,不被攻击者恶意篡改。
5)拒绝服务攻击
由于用户DR与DP在发布与执行任务之前需要缴纳一定的押金,只有当任务顺利执行结束押金才能返还给对应用户。因此当攻击者尝试通过大量发布任务而拒绝继续执行从而实现降低网络的性能和安全性的时候,押金的设置增加了攻击者/>攻击的成本,因此大量发布任务但拒绝服务攻击是不划算的。
5.本发明的性能评估
表1评估了利用Zokrates在本地生成零知识证明密钥对以及相应的零知识证明,之后将对应的验证合约利用Remix进行测试的时间花费。零知识证明的生成过程对应了Zokrates中的5个操作。
表1性能评估
Process Execution cost(ms)
Compile 191
Setup(ZKeyGen) 85
Compute-witness 46
Generate-Poof(GenProof) 23
Export-verifier(生成verifier.sol) 85
将生成的验证合约利用Remix进行仿真模拟,REMIX IDE版本为0.35.1和Solidity,实验运行硬件配置为13th Gen Intel(R)Core(TM)i5-13400@2.50GHz,16GB内存的电脑。
图3为软件环境基于Ubuntu 18.04操作系统,目标验证合约被部署在Remix VM环境中。合约地址为0xd9145CCE52D386f254917e481eB44e9943F39138以及用户地址为0x5B38Da6a701c568545dCfcB03FcB875f56beddC4,同时本发明利用同一个用户地址仿真了在任务数据共享中利用IPFS存储经过加密处理的任务消息并通过共享获得的文件哈希索引CID(Content Identifier,内容标识符)实现用户之间的数据安全共享的花费。
6.本发明计算开销分析
匿名身份认证与信息共享过程中产生的计算开销主要为任务请求部署和任务执行准备过程。表2为本发明匿名身份认证与信息共享的计算开销与现有方案(S.K.Dwivedi等在《IEEE/CAA Journal of Automatica Sinica》2021,8(12)“Blockchain-BasedSecured IPFS-Enable Event Storage Technique With Authentication Protocol inVANET”;C.Wang等在《IEEE Transactions on Emerging Topics in Computing》2021,9(3)“B-TSCA:Blockchain Assisted Trustworthiness Scalable Computation for V2IAuthentication in VANETs”;X.Li等在《IEEE Transactions on Vehicular Technology》2021,“An unlinkable authenticated key agreement with collusion resistant forVANETs”;M.S.AlMarshoud等在《Vehicular Communications》2022,36“Location privacyin VANETs:Provably secure anonymous key exchange protocol based on self-blindable signatures”)的比较结果,其中Tp表示双线性配对操作时间,Tm表示点乘法操作时间,Te表示指数操作时间,TH表示哈希到组操作时间,表示定义的哈希函数H1()的操作时间。其他定义的哈希函数操作时间对比TH和/>可忽略不计,因此不计算其他哈希时间。n表示车辆的个数。实验在13th Gen Intel(R)Core(TM)i5-13400@2.50GHz,16GB内存的电脑。软件环境基于Ubuntu 18.04操作系统,将安全参数设置为80位,即λ=80,双线性配对的系统参数为“qbits=512”和“rbits=160”,在同样配置的电脑中使用Python 3.6版本和PYPBC 0.2版本实现,使用PBC库Type A类曲线构造对称素数阶双线性群。Tp,Tm,Te,TH和/>的操作时间分别为0.4559ms,0.0023ms,0.9237ms,2.0474ms和0.0032ms。
表2计算开销比较
图4为本发明具体步骤的操作花费,其中车辆注册阶段花费的时间为在密钥生成阶段,加密密钥生成阶段2nTe,DR会话密钥生成阶段/>DP会话密钥生成阶段/>加密阶段Enc()为3nTm+2nTe,解密阶段Dec()为nTm+nTe。根据各操作的耗时和本发明的具体步骤,本发明计算出车辆数n为20~100的本发明中6个步骤的耗时。
图5(a)表明V2R认证过程的计算开销随着车辆个数线性增长,随着车辆个数的增长,本发明的计算开销最少。本发明完成包含100个车辆的V2R认证时RSU端只需99.9981ms,相比其他三种方案的计算开销平均降低了82.51%。
图5(b)表明V2R认证过程的计算开销随着车辆个数线性增长,随着车辆个数的增长,本发明的计算开销最少。本发明完成包含100个车辆的V2R认证时车辆端只需200.1954ms,相比其他三种方案的计算开销平均降低了73.81%。
图6(a)表明V2V认证过程的计算开销随着车辆个数线性增长,随着车辆个数的增长,本发明的计算开销最少。本发明完成包含100个车辆的V2R认证时DR端只需449.3672ms,相比其他三种方案的计算开销平均降低了61.24%。
图6(b)表明V2V认证过程的计算开销随着车辆个数线性增长,随着车辆个数的增长,本发明的计算开销最少。本发明完成包含100个车辆的V2R认证时DP端只需449.7656ms,相比其他三种方案的计算开销平均降低了61.21%。以上比较结果清晰地表明本发明在计算开销上有明显优势。

Claims (4)

1.一种基于区块链与零知识证明的匿名认证与车载信息共享方法,其特征是按以下步骤:
(S01):可信权威机构TA在系统初始化和密钥生成过程中生成系统公钥MPK和主密钥MSK;数据请求者DR以交易的形式生成一个任务,包括任务需求TR,关键词keyword,报酬R和截止时间dl,数据类型需求、位置需求、截止时间和奖励金额,完成任务的生成后DR将任务发送给RSU进行验证并通过智能合约RTBC广播到区块链,其他用户通过相应陈述选择是否执行任务;
(S02):路边单元RSU接收到任务请求后,调用智能合约RTBC将经过验证的任务广播到区块链中;其他用户根据任务所提供的关键词,任务需求信息判断是否符合任务要求;当某一用户DP满足任务要求并向RSU发出任务执行请求时,RSU首先验证DP身份的有效性;DP验证通过后,利用任务信息与DR建立安全连接并通过一系列交互生成会话密钥用于任务执行;
(S03):DR调用智能合约ZKAC使用证明密钥和特定的输入数据来生成证明;DR成功生成证明后将验证密钥与证明发送给RSU进行验证;RSU使用验证密钥、证明和相应的公开输入来验证证明的有效性;如果验证成功,RSU将确认发布任务的有效性,否则将拒绝发布任务请求;同时为了保证DP上传的任务信息没有被临时篡改,DP需要在交易前将相应任务信息加密上传至IPFS进行保存,并对收集的任务生成零知识证明确保任务信息的完整性;
(S04):双方调用ZKAC智能合约验证证明的有效性,当验证通过后DP调用智能合约DMRC将相应任务信息上传发送给DR;同时为了防止恶意用户对系统交易的干扰,DP需要提交一定的押金,恶意参与任务执行的用户将收到惩罚并扣除押金;
(S05):DR收到任务数据后,对数据进行校验;DR确认信息完整性与有效性后通过智能合约DMRC将奖励分配给提交数据的DP;当所有奖励分配完毕后,任务执行结束。
2.根据权利要求1所述的一种基于区块链与零知识证明的匿名认证与车载信息共享方法,其特征是步骤(S01)所述,按以下步骤:
(1)系统初始化:
Setup(1λ)→pp:通过输入一个安全参数λ从而生成系统一系列公共参数pp=(p,e,G1,g,G2,h,GT,Fp),用于生成加密算法的输入公共参数,其中p是一个大素数,e是一个双线性映射:e:G1×G1→G2;其中G1,G2为两个p阶循环群,g和h分别是G1的两个生成元,Fp是一个有限域;
(2)密钥生成:
KeyGen(pp)→{pk,sk}:其中pp是生成的一系列参数,随机选择分别计算私钥sk={r}和对应的公钥pk={gr,hr},其中pk*,1=gr以及pk*,2=hr,私钥由用户作为秘密保存,公钥对其他用户公开;
数据请求者DR与数据提供者DP利用密钥生成算法分别生成密钥对{pkDR,skDR}和{pkDP,skDP};
(3)数据加密:
Enc(pk,m)→AC:发送方利用需要加密的明文信息m和对应的公钥pk作为输入生成密文信息AC,随机选择计算c1=(g·h)a和c2=m·(pk*,1·pk*,2)a则密文AC={c1,c2};
(4)数据解密:
Dec(sk,AC)→m:接收方利用接收到的密文信息AC={c1,c2}以及自身的私钥sk作为输入,利用解密算法和/>获取对应的明文信息m。
3.根据权利要求1所述的一种基于区块链与零知识证明的匿名认证与车载信息共享方法,其特征是步骤(S02)所述的基于会话密钥的加密算法,包括以下步骤:
(1)会话密钥生成
DR计算密钥DP计算/>其中zDR和zDP分别为DR和DP的私钥,/>和/>分别为对应的部分公钥;DR随机选择一个秘密数字进行计算/>将结果SDR与时间戳TDR一起打包发送给DP;接收到参数后,DP首先计算/>之后生成会话密钥SKDP=e(g,SK2);同样DR计算/>以及SKDR=e(SK3,h),最终会话密钥SK=SKDP=SKDR
(2)数据加密
数据请求者DR与数据提供者DP利用会话密钥SK和明文信息m,输出密文SCm
(3)数据解密
数据请求者DR与数据提供者DP利用会话密钥SK和密文SCm,输出明文信息m。
4.根据权利要求1所述的一种基于区块链与零知识证明的匿名认证与车载信息共享方法,其特征是步骤(S03)所述的基于零知识证明的验证算法,包括以下步骤:
(1)密钥生成
ZKeyGen(C)→{PKZ,VKZ}:给定一个算术电路C:它从有限域/>中取n+m个参数作为输入,并在/>中产生l个输出,之后利用公共参数pp生成密钥对{PKZ,VKZ};PKZ是用于生成证明的证明密钥,VKZ是用于证明验证的验证密钥;
1)构建二次算数程序QAP=(Ai(x),Bi(x),Ci(x),Z(x)),其中随机生成
2)对于i∈[0,d],计算pkH,i=(τig);
3)对于i∈[0,m],计算
生成证明密钥PKZ={pkA,pkB,pkC,pkH};
4)对于i∈[0,n],计算
生成验证密钥VKZ={vkC,vkZ};
(2)证明生成
该算法生成一个零知识证明π,或者生成错误⊥;算法有三个输入参数,分别是:证明密钥PKZ,公开声明/>以及一个私有证据/>其中是算术电路C的一个公开输入,任何人都能够使用,/>是算术电路C的一个隐私输入,只有证明者知道,零知识证明π证明了算术电路C在/>和/>之间构建的关系;
1)证明者拥有算术电路C的QAP系数解(s0=1,s1,...,sm),定义构建多项式P(x)=A(x)B(x)-C(x)并整除Z(x)得到多项式/>
2)分别计算
其中hi,i∈[0,d]为多项式H的系数,生成零知识证明π={πABCH};
(3)证明验证
该算法用于任意用户检查和验证一个零知识证明,如果验证成功输出c=1,否则输出c=0;算法有三个输入参数分别是:验证密钥VKZ,公开声明以及零知识证明π;π是GenProof()算法生成的零知识证明,/>是GenProof()算法的输入公共参数;
1)验证者输入计算/>
2)验证零知识证明的正确性如果验证成功输出c=1,否则输出c=0。
CN202311362998.5A 2023-10-20 2023-10-20 基于区块链与零知识证明的匿名认证与车载信息共享方法 Pending CN117375797A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311362998.5A CN117375797A (zh) 2023-10-20 2023-10-20 基于区块链与零知识证明的匿名认证与车载信息共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311362998.5A CN117375797A (zh) 2023-10-20 2023-10-20 基于区块链与零知识证明的匿名认证与车载信息共享方法

Publications (1)

Publication Number Publication Date
CN117375797A true CN117375797A (zh) 2024-01-09

Family

ID=89390629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311362998.5A Pending CN117375797A (zh) 2023-10-20 2023-10-20 基于区块链与零知识证明的匿名认证与车载信息共享方法

Country Status (1)

Country Link
CN (1) CN117375797A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117978553A (zh) * 2024-04-01 2024-05-03 山东科技大学 一种面向城市区域交叉口的交通数据管理系统及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117978553A (zh) * 2024-04-01 2024-05-03 山东科技大学 一种面向城市区域交叉口的交通数据管理系统及方法

Similar Documents

Publication Publication Date Title
Gabay et al. Privacy-preserving authentication scheme for connected electric vehicles using blockchain and zero knowledge proofs
Baza et al. Privacy-preserving blockchain-based energy trading schemes for electric vehicles
Zhang et al. Privacy-preserving cloud establishment and data dissemination scheme for vehicular cloud
Zhang et al. BSFP: blockchain-enabled smart parking with fairness, reliability and privacy protection
Feng et al. An efficient privacy-preserving authentication model based on blockchain for VANETs
CN111464980A (zh) 一种车联网环境下基于区块链的电子取证装置及取证方法
Terzi et al. Securing emission data of smart vehicles with blockchain and self-sovereign identities
CN115801260B (zh) 一种不可信网络环境下区块链辅助的协作式攻防博弈方法
CN113761582A (zh) 基于群签名的可监管区块链交易隐私保护方法及系统
CN113129518A (zh) 电动车辆充电系统及其资源管理方法
CN113949544A (zh) 基于dag区块链的物联网设备轻量级认证和访问授权方法
Zhang et al. A secure and efficient decentralized access control scheme based on blockchain for vehicular social networks
Kilari et al. Robust revocable anonymous authentication for vehicle to grid communications
CN117375797A (zh) 基于区块链与零知识证明的匿名认证与车载信息共享方法
Abdelfatah et al. Secure VANET authentication protocol (SVAP) using Chebyshev chaotic maps for emergency conditions
Zhang et al. Secure and reliable parking protocol based on blockchain for VANETs
Mohanty et al. Siovchain: time-lock contract based privacy-preserving data sharing in siov
CN115580488A (zh) 基于区块链和物理不可克隆函数的车载网消息认证方法
Yang et al. Accelerating decentralized and partial-privacy data access for VANET via online/offline functional encryption
Shari et al. Blockchain-based decentralized data dissemination scheme in smart transportation
Chen et al. IOV Privacy Protection System Based on Double‐Layered Chains
Zhang et al. Secure channel establishment scheme for task delivery in vehicular cloud computing
CN115913647A (zh) 基于区块链的跨域设备访问控制策略强制实施方法及装置
Das et al. Design of a trust-based authentication scheme for blockchain-enabled iov system
CN115378681A (zh) 一种基于区块链的跨域身份认证方法及系统和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination