CN115051807A - 一种基于超级账本Fabric的零知识身份认证方法 - Google Patents

一种基于超级账本Fabric的零知识身份认证方法 Download PDF

Info

Publication number
CN115051807A
CN115051807A CN202210619853.8A CN202210619853A CN115051807A CN 115051807 A CN115051807 A CN 115051807A CN 202210619853 A CN202210619853 A CN 202210619853A CN 115051807 A CN115051807 A CN 115051807A
Authority
CN
China
Prior art keywords
user
certification information
fabric
identity authentication
interface
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.)
Granted
Application number
CN202210619853.8A
Other languages
English (en)
Other versions
CN115051807B (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.)
Kunming University of Science and Technology
Original Assignee
Kunming University of Science and Technology
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 Kunming University of Science and Technology filed Critical Kunming University of Science and Technology
Priority to CN202210619853.8A priority Critical patent/CN115051807B/zh
Publication of CN115051807A publication Critical patent/CN115051807A/zh
Application granted granted Critical
Publication of CN115051807B publication Critical patent/CN115051807B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于超级账本Fabric的零知识身份认证方法,属于区块链领域。本发明首先利用zk‑SNARK零知识证明技术,定义用户的证明信息;其次在Fabric链码API(fabric‑chaincode‑go)上增加接口,用于检验证明信息上链的合法性;最后在客户端(fabric‑sdk‑node)上增加了网站的调用接口,用于进行用户的身份验证。通过以上过程本发明达到了用户上链信息防篡改同时不被泄露的目的。

Description

一种基于超级账本Fabric的零知识身份认证方法
技术领域
本发明提供一种基于超级账本Fabric的零知识身份认证方法,属于区块链技术领域。
背景技术
当前互联网的技术日新月异,正处于快速发展阶段,Web3.0网络的提出让互联网达到了一个全新发展的水平,而区块链技术的快速发展,更使得Web3.0网络的实现成为可能。Web3.0网络是去中心化的网络,在这种网络体系中,我们需要拥有统一的身份认证系统,每个人的身份信息由自己掌握。在传统的身份认证技术中,个人信息常常存储在可信的第三方机构中,并非由个人掌握。因此将区块链技术的不可篡改性和零知识证明技术的零信息传递特性进行结合对信息安全保障具有重大意义。
当前环境下的身份认证大多都通过第三方认证中心数字签名、数字证书的颁发,一旦这些第三方平台被攻击,很有可能导致个人信息的篡改及泄露,而零知识证明能够很好的对身份信息进行隐藏,区块链技术又使得相关信息不可被篡改,这就大大提升了信息的安全性。因此将区块链技术与和零知识证明结合起来有非常重要的研究意义。
Fabric是Linux基金会推出的超级账本项目(HyperLedger)中的一个子项目,是目前应用最广泛的联盟区块链平台,对Fabric平台的改进具有广阔的应用前景。零知识证明技术允许一方(证明者)向另一方(验证者)证明陈述是真实的,而不会泄露超出陈述本身有效性的任何信息,所以零知识证明能够很好的将信息进行加密隐藏。zk-SNARK是简洁非交互式的零知识论证,是零知识证明协议的一种,相较于其他零知识协议,该协议生成的证明文件小,验证速度快,适用于身份验证方向的应用。
本发明将Fabric区块链平台与zk-SNARK技术进行了结合。尽管Fabric区块链本身自带了IdentityMix用户身份匿名的零知识证明技术,但无法运用在身份验证上,结合zk-SNARK零知识证明,可将用户证明信息存储在Fabric中,便于网站对用户进行身份验证。因此,为面向Web3.0网络环境,本发明提出一种基于超级账本Fabric的零知识身份认证方法,旨在设计一款统一的身份认证平台。该方法利用区块链技术,使得上链数据信息难以攻击且不被篡改,又通过零知识证明技术将用户的身份证明信息进行隐藏,使得信息的安全性大大提高。
发明内容
鉴于现有技术中的上述缺陷或不足,本发明提供一种基于超级账本Fabric的零知识身份认证方法。该方法将zk-SNARK零知识证明技术与Fabric区块链技术结合,达到了在网站平台进行身份认证的同时,用户信息既防篡改又难以泄露的能力。
本发明的技术方案是:一种基于超级账本Fabric的零知识身份认证方法,包括如下:
Step1.将zk-SNARK零知识证明技术与Fabric客户端连接,定义用户的证明信息;
Step2.在Fabric链码API(fabric-chaincode-go)上增加接口,用于存储用户的证明信息,以及检验证明信息上链的合法性;
Step3.最后在客户端(fabric-sdk-node)上增加了网站的调用接口,用于进行访问控制、用户的身份验证。
作为本发明的方案,所述Step1中的具体步骤如下:
Step1.1.定义新的多项式自动生成命令接口,用于用户的可信设置,通过接口自动生成多项式、公共输入和私有输入;
Step1.2.定义电路编译CompileCircuit命令接口,自动编译上述生成的多项式文件,用以生成多项式约束;
Step1.3.定义可信设置TrustedSetup命令接口,用以生成可信设置文件,是验证用户的证明信息之一;
Step1.4.定义证明生成器GenerateProofs命令接口,用以生成proof文件,是验证用户的证明信息之一;
进一步地,Step2中:在Fabric链码API(fabric-chaincode-go)上增加接口,用于存储用户的证明信息,以及检验证明信息上链的合法性。
为存储zk-SANRK生成的证明信息,需要在链码的设计上进行调整,在保证证明信息能够根据链码上链的同时,还需确定证明信息文件具有合法性,且客户端可以获取文件上传的结果。
进一步地,Step3中,在客户端(fabric-sdk-node)上增加了网站的调用接口,用于进行访问控制、用户的身份验证,具体步骤如下:
Step3.1.定义权限访问接口,用以根据用户和网站不同角色的访问给予不同的权限。用户访问时,可以进行注册并只能查看自己的证明信息;网站访问时,不可注册,不可直接查看证明信息,在查看用户证明信息时需要用户的访问权限;
Step3.2.定义新的身份验证Verify命令接口,通过查询Step1中生成的证明信息,完成对用户身份的验证。
本发明的有益效果是:本发明能够实现在面向Web3.0网络环境下,通过零知识证明和Fabric区块链技术的结合,在网站平台上进行统一身份验证的同时,用户信息既防篡改又不被泄露的目的。
附图说明
图1为zk-SNARK中Groth16协议运行流程;
图2为用户注册流程图;
图3为用户注册证明信息示意图;
图4为网站调用及验证流程图;
图5为网站验证用户信息示意图;
图6为本发明的流程图。
具体实施方案
实施例1:如图1-图6所示,一种基于超级账本Fabric的零知识身份认证方法,包括如下:
Step1.将zk-SNARK零知识证明技术与Fabric客户端连接,定义用户的证明信息;
Step2.在Fabric链码API(fabric-chaincode-go)上增加接口,用于存储用户的证明信息,以及检验证明信息上链的合法性;
Step3.最后在客户端(fabric-sdk-node)上增加了网站的调用接口,用于进行访问控制、用户的身份验证。
作为本发明的方案,所述Step1中的具体步骤如下:
Step1.1.定义新的多项式自动生成命令接口,用于用户的可信设置,通过接口自动生成多项式、公共输入和私有输入;
Step1.2.定义电路编译CompileCircuit命令接口,自动编译上述生成的多项式文件,用以生成多项式约束;
Step1.3.定义可信设置TrustedSetup命令接口,用以生成可信设置文件,是验证用户的证明信息之一;
Step1.4.定义证明生成器GenerateProofs命令接口,用以生成proof文件,是验证用户的证明信息之一;
根据zk-SNARK中Groth16协议,协议流程如图1所示,再结合用户注册阶段流程如图2所示,用户需在上链前在本地计算机使用下列接口生成自己的身份证明信息,如图3所示。
用户首先要输入主输入和附属输入存入客户端,CompileCircuit阶段生成门电路模板,起约束输入作用,这是由用户和客户端共同生成的,使得电路模板具有随机性,不易被破解,且在这一阶段将主输入、附属输入和电路模板组合为见证;TrustedSetup阶段根据上一阶段编译的电路模板,生成证明密钥及验证密钥;GenerateProofs阶段通过CompileCircuit阶段生成的见证和TrustedSetup阶段生成的证明密钥生成证明文件。
进一步地,Step2中:在Fabric链码API(fabric-chaincode-go)上增加接口,用于存储用户的证明信息,以及检验证明信息上链的合法性。
为存储zk-SNARK生成的证明信息,需要在链码的设计上进行调整,在保证证明信息能够根据链码上链的同时,还需确定证明信息文件具有合法性,且客户端可以获取文件上传的结果。
表1为定义的链码内容结构
Figure BDA0003675952060000041
Figure BDA0003675952060000051
进一步地,Step3中,在客户端(fabric-sdk-node)上增加了网站的调用接口,用于进行访问控制、用户的身份验证,具体步骤如下:
Step3.1.定义权限访问接口,用以根据用户和网站不同角色的访问给予不同的权限。用户访问时,可以进行注册并只能查看自己的证明信息;网站访问时,不可注册,不可直接查看证明信息,在查看用户证明信息时需要用户的访问权限;
Step3.2.定义新的身份验证Verify命令接口,通过查询Step1中生成的证明信息,完成对用户身份的验证。
根据网站调用阶段,如图4所示,在用户访问网站,网站需对用户身份进行验证。网站管理员通过客户端进入Fabric区块链,使用用户ID对链上的信息进行查看及调用,这一阶段需要用户给予网站访问权限。网站管理员调用用户的证明信息,并通过客户端Verify命令接口进行验证,若为真,则允许访问,如图5所示;若为假,则拒绝访问。
这样在面向Web3.0网络环境时,任一网站均可对用户进行统一验证,既可保证用户证明信息不可篡改,又可保证查看证明信息时不泄露用户身份。
上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

Claims (4)

1.一种基于超级账本Fabric的零知识身份认证方法,其特征在于,包括如下:
Step1.将zk-SNARK零知识证明技术与Fabric客户端连接,定义用户的证明信息;
Step2.在Fabric链码API上增加接口,用于存储用户的证明信息,以及检验证明信息上链的合法性;
Step3.最后在客户端上增加了网站的调用接口,用于进行访问控制、用户的身份验证。
2.根据权利要求1所述的基于超级账本Fabric的零知识身份认证方法,其特征在于,所述Step1中的具体步骤如下:
Step1.1.定义新的多项式自动生成命令接口,用于用户的可信设置,通过接口自动生成多项式、公共输入和私有输入;
Step1.2.定义电路编译CompileCircuit命令接口,自动编译上述生成的多项式文件,用以生成多项式约束;
Step1.3.定义可信设置TrustedSetup命令接口,用以生成可信设置文件,是验证用户的证明信息之一;
Step1.4.定义证明生成器GenerateProofs命令接口,用以生成proof文件,是验证用户的证明信息之一。
3.根据权利要求1所述的基于超级账本Fabric的零知识身份认证方法,其特征在于,所述Step2中:在Fabric链码API上增加接口,用于存储用户的证明信息,以及检验证明信息上链的合法性;
为存储zk-SANRK生成的证明信息,需要在链码的设计上进行调整,在保证证明信息能够根据链码上链的同时,还需确定证明信息文件具有合法性,且客户端能获取文件上传的结果。
4.根据权利要求1所述的基于超级账本Fabric的零知识身份认证方法,其特征在于,所述Step3中,在客户端上增加了网站的调用接口,用于进行访问控制、用户的身份验证,具体步骤如下:
Step3.1.定义权限访问接口,用以根据用户和网站不同角色的访问给予不同的权限;用户访问时,能进行注册并只能查看自己的证明信息;网站访问时,不能注册,不能直接查看证明信息,在查看用户证明信息时需要用户的访问权限;
Step3.2.定义新的身份验证Verify命令接口,通过查询Step1中生成的证明信息,完成对用户身份的验证。
CN202210619853.8A 2022-06-02 2022-06-02 一种基于超级账本Fabric的零知识身份认证方法 Active CN115051807B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210619853.8A CN115051807B (zh) 2022-06-02 2022-06-02 一种基于超级账本Fabric的零知识身份认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210619853.8A CN115051807B (zh) 2022-06-02 2022-06-02 一种基于超级账本Fabric的零知识身份认证方法

Publications (2)

Publication Number Publication Date
CN115051807A true CN115051807A (zh) 2022-09-13
CN115051807B CN115051807B (zh) 2024-05-24

Family

