CN115801260B - 一种不可信网络环境下区块链辅助的协作式攻防博弈方法 - Google Patents
一种不可信网络环境下区块链辅助的协作式攻防博弈方法 Download PDFInfo
- Publication number
- CN115801260B CN115801260B CN202310040309.2A CN202310040309A CN115801260B CN 115801260 B CN115801260 B CN 115801260B CN 202310040309 A CN202310040309 A CN 202310040309A CN 115801260 B CN115801260 B CN 115801260B
- Authority
- CN
- China
- Prior art keywords
- user
- requester
- base station
- blockchain
- forwarding
- 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.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种不可信网络环境下区块链辅助的协作式攻防博弈方法,包括以下步骤:根据转发概率矩阵,基站将请求者的查询内容发送给对应的协作者;请求者利用零知识证明方法生成匿名凭证,用于证明是请求者发布的查询任务;协作者也返回带有匿名凭证的交易证明此次协作;根据对用户匿名凭证验证和PoCF的结果,请求者通过智能合约将奖励分配给协作者;本方法保证了转发过程的安全性。
Description
技术领域
本发明涉及互联网数据和信息安全领域,特别涉及一种不可信网络环境下区块链辅助的协作式攻防博弈方法。
背景技术
在互联网中,会产生大量的数据,用户的个人信息、位置信息等都在用户、平台和服务端中不断交互,目的是获得精准服务结果的反馈。而交互过程中,用户信息安全问题常常被忽略,对用户信息隐私造成了威胁。例如,基于位置的服务(Location-basedservices,LBS)是近年来陪伴着空间位置信息感知终端技术的成熟而快速发展起来的一项互联网服务,大量移动感知终端产生的实时数据提供着精准的地理位置坐标信息,这些信息反映着使用者的个人隐私。然而,恶意的攻击者会利用非法手段窃取敏感信息。因此,如何加强交互过程的安全性,保证用户信息隐私安全成为网络信息安全的重中之重。
发明内容
为此,需要提供一种面向复杂网络环境的协作式攻防博弈方法,目的是保证转发过程的安全性。
为实现上述目的,发明人提供了一种不可信网络环境下区块链辅助的协作式攻防博弈方法,包括以下步骤:根据转发概率矩阵,基站将请求者的查询内容发送给对应的协作者;请求者利用零知识证明方法生成匿名凭证,用于证明是请求者发布的查询任务;协作者也返回带有匿名凭证的交易证明来证明此次协作;根据对用户匿名凭证验证和PoCF的结果,请求者通过智能合约将奖励分配给协作者。
作为本发明的一种优选方式,对于转发概率矩阵,建立协作式转发,将全部基站节点组成以太坊区块链,包括以下步骤:请求者向基站发送查询任务,基站通过解密,根据请求者的真实位置与背景知识,形成协作组并计算转发概率矩阵;根据优先选择概率最大的协作者方式,基站将查询内容发送给对应的协作者,生成转发账单并上传到区块链中,触发智能合约;协作者向LSP发送查询请求并返回查询结果,生成相应交易账单并上传到区块链。
作为本发明的一种优选方式,基于区块链的协作式转发包括以下几个部分:
注册授权中心,用于负责密钥生成和身份管理,注册授权中心通过将标识与用户移动端上的识别码绑定,为每个用户分配一个唯一的数字证书,
用户,包括请求者和协作者,作为请求者,则发布查询请求到区块链中,作为协作者,则从区块链上下载请求者的查询内容,代替请求者向LSP发送查询请求,协作者获取并返回有带LSP签名的查询结果后,便生成RT并上传到区块链中,若智能合约验证通过,则获得协作奖励;
基站,具有移动边缘计算功能,基站通过收集覆盖范围内的请求者的位置信息以及查询内容构建协作组,并计算转发概率矩阵;根据优先选择概率最大的协作者方式,基站为每个请求者分配概率最大的协作者,并生成CT上传到区块链中;每个基站为区块链上节点并存储整个区块链账本,用于验证区块链与交易的正确性,基站收取交易费和挖矿奖励。
运营商,由若干个电信运营商共同组成,共同推出协作转发服务,并将匿名的协作转发行为一致性验证部署在一个或若干个基站上。
作为本发明的一种优选方式,所述智能合约的匿名协作转发模型和验证包括以下步骤:
身份注册,用户通过协议Regu生成自己的私钥,同时,注册授权中心将基本私钥和用户的公共参数作为输入,输出零知识匿名身份凭证,协议Regu同时输出一个符号用于说明注册状态,基站使用RSA算法生成非对称密钥对/>
协作组构建,用户向区块链网络中发布查询任务用户将带有注册授权中心签名和匿名证书πi的查询任务发送到最近的基站,基站收集覆盖范围内有查询任务请求的用户并共同组成协作组,验证πi的正确性并解密得到协作组内用户的真实位置li和背景知识Si信息,然后计算转发概率矩阵;
奖励分配,基站将协作转发中查询内容转发给相应的协作者,协作者返回查询结果给请求者,生成一笔响应交易账单,根据智能合约中验证算法的结果,自动对相应的协作者进行奖励。
作为本发明的一种优选方式,零知识证明方法生成匿名凭证包括以下步骤:系统初始化,注册授权中心执行Setup(1λ),输出公共参数,若是素数阶q双线性映射群,/>是目标群,则存在一种映射/>于是,当g是/>的一个生成元时,那么gT=e(g,g),则是/>的一个生成元;H0,H1是两个安全加密哈希函数:注册授权中心随机选择三个整数/>令X=gx,Y=gy,Z=gz,于是,注册授权中心的基本公钥/>为/>基本私钥/>为{x,y,z};
身份注册,基站与用户在注册授权中心中注册,注册包括步骤:
用户私钥是由用户以及注册授权中心共同生成,首先,用户选择两个整数/>并且计算/>其次,用户生成代表自己身份的零知识证明ZKPoK,/>然后,用户将包含自己身份信息的πi以及φi发送给授权中心中注册,授权中心中注册验证πi,若验证不通过则注册失败,若通过,授权中心中注册选择/>计算/>并生成用户的签名/>用户的私钥表示为{si,ri,sigi};
协作组构建,用户向区块链网络中发布查询任务用户将带有匿名凭证πi的查询任务发送到最近的基站,基站收集覆盖范围内有查询任务请求的用户并共同组成协作组,验证πi的正确性并解密得到协作组内用户的真实位置li和背景知识si等信息,然后计算转发概率矩阵;
协作转发,基站获得用户的查询内容ci、协作奖励和任务时间ti,假设请求者为ui,经过计算P输出的对应协作者为uj;引入一个唯一的令牌/>其中,a是用户的私钥,b是依据交易账单类型的哈希值,基站生成一笔协作转发交易调用智能合约,基站将ui的协作奖励锁定在智能合约中,承诺一旦验证协作者uj转发成功,则将奖励发给uj,利用临时的区块链地址,并在与区块链交互时生成匿名凭证PoCF,用户利用私钥(si,ri,sigi)生成盲签名,用户随机选择两个数字/>并且计算盲签名其中,/>然后,用户计算/>其中,/> 上传到区块链中,基站计算ν,用户身份的验证过程转化为检验零知识证明ZKPoK凭证,表达式为:
作为本发明的一种优选方式,所述协作转发的生成步骤为:
协作转发的生成步骤为:基站,获得请求者ui的查询任务,验证πi的正确性,得到查询内容、奖励和时间,表达式为:
作为本发明的一种优选方式,零知识证明方法生成匿名凭证还包括以下步骤:奖励分配,基站根据转发规则将CT中查询内容转发给相应的协作者uj通过区块链下载新的协作转发账单,利用RSA私钥解密得到查询内容,返回查询结果给请求者,生成一笔响应交易账单,根据智能合约中验证及奖励分配算法的结果,自动对相应的协作者进行奖励。
作为本发明的一种优选方式,所述响应交易账单生成包括以下步骤:
uj生成匿名凭证ZKPoKπj的表达式为:
uj:bj=H0(ri||αi||αj),fi=H1(F(si,hci))
uj从新的区块链中下载协作转发,非对称解密后得到查询内容,表达式为:
基站分别将请求者协作转发和协作者的响应交易账单上的匿名凭证提交给区块链,请求者在提交协作转发交易时缴纳保证金,若在协作过程中未发现恶意行为,此保证金将退还给请求者。
区别于现有技术,上述技术方案所达到的有益效果有:
(1)针对存在恶意的推断攻击,本方法提出了基于Stackelberg攻防博弈模型,假设攻击者掌握用户的背景知识,让用户与攻击者轮流进行博弈,获得最佳的转发概率矩阵,此时,由协作者代替转发请求者查询内容,使攻击者难以推测用户的真实信息,并尽可能最小化保护代价;攻击者根据自身已知的一部分背景知识,通过分析用户历史发布的位置来反推用户的防御策略。请求者获得不同的协作者帮助也会有不同的隐私保护效果;
(2)针对区块链公开透明的特性,本方法提出了基于匿名的协作转发机制,利用零知识证明技术从匿名性和条件连接性两方面保护用户隐私。在这一过程中,请求者与协作者之间可以在互不知道身份的前提下,完成协作转发任务;
(3)针对存在的恶意互联网用户的欺骗和抵赖行为的问题,本方法基于智能合约的交易验证算法,以有效地验证传回响应交易账单的正确性,从而自动为正确的协作者分配奖励。
附图说明
图1为具体实施方式所述区块链结构图;
图2为具体实施方式所述基于区块链的零知识证明框架;
图3为具体实施方式所述混合式的协作转发模型;
图4为具体实施方式所述工作流框架图;
图5为具体实施方式所述以太坊网络的交易性能测试图。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
为了便于理解,先简要介绍区块链和基于区块链的零知识证明(Kowledge Proof,ZKPoK)框架;
如图1所示,区块链由不断增长的区块列表组成,这些区块通过哈希值连接。每个区块包含一组交易,它们之间建立了时间顺序。一个区块主要由块头和块体组成。在区块头包含Merkle root hash、时间戳、随机数和父块hash。其中,Merkle root hash代表了一个可以保证区块内所有交易完整性的hash,时间戳是当前时间以秒为单位,随机数从0开始,每次hash计算递增,父块hash用于指向前一个块。块体通常存储交易的相关信息。
图2给出了区块链中的零知识证明架构。该架构分为链上和链下部分。在链下,证明者(prover)声称他们拥有足够的交易量,验证请求者负责发布验证任务,从验证者(verifier)收集验证结果,并向验证者支付验证费用。在链上,由验证者验证证明者生命的真实性,验证者通常是一个区块链矿工。此外,区块链有激励机制,为验证者计算验证费用;该真实性验证的实现包括八个步骤,描述如下:
(1)授权机构生成证明密钥和验证密钥。然后,授权机构利用证明密钥生成一个证明,该证明始终包含证明者生成他们拥有足够的交易数量。随后,生成的证明传送给证明者。(2)证明者通过互联网将生成的证明上传到区块链上。由此,证明的完整性和不可篡改性可以得到保证。(3)如果验证请求者想知道证明者是否拥有足够的交易量,验证请求者会发送验证任务到区块链上,其中包括任务标签、验证者做出响应的截止日期以及验证任务奖励的总金额。(4)当区块链节点收到验证任务时,会检查该任务中的任务标签。如果任务标签有效,该验证请求任务将被传送给验证者。否则,验证任务将被取消。(5)如果存在对验证任务感兴趣的验证者,它将在截止日期前向验证请求者发送响应消息,其中包含任务标签和当前时间。(6)当验证请求者收到验证者的响应信息时,它会检查这个响应信息。如果任务标签合法,回复时间不超过期限,且不存在恶意行为,则验证请求者向验证者发送确认消息,允许验证者执行验证任务。否则,将选择另一个验证者来验证这个证明。(7)被选中的验证者将使用验证密钥执行验证任务。在验证此证明后,在截止日期之前将包含验证结果、任务标签、当前时间和确认消息的响应结果发送给验证请求者。(8)当验证请求者收到响应结果时,它会检查这个响应结果。如果该响应结果包含确认消息并按时返回验证结果,即可接受验证结果。否则,验证结果将被丢弃。根据接受的验证结果,验证请求者可以确认证明者拥有足够的交易数量。
当上述真实性验证完成后,激励机制为验证者计算验证费用。然后,验证者可以从验证请求者的奖励总额中获得验证费用。此外,区块链生成一个或几个新的区块,可以用来记录真实性验证的过程,不做任何篡改。因此,第三方可以从这些块中检查真实性验证。此外,通过块中默克尔根数可以追踪真实性验证。
本方法的网络场景与相关定义如下:
假设U={u1,u2,u3,…,un}是协作组内用户集合,Loc={l1,l2,l3,…,ln}是协作组内用户的真实位置,T={t1,t2,t3,…tn}由请求者设置,表示协作者完成查询任务所需的最长时间,C={c1,c2,c3,…cn}是请求用户的查询内容,请求用户的查询结果为W={w1,w2,w3,…wn}。下表为相关符号及其定义:
根据转发概率矩阵,基站将请求者ui的查询内容ci发给对应的协作者uj。ui利用零知识证明技术生成匿名凭证,证明是ui发布的查询任务,uj也返回带有匿名凭证的交易证明来证明此次协作。注意,ui和uj在交易过程中使用临时区块链地址。根据对用户匿名凭证验证以及协作转发验证(proof-of-cooperative-forwarding,PoCF)的结果,ui就会通过智能合约将奖励分配给uj。
用户相互协作方式切断了用户和LSP的直接联系,提高了用户的隐私保护效果。协作组内用户共同计算转发概率矩阵P,然而,P在协作组内公开,且无法保证协作组内用户都是诚实可信的。对此,本实施例提出了一个新的协作转发框架。所有基站节点组成以太坊区块链。具体方案如下:
首先,请求者向基站发送查询任务Task,基站公钥加密后的查询内容、真实位置以及背景知识。基站通过解密,收集某时刻覆盖范围内请求者们的真实位置以及背景知识,背景知识实时更新,形成协作组U并计算转发概率矩阵P。
然后,根据优先选择概率最大的协作者方式,基站将查询内容发送给对应的协作者,生成转发账单CT并上传到区块链中,触发智能合约。
最后,协作者向LSP发送查询请求并返回查询结果,生成响应交易账单RT并上传到区块链。
如图3所示,基于区块链的混合式协作转发模型由四个部分组成:
注册授权中心:用RA表示,负责密钥生成和身份管理;具体地说,主私钥由两部分生成,一部分由用户生成,另一部分由注册授权中心生成。注册授权中心通过将标识与用户手机识别码绑定,为每个用户分配一个唯一的数字证书,另外,RA还为用户生成RSA密钥对,用于加密交易账单。
用户:用U表示,既可以是请求者,也可以是协作者;作为请求者,他发布查询请求到区块链中;作为协作者,它从区块链上下载请求者的查询内容,代替请求者向LSP发送查询请求;协作者获取并返回有带LSP签名的查询结果后,便生成RT并上传到区块链中。如果智能合约验证通过,则可以获得协作奖励。
基站:用BS表示,具有移动边缘计算功能。BS通过收集覆盖范围内的请求者们的位置信息以及查询内容构建协作组,并计算转发概率矩阵P。根据优先选择概率最大的协作者方式,BS为每个请求者分配概率最大的协作者,并生成CT上传到区块链中。另外,每个基站为区块链上节点并存储整个区块链账本,能够验证区块与交易的正确性,基站收取交易费以及挖矿奖励。
运营商:用O表示。由移动、联通以及电信等共同组成。他们共同推出协作转发服务,并将匿名的协作转发行为一致性验证部署在一个或多个基站上;只要购买了这项服务的用户,都可以自愿选择参与协作转发,一旦按规定时间内上传到智能合约的交易账单验证合格,则自动分配奖励。
现有的研究大多假设用户间是诚实可信的。然而,用户是自利的。此外,开放的区块链网络也带来了一些隐私和安全问题。存在的安全风险包括协作者的恶意欺骗行为、请求者的恶意抵赖行为、双重奖励攻击、推测攻击等。
本实施例提供了面向攻防博弈的协作转发模型构建,具体的:
本方案定义协作组为U,协作组内用户既是请求者,也是协作者。请求者ui根据自身的防御策略,将真实位置隐藏在协作者位置中,并由协作者提交到LSP。假设攻击者依据协作组某段时间的背景知识以及协作者真实位置来推测可能的原始用户
服务质量代价度量:在协作式场景下,请求者u与协作者o的距离决定了服务质量,距离越大,服务质量越不好。因此服务质量代价Qloss可用如下公式所示:
P(o|u)=Pr{O=o|U=u}
于是,便可以得到整个区域U中用户的隐私水平L:
为L设定一个最小阈值Lmin满足用户隐私水平,且L≥Lmin。
因此,可以构造一个线性规划问题:当用户的背景知识π(u)和转发概率p(o|u)已知的情况下,可以求解出最优攻击策略q*:
最佳防御策略:用户的目标是既满足隐私保护水平最大化又能满足服务质量代价最小化。用户背景知识π(s)与最佳攻击策略已知的前提下,满足如下公式:
由于q*的结果可以推测p*,转发概率的结果可以推出q*,因此构成博弈模型。
本实施例还提供了基于智能合约的匿名协作转发框架和验证方法,具体的:
为了解决上述提到的风险模型,本实施例利用区块链技术的优势,在智能合约中构造一个具有高效验证算法的时间锁定的奖励分配协议来解决用户的恶意欺骗以及抵赖行为。另外,为保证用户身份匿名,设计一个基于非交互式ZKPoK的匿名凭证验证方法。本方案由五个阶段组成:系统初始化,身份注册,协作组构建,协作转发,奖励分配。工作流框架如图4所示。
身份注册:在这个阶段,用户u通过协议Regu生成自己的私钥。同时,RA将基本私钥以及用户的公共参数作为输入,输出零知识匿名身份凭证。Regu同时输出一个符号来说明注册状态。基站直接使用RSA算法生成非对称密钥对/>
协作组构建:用户ui向区块链网络中发布查询任务ui将带有RA签名以及匿名证书πi的查询任务发送到最近的BS。BS收集覆盖范围内有查询任务请求的用户并共同组成协作组,验证πi的正确性并解密得到协作组内用户的真实位置li以及背景知识si等信息,然后计算转发概率矩阵。
协作转发:由上一阶段可知,BS获得用户的查询内容ci、协作奖励以及任务时间ti。在此阶段,BS生成一笔协作转发(Cooperation Transaction,CT)交易调用智能合约。用户承诺一旦验证协作者转发成功,就将奖励发给协作者。
奖励分配:BS将CT中查询内容转发给相应的协作者,协作者返回查询结果给请求者。最后,生成一笔响应交易账单(Response Transaction,RT)。根据智能合约中验证算法的结果,自动对相应的协作者进行奖励。
注意,上述方案要求用户在提交的交易中带有有效匿名凭证。
本实施例还提供了基于零知识证明的匿名方案,具体的:
系统初始化:RA执行Setup(1λ),输出公共参数。若是素数阶q双线性映射群,/>是目标群,则存在一种映射/>于是,当g是/>的一个生成元时,那么gT=e(g,g)则是/>的一个生成元。另外,H0,H1是两个安全加密哈希函数:/>RA随机选择三个整数令X=gx,Y=gy,Z=gz。于是,RA的基本公钥/>为基本私钥/>为{x,y,z}。
身份注册:在这个阶段,基站与用户在RA中注册。注册过程如下所示:
用户私钥是由用户以及RA共同生成。首先,用户ui选择两个整数/>并且计算/>其次,ui生成代表自己身份的零知识证明ZKPoK:/>然后,ui将包含自己身份信息的πi以及φi发送给RA。RA验证πi,如果验证不通过则注册失败。若通过,RA选择计算/>并生成ui的签名因此,ui的私钥表示为{si,ri,sigi}。
协作组构建:用户ui向区块链网络中发布查询任务ui将带有匿名凭证πi的查询任务发送到最近的BS。BS收集覆盖范围内有查询任务请求的用户并共同组成协作组,验证πi的正确性并解密得到协作组内用户的真实位置li以及背景知识Si等信息,然后计算转发概率矩阵。
协作转发:由上一阶段可知,BS获得用户的查询内容ci、协作奖励以及任务时间ti。假设请求者为ui,经过计算P输出的对应协作者为uj。为了获得协作奖励,本文引入了一个唯一的令牌/>a是用户的私钥,b是依据交易账单类型的哈希值。注意,攻击者不能通过使用其他用户的令牌获得奖励,因为令牌绑定了用户的区块链地址。在此阶段,BS生成一笔协作转发CT交易调用智能合约。BS将ui的协作奖励锁定在智能合约中,承诺一旦验证协作者uj转发成功,就将奖励发给uj。他们利用临时的区块链地址,并在与区块链交互时生成匿名凭证PoCF。首先,用户ui利用私钥(si,ri,sigi)生成盲签名。ui随机选择两个数字/>并且计算盲签名/>其中,然后,ui计算/>其中,/> 上传到区块链中,矿工(基站)也可以计算ν。于是,用户身份的验证过程就可以转化为检验零知识证明ZKPoK凭证:
接下来,详细介绍CT的具体形式:
CT的生成过程描述如下:
BS:获得请求者ui的查询任务账单,验证πi的正确性,得到查询内容、奖励和时间,表达式为:
奖励分配:基站根据转发规则将CT中查询内容转发给相应的协作者uj只需通过区块链下载最新的CT账单,利用RSA私钥解密得到查询内容,返回查询结果给请求者。最后,生成一笔响应交易账单(Response Transaction,RT)。根据智能合约中验证及奖励分配算法的结果,自动对相应的协作者进行奖励。注意,本方案要求用户在提交的交易中带有有效匿名凭证。
接下来,详细介绍RT具体形式:
最终,uj生成匿名凭证ZKPoKπj如下:
uj:bj=H0(ri||αi||αj),fi=H1(F(si,hci))
RT的生成过程描述如下:
uj:从最新的区块中下载CT,非对称解密后得到查询内容,表达式为:
特别地,基站分别将请求者CT以及协作者的RT上的匿名凭证提交给区块链。为了防止拒绝支付攻击,请求者在提交CT交易时必须缴纳保证金。如果在协作过程中没有发现恶意行为,此保证金将退还给请求者。
本实施例中的智能合约模块设计,具体的:如算法1所示,本文设计协作转发验证及奖励算法,防止请求者的抵赖行为以及协作者的欺骗行为。BS首先检查匿名凭证在交易中的有效性,然后对PoCF做出公正判断。匿名凭证需要验证两个方面:
算法1协作转发奖惩算法:
(1)BS发起交易账单CT,运行智能合约。命令请求者在区块链中放入一笔押金;
(2)Step1.放入押金Deposit();
(4)for i∈n do;
(5)Task←{T1,T2,…,Tn};
(6)C←{c1,c2,…,cn}
(7)t←{t1,t2,…,tn}
(9)end for
(11)输出:押金地址depositAdrr[];
(12)Step2.协作转发验证及奖励分配rewardPayment();
(14)isSucc←FALSE;
(15)tranValidity←checkTranCredential(c,type);
(16)if tranValidity is FALSE then
(17)交易验证失败;
(18)break;
(19)end if
(20)TranId←{wj||αi||αj)
(21)if receivedMap.TranId=NULL then
(22)Tran←{TranId,wj,type};
(23)receivedMap.put(TranId,Tran);
(24)break;
(25)end if
(26)Tran←receivedMap.get(TranId);
(27)TranType contains CT and RT;
(28)if{type≡CT∧AD.type≡RT}∧
(29){CT.F(si,bi)=RT.F(si,bi)}then
(30)Transfer(depositAddr[],αj,θ);
(31)isSucc←True;
(32)else提提交了重复或错误消息类型;
(33)end if
(34)输出:奖励分配成功isSucc;
(35)final;
下述实施例为仿真实验及性能分析:
安全性和隐私保护效果分析,具体的:
(1)抵抗双重奖励攻击的安全性分析:
由于协作者uj在πj中提交了F(sj,fi),要求每个协作者都要用私钥签名提交这个数据。结合πj中的认证信息,BS可以方便地验证F(sj,fi)是否用有效私钥计算得到的。如果验证通过,由于F(sj,fi)的值相同,肯定会发现贪心的协作者,试图在每次查询任务过程中获得多于一次的奖励。
(2)抵抗恶意抵赖行为的安全性分析:
在本文的方案中,请求者被要求向智能合约中支付一笔保证金作为奖励,这确保了恶意的请求者即使拥有主私钥,也不能在ti之前从合约中拿走保证金。此外,协作者返回查询结果过程由智能合约自动完成。通过提交有效的证明(即RM中包括的πj)到智能合约中,参与转发的协作者将获得转发奖励。因此,请求者不能否认协作者的贡献。
(3)不可伪造性:
在匿名认证过程中,拥有经过RA认证签名sig的车辆可以生成盲签名并计算一个元组/>BSs可以根据Proof 2公开验证/>是否由有效用户生成。另外,匿名凭证包含与区块链交易相对应的用户的公开地址,如果没有主私钥,就不可能伪造证书。攻击者伪造签名的方式有两种:一种是攻击者使用未经验证的密钥伪造匿名凭证,违反了ZKPoK;另一种是攻击者在匿名证书πi或πj中拥有与用户公共地址α相对应的私钥,这在威胁模型中没有考虑。
(4)匿名性和条件连接性:
通过使用匿名凭证,可以很容易地验证该方案满足匿名性和条件连接性。基于ZKPoK,用户在证书中使用盲签名使得BS,即使是RA,无法根据盲签名识别其真实身份。另一方面,用户在与区块链网络交互时,可以频繁更新区块链地址α和盲签名/>这就保证了根据匿名证书追踪用户在不同转发过程中的轨迹不会比猜测更好。条件连接性的性质依赖于Proof 1和Proof 2。在协作转发和奖励分配阶段,当用户生成匿名证书πi或πj时,由于无法得知(s,r,sig),BS无法在不同的转发过程中将用户先前的匿名凭证与当前的匿名凭证连接起来。
仿真实验:
本实施例实验的主要挑战是支持ZKPoK上的繁重计算和区块链测试网络中的盲签名验证。由于链上计算量和存储量较小,将ZKPoK和盲签名验证的繁重计算从智能合约中移除。每个BS使用一个定制的EVM来执行ZKPoK协议(包括ZKPoK生成和ZKPoK验证)。链下计算主要是指系统初始化、身份注册、协作组构建、协作转发以及奖励分配时的ZKPoK以及签名认证。Solidity开发的链上计算主要是指算法1中描述的奖励支付。
本实施例基于JPBC和基于PBC的配对密码库实现了密码算法。哈希函数H0是JPBC内置的SHA-256实现。实验环境为1.00GHz Core i5-1035G1CPU,8Gb。在此之上建立了一个基于PoA的本地以太坊区块链网络。
通信成本分析:本实施例分析不同阶段产生的通信成本。只考虑一个用户与BS之间的通信成本,而不考虑BS之间的通信成本。以下符号被定义为在对应线性组中的运算量大小,如下表所示。
下表列出了所提方案在不同阶段产生的通信成本:
从上表可以看出,协作转发阶段产生的通信成本较高,这是一定的,因为该阶段产生了带有ZKPoK的CT和RT。
事务吞吐量分析:ZKPoK证明在Parity leader的EVM中验证。因此,在协作转发奖励分配合同中,上传奖励金和任务、认证交易账单和奖励传递等都会产生计算开销。进行了50组实验来评估链上的性能,发现这些链上计算是高效和可接受的。
在提交CT、RT和奖励支付三个交易账单时,用户使用的是临时地址并分别将包含如下信息大约有1360字节,大约有1488字节,的匿名身份参数以及查询任务,大约有10Kb,上传到区块链。本实施例从用户发送交易的时间开始计算每种类型的交易的确认时间,如图5所示。CT、RT和奖励支付上的平均交易时间分别为81.78ms,82.91ms,82.35ms。恶意用户在这么短时间内发动欺骗攻击以及抵赖攻击比较困难。
通过分析协作转发方案中的安全和隐私问题,本实施例提出了不可信网络环境下的协作转发隐私保护和交易验证机制,目的是成员间能够在不欺诈的情况下完成协作转发。它可以应对各种攻击,如请求者的抵赖攻击和协作者的双重奖励攻击。此外,本实施例利用零知识证明技术实现了链上用户的匿名性,达到了用户的隐私保护要求。基站上传请求者的协作转发交易账单,并依据转发规则将交易账单发送给对应协作者。为了保证公平的互联网交易环境,本实施例通过将奖励分配算法写入智能合约,以有效地验证传回响应交易账单的正确性,从而自动为正确的协作者分配奖励。由区块链节点根据事先生成的零知识证据来验证交易双方密钥,判断这笔交易的正确性。最后,经过数值分析和交易性能测试,该机制能够遏制恶意用户的欺骗和抵赖行为。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
Claims (5)
1.一种不可信网络环境下区块链辅助的协作式攻防博弈方法,其特征在于,包括以下步骤:
根据转发概率矩阵,基站将请求者的查询内容发送给对应的协作者;
请求者利用零知识证明方法生成匿名凭证,用于证明是请求者发布的查询任务;
协作者也返回带有匿名凭证的交易证明来证明此次协作;
根据对用户匿名凭证验证和PoCF的结果,请求者通过智能合约将奖励分配给协作者;
对于转发概率矩阵,建立协作式转发,将全部基站节点组成以太坊区块链,包括以下步骤:
请求者向基站发送查询任务,基站通过解密,根据请求者的真实位置与背景知识,形成协作组并计算转发概率矩阵;
根据优先选择概率最大的协作者方式,基站将查询内容发送给对应的协作者,生成转发账单并上传到区块链中,触发智能合约;
协作者向LSP发送查询请求并返回查询结果,生成相应交易账单并上传到区块链;
基于区块链的协作式转发包括以下几个部分:
注册授权中心,用于负责密钥生成和身份管理,注册授权中心通过将标识与用户移动端上的识别码绑定,为每个用户分配一个唯一的数字证书,
用户,包括请求者和协作者,作为请求者,则发布查询请求到区块链中,作为协作者,则从区块链上下载请求者的查询内容,代替请求者向LSP发送查询请求,协作者获取并返回有带LSP签名的查询结果后,便生成RT并上传到区块链中,若智能合约验证通过,则获得协作奖励;
基站,具有移动边缘计算功能,基站通过收集覆盖范围内的请求者的位置信息以及查询内容构建协作组,并计算转发概率矩阵;根据优先选择概率最大的协作者方式,基站为每个请求者分配概率最大的协作者,并生成CT上传到区块链中;每个基站为区块链上节点并存储整个区块链账本,用于验证区块链与交易的正确性,基站收取交易费和挖矿奖励;
运营商,由若干个电信运营商共同组成,共同推出协作转发服务,并将匿名的协作转发行为一致性验证部署在一个或若干个基站上;
所述智能合约的匿名协作转发模型和验证包括以下步骤:
身份注册,用户通过协议Regu生成自己的私钥,同时,注册授权中心将基本私钥和用户的公共参数作为输入,输出零知识匿名身份凭证,协议Regu同时输出一个符号用于说明注册状态,基站使用RSA算法生成非对称密钥对/>
协作组构建,用户向区块链网络中发布查询任务其中,αi为ui的区块链地址,ui为请求者,用户将带有注册授权中心签名和匿名证书πi的查询任务发送到最近的基站,基站收集覆盖范围内有查询任务请求的用户并共同组成协作组,验证πi的正确性并解密得到协作组内用户的真实位置li和背景知识Si信息,然后计算转发概率矩阵;
奖励分配,基站将协作转发中查询内容转发给相应的协作者,协作者返回查询结果给请求者,生成一笔响应交易账单,根据智能合约中验证算法的结果,自动对相应的协作者进行奖励。
2.根据权利要求1所述的方法,其特征在于:零知识证明方法生成匿名凭证包括以下步骤:
系统初始化,注册授权中心执行Setup(1λ),输出公共参数,若是素数阶q双线性映射群,/>是目标群,则存在一种映射/>于是,当g是/>的一个生成元时,那么gT=e(g,g),则是/>的一个生成元;H0,H1是两个安全加密哈希函数:/>H1:注册授权中心随机选择三个整数/>令X=gx,Y=gy,Z=gz,于是,注册授权中心的基本公钥/>为/>基本私钥/>为{x,y,z};
身份注册,基站与用户在注册授权中心中注册,注册包括步骤:
用户私钥是由用户以及注册授权中心共同生成,首先,用户选择两个整数/>并且计算/>其次,用户生成代表自己身份的零知识证明ZKPoK,/>然后,用户将包含自己身份信息的πi以及φi发送给授权中心中注册,授权中心中注册验证πi,若验证不通过则注册失败,若通过,授权中心中注册选择/>计算/>并生成用户的签名用户的私钥表示为{si,ri,sigi};
协作组构建,用户向区块链网络中发布查询任务用户将带有匿名凭证πi的查询任务发送到最近的基站,基站收集覆盖范围内有查询任务请求的用户并共同组成协作组,验证πi的正确性并解密得到协作组内用户的真实位置li和背景知识si等信息,然后计算转发概率矩阵;
协作转发,基站获得用户的查询内容ci、协作奖励和任务时间ti,假设请求者为ui,经过计算P输出的对应协作者为uj;引入一个唯一的令牌/>其中,a是用户的私钥,b是依据交易账单类型的哈希值,基站生成一笔协作转发交易调用智能合约,基站将ui的协作奖励锁定在智能合约中,承诺一旦验证协作者uj转发成功,则将奖励发给uj,利用临时的区块链地址,并在与区块链交互时生成匿名凭证PoCF,用户利用私钥(si,ri,sigi)生成盲签名,用户随机选择两个数字/>并且计算盲签名其中,/>然后,用户计算/>其中,/> 上传到区块链中,基站计算v,用户身份的验证过程转化为检验零知识证明ZKPoK凭证,表达式为:
4.根据权利要求3所述的方法,其特征在于:零知识证明方法生成匿名凭证还包括以下步骤:
奖励分配,基站根据转发规则将CT中查询内容转发给相应的协作者uj通过区块链下载新的协作转发账单,利用RSA私钥解密得到查询内容,返回查询结果给请求者,生成一笔响应交易账单,根据智能合约中验证及奖励分配算法的结果,自动对相应的协作者进行奖励。
5.根据权利要求4所述的方法,其特征在于,所述响应交易账单生成包括以下步骤:
uj生成匿名凭证ZKPoKπj的表达式为:
uj:bj=H0(ri||αi||αj),fi=H1(F(si,hci))
uj从新的区块链中下载协作转发,非对称解密后得到查询内容,表达式为:
uj→blockchain:
基站分别将请求者协作转发和协作者的响应交易账单上的匿名凭证提交给区块链,请求者在提交协作转发交易时缴纳保证金,若在协作过程中未发现恶意行为,此保证金将退还给请求者。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310040309.2A CN115801260B (zh) | 2023-01-13 | 2023-01-13 | 一种不可信网络环境下区块链辅助的协作式攻防博弈方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310040309.2A CN115801260B (zh) | 2023-01-13 | 2023-01-13 | 一种不可信网络环境下区块链辅助的协作式攻防博弈方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115801260A CN115801260A (zh) | 2023-03-14 |
CN115801260B true CN115801260B (zh) | 2023-06-20 |
Family
ID=85428972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310040309.2A Active CN115801260B (zh) | 2023-01-13 | 2023-01-13 | 一种不可信网络环境下区块链辅助的协作式攻防博弈方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115801260B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116488826B (zh) * | 2023-04-27 | 2024-02-06 | 北京熠智科技有限公司 | 一种支持隐私保护的链上同步博弈方法及存储介质 |
CN116521784B (zh) * | 2023-05-06 | 2023-10-10 | 广州银汉科技有限公司 | 基于u3d的可视化工作流框架生成方法 |
CN117425154B (zh) * | 2023-10-19 | 2024-06-14 | 南京邮电大学 | 位置隐私保护的雷达网络连通性优化与目标跟踪方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108173805B (zh) * | 2017-11-24 | 2020-12-01 | 西安电子科技大学 | 一种基于区块链的具有隐私保持的分布式匿名区协同构造方法 |
CN113595738B (zh) * | 2021-07-29 | 2022-09-02 | 南京工业大学 | 基于区块链的协作式位置隐私保护方法 |
-
2023
- 2023-01-13 CN CN202310040309.2A patent/CN115801260B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115801260A (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Toward blockchain-based fair and anonymous ad dissemination in vehicular networks | |
US11861606B2 (en) | Blockchain system for confidential and anonymous smart contracts | |
CN110599261B (zh) | 一种基于能源区块链的电动汽车安全电力交易和激励系统 | |
CN115801260B (zh) | 一种不可信网络环境下区块链辅助的协作式攻防博弈方法 | |
Karame et al. | Bitcoin and blockchain security | |
CN107528835B (zh) | 一种基于安全的智能合约k-匿名激励机制的用户隐私保护方法 | |
Valenta et al. | Blindcoin: Blinded, accountable mixes for bitcoin | |
US20170344983A1 (en) | BIXCoin: A Secure Peer-to-Peer Payment System Based on the Public Payments Ledger | |
CN110612547A (zh) | 一种用于信息保护的系统和方法 | |
Zhu et al. | Hybrid blockchain design for privacy preserving crowdsourcing platform | |
Cheng et al. | A survey of security threats and defense on Blockchain | |
Radi et al. | Privacy-preserving electric vehicle charging for peer-to-peer energy trading ecosystems | |
CN110677395B9 (zh) | 基于安全且具备隐私保护的激励方法及实时地图更新系统 | |
CN114565386A (zh) | 多方协同隐私保护的区块链托管交易方法及系统 | |
CN113393225B (zh) | 数字货币加密支付方法及系统 | |
CN111260348B (zh) | 一种车联网中基于智能合约的公平支付系统及其工作方法 | |
CN112232828A (zh) | 一种电网数据交易方法、系统 | |
Li et al. | Nereus: Anonymous and secure ride-hailing service based on private smart contracts | |
CN116319072B (zh) | 一种基于区块链技术的认证和分级访问控制一体化方法 | |
CN112418834A (zh) | 比特币兼容的支持链下交易的安全混币处理方法及系统 | |
CN116664298A (zh) | 基于区块链的去中心化数据交易系统的实现方法和装置 | |
Sakho et al. | Privacy protection issues in blockchain technology | |
Kuntze et al. | Employing trusted computing for the forward pricing of pseudonyms in reputation systems | |
CN111327425B (zh) | 一种基于比特币的车辆信息安全广播激励系统及其工作方法 | |
CN117592991B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |