CN110493008B - 一种区块链认证方法、装置、设备及介质 - Google Patents
一种区块链认证方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110493008B CN110493008B CN201910888448.4A CN201910888448A CN110493008B CN 110493008 B CN110493008 B CN 110493008B CN 201910888448 A CN201910888448 A CN 201910888448A CN 110493008 B CN110493008 B CN 110493008B
- Authority
- CN
- China
- Prior art keywords
- node
- key
- block chain
- information
- digital certificate
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提供一种区块链认证方法,包括:区块链网络获取第一节点发起的第一交易请求,第一交易请求包括第一密钥;区块链网络在预存的对照表中查找与第一密钥对应的第一数字证书,对照表中包括密钥与数字证书的对应关系;当区块链网络成功查找到第一数字证书时,批准第一交易请求所请求的交易。本申请还提供一种装置、设备及介质,通过设置对照表的方式建立密钥和数字证书的对应关系,从而使得每次交易的过程中,交易请求只需要提供密钥即可证明交易的合法性,由于密钥所占用的内存要远远小于数字证书,仅提供密钥而不需要提供数字证书的认证方式,大大减少了交易过程中对内存的消耗,从而提高了区块链网络的交易效率。
Description
技术领域
本发明涉及计算机技术领域,更具体地说,涉及一种区块链认证方法、装置、设备及介质。
背景技术
区块链(Block chain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
在有准入限制的区块链里,例如联盟链中,一般通过数字证书来标识用户身份。在一次交易的过程中,交易流程为:用户发起交易请求,该笔交易请求中包括交易信息、签名信息和数字证书信息,之后由区块链网络来验证数字证书信息,在数字证书信息合法的情况下执行后续操作,由于区块链的存储是一个个区块追加的过程,所以随着交易变多,数字证书占用区块链的存储空间越来越大,极大地占用了区块链网络的存储负担。
因此,现有技术中的上述问题还有待于解决。
发明内容
有鉴于此,为解决上述问题,本发明提供的技术方案如下:
一种区块链认证方法,包括:
区块链网络获取第一节点发起的第一交易请求,所述第一交易请求包括第一密钥,所述第一节点为所述区块链网络中的一个节点;
所述区块链网络在预存的对照表中查找与所述第一密钥对应的第一数字证书,所述对照表中包括密钥与数字证书的对应关系;
当所述区块链网络成功查找到所述第一数字证书时,批准所述第一交易请求所请求的交易。
一种区块链认证装置,包括:
获取单元,所述获取单元用于获取第一节点发起的第一交易请求,所述第一交易请求包括第一密钥,所述第一节点为所述区块链网络中的一个节点;
查找单元,所述查找单元用于在预存的对照表中查找与所述获取单元获取的所述第一密钥对应的第一数字证书,所述对照表中包括密钥与数字证书的对应关系;
执行单元,所述执行单元用于,当所述查找单元成功查找到所述第一数字证书时,批准所述第一交易请求所请求的交易。
可选地,所述装置还包括创建单元,所述创建单元用于:
获取所述区块链网络中各个节点的证书信息;
为获取到的所述证书信息分配对应的密钥,得到所述对照表。
可选地,所述对照表为哈希表,则所述创建单元,还用于:
将所述各个节点的证书信息分别通过哈希算法转化为密钥信息key;
为获取到的所述证书信息分配对应的密钥,得到所述对照表,包括:
将所述各个节点的证书信息分别存储为值value;
根据所述key与所述value的对应关系,创建所述哈希表,所述哈希表中,所述第一数字证书通过哈希算法转化的第一key值,与所述第一数字证书转化的第一value值对应。
可选地,所述对照表存储在所述区块链网络的公链中,则所述获取单元还用于:从所述公链中获取所述对照表。
可选地,所述对照表存储在所述区块链网络的第二节点中,所述第二节点为所述区块链网络的任意一个节点,则所述获取单元还用于:
所述区块链网络中的所有节点通过共识算法获取存储在所述第二节点中的所述对照表。
可选地,所述对照表为存储在所述区块链网络的第三节点的本地存储中的本地对照表,所述第三节点为所述区块链网络的任意一个节点,则所述获取单元还用于:
通过共识算法获取区块链网络中为对照表进行信息更新后的更新对照表;
判断所述更新对照表中是否存在所述本地对照表中未记录的更新信息;
若存在,将所述更新信息加入所述本地对照表中。
可选地,所述第一交易请求还包括第一交易信息和第一签名信息;所述执行单元还用于:
比对所述第一签名信息是否与预存的签名信息相符;
当成功查找到所述第一数字证书,且所述第一签名信息与预存的签名信息相符时,执行所述第一交易信息所请求的交易。
一种计算机存储介质,包括指令,当该指令在计算机设备上运行时,使得该计算机设备执行上述任意一项所述的方法。
一种计算机可读存储介质,包括指令,当所述指令在计算机设备上运行时,使得所述计算机设备执行上述任意一项所述的方法。
本申请提供的区块链认证方法,包括:区块链网络获取第一节点发起的第一交易请求,第一交易请求包括第一密钥,第一节点为区块链网络中的一个节点;区块链网络在预存的对照表中查找与第一密钥对应的第一数字证书,对照表中包括密钥与数字证书的对应关系;当区块链网络成功查找到第一数字证书时,批准第一交易请求所请求的交易。本申请还提供一种装置、设备及介质,通过设置对照表的方式建立密钥和数字证书的对应关系,从而使得每次交易的过程中,交易请求只需要提供密钥即可证明交易的合法性,由于密钥所占用的内存要远远小于数字证书,仅提供密钥而不需要提供数字证书的认证方式,大大减少了交易过程中对内存的消耗,从而提高了区块链网络的交易效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1A为本申请实施例所提供的区块链认证方法所基于的区块链系统的示意图;
图1B为本申请实施例所提供的区块链认证方法的一个实施例的流程图;
图2为本申请实施例所提供的区块链认证方法的另一个实施例的流程图;
图3为本申请实施例所提供的区块链认证方法的另一个实施例的流程图;
图4为本申请实施例所提供的区块链认证方法的另一个实施例的示意图;
图5为本申请实施例所提供的区块链认证方法的另一个实施例的示意图;
图6为本申请实施例所提供的区块链认证方法的另一个实施例的流程图;
图7为本申请实施例所提供的计算机设备的示意图;
图8为本申请实施例所提供的一种区块链认证装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
需要说明的是,用户通过区块链中的节点来实现区块链网络的访问,本申请实施例中所述节点可以是用户通过用于上网的一个终端来实现的,具体可以是个人电脑(英文全称:Personal Computer,PC)、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、个人通信业务(英文全称:Personal Communication Service,PCS)电话、笔记本和手机等终端设备,也可以是具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们能够向用户提供语音和/或数据连通性的设备,以及与无线接入网交换语言和/或数据。
在有准入限制的区块链里,例如图1A所示的联盟链中,多个参与方组成的区块链系统组成了区块链网络,在这个区块链网络中的用户交易过程中,一般通过数字证书来标识用户身份。在一次交易的过程中,交易流程为:用户发起交易请求,该笔交易请求中包括交易信息、签名信息和数字证书信息,之后由区块链网络来验证数字证书信息,在数字证书信息合法的情况下执行后续操作,由于区块链的存储是一个个区块追加的过程,所以随着交易变多,数字证书占用区块链的存储空间越来越大,极大地占用了区块链网络的存储负担。
因此,针对上述问题,本申请实施例提供了一种区块链认证方法,可以应用于区块链的交易认证中,需要说明的是,本申请实施例所提供的区块链认证方法可以应用于各种有准入限制的区块链中,本申请实施例仅以联盟链作为例子以便于理解,以下对本申请实施例所提供的方法进行详细说明。
请参阅图1B,如图1B所示,本申请实施例所提供的区块链认证方法包括以下步骤。
101、区块链网络获取第一节点发起的第一交易请求。
本实施例中,该第一节点为区块链网络中的一个节点,该第一交易请求可以为第一节点向区块链网络中的另一个节点转账的交易请求,该第一交易请求包括第一密钥,该第一密钥可以为一个加密的ID,例如可以是通过哈希算法加密的ID,或者通过其他算法加密,对此本申请实施例并不进行限定。
进一步地,该第一交易请求中还可以包括第一交易信息和第一签名信息,其中,第一交易信息可以包括转账交易的转账金额及收款方,第一签名信息可以包括第一节点中用户的私钥。
102、区块链网络在预存的对照表中查找与第一密钥对应的第一数字证书。
本实施例中,该对照表中包括密钥与数字证书的对应关系,区块链网络根据第一交易请求中的第一密钥在对照表中查询对应的第一数字证书,从而能够判断该第一交易请求是否合法。
需要说明的是,上述对照表为步骤101之前,由区块链网络预生成的,请参阅图2,如图2所示,上述对照表的生成包括以下步骤。
201、区块链网络获取区块链网络中各个节点的证书信息。
本实施例中,根据使用的具体需要,区块链网络中的节点分别对应有各自的数字证书,例如可以是一个节点对应一个数字证书,或者是多个节点对应一个数字证书,该数字证书用于证明所对应节点的合法性,以使得该节点能够加入区块链网络进行合法交易,
202、区块链网络为获取到的证书信息分配对应的密钥,得到对照表。
本实施例中,为获取到的证书信息分配对应的密钥,从而用户在发起交易请求时只需要附带密钥,就能够在对照表中查询到对应的数字证书,从而证明其合法性,可选地,该对照表可以如表1所示。
密钥 | 数字证书 |
第一密钥 | 第一数字证书 |
第二密钥 | 第二数字证书 |
第三密钥 | 第三数字证书 |
表1
可选地,上述对照表可以通过哈希表的方式来实现,为便于理解,以下结合附图,对哈希表的具体工作方式做详细说明,请参阅图3,如图3所示,哈希表的生成方式具体包括以下步骤。
301、区块链网络获取区块链网络中各个节点的证书信息。
本实施例中,本步骤可参阅上述步骤201,此处不再赘述。
302、区块链网络将各个节点的证书信息分别通过哈希算法转化为密钥信息key。
本实施例中,该数字证书信息可以是x509证书信息,通过哈希算法,对证书信息进行加密运算,从而得到了一个密钥信息key:hash(x509),相对于x509证书信息而言,转化为哈希值的hash(x509)所占用的内存更小,从而在后续交易过程中占用更少的内存空间。
303、区块链网络将各个节点的证书信息分别存储为值value。
本实施例中,以x509证书信息为例,将x509作为value存入到系统区块链中,从而只需要执行一次存储工作,在交易认证的过程中,只需要比对调用即可,不需要再次存储新的证书,从而节省了存储空间。
304、区块链网络根据key与value的对应关系,创建哈希表。
本实施例中,所得到的哈希表中,key与value之间具有对应关系,即同一个证书转化成的key值与该证书转化成的value值对应,例如:第一数字证书通过哈希算法转化的第一key值,同时,第一数字证书通过哈希算法转化的第一value值,则该第一key值与该第一value值对应。
对于x509证书信息,最终得到的哈希表如图4所示,通过hash(x509)即可查询到对应的证书信息:value:x509。进一步地,如图5所示,对于执行本方法之前的原始存储,一个交易请求中包括交易数据、交易信息、签名和用于验证的x509证书信息,经过上述301至304的步骤后,将该原始存储转化为哈希存储,具体包括交易数据、交易信息、签名和用于验证的hash(x509),由于hash(x509)所占用的内存远远小于x509证书信息本身,因此在每次交易的验证过程中能够大大地节省区块链网络的内存。
基于上述步骤201至202或步骤301至304所述的方法得到的对照表,区块链系统可以根据第一节点在第一交易请求中上传的第一密钥,来验证第一交易请求的合法性,若根据第一密钥,无法在对照表中查找到对应的数字证书,则说明当前第一交易请求为非法请求,不允许入网,反之,说明第一交易请求为合法请求,需执行,则进行下述步骤103。
103、当区块链网络成功查找到第一数字证书时,批准第一交易请求所请求的交易。
本实施例中,查询第一数字证书的方式可以是在如上述表1所示的对照表中通过,密钥查询对应的数字证书,也可以是在如图4所示的哈希表中,通过哈希值(密钥的具体实施方式)查找到对应的value值,即第一数字证书信息的一种实现方式。
上述步骤101至103中,通过对区块链网络的底层存储进行改造,通过设置对照表的方式建立密钥和数字证书的对应关系,从而使得每次交易的过程中,交易请求只需要提供密钥即可证明交易的合法性,由于密钥所占用的内存要远远小于数字证书,仅提供密钥而不需要提供数字证书的认证方式,大大减少了交易过程中对内存的消耗,从而提高了区块链网络的交易效率。
需要说明的是,上述工作过程中,为了保障认证过程中的信息安全,对照表是重要的信息,若对照表被篡改,将会直接影响认证的安全,因此,需要将对照表妥善地储存,以防止被篡改的风险。可选地,本申请提供了三种对照表的存储方法,分别为1、将对照表存储在区块链公链中;2、将对照表存储在节点中;3、将对照表存储在节点的本地存储中。为便于理解,以下对次三种情况做详细说明。
1、将对照表存储在区块链公链中。
本实施例中,将对照表存储在区块链公链中,从而区块链网络中的所有节点都能够直接地从公链中获取到对照表以执行本申请实施例所提供的上述区块链认证步骤,具体地,每次区块链网络在预存的对照表中查找与密钥对应的数字证书之前,区块链网络只需要执行从公链中获取对照表的步骤即可。
将对照表存储在公链的好处是方便各个节点获取,同时安全性也能够得到保障,唯一的缺点在于需要搭建额外的公链来实现对照表的存储,成本相对较高。
2、将对照表存储在节点中。
本实施例中,将对照表存储在区块链网络的任意一个节点中,之后通过共识算法,在各个节点上存储对照表的备份,从而使得区块链网络中的每个节点上都存储有一份对照表,由于共识算法本身就能够识别被篡改的坏节点,因此,通过共识算法在节点之间存储对照表的方式,能够有效地防止对照表被篡改,相对于存储在公链上的方式,本方式不需要构建额外的设备,通过现有的节点网络即可实现,从而降低了成本,同时保障了对照表的安全性。
3、将对照表存储在节点的本地存储中。
本实施例中,将对照表存储在节点的本次存储中,例如,节点为一台智能手机,则对照表存储在智能手机的内存中,在具体工作时,通过共识算法,节点获取更新对照表,并比对更新对照表相对于本地对照表是否有更新的信息,若有,则将更新的信息加入本地对照表中,以完成对照表的更新,请参阅图6,如图6所示,具体包括以下步骤。
601、第三节点通过共识算法获取区块链网络中为对照表进行信息更新后的更新对照表。
本实施例中,第三节点可以为区块链网络中的任意一个节点,在工作过程中,每间隔预置的时间段,第三节点通过共识算法,接收更新后的更新对照表,该更新对照表是区块链网络中的任意一个其他节点发起的。
602、第三节点判断更新对照表中是否存在本地对照表中未记录的更新信息。
本实施例中,第三节点将更新对照表与本地对照表进行比对,从而查看更新对照表中是否更新了本地对照表中所没有记录的更新信息,该更新信息可以为新增的密钥与数字证书之间的对照关系。
603、所述第三节点将更新信息加入本地对照表中。
本实施例中,若通过比对发现更新对照表相对本地对照表有更新信息,则将该更新信息加入到本地对照表中。从而实现本地对照表内容的更新。
上述步骤601至603中,通过将对照表存储在节点本地,从而减少了区块链网络的存储压力,只需要通过共识算法定时更新本地对照表,即可实现对照表的更新,同时,由于更新过程同样涉及共识算法,使得对照表的安全性得到保证,不易被篡改。
上述对本申请实施例提供的方案进行了介绍。可以理解的是,计算机设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
从硬件结构上来描述,上述方法可以由一个实体设备实现,也可以由多个实体设备共同实现,还可以是一个实体设备内的一个逻辑功能模块,本申请实施例对此不作具体限定。
例如,上述方法均可以通过图7中的计算机设备来实现。图7为本申请实施例提供的计算机设备的硬件结构示意图。该计算机设备包括至少一个处理器701,通信线路702,存储器703以及至少一个通信接口704。
处理器701可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,服务器IC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路702可包括一通路,在上述组件之间传送信息。
通信接口704,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器703可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyer服务器able programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路702与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器703用于存储执行本申请方案的计算机执行指令,并由处理器701来控制执行。处理器701用于执行存储器703中存储的计算机执行指令,从而实现本申请上述实施例提供的方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器701可以包括一个或多个CPU,例如图7中的CPU0和CPU1。
在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,例如图7中的处理器701和处理器707。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,计算机设备还可以包括输出设备705和输入设备706。输出设备705和处理器701通信,可以以多种方式来显示信息。例如,输出设备705可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备706和处理器701通信,可以以多种方式接收用户的输入。例如,输入设备706可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的计算机设备可以是一个通用设备或者是一个专用设备。在具体实现中,计算机设备可以是台式机、便携式电脑、网络服务器、掌上电脑(personal digitalassistant,PDA)、移动手机、平板电脑、无线终端设备、嵌入式设备或有图7中类似结构的设备。本申请实施例不限定计算机设备的类型。
本申请实施例可以根据上述方法示例对存储设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
比如,以采用集成的方式划分各个功能单元的情况下,图8示出了一种区块链认证装置的示意图。
如图8所示,本申请实施例提供的区块链认证装置,包括:
获取单元801,所述获取单元801用于获取第一节点发起的第一交易请求,所述第一交易请求包括第一密钥,所述第一节点为所述区块链网络中的一个节点;
查找单元802,所述查找单元802用于在预存的对照表中查找与所述获取单元801获取的所述第一密钥对应的第一数字证书,所述对照表中包括密钥与数字证书的对应关系;
执行单元803,所述执行单元803用于,当所述查找单元802成功查找到所述第一数字证书时,批准所述第一交易请求所请求的交易。
可选地,所述装置还包括创建单元804,所述创建单元804用于:
获取所述区块链网络中各个节点的证书信息;
为获取到的所述证书信息分配对应的密钥,得到所述对照表。
可选地,所述对照表为哈希表,则所述创建单元804,还用于:
将所述各个节点的证书信息分别通过哈希算法转化为密钥信息key;
为获取到的所述证书信息分配对应的密钥,得到所述对照表,包括:
将所述各个节点的证书信息分别存储为值value;
根据所述key与所述value的对应关系,创建所述哈希表,所述哈希表中,所述第一数字证书通过哈希算法转化的第一key值,与所述第一数字证书转化的第一value值对应。
可选地,所述对照表存储在所述区块链网络的公链中,则所述获取单元801还用于:从所述公链中获取所述对照表。
可选地,所述对照表存储在所述区块链网络的第二节点中,所述第二节点为所述区块链网络的任意一个节点,则所述获取单元801还用于:
所述区块链网络中的所有节点通过共识算法获取存储在所述第二节点中的所述对照表。
可选地,所述对照表为存储在所述区块链网络的第三节点的本地存储中的本地对照表,所述第三节点为所述区块链网络的任意一个节点,则所述获取单元801还用于:
通过共识算法获取区块链网络中为对照表进行信息更新后的更新对照表;
判断所述更新对照表中是否存在所述本地对照表中未记录的更新信息;
若存在,将所述更新信息加入所述本地对照表中。
可选地,所述第一交易请求还包括第一交易信息和第一签名信息;所述执行单元803还用于:
比对所述第一签名信息是否与预存的签名信息相符;
当成功查找到所述第一数字证书,且所述第一签名信息与预存的签名信息相符时,执行所述第一交易信息所请求的交易。
进一步的,本发明实施例还提供一种计算机存储介质,包括指令,当该指令在计算机设备上运行时,使得该计算机设备执行上述方法。
有关本申请实施例提供的计算机存储介质中存储的程序的详细描述可参照上述实施例,在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种区块链认证方法,其特征在于,包括:
区块链网络获取所述区块链网络中各个节点的证书信息;
所述区块链网络将所述各个节点的证书信息分别通过哈希算法转化为密钥信息 key;
所述区块链网络为获取到的所述证书信息分配对应的密钥,得到对照表;
所述区块链网络获取第一节点发起的第一交易请求,所述第一交易请求包括第一密钥,所述第一节点为所述区块链网络中的一个节点;
所述区块链网络在所述对照表中查找与所述第一密钥对应的第一数字证书,所述对照表中包括密钥与数字证书的对应关系;
当所述区块链网络成功查找到所述第一数字证书时,批准所述第一交易请求所请求的交易。
2.根据权利要求 1 所述的方法,其特征在于,所述对照表为哈希表,所述区块链网络为获取到的所述证书信息分配对应的密钥,得到所述对照表,包括:
所述区块链网络将所述各个节点的证书信息分别存储为值 value;
所述区块链网络根据所述key与所述value 的对应关系,创建所述哈希表,所述哈希表中,所述第一数字证书通过哈希算法转化的第一 key 值,与所述第一数字证书转化的第一value 值对应。
3.根据权利要求 1 至 2 任一所述的方法,其特征在于,所述对照表存储在所述区块链网络的公链中,则所述区块链网络在预存的对照表中查找与所述第一密钥对应的第一数字证书之前,还包括:
所述区块链网络从所述公链中获取所述对照表。
4.根据权利要求 1 至 2 任一所述的方法,其特征在于,所述对照表存储在所述区块链网络的第二节点中,所述第二节点为所述区块链网络的任意一个节点,则所述区块链网络在预存的对照表中查找与所述第一密钥对应的第一数字证书之前,还包括:
所述区块链网络中的所有节点通过共识算法获取存储在所述第二节点中的所述对照表。
5.根据权利要求 1 至 2 任一所述的方法,其特征在于,所述对照表为存储所述区块链网络的第三节点的本地存储中的本地对照表,所述第三节点为所述区块链网络的任意一个节点,则所述区块链网络在预存的对照表中查找与所述第一密钥对应的第一数字证书之前,还包括:
所述第三节点通过共识算法获取区块链网络中为对照表进行信息更新后的更新对照表;
所述第三节点判断所述更新对照表中是否存在所述本地对照表中未记录的更新信息;
若存在,所述第三节点将所述更新信息加入所述本地对照表中。
6.根据权利要求 1 所述的方法,其特征在于,所述第一交易请求还包括第一交易信息和第一签名信息;所述方法还包括:
所述区块链网络比对所述第一签名信息是否与预存的签名信息相符;
当所述区块链网络成功查找到所述第一数字证书,且所述第一签名信息与预存的签名信息相符时,所述区块链网络执行所述第一交易信息所请求的交易。
7.一种区块链认证装置,其特征在于,包括:
创建单元,所述创建单元用于获取区块链网络中各个节点的证书信息;用于为获取到的所述证书信息分配对应的密钥,得到对照表;所述创建单元还用于将所述各个节点的证书信息分别通过哈希算法转化为密钥信息 key;
获取单元,所述获取单元用于获取第一节点发起的第一交易请求,所述第一交易请求包括第一密钥,所述第一节点为所述区块链网络中的一个节点;
查找单元,所述查找单元用于在所述对照表中查找与所述获取单元获取的所述第一密钥对应的第一数字证书,所述对照表中包括密钥与数字证书的对应关系;
执行单元,所述执行单元用于,当所述查找单元成功查找到所述第一数字证书时,批准所述第一交易请求所请求的交易。
8.一种计算机设备,其特征在于,所述计算机设备包括:交互装置、输入/输出(I/O)接口、处理器和存储器,所述存储器中存储有程序指令;
所述交互装置用于获取用户输入的操作指令;
所述处理器用于执行存储器中存储的程序指令,执行如权利要求 1-6 中任意一项所述的方法。
9.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机设备上运行时,使得所述计算机设备执行如权利要求 1-6 中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910888448.4A CN110493008B (zh) | 2019-09-19 | 2019-09-19 | 一种区块链认证方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910888448.4A CN110493008B (zh) | 2019-09-19 | 2019-09-19 | 一种区块链认证方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110493008A CN110493008A (zh) | 2019-11-22 |
CN110493008B true CN110493008B (zh) | 2021-09-21 |
Family
ID=68558735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910888448.4A Active CN110493008B (zh) | 2019-09-19 | 2019-09-19 | 一种区块链认证方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110493008B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111445250B (zh) * | 2020-04-16 | 2023-04-11 | 中国银行股份有限公司 | 一种区块链密钥测试方法及装置 |
CN112508578B (zh) * | 2021-02-04 | 2021-06-04 | 支付宝(杭州)信息技术有限公司 | 基于区块链的资源转移请求验证、发送方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420836A (zh) * | 2012-01-12 | 2012-04-18 | 中国电子科技集团公司第十五研究所 | 业务信息系统的登录方法以及登录管理系统 |
CN105491062B (zh) * | 2015-12-30 | 2019-07-02 | 北京神州绿盟信息安全科技股份有限公司 | 一种客户端软件保护方法、装置及客户端 |
CN105591753A (zh) * | 2016-01-13 | 2016-05-18 | 杭州复杂美科技有限公司 | 一种ca证书在区块链上的应用方法 |
DE102016206916B4 (de) * | 2016-04-22 | 2023-07-06 | Bundesdruckerei Gmbh | Elektronisches Verfahren zur kryptographisch gesicherten Überweisung eines Betrags einer Kryptowährung |
CN108255859A (zh) * | 2016-12-29 | 2018-07-06 | 航天信息股份有限公司 | 一种用于为海量数字证书建立索引的方法及系统 |
-
2019
- 2019-09-19 CN CN201910888448.4A patent/CN110493008B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110493008A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12045372B2 (en) | Securing access to confidential data using a blockchain ledger | |
CN110933163B (zh) | 区块链合约部署方法、装置、设备以及存储介质 | |
WO2019214311A1 (zh) | 一种基于区块链的信息监管方法及装置 | |
US11469891B2 (en) | Expendable cryptographic key access | |
KR101418799B1 (ko) | 모바일용 오티피 서비스 제공 시스템 | |
CN111080295A (zh) | 一种基于区块链的电子合同处理方法以及设备 | |
US9037849B2 (en) | System and method for managing network access based on a history of a certificate | |
US10936294B2 (en) | Blockchain-based software compliance system | |
KR102504361B1 (ko) | 보안 트랜잭션용 장치의 자가 인증 | |
EP3598333B1 (en) | Electronic device update management | |
CN112527912A (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
CN108055129B (zh) | 一种实现手机盾密钥统一管理的方法、设备及系统 | |
KR20220027809A (ko) | 가상 분산 원장 네트워크를 위한 시스템 및 방법 | |
CN111814172A (zh) | 一种数据授权信息的获取方法、装置及设备 | |
CN116941265A (zh) | 区块链网络身份管理使用ssi | |
JP2011215753A (ja) | 認証システムおよび認証方法 | |
CN111934870A (zh) | 区块链网络中的根证书更新方法、装置、设备以及介质 | |
CN110493008B (zh) | 一种区块链认证方法、装置、设备及介质 | |
CN111770112A (zh) | 一种信息共享方法、装置及设备 | |
WO2019175427A1 (en) | Method, device and medium for protecting work based on blockchain | |
EP4011031A1 (en) | Secure identity card using unclonable functions | |
CN102238135A (zh) | 安全认证服务器 | |
CN110598475A (zh) | 基于区块链的作品属性信息获取方法、装置和计算机设备 | |
KR20190114422A (ko) | 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버 | |
CN113011960A (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 |