ID=83159780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210619853.8A Active CN115051807B (zh) 2022-06-02 2022-06-02 一种基于超级账本Fabric的零知识身份认证方法

Country Status (1)

Country Link
CN (1) CN115051807B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12015725B1 (en) 2023-08-23 2024-06-18 Yuga Labs, Inc. Blockchain-based protocols for metadata linkage control

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019150132A1 (en) * 2018-02-02 2019-08-08 University Of Durham Secure, distributed futures market exchange
CN110351263A (zh) * 2019-07-01 2019-10-18 昆明理工大学 一种基于超级账本fabric的物联网认证方法
CN111211909A (zh) * 2019-12-30 2020-05-29 深圳大学 一种基于零知识证明的分布式认证方法
WO2020138733A1 (ko) * 2018-12-27 2020-07-02 부산대학교 산학협력단 개인정보의 익명성을 제공하는 블록체인 시스템 및 블록체인에서 개인정보의 익명성을 제공하는 방법
CN111447073A (zh) * 2020-03-31 2020-07-24 河北大学 基于区块链与零知识证明的身份管理与认证系统及方法
JP2020129760A (ja) * 2019-02-08 2020-08-27 国立大学法人東京工業大学 分散データ管理システムおよびそのプログラム
CN111600844A (zh) * 2020-04-17 2020-08-28 丝链(常州)控股有限公司 一种基于零知识证明的身份分发和认证方法
CN111800268A (zh) * 2019-04-05 2020-10-20 国际商业机器公司 用于区块链背书的零知识证明
KR20210089682A (ko) * 2018-12-12 2021-07-16 아메리칸 익스프레스 트레블 릴레이티드 서비스즈 컴퍼니, 아이엔씨. 블록 체인을 사용한 영지식 증명 결제
CN113420320A (zh) * 2021-05-08 2021-09-21 杭州未名信科科技有限公司 一种数据共享场景下的区块链权限管理方法和系统
CN113515772A (zh) * 2021-04-20 2021-10-19 昆明理工大学 一种基于rpca共识机制的数据库查询日志信息上链的方法
CN113724078A (zh) * 2021-07-14 2021-11-30 成都金控征信有限公司 一种基于zk-snark的区块链积分用户鉴权认证方法
US20220109573A1 (en) * 2020-10-05 2022-04-07 Redcom Laboratories, Inc. zkMFA: ZERO-KNOWLEDGE BASED MULTI-FACTOR AUTHENTICATION SYSTEM
WO2022107971A1 (ko) * 2020-11-23 2022-05-27 부산대학교 산학협력단 프라이버시 블록체인 플랫폼 기반 물류 방법 및 물류 시스템

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019150132A1 (en) * 2018-02-02 2019-08-08 University Of Durham Secure, distributed futures market exchange
KR20210089682A (ko) * 2018-12-12 2021-07-16 아메리칸 익스프레스 트레블 릴레이티드 서비스즈 컴퍼니, 아이엔씨. 블록 체인을 사용한 영지식 증명 결제
WO2020138733A1 (ko) * 2018-12-27 2020-07-02 부산대학교 산학협력단 개인정보의 익명성을 제공하는 블록체인 시스템 및 블록체인에서 개인정보의 익명성을 제공하는 방법
JP2020129760A (ja) * 2019-02-08 2020-08-27 国立大学法人東京工業大学 分散データ管理システムおよびそのプログラム
CN111800268A (zh) * 2019-04-05 2020-10-20 国际商业机器公司 用于区块链背书的零知识证明
CN110351263A (zh) * 2019-07-01 2019-10-18 昆明理工大学 一种基于超级账本fabric的物联网认证方法
CN111211909A (zh) * 2019-12-30 2020-05-29 深圳大学 一种基于零知识证明的分布式认证方法
CN111447073A (zh) * 2020-03-31 2020-07-24 河北大学 基于区块链与零知识证明的身份管理与认证系统及方法
CN111600844A (zh) * 2020-04-17 2020-08-28 丝链(常州)控股有限公司 一种基于零知识证明的身份分发和认证方法
US20220109573A1 (en) * 2020-10-05 2022-04-07 Redcom Laboratories, Inc. zkMFA: ZERO-KNOWLEDGE BASED MULTI-FACTOR AUTHENTICATION SYSTEM
WO2022107971A1 (ko) * 2020-11-23 2022-05-27 부산대학교 산학협력단 프라이버시 블록체인 플랫폼 기반 물류 방법 및 물류 시스템
CN113515772A (zh) * 2021-04-20 2021-10-19 昆明理工大学 一种基于rpca共识机制的数据库查询日志信息上链的方法
CN113420320A (zh) * 2021-05-08 2021-09-21 杭州未名信科科技有限公司 一种数据共享场景下的区块链权限管理方法和系统
CN113724078A (zh) * 2021-07-14 2021-11-30 成都金控征信有限公司 一种基于zk-snark的区块链积分用户鉴权认证方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BAGHERY, KARIM ECT.: "Simulation Extractability in Groth\'s zk-SNARK", 《DATA PRIVACY MANAGEMENT, CRYPTOCURRENCIES AND BLOCKCHAIN TECHNOLOGY》, 20 September 2019 (2019-09-20) *
THOMAS CHEN, HUI LU, TEERAMET KUNPITTAYA, AND ALAN LUO: "A Review of zk-SNARKs", 《CRYPTOGRAPHY AND SECURITY (CS.CR)》, 14 February 2022 (2022-02-14) *
刘应;范洪博;马首群;高志伟: "基于联盟区块链的高效性能优化中间件研究", 《数据通信》, 28 February 2022 (2022-02-28) *
单进勇;高胜;: "区块链理论研究进展", 密码学报, no. 05, 15 October 2018 (2018-10-15) *
张奥;白晓颖;: "区块链隐私保护研究与实践综述", 软件学报, no. 05, 15 May 2020 (2020-05-15) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12015725B1 (en) 2023-08-23 2024-06-18 Yuga Labs, Inc. Blockchain-based protocols for metadata linkage control
US12015713B1 (en) 2023-08-23 2024-06-18 Yuga Labs, Inc. Artificial intelligence protocols for enhancing token holder autonomy

