CN113935072B - 发行者注册方法、装置、计算机设备及存储介质 - Google Patents
发行者注册方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113935072B CN113935072B CN202111130239.7A CN202111130239A CN113935072B CN 113935072 B CN113935072 B CN 113935072B CN 202111130239 A CN202111130239 A CN 202111130239A CN 113935072 B CN113935072 B CN 113935072B
- Authority
- CN
- China
- Prior art keywords
- issuer
- group
- signature
- registered
- issuers
- 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 66
- 238000012795 verification Methods 0.000 claims description 68
- 238000001514 detection method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012797 qualification Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000012550 audit Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种发行者注册方法、装置、计算机设备及存储介质,可以通过创建发行者群组,在上级发行者执行添加下一级发行者的操作时,统计与上级发行者处于同一群组、且属于同一级别的发行者群签名的有效性以及数量,在数量达到预设数量后,且验证发行者的群签名有效后,则确定该下一级发行者注册成功,能够优化发行者添加的正规性,提高区块链联盟的可靠性,从而提升区块链联盟的安全性。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种发行者注册方法、装置、计算机设备及存储介质。
背景技术
随着互联网的不断发展,区块链技术应运而生,具体地,区块链技术的本质是去中心化且寓于分布式结构的数据存储、传输和证明的方法,用数据区块取代目前互联网对中心服务器的依赖,使得所有数据的变更或者交易项目都被记录在一个云系统之上。区块链技术是一种互联网数据库技术,具有去中心化、公开透明的特点。例如,区块链领域出现的技术数字身份分布式身份标识 (Decentralized Identifiers,DID)技术,具有分布式、自主可控、跨链复用等特点。
目前,现有分布式身份标识及可验证声明(Verifiable Credential,VC)模型下,发行者注册通常采用多层级的注册方式,即上级发行者可添加下级发行者为发行者。例如,在三级发行者架构中,根发行者可添加一级发行者、一级发行者可添加普通发行者。然而,现有的发行者添加方式较为简单,正规性较差,从而导致区块链联盟的可靠性低,存在安全问题。
发明内容
本申请实施例提供一种发行者注册方法、装置、计算机设备及存储介质,可以通过创建发行者群组,在上级发行者执行添加下一级发行者的操作时,统计与上级发行者处于同一级别发行者的群签名的有效性以及数量,在数量达到预设数量后,且验证发行者的群签名有效后,则确定该下一级发行者注册成功,能够优化发行者添加的正规性,提高区块链联盟的可靠性,从而提升区块链联盟的安全性。
本申请实施例提供了一种发行者注册方法,该方法包括:
获取第一发行者对待注册网络实体的注册请求,其中,所述注册请求中携带有所述待注册网络实体对应的第一属性信息,所述第一属性信息包括所述待注册网络实体的待注册的发行者权限级别,所述第一发行者的权限级别高于所述待注册的发行者权限级别;
基于所述第一属性信息生成签名请求,其中,所述签名请求用于提示第二发行者进行群签名,所述第二发行者与所述第一发行者属于区块链网络中的同一群组、且与所述第一发行者的权限级别相同;
向所述群组内所有第二发行者发送所述签名请求,以使所述第二发行者在所述区块链网络已部署的智能合约中获取验证信息,并基于所述验证信息在群签名平台进行群签名,其中,所述验证信息包括所述第一属性信息、所述第二发行者的第二属性信息以及所述群组的第三属性信息;
获取所述群组内所述第一发行者的群签名、以及所有第二发行者的群签名,所述智能合约基于所述群签名确定所述注册请求是否被允许;
若所述注册请求被允许,则触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者。
可选的,所述智能合约基于所述群签名确定所述注册请求是否被允许,包括:
确定所述群签名的数量与预设阈值的大小关系;
若所述群签名的数量大于或等于所述预设阈值,则确定所述注册请求被允许,触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者;
若所述群签名的数量小于所述预设阈值,则确定所述注册请求不被允许。
可选的,所述向所述群组内所有第二发行者发送所述签名请求,以使所述第二发行者在所述区块链网络已部署的智能合约中获取验证信息,并基于所述验证信息在群签名平台进行群签名,包括:
向所述群组内所有第二发行者发送所述签名请求,以使所述第二发行者在所述区块链网络已部署的智能合约中获取所述第一属性信息中的第一身份标识、所述第二属性信息中的所述第二发行者的第二身份标识和所述第二发行者的私钥信息、以及所述第三属性信息中的第三身份标识,并基于所述第一属性信息中的第一身份标识、所述第二属性信息中的所述第二发行者的第二身份标识和所述第二发行者的私钥信息、以及所述第三属性信息中的第三身份标识生成群签名。
可选的,在获取所述群组内所述第一发行者的群签名、以及所有第二发行者的群签名之后,所述智能合约基于所述群签名确定所述注册请求是否被允许之前,还包括:
获取群签名验证信息以及所述群签名,其中,所述群签名验证信息包括所述群组的公钥信息和预设配对参数,所述群签名携带有所述第一身份标识、所述第二身份标识、所述第二发行者的私钥信息、以及所述第三身份标识;
基于所述群签名验证信息对所述群签名进行验证;
若验证成功,则基于所述群签名确定所述注册请求是否被允许。
可选的,在向所述群组内所有第二发行者发送所述签名请求之前,还包括:
获取第三发行者发起的群创建请求,其中,所述群创建请求中携带有群名称,所述第三发行者的权限级别高于所述第一发行者的权限级别;
基于所述群创建请求通过所述群签名平台在所述区块链网络中创建一群组,并对所述第三发行者赋予群管理权限,其中,所述群组配置有群公钥信息和群私钥信息;
当检测到所述第三发行者对所述第一发行者的群成员添加请求时,基于所述群名称、所述第一发行者的身份标识在所述群签名平台生成所述第一发行者的私钥信息以及群成员证书,以将所述第一发行者添加至所述群组中。
可选的,在获取第一发行者对待注册网络实体的注册请求之后,还包括:
将所述第一属性信息添加至预设映射表中,并基于所述第一属性信息生成第一标识符,其中,所述第一标识符关联至所述第一属性信息,所述第一标识符用于查找所述第一属性信息,所述属性信息包括第一身份标识、地址标识、发行者类型以及可发行的凭证主题;
所述基于所述第一属性信息生成第一标识符,包括:
获取所述第一身份标识,将所述第一身份标识作为第一标识符。
可选的,在触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者之后,还包括:
基于群组内所有第二发行者的群签名生成群签名索引表,以将所述群组内所有第二发行者的群签名进行保存。
可选的,在触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者之后,还包括:
将所述群组内所有第二发行者的群签名储存至所述区块链网络中,以使当检测到监管者对所述待注册网络实体的审核请求时,所述监管者从所述区块链网络中下载与所述待注册网络实体关联的所有群签名。
可选的,在确定所述注册请求不被允许之后,还包括:
获取未进行群签名的第二发行者发送的提示信息,其中,所述提示信息用于向所述待注册网络实体进行提示;
向所述待注册网络实体发送所述提示信息。
可选的,在获取所述群组内所述第一发行者的群签名、以及所有第二发行者的群签名之后,所述智能合约基于所述群签名确定所述注册请求是否被允许之前,还包括:
获取未进行群签名的第二发行者发送的提示信息,其中,所述提示信息用于提示所述待注册网络实体提供目标凭证信息;
基于所述提示信息生成凭证获取请求,并向所述待注册网络实体发送所述凭证获取请求,其中,所述凭证获取请求用于指示所述待注册网络实体确认提供凭证信息;
获取所述待注册网络实体返回的待验证凭证信息,并向所述第二发行者发送所述待验证凭证信息,以使所述第二发行者基于所述提示信息确定所述待验证凭证信息是否为目标凭证信息;
若是,则获取所述第二发行者基于所述第一属性信息、所述第二发行者的第二属性信息以及所述群组的第三属性信息生成的群签名;
基于所述群签名确定所述注册请求是否被允许。
可选的,所述第一属性信息包括所述待注册网络实体的发行者名称、发行者地址、发行者类型、发行者详情、申请发行的凭证主题以及资质信息。
相应的,本申请实施例还提供了一种发行者注册装置,所述装置包括:
第一获取单元,用于获取第一发行者对待注册网络实体的注册请求,其中,所述注册请求中携带有所述待注册网络实体对应的第一属性信息,所述第一属性信息包括所述待注册网络实体的待注册的发行者权限级别,所述第一发行者的权限级别高于所述待注册的发行者权限级别;
生成单元,用于基于所述第一属性信息生成签名请求,其中,所述签名请求用于提示第二发行者进行群签名,所述第二发行者与所述第一发行者属于区块链网络中的同一群组、且与所述第一发行者的权限级别相同;
发送单元,用于向所述群组内所有第二发行者发送所述签名请求,以使所述第二发行者在所述区块链网络已部署的智能合约中获取验证信息,并基于所述验证信息在群签名平台进行群签名,其中,所述验证信息包括所述第一属性信息、所述第二发行者的第二属性信息以及所述群组的第三属性信息;
第二获取单元,用于获取所述群组内所述第一发行者的群签名、以及所有第二发行者的群签名,所述智能合约基于所述群签名确定所述注册请求是否被允许;
处理单元,用于若所述注册请求被允许,则触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者。
在一些实施例中,该装置还包括第一确定单元,第一确定单元用于:
确定所述群签名数量与预设阈值的大小关系;
若所述群签名数量大于或等于所述预设阈值,则确定所述注册请求被允许,触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者;
若所述群签名数量小于所述预设阈值,则确定所述注册请求不被允许。
在一些实施例中,所述发送单元还用于:
向所述群组内所有第二发行者发送所述签名请求,以使所述第二发行者在所述区块链网络已部署的智能合约中获取所述第一属性信息中的第一身份标识、所述第二属性信息中的所述第二发行者的第二身份标识和所述第二发行者的私钥信息、以及所述第三属性信息中的第三身份标识,并基于所述第一属性信息中的第一身份标识、所述第二属性信息中的所述第二发行者的第二身份标识和所述第二发行者的私钥信息、以及所述第三属性信息中的第三身份标识生成群签名。
在一些实施例中,该装置还包括第三获取单元,第三获取单元用于:
获取群签名验证信息以及所述群签名,其中,所述群签名验证信息包括所述群组的公钥信息和预设配对参数,所述群签名携带有所述第一身份标识、所述第二身份标识、所述第二发行者的私钥信息、以及所述第三身份标识;
基于所述群签名验证信息对所述群签名进行验证;
若验证成功,则基于所述群签名确定所述注册请求是否被允许。
在一些实施例中,该装置还包括:
第四获取单元,用于获取第三发行者发起的群创建请求,其中,所述群创建请求中携带有群名称,所述第三发行者的权限级别高于所述第一发行者的权限级别;
创建单元,用于基于所述群创建请求通过所述群签名平台在所述区块链网络中创建一群组,并对所述第三发行者赋予群管理权限,其中,所述群组配置有群公钥信息和群私钥信息;
添加单元,用于当检测到所述第三发行者对所述第一发行者的群成员添加请求时,基于所述群名称、所述第一发行者的身份标识在所述群签名平台生成所述第一发行者的私钥信息以及群成员证书,以将所述第一发行者添加至所述群组中。
在一些实施例中,添加单元还用于:
将所述第一属性信息添加至预设映射表中,并基于所述第一属性信息生成第一标识符,其中,所述第一标识符关联至所述第一属性信息,所述第一标识符用于查找所述第一属性信息,所述属性信息包括第一身份标识、地址标识、发行者类型以及可发行的凭证主题。
在一些实施例中,该装置还包括:
第五获取单元,用于获取所述第一身份标识,将所述第一身份标识作为第一标识符。
在一些实施例中,生成单元还用于:
基于群组内所有第二发行者的群签名生成群签名索引表,以将所述群组内所有第二发行者的群签名进行保存。
在一些实施例中,该装置还包括储存单元,储存单元用于:
将所述群组内所有第二发行者的群签名储存至所述区块链网络中,以使当检测到监管者对所述待注册网络实体的审核请求时,所述监管者从所述区块链网络中下载与所述待注册网络实体关联的所有群签名。
在一些实施例中,该装置还包括第六获取单元,第六获取单元用于:
获取未进行群签名的第二发行者发送的提示信息,其中,所述提示信息用于向所述待注册网络实体进行提示;
向所述待注册网络实体发送所述提示信息。
在一些实施例中,该装置还包括第七获取单元,第七获取单元用于:
获取未进行群签名的第二发行者发送的提示信息,其中,所述提示信息用于提示所述待注册网络实体提供目标凭证信息;
基于所述提示信息生成凭证获取请求,并向所述待注册网络实体发送所述凭证获取请求,其中,所述凭证获取请求用于指示所述待注册网络实体确认提供凭证信息;
获取所述待注册网络实体返回的待验证凭证信息,并向所述第二发行者发送所述待验证凭证信息,以使所述第二发行者基于所述提示信息确定所述待验证凭证信息是否为目标凭证信息;
若是,则获取所述第二发行者基于所述第一属性信息、所述第二发行者的第二属性信息以及所述群组的第三属性信息生成的群签名;
基于所述群签名确定所述注册请求是否被允许。
相应的,本申请实施例还提供了一种计算机设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的发行者注册方法任一项的步骤。
此外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的发行者注册方法任一项的步骤。
本申请实施例提供一种发行者注册方法、装置、计算机设备及存储介质,可以通过创建发行者群组,在上级发行者执行添加下一级发行者的操作时,统计与上级发行者处于同一群组且、且属于同一级别的发行者群签名的有效性以及数量,在数量达到预设数量后,且验证发行者的群签名有效后,则确定该下一级发行者注册成功,能够优化发行者添加的正规性,提高区块链联盟的可靠性,从而提升区块链联盟的安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的分布式身份标识及可验证声明模型的流程示意图。
图2是本申请实施例提供的发行者注册方法的一种流程示意图。
图3是本申请实施例提供的发行者注册方法的一种交互示意图。
图4是本申请实施例提供的发行者注册装置的结构示意图。
图5是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种发行者注册方法、装置、计算机设备及存储介质。具体地,本申请实施例提供适用于发行者注册装置的发行者注册方法,该发行者注册装置可以集成在计算机设备中,本申请实施例的发行者注册方法可以由计算机设备执行。其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC, Personal Computer)、个人数字助理(Personal DigitalAssistant,PDA)等终端设备。该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。
请参阅图1,图1为本申请实施例提供的分布式身份标识及可验证声明(Verifiable Credential,VC)模型的流程示意图。在本申请实施例所提供的分布式身份标识及可验证声明(Verifiable Credential,VC)模型中,包含有4种参与者:持有者、借用者、发行者和验证者。其中,持有者可以进行分布式身份标识注册、以及查询分布式身份标识,还可以通过注册分布式身份标识并成为发行者。持有者用户可以申请可验证声明,并将申请发送至发行者,发行者可以验证持有者的分布式身份标识后确定是否发行可验证声明。持有者用户向验证者提供可验证声明,验证者可以验证用户、发行者或签名信息等是否合法,验证者也可能调用发行者检查可验证声明的状态。
其中,本申请实施例可应用于可验证声明(VC)的可验证系统中,在可验证声明系统中,包括4种参与者:发行者(Issuer),拥有用户数据并能开具可验证声明的实体,如政府、银行、大学等机构和组织;持有者(Holder),持有者即用户,用户向发行者请求、收到以及持有可验证声明的实体,向验证者出示可验证声明,开具的可验证声明可以自我保存,方便以后再次使用,例如保存在钱包里,用户也可能将一个或多个VC转让给其他人;验证者(Verifier),接收可验证声明并进行验证,验证通过后,可以提供给出示可验证声明的用户某种类型的服务;标识符注册机构(Verifiable Data Registry),维护分布式身份标识(DIDs)的数据库,如某条区块链、分布式账本。在可验证声明系统中,验证者可以验证用户的可验证声明,也可以验证自签名后的可验证声明,也即可验证表述(VP),验证通过后,即可确定用户所持有的可验证声明的有效性。其中,发行者具有不同的类别,不同类别的发行者具有不同的权限级别。
例如,以三级发行者架构为例,发行者可以分为根发行者、一级发行者以及普通发行者。根发行者可以直接增加一级发行者,并对一级发行者授权发行指定凭证,根发行者可以为联盟链内的联盟组织内的成员。一级发行者可直接增加普通发行者,并对普通发行者授权发行指定凭证,一级发行者可以为权威机构、权威协会、权威组织、联盟等各类广义上的一级机构(如教育局、公共区块链平台、工商机构、银监会、政府组织、通用一级机构等)。网络实体在经过一级发行者授权后,可以成为普通发行者,普通发行者具备发行指定凭证的权限,普通发行者可以为各类机构/协会/组织/联盟下属分支,如公司(工商认证机构)、各类大学(教育局颁发)、各类普通发行者(门票发行者)等。
本申请实施例提供一种发行者注册方法、装置、计算机设备及存储介质,以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本申请实施例提供一种发行者注册方法,本申请实施例将从发行者注册装置的角度进行描述,该发行者注册装置具体可以集成在计算机设备中。
请一并参阅图2和图3,图2为本申请实施例提供的发行者注册方法的一种流程示意图,图3为本申请实施例提供的发行者注册方法的一种交互示意图,具体流程可以如下步骤101至步骤105:
101、获取第一发行者对待注册网络实体的注册请求,其中,注册请求中携带有待注册网络实体对应的第一属性信息,第一属性信息包括待注册网络实体的待注册的发行者权限级别,第一发行者的权限级别高于待注册的发行者权限级别。
其中,第一属性信息包括所述待注册网络实体的发行者名称、发行者地址、发行者类型、发行者详情、申请发行的凭证主题以及资质信息。发行者(Issuer) 为拥有用户数据并且能够开具可验证声明(Verifiable Credential,VC)的实体,例如,政府、银行、大学等机构或组织。
为了便于第二发行者获取待注册网络实体的属性信息,在“获取第一发行者对待注册网络实体的注册请求”之后,方法可以包括:
将第一属性信息添加至预设映射表中,并基于第一属性信息生成第一标识符,其中,第一标识符关联至第一属性信息,第一标识符用于查找第一属性信息,属性信息包括第一身份标识、地址标识、发行者类型以及可发行的凭证主题。
其中,区块链网络已部署的智能合约可以包括发行者验证签名合约以及发行者合约。
具体的,步骤“基于所述第一属性信息生成第一标识符”,方法可以包括:
获取第一身份标识,将第一身份标识作为第一标识符。
例如,当一个第一发行者预注册一个待注册网络实体(待注册发行者)为目标发行者时,需要调用预先部署的发行者验证签名合约,在发行者验证签名合约输入下列参数:待注册发行者的发行者名称、待注册发行者的发行者地址、待注册发行者的发行者类型(例如:普通发行者)、待注册发行者的发行者详情(可发行的凭证主题等)。预注册一个待注册网络实体(待注册发行者)的参考代码示例如下:
//2、预添加发行者
//发行者名称、发行者地址、发行者类型、发行者详情
function preAddIssuer(string issuerName,address issuerAddr,uint16issuerType,string issuerDetail)public{
require(preIssuerInfoMap[_issuerName].issuerAddr==address(0));
preIssuerInfoMap[issuerName]=issuerInfo(issuerAddr,issuerName,issuerType,issuerDetail);
}
需要说明的是,在调用发行者群签名合约执行过程中,发行者名称 (issuerName)必须唯一,若重复,则无法添加成功。
可选的,在调用预先部署的发行者验证签名合约预注册待注册网络实体之后,可以将待注册发行者的发行者信息保存到预添加发行者映射信息图 (mappreIssuerInfoMap)中,其中,键(key)为待注册发行者的发行者名称;数据(value)为:待注册发行者的发行者名称、待注册发行者的发行者地址、待注册发行者的发行者类型(普通发行者)以及待注册发行者的发行者详情等信息。
在一具体实施例中,在步骤“获取第一发行者对待注册网络实体的注册请求”之前,区块链联盟(管理员)可以部署一个发行者群签名合约,发行者验证签名合约详情的参考代码示例如下:
需要说明的是,第一属性信息包括所述待注册网络实体的发行者名称、发行者地址、发行者类型、发行者详情、申请发行的凭证主题以及资质;第二发行者可以基于所述待注册网络实体的发行者名称、发行者地址、发行者类型、发行者详情、申请发行的凭证主题以及资质进行验证。
102、基于第一属性信息生成签名请求,其中,签名请求用于提示第二发行者进行群签名,第二发行者与第一发行者属于区块链网络中的同一群组、且与第一发行者的权限级别相同。
其中,本申请实施例中的第一发行者和第二发行者属于区块链网络中的同一群组、且与第一发行者的权限级别相同。那么在进行发行者注册的操作之前,需要创建在区块链网络创建一个群组,以使第一发行者和第二发行者位于同一个群组中。
具体的,一级发行者联盟可以进行群创建。一级发行者联盟通过在区块链系统中输入群名称参数(PrimaryIssuerGroup),并调用群签名平台,在群签名平台生成用于群配对的群私钥(gmskInfo)、群公钥(gpkInfo)、私密信息(gamma)以及线性配对参数(pbcparam),区块链系统基于上述数据在区块链网络中生成一个群组。其中,群私钥和私密信息不能泄露。
根发行者可以添加一级发行者,在一级发行者被根发行者注册添加后,一级发行者可以加入群组成为群成员。具体的,一级发行者可以在区块链系统中输入群名称(groupname PrimaryIssuerGroup)、成员名称(membername)。区块链系统调用群签名平台,生成用户私钥(gskInfo)及证书(cert),从而使一级发行者成为群组的一个成员。需要说明的是,在此步骤中证书可以公开,但是用户私钥不能够泄露。并且,上述成员名称(membername)参数必须是一级发行者的名称(primaryissuer),以保证后续操作中可以通过群成员证书可以映射到该一级发行者。同时,各个一级发行者保存对应的私钥(gskInfo),用于后续签名。根发行者添加一级发行者的方式也如上所示,此处不再赘述。
103、向群组内所有第二发行者发送签名请求,以使第二发行者在区块链网络已部署的智能合约中获取验证信息,并基于验证信息在群签名平台进行群签名,其中,验证信息包括第一属性信息、第二发行者的第二属性信息以及群组的第三属性信息。
为了使第二发行者快速获取待注册发行者的属性信息,步骤“向群组内所有第二发行者发送所述签名请求,以使第二发行者在区块链网络已部署的智能合约中获取验证信息,并基于验证信息在群签名平台进行群签名”,方法可以包括:
向群组内所有第二发行者发送签名请求,以使第二发行者在区块链网络已部署的智能合约中获取第一属性信息中的第一身份标识、第二属性信息中的第二发行者的第二身份标识和第二发行者的私钥信息、以及第三属性信息中的第三身份标识,并基于第一属性信息中的第一身份标识、第二属性信息中的第二发行者的第二身份标识和第二发行者的私钥信息、以及第三属性信息中的第三身份标识生成群签名。
具体的,步骤“向群组内所有第二发行者发送签名请求,以使第二发行者基于第一属性信息、第二发行者的第二属性信息以及群组的第三属性信息进行群签名”,方法可以包括:
向群组内所有第二发行者发送签名请求,以使第二发行者基于第一属性信息中的第一身份标识、第二属性信息中的第二发行者的第二身份标识和第二发行者的私钥信息、以及第三属性信息中的第三身份标识生成群签名。
在本申请实施例中,第二发行者与第一发行者属于同一区块链网络中的同一群组、且权限级别相同。第二发行者可以通过待注册网络实体的身份标识在预设映射表中查询待注册的网络实体的第一属性信息,若第二发行者同意该待注册网络实体进行注册,则在群签名平台生成签名。
具体的,当前进行签名的第二发行者向群签名平台输入下列参数信息:签名msg、群组名称(PrimaryIssuerGroup)、成员名称以及私钥信息(gsk Info)。其中,签名msg当前被添加的发行者名称(ordinaryIssuer),成员名称为当前进行签名的第二发行者的名称,私钥信息为当前进行签名的第二发行者的私钥。群签名平台会验证当前进行签名的第二发行者输入的参数信息,基于该参数信息进行签名并向区块链系统返回签名数据(sign)。
104、获取群组内第一发行者的群签名、以及所有第二发行者的群签名,智能合约基于群签名确定注册请求是否被允许。
其中,第一发行者针对待注册网络实体的群签名,可以是由第一发行者在所述区块链网络已部署的智能合约中获取验证信息,并基于所述验证信息在群签名平台进行群签名,其中,所述验证信息包括所述第一属性信息、所述第一发行者的属性信息以及所述群组的第三属性信息。可选的,第一发行者的群签名可以伴随注册请求向区块链网络发出,也可以之后在群组内与其他第二发行者同时在区块链网络已部署的智能合约中获取验证信息,并基于验证信息在群签名平台进行群签名。
在一具体实施例中,在步骤“获取群组内所述第一发行者的群签名、以及所有第二发行者的群签名”之后,“所述智能合约基于所述群签名确定所述注册请求是否被允许”之前,方法可以包括:
获取群签名验证信息以及所述群签名,其中,所述群签名验证信息包括所述群组的公钥信息和预设配对参数,所述群签名携带有所述第一身份标识、所述第二身份标识、所述第二发行者的私钥信息、以及所述第三身份标识;
基于所述群签名验证信息对所述群签名进行验证;
若验证成功,则基于所述群签名确定所述注册请求是否被允许。
可选的,在步骤“向所述群组内所有第二发行者发送所述签名请求”之前,方法可以包括:
获取第三发行者发起的群创建请求,其中,所述群创建请求中携带有群名称,所述第三发行者的权限级别高于所述第一发行者的权限级别;
基于所述群创建请求通过所述群签名平台在所述区块链网络中创建一群组,并对所述第三发行者赋予群管理权限,其中,所述群组配置有群公钥信息和群私钥信息;
当检测到所述第三发行者对所述第一发行者的群成员添加请求时,基于所述群名称、所述第一发行者的身份标识在所述群签名平台生成所述第一发行者的私钥信息以及群成员证书,以将所述第一发行者添加至所述群组中。
为了提高发行者注册效率,在步骤“获取群组内所有第二发行者的群签名”之后,“基于群签名确定所述注册请求是否被允许之前”,方法可以包括:
获取未进行群签名的第二发行者发送的提示信息,其中,提示信息用于提示待注册网络实体提供目标凭证信息;
基于提示信息生成凭证获取请求,并向待注册网络实体发送凭证获取请求,其中,凭证获取请求用于指示待注册网络实体确认提供凭证信息;
获取待注册网络实体返回的待验证凭证信息,并向第二发行者发送待验证凭证信息,以使第二发行者基于提示信息确定待验证凭证信息是否为目标凭证信息;
若是,则获取第二发行者基于第一属性信息、第二发行者的第二属性信息以及群组的第三属性信息生成的群签名;
基于群签名确定注册请求是否被允许。
其中,步骤“基于群签名确定所述注册请求是否被允许”,方法可以包括:
确定群签名的数量与预设阈值的大小关系;
若群签名的数量大于或等于预设阈值,则确定注册请求被允许,触发第一发行者将待注册网络实体注册为发行者权限级别的发行者;
若群签名的数量小于预设阈值,则确定注册请求不被允许。
具体的,第一发行者和第二发行者需要将签名数据进行上链,通过将对应的签名消息(被添加发行者名称)、签名数据(sign)、配对参数(pbcparam)以及群主公钥(gpkInfo)将签名数据进行上链。
在一具体实施例中,在第一发行者将签名数据进行上链操作后,需要在群签名平台上输入参数,基于群签名验证信息对群签名进行验证,即第二发行者进行投票,并基于群签名的数量确定注册请求是否被允许。具体的,输入所有第二发行者的下列参数:签名消息(被添加发行者名称)、签名数据(sign)、配对参数(pbcparam)以及群主公钥(gpkInfo)。第二发行者进行投票的参考代码示例如下:
105、若注册请求被允许,则触发第一发行者将待注册网络实体注册为待注册的发行者权限级别的发行者。
为了实现注册发行者的可追溯性和可监管性,在步骤“触发所述第一发行者将所述待注册网络实体注册为所述发行者权限级别的发行者”之后,方法可以包括:
基于群组内第二发行者的群签名生成群签名索引表,以将群组内所有第二发行者的群签名进行保存。
在一具体实施例中,在步骤“触发所述第一发行者将所述待注册网络实体注册为所述发行者权限级别的发行者”之后,方法可以包括:
将群组内所有第二发行者的群签名储存至区块链网络中,以使当检测到监管者对待注册网络实体的审核请求时,监管者从区块链网络中下载与待注册网络实体关联的群签名。
具体的,若注册请求被允许,则将签名数据保存到发行者签名数据列表(IssuerSignInfoMap)中,其中,键(key)为群签名对应的第二发行者的发行者名称,数据(value)为签名详情:签名消息(待注册网络实体的名称)、签名数据(sign)、配对参数(pbcparam)以及群主公钥(gpkInfo),以用于后续用户查询同意待注册网络实体进行注册的第二发行者的签名数据。
为了使待注册网络实体明确不被允许注册的缘由,在若注册请求不被允许,则方法可以包括:
获取未进行群签名的第二发行者发送的提示信息,其中,提示信息用于向所述待注册网络实体进行提示;
向待注册网络实体发送提示信息。
在注册请求被允许,将待注册网络实体注册为发行者权限级别的发行者,即待注册网络实体被注册为目标发行者之后,持有者用户及其他监管者可以通过调用群签名合约,查询目标发行者的签名数据。查询目标发行者的签名数据的参考代码如下:
//4.发行者签名数据
function queryIssuerSignList(string issuerName)view returns(SignVote[]){
return issuerSignInfoMap[_issuerName];
}
在获取到目标发行者的签名数据之后,区块链合约将目标发行者签名数据列表内的发行者签名数据返回用户。用户可以调用签名平台打开签名,在群签名平台输入签名(sign)、目标发行者的签名数据以及群名称(groupname),群签名平台通过签名数据可以打开用户的证书(cert),并可以通过证书确定第二发行者的名称(primary issuer)并返回用户。用户收集到所有群签名的证书及一级发行者的名称,进一步可确定各个第二发行者是否有重复签名,以及当前目标发行者由哪些第二发行者签名通过的,进一步确定签名的有效性,以此达到一级发行者的可追溯性及可监管性。
为了证实通过了注册请求的待注册网络实体是否可靠有效,用户可以恢复通过了注册请求的待注册网络实体的所有签名数据,通过调用签名平台验证签名是否确实有效,从而确定通过了注册请求的待注册网络实体是否可靠有效。具体的,验证签名的主要步骤为向平台输入参数:输入签名(sign)、签名数据(被添加的发行者),读取本地线性配对参数(pbcparam)、群主公钥(gpkInfo),以使群签名平台验证所有签名数据是否有效。
为了提高注册发行者的可追溯性,监管者可以通过下载被添加的发行者(通过了注册请求的待注册网络实体)的群签名,进行签名认证或打开证书,以检查同意该被添加的发行者的上级发行者,进一步确保发行者的可靠性。具体的,用户可调用签名平台打开签名:输入签名(sign)、签名数据(被添加的发行者)、群名称(groupname)。另外,群签名平台通过签名数据可以打开用户的证书(cert),并通过证书,确定上级发行者的名称(primaryissuer),并返回用户。用户收集到所有群签名的证书及上级发行者的名称,进一步可确定各个上级发行者是否有重复签名,被添加的发行者由哪些上级发行者签名通过的,进一步确定签名的有效性,以此达到一级发行者的可追溯性及可监管性。
本申请实施例提供一种发行者注册方法,可以通过创建发行者群组,在上级发行者执行添加下一级发行者的操作时,统计与上级发行者处于同一群组、且属于同一级别的发行者群签名的有效性以及数量,在数量达到预设数量后,且验证发行者的群签名有效后,则确定该下一级发行者注册成功,能够优化发行者添加的正规性,提高区块链联盟的可靠性,从而提升区块链联盟的安全性。
根据上述介绍的内容,下面将举例来进一步说明本申请的发行者注册方法。本申请再一实施例提供的发行者注册方法,具体方法如下所述。
(1)根发行者通过群签名平台创建群,将多个一级发行者加入创建的群中,以使多个一级发行者成为群成员。
(2)某一个一级发行者发起添加待添加发行者请求,通过区块链系统向其他一级发行者发出投票请求。
(3)其他一级发行者从区块链系统拉取待添加的发行者的信息,基于待添加的发行者的信息对待添加的发行者进行验证,从而确定该待添加的发行者的有效性后进行投票。
(4)其他一级发行者调用群签名平台进行签名,以使一级发行者得到签名数据,在一级发行者得到签名数据后,一级发行者将签名数据自行发送到区块链智能合约进行投票。
(5)区块链执行智能合约逻辑,进行验证签名以及统计签名数量的操作;并且,所有的群签名数据是通过上链交易存储到区块链系统。
(6)当监管者通过对应的终端向区块链系统请求普通发行者对应的群签名列表数据,以使监管者得到所有进行签名的一级发行者的签名。
(7)监管者通过打开所有群签名的证书,可以通过群证书确定同意添加待添加的发行者的签名者。
根据上述介绍的内容,下面将举例来进一步说明本申请的发行者注册方法。本申请再一实施例提供的发行者注册方法,具体方法如下所述:
(1)一个指定群内包括工商机构、教育局以及政府组织等一级发行者,上述一级发行者均为群成员。
(2)工商机构请求将公司添加为普通发行者,此时,公司会提供相关的资质资料。工商机构在检查公司提供相关的资质资料后,向区块链网络发送一笔提案交易,即工商机构发起添加公司为发行者的请求。
(3)指定群内的其他一级发行者,如教育局以及政府组织等,在监听到区块链上的待添加的普通发行者的提案时,链下向工商机构索要公司提供相关资质资料进行审核。
(4)在进行审核通过后,教育局以及政府组织等其他一级发行者调用群签名平台进行群签名,并将群签名平台返回的群签名进行投票上链。
(5)区块链智能合约对群签名数据进行验证,并保存签名数据,若达到指定个数一级发行者的签名,则公司添加成功。
(6)监管者可从区块链获取签名数据,进行链下验证并打开证书,确认一级发行者的身份。
为便于更好的实施本申请实施例提供的发行者注册方法,本申请实施例还提供一种基于上述发行者注册装置。其中名词的含义与上述发行者注册方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图4,图4为本申请实施例提供的一种发行者注册装置的结构框图,该装置包括:
第一获取单元201,用于获取第一发行者对待注册网络实体的注册请求,其中,所述注册请求中携带有所述待注册网络实体对应的第一属性信息,所述第一属性信息包括所述待注册网络实体的待注册的发行者权限级别,所述第一发行者的权限级别高于所述待注册的发行者权限级别;
生成单元202,用于基于所述第一属性信息生成签名请求,其中,所述签名请求用于提示第二发行者进行群签名,所述第二发行者与所述第一发行者属于区块链网络中的同一群组、且与所述第一发行者的权限级别相同;
发送单元203,用于向所述群组内所有第二发行者发送所述签名请求,以使所述第二发行者在所述区块链网络已部署的智能合约中获取验证信息,并基于所述验证信息在群签名平台进行群签名,其中,所述验证信息包括所述第一属性信息、所述第二发行者的第二属性信息以及所述群组的第三属性信息;
第二获取单元204,用于获取所述群组内所述第一发行者的群签名、以及所有第二发行者的群签名,所述智能合约基于所述群签名确定所述注册请求是否被允许;
处理单元205,用于若所述注册请求被允许,则触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者。
在一些实施例中,该装置还包括第一确定单元,第一确定单元用于:
确定所述群签名数量与预设阈值的大小关系;
若所述群签名数量大于或等于所述预设阈值,则确定所述注册请求被允许,触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者;
若所述群签名数量小于所述预设阈值,则确定所述注册请求不被允许。
在一些实施例中,所述发送单元还用于:
向所述群组内所有第二发行者发送所述签名请求,以使所述第二发行者在所述区块链网络已部署的智能合约中获取所述第一属性信息中的第一身份标识、所述第二属性信息中的所述第二发行者的第二身份标识和所述第二发行者的私钥信息、以及所述第三属性信息中的第三身份标识,并基于所述第一属性信息中的第一身份标识、所述第二属性信息中的所述第二发行者的第二身份标识和所述第二发行者的私钥信息、以及所述第三属性信息中的第三身份标识生成群签名。
在一些实施例中,该装置还包括第三获取单元,第三获取单元用于:
获取群签名验证信息以及所述群签名,其中,所述群签名验证信息包括所述群组的公钥信息和预设配对参数,所述群签名携带有所述第一身份标识、所述第二身份标识、所述第二发行者的私钥信息、以及所述第三身份标识;
基于所述群签名验证信息对所述群签名进行验证;
若验证成功,则基于所述群签名确定所述注册请求是否被允许。
在一些实施例中,该装置还包括:
第四获取单元,用于获取第三发行者发起的群创建请求,其中,所述群创建请求中携带有群名称,所述第三发行者的权限级别高于所述第一发行者的权限级别;
创建单元,用于基于所述群创建请求通过所述群签名平台在所述区块链网络中创建一群组,并对所述第三发行者赋予群管理权限,其中,所述群组配置有群公钥信息和群私钥信息;
添加单元,用于当检测到所述第三发行者对所述一级发行者的群成员添加请求时,基于所述群名称、所述一级发行者的身份标识在所述群签名平台生成所述一级发行者的私钥信息以及群成员证书,以将所述第一发行者添加至所述群组中。
在一些实施例中,添加单元还用于:
将所述第一属性信息添加至预设映射表中,并基于所述第一属性信息生成第一标识符,其中,所述第一标识符关联至所述第一属性信息,所述第一标识符用于查找所述第一属性信息,所述属性信息包括第一身份标识、地址标识、发行者类型以及可发行的凭证主题。
在一些实施例中,该装置还包括:
第五获取单元,用于获取所述第一身份标识,将所述第一身份标识作为第一标识符。
在一些实施例中,生成单元还用于:
基于群组内所有第二发行者的群签名生成群签名索引表,以将所述群组内所有第二发行者的群签名进行保存。
在一些实施例中,该装置还包括储存单元,储存单元用于:
将所述群组内所有第二发行者的群签名储存至所述区块链网络中,以使当检测到监管者对所述待注册网络实体的审核请求时,所述监管者从所述区块链网络中下载与所述待注册网络实体关联的所有群签名。
在一些实施例中,该装置还包括第六获取单元,第六获取单元用于:
获取未进行群签名的第二发行者发送的提示信息,其中,所述提示信息用于向所述待注册网络实体进行提示;
向所述待注册网络实体发送所述提示信息。
在一些实施例中,该装置还包括第七获取单元,第七获取单元用于:
获取未进行群签名的第二发行者发送的提示信息,其中,所述提示信息用于提示所述待注册网络实体提供目标凭证信息;
基于所述提示信息生成凭证获取请求,并向所述待注册网络实体发送所述凭证获取请求,其中,所述凭证获取请求用于指示所述待注册网络实体确认提供凭证信息;
获取所述待注册网络实体返回的待验证凭证信息,并向所述第二发行者发送所述待验证凭证信息,以使所述第二发行者基于所述提示信息确定所述待验证凭证信息是否为目标凭证信息;
若是,则获取所述第二发行者基于所述第一属性信息、所述第二发行者的第二属性信息以及所述群组的第三属性信息生成的群签名;
基于所述群签名确定所述注册请求是否被允许。
本申请实施例提供一种发行者注册装置,通过第一获取单元201获取第一发行者对待注册网络实体的注册请求,其中,所述注册请求中携带有所述待注册网络实体对应的第一属性信息,所述第一属性信息包括所述待注册网络实体的待注册的发行者权限级别,所述第一发行者的权限级别高于所述待注册的发行者权限级别;生成单元202基于所述第一属性信息生成签名请求,其中,所述签名请求用于提示第二发行者进行群签名,所述第二发行者与所述第一发行者属于区块链网络中的同一群组、且与所述第一发行者的权限级别相同;发送单元203向所述群组内所有第二发行者发送所述签名请求,以使所述第二发行者在所述区块链网络已部署的智能合约中获取验证信息,并基于所述验证信息在群签名平台进行群签名,其中,所述验证信息包括所述第一属性信息、所述第二发行者的第二属性信息以及所述群组的第三属性信息;第二获取单元204 获取所述群组内所述第一发行者的群签名、以及所有第二发行者的群签名,所述智能合约基于所述群签名确定所述注册请求是否被允许;若所述注册请求被允许,则处理单元205触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者。本申请实施例可以通过创建发行者群组,在上级发行者执行添加下一级发行者的操作时,统计与上级发行者处于同一群组、且属于同一级别的发行者群签名的有效性以及数量,在数量达到预设数量后,且验证发行者的群签名有效后,则确定该下一级发行者注册成功,能够优化发行者添加的正规性,提高区块链联盟的可靠性,从而提升区块链联盟的安全性。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。如图5所示,图5为本申请实施例提供的计算机设备的结构示意图。该计算机设备300包括有一个或者一个以上处理核心的处理器301、有一个或一个以上计算机可读存储介质的存储器302及存储在存储器302上并可在处理器上运行的计算机程序。其中,处理器301与存储器302 电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器301是计算机设备300的控制中心,利用各种接口和线路连接整个计算机设备300的各个部分,通过运行或加载存储在存储器302内的软件程序和/或模块,以及调用存储在存储器302内的数据,执行计算机设备300的各种功能和处理数据,从而对计算机设备300进行整体监控。
在本申请实施例中,计算机设备300中的处理器301会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器302中,并由处理器301来运行存储在存储器302中的应用程序,从而实现各种功能:
获取第一发行者对待注册网络实体的注册请求,其中,所述注册请求中携带有所述待注册网络实体对应的第一属性信息,所述第一属性信息包括所述待注册网络实体的待注册的发行者权限级别,所述第一发行者的权限级别高于所述待注册的发行者权限级别;
基于所述第一属性信息生成签名请求,其中,所述签名请求用于提示第二发行者进行群签名,所述第二发行者与所述第一发行者属于区块链网络中的同一群组、且与所述第一发行者的权限级别相同;
向所述群组内所有第二发行者发送所述签名请求,以使所述第二发行者在所述区块链网络已部署的智能合约中获取验证信息,并基于所述验证信息在群签名平台进行群签名,其中,所述验证信息包括所述第一属性信息、所述第二发行者的第二属性信息以及所述群组的第三属性信息;
获取所述群组内所述第一发行者的群签名、以及所有第二发行者的群签名,所述智能合约基于所述群签名确定所述注册请求是否被允许;
若所述注册请求被允许,则触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图5所示,计算机设备300还包括:触控显示屏303、射频电路304、音频电路305、输入单元306以及电源307。其中,处理器301分别与触控显示屏303、射频电路304、音频电路305、输入单元306以及电源307电性连接。本领域技术人员可以理解,图5中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏303可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏303可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器301,并能接收处理器301发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器301以确定触摸事件的类型,随后处理器301根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏303而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏303也可以作为输入单元306的一部分实现输入功能。
射频电路304可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路305可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路305可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路305接收后转换为音频数据,再将音频数据输出处理器 301处理后,经射频电路304以发送给比如另一计算机设备,或者将音频数据输出至存储器302以便进一步处理。音频电路305还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元306可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源307用于给计算机设备300的各个部件供电。可选的,电源307可以通过电源管理系统与处理器301逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源307还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图5中未示出,计算机设备300还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备,可以通过创建发行者群组,在上级发行者执行添加下一级发行者的操作时,统计与上级发行者处于同一群组、且属于同一级别的发行者群签名的有效性以及数量,在数量达到预设数量后,且验证发行者的群签名有效后,则确定该下一级发行者注册成功,能够优化发行者添加的正规性,提高区块链联盟的可靠性,从而提升区块链联盟的安全性。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种发行者注册方法中的步骤。例如,该计算机程序可以执行如下步骤:
获取第一发行者对待注册网络实体的注册请求,其中,所述注册请求中携带有所述待注册网络实体对应的第一属性信息,所述第一属性信息包括所述待注册网络实体的待注册的发行者权限级别,所述第一发行者的权限级别高于所述待注册的发行者权限级别;
基于所述第一属性信息生成签名请求,其中,所述签名请求用于提示第二发行者进行群签名,所述第二发行者与所述第一发行者属于区块链网络中的同一群组、且与所述第一发行者的权限级别相同;
向所述群组内所有第二发行者发送所述签名请求,以使所述第二发行者在所述区块链网络已部署的智能合约中获取验证信息,并基于所述验证信息在群签名平台进行群签名,其中,所述验证信息包括所述第一属性信息、所述第二发行者的第二属性信息以及所述群组的第三属性信息;
获取所述群组内所述第一发行者的群签名、以及所有第二发行者的群签名,所述智能合约基于所述群签名确定所述注册请求是否被允许;
若所述注册请求被允许,则触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种发行者注册方法中的步骤,因此,可以实现本申请实施例所提供的任一种发行者注册方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例所提供的一种发行者注册方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (14)
1.一种发行者注册方法,其特征在于,包括:
获取第一发行者对待注册网络实体的注册请求,其中,所述注册请求中携带有所述待注册网络实体对应的第一属性信息,所述第一属性信息包括所述待注册网络实体的待注册的发行者权限级别,所述第一发行者的权限级别高于所述待注册的发行者权限级别;
基于所述第一属性信息生成签名请求,其中,所述签名请求用于提示第二发行者进行群签名,所述第二发行者与所述第一发行者属于区块链网络中的同一群组、且与所述第一发行者的权限级别相同;
向所述群组内所有第二发行者发送所述签名请求,以使所述第二发行者在所述区块链网络已部署的智能合约中获取验证信息,并基于所述验证信息在群签名平台进行群签名,其中,所述验证信息包括所述第一属性信息、所述第二发行者的第二属性信息以及所述群组的第三属性信息;
获取所述群组内所述第一发行者的群签名、以及所有第二发行者的群签名,所述智能合约基于所述群签名确定所述注册请求是否被允许;
若所述注册请求被允许,则触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者。
2.根据权利要求1所述的发行者注册方法,其特征在于,所述智能合约基于所述群签名确定所述注册请求是否被允许,包括:
确定所述群签名的数量与预设阈值的大小关系;
若所述群签名的数量大于或等于所述预设阈值,则确定所述注册请求被允许,触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者;
若所述群签名的数量小于所述预设阈值,则确定所述注册请求不被允许。
3.根据权利要求1所述的发行者注册方法,其特征在于,所述向所述群组内所有第二发行者发送所述签名请求,以使所述第二发行者在所述区块链网络已部署的智能合约中获取验证信息,并基于所述验证信息在群签名平台进行群签名,包括:
向所述群组内所有第二发行者发送所述签名请求,以使所述第二发行者在所述区块链网络已部署的智能合约中获取所述第一属性信息中的第一身份标识、所述第二属性信息中的所述第二发行者的第二身份标识和所述第二发行者的私钥信息、以及所述第三属性信息中的第三身份标识,并基于所述第一属性信息中的第一身份标识、所述第二属性信息中的所述第二发行者的第二身份标识和所述第二发行者的私钥信息、以及所述第三属性信息中的第三身份标识生成群签名。
4.根据权利要求3所述的发行者注册方法,其特征在于,在获取所述群组内所述第一发行者的群签名、以及所有第二发行者的群签名之后,所述智能合约基于所述群签名确定所述注册请求是否被允许之前,还包括:
获取群签名验证信息以及所述群签名,其中,所述群签名验证信息包括所述群组的公钥信息和预设配对参数,所述群签名携带有所述第一身份标识、所述第二身份标识、所述第二发行者的私钥信息、以及所述第三身份标识;
基于所述群签名验证信息对所述群签名进行验证;
若验证成功,则基于所述群签名确定所述注册请求是否被允许。
5.根据权利要求1所述的发行者注册方法,其特征在于,在向所述群组内所有第二发行者发送所述签名请求之前,还包括:
获取第三发行者发起的群创建请求,其中,所述群创建请求中携带有群名称,所述第三发行者的权限级别高于所述第一发行者的权限级别;
基于所述群创建请求通过所述群签名平台在所述区块链网络中创建一群组,并对所述第三发行者赋予群管理权限,其中,所述群组配置有群公钥信息和群私钥信息;
当检测到所述第三发行者对所述第一发行者的群成员添加请求时,基于所述群名称、所述第一发行者的身份标识在所述群签名平台生成所述第一发行者的私钥信息以及群成员证书,以将所述第一发行者添加至所述群组中。
6.根据权利要求1所述的发行者注册方法,其特征在于,在获取第一发行者对待注册网络实体的注册请求之后,还包括:
将所述第一属性信息添加至预设映射表中,并基于所述第一属性信息生成第一标识符,其中,所述第一标识符关联至所述第一属性信息,所述第一标识符用于查找所述第一属性信息,所述属性信息包括第一身份标识、地址标识、发行者类型以及可发行的凭证主题;
所述基于所述第一属性信息生成第一标识符,包括:
获取所述第一身份标识,将所述第一身份标识作为第一标识符。
7.根据权利要求1所述的发行者注册方法,其特征在于,在触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者之后,还包括:
基于群组内所有第二发行者的群签名生成群签名索引表,以将所述群组内所有第二发行者的群签名进行保存。
8.根据权利要求1所述的发行者注册方法,其特征在于,在触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者之后,还包括:
将所述群组内所有第二发行者的群签名储存至所述区块链网络中,以使当检测到监管者对所述待注册网络实体的审核请求时,所述监管者从所述区块链网络中下载与所述待注册网络实体关联的所有群签名。
9.根据权利要求2所述的发行者注册方法,其特征在于,在确定所述注册请求不被允许之后,还包括:
获取未进行群签名的第二发行者发送的提示信息,其中,所述提示信息用于向所述待注册网络实体进行提示;
向所述待注册网络实体发送所述提示信息。
10.根据权利要求1所述的发行者注册方法,其特征在于,在获取所述群组内所述第一发行者的群签名、以及所有第二发行者的群签名之后,所述智能合约基于所述群签名确定所述注册请求是否被允许之前,还包括:
获取未进行群签名的第二发行者发送的提示信息,其中,所述提示信息用于提示所述待注册网络实体提供目标凭证信息;
基于所述提示信息生成凭证获取请求,并向所述待注册网络实体发送所述凭证获取请求,其中,所述凭证获取请求用于指示所述待注册网络实体确认提供凭证信息;
获取所述待注册网络实体返回的待验证凭证信息,并向所述第二发行者发送所述待验证凭证信息,以使所述第二发行者基于所述提示信息确定所述待验证凭证信息是否为目标凭证信息;
若是,则获取所述第二发行者基于所述第一属性信息、所述第二发行者的第二属性信息以及所述群组的第三属性信息生成的群签名;
基于所述群签名确定所述注册请求是否被允许。
11.根据权利要求1至10任一项所述的发行者注册方法,其特征在于,所述第一属性信息包括所述待注册网络实体的发行者名称、发行者地址、发行者类型、发行者详情、申请发行的凭证主题以及资质信息。
12.一种发行者注册装置,其特征在于,所述装置包括:
第一获取单元,用于获取第一发行者对待注册网络实体的注册请求,其中,所述注册请求中携带有所述待注册网络实体对应的第一属性信息,所述第一属性信息包括所述待注册网络实体的待注册的发行者权限级别,所述第一发行者的权限级别高于所述待注册的发行者权限级别;
生成单元,用于基于所述第一属性信息生成签名请求,其中,所述签名请求用于提示第二发行者进行群签名,所述第二发行者与所述第一发行者属于区块链网络中的同一群组、且与所述第一发行者的权限级别相同;
发送单元,用于向所述群组内所有第二发行者发送所述签名请求,以使所述第二发行者在所述区块链网络已部署的智能合约中获取验证信息,并基于所述验证信息在群签名平台进行群签名,其中,所述验证信息包括所述第一属性信息、所述第二发行者的第二属性信息以及所述群组的第三属性信息;
第二获取单元,用于获取所述群组内所述第一发行者的群签名、以及所有第二发行者的群签名,所述智能合约基于所述群签名确定所述注册请求是否被允许;
处理单元,用于若所述注册请求被允许,则触发所述第一发行者将所述待注册网络实体注册为所述待注册的发行者权限级别的发行者。
13.一种计算机设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至11中任一项所述的发行者注册方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11中任一项所述的发行者注册方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111130239.7A CN113935072B (zh) | 2021-09-26 | 2021-09-26 | 发行者注册方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111130239.7A CN113935072B (zh) | 2021-09-26 | 2021-09-26 | 发行者注册方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113935072A CN113935072A (zh) | 2022-01-14 |
CN113935072B true CN113935072B (zh) | 2024-04-30 |
Family
ID=79277020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111130239.7A Active CN113935072B (zh) | 2021-09-26 | 2021-09-26 | 发行者注册方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113935072B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118579A (zh) * | 2006-08-01 | 2008-02-06 | 华为技术有限公司 | 一种验证许可的方法及系统 |
CN102224703A (zh) * | 2009-04-27 | 2011-10-19 | 华为技术有限公司 | 发行许可的方法、装置和系统 |
WO2018070783A2 (ko) * | 2016-10-11 | 2018-04-19 | 주식회사 코인플러그 | Utxo 기반으로 머클트리 구조를 사용하여 전자 바우처를 발행, 사용, 환불, 정산 및 파기하는 방법과 이를 이용한 서버 |
KR102173426B1 (ko) * | 2020-07-08 | 2020-11-03 | 주식회사 아이오트러스트 | Did 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템과 방법 |
CN112580102A (zh) * | 2020-12-29 | 2021-03-30 | 郑州大学 | 基于区块链的多维度数字身份鉴别系统 |
CN113271211A (zh) * | 2021-05-18 | 2021-08-17 | 网易(杭州)网络有限公司 | 一种数字身份验证系统、方法、电子设备及存储介质 |
CN113285954A (zh) * | 2021-06-02 | 2021-08-20 | 网易(杭州)网络有限公司 | 可验证声明验证方法、系统、电子设备及存储介质 |
CN113343216A (zh) * | 2021-05-25 | 2021-09-03 | 网易(杭州)网络有限公司 | 一种发行者的管理方法、装置、存储介质及服务器 |
CN113422767A (zh) * | 2021-06-21 | 2021-09-21 | 哈尔滨工业大学 | 一种基于区块链的域名注册管理方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10127378B2 (en) * | 2014-10-01 | 2018-11-13 | Kalman Csaba Toth | Systems and methods for registering and acquiring E-credentials using proof-of-existence and digital seals |
-
2021
- 2021-09-26 CN CN202111130239.7A patent/CN113935072B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118579A (zh) * | 2006-08-01 | 2008-02-06 | 华为技术有限公司 | 一种验证许可的方法及系统 |
CN102224703A (zh) * | 2009-04-27 | 2011-10-19 | 华为技术有限公司 | 发行许可的方法、装置和系统 |
WO2018070783A2 (ko) * | 2016-10-11 | 2018-04-19 | 주식회사 코인플러그 | Utxo 기반으로 머클트리 구조를 사용하여 전자 바우처를 발행, 사용, 환불, 정산 및 파기하는 방법과 이를 이용한 서버 |
KR102173426B1 (ko) * | 2020-07-08 | 2020-11-03 | 주식회사 아이오트러스트 | Did 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템과 방법 |
CN112580102A (zh) * | 2020-12-29 | 2021-03-30 | 郑州大学 | 基于区块链的多维度数字身份鉴别系统 |
CN113271211A (zh) * | 2021-05-18 | 2021-08-17 | 网易(杭州)网络有限公司 | 一种数字身份验证系统、方法、电子设备及存储介质 |
CN113343216A (zh) * | 2021-05-25 | 2021-09-03 | 网易(杭州)网络有限公司 | 一种发行者的管理方法、装置、存储介质及服务器 |
CN113285954A (zh) * | 2021-06-02 | 2021-08-20 | 网易(杭州)网络有限公司 | 可验证声明验证方法、系统、电子设备及存储介质 |
CN113422767A (zh) * | 2021-06-21 | 2021-09-21 | 哈尔滨工业大学 | 一种基于区块链的域名注册管理方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于CP-ABE算法的云存储数据访问控制方案设计;程思嘉;张昌宏;潘帅卿;;信息网络安全;20160210(02);第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113935072A (zh) | 2022-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111083220B (zh) | 提供金融服务应用的方法 | |
CN110826043B (zh) | 一种数字身份申请系统及方法、身份认证系统及方法 | |
CN110046482A (zh) | 身份核实方法及其系统 | |
CN101626369B (zh) | 一种单点登录方法、设备及系统 | |
CN109460966A (zh) | 基于请求方类别的合同签订方法、装置及终端设备 | |
US20160125416A1 (en) | Authentication system | |
CN103516718A (zh) | 身份风险分数生成和实现 | |
US20190213306A1 (en) | System and method for identity authentication | |
CN102281286A (zh) | 用于分布式混合企业的灵活端点顺从和强认证 | |
CN111738893B (zh) | 一种基于区块链的身份认证方法、装置、设备和介质 | |
CN103684797B (zh) | 用户和用户终端设备的关联认证方法及系统 | |
CN112000744A (zh) | 一种签名方法及相关设备 | |
CN109361697A (zh) | 基于sim卡加载pki实现可信身份认证的方法 | |
CN109067785A (zh) | 集群认证方法、装置 | |
CN105207780A (zh) | 一种认证用户方法及装置 | |
CN113343208A (zh) | 一种凭证授权方法、装置、终端及存储介质 | |
CN108449325A (zh) | 一种基于身份密码的区块链认证方法、设备及存储设备 | |
CN114844629A (zh) | 区块链账户的验证方法、装置、计算机设备及存储介质 | |
CN115277122A (zh) | 基于区块链的跨境数据流动与监管系统 | |
CN113506108A (zh) | 一种账户管理方法、装置、终端及存储介质 | |
GB2567715A (en) | Authentication system, method and program | |
CN117376000A (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN114117523A (zh) | 一种基于区块链技术的充电桩智能电表计量方法及系统 | |
CN113935072B (zh) | 发行者注册方法、装置、计算机设备及存储介质 | |
CN112069529A (zh) | 基于区块链的卷宗管理方法、装置、计算机以及存储介质 |
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 |