CN113724078B - 一种基于zk-snark的区块链积分用户鉴权认证方法 - Google Patents
一种基于zk-snark的区块链积分用户鉴权认证方法 Download PDFInfo
- Publication number
- CN113724078B CN113724078B CN202110796074.0A CN202110796074A CN113724078B CN 113724078 B CN113724078 B CN 113724078B CN 202110796074 A CN202110796074 A CN 202110796074A CN 113724078 B CN113724078 B CN 113724078B
- Authority
- CN
- China
- Prior art keywords
- user
- key
- certificate
- point
- snark
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0208—Trade or exchange of goods or services in exchange for incentives or rewards
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- General Health & Medical Sciences (AREA)
- Strategic Management (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Technology Law (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供一种基于zk‑snark的区块链积分用户鉴权认证方法,包括:1‑1)由用户隐私信息机构计算证明密钥和验证密钥并发送至认证机构CA;1‑2)积分客户端产生zk‑snark证明并发送给CA;1‑3)CA生成账户密钥对以及证书并发送至用户设备区块链;1‑4)积分客户端解析证书从而与积分平台节点建立通信;1‑5)积分客户端向积分平台发送自己的证书与公钥至积分平台;积分平台将用户积分账户与生成的账户权限及用户口令摘要存入积分平台的数据库;2‑1)积分客户端生成权限凭证;2‑2)积分平台生成公共引用字符串CRS发送至区块链;2‑3)区块链合约层调用对应功能的智能合约正常执行积分交易。本发明从而实现跨商家的积分交易。
Description
技术领域
本发明涉及区块链技术,特别涉及区块链中用户隐私信息保护及管理技术。
技术背景
随着社会信息化的推进,互联网技术通过中心化的信息管理方式便利者人们生活的同时,也伴随着个人隐私泄露问题的日益严重。区块链技术通过分布式的数据存储及不可篡改的时序链状数据结构,促进了传统的信任模式的转变,基于区块链技术的互联网传统应用升级也成为了当今互联网项目开发的热点和趋势之一。积分,这一商家常用的线下促销推广及吸引新客户的手段,随着信息技术的发展逐渐显现出了一系列问题,如商家之间的积分难以交易,进而无法在积分层面便捷地实现多品牌价值传递;传统的电子积分鉴权困难,发行积分的商家不便于对已发行的积分进行追踪管理;各商家积分独立发行而缺乏对积分发行,流转,销毁等过程及积分实时动态总量的共识。
发明内容
本发明要解决的问题是,引入区块链技术设计线上积分可信管理的积分用户鉴权认证方法。
本发明为解决上述技术问题所采用的技术方案分别是,一种基于zk-snark的区块链积分用户鉴权认证方法,包括以下步骤:
1)基于zk-snark的用户注册步骤:
1-1)用户隐私信息机构运行零知识简明非交互式知识证明zk-snark(zeroknowledge Succinct Non-interactive ARgument of Knowledge)的设置setup算法;由用户隐私信息机构计算证明密钥PK和验证密钥VK并发送至认证机构CA;
1-2)积分客户端接收到用户输入的将注册的账户类别以及该用户的唯一身份识别标码后,本地运算产生zk-snark证明Proof,并发送给CA;
1-3)CA通过CRS中的验证密钥对收到的证明Proof的正确性进行验证,若验证通过后依据选择的账户类别提取用户属性,生成账户密钥对{pki,ski}以及证书Cre并发送至用户设备区块链;所述证书Cre中包括有用户属性、积分平台的通信地址ip及用户与积分平台节点的通信密钥ki;pki为公钥,ski为私钥;
1-4)积分客户端解析CA发放的证书Cre从而与积分平台节点建立通信;
1-5)积分客户端向积分平台发送自己的证书Cre与公钥pki至积分平台;积分平台对Cre的有效性验证通过后则基于用户输入的口令pw和公钥pki为用户生成;再根据Cre中的用户属性生成权限集{xi},利用抗碰撞散列值函数CRH生成用户口令摘要CRH(pw),再将用户积分账户acc、账户权限{xi}及用户口令摘要CRH(pw)存入积分平台的数据库以完成赋权;
2)基于zk-snark的用户鉴权管理步骤:
2-1)当用户需要进行积分交易或者积分商家用户需要发行积分时,积分客户端先通过pw和acc向积分平台请求生成权限凭证token;
2-2)积分平台在收到权限凭证token后,基于数据库中的账户权限{xi}、用户口令摘要CRH(pw)和zk-snark的setup算法生成公共引用字符串CRS,并将积分平台生成公共引用字符串CRS以及CRS中的验证密钥VK发送至区块链;
2-3)当用户需要进行积分交易或生成积分时,在区块链合约层先调用鉴权合约确定目标合约功能的权限,鉴权通过则调用对应功能的智能合约正常执行积分交易;
其中,鉴权合约执行过程为:区块链将权限凭证token作为鉴权合约的输入,鉴权合约基于内部存储的VK和CRS通过zk-snark的验证算法对token的有效性进行校验,若token校验通过则通过鉴权。
本发明的有益效果是,基于区块链合约层和隐私计算的积分用户鉴权方式能够方便且安全地实现跨商家的积分交易。
附图说明
图1为用户鉴权管理***示意图。
具体实施方式
整个基于区块链的交子分用户鉴权管理***由交子分用户、积分平台、底层许可连、认证机构及积分平台控制的数据库这五大部分组成。其中用户可分为普通积分用户和积分商家这两类。***内使用到的zk-snark协议在本例中采用Groth16,用户在区块链上的公钥密码对使用椭圆曲线secp256k1。当新用户尝试通过智能手机注册交子分账户时,***进行如图1所示步骤:
1)由交子分认证机构CA所在地区的权威机构,提前为本地居民或商户提前生成Groth16算法需使用到的CRS和证明验证密钥对(证明密钥PK和验证密钥VK),分别是交子分普通用户的身份证号,指纹和居民姓名序列:{ID,BD,Name};交子分商家的商号TN,商铺名Tname,法人代表的身份证号ID,指纹BD和姓名序列Name:{TN,Tname,ID,BD,Name},将上述待证明数据转置为Groth16的R1CS,生成证明验证密钥对{PK,VK},并将证明验证密钥对通过专用信道传给CA;
2)用户注册时在可在未联网的智能手机交子分app上输入个人身份信息序列{ID,BD,Name},通过交子分app在手机后台基于PK和输入的用户身份信息序列作为Groth16证明阶段的输入,生成证据Proof,将Proof通过作为积分客户端的交子分app发送给AC;
3)CA收到Proof后,将Proof和验证密钥VK作为输入,对Proof执行Groth16的正确性验证,输出一个布尔型变量(1代表通过验证),验证通过进入下一步;
4)CA依据用户在第2)步选择的预注册账户类别提取用户属性,并基于secp256k1生成并发放给客户端账户密钥对{pki,ski}和证书Cre;若步骤3)中验证未通过则不予发放;Cre:={Ip,pki(ki,H(ki)),PKP((xi),H(xi)),Info},Ip为用户设备附近的交子分平台节点通信地址,pki()表示使用通信密钥中的公钥的加密处理,PKP()表示使用积分平台公钥的加密处理,ki是用户与交子分平台的通信密钥,H()表示抗碰撞哈希函数,xi为AC通过用户注册时在app界面选择的用户种类判断的用户权限,Info代表字符串格式的证书标号等其他信息;
5)客户端在收到Cre和{pki,ski}后,基于Cre中的地址与交子分平台建立连接,之后的通信都使用ki加密,上传Cre和pki到交子分平台;
6)交子分平台首先通过Info部分验证Cre的有效性,通过SKP对Cre中用户权限部分解密并验算后,读取到用户权限(xi);
7)用户通过交子分app输入注册用口令pw,交子分平台收到后基于pki和pw为用户在数据库中生成并记录账户,其中pw经过sha256的碰撞散列值函数生成摘要,即用户口令散列值CRH(pw)后与pki以及xi作为一对存放在数据库中。
8)用户完成交子分平台注册后,首次登录时交子分app会自动向平台申请为当前登录用户生成token,平台将其管理的数据库中的用户账户地址,摘要后的口令,及用户的权限xi,运行Groth16算法的setup步骤,生成CRS,及证明验证密钥对,并将其存储在区块链上,将PK通过交子分app发送到用户设备上;
9)随后交子分app开始基于用户在智能手机上输入的权限等执行Groth16算法的证明阶段,生成当前登录用户拥有的权限证明,并将这一证明作为token保存到本地;
10)当用户尝试进行交子分交易或者交子分发行时,先调用用户鉴权智能合约,将用户的token作为合约输入,合约内运行Groth16算法的验证步骤,输出布尔型变量代表本次验证结果,若通过则说明用户权限申报无误,可以在后续的智能合约正常调用中使用该权限。
Claims (5)
1.一种基于zk-snark的区块链积分用户鉴权认证方法,其特征在于,包括以下步骤:
1)基于zk-snark的用户注册步骤:
1-1)用户隐私信息机构运行零知识简明非交互式知识证明zk-snark的设置setup算法;由用户隐私信息机构计算证明密钥PK和验证密钥VK并发送至认证机构CA;
1-2)积分客户端接收到用户输入的将注册的账户类别以及该用户的唯一身份识别标码后,本地运算产生zk-snark证明Proof,并发送给CA;
1-3)CA通过CRS中的验证密钥VK对收到的证明Proof的正确性进行验证,若验证通过后依据选择的账户类别提取用户属性,生成账户密钥对{pki,ski}以及证书Cre并发送至积分客户端;所述证书Cre中包括有用户属性、积分平台的通信地址ip及用户与积分平台节点的通信密钥ki;pki为公钥,ski为私钥;
1-4)积分客户端解析CA发放的证书Cre从而与积分平台节点建立通信注册账户并输入口令pw;
1-5)积分客户端向积分平台发送自己的证书Cre与公钥pki至积分平台;积分平台对Cre的有效性验证通过后则基于用户输入的口令pw和公钥pki为用户生成;再根据Cre中的用户属性生成权限集{xi},利用抗碰撞散列值函数CRH生成CRH(pw),再将用户积分账户acc、账户权限{xi}及用户口令摘要CRH(pw)存用户口令摘要入积分平台的数据库以完成赋权;
2)基于zk-snark的用户鉴权管理步骤:
2-1)当用户需要进行积分交易或者积分商家用户需要发行积分时,积分客户端先通过pw和acc向积分平台请求生成权限凭证token;
2-2)积分平台在收到权限凭证token后,基于数据库中的账户权限{xi}、用户口令摘要CRH(pw)和zk-snark的setup算法生成公共引用字符串CRS,并将积分平台生成公共引用字符串CRS以及CRS中的验证密钥VK发送至区块链;
2-3)当用户需要进行积分交易或生成积分时,在区块链合约层先调用鉴权合约确定目标合约功能的权限,鉴权通过则调用对应功能的智能合约正常执行积分交易;
其中,鉴权合约执行过程为:区块链将权限凭证token作为鉴权合约的输入,鉴权合约基于内部存储的VK和CRS通过zk-snark的验证算法对token的有效性进行校验,若token校验通过则通过鉴权。
2.如权利要求1所述方法,其特征在于,所述用户隐私信息机构为权威机构认证的持有居民身份信息和商家唯一商号的机构。
3.如权利要求1所述方法,其特征在于,所述账户类别包括普通积分用户和积分商家用户。
4.如权利要求1所述方法,其特征在于,唯一身份识别标码为有居民身份信息、商家唯一商号或者用户的生物特征。
5.如权利要求1所述方法,其特征在于,积分平台基于证书Cre的有效期和格式来验证证书Cre的有效性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110796074.0A CN113724078B (zh) | 2021-07-14 | 2021-07-14 | 一种基于zk-snark的区块链积分用户鉴权认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110796074.0A CN113724078B (zh) | 2021-07-14 | 2021-07-14 | 一种基于zk-snark的区块链积分用户鉴权认证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113724078A CN113724078A (zh) | 2021-11-30 |
CN113724078B true CN113724078B (zh) | 2023-06-16 |
Family
ID=78673292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110796074.0A Active CN113724078B (zh) | 2021-07-14 | 2021-07-14 | 一种基于zk-snark的区块链积分用户鉴权认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113724078B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114978668B (zh) * | 2022-05-19 | 2023-05-02 | 中国人民大学 | 一种跨链数据实体身份管理和认证方法及*** |
CN115051807B (zh) * | 2022-06-02 | 2024-05-24 | 昆明理工大学 | 一种基于超级账本Fabric的零知识身份认证方法 |
WO2024123274A1 (en) * | 2022-12-06 | 2024-06-13 | Orema Yazilim Anoni̇m Şi̇rketi̇ | Authentication system and method with zero-knowledge proof |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108765032A (zh) * | 2018-06-08 | 2018-11-06 | 东莞市大易产业链服务有限公司 | 一种基于区块链技术的信誉积分记账方法 |
KR101941625B1 (ko) * | 2017-12-28 | 2019-01-24 | 주식회사 더봄에스 | 선택적 인증을 통한 에스앤에스 핀테크 시스템 및 그 동작 방법 |
KR20190080592A (ko) * | 2017-12-28 | 2019-07-08 | 주식회사 더봄에스 | 블록체인 기반의 개인인증서를 이용한 에스앤에스 핀테크 시스템 및 그 동작 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111108732A (zh) * | 2017-06-30 | 2020-05-05 | 维萨国际服务协会 | 用于确定数字资产交易所的偿付能力的方法、***和计算机程序产品 |
-
2021
- 2021-07-14 CN CN202110796074.0A patent/CN113724078B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101941625B1 (ko) * | 2017-12-28 | 2019-01-24 | 주식회사 더봄에스 | 선택적 인증을 통한 에스앤에스 핀테크 시스템 및 그 동작 방법 |
KR20190080592A (ko) * | 2017-12-28 | 2019-07-08 | 주식회사 더봄에스 | 블록체인 기반의 개인인증서를 이용한 에스앤에스 핀테크 시스템 및 그 동작 방법 |
CN108765032A (zh) * | 2018-06-08 | 2018-11-06 | 东莞市大易产业链服务有限公司 | 一种基于区块链技术的信誉积分记账方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113724078A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113724078B (zh) | 一种基于zk-snark的区块链积分用户鉴权认证方法 | |
US11870775B2 (en) | Biometric identification and verification among IoT devices and applications | |
KR102054410B1 (ko) | 블록체인 서비스 운영을 위해 위탁된 컴퓨팅 파워에 대한 보상을 제공하는 방법 | |
US11689529B2 (en) | Systems and methods for online third-party authentication of credentials | |
TWI697842B (zh) | 二維條碼的處理方法、裝置及系統 | |
US8245292B2 (en) | Multi-factor authentication using a smartcard | |
CN109347799B (zh) | 一种基于区块链技术的身份信息管理方法及*** | |
US7840813B2 (en) | Method and system with authentication, revocable anonymity and non-repudiation | |
CN112437938A (zh) | 用于区块链地址和所有者验证的***和方法 | |
CN110235410A (zh) | 使用基于utxo的协议的区块链数据库并通过基于pki的认证取代用户的登录的方法及利用其的服务器 | |
US11539526B2 (en) | Method and apparatus for managing user authentication in a blockchain network | |
CN106664208A (zh) | 使用安全传输协议建立信任的***和方法 | |
CN102088353A (zh) | 基于移动终端的双因子认证方法及*** | |
US20030135734A1 (en) | Secure mutual authentication system | |
CN115021958B (zh) | 一种雾计算与区块链融合的智能家居身份认证方法与*** | |
US11645654B2 (en) | Biometric-based identity verification using zero-knowledge proofs | |
CN113743921A (zh) | 数字资产的处理方法、装置、设备及存储介质 | |
JPH118619A (ja) | 電子証明書発行方法及びシステム | |
CN111010279A (zh) | 一种基于零知识证明的远程多因子认证协议 | |
Zhu et al. | Realid: Building a secure anonymous yet transparent immutable id service | |
KR20170130963A (ko) | 사용자 본인 확인(identification) 등록과 로컬 인증을 연계한 사용자 인증 장치 및 방법 | |
US20230410098A1 (en) | Authentication method secured by structural decoupling of personal and service identifiers | |
TWI828001B (zh) | 使用多安全層級驗證客戶身分與交易服務之系統及方法 | |
CN114726532B (zh) | 基于区块链分布式标识的可信环境认证方法及*** | |
Arun et al. | Authentication and Identity Validation Blockchain Application |
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 |