CN110311782B - 个人信息的零知识证明方法、***及存储介质 - Google Patents

个人信息的零知识证明方法、***及存储介质 Download PDF

Info

Publication number
CN110311782B
CN110311782B CN201910365739.5A CN201910365739A CN110311782B CN 110311782 B CN110311782 B CN 110311782B CN 201910365739 A CN201910365739 A CN 201910365739A CN 110311782 B CN110311782 B CN 110311782B
Authority
CN
China
Prior art keywords
mercker
verified
information
authority
personal information
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
Application number
CN201910365739.5A
Other languages
English (en)
Other versions
CN110311782A (zh
Inventor
张晓�
许强
周伟明
范辉
刘培强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
YANTAI DASHAN DATA TECHNOLOGY Co.,Ltd.
Shandong Technology and Business University
Original Assignee
Shandong Ice Chain Network Information Technology Co ltd
Shandong Technology and Business University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Ice Chain Network Information Technology Co ltd, Shandong Technology and Business University filed Critical Shandong Ice Chain Network Information Technology Co ltd
Priority to CN201910365739.5A priority Critical patent/CN110311782B/zh
Priority to PCT/CN2019/088063 priority patent/WO2020220413A1/zh
Publication of CN110311782A publication Critical patent/CN110311782A/zh
Application granted granted Critical
Publication of CN110311782B publication Critical patent/CN110311782B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种个人信息的零知识证明方法、***及存储介质,方法包括:第三方验证服务器根据用户终端发送的待验证个人信息、权威机构ID、默克尔验证信息以及权威机构ID对应的哈希算法和有序默克尔树构建规则进行计算,获得待验证的默克尔根值,并将待验证的默克尔根值和权威机构ID发送至区块链平台;区块链平台根据待验证的默克尔根值,获取并发送权威机构ID对应的默克尔根值、对应的数字签名和存储时间至第三方验证服务器;第三方验证服务器根据权威机构ID、接收到的各默克尔根值、对应的数字签名和存储时间,对用户终端发送的待验证个人信息进行验证。本发明解决了个人信息验证导致非必要的隐私信息被暴露的技术问题。

Description

个人信息的零知识证明方法、***及存储介质
技术领域
本发明涉及区块链平台技术领域,尤其涉及个人信息的零知识证明方法、***及计算机可读存储介质。
背景技术
近年来,随着互联网的快速发展,以及存储技术的快速发展,一个大数据时代、人工智能时代渐入我们生活的方方面面。互联网让生活变得更加便捷的同时,也为我们的社会增加了许多隐患。在订火车票、机票、登录社交账号、入住酒店等许多场景中,都会涉及到需要进行个人信息验证。但是在进行个人信息验证过程中,需要提供个人隐私信息进行验证,从而导致个人隐私信息暴露以及存在被窃取可能的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种个人信息的零知识证明方法、***及计算机可读存储介质,旨在解决现有的个人信息验证导致隐私信息被暴露的技术问题。
为实现上述目的,本申请提供一种个人信息的零知识证明方法,包括步骤:
第三方验证服务器接收用户终端发送的至少一条待验证个人信息、待验证信息认证的权威机构ID和默克尔验证信息,其中所述默克尔验证信息包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值或包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层;
所述第三方验证服务器根据所述待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的哈希算法和有序默克尔树构建规则;
所述第三方验证服务器根据所述哈希算法、所述有序默克尔树构建规则、所述至少一条待验证个人信息、所述默克尔验证信息进行计算,获得待验证的默克尔根值,并将待验证的默克尔根值和待验证信息认证的权威机构ID发送至区块链平台;
所述区块链平台根据接收到的所述待验证的默克尔根值和待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的至少一个与所述待验证的默克尔根值相同的默克尔根值,并将获得的所述各默克尔根值、对应的数字签名和对应的存储时间发送至所述第三方验证服务器;
所述第三方验证服务器接收所述区块链平台发送的所述各默克尔根值、对应的数字签名和对应的存储时间,并根据待验证信息认证的权威机构ID、接收到的所述各默克尔根值、对应的数字签名和对应的存储时间,对用户终端发送的各待验证个人信息进行验证。
可选地,所述默克尔验证信息还包括至少一条非待验证的个人信息;
所述所述第三方验证服务器根据所述哈希算法、所述有序默克尔树构建规则、所述至少一条待验证个人信息和所述默克尔验证信息进行计算,获得待验证的默克尔根值的步骤包括:
所述第三方验证服务器根据所述哈希算法、所述有序默克尔树构建规则、所述至少一条待验证个人信息、所述至少一条非待验证的个人信息和所述默克尔验证信息进行计算,获得待验证的默克尔根值,其中所述默克尔验证信息包括至少一条非待验证的个人信息和除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值或包括至少一条非待验证的个人信息、除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层。
可选地,所述所述第三方验证服务器根据待验证信息认证的权威机构ID、接收到的所述各默克尔根值、对应的数字签名和对应的存储时间,对用户终端发送的各待验证个人信息进行验证的步骤包括:
所述第三方验证服务器根据所述各默克尔根值对应的存储时间,从所述各默克尔根值中选择存储时间最近的默克尔根值;
所述第三方验证服务器根据所述待验证信息中的权威机构ID,获取所述待验证信息中权威机构ID对应的权威机构的第一公钥,并采用所述第一公钥对选择的存储时间最近的默克尔根值对应的数字签名进行验证;
若验证通过,所述第三方验证服务器确定用户终端发送的各待验证个人信息是真实;
若验证不通过,所述第三方验证服务器确定用户终端发送的各待验证个人信息不真实。
可选地,所述区块链平台根据接收到的所述待验证的默克尔根值和待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的至少一个与所述待验证的默克尔根值相同的默克尔根值,并将获得的所述各默克尔根值、对应的数字签名和对应的存储时间发送至所述第三方验证服务器的步骤之前包括:
权威机构服务器接收用户终端发送的至少两条个人信息,并根据接收到用户终端发送的至少两条个人信息,创建一个档案号和所述档案号对应的包括用户终端发送的至少两条个人信息的信息档案;
所述权威机构服务器采用预设的哈希算法、预设的有序默克尔树构建规则和所述信息档案中各条个人信息,构建所述档案号对应的第一默克尔树,并将权威机构ID、所述档案号和所述信息档案发送至用户终端;
所述权威机构服务器根据第一私钥对所述第一默克尔树的默克尔根值签名,生成所述第一默克尔树的默克尔根值对应的第一数字签名;
所述权威机构服务器将包括所述第一默克尔树的默克尔根值、所述第一默克尔树的默克尔根值对应的第一数字签名和权威机构ID的信息存储至所述区块链平台。
可选地,所述所述权威机构服务器将包括所述第一默克尔树的默克尔根值、所述第一默克尔树的默克尔根值对应的第一数字签名和权威机构ID的信息存储至所述区块链平台的步骤包括:
所述权威机构服务器调用所述区块链平台上的智能合约,创建一个包括所述第一默克尔树的默克尔根值、所述第一默克尔树的默克尔根值对应的第一数字签名和权威机构ID的第一交易记录;
所述权威机构服务器将所述第一交易记录存储至所述区块链平台。
可选地,所述所述权威机构服务器将包括所述第一默克尔树的默克尔根值、所述第一默克尔树的默克尔根值对应的第一数字签名和权威机构ID的信息存储至所述区块链平台之后还包括:
所述权威机构服务器接收用户终端发送的更新请求,其中所述更新请求包括档案号和至少一条个人信息;
所述权威机构服务器根据更新请求中的档案号对应的信息档案和更新请求中的至少一条个人信息,生成更新请求中的档案号对应的新信息档案;
所述权威机构服务器采用预设的哈希算法、预设的有序默克尔树构建规则和所述新信息档案中各条个人信息,构建更新请求中的档案号对应的第二默克尔树,并将权威机构ID、更新请求中的档案号和所述新信息档案发送至用户终端;
所述权威机构服务器采用第一私钥对第二默克尔树的默克尔根值签名,生成第二数字签名;
所述权威机构将包括第二默克尔树的默克尔根值、第二数字签名和权威机构ID的信息存储至所述区块链平台。
可选地,所述所述权威机构服务器采用第一私钥对第二默克尔树的默克尔根值签名,生成第二数字签名的步骤之前还包括:
所述权威机构服务器采用第二私钥对更新请求中档案号对应的第一默克尔树的默克尔根值进行签名,生成第三数字签名,并将包括第一默克尔树的默克尔根值、第三数字签名和权威机构ID的信息存储至所述区块链平台。
可选地,所述所述权威机构将包括第二默克尔树的默克尔根值、第二数字签名和权威机构ID的信息存储至所述区块链平台的步骤包括:
所述权威机构服务器调用所述区块链平台上的智能合约,创建一个包括所述第二默克尔树的默克尔根值、所述第二数字签名、和权威机构ID的第二交易记录;
所述权威机构服务器发送所述第二交易记录存储至所述区块链平台。
此外,为实现上述目的,本发明还提供一种个人信息的零知识证明***,所述***包括:
第三方验证服务器,用于接收用户终端发送的至少一条待验证个人信息、待验证信息认证的权威机构ID和默克尔验证信息,其中所述默克尔验证信息包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值或包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层;
所述第三方验证服务器,还用于根据所述待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的哈希算法和有序默克尔树构建规则,并根据所述哈希算法、所述有序默克尔树构建规则、所述至少一条待验证个人信息和所述默克尔验证信息进行计算,获得待验证的默克尔根值,并将待验证的默克尔根值和待验证信息认证的权威机构ID发送至区块链平台;
区块链平台,用于根据接收到的所述待验证的默克尔根值和待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的至少一个与所述待验证的默克尔根值相同的默克尔根值,并将获得的所述各默克尔根值、对应的数字签名和对应的存储时间发送至所述第三方验证服务器;
所述第三方验证服务器,还用于接收所述区块链平台发送的所述各默克尔根值、对应的数字签名和对应的存储时间,并根据待验证信息认证的权威机构ID、接收到的所述各默克尔根值、对应的数字签名和对应的存储时间,对用户终端发送的各待验证个人信息进行验证。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的个人信息的零知识证明方法的步骤。
本发明实施例提出的一种个人信息的零知识证明方法、***及计算机可读存储介质,通过第三方验证服务器接收用户终端发送的至少一条待验证个人信息、待验证信息认证的权威机构ID和默克尔验证信息,其中所述默克尔验证信息包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值或包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层;所述第三方验证服务器根据所述待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的哈希算法和有序默克尔树构建规则;所述第三方验证服务器根据所述哈希算法、所述有序默克尔树构建规则、所述至少一条待验证个人信息、所述默克尔验证信息进行计算,获得待验证的默克尔根值,并将待验证的默克尔根值和待验证信息认证的权威机构ID发送至区块链平台;所述区块链平台根据接收到的所述待验证的默克尔根值和待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的至少一个与所述待验证的默克尔根值相同的默克尔根值,并将获得的所述各默克尔根值、对应的数字签名和对应的存储时间发送至所述第三方验证服务器;所述第三方验证服务器接收所述区块链平台发送的所述各默克尔根值、对应的数字签名和对应的存储时间,并根据待验证信息认证的权威机构ID、接收到的所述各默克尔根值、对应的数字签名和对应的存储时间,对用户终端发送的各待验证个人信息进行验证。从而在需要验证某条个人信息过程中,不需要用户提供包括隐私信息的其他所有个人信息,只需要选择提供待验证的个人信息给第三方机构进行。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明个人信息的零知识证明方法第一实施例的流程示意图;
图3为本发明个人信息的零知识证明方法第二实施例中步骤S50的细化流程示意图;
图4为本发明个人信息的零知识证明方法第四实施例中步骤S90的细化流程示意图;
图5为本发明个人信息的零知识证明方法第一实施例的***架构示意图;
图6为已构建的默克尔树示意图;
图7为存储有默克尔根值的交易记录示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参照图1,图1为本发明各个实施例中所提供的第三方验证服务器、用户终端、权威机构服务器或区块链平台的硬件结构示意图,所述第三方验证服务器、用户终端、权威机构服务器或区块链平台包括通信模块10、存储器20及处理器30等部件。本领域技术人员可以理解,图1中所示出的第三方验证服务器、用户终端、权威机构服务器或区块链平台还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中,所述处理器30分别与所述存储器20和所述通信模块10连接,所述存储器20上存储有计算机程序,所述计算机程序同时被处理器30执行。
通信模块10,可通过网络与外部设备连接。通信模块10可以接收外部设备发出的数据,还可发送数据、指令及信息至所述外部设备。所述外部设备可以是用户终端、第三方验证服务器、用户终端、权威机构服务器或区块链平台。
存储器20,可用于存储软件程序以及各种数据。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(基于用户信息构建默克尔树)等;存储数据区可存储根据第三方验证服务器、用户终端、权威机构服务器或区块链平台的使用所创建的数据或信息等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器30,是第三方验证服务器、用户终端、权威机构服务器或区块链平台的控制中心,利用各种接口和线路连接整个第三方验证服务器、用户终端、权威机构服务器或区块链平台的各个部分,通过运行或执行存储在存储器20内的软件程序和/或模块,以及调用存储在存储器20内的数据,执行第三方验证服务器、用户终端、权威机构服务器或区块链平台的各种功能和处理数据,从而对第三方验证服务器、用户终端、权威机构服务器或区块链平台进行整体监控。处理器30可包括一个或多个处理单元;优选的,处理器30可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器30中。
尽管图1未示出,但上述第三方验证服务器、用户终端、权威机构服务器或区块链平台还可以包括电路控制模块,用于与市电连接,实现电源控制,保证其他部件的正常工作。
本领域技术人员可以理解,图1中示出的第三方验证服务器、用户终端、权威机构服务器或区块链平台结构并不构成对第三方验证服务器、用户终端、权威机构服务器或区块链平台的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
根据上述硬件结构,提出本发明方法各个实施例。
参照图2,在本发明个人信息的零知识证明方法的第一实施例中,所述个人信息的零知识证明方法包括步骤:
步骤S10,第三方验证服务器接收用户终端发送的至少一条待验证个人信息、待验证信息认证的权威机构ID和默克尔验证信息,其中所述默克尔验证信息包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值或包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层;
在本方案中,零知识证明是指一方(证明者)可以向另一方(验证者)证明一个陈述是正确的,而无需透露该陈述是正确的之外的其它有用信息。在本发明中里,“陈述”指的是待验证的个人信息。默克尔树(Merkle Tree)就是一种存储哈希值的二叉树数据结构,默克尔树的叶子是数据块(例如,数据块可以是信息、文件或者文件的集合)的哈希值,非叶节点是其对应子节点串联字符串的哈希值。有序默克尔树构建规则指的是在构建有效默克尔树时,对各层内所有节点在对应层内的位置进行排序的规则,该节点位置排序规则可以依据每层内各节点的哈希值的16进制数值的大小或每层内各节点的哈希值的字符ASCII码数字顺序,从小到大或从大到小依次将各节点从左至右排列各节点位置。
当用户需要被验证个人信息时,用户可以通过用户终端将至少一条待验证信息、待验证信息认证的权威机构ID和默克尔验证信息通过无线或有线网络发送给业务审核终端,也可以直接将至少一条待验证信息、待验证信息认证的权威机构ID和默克尔验证信息输入到第三方验证机构的终端上,再发送至第三方验证服务器,其中所述默克尔验证信息包括至少一个除所述待验证个人信息对应的默克尔节点外的其他节点的哈希值或包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层。
在第三方验证服务器对用户的至少一条个人信息进行验证时,用户终端除了发送上述的至少一条待验证个人信息、待验证信息认证的权威机构ID和默克尔验证信息外,还可以发送哈希算法和有序默克尔树构建规则。
需要说明的是,为防止发送的至少一条待验证个人信息、默克尔验证信息和权威机构ID的这些信息被其他人截获,可以采用第三方验证服务器的公钥对至少一条待验证个人信息、默克尔验证信息和权威机构ID的这些信息进行加密,再将加密后的信息发送至第三方验证服务器,第三方验证服务器会采用第三方验证服务器自己的私钥对所述加密的信息进行解密,从而获得用户终端发送的哈希算法、至少一条待验证个人信息和默克尔验证信息。
默克尔验证信息中的各节点的哈希值是由哈希映射函数生成的单向结果,本身并不能用于推算出任何有用信息。默克尔验证信息中的这些节点是从待验证个人信息对应的默克尔节点至默克尔根值的哈希计算路径上所必需的除待验证个人信息对应的默克尔节点外的所有节点的哈希值,或除待验证个人信息对应的默克尔节点外的所有节点哈希值和对应的所属层,若采用最快的哈希计算路径,提供的默克尔验证信息中可以只包括一组有序排列的节点哈希值数组,该排列顺序为计算默克尔根值过程是使用节点值的先后顺序。若采用非最快的哈希计算路径,提供的默克尔验证信息中除了节点哈希值外,还包括各节点哈希值对应的所属层。例如待验证信息为图6中的P1姓名,从姓名对应的节点位置至图6中默克尔树的默克尔根的哈希计算路径可以为B+CD+EF,也可以为B+C+D+EF,还可以为B+C+D+E+F,其中B+CD+EF的哈希计算路径对于A来说,是最快哈希计算路径,而B+C+D+E+F的哈希计算路径对于A来说,是最慢哈希计算路径,若采用最快的哈希计算路径,那么默克尔验证信息为一组有序排列的节点哈希值数组{hash(P2)、hash(C+D)、hash(E+F)}。若该计算路径为B+C+D+EF,那么默克尔验证信息为包括节点B的哈希值和节点B所属层为第一层、节点C的哈希值和节点C所属层为第一层、节点D的哈希值和节点D所属层为第一层、节点EF的哈希值和节点EF所属层为第三层。又例如待验证信息为图6中的P1姓名和P3出生地,从姓名和出生地对应的节点位置至图6中默克尔树的默克尔根的哈希计算路径可以为B+D+EF(最快哈希计算路径)或B+D+E+F。默克尔验证信息中除待验证个人信息对应的默克尔节点外的其他节点的数量是由默克尔树的复杂程度决定,默克尔树越简单,层次越少,则需提供的其他节点数量越少,例如只有两个叶节点和默克尔根节点组成的最简单的默克尔树,那么用户终端只需提供除所述待验证个人信息对应的默克尔节点外的一个叶节点的节点值。
需要说明的是,用户终端发送的默克尔验证信息,除了至少一个除所述待验证个人信息对应的默克尔节点外的其他节点的哈希值,还可以包括至少一条非待验证的个人信息。例如被验证者提供了待验证的信息图6中的“出生地:山东烟台”的明文信息,为验证该条明文信息,被验证者提供的默克尔验证信息可以包括第二层中的节点哈希值AB和第三层中节点哈希值EF和图6中的“现住址:广州”的明文信息。
步骤S20,所述第三方验证服务器根据所述待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的哈希算法和有序默克尔树构建规则;
第三方验证服务器根据待验证信息认证的权威机构ID,可以向所述权威机构ID对应的权威机构服务器发送获取哈希算法和有序默克尔树构建规则的请求,所述权威机构ID对应的权威机构服务器接收到第三方验证服务器发送的所述请求后,将权威机构构建默克尔树采用的哈希算法和有序默克尔树构建规则发送给第三方验证服务器。
当第三方验证服务器中已经存储了包括各权威机构ID的哈希算法和有序默克尔树构建规则的权威机构ID和哈希算法、有序默克尔树构建规则对应关系表,第三方验证服务器会根据待验证信息认证的权威机构ID,从所述标中查询获得所述权威机构ID对应的哈希算法和有序默克尔树构建规则。
哈希算法可以为MD4算法、MD5算法、SHA-1、SHA-256、SHA-512、国密算法或其他哈希算法。
步骤S30,所述第三方验证服务器根据所述哈希算法、所述有序默克尔树构建规则、所述至少一条待验证个人信息和所述默克尔验证信息进行计算,获得待验证的默克尔根值,并将待验证的默克尔根值和待验证信息认证的权威机构ID发送至区块链平台;
第三方验证服务器会根据接收到至少一条待验证个人信息和所述至少一个除所述待验证个人信息对应的默克尔节点外的其他节点的哈希值和所属层,使用获取到的哈希算法和有序默克尔树构建规则逐层计算哈希值,最终得到待验证的默克尔根值。例如被验证者提供了待验证信息为图6中的“出生地:山东烟台”的明文信息和默克尔验证信息,其中默克尔验证信息为图6中默克尔树的节点D的哈希值hash(P4)、节点AB的哈希值hash(A+B)和节点EF的哈希值hash(E+F),第三方验证服务器获取到的有序默克尔树构建规则为从小到大依次将同一层的各节点从左至右排列各节点位置。第三方验证服务器会采用哈希算法对待验证信息进行计算得到节点C的哈希值hash(P3),且hash(P3)小于hash(P4)大小;然后根据节点C的哈希值和节点D的哈希值计算得到第二层节点CD的哈希值hash(C+D),进一步比较hash(A+B)和hash(C+D)大小获得hash(A+B)小于hash(C+D)后,根据hash(A+B)和hash(C+D)计算得到第三层节点ABCD的哈希值为hash(AB+CD),最后比较hash(AB+CD)和hash(E+F)大小获知hash(AB+CD)小于hash(E+F),根据hash(AB+CD)和hash(E+F)计算得到待验证的默克尔根值hash(ABCD+EF)。
在计算得到待验证的默克尔根值后,第三方验证服务器会将待验证的默克尔根值和待验证信息认证的权威机构ID通过有线或无线网络发送至区块链平台。例如第三方验证服务器通过区块链平台的API接口,将待验证的默克尔根值和待验证信息认证的权威机构ID发送给区块平台。
步骤S40,所述区块链平台根据接收到的所述待验证的默克尔根值和待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的至少一个与所述待验证的默克尔根值相同的默克尔根值,并将获得的所述各默克尔根值、对应的数字签名和对应的存储时间发送至所述第三方验证服务器;
由于区块链平台上可能会存储与待验证的默克尔根值相同的多个默克尔根值,这些默克尔根值中有些是由待验证信息认证的权威机构ID对应的权威机构服务器发送的,有些是由其他权威机构服务器发送的,还有些是由非权威机构服务器发送的。
当区块链平台会根据待验证的默克尔根值和待验证信息认证的权威机构ID,从存储默克尔根值的数据库或存储包括默克尔根值的交易记录中查询,获取待验证信息认证的权威机构ID对应的权威机构发送过来的与待验证的默克尔根值相同的至少一个默克尔根值,并将查询获得的默克尔根值和对应的数字签名以及存储时间发送至第三方验证服务器。
需要说明的是,当区块链平台未查询到待验证信息认证的权威机构ID对应的权威机构发送过来的与待验证的默克尔根值相同的默克尔根值时,区块链平台会反馈不存在待验证的默克尔根值的信息至第三方验证服务器,第三方验证服务器会根据这个信息,直接确定用户终端发送的各待验证个人信息是不正确的。
步骤S50,所述第三方验证服务器接收所述区块链平台发送的所述各默克尔根值、对应的数字签名和对应的存储时间,并根据待验证信息认证的权威机构ID、接收到的所述各默克尔根值、对应的数字签名和对应的存储时间,对用户终端发送的各待验证个人信息进行验证。
第三方验证服务器首先根据存储时间,从这些默克尔根值中选择存储时间最近的默克尔根值,并根据待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID的第一公钥,采用第一公钥对存储时间最近的默克尔根值对应的数字签名进行验证,若验证通过,则确定用户终端发送的各待验证个人信息是真实,并发送验证通过的信息至用户终端;若验证不通过,则确定用户终端发送的各待验证个人信息不真实,并发送验证不通过的信息至用户终端。第三验证服务器还可以直接根据区块链平台反馈回来的各默克尔根值的数量,若为奇数时,则确定用户终端发送的各待验证个人信息是真实;若为偶数时,则确定用户终端发送的各待验证个人信息不真实。
需要说明的是,还可以区块链查询获取到待验证信息认证的权威机构ID对应的权威机构发送过来的与待验证的默克尔根值相同的至少一个默克尔根值后,从这些默克尔根值中选择存储时间最近的默克尔根值,并采用待验证信息认证的权威机构ID对应的权威机构的第一公钥对存储时间最近的默克尔根值进行验证,若验证通过,则反馈存在待验证的默克尔根值的信息至第三方验证服务器,第三方验证服务器从而确定用户终端发送的各待验证个人信息是真实;若验证不通过,反馈未存在待验证的默克尔根值的信息至第三方验证服务器,从而第三方验证服务器确定用户终端发送的各待验证个人信息是不正确。
例如,在需要查验某顾客是否是通缉逃犯时,只需要该顾客出示基于包括是否在逃的多条个人信息构建的默克尔树中的某些节点信息(节点值,或节点值和所属层),根据该顾客提供的上述信息、所述顾客未在逃待验证信息和构建所述默克尔树采用的哈希算法、默克尔树节点排序规则,计算出一个待验证默克尔根值。然后通过区块链根据该待验证的默克尔根值进行查询,并将查询到的至少一个默克尔根值反馈至验证服务器,验证服务器根据接收到的各默克尔根值,进行判断所述顾客未在逃待验证信息是否是真实,若真实则确定该顾客不是通缉逃犯,反之,则确定该顾客是在逃通缉犯。若确定用户提供的姓名是否真实计算只需用户出示有否犯罪记录。
本实施例通过第三方验证服务器接收用户终端发送的至少一条待验证个人信息、待验证信息认证的权威机构ID和默克尔验证信息,其中所述默克尔验证信息包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值或包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层;所述第三方验证服务器根据所述待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的哈希算法和有序默克尔树构建规则;所述第三方验证服务器根据所述哈希算法、所述有序默克尔树构建规则、所述至少一条待验证个人信息、所述默克尔验证信息进行计算,获得待验证的默克尔根值,并将待验证的默克尔根值和待验证信息认证的权威机构ID发送至区块链平台;所述区块链平台根据接收到的所述待验证的默克尔根值和待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的至少一个与所述待验证的默克尔根值相同的默克尔根值,并将获得的所述各默克尔根值、对应的数字签名和对应的存储时间发送至所述第三方验证服务器;所述第三方验证服务器接收所述区块链平台发送的所述各默克尔根值、对应的数字签名和对应的存储时间,并根据待验证信息认证的权威机构ID、接收到的所述各默克尔根值、对应的数字签名和对应的存储时间,对用户终端发送的各待验证个人信息进行验证。从而在需要验证某条个人信息过程中,不需要用户提供包括隐私信息的其他所有个人信息,只需要选择提供待验证的个人信息给第三方机构进行。
进一步地,参照图3,根据本申请个人信息的零知识证明方法的第一实施例提成提出本申请个人信息的零知识证明方法的第二实施例,在本实施例中,所述步骤S50包括:
步骤S51,所述第三方验证服务器根据所述各默克尔根值对应的存储时间,从所述各默克尔根值中选择存储时间最近的默克尔根值;
步骤S52,所述第三方验证服务器根据所述待验证信息中的权威机构ID,获取所述待验证信息中权威机构ID对应的权威机构的第一公钥,并采用所述第一公钥对选择的存储时间最近的默克尔根值对应的数字签名进行验证;
步骤S53,若验证通过,所述第三方验证服务器确定用户终端发送的各待验证个人信息是真实;
步骤S54,若验证不通过,所述第三方验证服务器确定用户终端发送的各待验证个人信息不真实。
在本方案中,由于用户个人的某些信息可能会存在变化,例如用户居住地、婚姻状况等。那么权威机构服务器获取到用户个人信息变化时,会根据更新后的个人信息重新创建一个默克尔根值b,但由于基于更新前的用户个人信息构建的默克尔树的默克尔根值a已经存储在区块链平台上,该默克尔根值a是不能对其进行删除和修改的,未防止用户利用更新旧的个人信息去进行验证的这情况发生,权威机构服务器会采用第二私钥对所述默克尔根值a重新签名生成第二数字签名,然后将包括所述默克尔根值a、对应的第二数字签名和权威机构ID的信息存储至区块链平台。这就导致区块链平台上会存储两条包括默克尔根值a的信息。
第三方验证服务器接收到区块链平台发送的待验证信息认证的权威机构ID对应的至少一个与所述待验证的默克尔根值相同的默克尔根值后,会首先根据存储时间,从这些默克尔根值中选择存储时间最近的默克尔根值,并根据待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID的第一公钥,采用第一公钥对存储时间最近的默克尔根值对应的数字签名进行验证,若验证通过,则确定用户终端发送的各待验证个人信息是真实,并发送验证通过的信息至用户终端;若验证不通过,则确定用户终端发送的各待验证个人信息不真实,并发送验证不通过的信息至用户终端。
需要说明的是,权威机构服务器可能只存在一个私钥。由于用户个人信息变化导致默克尔根值的有效或失效状态发生变化时,权威机构服务器会再次用同一个私钥对默克尔根值进行签名,并再次将所述默克尔根值和对应的数字签名存储至区块链平台。这就导致区块链平台存在多个相同的默克尔根值,并且这些默克尔根值对应的数字签名也是相同的。第三验证服务还可以直接根据区块链平台反馈回来的各默克尔根值的数量,若为奇数时,则确定用户终端发送的各待验证个人信息是真实;若为偶数时,则确定用户终端发送的各待验证个人信息不真实。
本实施例提供了一种区块链平台通过采用第一公钥进行验证确定有效默克尔根值的策略,从而防止在个人信息更新后,用户仍采用更新前的真实信息通过验证。
进一步地,根据本申请个人信息的零知识证明方法的第一实施例提出本申请个人信息的零知识证明方法的第三实施例,在本实施例中,所述步骤S40之前还包括:
步骤S60,权威机构服务器接收用户终端发送的至少两条个人信息,并根据接收到用户终端发送的至少两条个人信息,创建一个档案号和所述档案号对应的包括用户终端发送的至少两条个人信息的信息档案;
步骤S70,所述权威机构服务器采用预设的哈希算法、预设的有序默克尔树构建规则和所述信息档案中各条个人信息,构建所述档案号对应的第一默克尔树,并将权威机构ID、所述档案号和所述信息档案发送至用户终端;
步骤S80,所述权威机构服务器根据第一私钥对所述第一默克尔树的默克尔根值签名,生成所述第一默克尔树的默克尔根值对应的第一数字签名;
步骤S90,所述权威机构服务器将包括所述第一默克尔树的默克尔根值、所述第一默克尔树的默克尔根值对应的第一数字签名和权威机构ID的信息存储至所述区块链平台。
在本方案中,权威机构服务器接收用户终端发送的至少两条个人信息,会创建一个唯一的档案号和所述档案号对应的信息档案,该信息档案中包括用户终端发送的各条个人信息。
需要说明的是,权威机构服务器接收到用户终端发送的至少两条个人信息后,会先审核用户终端发送的各条个人信息的真实性,例如用户终端发送的身份证号码,通过判断是否符合身份证号码所规定的长度、或者判断身份证号码和用户终端发送的姓名是否是对应的关系。当确定用户终端发送的多条个人信息全部真实时,才创建一个唯一的档案号和所述档案号对应的信息档案,该信息档案中包括用户终端发送的各条个人信息。
所述权威机构服务器采用预设的哈希算法、预设的有序默克尔树构建规则和所述信息档案中各条个人信息,构建所述档案号对应的第一默克尔树。例如图6中的默克尔树的构建的详细过程如下:第一步,采用预设的哈希算法获得各条个人信息对应的哈希值hash(P1)、hash(P2)、hash(P3)、hash(P4)、hash(P5)和hash(P6),比较各哈希值,获知hash(P1)<hash(P2)<hash(P3)<hash(P4)<hash(P5)<hash(P6),根据预设的有序默克尔树构建规则(从小至大依次从左至右排序),依次排序第一层叶节点;第二步根据已排序好的各叶节点的哈希值,采用哈希算法,获得第二层节点AB的哈希值hash(A+B)、节点CD的哈希值hash(C+D)和节点EF哈希值hash(E+F),且hash(A+B)<hash(C+D)<hash(E+F),根据排序规则,具有hash(A+B)的节点AB为第二层第一个位置,具有hash(C+D)的节点CD为第二层第二个位置,而hash(E+F)的节点EF自动上升为第三层节点;第三步根据hash(A+B)和hash(C+D),计算出第三层节点ABCD的哈希值为hash(AB+CD),并且hash(AB+CD)<hash(E+F),根据排序规则,将节点ABCD放在第三层第一个位置,节点EF放在第三层第二个位置;第四步,根据hash(AB+CD)和hash(E+F)算出默克尔根节点的哈希值为hash(ABCD+EF)。
需要说明的是,在上述明文信息与默克尔验证信息传输的过程中,以及第三方验证服务器对信息进行验证的过程中,即使采用保密传输机制,也有可能导致部分用于默克尔验证的哈希值泄露。例如通过网络监听或者恶意的验证机构反复索取多种多样的个人信息,都可能会导致全部或者部分默克尔树的数据被不法者获得。因为身份与隐私信息很多都属于一个固定大小的离散有限集合,例如性别{男、女}、婚姻状况{未婚、已婚、离异、丧偶}等。攻击者可以通过穷举法多次构建叶节点,并结合已知的有序数字摘要层的信息,算出最终的默克尔根值。如果与个人的真实默克尔根值相符,则攻击者就获得了某项个人信息的明文内容。为防止恶意攻击者用穷举的方式推断个人信息,在构建叶节点时,可以为每条个人信息分配一个特定数值,采用哈希算法对个人信息和对应的特定数值进行计算获得该条个人信息对应的哈希值。该特定数值可以为权威机构随机产生的数值,也可以为用户上传的个人密码的哈希值,并且个人还可以定期通过权威认证机构更换个人密码。这样,即使攻击者可以穷举有限离散集合中的明文信息,也无法穷举中特定数值,也就无法穷举算出该明文信息对应的哈希值,也就无法推算出默克尔根值。
权威机构服务器构建第一默克尔树后,会将权威机构ID、所述档案号、所述信息档案发送至用户终端,用户终端根据权威机构ID,获取该权威机构ID对应的哈希算法和有序默克尔树构建规则,然后根据所述信息档案、所述哈希算法和所述有序默克尔树构建规则,自己构建第一默克尔树,从而获得第一默克尔树中的数据。
权威机构服务器构建第一默克尔树后,除了将权威机构ID、所述档案号、所述信息档案发送至用户终端,还可以将所述档案号对应的第一默克尔树也发送至用户终端。
需要说明的是,权威机构服务器可以通过生成一个包括权威机构ID、所述档案号、所述信息档案对应的数字证书,所述数字证书还可以包括所述档案号对应的第一默克尔树的数字证书,将所述数字证书发送至用户终端。
权威机构服务器会采用第一私钥对构建的第一默克尔树的默克尔根值进行签名,生成所述第一默克尔树的默克尔根值对应的第一数字签名(采用第一私钥进行签名代表这默克尔根值是有效的)。之后,权威机构服务器会将包括所述第一默克尔树的默克尔根值、所述第一数字签名和权威机构ID的信息发送至区块链平台,区块链平台会存储接收到的所述包括所述第一默克尔树的默克尔根值、所述第一数字签名和权威机构ID的信息。
需要说明的是,由于某些原因,例如用户个人信息更新,当权威机构服务器认为已经创建的默克尔根值失效了,权威机构服务器会使用第二私钥对所述默克尔根值进行签名生成数字签名(采用第二私钥进行签名,代表默克尔根值失效),并将包括所述默克尔根值、数字签名和权威机构ID的信息存储值区块链平台。
本实施例通过采用预设的哈希算法和有序默克尔树构建规则构建基于用户终端提供的个人信息的默克尔树,并将所述默克尔树的默克尔根值存储在区块链平台。由于哈希摘要算法为单向映射算法,无法通过哈希值反向推算出明文信息,而默克尔树的根值与任一叶节点的内容和位置都直接相关,任一叶节点的内容或位置的变更都会引起根值的改变,以及区块链平台上存储的数据是不能被修改和删除的,从而保证了用户的身份内容信息的安全性,以及确保基于用户信息创建的默克尔树的默克尔根值不易被修改。
进一步地,参照图4,根据本申请个人信息的零知识证明方法的第一实施例提出本申请个人信息的零知识证明方法的第四实施例,在本实施例中,所述步骤S90包括:
步骤S91,所述权威机构服务器调用所述区块链平台上的智能合约,创建一个包括所述第一默克尔树的默克尔根值、所述第一默克尔树的默克尔根值对应的第一数字签名和权威机构ID的第一交易记录;
步骤S92,所述权威机构服务器将所述第一交易记录存储至所述区块链平台。
本方案中,权威机构服务器通过调用区块链平台上的智能合约,会生成一个交易,权威机构服务器会将包括所述第一默克尔树的默克尔根值、所述第一数字签名和权威机构的信息写入交易记录中。然后将所述交易记录存储在区块链平台上的所调用的智能合约中。图7即为一种存储了默克尔根值的交易记录,该交易记录的Input Data中以aecb88结尾的那串字符串便为包括默克尔根值和对应的数字签名的信息,From中的信息则为权威机构ID。
本实施例通过将默克尔根值写入交易记录并存储在区块链平台上,从而确保默克尔根值不易被修改。
进一步地,根据本申请个人信息的零知识证明方法的第一实施例提出本申请个人信息的零知识证明方法的第五实施例,在本实施例中,所述步骤S90之后还包括:
步骤S100,所述权威机构服务器接收用户终端发送的更新请求,其中所述更新请求包括档案号和至少一条个人信息;
步骤S110,所述权威机构服务器根据更新请求中的档案号对应的信息档案和更新请求中的至少一条个人信息,生成更新请求中的档案号对应的新信息档案;
步骤S120,所述权威机构服务器采用预设的哈希算法、预设的有序默克尔树构建规则和所述新信息档案中各条个人信息,构建更新请求中的档案号对应的第二默克尔树,并将权威机构ID、更新请求中的档案号和所述新信息档案发送至用户终端;
步骤S130,所述权威机构服务器采用第一私钥对第二默克尔树的默克尔根值签名,生成第二数字签名;
步骤S140,所述权威机构将包括第二默克尔树的默克尔根值、第二数字签名和权威机构ID的信息存储至所述区块链平台。
在本方案中,权威机构服务器接收用户终端发送包括档案号和至少一条个人信息的更新请求后,会根据更新请求中的档案号,调出该档案号对应的信息档案,然后根据更新请求中的至少一条个人信息和档案号对应的信息档案中的多条个人信息,更新所述档案号对应的信息档案,并将权威机构ID、更新请求中的档案号和所述新信息档案发送至用户终端,或者将权威机构ID、更新请求中的档案号、所述新信息档案和更新请求中的档案号对应的第二默克尔树发送至用户终端。
需要说明的是,更新请求中的个人信息可能只是原有信息档案中某条信息内容的更新,例如原有档案中的存在某条个人信息为“居住地为广东”,更新请求中个人信息为“居住地为深圳”,这种情况下会将原有的“居住地为广东”的这条个人信息删除,将“居住地为深圳”的个人信息存储在原有信息档案中,生成新的信息档案。更新请求中的个人信息可能是原有信息档案中不存在的信息,这种情况下会将更新请求中的个人信息添加到原有信息档案中,生成的新信息档案。
信息档案更新后,权威机构服务器会根据预设的哈希算法和新的信息档案,生成所述新的信息档案对应的第二默克尔树。采用第一私钥对第二默克尔树的默克尔根值进行签名,生成第二数字签名,并将包括第二默克尔树的默克尔根值、第二数字签名和权威机构ID的信息存储至区块链平台
需要说明的是,所述权威机构将包括第二默克尔树的默克尔根值、第二数字签名和权威机构ID的信息存储至所述区块链平台步骤之前还包括:
所述权威机构服务器采用第二私钥对更新请求中档案号对应的第一默克尔树的默克尔根值进行签名,生成第三数字签名,并将包括第一默克尔树的默克尔根值、第三数字签名和权威机构ID的信息存储至所述区块链平台。
当用户个人的某些信息发生变化时,由于更新前的用户个人信息对应的默克尔根值已经存储在区块链平台上,该默克尔根值是不能对其进行删除和修改的,未防止用户利用旧的个人信息去进行验证的这情况发生。权威机构服务器存在第一私钥和第二私钥两把私钥(第一私钥进行签名表示默克尔根值有效,第二私钥进行签名表示默克尔根失效),信息档案更新后,权威机构服务器会采用第二私钥对已存储的更新前的信息档案对应的默克尔根值进行签名,生成第三数字签名;将包括更新前的信息档案对应的默克尔根值和第三数字签名的信息存储至区块链平台。
本实施例通过根据用户终端的个人信息更新请求,对信息档案更新并为更新后的信息档案创建新的默克尔树以及将新默克尔树根值存储在区块链平台,从而在用户某些个人信息更新后,确保更新后的真实信息能通过验证。
本发明还提出了一种个人信息的零知识证明方法***。
参照图5,在一实施例中,所述***包括:第三方验证服务器100、区块链平台200和用户终端300。
第三方验证服务器100,用于接收用户终端300发送的至少一条待验证个人信息、待验证信息认证的权威机构ID和默克尔验证信息,其中所述默克尔验证信息包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值或包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层;
所述第三方验证服务器100,还用于根据所述待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的哈希算法和有序默克尔树构建规则,并根据所述哈希算法、所述有序默克尔树构建规则、所述至少一条待验证个人信息和所述默克尔验证信息进行计算,获得待验证的默克尔根值,并将待验证的默克尔根值和待验证信息认证的权威机构ID发送至区块链平台200;
区块链平台200,用于根据接收到的所述待验证的默克尔根值和待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的至少一个与所述待验证的默克尔根值相同的默克尔根值,并将获得的所述各默克尔根值、对应的数字签名和对应的存储时间发送至所述第三方验证服务器100;
所述第三方验证服务器100,还用于接收所述区块链平台200发送的所述各默克尔根值、对应的数字签名和对应的存储时间,并根据待验证信息认证的权威机构ID、接收到的所述各默克尔根值、对应的数字签名和对应的存储时间,对用户终端300发送的各待验证个人信息进行验证。
需要说明的是,上述***具有个人信息的零知识证明方法的第一实施例的全部技术特征,具体交互过程可以参照前述方法的全部实施例执行,相应的也具有前述方法的实施例的全部技术效果。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序。所述计算机可读存储介质可以是图1的服务器中的存储器20,也可以是如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘中的至少一种,所述计算机可读存储介质包括若干信息用以使得第三方验证服务器、用户终端、权威机构服务器和/或区块链平台执行本发明各个实施例所述的方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种个人信息的零知识证明方法,其特征在于,包括步骤:
第三方验证服务器接收用户终端发送的至少一条待验证个人信息、待验证信息认证的权威机构ID和默克尔验证信息,其中所述默克尔验证信息包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值或包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层;
所述第三方验证服务器根据所述待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的哈希算法和有序默克尔树构建规则;
所述第三方验证服务器根据所述哈希算法、所述有序默克尔树构建规则、所述至少一条待验证个人信息和所述默克尔验证信息进行计算,获得待验证的默克尔根值,并将待验证的默克尔根值和待验证信息认证的权威机构ID发送至区块链平台;
所述区块链平台根据接收到的所述待验证的默克尔根值和待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的至少一个与所述待验证的默克尔根值相同的默克尔根值,并将获得的所述各默克尔根值、对应的数字签名和对应的存储时间发送至所述第三方验证服务器;
所述第三方验证服务器接收所述区块链平台发送的所述各默克尔根值、对应的数字签名和对应的存储时间,并根据待验证信息认证的权威机构ID、接收到的所述各默克尔根值、对应的数字签名和对应的存储时间,对用户终端发送的各待验证个人信息进行验证;
所述第三方验证服务器根据待验证信息认证的权威机构ID、接收到的所述各默克尔根值、对应的数字签名和对应的存储时间,对用户终端发送的各待验证个人信息进行验证的步骤包括:
所述第三方验证服务器根据所述各默克尔根值对应的存储时间,从所述各默克尔根值中选择存储时间最近的默克尔根值;
所述第三方验证服务器根据所述待验证信息中的权威机构ID,获取所述待验证信息中权威机构ID对应的权威机构的第一公钥,并采用所述第一公钥对选择的存储时间最近的默克尔根值对应的数字签名进行验证;
若验证通过,所述第三方验证服务器确定用户终端发送的各待验证个人信息是真实;
若验证不通过,所述第三方验证服务器确定用户终端发送的各待验证个人信息不真实。
2.如权利要求1所述的个人信息的零知识证明方法,其特征在于,所述默克尔验证信息还包括至少一条非待验证的个人信息;
所述第三方验证服务器根据所述哈希算法、所述有序默克尔树构建规则、所述至少一条待验证个人信息和所述默克尔验证信息进行计算,获得待验证的默克尔根值的步骤包括:
所述第三方验证服务器根据所述哈希算法、所述有序默克尔树构建规则、所述至少一条待验证个人信息和所述默克尔验证信息进行计算,获得待验证的默克尔根值,其中所述默克尔验证信息包括至少一条非待验证的个人信息和除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值或包括至少一条非待验证的个人信息、除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层。
3.如权利要求2所述的个人信息的零知识证明方法,其特征在于,所述区块链平台根据接收到的所述待验证的默克尔根值和待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的至少一个与所述待验证的默克尔根值相同的默克尔根值,并将获得的所述各默克尔根值、对应的数字签名和对应的存储时间发送至所述第三方验证服务器的步骤之前包括:
权威机构服务器接收用户终端发送的至少两条个人信息,并根据接收到用户终端发送的至少两条个人信息,创建一个档案号和所述档案号对应的包括用户终端发送的至少两条个人信息的信息档案;
所述权威机构服务器采用预设的哈希算法、预设的有序默克尔树构建规则和所述信息档案中各条个人信息,构建所述档案号对应的第一默克尔树,并将权威机构ID、所述档案号和所述信息档案发送至用户终端;
所述权威机构服务器根据第一私钥对所述第一默克尔树的默克尔根值签名,生成所述第一默克尔树的默克尔根值对应的第一数字签名;
所述权威机构服务器将包括所述第一默克尔树的默克尔根值、所述第一默克尔树的默克尔根值对应的第一数字签名和权威机构ID的信息存储至所述区块链平台。
4.如权利要求3所述的个人信息的零知识证明方法,其特征在于,所述权威机构服务器将包括所述第一默克尔树的默克尔根值、所述第一默克尔树的默克尔根值对应的第一数字签名和权威机构ID的信息存储至所述区块链平台的步骤包括:
所述权威机构服务器调用所述区块链平台上的智能合约,创建一个包括所述第一默克尔树的默克尔根值、所述第一默克尔树的默克尔根值对应的第一数字签名和权威机构ID的第一交易记录;
所述权威机构服务器将所述第一交易记录存储至所述区块链平台。
5.如权利要求4所述的个人信息的零知识证明方法,其特征在于,所述权威机构服务器将包括所述第一默克尔树的默克尔根值、所述第一默克尔树的默克尔根值对应的第一数字签名和权威机构ID的信息存储至所述区块链平台之后还包括:
所述权威机构服务器接收用户终端发送的更新请求,其中所述更新请求包括档案号和至少一条个人信息;
所述权威机构服务器根据更新请求中的档案号对应的信息档案和更新请求中的至少一条个人信息,生成更新请求中的档案号对应的新信息档案;
所述权威机构服务器采用预设的哈希算法、预设的有序默克尔树构建规则和所述新信息档案中各条个人信息,构建更新请求中的档案号对应的第二默克尔树,并将权威机构ID、更新请求中的档案号和所述新信息档案发送至用户终端;
所述权威机构服务器采用第一私钥对第二默克尔树的默克尔根值签名,生成第二数字签名;
所述权威机构将包括第二默克尔树的默克尔根值、第二数字签名和权威机构ID的信息存储至所述区块链平台。
6.如权利要求5中所述的个人信息的零知识证明方法,其特征在于,所述权威机构服务器采用第一私钥对第二默克尔树的默克尔根值签名,生成第二数字签名的步骤之前还包括:
所述权威机构服务器采用第二私钥对更新请求中档案号对应的第一默克尔树的默克尔根值进行签名,生成第三数字签名,并将包括第一默克尔树的默克尔根值、第三数字签名和权威机构ID的信息存储至所述区块链平台。
7.如权利要求6所述的个人信息的零知识证明方法,其特征在于,所述权威机构将包括第二默克尔树的默克尔根值、第二数字签名和权威机构ID的信息存储至所述区块链平台的步骤包括:
所述权威机构服务器调用所述区块链平台上的智能合约,创建一个包括所述第二默克尔树的默克尔根值、所述第二数字签名、和权威机构ID的第二交易记录;
所述权威机构服务器发送所述第二交易记录存储至所述区块链平台。
8.一种个人信息的零知识证明方法***,其特征在于,所述***包括:
第三方验证服务器,用于接收用户终端发送的至少一条待验证个人信息、待验证信息认证的权威机构ID和默克尔验证信息,其中所述默克尔验证信息包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值或包括除所述待验证个人信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层;
所述第三方验证服务器,还用于根据所述待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的哈希算法和有序默克尔树构建规则,并根据所述哈希算法、所述有序默克尔树构建规则、所述至少一条待验证个人信息和所述默克尔验证信息进行计算,获得待验证的默克尔根值,并将待验证的默克尔根值和待验证信息认证的权威机构ID发送至区块链平台;
区块链平台,用于根据接收到的所述待验证的默克尔根值和待验证信息认证的权威机构ID,获取待验证信息认证的权威机构ID对应的至少一个与所述待验证的默克尔根值相同的默克尔根值,并将获得的所述各默克尔根值、对应的数字签名和对应的存储时间发送至所述第三方验证服务器;
所述第三方验证服务器,还用于接收所述区块链平台发送的所述各默克尔根值、对应的数字签名和对应的存储时间,并根据待验证信息认证的权威机构ID、接收到的所述各默克尔根值、对应的数字签名和对应的存储时间,对用户终端发送的各待验证个人信息进行验证;
所述第三方验证服务器根据待验证信息认证的权威机构ID、接收到的所述各默克尔根值、对应的数字签名和对应的存储时间,对用户终端发送的各待验证个人信息进行验证的步骤包括:
所述第三方验证服务器根据所述各默克尔根值对应的存储时间,从所述各默克尔根值中选择存储时间最近的默克尔根值;
所述第三方验证服务器根据所述待验证信息中的权威机构ID,获取所述待验证信息中权威机构ID对应的权威机构的第一公钥,并采用所述第一公钥对选择的存储时间最近的默克尔根值对应的数字签名进行验证;
若验证通过,所述第三方验证服务器确定用户终端发送的各待验证个人信息是真实;
若验证不通过,所述第三方验证服务器确定用户终端发送的各待验证个人信息不真实。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的个人信息的零知识证明方法的步骤。
CN201910365739.5A 2019-04-29 2019-04-29 个人信息的零知识证明方法、***及存储介质 Active CN110311782B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910365739.5A CN110311782B (zh) 2019-04-29 2019-04-29 个人信息的零知识证明方法、***及存储介质
PCT/CN2019/088063 WO2020220413A1 (zh) 2019-04-29 2019-05-23 个人信息的零知识证明方法、***及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910365739.5A CN110311782B (zh) 2019-04-29 2019-04-29 个人信息的零知识证明方法、***及存储介质

Publications (2)

Publication Number Publication Date
CN110311782A CN110311782A (zh) 2019-10-08
CN110311782B true CN110311782B (zh) 2020-04-14

Family

ID=68074877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910365739.5A Active CN110311782B (zh) 2019-04-29 2019-04-29 个人信息的零知识证明方法、***及存储介质

Country Status (2)

Country Link
CN (1) CN110311782B (zh)
WO (1) WO2020220413A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765675A (zh) * 2019-11-01 2021-05-07 上海唯链信息科技有限公司 一种基于区块链的数据处理方法及装置
CN110930153B (zh) * 2019-12-09 2022-09-30 趣派(海南)信息科技有限公司 基于隐藏第三方账号的区块链隐私数据管理方法和***
CN111539721A (zh) * 2020-04-01 2020-08-14 北京千云天下科技有限公司 一种基于零知识证明的100%资产准备金证明方法及证明装置
CN111554407A (zh) * 2020-04-16 2020-08-18 深圳中兴网信科技有限公司 人群标记方法、***和计算机可读存储介质
CN111698092B (zh) * 2020-05-29 2023-07-21 湖南天河国云科技有限公司 基于零知识证明和区块链的文件存储证明方法、***及介质
CN112733168A (zh) * 2021-01-13 2021-04-30 上海图灵加佳网络科技有限公司 行驶数据分享方法、***、存储介质和车载终端
CN112865980A (zh) * 2021-02-01 2021-05-28 杭州复杂美科技有限公司 区块链加密投票方法、计算机设备和存储介质
CN112801663B (zh) * 2021-02-05 2024-03-19 北京众享比特科技有限公司 区块链存证方法、装置、***、设备和介质
CN113746638B (zh) * 2021-09-03 2023-04-07 杭州复杂美科技有限公司 Nft存储方法、nft还原方法、计算机设备和存储介质
CN114153849A (zh) * 2021-12-02 2022-03-08 深圳前海微众银行股份有限公司 一种区块链的数据生成及验证方法及装置
CN114401091B (zh) * 2021-12-16 2023-10-24 北京航空航天大学 基于区块链的设备跨域认证管理方法及装置
CN115001714B (zh) * 2022-07-15 2024-03-19 中国电信股份有限公司 资源访问方法及装置、电子设备、存储介质
CN115208585B (zh) * 2022-09-07 2022-11-18 环球数科集团有限公司 一种基于零知识证明的数据交互方法与***
US20240129126A1 (en) * 2022-10-12 2024-04-18 Khosla Ventures LLC Cryptographic systems and methods for providing services to authenticated users

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107438002A (zh) * 2016-05-27 2017-12-05 索尼公司 基于区块链的***以及***中的电子设备和方法
CN109614820A (zh) * 2018-12-06 2019-04-12 山东大学 基于零知识证明的智能合约认证数据隐私保护方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009008069A1 (ja) * 2007-07-11 2009-01-15 Kabushiki Kaisha Toshiba グループ署名システム、装置及びプログラム
CN101997683B (zh) * 2009-08-10 2012-07-04 北京多思科技发展有限公司 一种零知识证明的认证方法及认证装置
US9189617B2 (en) * 2013-09-27 2015-11-17 Intel Corporation Apparatus and method for implementing zero-knowledge proof security techniques on a computing platform
KR101735708B1 (ko) * 2016-02-02 2017-05-15 주식회사 코인플러그 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버
US10229270B2 (en) * 2016-12-23 2019-03-12 Amazon Technologies, Inc. Host attestation
EP3442160A1 (en) * 2017-08-07 2019-02-13 Siemens Aktiengesellschaft Pruning of authentication trees
CN108418689B (zh) * 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
CN108270571B (zh) * 2017-12-08 2019-10-11 西安电子科技大学 基于区块链的物联网身份认证***及其方法
CN109033841B (zh) * 2018-07-12 2022-02-01 杨城 一种写验分离的弱中心化可信数据存储***和管理方法
CN109040082B (zh) * 2018-08-10 2020-04-21 阿里巴巴集团控股有限公司 用户的身份内容信息的认证、验证方法和装置
CA3051762A1 (en) * 2018-12-13 2019-04-18 Alibaba Group Holding Limited Data isolation in a blockchain network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107438002A (zh) * 2016-05-27 2017-12-05 索尼公司 基于区块链的***以及***中的电子设备和方法
CN109614820A (zh) * 2018-12-06 2019-04-12 山东大学 基于零知识证明的智能合约认证数据隐私保护方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
零知识证明应用到区块链中的技术挑战;李康等;《大数据 Big Data Research》;20180131;全文 *

Also Published As

Publication number Publication date
CN110311782A (zh) 2019-10-08
WO2020220413A1 (zh) 2020-11-05

Similar Documents

Publication Publication Date Title
CN110311782B (zh) 个人信息的零知识证明方法、***及存储介质
CN110334175B (zh) 医疗文档的零知识证明方法、***及存储介质
CN110321735B (zh) 基于零知识证明的业务办理方法、***及存储介质
US11349674B2 (en) Digital certificate management method and apparatus, computer device, and storage medium
US11907406B2 (en) Computer-implemented method and system of tamper-evident recording of a plurality of service data items
CN107154852B (zh) 一种面向区块链应用的移动端身份验证方法
CN110336672B (zh) 基于零知识证明的公民隐私保护的方法、***及存储介质
US11394556B2 (en) Blockchain-enabled computing
CN110300112A (zh) 区块链密钥分层管理方法
CN111027036B (zh) 一种基于区块链的身份关联方法
JP2016509443A (ja) より低いエントロピーを有する入力レコードについて追加的セキュリティをもたらす検証システム及び方法
CN108696356B (zh) 一种基于区块链的数字证书删除方法、装置及***
CN111159681A (zh) 基于区块链的数字身份的实现方法及***
KR102295113B1 (ko) 영지식증명을 이용한 블록체인 기반의 전자 계약 관리 시스템 및 그 방법
CN114257376B (zh) 数字证书更新方法、装置、计算机设备和存储介质
US11232190B2 (en) Device attestation techniques
US20030115461A1 (en) System and method for the signing and authentication of configuration settings using electronic signatures
CN113010872A (zh) 一种身份认证方法、装置、计算机设备及存储介质
US20040128503A1 (en) Certificate path information management system and certificate management device
CN112039837B (zh) 一种基于区块链和秘密共享的电子证据保全方法
Wang et al. A lightweight data integrity verification with data dynamics for mobile edge computing
CN112989404A (zh) 基于区块链的日志管理方法及相关设备
US20220141033A1 (en) Method of verifying origin of a signed file
CN112653767B (zh) 数字身份管理方法、装置、电子设备和可读存储介质
NL2026686B1 (en) method of verifying origin of a signed file

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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20191008

Assignee: YANTAI DASHAN DATA TECHNOLOGY Co.,Ltd.

Assignor: SHANDONG INSTITUTE OF BUSINESS AND TECHNOLOGY

Contract record no.: X2021980003055

Denomination of invention: Zero knowledge proof method, system and storage medium of personal information

Granted publication date: 20200414

License type: Common License

Record date: 20210426

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210602

Address after: 264005 191 Binhai Middle Road, Laishan District, Yantai, Shandong

Patentee after: SHANDONG INSTITUTE OF BUSINESS AND TECHNOLOGY

Patentee after: YANTAI DASHAN DATA TECHNOLOGY Co.,Ltd.

Address before: 264005 191 Binhai Middle Road, Laishan District, Yantai, Shandong

Patentee before: SHANDONG INSTITUTE OF BUSINESS AND TECHNOLOGY

Patentee before: Shandong Ice Chain Network Information Technology Co.,Ltd.