CN109361645B - 区块链任务共同认证方法、介质、装置及区块链系统 - Google Patents
区块链任务共同认证方法、介质、装置及区块链系统 Download PDFInfo
- Publication number
- CN109361645B CN109361645B CN201810968533.7A CN201810968533A CN109361645B CN 109361645 B CN109361645 B CN 109361645B CN 201810968533 A CN201810968533 A CN 201810968533A CN 109361645 B CN109361645 B CN 109361645B
- Authority
- CN
- China
- Prior art keywords
- authentication
- joint
- task
- certificate
- node
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种区块链任务共同认证方法、介质、装置及区块链系统,方法包括以下步骤:接收用户端的调用命令;获得联合认证任务所需的认证节点地址数量n;生成n个随机数以作为每个认证节点地址的所需凭证;接收用户端发送的线下索要凭证请求,并向区块链系统发送所需凭证获取请求;以获得当前所需凭证,以及通过相应的认证节点将每个认证节点地址的当前所需凭证发送给用户端;通过用户端将所需凭证进行相加以获得第一联合凭证,并在第一联合凭证进行验证通过时执行联合认证任务;从而实现无需认证用户对需要多用户共同认证的任务进行多重签名,即可完成多认证用户对任务的共同认证,防止认证用户的秘钥被他人窥视,保障用户的财产安全。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种区块链任务共同认证方法、介质、装置及区块链系统。
背景技术
区块链,是一种以去中心化和去信任式维护可靠数据库的技术方案,在现有技术中已得到广泛地应用。
在现有的区块链系统中,常常遇到一些需要多个用户共同认证方能执行的任务,这些任务共同认证的主要实现方式是使用多重签名。然而,这种方法需要每个认证用户都输入自身的秘钥,这可能导致认证用户自身秘钥被他人窥视,进而带来安全隐患。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种区块链任务共同认证方法,能够实现无需认证用户对需要多用户共同认证的任务进行多重签名,即可完成多认证用户对任务的共同认证,防止认证用户的秘钥被他人窥视,保障用户的财产安全。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种区块链任务共同认证装置。
本发明的第四个目的在于提出一种区块链系统。
为达到上述目的,本发明第一方面实施例提出了一种区块链任务共同认证方法,包括以下步骤:通过区块链系统中的任意一个节点接收用户端的调用命令,其中,所述用户端的调用命令用于调用联合认证任务对应的联合认证函数;根据所述联合认证函数的入口地址查询所述区块链系统中存储的系统联合认证函数表,以获得所述联合认证任务所需的认证节点地址数量n,其中,所述系统联合认证函数表包括所述联合认证函数的入口地址、所述联合认证函数的入口地址对应的n个认证节点地址,n为正整数;根据所述认证节点地址数量n生成n个随机数以作为每个认证节点地址的所需凭证,并将n个随机数之和作为所述联合认证函数的入口地址对应的联合凭证,以及将每个认证节点地址的所需凭证和所述联合认证函数的入口地址对应的联合凭证载入所述系统联合认证函数表;通过每个认证节点接收所述用户端发送的线下索要凭证请求,并根据所述线下索要凭证请求向区块链系统发送所需凭证获取请求,其中,所述线下索要凭证请求包括联合认证函数的入口地址;根据每个认证节点的公钥对所述所需凭证获取请求进行解析以获得每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址,并根据每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址通过查询所述系统联合认证函数表,以获得每个认证节点地址的当前所需凭证,以及通过相应的认证节点将每个认证节点地址的当前所需凭证发送给所述用户端;通过所述用户端将每个认证节点地址的当前所需凭证进行相加以获得第一联合凭证,并通过所述区块链系统中的任意一个节点上传所述第一联合凭证;根据所述联合认证函数的入口地址查询所述系统联合认证函数表以获得第二联合凭证,并根据所述第二联合凭证对所述第一联合凭证进行验证,以在验证通过时执行所述联合认证任务。
根据本发明实施例的区块链任务共同认证方法,首先,通过区块链系统中的任意一个节点接收用户端的调用命令,其中,用户端的调用命令用于调用联合认证任务对应的联合认证函数;接着,根据联合认证函数的入口地址查询区块链系统中存储的系统联合认证函数表,以获得联合认证任务所需的认证节点地址数量n,其中,系统联合认证函数表包括联合认证函数的入口地址、联合认证函数的入口地址对应的n个认证节点地址,n为正整数;然后,根据认证节点地址数量n生成n个随机数以作为每个认证节点地址的所需凭证,并将n个随机数之和作为联合认证函数的入口地址对应的联合凭证,以及将每个认证节点地址的所需凭证和联合认证函数的入口地址对应的联合凭证载入系统联合认证函数表;接着,通过每个认证节点接收用户端发送的线下索要凭证请求,并根据线下索要凭证请求向区块链系统发送所需凭证获取请求,其中,线下索要凭证请求包括联合认证函数的入口地址;然后,根据每个认证节点的公钥对所需凭证获取请求进行解析以获得每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址,并根据每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址通过查询系统联合认证函数表,以获得每个认证节点地址的当前所需凭证,以及通过相应的认证节点将每个认证节点地址的当前所需凭证发送给用户端;接着,通过用户端将每个认证节点地址的当前所需凭证进行相加以获得第一联合凭证,并通过区块链系统中的任意一个节点上传第一联合凭证;然后,根据联合认证函数的入口地址查询系统联合认证函数表以获得第二联合凭证,并根据第二联合凭证对第一联合凭证进行验证,以在验证通过时执行联合认证任务;从而实现无需认证用户对需要多用户共同认证的任务进行多重签名,即可完成多认证用户对任务的共同认证,防止认证用户的秘钥被他人窥视,保障用户的财产安全。
另外,根据本发明上述实施例提出的区块链任务共同认证方法还可以具有如下附加的技术特征:
可选地,所述联合认证任务通过智能合约所用的语言进行编写。
可选地,在编写所述联合认证任务的代码时,将所述联合认证任务的代码与所述联合认证任务对应的认证节点地址和联合认证标识符一起打包成任务代码包,并通过所述区块链系统中的任意一个节点上传所述任务代码包。
可选地,还包括:对所述任务代码包进行解析后将所述联合认证任务的代码进行存储,以等待所述用户端调用,并根据所述任务代码包中的联合认证标识符判断所述代码对应的函数需要联合认证才可调用时,将所述代码对应的联合认证函数的入口地址和每个认证节点地址共同写入所述系统联合认证函数表。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有区块链任务共同认证程序,该区块链任务共同认证程序被处理器执行时实现上述的区块链任务共同认证方法。
为达到上述目的,本发明第三方面实施例提出了一种区块链任务共同认证装置,包括:第一接收模块,用于通过区块链系统中的任意一个节点接收用户端的调用命令,其中,所述用户端的调用命令用于调用联合认证任务对应的联合认证函数;查询模块,用于根据所述联合认证函数的入口地址查询所述区块链系统中存储的系统联合认证函数表,以获得所述联合认证任务所需的认证节点地址数量n,其中,所述系统联合认证函数表包括所述联合认证函数的入口地址、所述联合认证函数的入口地址对应的n个认证节点地址,n为正整数;载入模块,用于根据所述认证节点地址数量n生成n个随机数以作为每个认证节点地址的所需凭证,并将n个随机数之和作为所述联合认证函数的入口地址对应的联合凭证,以及将每个认证节点地址的所需凭证和所述联合认证函数的入口地址对应的联合凭证载入所述系统联合认证函数表;第二接收模块,用于通过每个认证节点接收所述用户端发送的线下索要凭证请求,并根据所述线下索要凭证请求向区块链系统发送所需凭证获取请求,其中,所述线下索要凭证请求包括联合认证函数的入口地址;获取模块,用于根据每个认证节点的公钥对所述所需凭证获取请求进行解析以获得每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址,并根据每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址通过查询所述系统联合认证函数表,以获得每个认证节点地址的当前所需凭证,以及通过相应的认证节点将每个认证节点地址的当前所需凭证发送给所述用户端;上传模块,用于通过所述用户端将每个认证节点地址的当前所需凭证进行相加以获得第一联合凭证,并通过所述区块链系统中的任意一个节点上传所述第一联合凭证;认证模块,用于根据所述联合认证函数的入口地址查询所述系统联合认证函数表以获得第二联合凭证,并根据所述第二联合凭证对所述第一联合凭证进行验证,以在验证通过时执行所述联合认证任务。
根据本发明实施例的区块链任务共同认证装置,第一接收模块,用于通过区块链系统中的任意一个节点接收用户端的调用命令,其中,用户端的调用命令用于调用联合认证任务对应的联合认证函数;查询模块,用于根据联合认证函数的入口地址查询区块链系统中存储的系统联合认证函数表,以获得联合认证任务所需的认证节点地址数量n,其中,系统联合认证函数表包括联合认证函数的入口地址、联合认证函数的入口地址对应的n个认证节点地址,n为正整数;载入模块,用于根据认证节点地址数量n生成n个随机数以作为每个认证节点地址的所需凭证,并将n个随机数之和作为联合认证函数的入口地址对应的联合凭证,以及将每个认证节点地址的所需凭证和联合认证函数的入口地址对应的联合凭证载入系统联合认证函数表;第二接收模块,用于通过每个认证节点接收用户端发送的线下索要凭证请求,并根据线下索要凭证请求向区块链系统发送所需凭证获取请求,其中,线下索要凭证请求包括联合认证函数的入口地址;获取模块,用于根据每个认证节点的公钥对所需凭证获取请求进行解析以获得每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址,并根据每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址通过查询系统联合认证函数表,以获得每个认证节点地址的当前所需凭证,以及通过相应的认证节点将每个认证节点地址的当前所需凭证发送给用户端;上传模块,用于通过用户端将每个认证节点地址的当前所需凭证进行相加以获得第一联合凭证,并通过区块链系统中的任意一个节点上传第一联合凭证;认证模块,用于根据联合认证函数的入口地址查询系统联合认证函数表以获得第二联合凭证,并根据第二联合凭证对第一联合凭证进行验证,以在验证通过时执行联合认证任务;从而实现无需认证用户对需要多用户共同认证的任务进行多重签名,即可完成多认证用户对任务的共同认证,防止认证用户的秘钥被他人窥视,保障用户的财产安全。
另外,根据本发明上述实施例提出的区块链任务共同认证装置还可以具有如下附加的技术特征:
可选地,所述联合认证任务通过智能合约所用的语言进行编写。
可选地,所述上传模块还用于,在通过所述用户端编写所述联合认证任务的代码时,将所述联合认证任务的代码与所述联合认证任务对应的认证节点地址和联合认证标识符一起打包成任务代码包,并通过所述区块链系统中的任意一个节点上传所述任务代码包。
可选地,所述载入模块还用于,对所述任务代码包进行解析后将所述联合认证任务的代码进行存储,以等待所述用户端调用,并根据所述任务代码包中的联合认证标识符判断所述代码对应的函数需要联合认证才可调用时,将所述代码对应的联合认证函数的入口地址和每个认证节点地址共同写入所述系统联合认证函数表。
为达到上述目的,本发明第四方面实施例提出了一种区块链系统,包括上述的区块链任务共同认证装置。
附图说明
图1为根据本发明实施例的区块链任务共同认证方法的流程示意图;
图2为根据本发明实施例的联合认证任务的实现方法的流程示意图;
图3为根据本发明实施例的区块链任务共同认证装置的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
在现有的区块链系统中,常常遇到一些需要多个用户共同认证方能执行的任务,这些任务共同认证的主要实现方式是使用多重签名;然而,这种方法需要每个认证用户都输入自身的秘钥,这可能导致认证用户自身秘钥被他人窥视;本发明实施例提出的区块链任务共同认证方法,首先,通过区块链系统中的任意一个节点接收用户端的调用命令,其中,用户端的调用命令用于调用联合认证任务对应的联合认证函数;接着,根据联合认证函数的入口地址查询区块链系统中存储的系统联合认证函数表,以获得联合认证任务所需的认证节点地址数量n,其中,系统联合认证函数表包括联合认证函数的入口地址、联合认证函数的入口地址对应的n个认证节点地址,n为正整数;然后,根据认证节点地址数量n生成n个随机数以作为每个认证节点地址的所需凭证,并将n个随机数之和作为联合认证函数的入口地址对应的联合凭证,以及将每个认证节点地址的所需凭证和联合认证函数的入口地址对应的联合凭证载入系统联合认证函数表;接着,通过每个认证节点接收用户端发送的线下索要凭证请求,并根据线下索要凭证请求向区块链系统发送所需凭证获取请求,其中,线下索要凭证请求包括联合认证函数的入口地址;然后,根据每个认证节点的公钥对所需凭证获取请求进行解析以获得每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址,并根据每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址通过查询系统联合认证函数表,以获得每个认证节点地址的当前所需凭证,以及通过相应的认证节点将每个认证节点地址的当前所需凭证发送给用户端;接着,通过用户端将每个认证节点地址的当前所需凭证进行相加以获得第一联合凭证,并通过区块链系统中的任意一个节点上传第一联合凭证;然后,根据联合认证函数的入口地址查询系统联合认证函数表以获得第二联合凭证,并根据第二联合凭证对第一联合凭证进行验证,以在验证通过时执行联合认证任务;从而实现无需认证用户对需要多用户共同认证的任务进行多重签名,即可完成多认证用户对任务的共同认证,防止认证用户的秘钥被他人窥视,保障用户的财产安全。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
图1为根据本发明实施例提出的区块链任务共同认证方法的流程示意图,如图1所示,该区块链任务共同认证方法包括以下步骤:
S101,通过区块链系统中的任意一个节点接收用户端的调用命令,其中,所述用户端的调用命令用于调用联合认证任务对应的联合认证函数。
也就是说,通过区块链系统中的任意一个节点接收用户端发送的调用命令,该调用命令用于调用函数。
其中,联合认证任务的编写方式有多种。
作为一种示例,联合认证任务通过智能合约所用的语言进行编写,例如:solidity语言、C++语言、C语言。
S102,根据联合认证函数的入口地址查询区块链系统中存储的系统联合认证函数表,以获得联合认证任务所需的认证节点地址数量n,其中,系统联合认证函数表包括联合认证函数的入口地址、联合认证函数的入口地址对应的n个认证节点地址,n为正整数。
也就是说,系统联合认证函数表中存储有联合认证函数的入口地址、每个联合认证函数的入口地址对应的n个认证节点地址;区块链系统在接收到用户端发送的调用命令时,可根据调用命令所调用的联合认证函数对应的入口地址查询区块链系统中存储的系统联合认证函数表,以获得联合认证任务所需的认证节点地址数量n。
S103,根据认证节点地址数量n生成n个随机数以作为每个认证节点地址的所需凭证,并将n个随机数之和作为联合认证函数的入口地址对应的联合凭证,以及将每个认证节点地址的所需凭证和联合认证函数的入口地址对应的联合凭证载入系统联合认证函数表。
也就是说,在获取到联合认证任务所需的认证节点地址数量n之后,根据所需的认证节点地址数量n生成n个随机数,该n个随机数作为每个认证节点地址的所需凭证,并计算该n个随机数之和作为联合认证函数的入口地址对应的联合凭证,以及将每个认证节点地址的所需凭证和联合认证函数的入口地址对应的联合凭证载入系统联合认证函数表。
作为一种示例,当联合认证任务所需的认证节点地址数量为3时,根据所需的认证节点地址数量3生成3个随机数(6、4、8),3个随机数分别作为认证节点地址1、认证节点地址2、认证节点地址3对应的所需凭证,同时,计算3个随机数之和(18),将3个随机数之和(18)作为联合认证函数的入口地址对应的联合凭证;以及将认证节点地址1、认证节点地址2、认证节点地址3对应的所需凭证和联合认证函数的入口地址对应的联合凭证载入系统联合认证函数表。
S104,通过每个认证节点接收用户端发送的线下索要凭证请求,并根据线下索要凭证请求向区块链系统发送所需凭证获取请求,其中,线下索要凭证请求包括联合认证函数的入口地址。
也就是说,区块链系统在将每个认证节点地址的所需凭证和所述联合认证函数的入口地址对应的联合凭证载入所述系统联合认证函数表之后,用户可以向每个认证节点发起线下索要凭证请求,以索要每个认证节点对应的所需凭证;每个认证节点在接收到用户发起的线下索要凭证请求之后,根据该线下索要凭证请求向区块链系统发送所需凭证获取请求,以获取自身节点地址所对应的所需凭证;其中,索要凭证请求包括联合认证函数的入口地址。
S105,根据每个认证节点的公钥对所需凭证获取请求进行解析以获得每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址,并根据每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址通过查询系统联合认证函数表,以获得每个认证节点地址的当前所需凭证,以及通过相应的认证节点将每个认证节点地址的当前所需凭证发送给用户端。
也就是说,区块链系统在接收到每个认证节点发送的所需凭证获取请求之后,根据每个认证节点的公钥对所需凭证获取请求进行解析以获得每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址,并根据每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址查询系统联合认证函数表,以获得每个认证节点地址的当前所需凭证,即用户发起的线下索要凭证请求所对应的当前所需凭证,然后,每个认证节点在获取到区块链系统返回的当前所需凭证之后,将该当前所需凭证发送给用户端,以便后续用户端根据该当前所需凭证进行联合凭证的计算。
S106,通过用户端将每个认证节点地址的当前所需凭证进行相加以获得第一联合凭证,并通过区块链系统中的任意一个节点上传第一联合凭证。
也就是说,用户端在接收到各个认证节点地址发送的当前所需凭证之后,将各个认证节点地址发送的当前所需凭证进行相加以获得第一联合凭证,并将该第一联合凭证发送给区块链系统中的任意一个节点,以便该任意一个节点将该第一联合凭证上传至区块链系统。
S107,根据联合认证函数的入口地址查询系统联合认证函数表以获得第二联合凭证,并根据第二联合凭证对第一联合凭证进行验证,以在验证通过时执行联合认证任务。
也就是说,区块链系统在通过任意一个节点获取到用户上传的第一联合凭证之后,根据该第一联合凭证对应的联合认证函数的入口地址查询系统联合认证函数表以获得第二联合凭证,并判断该第二联合凭证与第一联合凭证是否一致,以及在判断结果为是时确定联合验证通过,并对联合认证任务进行执行。
综上所述,根据本发明实施例的区块链任务共同认证方法,首先,通过区块链系统中的任意一个节点接收用户端的调用命令,其中,用户端的调用命令用于调用联合认证任务对应的联合认证函数;接着,根据联合认证函数的入口地址查询区块链系统中存储的系统联合认证函数表,以获得联合认证任务所需的认证节点地址数量n,其中,系统联合认证函数表包括联合认证函数的入口地址、联合认证函数的入口地址对应的n个认证节点地址,n为正整数;然后,根据认证节点地址数量n生成n个随机数以作为每个认证节点地址的所需凭证,并将n个随机数之和作为联合认证函数的入口地址对应的联合凭证,以及将每个认证节点地址的所需凭证和联合认证函数的入口地址对应的联合凭证载入系统联合认证函数表;接着,通过每个认证节点接收用户端发送的线下索要凭证请求,并根据线下索要凭证请求向区块链系统发送所需凭证获取请求,其中,线下索要凭证请求包括联合认证函数的入口地址;然后,根据每个认证节点的公钥对所需凭证获取请求进行解析以获得每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址,并根据每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址通过查询系统联合认证函数表,以获得每个认证节点地址的当前所需凭证,以及通过相应的认证节点将每个认证节点地址的当前所需凭证发送给用户端;接着,通过用户端将每个认证节点地址的当前所需凭证进行相加以获得第一联合凭证,并通过区块链系统中的任意一个节点上传第一联合凭证;然后,根据联合认证函数的入口地址查询系统联合认证函数表以获得第二联合凭证,并根据第二联合凭证对第一联合凭证进行验证,以在验证通过时执行联合认证任务;从而实现无需认证用户对需要多用户共同认证的任务进行多重签名,即可完成多认证用户对任务的共同认证,防止认证用户的秘钥被他人窥视,保障用户的财产安全。
在一些实施例中,如图2所示,本发明实施例的联合认证任务的实现方法包括以下步骤:
S201,在编写联合认证任务的代码时,将联合认证任务的代码与联合认证任务对应的认证节点地址和联合认证标识符一起打包成任务代码包,并通过区块链系统中的任意一个节点上传任务代码包。
也就是说,用户在使用智能合约可用语言编写需联合认证任务的具体代码之后,将联合认证任务的代码与联合认证任务对应的认证节点地址以及联合认证标识符一起打包为任务代码包,并将任务代码包上传至区块链系统。
S202,对任务代码包进行解析后将联合认证任务的代码进行存储,以等待用户端调用根据任务代码包中的联合认证标识符判断代码对应的函数需要联合认证才可调用时,将代码对应的联合认证函数的入口地址和每个认证节点地址共同写入系统联合认证函数表。
也就是说,区块链系统在接收到任务代码包之后,对任务代码包进行解析,并将解析之后的联合认证任务的代码进行存储;同时,系统根据任务代码包中的联合认证标识符判断代码对应的函数需要联合认证才可调用;并将代码对应的联合认证函数的入口地址和每个认证节点地址共同写入系统联合认证函数表。
为了实现上述实施例,本发明实施例提出了一种计算机可读存储介质,其上存储有区块链任务共同认证程序,该区块链任务共同认证程序被处理器执行时实现上述的区块链任务共同认证方法。
如图3所示,为了实现上述实施例,本发明实施例提出了一种区块链任务共同认证装置,包括:第一接收模块10、查询模块20、载入模块30、第二接收模块40、获取模块50、上传模块60和认证模块70。
其中,第一接收模块10,用于通过区块链系统中的任意一个节点接收用户端的调用命令,其中,用户端的调用命令用于调用联合认证任务对应的联合认证函数。
查询模块20,用于根据联合认证函数的入口地址查询区块链系统中存储的系统联合认证函数表,以获得联合认证任务所需的认证节点地址数量n,其中,系统联合认证函数表包括联合认证函数的入口地址、联合认证函数的入口地址对应的n个认证节点地址,n为正整数。
载入模块30,用于根据认证节点地址数量n生成n个随机数以作为每个认证节点地址的所需凭证,并将n个随机数之和作为联合认证函数的入口地址对应的联合凭证,以及将每个认证节点地址的所需凭证和联合认证函数的入口地址对应的联合凭证载入系统联合认证函数表。
第二接收模块40,用于通过每个认证节点接收用户端发送的线下索要凭证请求,并根据线下索要凭证请求向区块链系统发送所需凭证获取请求,其中,线下索要凭证请求包括联合认证函数的入口地址。
获取模块50,用于根据每个认证节点的公钥对所需凭证获取请求进行解析以获得每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址,并根据每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址通过查询系统联合认证函数表,以获得每个认证节点地址的当前所需凭证,以及通过相应的认证节点将每个认证节点地址的当前所需凭证发送给用户端。
上传模块60,用于通过用户端将每个认证节点地址的当前所需凭证进行相加以获得第一联合凭证,并通过区块链系统中的任意一个节点上传第一联合凭证。
认证模块70,用于根据联合认证函数的入口地址查询系统联合认证函数表以获得第二联合凭证,并根据第二联合凭证对第一联合凭证进行验证,以在验证通过时执行联合认证任务。
综上所述,根据本发明实施例的区块链任务共同认证装置,第一接收模块,用于通过区块链系统中的任意一个节点接收用户端的调用命令,其中,用户端的调用命令用于调用联合认证任务对应的联合认证函数;查询模块,用于根据联合认证函数的入口地址查询区块链系统中存储的系统联合认证函数表,以获得联合认证任务所需的认证节点地址数量n,其中,系统联合认证函数表包括联合认证函数的入口地址、联合认证函数的入口地址对应的n个认证节点地址,n为正整数;载入模块,用于根据认证节点地址数量n生成n个随机数以作为每个认证节点地址的所需凭证,并将n个随机数之和作为联合认证函数的入口地址对应的联合凭证,以及将每个认证节点地址的所需凭证和联合认证函数的入口地址对应的联合凭证载入系统联合认证函数表;第二接收模块,用于通过每个认证节点接收用户端发送的线下索要凭证请求,并根据线下索要凭证请求向区块链系统发送所需凭证获取请求,其中,线下索要凭证请求包括联合认证函数的入口地址;获取模块,用于根据每个认证节点的公钥对所需凭证获取请求进行解析以获得每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址,并根据每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址通过查询系统联合认证函数表,以获得每个认证节点地址的当前所需凭证,以及通过相应的认证节点将每个认证节点地址的当前所需凭证发送给用户端;上传模块,用于通过用户端将每个认证节点地址的当前所需凭证进行相加以获得第一联合凭证,并通过区块链系统中的任意一个节点上传第一联合凭证;认证模块,用于根据联合认证函数的入口地址查询系统联合认证函数表以获得第二联合凭证,并根据第二联合凭证对第一联合凭证进行验证,以在验证通过时执行联合认证任务;从而实现无需认证用户对需要多用户共同认证的任务进行多重签名,即可完成多认证用户对任务的共同认证,防止认证用户的秘钥被他人窥视,保障用户的财产安全。
在一些实施例中,本发明实施例提出的区块链任务共同认证装置中,联合认证任务通过智能合约所用的语言进行编写。
在一些实施例中,本发明实施例提出的区块链任务共同认证装置中,上传模块60还用于,在通过用户端编写联合认证任务的代码时,将联合认证任务的代码与联合认证任务对应的认证节点地址和联合认证标识符一起打包成任务代码包,并通过区块链系统中的任意一个节点上传任务代码包。
在一些实施例中,本发明实施例提出的区块链任务共同认证装置中,载入模块30还用于,对任务代码包进行解析后将联合认证任务的代码进行存储,以等待用户端调用,并根据任务代码包中的联合认证标识符判断代码对应的函数需要联合认证才可调用时,将代码对应的联合认证函数的入口地址和每个认证节点地址共同写入系统联合认证函数表。
为了实现上述实施例,本发明实施例还提出了一种区块链系统,包括上述的区块链任务共同认证装置。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征 “上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种区块链任务共同认证方法,其特征在于,包括以下步骤:
通过区块链系统中的任意一个节点接收用户端的调用命令,其中,所述用户端的调用命令用于调用联合认证任务对应的联合认证函数;
根据所述联合认证函数的入口地址查询所述区块链系统中存储的系统联合认证函数表,以获得所述联合认证任务所需的认证节点地址数量n,其中,所述系统联合认证函数表包括所述联合认证函数的入口地址、所述联合认证函数的入口地址对应的n个认证节点地址,n为正整数;
根据所述认证节点地址数量n生成n个随机数以作为每个认证节点地址的所需凭证,并将n个随机数之和作为所述联合认证函数的入口地址对应的联合凭证,以及将每个认证节点地址的所需凭证和所述联合认证函数的入口地址对应的联合凭证载入所述系统联合认证函数表;
通过每个认证节点接收所述用户端发送的线下索要凭证请求,并根据所述线下索要凭证请求向区块链系统发送所需凭证获取请求,其中,所述线下索要凭证请求包括联合认证函数的入口地址;
根据每个认证节点的公钥对所述所需凭证获取请求进行解析以获得每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址,并根据每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址通过查询所述系统联合认证函数表,以获得每个认证节点地址的当前所需凭证,以及通过相应的认证节点将每个认证节点地址的当前所需凭证发送给所述用户端;
通过所述用户端将每个认证节点地址的当前所需凭证进行相加以获得第一联合凭证,并通过所述区块链系统中的任意一个节点上传所述第一联合凭证;
根据所述联合认证函数的入口地址查询所述系统联合认证函数表以获得第二联合凭证,并根据所述第二联合凭证对所述第一联合凭证进行验证,以在验证通过时执行所述联合认证任务。
2.如权利要求1所述的区块链任务共同认证方法,其特征在于,所述联合认证任务的代码通过智能合约所用的语言进行编写。
3.如权利要求2所述的区块链任务共同认证方法,其特征在于,在编写所述联合认证任务的代码时,将所述联合认证任务的代码与所述联合认证任务对应的认证节点地址和联合认证标识符一起打包成任务代码包,并通过所述区块链系统中的任意一个节点上传所述任务代码包。
4.如权利要求3所述的区块链任务共同认证方法,其特征在于,还包括:
对所述任务代码包进行解析后将所述联合认证任务的代码进行存储,以等待所述用户端调用,并根据所述任务代码包中的联合认证标识符判断所述代码对应的函数需要联合认证才可调用时,将所述代码对应的联合认证函数的入口地址和每个认证节点地址共同写入所述系统联合认证函数表。
5.一种计算机可读存储介质,其特征在于,其上存储有区块链任务共同认证程序,该区块链任务共同认证程序被处理器执行时实现如权利要求1-4中任一项所述的区块链任务共同认证方法。
6.一种区块链任务共同认证装置,其特征在于,包括:
第一接收模块,用于通过区块链系统中的任意一个节点接收用户端的调用命令,其中,所述用户端的调用命令用于调用联合认证任务对应的联合认证函数;
查询模块,用于根据所述联合认证函数的入口地址查询所述区块链系统中存储的系统联合认证函数表,以获得所述联合认证任务所需的认证节点地址数量n,其中,所述系统联合认证函数表包括所述联合认证函数的入口地址、所述联合认证函数的入口地址对应的n个认证节点地址,n为正整数;
载入模块,用于根据所述认证节点地址数量n生成n个随机数以作为每个认证节点地址的所需凭证,并将n个随机数之和作为所述联合认证函数的入口地址对应的联合凭证,以及将每个认证节点地址的所需凭证和所述联合认证函数的入口地址对应的联合凭证载入所述系统联合认证函数表;
第二接收模块,用于通过每个认证节点接收所述用户端发送的线下索要凭证请求,并根据所述线下索要凭证请求向区块链系统发送所需凭证获取请求,其中,所述线下索要凭证请求包括联合认证函数的入口地址;
获取模块,用于根据每个认证节点的公钥对所述所需凭证获取请求进行解析以获得每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址,并根据每个认证节点对应的联合认证函数的入口地址和对应的认证节点地址通过查询所述系统联合认证函数表,以获得每个认证节点地址的当前所需凭证,以及通过相应的认证节点将每个认证节点地址的当前所需凭证发送给所述用户端;
上传模块,用于通过所述用户端将每个认证节点地址的当前所需凭证进行相加以获得第一联合凭证,并通过所述区块链系统中的任意一个节点上传所述第一联合凭证;
认证模块,用于根据所述联合认证函数的入口地址查询所述系统联合认证函数表以获得第二联合凭证,并根据所述第二联合凭证对所述第一联合凭证进行验证,以在验证通过时执行所述联合认证任务。
7.如权利要求6所述的区块链任务共同认证装置,其特征在于,所述联合认证任务的代码通过智能合约所用的语言进行编写。
8.如权利要求7所述的区块链任务共同认证装置,其特征在于,所述上传模块还用于,在通过所述用户端编写所述联合认证任务的代码时,将所述联合认证任务的代码与所述联合认证任务对应的认证节点地址和联合认证标识符一起打包成任务代码包,并通过所述区块链系统中的任意一个节点上传所述任务代码包。
9.如权利要求8所述的区块链任务共同认证装置,其特征在于,所述载入模块还用于,对所述任务代码包进行解析后将所述联合认证任务的代码进行存储,以等待所述用户端调用,并根据所述任务代码包中的联合认证标识符判断所述代码对应的函数需要联合认证才可调用时,将所述代码对应的联合认证函数的入口地址和每个认证节点地址共同写入所述系统联合认证函数表。
10.一种区块链系统,其特征在于,包括如权利要求6-9中任一项所述的区块链任务共同认证装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810968533.7A CN109361645B (zh) | 2018-08-23 | 2018-08-23 | 区块链任务共同认证方法、介质、装置及区块链系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810968533.7A CN109361645B (zh) | 2018-08-23 | 2018-08-23 | 区块链任务共同认证方法、介质、装置及区块链系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109361645A CN109361645A (zh) | 2019-02-19 |
CN109361645B true CN109361645B (zh) | 2021-03-23 |
Family
ID=65349878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810968533.7A Active CN109361645B (zh) | 2018-08-23 | 2018-08-23 | 区块链任务共同认证方法、介质、装置及区块链系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109361645B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113079508B (zh) * | 2021-04-06 | 2022-08-26 | 中国工商银行股份有限公司 | 基于区块链网络的数据传输方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064606A (zh) * | 2006-04-29 | 2007-10-31 | 华为技术有限公司 | 一种用于鉴权的系统、装置及方法 |
CN101547099A (zh) * | 2009-05-07 | 2009-09-30 | 张键红 | 基于椭圆曲线的自认证签名方法与装置 |
CN103795529A (zh) * | 2014-02-26 | 2014-05-14 | 东南大学 | 基于密钥向量的无线传感器网络数据安全融合方法 |
CN106797389A (zh) * | 2016-11-18 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 区块链网络、物品交易方法、装置及节点设备 |
CN107169765A (zh) * | 2017-05-11 | 2017-09-15 | 电子科技大学 | 一种基于业务信任度对区块链共识进行动态调整的方法 |
KR101796690B1 (ko) * | 2016-06-28 | 2017-11-10 | 상명대학교 천안산학협력단 | 블록체인 기반의 펌웨어 무결성 검증 시스템 및 그 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10129238B2 (en) * | 2016-02-10 | 2018-11-13 | Bank Of America Corporation | System for control of secure access and communication with different process data networks with separate security features |
-
2018
- 2018-08-23 CN CN201810968533.7A patent/CN109361645B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064606A (zh) * | 2006-04-29 | 2007-10-31 | 华为技术有限公司 | 一种用于鉴权的系统、装置及方法 |
CN101547099A (zh) * | 2009-05-07 | 2009-09-30 | 张键红 | 基于椭圆曲线的自认证签名方法与装置 |
CN103795529A (zh) * | 2014-02-26 | 2014-05-14 | 东南大学 | 基于密钥向量的无线传感器网络数据安全融合方法 |
KR101796690B1 (ko) * | 2016-06-28 | 2017-11-10 | 상명대학교 천안산학협력단 | 블록체인 기반의 펌웨어 무결성 검증 시스템 및 그 방법 |
CN106797389A (zh) * | 2016-11-18 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 区块链网络、物品交易方法、装置及节点设备 |
CN107169765A (zh) * | 2017-05-11 | 2017-09-15 | 电子科技大学 | 一种基于业务信任度对区块链共识进行动态调整的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109361645A (zh) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111898153B (zh) | 调用合约的方法及装置 | |
EP3905078A1 (en) | Identity verification method and system therefor | |
CN106453415B (zh) | 基于区块链的设备认证方法、认证服务器及用户设备 | |
CN108768970B (zh) | 一种智能设备的绑定方法、身份认证平台及存储介质 | |
JP6703539B2 (ja) | 装置検証方法及び機器 | |
CN106790156B (zh) | 一种智能设备绑定方法及装置 | |
JP2020527305A5 (zh) | ||
CN111401904B (zh) | 联盟链中的共识方法和系统 | |
KR20110064697A (ko) | 정보 업데이트 방법 및 그 장치 | |
CN110011930B (zh) | 一种区块链中多联盟链的负载均衡方法及装置 | |
CN108985409B (zh) | 身份证信息读取方法、装置及电子设备 | |
CN108880821A (zh) | 一种数字证书的认证方法及设备 | |
CN109902495B (zh) | 一种数据融合方法和装置 | |
CN109981650B (zh) | 区块链中通证的转移方法及系统 | |
CN104836777B (zh) | 身份验证方法和系统 | |
CN110753044A (zh) | 一种身份认证方法、系统、电子设备及存储介质 | |
CN113312597A (zh) | 数字身份验证方法、装置、系统、设备和存储介质 | |
CN107566329A (zh) | 一种访问控制方法及装置 | |
CN109145651A (zh) | 一种数据处理方法及装置 | |
CN109361645B (zh) | 区块链任务共同认证方法、介质、装置及区块链系统 | |
CN103139136B (zh) | 一种密码的管理方法和设备 | |
CN113065120B (zh) | 接口调用鉴权方法、装置、电子设备及可读存储介质 | |
CN107172057A (zh) | 鉴权实现方法和装置 | |
CN112115442B (zh) | 电力终端数字身份管理方法及系统 | |
CN110659463B (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 | ||
CP03 | Change of name, title or address |
Address after: 361000 B1F-065, Zone A, Huaxun Building, Software Park, Xiamen Torch Hi-tech Zone, Huli District, Xiamen City, Fujian Province Patentee after: Ke'an (Xiamen) Technology Co.,Ltd. Address before: B1f-065, zone a, Huaxun building, software park, torch hi tech Zone, Xiamen City, Fujian Province, 361000 Patentee before: TAILIAN (XIAMEN) TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |