CN109361645A - 区块链任务共同认证方法、介质、装置及区块链系统 - Google Patents

区块链任务共同认证方法、介质、装置及区块链系统 Download PDF

Info

Publication number
CN109361645A
CN109361645A CN201810968533.7A CN201810968533A CN109361645A CN 109361645 A CN109361645 A CN 109361645A CN 201810968533 A CN201810968533 A CN 201810968533A CN 109361645 A CN109361645 A CN 109361645A
Authority
CN
China
Prior art keywords
task
joint qualification
address
certification
function
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.)
Granted
Application number
CN201810968533.7A
Other languages
English (en)
Other versions
CN109361645B (zh
Inventor
吴胜文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ke'an (Xiamen) Technology Co.,Ltd.
Original Assignee
Thai Chain (xiamen) Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Thai Chain (xiamen) Technology Co Ltd filed Critical Thai Chain (xiamen) Technology Co Ltd
Priority to CN201810968533.7A priority Critical patent/CN109361645B/zh
Publication of CN109361645A publication Critical patent/CN109361645A/zh
Application granted granted Critical
Publication of CN109361645B publication Critical patent/CN109361645B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network 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)
  • Storage Device Security (AREA)
  • Computer And Data Communications (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中任一项所述的区块链任务共同认证装置。
CN201810968533.7A 2018-08-23 2018-08-23 区块链任务共同认证方法、介质、装置及区块链系统 Active CN109361645B (zh)

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 true CN109361645A (zh) 2019-02-19
CN109361645B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113079508A (zh) * 2021-04-06 2021-07-06 中国工商银行股份有限公司 基于区块链网络的数据传输方法、装置及设备

Citations (7)

* Cited by examiner, † Cited by third party
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 深圳前海达闼云端智能科技有限公司 区块链网络、物品交易方法、装置及节点设备
US20170230353A1 (en) * 2016-02-10 2017-08-10 Bank Of America Corporation System for control of secure access and communication with different process data networks with separate security features
CN107169765A (zh) * 2017-05-11 2017-09-15 电子科技大学 一种基于业务信任度对区块链共识进行动态调整的方法
KR101796690B1 (ko) * 2016-06-28 2017-11-10 상명대학교 천안산학협력단 블록체인 기반의 펌웨어 무결성 검증 시스템 및 그 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
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 东南大学 基于密钥向量的无线传感器网络数据安全融合方法
US20170230353A1 (en) * 2016-02-10 2017-08-10 Bank Of America Corporation System for control of secure access and communication with different process data networks with separate security features
KR101796690B1 (ko) * 2016-06-28 2017-11-10 상명대학교 천안산학협력단 블록체인 기반의 펌웨어 무결성 검증 시스템 및 그 방법
CN106797389A (zh) * 2016-11-18 2017-05-31 深圳前海达闼云端智能科技有限公司 区块链网络、物品交易方法、装置及节点设备
CN107169765A (zh) * 2017-05-11 2017-09-15 电子科技大学 一种基于业务信任度对区块链共识进行动态调整的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113079508A (zh) * 2021-04-06 2021-07-06 中国工商银行股份有限公司 基于区块链网络的数据传输方法、装置及设备
CN113079508B (zh) * 2021-04-06 2022-08-26 中国工商银行股份有限公司 基于区块链网络的数据传输方法、装置及设备

Also Published As

Publication number Publication date
CN109361645B (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
CN111131242B (zh) 一种权限控制方法、装置和系统
CN110958118B (zh) 证书认证管理方法、装置、设备及计算机可读存储介质
CN104065616B (zh) 单点登录方法和系统
CN108259438A (zh) 一种基于区块链技术的认证的方法和装置
CN107689870A (zh) 客户端鉴权方法和系统
CN103139181B (zh) 一种开放式认证的授权方法、装置和系统
CN103888252A (zh) 一种基于uid、pid、appid控制应用访问权限方法
CN105099707B (zh) 一种离线认证方法、服务器及系统
CN103560889B (zh) 一种x509数字证书与证书应用之间的精确化身份认证方法
CN110138562A (zh) 智能设备的证书签发方法、装置及系统
US7165176B2 (en) Access privilege authentication of client computer for services provided by server computer
CN103561006B (zh) 基于安卓系统的应用认证方法和装置及应用认证服务器
CN108932421A (zh) 一种身份认证方法及装置
CN110365483A (zh) 云平台认证方法、客户端、中间件及系统
CN106331003A (zh) 一种云桌面上应用门户系统的访问方法及装置
CN105207970B (zh) 基于公有云的认证方法、安全认证中间件及云计算资源池
CN109543365A (zh) 一种授权方法及装置
CN106127888A (zh) 智能锁操作方法和智能锁操作系统
CN107223328A (zh) 一种Root权限管控的方法及系统
CN111131318B (zh) 一种去中心化的密钥管理分发方法、系统及存储介质
CN109428893A (zh) 一种身份认证方法、装置及系统
CN107766717A (zh) 一种访问控制方法、装置及系统
CN109361645A (zh) 区块链任务共同认证方法、介质、装置及区块链系统
CN110034933A (zh) 跨系统用户互信认证方法及跨系统用户互信认证系统
CN106209751B (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
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.