基于分布式身份标识的零知识证明方法及终端技术

技术编号:22080874 阅读:30 留言:0更新日期:2019-09-12 15:58
本发明专利技术实施例提供一种基于分布式身份标识的零知识证明方法及终端,方法包括:验证终端向证明终端发送验证请求;接收证明终端返回的可验证声明、证明文件、可验证声明的哈希值与签名,可验证声明的哈希值与签名是可信任第三方终端发给证明终端的,证明文件是证明终端根据可信任第三方终端公开的可验证声明和证明密钥生成的;根据验证公钥对所述哈希值与签名进行验证,验证公钥是从可信任第三方终端获取的;若对可验证声明的哈希值与签名验证通过,则根据验证程序对证明文件进行验证,将验证结果发给证明终端,验证程序是根据从可信任第三方终端获取的验证密钥而生成的。可实现利用零知识证明,对分布式身份标识所对应的可验证声明进行信息验证。

Zero Knowledge Proof Method and Terminal Based on Distributed Identity Identification

【技术实现步骤摘要】
基于分布式身份标识的零知识证明方法及终端
本专利技术涉及计算机
,尤其涉及一种基于分布式身份标识的零知识证明方法及终端。
技术介绍
随着信息网络技术的飞速发展,如何对网络中对身份信息进行验证,对于信息安全来说是非常重要的。目前,区块链子项目HyperledgerFabric实现了一套在联盟链中使用的零知识证明,能够通过第三方颁发生成的证书,来证明联盟链节点的某些特定信息。但是,HyperledgerFabric实现的零知识证明仅适用于HyperledgerFabric本身的系统,无法在系统外使用;而且HyperledgerFabric实现的零知识证明采用的是盲签名的方式,因而第三方颁发证书时无法确定被签名的信息,因而只能验证联盟链上节点本身的固有信息或者链上生成的信息,具有很大的局限性。
技术实现思路
针对现有技术存在的问题,本专利技术实施例提供一种基于分布式身份标识的零知识证明方法及终端。本专利技术实施例提供一种基于分布式身份标识的零知识证明方法,包括:验证终端向证明终端发送验证请求;接收所述证明终端基于所述验证请求返回的可验证声明、证明文件、可验证声明的哈希值与签名,所述可验证声明的哈希值与签名是可信任第三方终端发送给所述证明终端的,所述证明文件是所述证明终端根据所述可信任第三方终端公开的可验证声明和证明密钥而生成的;根据验证公钥,对所述可验证声明的哈希值与签名进行验证,所述验证公钥是从所述可信任第三方终端获取的;若对所述可验证声明的哈希值与签名验证通过,则根据验证程序,对所述证明文件进行验证,将验证结果发送给证明终端,所述验证程序是根据从所述可信任第三方终端获取的验证密钥而生成的;其中,所述验证终端、所述证明终端和所述可信任第三方终端分别具有各自的分布式身份标识。本专利技术实施例提供一种基于分布式身份标识的零知识证明方法,包括:证明终端接收验证终端发送的验证请求;基于所述验证请求,向所述验证终端发送可验证声明、证明文件、可验证声明的哈希值与签名,以使所述验证终端对所述可验证声明的哈希值与签名以及所述证明文件进行验证,所述可验证声明的哈希值与签名是从所述可信任第三方终端获取的,所述证明文件是根据所述可信任第三方终端公开的可验证声明和证明密钥而生成的;接收所述验证终端发送的验证结果;其中,所述验证终端、所述证明终端和所述可信任第三方终端分别具有各自的分布式身份标识。本专利技术实施例提供一种验证终端,其特征在于,包括:第一发送模块,用于向证明终端发送验证请求;第一接收模块,用于接收所述证明终端基于所述验证请求返回的可验证声明、证明文件、可验证声明的哈希值与签名,所述可验证声明的哈希值与签名是可信任第三方终端发送给所述证明终端的,所述证明文件是所述证明终端根据所述可信任第三方终端公开的可验证声明和证明密钥而生成的;第一验证模块,用于根据验证公钥,对所述可验证声明的哈希值与签名进行验证,所述验证公钥是从所述可信任第三方终端获取的;第二验证模块,用于若对所述可验证声明的哈希值与签名验证通过,则根据验证程序,对所述证明文件进行验证,将验证结果发送给证明终端,所述验证程序是根据从所述可信任第三方终端获取的验证密钥而生成的;其中,所述验证终端、所述证明终端和所述可信任第三方终端分别具有各自的分布式身份标识。本专利技术实施例提供一种证明终端,包括:第二接收模块,用于接收验证终端发送的验证请求;第二发送模块,用于基于所述验证请求,向所述验证终端发送可验证声明、证明文件、可验证声明的哈希值与签名,以使所述验证终端对所述可验证声明的哈希值与签名以及所述证明文件进行验证,所述可验证声明的哈希值与签名是从所述可信任第三方终端获取的,所述证明文件是根据所述可信任第三方终端公开的可验证声明和证明密钥而生成的;第三接收模块,用于接收所述验证终端发送的验证结果;其中,所述验证终端、所述证明终端和所述可信任第三方终端分别具有各自的分布式身份标识。本专利技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述方法的步骤。本专利技术实施例提供的基于分布式身份标识的零知识证明方法及终端,通过验证终端向证明终端发送验证请求,接收证明终端返回的可验证声明、证明文件、可验证声明的哈希值与签名,可验证声明的哈希值与签名是可信任第三方终端发送给证明终端的,证明文件是证明终端根据可信任第三方终端公开的可验证声明和证明密钥而生成的,根据从可信任第三方终端获取的验证公钥对可验证声明的哈希值与签名进行验证,若对可验证声明的哈希值与签名验证通过,则根据从可信任第三方终端获取的验证密钥而生成的验证程序对证明文件进行验证,将验证结果发送给证明终端;其中,验证终端、证明终端和可信任第三方终端分别具有各自的分布式身份标识,由此,可实现利用零知识证明,对分布式身份标识所对应的可验证声明进行信息验证。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一实施例提供的一种基于分布式身份标识的零知识证明方法的流程示意图;图2为本专利技术实施例利用的零知识证明的验证终端、证明终端和可信任第三方终端的三方关系图;图3为本专利技术另一实施例提供的一种基于分布式身份标识的零知识证明方法的流程示意图;图4为本专利技术一实施例提供的一种验证终端的结构示意图;图5为本专利技术一实施例提供的一种证明终端的结构示意图;图6为本专利技术一实施例提供的电子设备的实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1示出了本专利技术一实施例提供的一种基于分布式身份标识的零知识证明方法的流程示意图,如图1所示,本实施例的基于分布式身份标识的零知识证明方法,包括:S1、验证终端向证明终端发送验证请求。需要说明的是,本实施例所述方法的执行主体为验证终端。可以理解的是,在本实施例中涉及的终端包括:验证终端、证明终端和可信任第三方终端,所述验证终端、所述证明终端和所述可信任第三方终端分别具有各自的分布式身份标识(Distributedidentity,简称DID),所述验证终端、所述证明终端和所述可信任第三方终端三者之间进行通信时,发送的信息/请求均携带有各自的分布式身份标识。可以理解的是,分布式身份标识是一种可验证的数字身份形式,在区块链系统中,DID是一组密码学生成的公私钥密钥对衍生出的地址,它映射了一份用户的数字身份文档,文档中包含了用户自定义可见的个人信息以及获得第三方终端认证的可验证声明,整个文档由用户自己签名背书,证明为某个特定DID所有,因而可以作为用户的身份标识。S2、接收所述证明终端基于所述验证请求返回的可验证声明(VerifiableClaim,简称VC)、证明文本文档来自技高网...

