一种分布式身份的多源零知识验证方法和系统技术方案

技术编号:37772658 阅读:22 留言:0更新日期:2023-06-06 13:38
本发明专利技术提供一种分布式身份的多源零知识验证方法和系统,方法包括:设置可信的零知识协议中心;用户终端通过零知识协议中心,获得与零知识问题对应的零知识协议,再生成零知识证明;用户终端将生成的零知识证明发送给验证终端进行验证。本发明专利技术通过设置可信的零知识协议中心,集成使用者需要的零知识协议,使得使用者可以按需要使用零知识协议中心的任意零知识协议生成相应的零知识证明,以供验证者验证。其中,零知识协议中心可以动态管理相应的零知识协议,包括但不限于增加、删除等。验证者除了可以直接验证零知识证明的内容,还可以根据证明密钥PK向零知识协议中心查询相应的零知识问题描述文档,确认零知识问题本身是否与场景问题匹配。场景问题匹配。场景问题匹配。

【技术实现步骤摘要】
一种分布式身份的多源零知识验证方法和系统


[0001]本专利技术属于零知识验证
,具体涉及一种分布式身份的多源零知识验证方法和系统。

技术介绍

[0002]零知识证明(Zero—Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的,是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的方法。
[0003]现有的零知识证明方法,主要存在以下问题:
[0004](1)该方案中证明字段包含的一般是签名信息,验证者无法直接对零知识问题本身进行验证。(2)零知识证明过程中的电路生成、零知识证明生成(隐私输入)问题没有明确的方案。尤其是当下主流零知识技术zk

snark,需要可信环境生成公共参数。(3)系统配置的零知识协议单一,不能很好的匹配各个需求场景,也无法灵活适配零知识技术的迭代。

技术实现思路

[0005]针对现有技术存在的缺陷,本专利技术提供一种分布式身份的多源零知识验证方法和系统,可有效解决上述问题。
[0006]本专利技术采用的技术方案如下:
[0007]本专利技术提供一种分布式身份的多源零知识验证方法,包括以下步骤:
[0008]步骤1,设置可信的零知识协议中心;所述零知识协议中心存储多个零知识协议,并且,任意用户终端向所述零知识协议中心请求增加与零知识问题对应的零知识协议,所述零知识协议包括零知识问题描述文档、证明密钥PK、验证密钥VK、零知识证明可执行程序和零知识验证可执行程序;所述零知识协议中心,以所述证明密钥PK作为索引,存储所述零知识协议;
[0009]步骤2,用户终端通过所述零知识协议中心,获得与零知识问题对应的零知识协议,进而获得零知识证明可执行程序和证明密钥PK;所述用户终端向所述零知识证明可执行程序中输入用户隐私数据、公开数据和所述证明密钥PK,执行所述零知识证明可执行程序,从而生成与零知识问题对应的零知识证明;
[0010]步骤3,所述用户终端将生成的所述零知识证明发送给验证终端,由所述验证终端对零知识证明进行验证。
[0011]优选的,用户终端向所述零知识协议中心请求增加与零知识问题对应的零知识协议,具体包括以下步骤:
[0012]步骤1.1,用户终端向所述零知识协议中心提交零知识问题描述文档和待编译的电路源文件;所述待编译的电路源文件是所述零知识问题描述文档的程序化文件;
[0013]步骤1.2,所述零知识协议中心检查所述待编译的电路源文件是否为所述零知识问题描述文档的程序化文件,即:检查所述零知识问题描述文档和所述待编译的电路源文
件的一致性,如果不一致,停止后续流程;如果一致,执行步骤1.3;
[0014]步骤1.3,所述零知识协议中心,将所述待编译的电路源文件编译为零知识电路;
[0015]步骤1.4,初始化所述零知识电路,生成与零知识问题对应的证明密钥PK、验证密钥VK、零知识证明可执行程序和零知识验证可执行程序;
[0016]步骤1.5,所述零知识问题描述文档、所述证明密钥PK、所述验证密钥VK、所述零知识证明可执行程序和所述零知识验证可执行程序,形成一条与零知识问题对应的零知识协议;所述零知识协议中心,以所述证明密钥PK作为索引,存储所述零知识协议。
[0017]优选的,步骤2中,采用以下步骤生成零知识证明:
[0018]步骤2.1,用户终端向所述零知识协议中心发送获取零知识协议列表的请求;
[0019]步骤2.2,所述零知识协议中心向所述用户终端返回零知识协议列表;所述零知识协议列表,为所述零知识协议中心当前存储的所有零知识协议的零知识问题描述文档;
[0020]步骤2.3,所述用户终端从所述零知识协议列表中,选择需要的零知识问题描述文档;然后,向所述零知识协议中心发送请求获取与选择的所述零知识问题描述文档对应的零知识协议;
[0021]步骤2.4,所述零知识协议中心,获取对应的零知识协议,并将所述零知识协议中的零知识问题描述文档、所述证明密钥PK和所述零知识证明可执行程序发送给所述用户终端;
[0022]步骤2.5,所述用户终端向所述零知识证明可执行程序中输入用户隐私数据、公开数据和所述证明密钥PK,执行所述零知识证明可执行程序,从而生成与零知识问题对应的零知识证明。
[0023]优选的,步骤3中,验证终端对零知识证明进行验证具体为:
[0024]步骤3.1,所述用户终端将生成的所述零知识证明发送给验证终端;
[0025]步骤3.2,所述验证终端从所述零知识证明中解析出证明密钥PK,向所述零知识协议中心发送获取与所述证明密钥PK对应的零知识协议的请求;
[0026]步骤3.3,所述零知识协议中心,查找到与所述证明密钥PK对应的零知识协议,然后将包含所述零知识问题描述文档、所述证明密钥PK、所述验证密钥VK、所述零知识证明可执行程序和所述零知识验证可执行程序的零知识协议返回给所述验证终端;
[0027]步骤3.4,所述验证终端验证所述零知识问题描述文档是否与当前需要验证的场景问题匹配,如果不匹配,则验证失败;如果匹配,则执行步骤3.5;
[0028]步骤3.5,所述验证终端本地执行接收到的所述零知识证明可执行程序,验证所述零知识证明可执行程序是否正确,如果不正确,则验证失败;如果正确,则执行步骤3.6;
[0029]步骤3.6,所述验证终端向所述零知识证明验证可执行程序输入验证密钥VK,场景既定的公开数据以及步骤3.1中收到的零知识证明,执行所述零知识验证可执行程序,进行零知识问题验证过程。
[0030]本专利技术还提供一种分布式身份的多源零知识验证方法的系统,包括:
[0031]零知识协议中心,用于存储多个零知识协议,并且,接收用户终端发送的增加与零知识问题对应的零知识协议的增加请求,所述零知识协议包括零知识问题描述文档、证明密钥PK、验证密钥VK、零知识证明可执行程序和零知识验证可执行程序;所述零知识协议中心,以所述证明密钥PK作为索引,存储所述零知识协议;
[0032]零知识证明生成模块,用于通过所述零知识协议中心,获得与零知识问题对应的零知识协议,进而获得零知识证明可执行程序和证明密钥PK;通过所述零知识协议中心,获得与零知识问题对应的零知识协议,进而获得零知识证明可执行程序和证明密钥PK;
[0033]零知识证明验证模块,用于接收来自于用户终端的对零知识证明进行验证的请求,对所述零知识证明进行验证。
[0034]本专利技术提供的分布式身份的多源零知识验证方法和系统具有以下优点:
[0035]本专利技术提供的分布式身份的多源零知识验证方法和系统,通过设置可信的零知识协议中心,集成使用者需要的零知识协议,使得使用者可以按需要使用零知识协议中心的任意零知识协议生成相应的零知识证明,以供验证者验证。其中,零知识协议中心可以动态管理相应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式身份的多源零知识验证方法,其特征在于,包括以下步骤:步骤1,设置可信的零知识协议中心;所述零知识协议中心存储多个零知识协议,并且,任意用户终端向所述零知识协议中心请求增加与零知识问题对应的零知识协议,所述零知识协议包括零知识问题描述文档、证明密钥PK、验证密钥VK、零知识证明可执行程序和零知识验证可执行程序;所述零知识协议中心,以所述证明密钥PK作为索引,存储所述零知识协议;步骤2,用户终端通过所述零知识协议中心,获得与零知识问题对应的零知识协议,进而获得零知识证明可执行程序和证明密钥PK;所述用户终端向所述零知识证明可执行程序中输入用户隐私数据、公开数据和所述证明密钥PK,执行所述零知识证明可执行程序,从而生成与零知识问题对应的零知识证明;步骤3,所述用户终端将生成的所述零知识证明发送给验证终端,由所述验证终端对零知识证明进行验证。2.根据权利要求1所述的分布式身份的多源零知识验证方法,其特征在于,用户终端向所述零知识协议中心请求增加与零知识问题对应的零知识协议,具体包括以下步骤:步骤1.1,用户终端向所述零知识协议中心提交零知识问题描述文档和待编译的电路源文件;所述待编译的电路源文件是所述零知识问题描述文档的程序化文件;步骤1.2,所述零知识协议中心检查所述待编译的电路源文件是否为所述零知识问题描述文档的程序化文件,即:检查所述零知识问题描述文档和所述待编译的电路源文件的一致性,如果不一致,停止后续流程;如果一致,执行步骤1.3;步骤1.3,所述零知识协议中心,将所述待编译的电路源文件编译为零知识电路;步骤1.4,初始化所述零知识电路,生成与零知识问题对应的证明密钥PK、验证密钥VK、零知识证明可执行程序和零知识验证可执行程序;步骤1.5,所述零知识问题描述文档、所述证明密钥PK、所述验证密钥VK、所述零知识证明可执行程序和所述零知识验证可执行程序,形成一条与零知识问题对应的零知识协议;所述零知识协议中心,以所述证明密钥PK作为索引,存储所述零知识协议。3.根据权利要求1所述的分布式身份的多源零知识验证方法,其特征在于,步骤2中,采用以下步骤生成零知识证明:步骤2.1,用户终端向所述零知识协议中心发送获取零知识协议列表的请求;步骤2.2,所述零知识协议中心向所述用户终端返回零知识协议列表;所述零知识协议列表,为所述零知识协议中心当前存储的所有零知识协议的零知识问题描述文档;步骤2.3,所述用户终端从所述零知识协议列表中,选择需要的零知识问题描述文档;然后,向所述零知识协议中心发送请求...

【专利技术属性】
技术研发人员:胡建鑫付正陈冬曾凡华
申请(专利权)人:新晨科技股份有限公司
类型:发明
国别省市:

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

1