CN113704733B - 隐私可验证的动态did认证方法及系统 - Google Patents
隐私可验证的动态did认证方法及系统 Download PDFInfo
- Publication number
- CN113704733B CN113704733B CN202111016300.5A CN202111016300A CN113704733B CN 113704733 B CN113704733 B CN 113704733B CN 202111016300 A CN202111016300 A CN 202111016300A CN 113704733 B CN113704733 B CN 113704733B
- Authority
- CN
- China
- Prior art keywords
- information
- interval
- certificate
- attribute
- app
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000012795 verification Methods 0.000 claims abstract description 46
- 238000012986 modification Methods 0.000 claims abstract description 44
- 230000004048 modification Effects 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 abstract description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种隐私可验证的动态DID认证方法和系统,包括:步骤S1:APP进行账户注册,将本地账户与DID ID绑定信息上传至可信服务器;步骤S2:App内进行属性修改,修改成功后调用可信服务器的CA证书生成功能,将CA证书在可信服务器和本地各存储一份;步骤S3:选择属性及对应的区间信息,对CA证书及区间信息进行验证并生成证明;步骤S4:将区间信息和证明结果进行链上验证。本发明将DID与BulletProofs相结合,可以实现隐私可验证的动态DID认证系统;能够防止被人恶意篡改区间数据,实现了应用BulletProofs在App端;采用预先计算证明上链以及并行证明产生,大大提高系统性能。
Description
技术领域
本发明涉及数据隐私保护技术领域,具体地,涉及一种隐私可验证的动态DID认证方法及系统。
背景技术
随着互联网技术的不断发展,各种各样的数据也越来越多,数据的安全存储成为研究的关注焦点。如果把大量数据存储在本地,那么数据不能得到灵活的运用,所以也随之兴起大量的云服务。因为有云服务,越来越多的用户把数据存储在云端,这样用户就可以随时随地的访问和管理自己的数据。越来越多的政府、企业、个人都开始使用云存储系统来存储各种各样的文件。但是云存储也带来了各种各样的隐私泄露的问题。
移动互联网下,很多的隐私信息都得不到保护而泄露,DID方案解决了一部分场景下的隐私泄露,并不满足区间范围披露场景。DiD(Defense in Depth)的简单意思是指利用配制的多种安全防护设备对网络提供安全保护的网络技术。BulletProofs对证明结果只能验证是否为真,具体位于哪个区间无法获悉,存在可能性被人恶意篡改区间数据而无法发现。而且目前BulletProofs主要应用在服务端,在APP端的证明相对耗时,大约需要300ms左右。传统的方案基于哈希对比的方式进行选择性披露,容易造成隐私泄露。
专利文献CN110798483A(申请号:CN201911100036.6)公开了一种基于区块链的身份认证的方法,所述方法包括:用户通过安全设备访问第三方可信认证机构服务;第三方可信认证机构提供身份真实行等检测;DID生成器根据需求生成用户唯一分布式ID;身份链上用智能合约注册用户,保存DID和公钥,以及第三方信任机构标识。但是该发明不可以实现隐私的动态DID认证。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种隐私可验证的动态DID认证方法及系统。
根据本发明提供的一种隐私可验证的动态DID认证方法,包括:
步骤S1:APP进行账户注册,将本地账户与DID ID绑定信息上传至可信服务器;
步骤S2:App内进行属性修改,修改成功后调用可信服务器的CA证书生成功能,将CA证书在可信服务器和本地各存储一份;
步骤S3:选择属性及对应的区间信息,对CA证书及区间信息进行验证并生成证明;
步骤S4:将区间信息和证明结果进行链上验证。
优选地,所述步骤S1包括:
在App内输入信息进行账户注册,用Hash算法将账户密码信息存储至可信服务器;
注册成功后登录,App随机生成两对公私钥,私钥保存至用户端;
私钥保存完毕后,生成DID文件信息,依据DID文件信息通过多次哈希运算得到DIDID;
将DID ID与DID文件信息绑定进行数据上链,同时将本地账户与DID ID绑定信息上传至可信服务器。
优选地,所述步骤S2包括:
在App内进行属性修改,支持同时多属性修改,每次修改都需要验证身份;
App后台不直接存储属性信息,每当属性修改成功后,调用可信服务器的CA证书生成功能,并在服务器和本地各存储一份CA证书;针对不同的属性设置不同的过期时间;
在属性已有CA证书的情况下,再次修改后会吊销原有CA证书并重新生成一份全新的CA证书。
优选地,所述步骤S3包括:
App内的属性选择链上的区间信息生成BulletProofs范围证明,读取本地的CA证书检验是否有效;
所述检验无效包括:CA证书过期;被吊销;CA证书状态正常,但其值不符合所选区间范围;检验无效时,会直接在App内通过弹窗提示,并且弹窗需要用户点击确认操作才可关闭;
检验有效后判断是否符合所选区间,不符合所选区间直接提示不可操作原因,符合所选区间进行下一步;
选择区间信息作为BulletProofs初始化的参数,防止后续区间信息恶意篡改,调用BulletProofs生成证明方法得到证明结果,生成一个唯一的BP ID,用来将证明结果、范围区间ID、DID ID、有效时间信息进行绑定一起上传到链上,在App显示BP ID的二维码供验证;BP ID的二维码有设置的有效时间,指的是其生成证明对应属性的CA证书的过期时间内;
所述范围区间ID包括:每个属性信息系统都会初始化多个范围区间,用户生成的证明区间只能从中选取,链上部署了区间范围存证合约,通过该合约将这些区间信息以及对应的属性类别存储至链上,为了区分这些信息,每条上链信息都会匹配生成一个唯一的ID同步上传至链上,该操作由平台运营方触发;
一个属性需要生成证明的时候,根据其类别从范围区间存证合约上获取范围列表。
优选地,所述步骤S4包括:
扫描BP ID二维码,从链上查询到证明结果、范围区间ID、DID ID、有效时间这些信息;
将查询到的区间信息和证明结果进行链上验证,若区间信息遭到恶意篡改,链上验证将不会通过,若链上验证结果为真,结合有效时间验证是否通过;
整个过程无法得知到具体的相关属性信息,只能获取判断是否位于区间内。
根据本发明提供的一种隐私可验证的动态DID认证系统,包括:
系统M1:APP进行账户注册,将本地账户与DID ID绑定信息上传至可信服务器;
系统M2:App内进行属性修改,修改成功后调用可信服务器的CA证书生成功能,将CA证书在可信服务器和本地各存储一份;
系统M3:选择属性及对应的区间信息,对CA证书及区间信息进行验证并生成证明;
系统M4:将区间信息和证明结果进行链上验证。
优选地,所述系统M1包括:
在App内输入信息进行账户注册,用Hash算法将账户密码信息存储至可信服务器;
注册成功后登录,App随机生成两对公私钥,私钥保存至用户端;
私钥保存完毕后,生成DID文件信息,依据DID文件信息通过多次哈希运算得到DIDID;
将DID ID与DID文件信息绑定进行数据上链,同时将本地账户与DID ID绑定信息上传至可信服务器。
优选地,所述系统M2包括:
在App内进行属性修改,支持同时多属性修改,每次修改都需要验证身份;
App后台不直接存储属性信息,每当属性修改成功后,调用可信服务器的CA证书生成功能,并在服务器和本地各存储一份CA证书;针对不同的属性设置不同的过期时间;
在属性已有CA证书的情况下,再次修改后会吊销原有CA证书并重新生成一份全新的CA证书。
优选地,所述系统M3包括:
App内的属性选择链上的区间信息生成BulletProofs范围证明,读取本地的CA证书检验是否有效;
所述检验无效包括:CA证书过期;被吊销;CA证书状态正常,但其值不符合所选区间范围;检验无效时,会直接在App内通过弹窗提示,并且弹窗需要用户点击确认操作才可关闭;
检验有效后判断是否符合所选区间,不符合所选区间直接提示不可操作原因,符合所选区间进行下一步;
选择区间信息作为BulletProofs初始化的参数,防止后续区间信息恶意篡改,调用BulletProofs生成证明方法得到证明结果,生成一个唯一的BP ID,用来将证明结果、范围区间ID、DID ID、有效时间信息进行绑定一起上传到链上,在App显示BP ID的二维码供验证;BP ID的二维码有设置的有效时间,指的是其生成证明对应属性的CA证书的过期时间内;
所述范围区间ID包括:每个属性信息系统都会初始化多个范围区间,用户生成的证明区间只能从中选取,链上部署了区间范围存证合约,通过该合约将这些区间信息以及对应的属性类别存储至链上,为了区分这些信息,每条上链信息都会匹配生成一个唯一的ID同步上传至链上,该操作由平台运营方触发;
一个属性需要生成证明的时候,根据其类别从范围区间存证合约上获取范围列表。
优选地,所述系统M4包括:
扫描BP ID二维码,从链上查询到证明结果、范围区间ID、DID ID、有效时间这些信息;
将查询到的区间信息和证明结果进行链上验证,若区间信息遭到恶意篡改,链上验证将不会通过,若链上验证结果为真,结合有效时间验证是否通过;
整个过程无法得知到具体的相关属性信息,只能获取判断是否位于区间内。
与现有技术相比,本发明具有如下的有益效果:
1、本发明将DID与BulletProofs相结合,可以实现隐私可验证的动态DID认证系统;
2、本发明能够防止被人恶意篡改区间数据;
3、本发明实现了应用BulletProofs在App端;
4、本发明采用预先计算证明上链以及并行证明产生,大大提高系统性能。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为DID账号绑定及属性CA证书生成流程;
图2为BulletProofs生成、验证流程。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
根据本发明提供的一种隐私可验证的动态DID认证方法,如图1-图2所示,包括:
步骤S1:APP进行账户注册,将本地账户与DID ID绑定信息上传至可信服务器;
步骤S2:App内进行属性修改,修改成功后调用可信服务器的CA证书生成功能,将CA证书在可信服务器和本地各存储一份;
步骤S3:选择属性及对应的区间信息,对CA证书及区间信息进行验证并生成证明;
步骤S4:将区间信息和证明结果进行链上验证。
具体地,所述步骤S1包括:
在App内输入信息进行账户注册,用Hash算法将账户密码信息存储至可信服务器;
注册成功后登录,App随机生成两对公私钥,私钥保存至用户端;
私钥保存完毕后,生成DID文件信息,依据DID文件信息通过多次哈希运算得到DIDID;
将DID ID与DID文件信息绑定进行数据上链,同时将本地账户与DID ID绑定信息上传至可信服务器。
具体地,所述步骤S2包括:
在App内进行属性修改,支持同时多属性修改,每次修改都需要验证身份;
App后台不直接存储属性信息,每当属性修改成功后,调用可信服务器的CA证书生成功能,并在服务器和本地各存储一份CA证书;针对不同的属性设置不同的过期时间;
在属性已有CA证书的情况下,再次修改后会吊销原有CA证书并重新生成一份全新的CA证书。
具体地,所述步骤S3包括:
App内的属性选择链上的区间信息生成BulletProofs范围证明,读取本地的CA证书检验是否有效;
所述检验无效包括:CA证书过期;被吊销;CA证书状态正常,但其值不符合所选区间范围;检验无效时,会直接在App内通过弹窗提示,并且弹窗需要用户点击确认操作才可关闭;
检验有效后判断是否符合所选区间,不符合所选区间直接提示不可操作原因,符合所选区间进行下一步;
选择区间信息作为BulletProofs初始化的参数,防止后续区间信息恶意篡改,调用BulletProofs生成证明方法得到证明结果,生成一个唯一的BP ID,用来将证明结果、范围区间ID、DID ID、有效时间信息进行绑定一起上传到链上,在App显示BP ID的二维码供验证;BP ID的二维码有设置的有效时间,指的是其生成证明对应属性的CA证书的过期时间内;
所述范围区间ID包括:每个属性信息系统都会初始化多个范围区间,用户生成的证明区间只能从中选取,链上部署了区间范围存证合约,通过该合约将这些区间信息以及对应的属性类别存储至链上,为了区分这些信息,每条上链信息都会匹配生成一个唯一的ID同步上传至链上,该操作由平台运营方触发;
一个属性需要生成证明的时候,根据其类别从范围区间存证合约上获取范围列表。
具体地,所述步骤S4包括:
扫描BP ID二维码,从链上查询到证明结果、范围区间ID、DID ID、有效时间这些信息;
将查询到的区间信息和证明结果进行链上验证,若区间信息遭到恶意篡改,链上验证将不会通过,若链上验证结果为真,结合有效时间验证是否通过;
整个过程无法得知到具体的相关属性信息,只能获取判断是否位于区间内。
实施例2
实施例2为实施例1的优选例,以更为具体地对本发明进行说明。
本方案实现了应用在App端。基于不同的属性动态产生相应的证明,通过范围滑动(支持范围自定义)仅需采用一组固定的参数,完成各种属性和不同范围的证明;同时,链上只需要采用相同的固定的参数,在合约侧实现证明的验证;另外,属性的范围也会进行链上存证,克服了现有方案中,直接暴露属性的隐私问题。
所述区块链系统具备数据上链、智能合约(范围区间存证、BulletProofs验证合约)部署修改以及等功能;
所述用户具备DID身份管理(包括创建、修改以及注销)、BulletProofs范围证明生成的能力;
所述商户具备验证BulletProofs范围证明结果的能力。
所述可信任服务器具备对用户的多属性进行CA证书签发。
主要包括DID账户绑定、多属性CA证书生成、BulletProof范围证明生成、以及验证BulletProof结果环节。
1、DID账户绑定
1)用户注册
用户在App进行账户、密码等信息填写进行账户注册,Hash存储至可信服务器,用于后面与DID账户进行一对一进行绑定。
2)DID创建
注册成功后登录,App随机生成两对公私钥,用户进行私钥保存;
私钥保存完毕后,进行Did Document信息生成,然后依据Did Document信息通过多次哈希运算得到Did ID;DID文件生成包括:生成两对公私钥;生成BaseDID Document;对Base DID Document做sha256;对上面的结果再做ripemd160;对上面的结果做base58;在上面的结果前添加DID:wx:作为最终的DID
将Did ID与Document信息绑定进行上链,同时将本地账户与Did ID绑定信息上传至可信服务器。
2、多属性CA证书生成
在App内进行属性修改,每次修改都需要验证是否为本人(可通过交易密码、人脸识别等方案进行识别),这些属性包括但不局限于年龄、身高、收入。
App后台不直接存储这些属性信息,每当属性修改成功后,会调用可信服务器的CA证书生成功能,并将CA证书在服务器和App各存储一份;同时针对不同的属性,会设置不同的过期时间(比如年龄每过一年就会增长一岁,它的有效时间为生成当日与下一年生日的时间差)。
属性已有CA证书,再次修改后会吊销原有CA证书,并重新生成一份全新的CA证书。
可同时支持多属性修改。
3、BulletProof范围证明生成
1)App一个属性选择链上一个区间进行BulletProof范围证明生成的时候,会先读取本地的CA证书看是否有效,有效的话再判断是否符合所选区间,如果不符合直接提示不可操作原因(避免无意义的证明生成),符合进行下一步;
2)选择区间信息作为BulletProof初始化的参数之一(验证时BulletProof初始化也需要对应区间信息),可以防止后续区间信息恶意篡改,然后调用BulletProof生成证明方法得到证明结果,通过自定义的算法生成一个唯一的BP ID,用来将证明结果、范围区间ID、Did ID、有效时间等信息进行绑定一起上传到链上,然后在App显示BP ID的二维码(该二维码会有一定的有效时间),供商户验证;
3)上述只是针对一个属性的BulletProof范围证明情况说明,实际可支持多个证明合并一起生成;
4、验证BulletProof结果
商户扫描用户提供的BP ID二维码,从链上查询到范围区间ID、证明结果、范围区间ID、Did ID、有效时间等信息;
将查询到的区间信息和证明结果进行链上验证(若区间信息遭到恶意篡改,最终链上验证将不会通过),若结果为真,再结合有效时间等信息最终验证是否通过。整个过程商户完全无法得知到用户的相关属性信息,只能获取判断是否位于区间内。
实施例3
本领域技术人员可以将本发明提供的一种隐私可验证的动态DID认证方法,理解为隐私可验证的动态DID认证系统的具体实施方式,即所述隐私可验证的动态DID认证系统可以通过执行所述隐私可验证的动态DID认证方法的步骤流程予以实现。
根据本发明提供的一种隐私可验证的动态DID认证系统,包括:
系统M1:APP进行账户注册,将本地账户与DID ID绑定信息上传至可信服务器;
系统M2:App内进行属性修改,修改成功后调用可信服务器的CA证书生成功能,将CA证书在可信服务器和本地各存储一份;
系统M3:选择属性及对应的区间信息,对CA证书及区间信息进行验证并生成证明;
系统M4:将区间信息和证明结果进行链上验证。
具体地,所述系统M1包括:
在App内输入信息进行账户注册,用Hash算法将账户密码信息存储至可信服务器;
注册成功后登录,App随机生成两对公私钥,私钥保存至用户端;
私钥保存完毕后,生成DID文件信息,依据DID文件信息通过多次哈希运算得到DIDID;
将DID ID与DID文件信息绑定进行数据上链,同时将本地账户与DID ID绑定信息上传至可信服务器。
具体地,所述系统M2包括:
在App内进行属性修改,支持同时多属性修改,每次修改都需要验证身份;
App后台不直接存储属性信息,每当属性修改成功后,调用可信服务器的CA证书生成功能,并在服务器和本地各存储一份CA证书;针对不同的属性设置不同的过期时间;
在属性已有CA证书的情况下,再次修改后会吊销原有CA证书并重新生成一份全新的CA证书。
具体地,所述系统M3包括:
App内的属性选择链上的区间信息生成BulletProofs范围证明,读取本地的CA证书检验是否有效;
所述检验无效包括:CA证书过期;被吊销;CA证书状态正常,但其值不符合所选区间范围;检验无效时,会直接在App内通过弹窗提示,并且弹窗需要用户点击确认操作才可关闭;
检验有效后判断是否符合所选区间,不符合所选区间直接提示不可操作原因,符合所选区间进行下一步;
选择区间信息作为BulletProofs初始化的参数,防止后续区间信息恶意篡改,调用BulletProofs生成证明方法得到证明结果,生成一个唯一的BP ID,用来将证明结果、范围区间ID、DID ID、有效时间信息进行绑定一起上传到链上,在App显示BP ID的二维码供验证;BP ID的二维码有设置的有效时间,指的是其生成证明对应属性的CA证书的过期时间内;
所述范围区间ID包括:每个属性信息系统都会初始化多个范围区间,用户生成的证明区间只能从中选取,链上部署了区间范围存证合约,通过该合约将这些区间信息以及对应的属性类别存储至链上,为了区分这些信息,每条上链信息都会匹配生成一个唯一的ID同步上传至链上,该操作由平台运营方触发;
一个属性需要生成证明的时候,根据其类别从范围区间存证合约上获取范围列表。
具体地,所述系统M4包括:
扫描BP ID二维码,从链上查询到证明结果、范围区间ID、DID ID、有效时间这些信息;
将查询到的区间信息和证明结果进行链上验证,若区间信息遭到恶意篡改,链上验证将不会通过,若链上验证结果为真,结合有效时间验证是否通过;
整个过程无法得知到具体的相关属性信息,只能获取判断是否位于区间内。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (8)
1.一种隐私可验证的动态DID认证方法,其特征在于,包括:
步骤S1:APP进行账户注册,将本地账户与DID ID绑定信息上传至可信服务器;
步骤S2:App内进行属性修改,修改成功后调用可信服务器的CA证书生成功能,将CA证书在可信服务器和本地各存储一份;
步骤S3:选择属性及对应的区间信息,对CA证书及区间信息进行验证并生成证明;
步骤S4:将区间信息和证明结果进行链上验证;
所述步骤S3包括:
App内的属性选择链上的区间信息生成BulletProofs范围证明,读取本地的CA证书检验是否有效;
所述检验无效包括:CA证书过期;被吊销;CA证书状态正常,但其值不符合所选区间范围;检验无效时,会直接在App内通过弹窗提示,并且弹窗需要用户点击确认操作才可关闭;
检验有效后判断是否符合所选区间,不符合所选区间直接提示不可操作原因,符合所选区间进行下一步;
选择区间信息作为BulletProofs初始化的参数,防止后续区间信息恶意篡改,调用BulletProofs生成证明方法得到证明结果,生成一个唯一的BP ID,用来将证明结果、范围区间ID、DID ID、有效时间信息进行绑定一起上传到链上,在App显示BP ID的二维码供验证;BP ID的二维码有设置的有效时间,指的是其生成证明对应属性的CA证书的过期时间内;
所述范围区间ID包括:每个属性信息系统都会初始化多个范围区间,用户生成的证明区间只能从中选取,链上部署了区间范围存证合约,通过该合约将这些区间信息以及对应的属性类别存储至链上,为了区分这些信息,每条上链信息都会匹配生成一个唯一的ID同步上传至链上,该操作由平台运营方触发;
一个属性需要生成证明的时候,根据其类别从范围区间存证合约上获取范围列表。
2.根据权利要求1所述的隐私可验证的动态DID认证方法,其特征在于,所述步骤S1包括:
在App内输入信息进行账户注册,用Hash算法将账户密码信息存储至可信服务器;
注册成功后登录,App随机生成两对公私钥,私钥保存至用户端;
私钥保存完毕后,生成DID文件信息,依据DID文件信息通过多次哈希运算得到DID ID;
将DID ID与DID文件信息绑定进行数据上链,同时将本地账户与DID ID绑定信息上传至可信服务器。
3.根据权利要求1所述的隐私可验证的动态DID认证方法,其特征在于,所述步骤S2包括:
在App内进行属性修改,支持同时多属性修改,每次修改都需要验证身份;
App后台不直接存储属性信息,每当属性修改成功后,调用可信服务器的CA证书生成功能,并在服务器和本地各存储一份CA证书;针对不同的属性设置不同的过期时间;
在属性已有CA证书的情况下,再次修改后会吊销原有CA证书并重新生成一份全新的CA证书。
4.根据权利要求1所述的隐私可验证的动态DID认证方法,其特征在于,所述步骤S4包括:
扫描BP ID二维码,从链上查询到证明结果、范围区间ID、DID ID、有效时间这些信息;
将查询到的区间信息和证明结果进行链上验证,若区间信息遭到恶意篡改,链上验证将不会通过,若链上验证结果为真,结合有效时间验证是否通过;
整个过程无法得知到具体的相关属性信息,只能获取判断是否位于区间内。
5.一种隐私可验证的动态DID认证系统,其特征在于,包括:
系统M1:APP进行账户注册,将本地账户与DID ID绑定信息上传至可信服务器;
系统M2:App内进行属性修改,修改成功后调用可信服务器的CA证书生成功能,将CA证书在可信服务器和本地各存储一份;
系统M3:选择属性及对应的区间信息,对CA证书及区间信息进行验证并生成证明;
系统M4:将区间信息和证明结果进行链上验证;
所述系统M3包括:
App内的属性选择链上的区间信息生成BulletProofs范围证明,读取本地的CA证书检验是否有效;
所述检验无效包括:CA证书过期;被吊销;CA证书状态正常,但其值不符合所选区间范围;检验无效时,会直接在App内通过弹窗提示,并且弹窗需要用户点击确认操作才可关闭;
检验有效后判断是否符合所选区间,不符合所选区间直接提示不可操作原因,符合所选区间进行下一步;
选择区间信息作为BulletProofs初始化的参数,防止后续区间信息恶意篡改,调用BulletProofs生成证明方法得到证明结果,生成一个唯一的BP ID,用来将证明结果、范围区间ID、DID ID、有效时间信息进行绑定一起上传到链上,在App显示BP ID的二维码供验证;BP ID的二维码有设置的有效时间,指的是其生成证明对应属性的CA证书的过期时间内;
所述范围区间ID包括:每个属性信息系统都会初始化多个范围区间,用户生成的证明区间只能从中选取,链上部署了区间范围存证合约,通过该合约将这些区间信息以及对应的属性类别存储至链上,为了区分这些信息,每条上链信息都会匹配生成一个唯一的ID同步上传至链上,该操作由平台运营方触发;
一个属性需要生成证明的时候,根据其类别从范围区间存证合约上获取范围列表。
6.根据权利要求5所述的隐私可验证的动态DID认证系统,其特征在于,所述系统M1包括:
在App内输入信息进行账户注册,用Hash算法将账户密码信息存储至可信服务器;
注册成功后登录,App随机生成两对公私钥,私钥保存至用户端;
私钥保存完毕后,生成DID文件信息,依据DID文件信息通过多次哈希运算得到DID ID;
将DID ID与DID文件信息绑定进行数据上链,同时将本地账户与DID ID绑定信息上传至可信服务器。
7.根据权利要求5所述的隐私可验证的动态DID认证系统,其特征在于,所述系统M2包括:
在App内进行属性修改,支持同时多属性修改,每次修改都需要验证身份;
App后台不直接存储属性信息,每当属性修改成功后,调用可信服务器的CA证书生成功能,并在服务器和本地各存储一份CA证书;针对不同的属性设置不同的过期时间;
在属性已有CA证书的情况下,再次修改后会吊销原有CA证书并重新生成一份全新的CA证书。
8.根据权利要求5所述的隐私可验证的动态DID认证系统,其特征在于,所述系统M4包括:
扫描BP ID二维码,从链上查询到证明结果、范围区间ID、DID ID、有效时间这些信息;
将查询到的区间信息和证明结果进行链上验证,若区间信息遭到恶意篡改,链上验证将不会通过,若链上验证结果为真,结合有效时间验证是否通过;
整个过程无法得知到具体的相关属性信息,只能获取判断是否位于区间内。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111016300.5A CN113704733B (zh) | 2021-08-31 | 2021-08-31 | 隐私可验证的动态did认证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111016300.5A CN113704733B (zh) | 2021-08-31 | 2021-08-31 | 隐私可验证的动态did认证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113704733A CN113704733A (zh) | 2021-11-26 |
CN113704733B true CN113704733B (zh) | 2024-03-08 |
Family
ID=78658360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111016300.5A Active CN113704733B (zh) | 2021-08-31 | 2021-08-31 | 隐私可验证的动态did认证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113704733B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088360A (zh) * | 2009-12-08 | 2011-06-08 | 长春吉大正元信息技术股份有限公司 | 分布式授权管理系统及其实现方法 |
CN105099681A (zh) * | 2014-05-05 | 2015-11-25 | 中国电子信息产业发展研究院 | 一种应用数字证书认证用户身份的方法及装置 |
CN108122109A (zh) * | 2017-12-15 | 2018-06-05 | 广州天宁信息技术有限公司 | 一种电子凭据身份管理的方法及装置 |
CN109196818A (zh) * | 2016-03-25 | 2019-01-11 | 克雷德里有限公司 | 数字证书的生成、管理和跟踪 |
CN110798483A (zh) * | 2019-11-12 | 2020-02-14 | 北京芯际科技有限公司 | 一种基于区块链的身份认证的方法 |
CN113094633A (zh) * | 2021-04-21 | 2021-07-09 | 大连理工大学 | 一种基于标量等式内积的高效范围证明方法 |
CN113098838A (zh) * | 2021-02-21 | 2021-07-09 | 西安电子科技大学 | 一种可信分布式身份认证方法、系统、存储介质及应用 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158791A (zh) * | 2013-05-14 | 2014-11-19 | 北大方正集团有限公司 | 一种分布式环境下的安全通信认证方法及系统 |
US11153098B2 (en) * | 2018-10-09 | 2021-10-19 | Ares Technologies, Inc. | Systems, devices, and methods for recording a digitally signed assertion using an authorization token |
US11240025B2 (en) * | 2018-11-09 | 2022-02-01 | Ares Technologies, Inc. | Systems and methods for distributed key storage |
US11127002B2 (en) * | 2018-11-27 | 2021-09-21 | Advanced New Technologies Co., Ltd. | System and method for information protection |
-
2021
- 2021-08-31 CN CN202111016300.5A patent/CN113704733B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088360A (zh) * | 2009-12-08 | 2011-06-08 | 长春吉大正元信息技术股份有限公司 | 分布式授权管理系统及其实现方法 |
CN105099681A (zh) * | 2014-05-05 | 2015-11-25 | 中国电子信息产业发展研究院 | 一种应用数字证书认证用户身份的方法及装置 |
CN109196818A (zh) * | 2016-03-25 | 2019-01-11 | 克雷德里有限公司 | 数字证书的生成、管理和跟踪 |
CN108122109A (zh) * | 2017-12-15 | 2018-06-05 | 广州天宁信息技术有限公司 | 一种电子凭据身份管理的方法及装置 |
CN110798483A (zh) * | 2019-11-12 | 2020-02-14 | 北京芯际科技有限公司 | 一种基于区块链的身份认证的方法 |
CN113098838A (zh) * | 2021-02-21 | 2021-07-09 | 西安电子科技大学 | 一种可信分布式身份认证方法、系统、存储介质及应用 |
CN113094633A (zh) * | 2021-04-21 | 2021-07-09 | 大连理工大学 | 一种基于标量等式内积的高效范围证明方法 |
Non-Patent Citations (1)
Title |
---|
Benedikt Bünz ; Jonathan Bootle ; Dan Boneh ; Andrew Poelstra ; Pieter Wuille.Bulletproofs: Short Proofs for Confidential Transactions and More.《 2018 IEEE Symposium on Security and Privacy (SP)》.2018,第1-20页. * |
Also Published As
Publication number | Publication date |
---|---|
CN113704733A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110519062B (zh) | 基于区块链的身份认证方法、认证系统及存储介质 | |
CN110915183B (zh) | 经由硬/软令牌验证的区块链认证 | |
AU2017376036B2 (en) | Two-dimensional barcode processing method, device, and system | |
US11018869B2 (en) | Blockchain-based digital identity management (DIM) system | |
CN108777684B (zh) | 身份认证方法、系统及计算机可读存储介质 | |
CN107742212B (zh) | 基于区块链的资产验证方法、装置及系统 | |
CN104104672B (zh) | 基于身份认证建立动态授权码的方法 | |
CN110677376B (zh) | 认证方法、相关设备和系统及计算机可读存储介质 | |
WO2020236870A1 (en) | Systems and methods for maintaining decentralized digital identities | |
CN111080295A (zh) | 一种基于区块链的电子合同处理方法以及设备 | |
CN112000744B (zh) | 一种签名方法及相关设备 | |
CN111881483B (zh) | 基于区块链的资源账户绑定方法、装置、设备和介质 | |
CN104104671B (zh) | 建立企业法人账户的统一动态授权码系统 | |
CN112448946A (zh) | 基于区块链的日志审计方法及装置 | |
CN108540447A (zh) | 一种基于区块链的证书验证方法及系统 | |
CN109818965B (zh) | 个人身份验证装置及方法 | |
CN113704734A (zh) | 基于分布式数字身份实现凭证验证的方法及相关装置 | |
GB2567715A (en) | Authentication system, method and program | |
CN113704733B (zh) | 隐私可验证的动态did认证方法及系统 | |
CN108965335B (zh) | 防止恶意访问登录接口的方法、电子设备及计算机介质 | |
CN111480316A (zh) | 生成和验证密码的方法和设备 | |
CN110599332A (zh) | 基于区块链的用户意愿确定方法、装置、设备和存储介质 | |
CN113779637B (zh) | 一种属性数据处理方法、装置、设备以及介质 | |
CN113872986B (zh) | 配电终端认证方法、装置和计算机设备 | |
US11343107B2 (en) | System for method for secured logging of events |
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 |