【技术保护点】
1.一种基于分布式身份标识的零知识证明方法,其特征在于,包括:验证终端向证明终端发送验证请求;接收所述证明终端基于所述验证请求返回的可验证声明、证明文件、可验证声明的哈希值与签名,所述可验证声明的哈希值与签名是可信任第三方终端发送给所述证明终端的,所述证明文件是所述证明终端根据所述可信任第三方终端公开的可验证声明和证明密钥而生成的;根据验证公钥,对所述可验证声明的哈希值与签名进行验证,所述验证公钥是从所述可信任第三方终端获取的;若对所述可验证声明的哈希值与签名验证通过,则根据验证程序,对所述证明文件进行验证,将验证结果发送给证明终端,所述验证程序是根据从所述可信任第三方终端获取的验证密钥而生成的;其中,所述验证终端、所述证明终端和所述可信任第三方终端分别具有各自的分布式身份标识。

【技术特征摘要】
1.一种基于分布式身份标识的零知识证明方法,其特征在于,包括:验证终端向证明终端发送验证请求;接收所述证明终端基于所述验证请求返回的可验证声明、证明文件、可验证声明的哈希值与签名,所述可验证声明的哈希值与签名是可信任第三方终端发送给所述证明终端的,所述证明文件是所述证明终端根据所述可信任第三方终端公开的可验证声明和证明密钥而生成的;根据验证公钥,对所述可验证声明的哈希值与签名进行验证,所述验证公钥是从所述可信任第三方终端获取的;若对所述可验证声明的哈希值与签名验证通过,则根据验证程序,对所述证明文件进行验证,将验证结果发送给证明终端,所述验证程序是根据从所述可信任第三方终端获取的验证密钥而生成的;其中,所述验证终端、所述证明终端和所述可信任第三方终端分别具有各自的分布式身份标识。2.根据权利要求1所述的基于分布式身份标识的零知识证明方法,其特征在于,所述根据验证程序,对所述证明文件进行验证,包括:根据验证程序,对所述证明文件进行信息隐藏验证;或者,根据验证程序,对所述证明文件进行信息条件验证。3.根据权利要求2所述的基于分布式身份标识的零知识证明方法,其特征在于,所述根据验证程序,对所述证明文件进行信息隐藏验证,包括:根据验证程序,通过验证第一公式,对所述证明文件进行信息隐藏验证;其中,所述第一公式为:hash(X+D)==H;其中,H为所述可验证声明转化后的二进制数据计算的哈希值,是公开可信信息;D是所述证明终端在所述证明文件中对转化为二进制数据的可验证声明公开的信息,X为所述证明终端在所述证明文件中对转化为二进制数据的可验证声明隐藏的隐私信息。4.根据权利要求2所述的基于分布式身份标识的零知识证明方法,其特征在于,所述根据验证程序,对所述证明文件进行信息条件验证,包括:根据验证程序,通过验证第二公式,对所述证明文件进行信息条件验证;其中,所述第二公式为:hash(V)==HandS其中,H为所述可验证声明转化后的二进制数据计算的哈希值,是公开可信信息;V是转化为二进制数据的可验证声明的完整信息,为所述证明终端在所述证明文件中隐藏的隐私信息;S是所述证明终端在所述证明文件中从V中抽取的待验证信息X′要验证的满足条件。5.一种基于分布式身份标识的零知识证明方法,其特征在于,包括:证明终端接收验证终端发送的验证请求;基于所述验证请求,向所述验证终端发送可验证声明、证明文件、可验证声明的哈希值与签名,以使所述验证终端对所述可验证声明的哈希值与签名以及所述证明文件进行验证...

【专利技术属性】
技术研发人员:李卫王虎陈昌杨文韬
申请(专利权)人:西安纸贵互联网科技有限公司
类型:发明
国别省市:陕西,61

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

1