CN111211909B - 一种基于零知识证明的分布式认证方法 - Google Patents
一种基于零知识证明的分布式认证方法 Download PDFInfo
- Publication number
- CN111211909B CN111211909B CN201911393543.3A CN201911393543A CN111211909B CN 111211909 B CN111211909 B CN 111211909B CN 201911393543 A CN201911393543 A CN 201911393543A CN 111211909 B CN111211909 B CN 111211909B
- Authority
- CN
- China
- Prior art keywords
- address
- registration
- knowledge proof
- zero
- blockchain network
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3218—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于零知识证明的分布式认证方法,所述方法在目标用户通过目标节点注册区块链网络时,所述目标节点获取所述目标用户的用户信息;所述目标节点基于所述用户信息生成零知识证明以及注册地址,并将所述零知识证明以及所述注册地址提交至所述区块链网络;所述区块链网络基于所述零知识证明对所述目标用户进行验证;当所述零知识证明验证成功时,所述区块链网络保存所述注册地址。本发明通过将用户信息存储于链下,采用零知识证明进行链上验证,这样保护了目标用户的身份信息,提高目标用户的身份信息的安全性。此外,将所述注册地址与身份信息相关联,便于对链上账户的监管,并对维护区块链的网络环境具有积极的作用。
Description
技术领域
本发明涉及区块链领域,特别涉及一种基于零知识证明的分布式认证方法。
背景技术
在整个信息安全理论和技术中身份认证技术是非常重要的一个方面,是安全系统的门户,也是网络应用中的第一道防线。尤其是在开放的网络环境中,其他安全系统的正常工作都是建立在身份认证的基础之上,因此一旦身份认证系统被攻破,那么系统中的所有安全措施将形同虚设。因此,针对身份认证理论及其应用的研究是一个非常重要的课题。现如今大部分的身份认证都是趋于中心化的,实体用户的隐私信息都存储在中心化的服务器上,信息安全得不到保证。
发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供一种基于零知识证明的分布式认证方法。
为了解决上述技术问题,本发明所采用的技术方案如下:
一种基于零知识证明的分布式认证方法,所述方法包括:
当目标用户通过目标节点注册区块链网络时,所述目标节点获取所述目标用户的用户信息,其中,所述用户信息包括人脸图像以及身份证图像;
所述目标节点基于所述用户信息生成零知识证明以及注册地址,并将所述零知识证明以及所述注册地址提交至所述区块链网络;
所述区块链网络基于所述零知识证明对所述目标用户进行验证;
当所述零知识证明验证成功时,所述区块链网络保存所述注册地址。
所述基于零知识证明的分布式认证方法,其中,所述区块链网络为许可链或公链。
所述基于零知识证明的分布式认证方法,其中,所述当目标用户通过目标节点注册区块链网络时,所述目标节点基于所述用户图像生成零知识证明以及注册地址具体包括:
根据所述人脸图像以及身份证图像对所述用户信息进行验证;
若所述用户信息验证成功,则目标节点基于所述用户图像生成零知识证明以及注册地址;
若所述用户信息验证失败,则提示用户信息不匹配。
所述基于零知识证明的分布式认证方法,其中,所述当所述零知识证明验证成功时,所述区块链网络保存所述注册地址具体包括:
当所述零知识证明验证成功时,所述区块链网络对所述注册地址进行认证;
若所述注册地址认证成功,所述区块链网络保存所述注册地址;
若所述注册地址认证失败,所述区块链网络拒绝所述目标用户注册。
所述基于零知识证明的分布式认证方法,其中,所述区块链网络部署有地址合约,所述地址合约用于进行地址认证;所述将所述零知识证明以及所述注册地址提交至所述区块链网络具体为:
所述目标节点将所述零知识证明以及所述注册地址以交易方式发送至地址合约。
所述基于零知识证明的分布式认证方法,其中,所述当所述零知识证明验证成功时,所述区块链网络保存所述注册地址之后,所述方法还包括:
所述节点设备根据所述注册地址生成主地址,其中,所述主地址为所述注册地址一一对应,所述主地址用于执行区块链网络的交易。
所述基于零知识证明的分布式认证方法,其中,所述节点设备根据所述注册地址生成主地址之后,所述方法还包括:
所述目标节点向所述区块链网络提交主地址认证交易,其中,所述主地址认证交易包括主地址以及第一可链接环签名,所述第一可链接环签名根据所述主地址生成的;
所述区块链网络将所述第一可链接环签名广播至所述区块链网络中的所有节点设备,以使得各节点设备均基于所述第一可链接环签名对所述主地址进行认证;
若各节点设备均认证成功,所述区块链网络存储所述主地址的地址状态,其中,所述主地址的地址状态为通过验证。
所述基于零知识证明的分布式认证方法,其中,所述节点设备根据所述注册地址生成主地址之后,所述方法还包括:
所述节点设备生成所述目标用户对应的若干隐私地址,其中,所述若干隐私地址中的每个隐私地址为根据主地址生成,或根据主地址生成的隐私地址生成的,以使得所述目标用户通过若干隐私地址并行向所述区块链网络提交交易。
所述基于零知识证明的分布式认证方法,其中,所述节点设备生成所述目标用户对应的若干隐私地址之后,所述方法还包括:
对于每个隐私地址,所述节点设备根据该隐私地址生成第二可链接环签名,并将该隐私地址以及第二可链接环签名提交至所述区块链网络;
所述区块链网络以及所述区块链网络内的所有节点设备基于该隐私地址以及第二可链接环签名,对该隐私地址进行验证;
当验证通过时,所述区块链网络将该隐私地址的地址状态修改为通过验证,其中,所述区块链网络执行地址状态为通过验证的隐私地址对应的交易。
有益效果:与现有技术相比,本发明提供了一种基于零知识证明的分布式认证方法,所述方法在目标用户通过目标节点注册区块链网络时,所述目标节点获取所述目标用户的用户信息;所述目标节点基于所述用户信息生成零知识证明以及注册地址,并将所述零知识证明以及所述注册地址提交至所述区块链网络;所述区块链网络基于所述零知识证明对所述目标用户进行验证;当所述零知识证明验证成功时,所述区块链网络保存所述注册地址。本发明通过将用户信息存储于链下,采用零知识证明进行链上验证,这样保护了目标用户的身份信息,提高目标用户的身份信息的安全性。此外,将所述注册地址与身份信息相关联,便于对链上账户的监管,并对维护区块链的网络环境具有积极的作用。
附图说明
图1为本发明提供的基于零知识证明的分布式认证方法的流程图。
图2为本发明提供的基于零知识证明的分布式认证方法的流程示意图。
图3为本发明提供的基于零知识证明的分布式认证方法中用户信息认证过程的示意图。
图4为本发明提供的基于零知识证明的分布式认证方法中注册地址认证过程的示意图。
图5为本发明提供的基于零知识证明的分布式认证方法中主地址认证过程的示意图。
具体实施方式
本发明提供一种基于零知识证明的分布式认证方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
本实施提供了一种基于零知识证明的分布式认证方法,如图1、图2和图4所示,所述方法包括:
S10、当目标用户通过目标节点注册区块链网络时,所述目标节点获取所述目标用户的用户信息。
具体地,所述目标节点为所述区块链网络中的节点设备,所述目标用户通过所述目标节点在区块链网络中注册账户。所述区块链网络可以为公链网络,也可以是许可链网络。所述用户信息包括人脸图像以及身份证图像,其中,所述人脸图像为目标用户的人脸图像,身份证图像为对所述目标用户的身份证拍照得到,以便于通过身份证图像可以提取到目标用户的人脸图像。可以理解的是,所述用户信息包括两个目标用户的两个人脸图像,两个人脸图像中一个人脸图像是根据用户信息携带的人脸图像,另一个人脸图像是根据用户信息携带的身份证图像识别到。
进一步,在本实施例的一个实现方式中,所述用户信息可以为区块链网络实时拍摄包含身份证的目标用户照片,也可以是通过目标节点上传的包含身份证的目标用户照片。其中,所述目标用户照片包括有目标用户人脸。例如,所述目标用户照片为目标用户手持身份证的照片等。
S20、所述目标节点基于所述用户信息生成零知识证明以及注册地址,并将所述零知识证明以及所述注册地址提交至所述区块链网络。
具体地,所述零知识证明为根据预先构成的零知识证明生成电路生成的,用于区块链网络中证明用户身份信息验证成功的证明,其中,所述生成电路为链下构建的,并通过所述生成电路可以生成证明结构poof。所述注册地址为目标用户第一次向区块链网络申请注册时产生的中间地址,所述注册地址与目标用户的用户信息一一对应。可以理解的是,每个目标用户,仅能在首次注册区块链网络时生成一个注册地址,并且该注册地址与该目标用户相对应,根据注册地址可以确定目标用户的用户信息,根据用户信息可以确定目标用户对应的注册地址。此外,所述注册地址只能用于验证交易,不能用于区块链网络的链上交易,例如,接收转账交易等。
进一步,在本实施例的一个实现方式中,如图3所示,所述当目标用户通过目标节点注册区块链网络时,所述目标节点基于所述用户图像生成零知识证明以及注册地址具体包括:
S21、根据所述人脸图像以及身份证图像对所述用户信息进行验证;
S22、若所述用户信息验证成功,则目标节点基于所述用户图像比对过程生成零知识证明以及注册地址;
S23、若所述用户信息验证失败,则提示用户信息不匹配。
具体地,在所述步骤S21中,所述用户信息包括人脸图像以及身份证图像,分别对人脸图像以及身份证图像进行人脸识别,以得到人脸图像对应的第一人脸信息以及身份证图像对应的第二人脸信息,再将第一人脸信息和第二人脸特征点进行匹配,以实现人脸图像与身份证图像中的人脸图像进行匹配,若第一人脸信息与第二人脸信息匹配成功,则说明人脸图像与身份证图像包含同一人脸,即人脸图像与身份证图像匹配成功;若第一人脸信息与与第二人脸信息匹配失败,则说明人脸图像与身份证图像包含不为同一人脸,即人脸图像与身份证图像匹配失败。
在本实施例的一个实现方式中,所述人脸信息可以为人脸特征点集,将第一人脸信息与第二人脸信息匹配为将第一人脸特征点集与第二人脸特征点集进行匹配。所述将第一人脸特征点集与第二人脸特征点集进行匹配的过程可以为:对于第一人脸特征点集中的每个第一人脸特征点,确定该第一人脸特征点与第二人脸特征点集与其对应的第二人脸特征点的误差值,并根据获取到的所有误差值确定第一人脸信息与第二人脸信息的总误差值;若总误差值在预设范围内,则判断所述第一人脸特征点集与第二人脸特征点集匹配成功,若总误差值未在预设范围内,则判断所述第一人脸特征点集与第二人脸特征点集匹配失败。
进一步,在所述步骤S22中,所述零知识证明为根据预先构成的零知识证明生成电路生成的,其中,所述生成电路为链下构建的,并通过所述生成电路可以生成证明结构poof。在本实施例中,所述零知识证明对应的生成电路为根据人脸图像的人脸信息与身份证的人脸信息的验证过程形成的电路,在将人脸图像的人脸信息以及身份证的人脸信息输入至生成电路时,可以生成用于证明人脸图像的人脸信息与身份证的人脸信息匹配的零知识证明,其中,所述零知识证明对应的生成电路的触发条件为所述用户信息验证成功,即当所述用户信息验证成功时,触发调用零知识证明对应的生成电路的生成接口,将人脸图像以及身份证图像传入以生成零知识证明。这样采用零知识证明作为身份信息验证的证明,而将人脸图像以及身份证图像存储于目标节点本地,可以防止隐私数据泄露。当然,值得说明的是,目标节点设备将用户信息验证过程转换为零知识证明,而区块链网络中的各节点设备均相信基于零知识证明相信用户信息对应的人脸图像的人脸信息以及身份证的人脸信息匹配成功。
进一步,在本实施例的一个实现方式中,所述注册地址根据用户信息生成,例如,用户信息中的人脸图像,或者用户信息中的身份证图像。所述注册地址的生成规则可以为将根据用户信息确定人脸数据的哈希值作为注册地址。在本实施例中,所述注册地址为根据身份证图像上的人脸信息生成,这是由于身份证图像上的人脸数据是固定的,而人脸图像上的人脸数据会因一个微表情的变化而发生变化,而这点变化会使得哈希之后的数据产生巨大变化,由此采用身份证图像上的人脸信息进生成注册地址,可以保证根据用户信息生成的注册地址的唯一性。当然,在实际应用中,也可以选择根据身份证上的身份证号进行生成,这样也避免了换身份证所引起的重复注册行为。
此外,在生成注册地址后,可以对所述注册地址进行加密。其中,所述加密过程可以为基于椭圆曲线加密标准,根据目标用户的人脸信息产生一个256位字符串作为私钥,并根据所述私钥确定公钥与注册地址。例如,注册账户(pktemp,sktemp),pktemp为公钥,sktemp为私钥。
进一步,在所述步骤S23中,若人脸图像的人脸信息与身份证上的人脸信息不一致(即用户信息验证失败),则提示人脸信息不匹配,其中,所述提示可以以提示信息的方式呈现,也可以以语音播放的方式呈现。这样在用户信息验证失败时,可以提示用户重新提供用户信息,给用户的使用带来方便。
进一步,在本实施例的一个实现方式中,所述区块链网络中可以部署有地址智能合约,所述节点设备可以向地址智能合约的合约地址发送注册地址认证交易,其中,所述注册地址认证交易包括零知识证明以及注册地址,这样地址智能合约将所述零知识证明以及注册地址同步至区块链网络中的各节点设备,以使得各节点设备对所述零知识证明以及注册地址进行验证。此外,所述交易包括的为注册地址公钥信息,注册地址私钥信息存储于节点设备本地,这样可以提高注册地址的安全性。
进一步,当所述注册地址认证交易进入区块链网络的交易缓冲池时,会校验注册地址认证交易的正确性,无效的注册地址认证交易会被直接抛弃,节点设备不会进行转发,这些无效交易也无法被打包到区块中。而当注册地址认证交易被执行时,通过零知识证明来判断人脸匹配过程是否正确,并且检查注册地址是否被使用过。如果已被使用,则拒绝继续注册。否则,在合约内部空间存储该注册地址,其中,通过认证的注册地址存放在一个单独的空间。
S30、所述区块链网络基于所述零知识证明对所述目标用户进行验证。
具体地,所述零知识证明和所述注册地址均为目标节点在链下生成,在将零知识证明和注册地址发送至区块链网络后,区块链网络需要对所述零知识证明进行验证,以验证所述用户信息的匹配性。其中,所述区块链网络中预先存储有零知识证明的验证规则,在获取到零知识证明后,根据所述验证规则对所述零知识证明进行验证,若所述零知识证明验证成功,则判定所述目标用户的用户信息验证成功,若所述零知识证明验证失败,则判定所述目标用户的用户信息验证失败。
S40、当所述零知识证明验证成功时,所述区块链网络保存所述注册地址。
具体地,所述区块链网络中设置有注册地址存储集合,当零知识证明验证成功后,可以将所述注册地址存储于所述注册地址存储集合内,以保持所述注册地址,这样当目标用户登录所述区块链网络时,可以基于所述注册地址对所述目标用户进行验证。此外,由于用户信息与注册地址是一一对应的,从而区块链网络在接收到注册地址时,需要对注册地址的唯一性进行验证。相应的,所述当所述零知识证明验证成功时,所述区块链网络保存所述注册地址具体包括:
S41、当所述零知识证明验证成功时,所述区块链网络对所述注册地址进行认证;
S42、若所述注册地址认证成功,所述区块链网络保存所述注册地址;
S43、若所述注册地址认证失败,所述区块链网络拒绝所述目标用户注册。
具体地,所述区块链网络对所述注册地址进行认证指的是区块链网络验证所述注册地址是否为第一次使用,若为第一次使用,则判定注册地址认证成功,若不为第一次使用,则判定注册地址认证失败,并且当所述注册地址认证失败时,所述区块链网络拒绝所述目标用户注册。其中,所述区块链网络对所述注册地址进行认证为区块链网络中各节点设备对所述注册地址进行认证。
进一步,在申请的一个实施例中,所述当所述零知识证明验证成功时,所述区块链网络保存所述注册地址之后,所述方法还包括:
所述节点设备根据所述注册地址生成主地址,其中,所述主地址为所述注册地址一一对应,所述主地址用于执行区块链网络的交易。
具体地,所述主地址为根据所述注册地址生成,所述主地址与所述注册地址一一对应。可以理解的是,所述注册地址为主地址的父地址,所述主地址为所述注册地址为父地址生成的子地址,每个注册地址能且仅能产生一个主地址。由此,每个目标用户(每个目标用户对应的用户信息)只能配置有一个主地址,其中,主地址可以用于参与社区投票等全部链上活动。在本实施例中,所述主地址为目标节点在链下生成的,所述主地址包括主地址公钥信息以及主地址私钥信息;在生成主地址后,目标节点将主地址公钥信息发送至合约地址,以通过合约地址将主地址公钥信息同步是区块链网络中的各节点设备。
进一步,由于每个注册地址仅对应一个主地址,从而在基于注册地址生成主地址后,需要对所述主地址进行主地址认证,其中,所述主地址认证指的是通过验证主地址的唯一性,以及通过主地址对应的可链接环签名来证明主地址与注册地址一一对应。相应的,在本实施例的一个实现方式中,如图5所示,所述节点设备根据所述注册地址生成主地址之后,所述方法还包括:
所述目标节点向所述区块链网络提交主地址认证交易,其中,所述主地址认证交易包括主地址以及第一可链接环签名,所述第一可链接环签名根据所述主地址生成的;
所述区块链网络将所述第一可链接环签名广播至所述区块链网络中的所有节点设备,以使得各节点设备均基于所述第一可链接环签名对所述主地址进行认证;
若各节点设备均认证成功,所述区块链网络存储所述主地址的地址状态,其中,所述主地址的地址状态为通过验证。
具体地,所述目标节点向所述区块链网络提交主地址认证交易为所述目标节点向合约地址发送主地址认证交易,所述主地址认证交易被广播到区块链网络中的所有区块链节点设备,各节点设备收到主地址认证交易后会校验主地址认证交易的格式是否正确以及基于所述第一可链接环签名验证所述主地址与注册地址的对应关系。其中,各节点设备校验主地址认证交易的格式是否正确以及基于所述第一可链接环签名验证所述主地址与注册地址的对应关系的过程包括各节点设备校验主地址认真交易的格式是否正确,第一可链接环签名是否有效以及第一可链接环签名中的公钥集合中的每个注册地址公钥是否均为合法的注册地址公钥。
进一步,第一可链接环签名用于证明主账户地址与注册性地址相关性。所述第一可链接环签名σ的生成过程可以为:首先选取注册地址的公钥集合S,并将主地址作为消息M,然后再加上所述主地址对应的注册地址的私钥sktemp和唯一标识符标签g0,对消息M进行签名以得到第一可链接环签名σ(g0,sktemp,M,S),然后区块链网络中各节点设备可以利用消息M,公钥集合S对第一可链接环签名进行解签,便可得到相应的验证验证结果,这样可以混淆注册地址与主地址之间的对应关系,又可以通过唯一标识符标签g0来防止多次注册的问题。
举例说明:假设目标用户的注册地址为(pktemp,sktemp),pktemp为公钥,sktemp为私钥,那么根据注册地址生成主地址,主地址为(pkmain,skmain),pkmain为公钥,skmain为私钥;然后针对主账户的公钥pkmain产生第一可链接环签名σ。其中,所述第一可链接环签名生成过程:
(1)对于n各注册地址中的每个注册地址,生成该注册地址对应的标签g0,每个注册地址对应的标签为唯一且可验证的;
(2)随机选取n-1个合法的注册地址公钥,和用户公钥pktemp一起构成公钥集合:
S={Pi|=1,2,…,n}
(3)利用公钥集合S和所述主地址对应的注册地址的标签g0对消息M(pkmain)进行签名,生成可链接环签名σ:
σ={g0,S,M,sktemp}
进一步,在本实施例的一个实现方式中,所述区块链网络对所述主地址进行认证的过程可以为:地址智能合约监测到主地址认证交易后,读取主地址认证交易携带主地址以及第一可链接环签名,基于消息M(pkmain),公钥集合S和第一可链接环签名σ,验证第一可链接环签名的合法性,输出真或者假,以来验证主地址与一注册地址相关联且均与唯一一个注册地址相关联。此外,若主地址认证失败,则将主地址认证交易会抛弃,若主地址认证成功,则地址智能合约以及区块链网络中各节点设备通过检查所有签名验证消息集合的合法性,将交易消息集合打包为一个交易并写到区块中,然后在身份验证合约中修改主地址为已通过验证。
进一步,在本申请的一个实施例中,所述节点设备根据所述注册地址生成主地址之后,所述方法还包括:所述节点设备生成所述目标用户对应的若干隐私地址,其中,所述若干隐私地址中的每个隐私地址为根据主地址生成,或根据主地址生成的隐私地址生成的,以使得所述目标用户通过若干隐私地址并行向所述区块链网络提交交易。这样采用目标用户可以拥有多个隐私地址,并且每个隐私地址都得与主地址或者基于主地址生成的隐私地址一一对应,这样对于交易的打包速度便是并行进行的,并且可以满足交易量比较大的目标用户的需求。
进一步,在本实施例的一个实现方式中,对于每个隐私地址,在生成该隐私地址后,均需要对该隐私地址进行认证。所述隐私地址进行认证过程可以包括:对于每个隐私地址,所述节点设备根据该隐私地址生成第二可链接环签名,并将该隐私地址以及第二可链接环签名提交至所述区块链网络;所述区块链网络以及所述区块链网络内的所有节点设备基于该隐私地址以及第二可链接环签名,对该隐私地址进行验证;当验证通过时,所述区块链网络将该隐私地址的地址状态修改为通过验证,其中,所述区块链网络执行地址状态为通过验证的隐私地址对应的交易。当然,值得说明的所述隐私地址的认证过程与主地址的认证过程相同,这里就不再详细说明,具体可以参照主地址的认证过程。
综上,本实施例提供了一种基于零知识证明的分布式认证方法,所述方法用零知识证明来确保实体身份隐私的安全以及达到分布式认证的目的:本实施例通过人脸识别技术将实体用户与账户进行绑定,并且采用零知识证明技术将用户的人脸隐私信息保存在本地,很好的保证了隐私数据的安全性;由于隐私数据都存在本地,就可以撇弃传统的中心化的服务器,并且由人脸验证过程产生的零知识证明的证据是上传到链上供所有节点进行验证的,所以进而实现了真正的去中心化认证。同时使用可链接环签名保证了链上的主地址与唯一的目标用户相对应:链上的主地址是目标用户的唯一的主地址,为了防止一个目标用户多次注册,采用可链接环签名的特性来保证主地址与唯一的目标用户相对应,进而实现了一个目标用户只能注册一次的目的(即,一个人脸信息对应一个主地址),且可链接环签名还可以隐藏主地址与用户之间的对应关系,进一步保证了隐私的安全性。此外,通过主地址或主地址对应的隐私地址生成隐私地址,使得一个目标用户可以对应多个隐私地址,这样对于交易的打包速度便是并行进行的,提高了交易打包的速度,并且可以满足交易量比较大的目标用户的需求
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种基于零知识证明的分布式认证方法,其特征在于,所述方法包括:
当目标用户通过目标节点注册区块链网络时,所述目标节点获取所述目标用户的用户信息,其中,所述用户信息包括人脸图像以及身份证图像;
所述目标节点基于所述用户信息生成零知识证明以及注册地址,并将所述零知识证明以及所述注册地址提交至所述区块链网络,其中,所述注册地址的生成规则为将根据用户信息确定人脸数据的哈希值作为注册地址,所述人脸数据包括人脸图像上的人脸数据和身份证图像上的人脸数据;
所述区块链网络基于所述零知识证明对所述目标用户进行验证;
当所述零知识证明验证成功时,所述区块链网络保存所述注册地址;
所述当所述零知识证明验证成功时,所述区块链网络保存所述注册地址之后,所述方法还包括:
节点设备根据所述注册地址生成主地址,其中,所述主地址为所述注册地址一一对应,所述主地址用于执行区块链网络的交易;
所述节点设备根据所述注册地址生成主地址之后,所述方法还包括:
所述目标节点向所述区块链网络提交主地址认证交易,其中,所述主地址认证交易包括主地址以及第一可链接环签名,所述第一可链接环签名根据所述主地址生成的;
所述区块链网络将所述第一可链接环签名广播至所述区块链网络中的所有节点设备,以使得各节点设备均基于所述第一可链接环签名对所述主地址进行认证;
若各节点设备均认证成功,所述区块链网络存储所述主地址的地址状态,其中,所述主地址的地址状态为通过验证。
2.根据权利要求1所述基于零知识证明的分布式认证方法,其特征在于,所述区块链网络为许可链或公链。
3.根据权利要求1所述基于零知识证明的分布式认证方法,其特征在于,所述当目标用户通过目标节点注册区块链网络时,所述目标节点基于用户图像生成零知识证明以及注册地址具体包括:
根据所述人脸图像以及身份证图像对所述用户信息进行验证;
若所述用户信息验证成功,则目标节点基于所述用户图像生成零知识证明以及注册地址;
若所述用户信息验证失败,则提示用户信息不匹配。
4.根据权利要求1所述基于零知识证明的分布式认证方法,其特征在于,所述当所述零知识证明验证成功时,所述区块链网络保存所述注册地址具体包括:
当所述零知识证明验证成功时,所述区块链网络对所述注册地址进行认证;
若所述注册地址认证成功,所述区块链网络保存所述注册地址;
若所述注册地址认证失败,所述区块链网络拒绝所述目标用户注册。
5.根据权利要求1所述基于零知识证明的分布式认证方法,其特征在于,所述区块链网络部署有地址合约,所述地址合约用于进行地址认证;所述将所述零知识证明以及所述注册地址提交至所述区块链网络具体为:
所述目标节点将所述零知识证明以及所述注册地址以交易方式发送至地址合约。
6.根据权利要求4所述基于零知识证明的分布式认证方法,其特征在于,所述节点设备根据所述注册地址生成主地址之后,所述方法还包括:
所述节点设备生成所述目标用户对应的若干隐私地址,其中,所述若干隐私地址中的每个隐私地址为根据主地址生成,或根据主地址生成的隐私地址生成的,以使得所述目标用户通过若干隐私地址并行向所述区块链网络提交交易。
7.根据权利要求6所述基于零知识证明的分布式认证方法,其特征在于,所述节点设备生成所述目标用户对应的若干隐私地址之后,所述方法还包括:
对于每个隐私地址,所述节点设备根据该隐私地址生成第二可链接环签名,并将该隐私地址以及第二可链接环签名提交至所述区块链网络;
所述区块链网络以及所述区块链网络内的所有节点设备基于该隐私地址以及第二可链接环签名,对该隐私地址进行验证;
当验证通过时,所述区块链网络将该隐私地址的地址状态修改为通过验证,其中,所述区块链网络执行地址状态为通过验证的隐私地址对应的交易。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911393543.3A CN111211909B (zh) | 2019-12-30 | 2019-12-30 | 一种基于零知识证明的分布式认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911393543.3A CN111211909B (zh) | 2019-12-30 | 2019-12-30 | 一种基于零知识证明的分布式认证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111211909A CN111211909A (zh) | 2020-05-29 |
CN111211909B true CN111211909B (zh) | 2023-03-21 |
Family
ID=70788284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911393543.3A Active CN111211909B (zh) | 2019-12-30 | 2019-12-30 | 一种基于零知识证明的分布式认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111211909B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111836070B (zh) * | 2020-07-28 | 2022-04-12 | 中国联合网络通信集团有限公司 | 用户统计方法及系统 |
CN112035889B (zh) * | 2020-09-03 | 2023-11-28 | 平安壹钱包电子商务有限公司 | 计算外包的区块链隐私验证方法、装置及计算机设备 |
CN112258720A (zh) * | 2020-10-20 | 2021-01-22 | 熵基科技股份有限公司 | 一种基于区块链的门禁系统及其控制方法 |
CN112822181B (zh) * | 2020-12-30 | 2022-08-16 | 杭州趣链科技有限公司 | 跨链交易的验证方法、终端设备及可读存储介质 |
CN112861186B (zh) * | 2021-01-28 | 2023-01-10 | 上海分布信息科技有限公司 | 身份一致性证明方法及身份一致性证明系统 |
CN113129518B (zh) * | 2021-04-28 | 2022-10-11 | 北方工业大学 | 电动车辆充电系统及其资源管理方法 |
CN113221148B (zh) * | 2021-05-27 | 2024-06-21 | 中国人民银行数字货币研究所 | 一种信息验证方法和装置 |
CN113836573A (zh) * | 2021-08-11 | 2021-12-24 | 中国银行股份有限公司 | 基于分布式存储的用户信息处理方法及装置 |
CN114257429B (zh) * | 2021-12-07 | 2024-01-30 | 中信银行股份有限公司 | 一种基于联盟链的聚合交易验签存证方法及系统 |
CN115051807B (zh) * | 2022-06-02 | 2024-05-24 | 昆明理工大学 | 一种基于超级账本Fabric的零知识身份认证方法 |
CN117349823A (zh) * | 2022-12-01 | 2024-01-05 | 中国科学院深圳先进技术研究院 | 一种基于零知识证明的登录方法及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108809953A (zh) * | 2018-05-22 | 2018-11-13 | 飞天诚信科技股份有限公司 | 一种基于区块链的匿名身份认证的方法及装置 |
CN109413102A (zh) * | 2018-12-10 | 2019-03-01 | 北京八分量信息科技有限公司 | 基于零知识证明的注册系统、方法及区块链存证系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107438002B (zh) * | 2016-05-27 | 2022-02-11 | 索尼公司 | 基于区块链的系统以及系统中的电子设备和方法 |
WO2018047085A1 (en) * | 2016-09-08 | 2018-03-15 | Thomson Reuters Global Resources Unlimited Company | Systems and methods for providing identity assurance for decentralized applications |
CN109347799B (zh) * | 2018-09-13 | 2019-10-15 | 深圳市图灵奇点智能科技有限公司 | 一种基于区块链技术的身份信息管理方法及系统 |
US10298395B1 (en) * | 2018-09-26 | 2019-05-21 | Accenture Global Solutions Limited | Interoperability of zero-knowledge proof enabled blockchains |
-
2019
- 2019-12-30 CN CN201911393543.3A patent/CN111211909B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108809953A (zh) * | 2018-05-22 | 2018-11-13 | 飞天诚信科技股份有限公司 | 一种基于区块链的匿名身份认证的方法及装置 |
CN109413102A (zh) * | 2018-12-10 | 2019-03-01 | 北京八分量信息科技有限公司 | 基于零知识证明的注册系统、方法及区块链存证系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111211909A (zh) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111211909B (zh) | 一种基于零知识证明的分布式认证方法 | |
US11297064B2 (en) | Blockchain authentication via hard/soft token verification | |
CA3046858C (en) | Method, apparatus, and system for processing two-dimensional barcodes | |
CN108111314B (zh) | 数字证书的生成和校验方法及设备 | |
CN112487778B (zh) | 多用户在线签约系统及方法 | |
JP5759009B2 (ja) | 匿名エンティティ認証方法および装置 | |
CN106789090A (zh) | 基于区块链的公钥基础设施系统及半随机联合证书签名方法 | |
CN105701372A (zh) | 一种区块链身份构建及验证方法 | |
EP3206329B1 (en) | Security check method, device, terminal and server | |
CN112311538B (zh) | 一种身份验证的方法、装置、存储介质及设备 | |
CN112291245A (zh) | 一种身份授权方法、装置、存储介质及设备 | |
CN109861996B (zh) | 基于区块链的关系证明方法、装置、设备及存储介质 | |
CN112235260B (zh) | 一种匿名数据存证方法、装置、设备和存储介质 | |
CN110096894B (zh) | 一种基于区块链的数据匿名共享系统及方法 | |
CN113328997A (zh) | 联盟链跨链系统及方法 | |
CN113435121B (zh) | 基于联邦学习的模型训练验证方法、装置、设备及介质 | |
KR102157695B1 (ko) | 익명 디지털 아이덴티티 수립 방법 | |
CN115242471B (zh) | 信息传输方法、装置、电子设备及计算机可读存储介质 | |
CN116484426A (zh) | 一种基于可信执行环境的医疗数据联邦学习方法及系统 | |
Salman et al. | Security Attacks on E-Voting System Using Blockchain | |
Wang et al. | A novel blockchain identity authentication scheme implemented in fog computing | |
CN113872986B (zh) | 配电终端认证方法、装置和计算机设备 | |
US20240031341A1 (en) | Methods, devices and system related to a distributed ledger and user identity attribute | |
CN114710362A (zh) | 基于区块链的身份认证方法、装置及电子设备 | |
Dewangan et al. | Enhanced Privacy and Security of Voters' Identity in an Interplanetary File System-Based E-Voting Process |
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 |