当前位置: 首页 > 专利查询>暨南大学专利>正文

基于区块链访问可控的公开可追责匿名认证方法、系统和介质技术方案

技术编号:37386144 阅读:19 留言:0更新日期:2023-04-27 07:26
本发明专利技术公开了一种基于区块链访问可控的公开可追责匿名认证方法、系统和介质,该方法包括下述步骤:构建主公私钥对,设定访问策略,并将主公钥和访问策略到区块链;获取主私钥和属性集合,生成与属性集合所对应的属性秘钥;构建对消息的认证令牌,认证令牌包括链接标签和追踪标签,并将认证令牌上传到区块链;验证认证令牌的有效性;获取两个消息及其对应的认证令牌,检测认证令牌所对应的链接标签是否相同,判定两个认证令牌是否由同一个用户生成;获取链接标签相同的两个消息和认证令牌组合,根据认证令牌所对应的追踪标签,计算出生成该认证令牌所对应的用户身份。本发明专利技术既可以实现匿名下的访问控制,又能进一步实现公开可追责。责。责。

【技术实现步骤摘要】
基于区块链访问可控的公开可追责匿名认证方法、系统和介质


[0001]本专利技术涉及匿名认证
,具体涉及一种基于区块链访问可控的公开可追责匿名认证方法、系统和介质。

技术介绍

[0002]随着网络与信息的发展,用户更倾向于在网络上参与特定的社会活动,而线上的认证服务可以提供验证用户身份的功能,但与此同时会更加涉及到用户的隐私。匿名认证能避免用户的隐私泄露,比如,群签名、环签名、匿名凭证等方案,能有效达到认证和匿名的目的。基于属性的签名允许属性满足签名策略的用户生成有效的签名,基于属性的匿名凭证允许属性满足特定策略的用户生成有效的证明,这两种方案能在匿名认证的基础上进一步保证访问控制。虽然属性基加密也能达到访问控制的目的,但是需要额外的加密和解密操作,过程复杂。更进一步地,为了达到访问控制下的可追责的目的,可追踪的基于属性的签名、可追踪的基于属性的匿名凭证能通过引入可信第三方,完成对某用户的追踪,但是该追踪不是公开可追踪的。
[0003]因此,亟需提供一种基于区块链访问可控的公开可追责匿名认证方法。

技术实现思路

[0004]为了克服现有技术存在的缺陷与不足,本专利技术提供一种基于区块链访问可控的公开可追责匿名认证方法,该方法既可以实现匿名下的访问控制,又能进一步实现公开可追责;
[0005]本专利技术的第二目的在于提供一种基于区块链访问可控的公开可追责匿名认证系统;
[0006]本专利技术的第三目的在于提供一种计算机可读存储介质;
[0007]为了达到上述目的,本专利技术采用以下技术方案:
[0008]本专利技术提供一种基于区块链访问可控的公开可追责匿名认证方法,包括下述步骤:
[0009]基于ABS处理生成公开参数和主私钥,基于ZK处理生成公共参考串,设定第一哈希函数和第二哈希函数,基于公开参数、公共参考串、第一哈希函数和第二哈希函数构建主公钥,设定访问策略,并将主公钥和访问策略上传到区块链;
[0010]获取主私钥和属性集合,基于ABS处理生成与属性集合所对应的属性秘钥;
[0011]获取消息、属性秘钥、属性集合、访问策略和主公钥,基于认证算法构建对消息的认证令牌,所述认证令牌包括链接标签和追踪标签,并将认证令牌上传到区块链;
[0012]获取消息、认证令牌、访问策略和主公钥,基于ZK处理验证认证令牌的有效性;
[0013]获取任意两个消息及其对应的认证令牌,检测认证令牌所对应的链接标签是否相同,判定两个认证令牌是否由同一个用户生成;
[0014]获取链接标签相同的任意两个消息和认证令牌组合,根据认证令牌所对应的追踪标签,计算出生成该认证令牌所对应的用户身份。
[0015]作为优选的技术方案,所述基于ABS处理生成公开参数和主私钥,具体进行ABS处理的ABS.Setup(1
λ
)操作,ABS.Setup表示ABS处理的设置算法,用于初始化ABS处理,λ表示安全参数;
[0016]所述基于ZK处理生成公共参考串,具体进行ZK处理的ZK.Setup(1
λ
)操作,ZK.Setup表示ZK处理的设置操作,用于初始化ZK处理,λ表示安全参数;
[0017]所述第一哈希函数表示为:H1:{0,1}
*
×
{0,1}
*

$,所述第二哈希函数表示为:H2:{0,1}
*
×
{0,1}
*