Also Published As

Publication number Publication date
CN115051807B (zh) 2024-05-24

Similar Documents

Publication Publication Date Title
US11223614B2 (en) Single sign on with multiple authentication factors
US11496310B2 (en) Methods and systems for universal storage and access to user-owned credentials for trans-institutional digital authentication
CN106910051B (zh) 一种基于联盟链的dns资源记录公证方法及系统
CN114186248B (zh) 基于区块链智能合约的零知识证明可验证凭证数字身份管理系统及方法
CN111213147A (zh) 用于基于区块链的交叉实体认证的系统和方法
CN111316303A (zh) 用于基于区块链的交叉实体认证的系统和方法
US20020116619A1 (en) Digital signature verification and program transmission
CN108737391B (zh) 信息服务实体身份标识快速撤销方法
CN104935568A (zh) 一种面向云平台接口鉴权签名方法
WO2022121461A1 (zh) 一种云平台资源访问控制的令牌构造方法、装置及设备
CN103152179A (zh) 一种适用于多应用系统的统一身份认证方法
CN108965342B (zh) 数据请求方访问数据源的鉴权方法及系统
CN105187405A (zh) 基于信誉的云计算身份管理方法
Abraham et al. Qualified eID derivation into a distributed ledger based IdM system
Kfoury et al. A blockchain-based method for decentralizing the ACME protocol to enhance trust in PKI
Li et al. A privacy-protecting authorization system based on blockchain and zk-SNARK
CN115051807A (zh) 一种基于超级账本Fabric的零知识身份认证方法
CN114006702B (zh) 一种零知识证明分割电路及信息验证方法
CN111741008A (zh) 一种基于拟态防御原理的双向匿名认证系统及方法
CN115001721A (zh) 一种基于区块链的智能电网的安全认证方法及系统
Song et al. [Retracted] Digital Identity Verification and Management System of Blockchain‐Based Verifiable Certificate with the Privacy Protection of Identity and Behavior
Fang et al. Blockchain‐based privacy‐preserving valet parking for self‐driving vehicles
CN111245869B (zh) 一种信息物理系统中的跨域匿名认证方法
Wu et al. A Reputation‐Based Identity Management Model for Cloud Computing
Sangeetha et al. Development of novel blockchain technology for certificate management system using cognitive image steganography techniques

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