CN112036884B - 一种签名方法及相关设备 - Google Patents
一种签名方法及相关设备 Download PDFInfo
- Publication number
- CN112036884B CN112036884B CN202010903870.5A CN202010903870A CN112036884B CN 112036884 B CN112036884 B CN 112036884B CN 202010903870 A CN202010903870 A CN 202010903870A CN 112036884 B CN112036884 B CN 112036884B
- Authority
- CN
- China
- Prior art keywords
- group
- signature
- uplink
- transaction
- blockchain
- 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 74
- 230000008520 organization Effects 0.000 claims abstract description 183
- 238000012795 verification Methods 0.000 claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
Abstract
本申请公开了一种签名方法及相关设备,该方法包括:在群签名组件接收到区块链中的节点发送的目标群组织的标识和待上链交易的交易信息之后,该群签名组件先利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名,再将该待上链交易的群签名发送给所述区块链,以使该区块链对该待上链交易的群签名进行签名验证,并在所述区块链确定所述待上链交易的群签名通过签名验证时,直接将所述待上链交易的群签名存储进行上链存储。其中,因群签名组件是一个独立于区块链的组件,使得区块链依据自身存储的信息只能追溯到群证书,如此能够有效地保护已上链交易的各个签名个体的隐私。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种签名方法及相关设备。
背景技术
区块链是一种基于点对点网络传播的分布式共享数据库,而且区块链具有“不可篡改”“去中心化”“自动化执行”“追踪溯源”等特性。
然而,因区块链追踪溯源特性较强,使得任一用户能够从该区块链中获知交易相关信息(如,交易的签名用户信息),从而使得该区块链不适用于那些匿名场景。
发明内容
为了解决现有技术中存在的以上技术问题,本申请提供一种签名方法及相关设备,能够降低区块链追踪溯源的信息深度,从而使得该区块链能够应用于匿名场景。
为了实现上述目的,本申请实施例提供的技术方案如下:
本申请实施例提供一种签名方法,应用于群签名组件,所述方法包括:
接收区块链中的节点发送的目标群组织的标识和待上链交易的交易信息;
利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名;
将所述待上链交易的群签名发送给所述区块链,以使在所述区块链确定所述待上链交易的群签名通过签名验证时,将所述待上链交易的群签名进行上链存储。
可选的,所述目标群组织的群证书的获取过程为:
在获取到所述目标群组织的群主公钥之后,根据所述目标群组织的群主公钥生成所述目标群组织的群证书。
可选的,所述利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名,包括:
利用所述目标群组织的群证书对所述目标群组织的群员签名信息和所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名。
可选的,所述方法还包括:
接收所述区块链发送的签名成员查询请求;
根据所述签名成员查询请求携带的群员签名信息,确定签名成员;
将所述签名成员发送给所述区块链,以使所述区块链对所述签名成员进行上链存储。
可选的,所述接收区块链节点发送的目标群组织的标识和待上链交易的交易信息,包括:
在所述区块链中的节点依据所述待上链交易的上链配置参数,确定使用所述群签名组件对所述待上链交易进行群签名之后,接收区块链节点发送的目标群组织的标识和待上链交易的交易信息。
可选的,所述上链配置参数包括签名成员的隐匿等级。
本申请实施例还提供了一种签名装置,所述装置包括:
接收单元,用于接收区块链中的节点发送的目标群组织的标识和待上链交易的交易信息;
签名单元,用于利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名;
发送单元,用于将所述待上链交易的群签名发送给所述区块链,以使在所述区块链确定所述待上链交易的群签名通过签名验证时,将所述待上链交易的群签名进行上链存储。
本申请实施例还提供了一种签名系统,所述系统包括区块链和本申请实施例提供的群签名组件任一实施方式。
本申请实施例还提供了一种设备,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行本申请实施例提供的签名方法的任一实施方式。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行本申请实施例提供的签名方法的任一实施方式。
与现有技术相比,本申请实施例至少具有以下优点:
本申请实施例提供的应用于群签名组件的签名方法中,在群签名组件接收到区块链中的节点发送的目标群组织的标识和待上链交易的交易信息之后,该群签名组件先利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名,再将该待上链交易的群签名发送给所述区块链,以使该区块链对该待上链交易的群签名进行签名验证,并在所述区块链确定所述待上链交易的群签名通过签名验证时,直接将所述待上链交易的群签名存储进行上链存储。
其中,因群签名组件是一个独立于区块链的组件,使得区块链依据自身存储的信息只能追溯到群证书,从而使得该区块链依据自身存储的信息只能获知已上链交易对应的签名群组织,无法获知已上链交易的各个签名个体(也就是,签名群员),如此使得已上链交易的各个签名个体处于保密状态,如此能够有效地保护已上链交易的各个签名个体的隐私。可见,基于群签名组件实现的群签名过程能够降低区块链追踪溯源的信息深度,从而使得该区块链能够应用于匿名场景。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种签名方法的流程图;
图2为本申请实施例提供的群主与群员之间的关系示意图;
图3为本申请实施例提供的群签名组件的应用场景示意图;
图4为本申请实施例提供的一种签名装置的结构示意图;
图5为本申请实施例提供的设备结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
方法实施例一
参见图1,该图为本申请实施例提供的一种签名方法的流程图。
本申请实施例提供的签名方法,包括S1-S5:
S1:群签名组件接收区块链中的节点发送的目标群组织的标识和待上链交易的交易信息。
群签名组件是一个能够实现群签名的组件。另外,群签名组件独立于区块链,而且群签名组件能够与区块链进行通信。
需要说明的是,本申请实施例不限定一个群签名组件的服务对象。例如,一个群签名组件可以服务于多个群组织,也可以只服务于一个群组织。
区块链通常包括多个节点,而且每一节点均可以用于接收交易信息。
待上链交易是指需要在区块链中进行交易信息上链的交易。另外,本申请实施例不限定待上链交易,也不限定待上链交易的交易信息。
目标群组织是指需要对待上链交易的交易信息进行群签名的群组织,而且上述群签名组件可以服务于该目标群组织。
实际上,一个群组织可以包括一个群主和至少一个群员。其中,群主就是该群组织的管理员,而且群主用于对该群组织进行管理(如图2所示,创建群组织、管理群成员等);而且群主具有群主私钥和群主公钥。群员就是该群组织的参与成员,而且每个群员可以持有上述群主公钥,而且每个群员均具有个人信息(如,个人私钥、个人身份等信息)。
需要说明的是,本申请实施例不限定群主的确定方式,例如,可以从一个群组织的所有成员中随机选择一个人作为群主,也可以依据应用场景中监管机构指定的群管理者确定该群组织的群主。
目标群组织的标识用于唯一标识目标群组织。另外,本申请实施例不限定目标群组织的标识,例如,目标群组织的标识可以是目标群组织的组织名称,也可以是目标群组织的组织编号。
需要说明的是,本申请实施例不限定节点获取目标群组织的标识的实施过程。例如,节点可以依据待上链交易确定目标群组织的标识,也可以直接指定目标群组织的标识。
基于上述S1的相关内容可知,本申请实施例中,当区块链中的一个节点接收到待上链交易的交易信息之后,该节点会直接将待上链交易的交易信息以及目标群组织的标识发送给群签名组件,以使该群签名组件能够对待上链交易的交易信息进行群签名。
S2:群签名组件利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名。
群证书是指对交易信息进行群签名时所需使用的证书,而且不同的群组织具有不同的群证书。
另外,本申请实施例还提供了一种群签名组件获取目标群组织的群证书的实施方式,其具体为:群签名组件在获取到所述目标群组织的群主公钥之后,根据所述目标群组织的群主公钥生成所述目标群组织的群证书。
可见,在群签名组件中,在获取到目标群组织的群主公钥之后,可以直接利用该目标群组织的群主公钥生成该目标群组织的群证书,以使该群证书能够唯一标识该目标群组织。
在一些情况下,为了便于后续能够借助群签名组件追溯到签名个体,本申请实施例还提供了S2的一种实施方式,其具体为:群签名组件利用所述目标群组织的群证书对所述目标群组织的群员签名信息和所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名。
其中,群员签名信息用于表征对待上链交易的交易信息进行签名的群成员,而且只有群签名组件能够从群员签名信息中解析出参与群签名过程的群成员。需要说明的是,本申请实施例不限定群员签名信息,例如,群员签名信息可以是群成员的身份标识信息。
可见,在群签名组件中,在获取到目标群组织的群证书之后,可以直接利用目标群组织的群证书对目标群组织的群员签名信息以及待上链交易的交易信息进行签名,得到待上链交易的群签名,以使该待上链交易的群签名能够携带有目标群组织的群员签名信息以及待上链交易的交易信息,从而使得区块链能够从该待上链交易的群签名中获取到目标群组织的群员签名信息以及待上链交易的交易信息。
基于上述S2的相关内容可知,群签名组件在接收到区块链中节点发送的目标群组织的标识和待上链交易的交易信息之后,先依据目标群组织的标识确定出目标群组织的群证书,再利用目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名,以使该群签名能够携带有待上链交易的交易信息。
S3:群签名组件将所述待上链交易的群签名发送给所述区块链。
S4:在所述区块链确定所述待上链交易的群签名通过签名验证时,将所述待上链交易的群签名进行上链存储。
签名验证是指由区块链执行的用于对待上链交易的群签名进行合法性验证的过程。
另外,本申请实施例不限定签名验证。例如,签名验证可以具体为:在区块链接收到待上链交易的群签名之后,区块链可以利用其上预先存储的合法的群证书对该待上链交易的群签名进行群证书验证,在确定区块链中预先存储的合法的群证书中存在一个与用于生成该待上链交易的群签名的群证书(也就是,目标群组织的群证书)匹配成功的群证书之后,可以确定用于生成该待上链交易的群签名的群证书是合法的,从而可以确定待上链交易的群签名通过签名验证,此时可以直接将待上链交易的群签名进行上链存储;然而,在确定区块链中预先存储的合法的群证书中不存在与用于生成该待上链交易的群签名的群证书(也就是,目标群组织的群证书)匹配成功的群证书之后,可以确定用于生成该待上链交易的群签名的群证书是不合法的,结束当前流程并进行提示。
基于上述S1至S4的相关内容可知,在本申请实施例提供的应用于群签名组件的签名方法中,在群签名组件接收到区块链中的节点发送的目标群组织的标识和待上链交易的交易信息之后,该群签名组件先利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名,再将该待上链交易的群签名发送给所述区块链,以使该区块链对该待上链交易的群签名进行签名验证,并在所述区块链确定所述待上链交易的群签名通过签名验证时,直接将所述待上链交易的群签名存储进行上链存储。
其中,因群签名组件是一个独立于区块链的组件,使得区块链依据自身存储的信息只能追溯到群证书,从而使得该区块链依据自身存储的信息只能获知已上链交易对应的签名群组织,无法获知已上链交易的各个签名个体(也就是,签名群员),如此使得已上链交易的各个签名个体处于保密状态,如此能够有效地保护已上链交易的各个签名个体的隐私。可见,基于群签名组件实现的群签名过程能够降低区块链追踪溯源的信息深度,从而使得该区块链能够应用于匿名场景。
方法实施例二
在一些情况下,若想要获知群签名的签名个体,则可以向群签名组件申请。基于此,本申请实施例还提供了签名方法的一种可能的实施方式,在该实施方式中,若待上链交易的群签名是由群签名组件利用所述目标群组织的群证书对所述目标群组织的群员签名信息和所述待上链交易的交易信息进行签名得到的,则该签名方法除了包括S1-S4以外,还包括S5-S7:
S5:群签名组件接收所述区块链发送的签名成员查询请求。
其中,签名成员查询请求用于向群签名组件请求参与待上链交易的群签名过程的签名群员。
本申请实施例中,区块链在接收到群签名组件发送的待上链交易的群签名之后,先对该待上链交易的群签名进行解析,得到该待上链交易的群签名携带的目标群组织的群员签名信息以及待上链交易的交易信息;再依据该目标群组织的群员签名信息,生成签名成员查询请求,并将该签名成员查询请求发送给群签名组件,以使该群签名组件能够基于该签名成员查询请求进行签名群员查询及反馈。
S6:群签名组件根据所述签名成员查询请求携带的群员签名信息,确定签名成员。
本申请实施例中,群签名组件在获取到签名成员查询请求之后,可以依据该签名成员查询请求携带的群员签名信息,确定签名成员。其中,因群员签名信息能够准确地表征对待上链交易的交易信息进行签名的群成员,使得群签名组件能够从该群员签名信息中解析出参与待上链交易的群签名过程的签名群员。
S7:群签名组件将所述签名成员发送给所述区块链,以使所述区块链对所述签名成员进行上链存储。
基于上述S5至S7的相关内容可知,在群签名组件将待上链交易的群签名发送给区块链之后,该区块链可以先依据该群签名中携带的目标群组织的群员签名信息生成签名成员查询请求,并将该签名成员查询请求发送给群签名组件,以使该群签名组件基于该签名成员查询请求携带的目标群组织的群员签名信息,确定签名成员并反馈给区块链,以使该区块链能够存储该签名成员,以便后续能够在该区块链中追溯到该签名成员。
需要说明的是,本申请实施例不限定群签名组件的应用场景,例如,群签名组件可以应用在图3所示的应用场景中。其中,群签名组件用于签名,而且群签名组件以独立功能组件提供给应用层调用。对于群leader(也就是,群主)选举配置模块来说,在群签名的群组织中,需要群管理员进行群创建、群成员管理、公私钥发布等;而且在群leader选举配置模块中根据场景规则自带了两种leader配置办法,一种是在某些平等一致的群中,进行随机选举产生leader。另外一种是根据场景中的监管机构进行手工配置方法。群签名服务端主要通过群leader选举配置模块中选出的leader完成群成员管理,公私钥发布以及交易追踪,包含群成员匿名追踪等功能。群签名信息库主要用于存储群成员签名信息,公私钥列表等。在群签名验证智能合约中,考虑到链上计算成本及效率,本方案只将群签名最重要的步骤验证通过区块链智能合约完成,这样既保证了验证信息的可信,也降低了区块链网络压力。
可见,图3所示的基于群签名隐私保护的区块链使用策略是一种高匿名性的隐私保护区块链策略,在某些应用场景中,可以确保该交易来组某一合法组织,但又规避了追踪到某一参与节点的可能。但同时在群组织内部,群leader具有所有权限,其可以作为某些监管监察机构完成最后一步追踪定位。此模型是一种既要保障参与方隐私,又要保证交易合法的折中方案。
方法实施例三
实际上,不同的应用场景所需的隐匿等级(也就是,对签名个体的保密程度)不同,故可以依据待上链交易对应的隐匿等级来确定是否采用群签名组件进行签名。基于此,本申请实施例还提供了签名方法的一种可能的实施方式,在该实施方式中,该签名方法除了包括上述部分或者全部步骤以外,还包括S8-S9:
S8:区块链中的节点获取待上链交易的上链配置参数。
其中,上链配置参数用于描述对待上链交易的交易信息进行签名验证上链过程中所需依据的约束条件。
另外,本申请实施例不限定上链配置参数。例如,上链配置参数可以包括签名成员的隐匿等级。其中,签名成员的隐匿等级用于描述是否允许外界用户通过区块链获取到签名个体,而且签名成员的隐匿等级可以为高级(也就是,不允许外界用户通过区块链获取到签名个体)、中级(也就是,只允许外界用户通过区块链和群签名组件获取到签名个体)、或者低级(也就是,允许外界用户直接通过区块链获取到签名个体)。
S9:在区块链中的节点依据所述待上链交易的上链配置参数,确定使用所述群签名组件对所述待上链交易进行群签名时,区块链中的节点将目标群组织的标识和待上链交易的交易信息发送给群签名组件,以使该群签名组件接收区块链节点发送的目标群组织的标识和待上链交易的交易信息。
基于上述S8至S9的相关内容可知,在区块链中的节点获取到待上链交易的上链配置参数之后,若该上链配置参数表征签名成员的隐匿等级为中级,则确定可以使用所述群签名组件对所述待上链交易进行群签名,从而可以直接将目标群组织的标识和待上链交易的交易信息发送给群签名组件,以使该群签名组件对该待上链交易进行签名;若该上链配置参数表征签名成员的隐匿等级为高级,则确定可以使用环签名过程(例如,一种能够实现环签名的独立于区块链的环签名组件)对所述待上链交易进行群签名;若该上链配置参数表征签名成员的隐匿等级为低级,则确定可使用现有签名过程对所述待上链交易进行群签名。可见,本申请实施例可以依据不同应用场景,选择不同的签名过程,以使被选的签名过程能够符合该应用场景对签名个体隐匿等级的限制。
另外,本申请实施例还提供了一种环签名组件,其相关内容如下:
本申请实施例提供的签名方法,包括S1-S4:
步骤1:环签名组件接收区块链中的节点发送的目标环组织的标识和待上链交易的交易信息。
环签名组件是一个能够实现环签名的组件。另外,环签名组件独立于区块链,而且环签名组件能够与区块链进行通信。
需要说明的是,本申请实施例不限定一个环签名组件的服务对象。例如,一个环签名组件可以服务区多个环组织,也可以只服务于一个环组织。
区块链通常包括多个节点,而且每一节点均可以用于接收交易信息。
待上链交易是指需要在区块链中进行交易信息上链的交易。另外,本申请实施例不限定待上链交易,也不限定待上链交易的交易信息。
目标环组织是指需要对待上链交易的交易信息进行环签名的环组织,而且上述环签名组件可以服务于该目标环组织。其中,一个环组织可以包括至少一个环成员,而且每个环成员均能够参与该环组织的管理。
另外,本申请实施例还提供了一种向目标环组织中添加环成员的过程,其具体为:环签名组件获取待入环用户提供的环参数,并在确定所述待入环用户提供的环参数与所述目标环组织的环参数匹配成功时,将所述待入环用户添加至所述目标环组织。
待入环用户是指向环签名组件请求加入目标环组织的用户。
待入环用户的环参数是指在待入环用户向环签名组件请求加入目标环组织时,需要向目标环组织提供的入环密码。
目标环组织的环参数是指加入目标环组织应该使用的标准密码。
基于上述内容可知,本申请实施例中,若待入环用户向环签名组件请求加入目标环组织,则环签名组件在获取到待入环用户提供的环参数之后,可以判断待入环用户提供的环参数与所述目标环组织的环参数是否匹配成功,以便在确定所述待入环用户提供的环参数与所述目标环组织的环参数匹配成功时,将所述待入环用户添加至所述目标环组织,如此能够实现目标环组织的自管理。
基于上述步骤1的相关内容可知,本申请实施例中,当区块链中的一个节点接收到待上链交易的交易信息之后,该节点会直接将待上链交易的交易信息以及目标环组织的标识发送给环签名组件,以使该环签名组件能够对待上链交易的交易信息进行环签名。
步骤2:环签名组件利用所述目标环组织的成员私钥和所述目标环组织的环公钥对所述待上链交易的交易信息进行签名,得到所述待上链交易的环签名。
成员私钥是指环组织中成员所具有的个人私钥。可见,目标环组织的成员私钥是指目标环组织中各个成员所具有的个人私钥。
另外,本申请实施例还提供了一种生成成员私钥的实施方式,其具体为:环签名组件根据所述目标环组织的环参数,生成所述目标环组织中各个成员的成员私钥。可见,目标环组织中的各个成员均具有个人私钥,而且该个人私钥均是基于目标环组织的环参数生成的。
环公钥是指环组织所具有的公共密钥,而且环组织中各个成员均持有该环公钥。另外,本申请实施例还提供了一种生成环公钥的实施方式,其具体为:环签名组件根据所述目标环组织的环参数,生成所述目标环组织的环公钥。
基于上述步骤2的相关内容可知,在环签名组件获取到目标环组织的标识之后,环签名组件可以先依据该目标环组织的标识,确定出该目标环组织的成员私钥和所述目标环组织的环公钥;再利用目标环组织的成员私钥和所述目标环组织的环公钥,对接收到的待上链交易的交易信息进行签名,得到所述待上链交易的环签名。其中,因目标环组织的成员私钥以及环公钥均是根据目标环组织的环参数生成的,使得区块链只能从待上链交易的环签名中解析出目标环组织的相关信息(例如,环参数),从而使得区块链无法从待上链交易的环签名中解析出目标环组织中各个成员的身份信息,如此有利于保护环组织中成员的隐私。
步骤3:环签名组件将所述待上链交易的环签名发送给所述区块链。
步骤4:在所述区块链确定所述待上链交易的环签名通过签名验证时,区块链将所述待上链交易的环签名进行上链存储。
签名验证是指由区块链执行的用于对待上链交易的环签名进行合法性验证的过程。
另外,本申请实施例不限定签名验证。例如,签名验证可以具体为:在区块链接收到待上链交易的环签名之后,区块链可以利用其上预先存储的合法的环组织签名密钥对该待上链交易的环签名进行验证,在确定区块链中预先存储的合法的环组织签名密钥中存在一个与用于生成该待上链交易的环签名的环组织签名密钥(也就是,目标环组织的成员私钥以及环公钥)匹配成功的环组织签名密钥之后,可以确定用于生成该待上链交易的环签名的环组织签名密钥是合法的,从而可以确定待上链交易的环签名通过签名验证,此时可以直接将待上链交易的环签名进行上链存储;然而,在确定区块链中预先存储的合法的环组织签名密钥中不存在与用于生成该待上链交易的环签名的环组织签名密钥(也就是,目标环组织的环组织签名密钥)匹配成功的环组织签名密钥之后,可以确定用于生成该待上链交易的环签名的环组织签名密钥是不合法的,结束当前流程并进行提示。
基于上述步骤1至步骤4的相关内容可知,在本申请实施例提供的签名方法中,在环签名组件接收到区块链中的节点发送的目标环组织的标识和待上链交易的交易信息之后,先利用所述目标环组织的成员私钥和所述目标环组织的环公钥对所述待上链交易的交易信息进行签名,得到所述待上链交易的环签名;再将所述待上链交易的环签名发送给所述区块链,以使在所述区块链确定所述待上链交易的环签名通过签名验证时,将所述待上链交易的环签名进行上链存储。
其中,因环签名组件是一个独立于区块链的组件,使得区块链依据自身存储的信息只能追溯到环证书,从而使得该区块链依据自身存储的信息只能获知已上链交易对应的签名环组织,无法获知已上链交易的各个签名个体(也就是,签名环组织中的各个环成员),如此使得已上链交易的各个签名个体处于保密状态,如此能够有效地保护已上链交易的各个签名个体的隐私。可见,基于环签名组件实现的环签名过程能够降低区块链追踪溯源的信息深度,从而使得该区块链能够应用于匿名场景。
基于上述方法实施例提供的签名方法,本申请实施例还提供了一种签名装置,下面结合附图进行解释和说明。
装置实施例
装置实施例提供的签名装置的技术详情,请参照上述方法实施例。
参见图3,该图为本申请实施例提供的一种签名装置的结构示意图。
本申请实施例提供的签名装置300,包括:
接收单元301,用于接收区块链中的节点发送的目标群组织的标识和待上链交易的交易信息;
签名单元302,用于利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名;
发送单元303,用于将所述待上链交易的群签名发送给所述区块链,以使在所述区块链确定所述待上链交易的群签名通过签名验证时,将所述待上链交易的群签名进行上链存储。
在一种可能的实施方式中,所述目标群组织的群证书的获取过程为:
在获取到所述目标群组织的群主公钥之后,根据所述目标群组织的群主公钥生成所述目标群组织的群证书。
在一种可能的实施方式中,所述签名单元302,具体用于:
利用所述目标群组织的群证书对所述目标群组织的群员签名信息和所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名。
在一种可能的实施方式中,所述签名装置300还包括:
请求单元,用于接收所述区块链发送的签名成员查询请求;
确定单元,用于根据所述签名成员查询请求携带的群员签名信息,确定签名成员;
反馈单元,用于将所述签名成员发送给所述区块链,以使所述区块链对所述签名成员进行上链存储。
在一种可能的实施方式中,所述接收单元301,具体用于:
在所述区块链中的节点依据所述待上链交易的上链配置参数,确定使用所述群签名组件对所述待上链交易进行群签名之后,接收区块链节点发送的目标群组织的标识和待上链交易的交易信息。
在一种可能的实施方式中,所述上链配置参数包括签名成员的隐匿等级。
基于上述签名装置300的相关内容可知,在签名装置300接收到区块链中的节点发送的目标群组织的标识和待上链交易的交易信息之后,该签名装置300先利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名,再将该待上链交易的群签名发送给所述区块链,以使该区块链对该待上链交易的群签名进行签名验证,并在所述区块链确定所述待上链交易的群签名通过签名验证时,直接将所述待上链交易的群签名存储进行上链存储。
其中,因签名装置300是一个独立于区块链的组件,使得区块链依据自身存储的信息只能追溯到群证书,从而使得该区块链依据自身存储的信息只能获知已上链交易对应的签名群组织,无法获知已上链交易的各个签名个体(也就是,签名群员),如此使得已上链交易的各个签名个体处于保密状态,如此能够有效地保护已上链交易的各个签名个体的隐私。可见,基于签名装置300实现的群签名过程能够降低区块链追踪溯源的信息深度,从而使得该区块链能够应用于匿名场景。
另外,本申请实施例还提供了一种签名系统,该系统包括区块链和本申请实施例提供的任一群签名组件。
基于上述方法实施例提供的签名方法,本申请实施例还提供了一种设备,下面结合附图进行解释和说明。
设备实施例
设备实施例提供的设备技术详情,请参照上述方法实施例。
参见图4,该图为本申请实施例提供的设备结构示意图。
本申请实施例提供的设备400,包括:处理器401以及存储器402;
所述存储器402用于存储计算机程序;
所述处理器401用于根据所述计算机程序执行上述方法实施例提供的签名方法的任一实施方式。也就是说,处理器401用于执行以下步骤:
接收区块链中的节点发送的目标群组织的标识和待上链交易的交易信息;
利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名;
将所述待上链交易的群签名发送给所述区块链,以使在所述区块链确定所述待上链交易的群签名通过签名验证时,将所述待上链交易的群签名进行上链存储。
可选的,所述目标群组织的群证书的获取过程为:
在获取到所述目标群组织的群主公钥之后,根据所述目标群组织的群主公钥生成所述目标群组织的群证书。
可选的,所述利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名,包括:
利用所述目标群组织的群证书对所述目标群组织的群员签名信息和所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名。
可选的,所述方法还包括:
接收所述区块链发送的签名成员查询请求;
根据所述签名成员查询请求携带的群员签名信息,确定签名成员;
将所述签名成员发送给所述区块链,以使所述区块链对所述签名成员进行上链存储。
可选的,所述接收区块链节点发送的目标群组织的标识和待上链交易的交易信息,包括:
在所述区块链中的节点依据所述待上链交易的上链配置参数,确定使用所述群签名组件对所述待上链交易进行群签名之后,接收区块链节点发送的目标群组织的标识和待上链交易的交易信息。
可选的,所述上链配置参数包括签名成员的隐匿等级。
以上为本申请实施例提供的设备400的相关内容。
基于上述方法实施例提供的签名方法,本申请实施例还提供了一种计算机可读存储介质。
介质实施例
介质实施例提供的计算机可读存储介质的技术详情,请参照方法实施例。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方法实施例提供的签名方法的任一实施方式。也就是说,该计算机程序用于执行以下步骤:
接收区块链中的节点发送的目标群组织的标识和待上链交易的交易信息;
利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名;
将所述待上链交易的群签名发送给所述区块链,以使在所述区块链确定所述待上链交易的群签名通过签名验证时,将所述待上链交易的群签名进行上链存储。
可选的,所述目标群组织的群证书的获取过程为:
在获取到所述目标群组织的群主公钥之后,根据所述目标群组织的群主公钥生成所述目标群组织的群证书。
可选的,所述利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名,包括:
利用所述目标群组织的群证书对所述目标群组织的群员签名信息和所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名。
可选的,所述方法还包括:
接收所述区块链发送的签名成员查询请求;
根据所述签名成员查询请求携带的群员签名信息,确定签名成员;
将所述签名成员发送给所述区块链,以使所述区块链对所述签名成员进行上链存储。
可选的,所述接收区块链节点发送的目标群组织的标识和待上链交易的交易信息,包括:
在所述区块链中的节点依据所述待上链交易的上链配置参数,确定使用所述群签名组件对所述待上链交易进行群签名之后,接收区块链节点发送的目标群组织的标识和待上链交易的交易信息。
可选的,所述上链配置参数包括签名成员的隐匿等级。
以上为本申请实施例提供的计算机可读存储介质的相关内容。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (8)
1.一种签名方法,其特征在于,应用于群签名组件,所述方法包括:
接收区块链中的节点发送的目标群组织的标识和待上链交易的交易信息;
利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名;
将所述待上链交易的群签名发送给所述区块链,以使在所述区块链确定所述待上链交易的群签名通过签名验证时,将所述待上链交易的群签名进行上链存储;
所述接收区块链节点发送的目标群组织的标识和待上链交易的交易信息,包括:
在所述区块链中的节点依据所述待上链交易的上链配置参数,确定使用所述群签名组件对所述待上链交易进行群签名之后,接收区块链节点发送的目标群组织的标识和待上链交易的交易信息,所述上链配置参数包括签名成员的隐匿等级。
2.根据权利要求1所述的方法,其特征在于,所述目标群组织的群证书的获取过程为:
在获取到所述目标群组织的群主公钥之后,根据所述目标群组织的群主公钥生成所述目标群组织的群证书。
3.根据权利要求1所述的方法,其特征在于,所述利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名,包括:
利用所述目标群组织的群证书对所述目标群组织的群员签名信息和所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收所述区块链发送的签名成员查询请求;
根据所述签名成员查询请求携带的群员签名信息,确定签名成员;
将所述签名成员发送给所述区块链,以使所述区块链对所述签名成员进行上链存储。
5.一种签名装置,其特征在于,应用于群签名组件,所述装置包括:
接收单元,用于接收区块链中的节点发送的目标群组织的标识和待上链交易的交易信息;
签名单元,用于利用所述目标群组织的群证书对所述待上链交易的交易信息进行签名,得到所述待上链交易的群签名;
发送单元,用于将所述待上链交易的群签名发送给所述区块链,以使在所述区块链确定所述待上链交易的群签名通过签名验证时,将所述待上链交易的群签名进行上链存储;
所述接收单元,具体用于:
在所述区块链中的节点依据所述待上链交易的上链配置参数,确定使用所述群签名组件对所述待上链交易进行群签名之后,接收区块链节点发送的目标群组织的标识和待上链交易的交易信息,所述上链配置参数包括签名成员的隐匿等级。
6.一种签名系统,其特征在于,所述系统包括区块链和权利要求1至4任一项所述的签名方法应用的群签名组件。
7.一种签名设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1至4中任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010903870.5A CN112036884B (zh) | 2020-09-01 | 2020-09-01 | 一种签名方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010903870.5A CN112036884B (zh) | 2020-09-01 | 2020-09-01 | 一种签名方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112036884A CN112036884A (zh) | 2020-12-04 |
CN112036884B true CN112036884B (zh) | 2024-03-01 |
Family
ID=73590682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010903870.5A Active CN112036884B (zh) | 2020-09-01 | 2020-09-01 | 一种签名方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112036884B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112636929B (zh) * | 2020-12-29 | 2023-01-17 | 北京百度网讯科技有限公司 | 群组业务实现方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911216A (zh) * | 2017-10-26 | 2018-04-13 | 矩阵元技术(深圳)有限公司 | 一种区块链交易隐私保护方法及系统 |
CN109636599A (zh) * | 2018-11-07 | 2019-04-16 | 广西师范大学 | 基于群签名的许可区块链隐私保护和监管方法 |
JP2019133630A (ja) * | 2018-01-29 | 2019-08-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 制御方法、コントローラ、データ構造及び電力取引システム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10915552B2 (en) * | 2018-06-28 | 2021-02-09 | International Business Machines Corporation | Delegating credentials with a blockchain member service |
-
2020
- 2020-09-01 CN CN202010903870.5A patent/CN112036884B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911216A (zh) * | 2017-10-26 | 2018-04-13 | 矩阵元技术(深圳)有限公司 | 一种区块链交易隐私保护方法及系统 |
JP2019133630A (ja) * | 2018-01-29 | 2019-08-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 制御方法、コントローラ、データ構造及び電力取引システム |
CN109636599A (zh) * | 2018-11-07 | 2019-04-16 | 广西师范大学 | 基于群签名的许可区块链隐私保护和监管方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112036884A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000744B (zh) | 一种签名方法及相关设备 | |
CN110377239B (zh) | 数据签名方法、装置、服务器、系统及存储介质 | |
US10104088B2 (en) | Traitor tracing for obfuscated credentials | |
CN109617692B (zh) | 一种基于区块链的匿名登陆方法及系统 | |
CN108769230B (zh) | 交易数据存储方法、装置、服务器及存储介质 | |
CN108880822B (zh) | 一种身份认证方法、装置、系统及一种智能无线设备 | |
CN109088865B (zh) | 用户身份认证方法、装置、可读存储介质和计算机设备 | |
CN108960832B (zh) | 区块链实名通信的隐私保护方法和系统 | |
CN110417790B (zh) | 区块链实名制排队系统及方法 | |
CN109102404B (zh) | 区块链实名通信的隐私保护方法和系统 | |
US20190141048A1 (en) | Blockchain identification system | |
CN104184713A (zh) | 终端识别方法、机器识别码注册方法及相应系统、设备 | |
CN110493237A (zh) | 身份管理方法、装置、计算机设备及存储介质 | |
CN104660412A (zh) | 一种移动设备无密码安全认证方法及系统 | |
US11700133B2 (en) | Zero-knowledge proof-based certificate service method using blockchain network, certification support server using same, and user terminal using same | |
CN109242404A (zh) | 履历信息管理方法、装置、计算机设备与可读存储介质 | |
CN110602455A (zh) | 视频存储系统、视频处理方法、装置、设备及存储介质 | |
CN109245897A (zh) | 一种基于非交互的零知识证明的节点认证方法和装置 | |
CN112989380A (zh) | 资源交换处理方法、装置、设备及存储介质 | |
CN110020869A (zh) | 用于生成区块链授权信息的方法、装置及系统 | |
CN109241762A (zh) | 基于区块链技术的资产信息获取方法、装置与计算机设备 | |
CN109450636B (zh) | 一种云存储中群组数据的完整性验证方法 | |
CN112036884B (zh) | 一种签名方法及相关设备 | |
CN111931230A (zh) | 数据授权方法和装置、存储介质和电子装置 | |
CN111934881A (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 |