$,其中,$表示属性空间;
[0018]所述主公钥表示为:mpk=(apk,crs,H1,H2),其中,apk表示公开参数,crs表示公共参考串。
[0019]作为优选的技术方案,获取主私钥和属性集合,基于ABS处理生成与属性集合所对应的属性秘钥,具体包括:
[0020]属性集合表示为:S
u
={id,s1,...,s
n
},其中,id表示描述用户身份的属性;
[0021]具体进行ABS处理的ABS.KeyGen(msk,S
u
)操作,ABS.KeyGen表示ABS处理属性秘钥生成算法,为用户u生成与属性集合S
u
所对应的属性秘钥,msk表示主私钥。
[0022]作为优选的技术方案,基于认证算法构建对消息的认证令牌,具体表示为:
[0023]Auth(M=e||m,sk
Su
,S
u
,Λ,mpk)
[0024]其中,Auth表示认证算法,M表示消息,e表示事件识别符,m表示消息的负载,||表示连接符,sk
Su
表示属性秘钥,S
u
表示属性集合,Λ表示访问策略,mpk表示主公钥。
[0025]作为优选的技术方案,所述认证令牌表示为:
[0026][0027]其中,表示链接标签,表示追踪标签,η
i
表示证明,i表示正整数;
[0028]链接标签具体表示为:其中,H1表示第一哈希函数,e表示事件识别符,sk
Su
表示属性秘钥;
[0029]追踪标签具体表示为:其中,H2表示第二哈希函数,id表示描述用户身份的属性,m表示消息的负载,||表示连接符;
[0030]证明η
i
具体表示为:
[0031]基于ABS处理的ABS.Sign(M,Λ,sk
Su
)操作,生成对消息的签名σ
i
,其中,M表示消息,Λ表示访问策略;
[0032]令为声明,w=(S
u
,sk
Su

i
)为证据,对于NP语言)为证据,对于NP语言
[0033]运行ZK处理的ZK.Prover(x,w,crs)操作生成证明η
i
,其中,∧表示逻辑与,mpk表示主私钥,S
u
表示属性集合,ABS.Verify表示ABS处理的验证算法,用于验证签名的有效性,ZK.Prover表示ZK处理的证明操作,用于生成证明。
[0034]作为优选的技术方案,基于ZK处理验证认证令牌的有效性,具体进行ZK处理的ZK.Verifier(x,π
i
,crs)操作,输出0或1以验证认证令牌是否有效,0表示验证失败,1表示验证通过,其中,x表示声明,π
i
表示认证令牌,crs表示公共参考串。
[0035]作为优选的技术方案,获取任意两个消息及其对应的认证令牌,检测认证令牌所对应的链接标签是否相同,判定两个认证令牌是否由同一个用户生成,具体包括:
[0036]任意两个消息及其对应的认证令牌表示为(M,π
i
)和(M


j
),其中,M和M

分别为两个不同的消息,和分别是消息M和消息M

的认证令牌;
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链访问可控的公开可追责匿名认证方法,其特征在于,包括下述步骤:基于ABS处理生成公开参数和主私钥,基于ZK处理生成公共参考串,设定第一哈希函数和第二哈希函数,基于公开参数、公共参考串、第一哈希函数和第二哈希函数构建主公钥,设定访问策略,并将主公钥和访问策略上传到区块链;获取主私钥和属性集合,基于ABS处理生成与属性集合所对应的属性秘钥;获取消息、属性秘钥、属性集合、访问策略和主公钥,基于认证算法构建对消息的认证令牌,所述认证令牌包括链接标签和追踪标签,并将认证令牌上传到区块链;获取消息、认证令牌、访问策略和主公钥,基于ZK处理验证认证令牌的有效性;获取任意两个消息及其对应的认证令牌,检测认证令牌所对应的链接标签是否相同,判定两个认证令牌是否由同一个用户生成;获取链接标签相同的任意两个消息和认证令牌组合,根据认证令牌所对应的追踪标签,计算出生成该认证令牌所对应的用户身份。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处理生成与属性集合所对应的属性秘钥,具体包括:属性集合表示为:S
u
={id,s1,...,s
n
},其中,id表示描述用户身份的属性;具体进行ABS处理的ABS.KeyGen(msk,S
u
)操作,ABS.KeyGen表示ABS处理属性秘钥生成算法,为用户u生成与属性集合S
u
所对应的属性秘钥,msk表示主私钥。4.根据权利要求1所述的基于区块链访问可控的公开可追责匿名认证方法,其特征在于,基于认证算法构建对消息的认证令牌,具体表示为:Auth(M=e||m,sk
Su
,S
u
,Λ,mpk)其中,Auth表示认证算法,M表示消息,e表示事件识别符,m表示消息的负载,||表示连接符,sk
Su
表示属性秘钥,S
u
表示属性集合,Λ表示访问策略,mpk表示主公钥。5.根据权利要求1所述的基于区块链访问可控的公开可追责匿名认证方法,其特征在于,所述认证令牌表示为:其中,表示链接标签,表示追踪标签,η
i
表示证明,i表示正整数;链接标签具体表示为:其中,H1表示第一哈希函数,e表示事件识别符,sk
Su
表示属性秘钥;
追踪标签具体表示为:其中,H2表示第二哈希函数,id表示描述用户身份的属性,m表示消息的负载,||表示连接符;证明η
i
具体表示为:基于ABS处理的ABS.Sign(M,Λ,sk
Su
)操作,生成对消息的签名σ
i
,其中,M表示消息,Λ表示访问策略;令为声明,w=(S
u
,sk
Su

i
)为证据,对于NP语言)为证据,对于NP语言)为证据,对于NP语言)为证据,对于NP语言)为证据,对于NP语言运行ZK处理的ZK.Prover(x,w,crs)操作生成证明η
i
,其中,∧表示逻辑与,mpk表示主私钥,S
u
表示属性集合...

【专利技术属性】
技术研发人员:李鹏赖俊祚周德华方俊彬
申请(专利权)人:暨南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1