CN116015667B - 基于区块链访问可控的公开可追责匿名认证方法、系统和介质 - Google Patents
基于区块链访问可控的公开可追责匿名认证方法、系统和介质 Download PDFInfo
- Publication number
- CN116015667B CN116015667B CN202211546778.3A CN202211546778A CN116015667B CN 116015667 B CN116015667 B CN 116015667B CN 202211546778 A CN202211546778 A CN 202211546778A CN 116015667 B CN116015667 B CN 116015667B
- Authority
- CN
- China
- Prior art keywords
- authentication
- authentication token
- public
- attribute
- message
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012545 processing Methods 0.000 claims description 62
- 230000006870 function Effects 0.000 claims description 46
- 238000012795 verification Methods 0.000 claims description 20
- 238000010276 construction Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于区块链访问可控的公开可追责匿名认证方法、系统和介质,该方法包括下述步骤:构建主公私钥对,设定访问策略,并将主公钥和访问策略到区块链;获取主私钥和属性集合,生成与属性集合所对应的属性秘钥;构建对消息的认证令牌,认证令牌包括链接标签和追踪标签,并将认证令牌上传到区块链;验证认证令牌的有效性;获取两个消息及其对应的认证令牌,检测认证令牌所对应的链接标签是否相同,判定两个认证令牌是否由同一个用户生成;获取链接标签相同的两个消息和认证令牌组合,根据认证令牌所对应的追踪标签,计算出生成该认证令牌所对应的用户身份。本发明既可以实现匿名下的访问控制,又能进一步实现公开可追责。
Description
技术领域
本发明涉及匿名认证技术领域,具体涉及一种基于区块链访问可控的公开可追责匿名认证方法、系统和介质。
背景技术
随着网络与信息的发展,用户更倾向于在网络上参与特定的社会活动,而线上的认证服务可以提供验证用户身份的功能,但与此同时会更加涉及到用户的隐私。匿名认证能避免用户的隐私泄露,比如,群签名、环签名、匿名凭证等方案,能有效达到认证和匿名的目的。基于属性的签名允许属性满足签名策略的用户生成有效的签名,基于属性的匿名凭证允许属性满足特定策略的用户生成有效的证明,这两种方案能在匿名认证的基础上进一步保证访问控制。虽然属性基加密也能达到访问控制的目的,但是需要额外的加密和解密操作,过程复杂。更进一步地,为了达到访问控制下的可追责的目的,可追踪的基于属性的签名、可追踪的基于属性的匿名凭证能通过引入可信第三方,完成对某用户的追踪,但是该追踪不是公开可追踪的。
因此,亟需提供一种基于区块链访问可控的公开可追责匿名认证方法。
发明内容
为了克服现有技术存在的缺陷与不足,本发明提供一种基于区块链访问可控的公开可追责匿名认证方法,该方法既可以实现匿名下的访问控制,又能进一步实现公开可追责;
本发明的第二目的在于提供一种基于区块链访问可控的公开可追责匿名认证系统;
本发明的第三目的在于提供一种计算机可读存储介质;
为了达到上述目的,本发明采用以下技术方案:
本发明提供一种基于区块链访问可控的公开可追责匿名认证方法,包括下述步骤:
基于ABS处理生成公开参数和主私钥,基于ZK处理生成公共参考串,设定第一哈希函数和第二哈希函数,基于公开参数、公共参考串、第一哈希函数和第二哈希函数构建主公钥,设定访问策略,并将主公钥和访问策略上传到区块链;
获取主私钥和属性集合,基于ABS处理生成与属性集合所对应的属性秘钥;
获取消息、属性秘钥、属性集合、访问策略和主公钥,基于认证算法构建对消息的认证令牌,所述认证令牌包括链接标签和追踪标签,并将认证令牌上传到区块链;
获取消息、认证令牌、访问策略和主公钥,基于ZK处理验证认证令牌的有效性;
获取任意两个消息及其对应的认证令牌,检测认证令牌所对应的链接标签是否相同,判定两个认证令牌是否由同一个用户生成;
获取链接标签相同的任意两个消息和认证令牌组合,根据认证令牌所对应的追踪标签,计算出生成该认证令牌所对应的用户身份。
作为优选的技术方案,所述基于ABS处理生成公开参数和主私钥,具体进行ABS处理的ABS.Setup(1λ)操作,ABS.Setup表示ABS处理的设置算法,用于初始化ABS处理,λ表示安全参数;
所述基于ZK处理生成公共参考串,具体进行ZK处理的ZK.Setup(1λ)操作,ZK.Setup表示ZK处理的设置操作,用于初始化ZK处理,λ表示安全参数;
所述第一哈希函数表示为:H1:{0,1}*×{0,1}*→$,所述第二哈希函数表示为:H2:{0,1}*×{0,1}*→$,其中,$表示属性空间;
所述主公钥表示为:mpk=(apk,crs,H1,H2),其中,apk表示公开参数,crs表示公共参考串。
作为优选的技术方案,获取主私钥和属性集合,基于ABS处理生成与属性集合所对应的属性秘钥,具体包括:
属性集合表示为:Su={id,s1,...,sn},其中,id表示描述用户身份的属性;
具体进行ABS处理的ABS.KeyGen(msk,Su)操作,ABS.KeyGen表示ABS处理属性秘钥生成算法,为用户u生成与属性集合Su所对应的属性秘钥,msk表示主私钥。
作为优选的技术方案,基于认证算法构建对消息的认证令牌,具体表示为:
Auth(M=e||m,skSu,Su,Λ,mpk)
其中,Auth表示认证算法,M表示消息,e表示事件识别符,m表示消息的负载,||表示连接符,skSu表示属性秘钥,Su表示属性集合,Λ表示访问策略,mpk表示主公钥。
作为优选的技术方案,所述认证令牌表示为:
其中,表示链接标签,/>表示追踪标签,ηi表示证明,i表示正整数;
链接标签具体表示为:/>其中,H1表示第一哈希函数,e表示事件识别符,skSu表示属性秘钥;
追踪标签具体表示为:/>其中,H2表示第二哈希函数,id表示描述用户身份的属性,m表示消息的负载,||表示连接符;
证明ηi具体表示为:
基于ABS处理的ABS.Sign(M,Λ,skSu)操作,生成对消息的签名σi,其中,M表示消息,Λ表示访问策略;
令为声明,w=(Su,skSu,σi)为证据,对于NP语言/>
运行ZK处理的ZK.Prover(x,w,crs)操作生成证明ηi,其中,∧表示逻辑与,mpk表示主私钥,Su表示属性集合,ABS.Verify表示ABS处理的验证算法,用于验证签名的有效性,ZK.Prover表示ZK处理的证明操作,用于生成证明。
作为优选的技术方案,基于ZK处理验证认证令牌的有效性,具体进行ZK处理的ZK.Verifier(x,πi,crs)操作,输出0或1以验证认证令牌是否有效,0表示验证失败,1表示验证通过,其中,x表示声明,πi表示认证令牌,crs表示公共参考串。
作为优选的技术方案,获取任意两个消息及其对应的认证令牌,检测认证令牌所对应的链接标签是否相同,判定两个认证令牌是否由同一个用户生成,具体包括:
任意两个消息及其对应的认证令牌表示为(M,πi)和(M’,πj),其中,M和M’分别为两个不同的消息,和/>分别是消息M和消息M’的认证令牌;
检测两个认证令牌πi、πj中对应的链接标签和/>是否相等,若/>则输出1,表示πi和πj是由同一个用户生成的,即同一用户认证两次;否则,输出0,表示πi和πj不是由同一个用户生成的;
其中,表示认证令牌πi中的链接标签,/>表示认证令牌πi中的追踪标签,ηi表示认证令牌πi中的证明,/>表示认证令牌πj中的链接标签,/>表示认证令牌πj中的追踪标签,ηj表示认证令牌πj中的证明。
作为优选的技术方案,获取链接标签相同的任意两个消息和认证令牌组合,根据认证令牌所对应的追踪标签,计算出生成该认证令牌所对应的用户身份,具体包括:
根据两个认证令牌πi和πj中对应的追踪标签和追踪标签/>计算出认证达到两次的用户的身份,输出/>其中,/>
其中,m和m’分别表示对应消息M和消息M’的负载,H2表示第二哈希函数,skSu表示属性秘钥,||表示连接符。
为了达到上述第二目的,本发明采用以下技术方案:
一种基于区块链访问可控的公开可追责匿名认证系统,包括:主公私钥对构建模块、公共参考串生成模块、哈希函数设定模块、访问策略设定模块、属性秘钥构建模块、认证令牌构建模块、数据上传模块、认证令牌有效性验证模块、用户重复认证检测模块、重复认证用户追踪模块;
所述主公私钥对构建模块用于构建主公私钥对,基于ABS处理生成公开参数和主私钥,基于公开参数、公共参考串、第一哈希函数和第二哈希函数构建主公钥;
所述公共参考串生成模块用于基于ZK处理生成公共参考串;
所述哈希函数设定模块用于设定第一哈希函数和第二哈希函数;
所述访问策略设定模块用于设定访问策略;
所述属性秘钥构建模块用于获取主私钥和属性集合,基于ABS处理生成与属性集合所对应的属性秘钥;
所述认证令牌构建模块用于获取消息、属性秘钥、属性集合、访问策略和主公钥,基于认证算法构建对消息的认证令牌,所述认证令牌包括链接标签和追踪标签;
所述数据上传模块用于将主公钥和访问策略上传到区块链,将认证令牌上传到区块链;
所述认证令牌有效性验证模块用于获取消息、认证令牌、访问策略和主公钥,基于ZK处理验证认证令牌的有效性;
所述用户重复认证检测模块用于获取任意两个消息及其对应的认证令牌,检测认证令牌所对应的链接标签是否相同,判定两个认证令牌是否由同一个用户生成;
所述重复认证用户追踪模块用于获取链接标签相同的任意两个消息和认证令牌组合,根据认证令牌所对应的追踪标签,计算出生成该认证令牌所对应的用户身份。
为了达到上述第三目的,本发明采用以下技术方案:
一种计算机可读存储介质,存储有程序,所述程序被处理器执行时实现上述基于区块链访问可控的公开可追责匿名认证方法。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明针对当前匿名认证方案的访问控制需求,以基于属性的签名(ABS)方案作为基础构件,通过设置认证策略以达到访问控制的目的,保证了只有属性满足认证策略的用户才能生成有效的匿名认证,即达到了匿名下的访问控制的效果;
(2)本发明采用了ABS的技术方案,与属性基加密的认证方案相比,本发明把消息的签名过程嵌入到认证过程,避免了属性基加密相关的认证方案中加密和解密的复杂过程,简化了操作流程,达到了过程简单、操作方便的技术效果。
(3)本发明针对当前认证方案的隐私保护和可验证的需求,以零知识简洁的非交互知识论证(ZK)方案作为基础构件,使得只有属性满足认证策略的用户才能生成对于其认证的有效证明,并允许任何人验证该证明的正确性,与此同时,该证明不泄露用户的身份信息,从而达到保护隐私和验证认证结果的效果;
(4)本发明针对当前基于访问控制的匿名认证方案的公开可追责的需求,允许任何人根据公开数据就可判断任意两个认证是否由同一用户生成,并允许任何人通过公开数据推断出在同一个认证事件中认证了两次的用户的身份,实现了公开可链接和可追踪的效果。
(5)本发明只要满足所需的任意一个ABS方案和任意一个ZK方案,就能达到实例化的目的,并实现简易化、实用化和易于推广的效果。
附图说明
图1为本发明基于区块链访问可控的公开可追责匿名认证方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
如图1所示,本实施例提供一种基于区块链访问可控的公开可追责匿名认证方法,包括下述步骤:
S1:基于ABS处理生成公开参数和主私钥,基于ZK处理生成公共参考串,设定第一哈希函数和第二哈希函数,基于公开参数、公共参考串、第一哈希函数和第二哈希函数构建主公钥,设定访问策略,并将主公钥和访问策略上传到区块链;
具体步骤包括:
获取安全参数λ,进行ABS处理的ABS.Setup(1λ)操作,生成公开参数apk和主私钥ask,进行ZK处理的ZK.Setup(1λ)操作,生成公共参考串crs;
设定第一哈希(Hash)函数H1:{0,1}*×{0,1}*→$,以及第二哈希函数H2:{0,1}*×{0,1}*→$,其中,$表示属性空间;
构建主公钥mpk=(apk,crs,H1,H2),主私钥msk=ask,设定访问策略Λ,并将主公钥mpk和访问策略Λ上传到区块链;
S2:获取主私钥和属性集合,基于ABS处理生成与属性集合所对应的属性秘钥;
获取主私钥msk和属性集合Su={id,s1,...,sn},其中,id表示描述用户身份的属性,n表示正整数,对应属性的个数,进行ABS处理的ABS.KeyGen(msk,Su)操作,为用户u生成与属性集合Su所对应的属性秘钥skSu;
S3:获取消息、属性秘钥、属性集合、访问策略和主公钥,基于认证算法构建对消息的认证令牌,基于第一哈希函数构建链接标签,基于第二哈希函数构建追踪标签,并将认证令牌上传到区块链;
获取消息M=e||m、属性秘钥skSu、属性集合Su、访问策略Λ和主公钥mpk,基于认证算法Auth(M=e||m,skSu,Su,Λ,mpk)生成对消息的认证令牌,其中,e表示事件识别符,m是消息M的负载,||表示连接符;
具体包括:
基于ABS处理的操作,生成对消息M的签名σi;
计算链接标签追踪标签/>
令为声明,w=(Su,skSu,σi)为证据,对于NP语言/> 运行ZK处理的ZK.Prover(x,w,crs)操作生成证明ηi,其中,∧表示逻辑与;
输出认证令牌并将其上传到区块链;
S4:获取消息、认证令牌、访问策略和主公钥,基于ZK处理验证认证令牌的有效性;
获取消息M、认证令牌πi、访问策略Λ和主公钥mpk,进行ZK处理的ZK.Verifier(x,πi,crs)操作,输出0或1以验证认证令牌是否有效,其中,0表示验证失败,1表示验证通过。
S5:获取任意两组消息及其对应的认证令牌,检测认证令牌所对应的链接标签是否相同,判定两个认证令牌是否由同一个用户生成;
输入任意两组消息和其认证令牌的组合,即(M,πi)和(M’,πj),其中,M和M’分别为两个不同的消息,和/>分别是M和M’的认证令牌;
检测两个认证令牌πi、πj中对应的链接标签和/>是否相等,若/>则输出1,表示πi和πj是由同一个用户生成的,即同一用户认证两次;否则,输出0,表示πi和πj不是由同一个用户生成的。其中,/>表示认证令牌πi中的链接标签,/>表示认证令牌πi中的追踪标签,ηi表示认证令牌πi中的证明,/>表示认证令牌πj中的链接标签,/>表示认证令牌πj中的追踪标签,ηj表示认证令牌πj中的证明。
S6:获取由同一个用户生成的认证令牌和消息组合,根据认证令牌所对应的追踪标签,计算出同一个用户生成的认证令牌所对应的用户身份;
输入链接算法输出为1的两个有效的消息和认证令牌组合(M,πi)和(M’,πj),根据两个认证令牌πi和πj中对应的追踪标签和/>计算出认证达到两次的用户的身份,输出其中,/>
在本实施例中,ABS=(ABS.Setup,ABS.KeyGen,ABS.Sign,ABS.Verify)为基于属性的签名(ABS)处理,其中,ABS.Setup是ABS处理的设置算法,用于初始化ABS处理,具体为ABS.Setup(1λ),输入安全参数λ,输出公开参数apk和私钥ask;ABS.KeyGen是ABS处理的属性秘钥生成算法,用于属性秘钥的生成,具体为ABS.KeyGen(Su,ask),输入用户u的属性集合Su={id,s1,...,sn}和私钥ask,输出用户u的属性秘钥skSu;ABS.Sign是ABS处理的签名算法,用于生成一个对消息的签名,具体为ABS.Sign(M,Λ,skSu),输入消息M、策略Λ和属性秘钥skSu,输出签名σi;ABS.Verify是ABS处理的验证算法,用于验证签名的有效性,具体为ABS.Verify(M,Λ,σi),输入消息M、策略Λ和签名σi,输出验证结果0或1;其中,i是正整数。
在本实施例中,ZK=(ZK.Setup,ZK.Prover,ZK.Verifier)为zk-SNARK处理;其中,ZK.Setup是ZK处理的设置操作,用于初始化ZK处理;具体为ZK.Setup(1λ),输入安全参数λ,输出公共参考串crs;ZK.Prover是ZK处理的证明操作,用于生成证明,具体为ZK.Prover(x,w,crs),输入声明x、秘密w和公共参考串crs,输出证明η;ZK.Verifier是ZK处理的验证操作,用于验证证明;具体为ZK.Verifier(x,η,crs),输入声明x、证明η和公共参考字符串crs,输出验证结果0或1,其中,0表示验证失败,1表示验证通过。
本实施例的基于区块链访问可控的公开可追责匿名认证方法,主要适用于一对多的场景,即一个证书权威机构、多个验证者和多个用户。具体来说,首先,由证书权威机构运行Setup算法,证书权威机构执行KeyGen算法;然后,用户运行Auth算法对消息进行认证;最后,验证者运行Verify算法、Link算法和Trace算法。
本发明所提出的基于区块链访问可控的公开可追责匿名认证方法,既可以实现访问控制、保证用户隐私,还能进一步实现允许任何人可执行的公开可追责。
实施例2
本实施例提供一种基于区块链访问可控的公开可追责匿名认证系统,包括:主公私钥对构建模块、公共参考串生成模块、哈希函数设定模块、访问策略设定模块、属性秘钥构建模块、认证令牌构建模块、数据上传模块、认证令牌有效性验证模块、用户重复认证检测模块、重复认证用户追踪模块;
在本实施例中,主公私钥对构建模块用于构建主公私钥对,基于ABS处理生成公开参数和主私钥,基于公开参数、公共参考串、第一哈希函数和第二哈希函数构建主公钥;
在本实施例中,公共参考串生成模块用于基于ZK处理生成公共参考串;
在本实施例中,哈希函数设定模块用于设定第一哈希函数和第二哈希函数;
在本实施例中,访问策略设定模块用于设定访问策略;
在本实施例中,属性秘钥构建模块用于获取主私钥和属性集合,基于ABS处理生成与属性集合所对应的属性秘钥;
在本实施例中,认证令牌构建模块用于获取消息、属性秘钥、属性集合、访问策略和主公钥,基于认证算法构建对消息的认证令牌;
在本实施例中,数据上传模块用于将主公钥和访问策略上传到区块链,将认证令牌上传到区块链;
在本实施例中,认证令牌有效性验证模块用于获取消息、认证令牌、访问策略和主公钥,基于ZK处理验证认证令牌的有效性;
在本实施例中,用户重复认证检测模块用于获取任意两组消息及其对应的认证令牌,检测认证令牌所对应的链接标签是否相同,判定两个认证令牌是否由同一个用户生成;
在本实施例中,重复认证用户追踪模块用于获取由同一个用户生成的认证令牌和消息组合,根据认证令牌所对应的追踪标签,计算出同一个用户生成的认证令牌所对应的用户身份。
实施例3
本实施例提供一种存储介质,存储介质可以是ROM、RAM、磁盘、光盘等储存介质,该存储介质存储有一个或多个程序,程序被处理器执行时,实现实施例1的基于区块链访问可控的公开可追责匿名认证方法。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (8)
1.一种基于区块链访问可控的公开可追责匿名认证方法,其特征在于,包括下述步骤:
基于ABS处理生成公开参数和主私钥,基于ZK处理生成公共参考串,设定第一哈希函数和第二哈希函数,基于公开参数、公共参考串、第一哈希函数和第二哈希函数构建主公钥,设定访问策略,并将主公钥和访问策略上传到区块链;
获取主私钥和属性集合,基于ABS处理生成与属性集合所对应的属性秘钥;
获取消息、属性秘钥、属性集合、访问策略和主公钥,基于认证算法构建对消息的认证令牌,所述认证令牌包括链接标签和追踪标签,并将认证令牌上传到区块链;
所述认证令牌表示为:
其中,表示链接标签,/>表示追踪标签,ηi表示证明,i表示正整数;
链接标签具体表示为:/>其中,H1表示第一哈希函数,e表示事件识别符,skSu表示属性秘钥;
追踪标签具体表示为:/>其中,H2表示第二哈希函数,id表示描述用户身份的属性,m表示消息的负载,||表示连接符;
证明ηi具体表示为:
基于ABS处理的ABS.Sign(M,Λ,skSu)操作,生成对消息的签名σi,其中,M表示消息,Λ表示访问策略;
令为声明,w=(Su,skSu,σi)为证据,对于NP语言/> 运行ZK处理的ZK.Prover(x,w,crs)操作生成证明ηi,其中,∧表示逻辑与,mpk表示主私钥,Su表示属性集合,ABS.Verify表示ABS处理的验证算法,用于验证签名的有效性,ZK.Prover表示ZK处理的证明操作,用于生成证明;
获取消息、认证令牌、访问策略和主公钥,基于ZK处理验证认证令牌的有效性;
获取任意两个消息及其对应的认证令牌,检测认证令牌所对应的链接标签是否相同,判定两个认证令牌是否由同一个用户生成;
获取任意两个消息及其对应的认证令牌,检测认证令牌所对应的链接标签是否相同,判定两个认证令牌是否由同一个用户生成,具体包括:
任意两个消息及其对应的认证令牌表示为(M,πi)和(M’,πj),其中,M和M’分别为两个不同的消息,和/>分别是消息M和消息M’的认证令牌;
检测两个认证令牌πi、πj中对应的链接标签和/>是否相等,若/>则输出1,表示πi和πj是由同一个用户生成的,即同一用户认证两次;否则,输出0,表示πi和πj不是由同一个用户生成的;
其中,表示认证令牌πi中的链接标签,/>表示认证令牌πi中的追踪标签,ηi表示认证令牌πi中的证明,/>表示认证令牌πj中的链接标签,/>表示认证令牌πj中的追踪标签,ηj表示认证令牌πj中的证明;
获取链接标签相同的任意两个消息和认证令牌组合,根据认证令牌所对应的追踪标签,计算出生成该认证令牌所对应的用户身份。
2.根据权利要求1所述的基于区块链访问可控的公开可追责匿名认证方法,其特征在于,所述基于ABS处理生成公开参数和主私钥,具体进行ABS处理的ABS.Setup(1λ)操作,ABS.Setup表示ABS处理的设置算法,用于初始化ABS处理,λ表示安全参数;
所述基于ZK处理生成公共参考串,具体进行ZK处理的ZK.Setup(1λ)操作,ZK.Setup表示ZK处理的设置操作,用于初始化ZK处理,λ表示安全参数;
所述第一哈希函数表示为:H1:{0,1}*×{0,1}*→$,所述第二哈希函数表示为:H2:{0,1}*×{0,1}*→$,其中,$表示属性空间;
所述主公钥表示为:mpk=(apk,crs,H1,H2),其中,apk表示公开参数,crs表示公共参考串。
3.根据权利要求1所述的基于区块链访问可控的公开可追责匿名认证方法,其特征在于,获取主私钥和属性集合,基于ABS处理生成与属性集合所对应的属性秘钥,具体包括:
属性集合表示为:Su={id,s1,...,sn},其中,id表示描述用户身份的属性;
具体进行ABS处理的ABS.KeyGen(msk,Su)操作,ABS.KeyGen表示ABS处理属性秘钥生成算法,为用户u生成与属性集合Su所对应的属性秘钥,msk表示主私钥。
4.根据权利要求1所述的基于区块链访问可控的公开可追责匿名认证方法,其特征在于,基于认证算法构建对消息的认证令牌,具体表示为:
Auth(M=e||m,skSu,Su,Λ,mpk)
其中,Auth表示认证算法,M表示消息,e表示事件识别符,m表示消息的负载,||表示连接符,skSu表示属性秘钥,Su表示属性集合,Λ表示访问策略,mpk表示主公钥。
5.根据权利要求1所述的基于区块链访问可控的公开可追责匿名认证方法,其特征在于,基于ZK处理验证认证令牌的有效性,具体进行ZK处理的ZK.Verifier(x,πi,crs)操作,输出0或1以验证认证令牌是否有效,0表示验证失败,1表示验证通过,其中,x表示声明,πi表示认证令牌,crs表示公共参考串。
6.根据权利要求1所述的基于区块链访问可控的公开可追责匿名认证方法,其特征在于,获取链接标签相同的任意两个消息和认证令牌组合,根据认证令牌所对应的追踪标签,计算出生成该认证令牌所对应的用户身份,具体包括:
根据两个认证令牌πi和πj中对应的追踪标签和追踪标签/>计算出认证达到两次的用户的身份,输出/>其中,/>
其中,m和m’分别表示对应消息M和消息M’的负载,H2表示第二哈希函数,skSu表示属性秘钥,||表示连接符。
7.一种基于区块链访问可控的公开可追责匿名认证系统,其特征在于,包括:主公私钥对构建模块、公共参考串生成模块、哈希函数设定模块、访问策略设定模块、属性秘钥构建模块、认证令牌构建模块、数据上传模块、认证令牌有效性验证模块、用户重复认证检测模块、重复认证用户追踪模块;
所述主公私钥对构建模块用于构建主公私钥对,基于ABS处理生成公开参数和主私钥,基于公开参数、公共参考串、第一哈希函数和第二哈希函数构建主公钥;
所述公共参考串生成模块用于基于ZK处理生成公共参考串;
所述哈希函数设定模块用于设定第一哈希函数和第二哈希函数;
所述访问策略设定模块用于设定访问策略;
所述属性秘钥构建模块用于获取主私钥和属性集合,基于ABS处理生成与属性集合所对应的属性秘钥;
所述认证令牌构建模块用于获取消息、属性秘钥、属性集合、访问策略和主公钥,基于认证算法构建对消息的认证令牌,所述认证令牌包括链接标签和追踪标签;
所述认证令牌表示为:
其中,表示链接标签,/>表示追踪标签,ηi表示证明,i表示正整数;
链接标签具体表示为:/>其中,H1表示第一哈希函数,e表示事件识别符,skSu表示属性秘钥;
追踪标签具体表示为:/>其中,H2表示第二哈希函数,id表示描述用户身份的属性,m表示消息的负载,||表示连接符;
证明ηi具体表示为:
基于ABS处理的ABS.Sign(M,Λ,skSu)操作,生成对消息的签名σi,其中,M表示消息,Λ表示访问策略;
令为声明,w=(Su,skSu,σi)为证据,对于NP语言/> 运行ZK处理的ZK.Prover(x,w,crs)操作生成证明ηi,其中,∧表示逻辑与,mpk表示主私钥,Su表示属性集合,ABS.Verify表示ABS处理的验证算法,用于验证签名的有效性,ZK.Prover表示ZK处理的证明操作,用于生成证明;
所述数据上传模块用于将主公钥和访问策略上传到区块链,将认证令牌上传到区块链;
所述认证令牌有效性验证模块用于获取消息、认证令牌、访问策略和主公钥,基于ZK处理验证认证令牌的有效性;
所述用户重复认证检测模块用于获取任意两个消息及其对应的认证令牌,检测认证令牌所对应的链接标签是否相同,判定两个认证令牌是否由同一个用户生成;
获取任意两个消息及其对应的认证令牌,检测认证令牌所对应的链接标签是否相同,判定两个认证令牌是否由同一个用户生成,具体包括:
任意两个消息及其对应的认证令牌表示为(M,πi)和(M’,πj),其中,M和M’分别为两个不同的消息,和/>分别是消息M和消息M’的认证令牌;
检测两个认证令牌πi、πj中对应的链接标签和/>是否相等,若/>则输出1,表示πi和πj是由同一个用户生成的,即同一用户认证两次;否则,输出0,表示πi和πj不是由同一个用户生成的;
其中,表示认证令牌πi中的链接标签,/>表示认证令牌πi中的追踪标签,ηi表示认证令牌πi中的证明,/>表示认证令牌πj中的链接标签,/>表示认证令牌πj中的追踪标签,ηj表示认证令牌πj中的证明;
所述重复认证用户追踪模块用于获取链接标签相同的任意两个消息和认证令牌组合,根据认证令牌所对应的追踪标签,计算出生成该认证令牌所对应的用户身份。
8.一种计算机可读存储介质,存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6任一项所述基于区块链访问可控的公开可追责匿名认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211546778.3A CN116015667B (zh) | 2022-12-05 | 2022-12-05 | 基于区块链访问可控的公开可追责匿名认证方法、系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211546778.3A CN116015667B (zh) | 2022-12-05 | 2022-12-05 | 基于区块链访问可控的公开可追责匿名认证方法、系统和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116015667A CN116015667A (zh) | 2023-04-25 |
CN116015667B true CN116015667B (zh) | 2024-05-07 |
Family
ID=86028833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211546778.3A Active CN116015667B (zh) | 2022-12-05 | 2022-12-05 | 基于区块链访问可控的公开可追责匿名认证方法、系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116015667B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110224993A (zh) * | 2019-05-16 | 2019-09-10 | 暨南大学 | 基于区块链的可追责匿名电子投票方法及系统 |
CN112600851A (zh) * | 2020-12-21 | 2021-04-02 | 暨南大学 | 面向事件的可链接可追踪的匿名认证方法 |
CN112839046A (zh) * | 2021-01-14 | 2021-05-25 | 暨南大学 | 基于区块链的可追踪的匿名众包方法及系统 |
WO2022174933A1 (en) * | 2021-02-19 | 2022-08-25 | NEC Laboratories Europe GmbH | User-controlled linkability of anonymous signature schemes |
-
2022
- 2022-12-05 CN CN202211546778.3A patent/CN116015667B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110224993A (zh) * | 2019-05-16 | 2019-09-10 | 暨南大学 | 基于区块链的可追责匿名电子投票方法及系统 |
CN112600851A (zh) * | 2020-12-21 | 2021-04-02 | 暨南大学 | 面向事件的可链接可追踪的匿名认证方法 |
CN112839046A (zh) * | 2021-01-14 | 2021-05-25 | 暨南大学 | 基于区块链的可追踪的匿名众包方法及系统 |
WO2022174933A1 (en) * | 2021-02-19 | 2022-08-25 | NEC Laboratories Europe GmbH | User-controlled linkability of anonymous signature schemes |
Non-Patent Citations (1)
Title |
---|
LaT-Voting: Traceable Anonymous E-Voting on Blockchain;Lai, Junzuo等;《Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics》;20191231;第11928卷;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116015667A (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325331B (zh) | 基于区块链和可信计算平台的大数据采集交易系统 | |
CN107967557B (zh) | 基于区块链的可修改信誉评价系统及方法、电子支付系统 | |
Chen et al. | XAuth: Efficient privacy-preserving cross-domain authentication | |
CN110278082B (zh) | 一种群组数字签名的群组成员发布方法和设备 | |
CN113221089A (zh) | 基于可验证声明的隐私保护属性认证系统及方法 | |
CN112600675B (zh) | 基于群签名的电子投票方法及装置、电子设备、存储介质 | |
CN113360943A (zh) | 一种区块链隐私数据的保护方法及装置 | |
CN109104410B (zh) | 一种信息的匹配方法及装置 | |
CN112839046A (zh) | 基于区块链的可追踪的匿名众包方法及系统 | |
Addobea et al. | Secure multi-factor access control mechanism for pairing blockchains | |
CN112600851B (zh) | 面向事件的可链接可追踪的匿名认证方法 | |
Meshram et al. | An efficient remote user authentication with key agreement procedure based on convolution-Chebyshev chaotic maps using biometric | |
Yanhui et al. | Research on identity authentication system of Internet of Things based on blockchain technology | |
CN116015667B (zh) | 基于区块链访问可控的公开可追责匿名认证方法、系统和介质 | |
Wang et al. | A novel blockchain identity authentication scheme implemented in fog computing | |
CN112600850B (zh) | 可追踪的基于属性的匿名认证方法、系统及存储介质 | |
Chen et al. | SeCrowd: Efficient secure interactive crowdsourcing via permission-based signatures | |
Wang et al. | Linking Souls to Humans with ZKBID: Accountable Anonymous Blockchain Accounts for Web 3.0 Decentralized Identity | |
Yang et al. | Cryptanalysis of a transaction scheme with certificateless cryptographic primitives for IoT-based mobile payments | |
CN115952483A (zh) | 匿名可追踪身份认证方法及装置 | |
Qin et al. | A distributed authentication scheme based on zero-knowledge proof | |
CN113159774A (zh) | 一种区块链中可监管零知识证明验证方法及系统 | |
CN113326527A (zh) | 一种基于区块链的可信数字签名系统及方法 | |
CN112699395A (zh) | 细粒度访问控制的可追责的基于属性的匿名认证方法 | |
CN115085945B (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 |