CN109547200A - 区块链网络中的证书分配方法及相应的计算设备和介质 - Google Patents

区块链网络中的证书分配方法及相应的计算设备和介质 Download PDF

Info

Publication number
CN109547200A
CN109547200A CN201811387913.8A CN201811387913A CN109547200A CN 109547200 A CN109547200 A CN 109547200A CN 201811387913 A CN201811387913 A CN 201811387913A CN 109547200 A CN109547200 A CN 109547200A
Authority
CN
China
Prior art keywords
certificate
block chain
user
identity information
request
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.)
Pending
Application number
CN201811387913.8A
Other languages
English (en)
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.)
Shanghai Point Information Technology Co Ltd
Original Assignee
Shanghai Point Information 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 Shanghai Point Information Technology Co Ltd filed Critical Shanghai Point Information Technology Co Ltd
Priority to CN201811387913.8A priority Critical patent/CN109547200A/zh
Publication of CN109547200A publication Critical patent/CN109547200A/zh
Pending legal-status Critical Current

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
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • 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
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3263Cryptographic 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

Abstract

本发明的实施例公开了一种在区块链网络中的证书分配方法、证书验证方法以及相应的节点计算设备和存储介质。该证书分配方法包括:在区块链节点处接收证书分配请求,所述证书分配请求包括区块链用户的身份信息和证书签名申请;基于所述身份信息来判断是否接受所述证书分配请求;接受所述证书分配请求的情况下,基于所述证书签名申请生成所述区块链用户的证书;将所述证书发送至与所述区块链用户相关联的客户端设备;以及将所述证书存储在所述区块链网络的账本中。

Description

区块链网络中的证书分配方法及相应的计算设备和介质
技术领域
本发明的实施例总体上涉及区块链技术,并且更具体地涉及在区块链网络中的证书分配方法、证书验证方法以及相应的节点计算设备和存储介质。
背景技术
区块链(Blockchain)是用分布式数据库识别、传播和记载信息的智能化对等网络,也称为价值互联网。区块链具有去中心化、反篡改、数据一致性存储、过程透明可追踪等技术优势,其被认为在金融、征信、物联网、经济贸易结算、资产管理等众多领域都拥有广泛的应用前景。
面向企业的区块链一般都支持智能合约(Smart Contract)。智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,其能够表现为在区块链上准确运行的计算机程序。区块链用户通过使用智能合约进行事务、共享数据、建立信任,并由区块链技术的特性而保障数据的存储、读取以及执行整个过程透明可跟踪、不可篡改。另外,区块链自带的共识算法能够构建出一套状态机系统,使得智能合约能够高效地运行。
根据参与方的分类,区块链通常被分为公有链、联盟链和私有链三种类型。公有链对外开放,区块链用户不用注册就可以匿名加入,无需任何授权就可以访问区块链网络和区块数据,发起各种交易。联盟链限制了只有联盟中的成员才能参与,区块链上的操作权限根据联盟定制的相关规则来确定。私有链一般在私有组织内部使用,区块链上的操作权限根据私有组织的自行规定执行。联盟链和私有链都是需要授权许可的区块链,比较适合企业的区块链使用场景,对安全性、可靠性和性能的要求也比公有链高。
发明内容
针对现有技术中存在的技术问题以及其他潜在的技术问题,本发明的实施例提供了一种在区块链网络中的证书分配方法、证书验证方法以及相应的节点计算设备和存储介质。
在本发明的第一方面,提供了一种在区块链网络中的证书分配方法,括:在区块链节点处接收证书分配请求,所述证书分配请求包括区块链用户的身份信息和证书签名申请;基于所述身份信息来判断是否接受所述证书分配请求;在接受所述证书分配请求的情况下,基于所述证书签名申请生成所述区块链用户的证书;将所述证书发送至与所述区块链用户相关联的客户端设备;以及将所述证书存储在所述区块链网络的账本中。。
在本发明的第二方面,提供了一种在区块链网络中的证书验证方法,包括:在区块链节点处接收智能合约调用请求,所述智能合约调用请求包括区块链用户的身份信息和第一证书;基于所述身份信息来获取所述区块链网络的账本中存储的针对所述区块链用户的第二证书;将所述智能合约调用请求中包括的第一证书与所述账本中存储的针对所述区块链用户的第二证书进行比较;在所述第一证书与所述第二证书相同的情况下,授权所述区块链用户访问所述智能合约。
在本发明的第三方面,提供了一种在区块链网络中的用于证书分配的节点计算设备,包括:处理器;存储器,所述存储器耦合至所述处理器并且存储有指令,当所述指令执行时使得所述处理器执行以下动作:在所述节点计算设备处接收证书分配请求,所述证书分配请求包括区块链用户的身份信息和证书签名申请;基于所述身份信息来判断是否接受所述证书分配请求;在接受所述证书分配请求的情况下,基于所述证书签名申请生成所述区块链用户的证书;将所述证书发送至与所述区块链用户相关联的客户端设备;以及将所述证书存储在所述区块链网络的账本中。
在本发明的第四方面,提供了一种在区块链网络中的用于证书验证的节点计算设备,包括:处理器;存储器,所述存储器耦合至所述处理器并且存储有指令,当所述指令执行时使得所述处理器执行以下动作:在所述节点计算设备处接收智能合约调用请求,所述智能合约调用请求包括区块链用户的身份信息和第一证书;基于所述身份信息来获取所述区块链网络的账本中存储的针对所述区块链用户的第二证书;将所述智能合约调用请求中包括的第一证书与所述账本中存储的针对所述区块链用户的第二证书进行比较;在所述第一证书与所述第二证书相同的情况下,授权所述区块链用户调用所述智能合约。
在本发明的第五方面,提供了一种计算机可读存储介质,其具有存储在其上的计算机可执行指令,所述计算机可执行指令在设备中运行时使得所述设备执行根据本发明的第一方面和第二方面所述的方法。
经由本发明的第一方面所述的在区块链网络中的证书分配方法,使得可以实现对可用于调用区块链网络上的智能合约的证书的动态生成,提高证书分发的效率,进而使得区块链业务可被更大范围的用户访问。
附图说明
图1例示了BaaS平台系统100的架构的示意图。
图2例示了可用于实施本发明的示例实施例的区块链网络200的架构的示意图。
图3例示了智能合约的工作原理的示图。
图4例示了根据本发明的实施例的利用智能合约的方式来实现区块链网络中的证书分配的系统400的示意图。
图5例示了本发明的实施例的利用应用程序的方式来实现区块链网络中的证书分配的系统500的示意图。
图6例示了根据本发明的实施例的在区块链网络中的证书分配子方法600的流程图。
图7例示了根据本发明的实施例的在区块链网络中的证书注销子方法700的流程图。
图8例示了根据本发明的实施例的在区块链网络中的证书验证方法800的流程图。
图9例示了根据本发明的实施例的在区块链网络中的证书分配方法900的流程图。
图10例示了根据本发明的实施例的在区块链网络中的证书验证方法1000的流程图。
图11例示了根据本发明的实施例的在区块链网络中的用于证书分配和节点验证的节点计算设备1100的示意性框图。
具体实施方式
下面将参照附图更详细地描述本发明的各个示例性实施例。虽然附图中流程图和示意图显示了本发明的一些实施例,然而应当理解的,本发明可以通过各种形式来实现,而且不应被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于说明性作用,并非用于限制本发明的保护范围。
为了便于描述,下面对本发明中出现的一些术语进行说明,应当理解,本申请所使用的术语应解释为具有与其在本申请说明书的上下文以及有关领域中的意义一致的意义。本发明中的术语“包括”、“包含”及类似术语应当被理解为是开放性的术语,即“包括但不限于”,表示还可以包括其他内容。
在本发明的实施例中,术语“基于”是“至少部分地基于”。
在本发明的实施例中,术语“一个实施例”表示“至少一个实施例”。
在本发明的实施例中,术语“另一实施例”表示“至少一个另外的实施例”,等等。
在本发明的实施例中,术语“智能合约沙盒”是指智能合约的运行环境。该运行环境是完全隔离或部分隔离的。在该运行环境中的智能合约对外部不具有访问权限或仅具有受限的访问权限。在一些实施例中,智能合约沙盒是智能合约容器或虚拟机。
在本发明的实施例中,术语“智能合约运行引擎”是指位于智能合约沙盒之外的、用于运行智能合约沙盒内的智能合约的引擎程序。
在本发明的实施例中,术语“证书”是指在接收到调用区块链上的智能合约的请求时,用来对区块链用户进行认证的证书。
在本发明的实施例中,术语“自签名证书”是指由区块链用户自己生成(而非由权威颁发机构发布)的用于证明该区块链用户的身份的证书,该字签名证书主要基于区块链用户的公钥来生成的。
在本发明的实施例中,术语“证书撤销列表”是指存储在区块链的账本中的列出已经注销的各个证书以及与其相关联的区块链用户的列表。
在本发明的实施例中,术语“证书分配智能合约”是指可安装在区块链网络的区块链节点上的用于实现证书分配的智能合约。
在本发明的实施例中,术语“证书分配应用模块”是指可安装在区块链网络的区块链节点上的用于实现证书分配的应用程序。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。对于附图中的各单元之间的连线,仅仅是为了便于说明,其表示至少连线两端的单元是相互通信的,并非旨在限制未连线的单元之间无法通信。
应当理解,给出这些示例性实施例仅是为了使本领域技术人员能够更好地理解并实现被公开的实施例,而并非以任何方式限制发明的范围。
在基于区块链网络的业务系统中,如果该业务系统的客户端设备需要调用安装在该业务系统的各区块链节点的智能合约,则该客户端设备通常会向该区块链节点发送经该客户端设备的私钥或区块链用户的私钥签名的智能合约调用请求。该业务系统的区块链节点在接收到这种智能合约调用请求后,需要对区块链用户进行身份验证,以确保仅通过验证可访问其上的智能合约。在这种基于区块链网络的业务系统是可面向所有用户使用的情况下,其非常类似于面向所有用户的互联网系统。然而,在传统的面向所有用户的互联网系统中,如果用户需要调用该互联网系统中的业务,则该用户一般需要使用用户名和密码来向该互联网系统进行注册,并且在需要访问业务的过程时,需要向该互联网统提供所注册的用户名和密码以供互联网系统对该用户进行身份验证。但是,这种基于用户名和密码的身份验证方式并不适合于基于区块链网络的业务系统。基于区块链网络的业务系统受限于区块链网络的特点,属于基于私钥和证书的用户认证体系,一般需要由区块链网络的管理员预先生成用于调用智能合约的证书,然后将其分发给相应的区块链用户。然而,这种方法证书分发的效率低下,并且限制了可使用区块链系统的用户的范围。因此,有必要提供一种在区块链网络中的证书分配方法,使得能够实现对可用于调用区块链网络上的智能合约的证书的动态生成,提高证书分发的效率,进而使得区块链业务可被更大范围的用户访问。
为此,本发明提供了一种在区块链网络中的证书分配方法,该方法通过在接收证书分配请求时,基于包括在该接收证书分配请求中的区块链用户的身份信息来判断是否接收该证书分配请求,并在接受该证书分配请求的情况下,基于包括在该接收证书分配请求中的证书签名申请来生成区块链用户的证书,从而实现了对可用于调用区块链网络上的智能合约的证书的动态生成,提高了证书分发的效率,进而使得区块链业务可被更大范围的用户访问。
图1例示了BaaS(即,基于云的区块链即服务)平台系统100的示意架构图。如图1所示,BaaS平台系统100基于云110而架设,并且该BaaS平台系统100包括:BaaS平台102、多个区块链网络103、104、105以及存储装置106(例如,数据库系统等)和区块链用户110。BaaS平台102可以为用户110提供公有链、联盟链或私有链服务,也充当面向用户110的门户。BaaS平台120还例如提供数据管理和数据分析等多种功能,从而满足用户特定的角色和行业需求。存储装置106用于存储BaaS平台系统100的各种配置数据、用户信息、日志数据等。
区块链网络103、104和105可以是用户特定的,各自包括若干个区块链节点。在云应用环境中,各区块链节点可对应于虚拟机实例,虚拟机实例中运行相应的节点应用程序。每一个区块链网络都与相应的区块链应用相关联。例如,在图1所示的示例中,区块链网络103与区块链应用107相关联,区块链网络104与区块链应用108相关联,区块链网络105与区块链应用109相关联。区块链应用107、108、109可以实现各种已开发或待开发的业务系统,例如金融、征信、物联网、经济贸易结算、资产管理、社交通讯、股权众筹、身份验证等领域的业务系统。
虽然在本发明中,区块链网络103、104和105被例示为是相互独立的,但应领会,各区块链网络也可以包括共同的区块链节点。例如,某区块链节点可以既属于区块链网络103又属于区块链网络104。另外,虽然在图1中,将BaaS平台系统100例示为仅包括3个区块链网络、1个区块链用户以及1个存储装置,但应领会,可根据实际的应用,包括其他数量的区块链网络、区块链用户及存储装置,而不背离本发明的范围。
图2例示了可用于实施本发明的示例实施例的区块链网络200(此后简称为区块链200,其可以是以上在图1中提到的任一区块链网络)的架构的示意图。区块链200包括通过网络连接的多个区块链节点设备(在本文中也被称为区块链节点),例如区块链节点202、204、206和208,正如前面已经提到的,每一节点可对应于一个虚拟机实例,并且虚拟机实例中可运行相应的节点应用程序。在一个示例中,例如节点202和节点204可属于第一公司(例如,公司A),节点206和节点208可属于另一公司(例如,公司B)。但是这仅是示例,节点202、204、206和208也可能属于相同的公司,或属于不同的公司,这并不影响本发明的范围。请注意,图2仅仅是示意性的,在实际使用中,可根据需要,包括更多或更少的区块链节点。另外,虽然图2中给出了联盟链的示意图,但实际上本发明也适用于公有链和私有链,但是为了出于说明简要的目的,本发明仅以联盟链作为示例对此进行了描述。
应当理解,由于区块链的对等性,在一些情况下,每一个区块链节点以及其上运行的智能合约实际上具有相同的数据并且执行相同的功能。但是,出于简化说明的目的,在本发明的实施例中,以某个区块链节点作为执行主体来执行一些动作和操作,但是实际上这些动作和操作也可以由该区块链上的任一其他区块链节点执行,而不会超出本申请的保护范围。
图3例示了智能合约的大致工作原理的示图。如图3所示,区块链节点300(该区块链节点可以是以上提到的区块链网络200中的任一区块链节点)包括区块链服务模块302和操作系统301。区块链服务模块302可利用区块链产生的数据,提供基于区块链的搜索查询、任务提交等一系列操作服务。区块链服务模块302还可以通过利用多个智能合约305、306、307(例如,此后将详细描述的证书分配智能合约)来提供区块链服务。
区块链服务模块302可包括智能合约运行引擎303,智能合约运行引擎303用于验证和调用各个智能合约,将运行结果写入区块链区块(如果智能合约有写操作的话),并经由远程调用接口308返回给区块链应用309(该区块链应用309可以是以上结合图1描述的区块链应用107、108或109)。为了防止恶意或错误的智能合约对区块链节点产生破坏,智能合约引擎303可将各智能合约放置在智能合约沙盒304中运行,使得智能合约没有权限访问智能合约沙盒304外部的资源和信息。
在一个实现中,根据本发明的在区块链网络中的证书分配方法可利用智能合约的方式(例如,以后将提到的证书分配智能合约)来实现,该智能合约可由BaaS平台提供,并在完成对区块链网络的部署后,由BaaS平台部署在区块链网络的每一节点上。在另一实现中,根据本发明的在区块链网络中的证书分配方法也可利用应用程序的方式(例如,以后将提到的证书分配应用模块)来实现,该应用程序可由BaaS平台提供,并在部署区块链网络的时候,将其部署在区块链网络中的任一区块链节点上。
在一个实施例中,如图4所示,在系统400中,可利用智能合约的方式(例如,利用证书分配智能合约)来实现对证书的分配和注销。在该实施例中,系统400包括区块链节点410、BaaS平台420和客户端设备430。证书分配智能合约4105可通过BaaS平台420来提供并部署到区块链节点410上。在本文中,出于说明简要的目的,仅以一个区块链节点410作为示例对该系统400进行描述。在该示例中,区块链节点410包括区块链服务模块4102和操作系统4101。区块链服务模块4102可通过证书分配智能合约4105来实现对证书(即,用于调用区块链节点上安装的智能合约的证书)的分配和注销。在本发明的实施例中,可通过该证书来调用的“智能合约”可包括可用于在区块链网络上处理具体的业务(诸如,与金融、供应链、证券和银行、贸易融资、保险、医疗健康、资产管理、数字版权保护、公益慈善、政府公共服务、监管合规性与审计、游戏、公益等相关的业务)的智能合约。类似于图3,区块链服务模块4102还可包括智能合约运行引擎4103,智能合约运行引擎4103用于验证和调用证书分配智能合约4105,将运行结果写入区块链区块(如果智能合约有写操作的话),并经由远程调用接口4108返回给客户端设备430。另外,为了防止恶意或错误的智能合约对区块链节点产生破坏,智能合约引擎4103可将证书分配智能合约4105放置在智能合约沙盒4104中运行,使得智能合约没有权限访问智能合约沙盒4104外部的资源和信息。
在本发明的实施例中,证书分配智能合约4105可由客户端设备430经由智能合约运行引擎4103来调用。在本发明的实施例中,客户端设备430可经由远程调用接口4108向区块链节点410发送证书分配请求或证书注销请求。区块链节点410可经由其智能合约引擎4103接收该证书分配请求或证书注销请求,并且智能合约引擎4103可响应于接收到这种请求而调用证书分配智能合约4105,以据此完成证书的分配或注销。
在本发明的实施例中,证书分配智能合约4105可进一步包括证书分配模块4106和证书注销模块4107。
证书分配模块4106被配置成在接收证书分配请求(该请求可以是经用户私钥签名的证书分配请求)的情况下,利用该证书分配请求中包括的区块链用户的身份信息来判断是否接受该证书分配请求,并在接受该证书分配请求的情况下,基于该证书分配请求中包括的证书签名申请来生成该区块链用户的证书,所生成的证书将被存储在区块链网络的账本中并返回给区块链用户。
证书注销模块4107被配置成在接收到经由客户端设备发送的证书注销请求的情况下,确认该证书注销请求中包括的第一证书与存储在账本中的针对该区块链用户的的第二证书是否相同,在两者相同的情况下将该证书注销。
在另一实施例中,如图5所示,在系统500中,还可利用应用程序的方式(例如,利用证书分配应用模块5102)来实现对证书的分配和注销。在该实施例中,系统500包括区块链网络510、BaaS平台520和客户端设备530。证书分配应用模块5102可通过BaaS平台520来提供并部署到区块链网络510中的任一区块链节点(例如,区块链节点5101)上。在本发明的实施例中,该证书分配应用模块5102可以(例如,经由相应的访问接口或智能合约(未示出))访问区块链的账本,以例如将生成的证书存储到区块链网络的账本或从区块链网络的账本读取已生成的账本。应领会,区块链网络510可以是如图2所示的区块链网络,在图5中为了简要的目的,并没有画出各区块链节点之间的连接关系。证书分配应用模块5102可由客户端设备530例如通过远程调用接口5103调用。在本发明的实施例中,客户端设备530可经由远程调用接口5103向区块链节点5101发送证书分配请求或证书注销请求,并且区块链节点5101可响应于接收到这种请求而调用证书分配应用模块5102,以据此生成新的证书或者注销已有的证书。
类似于如图4所示的证书分配智能合约4105,证书分配应用模块5102也进一步包括证书分配模块5104和证书注销模块5105,这两个模块的功能和作用与如图4所示的证书分配模块4106和证书注销模块4107的功能和作用类似,因此这里将不再作进一步详细的描述。
在本发明的实施例中,一旦区块链用户获得了向其分配的证书后,该区块链用户就可利用该证书来调用该区块链网络中的各区块链节点上安装的各智能合约。
如上以上所提到的,根据本发明的实施例的在区块链网络中的证书分配方法可利用智能合约的方式(如以上结合图4所描述的在区块链网络的区块链节点上安装的证书分配智能合约)来实现,也可利用应用程序的方式(如以上结合图5所描述的在区块链网络的特定区块链节点上运行的证书应用模块)来实现。在一种实现中,该证书分配方法包括以下结合图6所描述的证书分配子方法600。在另一实现中,为了安全起见,可能需要周期性地(例如,仅作为示例,每个月、每季度、每年等)更新区块链用户的证书,而要更新区块链用户的证书则必须先将该区块链用户已有的证书先注销掉,然而再为其生成新的证书。另外,当区块链用户不再需要调用区块链网络所提供的智能合约时,可能会主动发送通过证书注销请求。这时,也需要将该区块链用户的证书注销掉。因此,本发明的实施例的证书分配方法还可包括以下结合图7所描述的证书注销子方法700。但应领会,当区块链用户的已有证书被注销以后,还可响应于请求生成该区块链用户的新的证书。
如图6所示,例示了根据本发明的实施例的在区块链网络中的证书分配子方法600的流程图。
在步骤601中,在区块链节点处接收证书分配请求,该证书分配请求可包括区块链用户的身份信息和证书签名申请(Certificate Signing Request,简称为CSR)。身份信息可包括例如该区块链用户的姓名、手机号码、身份证号码等。证书签名申请是一种标准的证书申请文件,该证书签名申请可包括区块链用户的公钥,并且该证书签名申请中还可包括区块链用户的身份证明信息,例如区块链用户的地址信息和联系信息等。当区块链用户的证书被注销以后,还可用基于该区块链用户的不同的公钥生成的证书签名申请再次生成新的证书,以确保该新的用户证书与已注销的该区块链用户的证书不同。
在一种实现中,为了确保证书分配请求的完整性不受破坏,该证书分配请求中还可包括该区块链用户的电子签名和自签名证书。“自签名证书”是在区块链用户侧生成(而非由权威颁发机构发布)的用于证明该区块链用户的身份的证书,该自签名证书主要是基于区块链用户的公钥来生成的,而该电子签名可基于与自签名证书的公钥相对应的私钥生成,其中区块链用户的公钥和私钥是同时生成的。
可任选的,在证书分配请求包括区块链用户的电子签名和自签名证书的情况下,在步骤602中,使用该区块链用户的自签名证书对该电子签名进行验证,以确保该证书分配请求的完整性。
在步骤603中,在以上验证通过的情况下,基于该证书分配请求中包括的区块链用户的身份信息判断是否接受该证书分配请求。
在一种实现中,可基于区块链用户的身份信息来判断是否已为该区块链用户生成过证书,并且在已为该区块链用户生成过所述证书的情况下,拒绝该证书分配请求,否则接受该证书分配请求。例如,如果区块链网络的账本中的证书分配列表(此后将对该证书分配列表作更详细的描述)已存储了针对该区块链用户的证书,则可判定已为该区块链用户生成过证书。
在另一实现中,可基于区块链用户的身份信息来判断该区块链用户是否包括在区块链网络的账本中存储的用户白名单列表,并在区块链用户包括在该用户白名单列表中的情况下,接受所述证书分配请求,否则拒绝该证书分配请求。
在又一实现中,可基于区块链用户的身份信息来判断该区块链用户是否包括在区块链网络的账本中存储的用户黑名单列表中,并在该区块链用户包括在该用户黑名单列表中的情况下,拒绝该证书分配请求,否则接受该证书分配请求
在再一实现中,还可利用第三方验证系统(例如,公安系统、电信系统、银行系统等)来判断是否接受该证书分配请求。例如,可动态地请求第三方验证系统对区块链用户的身份信息的真实性进行验证,并且在经验证确定该身份信息真实的情况下,接受该证书分配请求,否则拒绝该证书分配请求。例如,可将证书分配请求中包括的区块链用户的姓名和身份证号码发送给公安系统来验证该身份证号码是否属于该区块链用户。又如,可将证书分配请求中包括的区块链用户的姓名和手机号码发送给电信系统来验证该手机号码是否属于该区块链用户。
在步骤604中,在接受证书分配请求的情况下,基于证书签名申请生成区块链用户的证书。例如,在一种实现中,基于证书签名申请生成区块链用户的证书包括使用区块链节点的私钥对证书签名申请进行签名。
在步骤605中,将所生成的证书发送至区块链用户的客户端设备,以供用来调用安装在区块链网络的各个区块链节点上的智能合约。
在步骤606中,将所生成的证书存储在区块链网络的账本中。在一个实现中,可将所生成的证书存储在区块链网络的账本中的证书分配列表中。在一个示例中,证书分配列表可列出区块链用户(例如,通过该区块链用户的姓名、手机号码或身份证号码等来指示)以及已分配的该区块链用户的证书(例如,通过其标识来指示)。通过将证书存储在账本中的证书分配列表中,在收到智能合约调用请求时,可利用其对区块链用户进行验证,以确认该区块链用户是否被允许调用该智能合约。
如图7所示,例示了根据本发明的实施例的在区块链网络中的证书注销子方法700的流程图。
在步骤701中,接收证书注销请求,该证书注销请求可包括区块链用户的身份信息和证书(为了进行区别,此后将其称为第一证书)。身份信息可包括例如该用户的姓名、手机号码、身份证号码等。
在一种实现中,为了确保该请求的完整性不受破坏,该证书注销请求中还可包括区块链用户的电子签名,该电子签名可例如基于区块链用户的私钥以及该证书注销请求生成。
可任选的,在证书注销请求中包括区块链用户的电子签名的情况下,在步骤702中,使用该证书注销请求中包括的第一证书对该用户前面进行验证,以确保该证书注销请求的完整性。
在步骤703中,基于证书注销请求中包括的区块链用户的身份信息来获取区块链网络的账本中存储的针对该区块链用户的证书(为了进行区别,此后将其称为第二证书)。
在步骤704中,将第一证书与第二证书进行比较。
在步骤705中,在第一证书和第二证书相同的情况下,将第一证书注销。否则,返回错误消息(未示出)。在一种实现中,在第一证书和第二证书相同的情况下,可通过将该第一证书(即,第二证书)添加到存储在账本中的证书撤销列表中来将该第一证书注销。例如,在第一证书和第二证书相同的情况下,可通过将第二证书从证书分配列表移动到证书撤销列表(Certificate Revocation List,简称为CRL)中来将第一证书注销。在一个示例中,证书撤销列表中可列出已经注销的各个证书(例如,通过其标识来指示)以及与这些证书相关联的区块链用户(例如,通过区块链用户的姓名、手机号码或身份证号码等来指示)。在另一实现中,在第一证书和第二证书相同的情况下,可通过将第二证书直接从例如证书分配列表中删除来将第一证书注销。
在本发明的实施例中,在生成了区块链用户的证书以后,该证书就可被利用来授权该区块链用户调用区块链上的智能合约。如图8所示,例示了根据本发明的实施例的在区块链网络中的证书验证方法800的流程图。该方法800可由区块链上的任一区块链节点执行。
在步骤801中,接收智能合约调用请求,该智能合约调用请求可包括该区块链用户的身份信息和证书(为了进行区别,此后将其称为第一证书)。
在一种实现中,为了确保该智能合约调用请求的完整性不受破坏,该智能合约调用请求中还可包括该区块链用户的电子签名,该电子签名可例如基于区块链用户的私钥以及该智能合约调用请求生成。
在步骤802中,在智能合约调用请求中包括该电子签名的情况下,使用该第一证书对该电子签名进行验证,以确保该智能合约调用请求的完整性。
在步骤803中,在以上验证通过的情况下,基于该智能合约调用请求中包括的区块链用户的身份信息来获取区块链网络的账本中存储的针对该区块链用户的证书(为了进行区别,此后将其称为第二证书)。
在步骤804中,将第一证书和第二证书进行比较。
在步骤805中,在第一证书和第二证书相同的情况下,授权区块链用户调用该区块链节点上安装的各智能合约。否则,返回错误消息(未示出)。
图9例示了根据本发明的实施例的在区块链网络中的证书分配方法900的流程图。应领会,方法900例如可以由区块链中的区块链节点来执行。
在步骤901中,在区块链节点处接收证书分配请求,所述证书分配请求包括区块链用户的身份信息和证书签名申请。
在步骤902中,基于所述身份信息来判断是否接受所述证书分配请求。
在步骤903中,在接受所述证书分配请求的情况下,基于所述证书签名申请生成所述区块链用户的证书。
在步骤904中,将所述证书发送至与所述区块链用户相关联的客户端设备。
在步骤905中,将所述证书存储在所述区块链网络的账本中。
图10例示了根据本发明的实施例的在区块链网络中的证书验证方法1000的流程图。应领会,方法1000例如可以由区块链中的区块链节点来执行。
在步骤1001中,在区块链节点处接收智能合约调用请求,所述智能合约调用请求包括区块链用户的身份信息和第一证书。
在步骤1002中,基于所述身份信息来获取所述区块链网络的账本中存储的针对所述区块链用户的第二证书。
在步骤1003中,将所述智能合约调用请求中包括的第一证书与所述账本中存储的针对所述区块链用户的第二证书进行比较。
在步骤1004中,在所述第一证书与所述第二证书相同的情况下,授权所述区块链用户调用所述智能合约。
图11例示了根据本发明的实施例的在区块链网络中的用于证书分配和节点验证的节点计算设备1100的示意性框图。在一种实现中,节点计算设备1100用于证书分配,其可包括处理器1110和存储器1120,存储器1120耦合至处理器1110并且存储有指令,当这些指令执行时使得处理器1110执行上文描述的方法600、700和900中的一个或多个动作或步骤。
具体而言,在一个实现中,当存储器1120中的指令执行时使得所述处理器1110执行以下动作:在所述节点计算设备处接收证书分配请求,所述证书分配请求包括区块链用户的身份信息和证书签名申请;基于所述身份信息来判断是否接受所述证书分配请求;在接受所述证书分配请求的情况下,基于所述证书签名申请生成所述区块链用户的证书;将所述证书发送至与所述区块链用户相关联的客户端设备;以及将所述证书存储在所述区块链网络的账本中。
在一个实现中,基于所述证书签名申请生成所述区块链用户的证书包括,使用所述节点计算设备的私钥对所述证书签名申请进行签名。
在一个实现中,所述证书分配请求还包括所述区块链用户的电子签名和自签名证书,并且其中当所述指令执行时使得所述处理器执行以下动作:使用所述自签名证书对所述电子签名进行验证。
在一个实现中,基于所述身份信息来判断是否接受所述证书分配请求包括:基于所述身份信息来判断是否已为所述区块链用户生成过所述证书;以及在已为所述区块链用户生成过所述证书的情况下,拒绝所述证书分配请求。
在另一实现中,基于所述身份信息来判断是否接受所述证书分配请求包括:基于所述身份信息来判断所述区块链用户是否包括在所述账本中存储的用户白名单列表中;以及在所述区块链用户包括在所述用户白名单列表中的情况下,接受所述证书分配请求。
在又一实现中,基于所述身份信息来判断是否接受所述证书分配请求包括:基于所述身份信息来判断所述区块链用户是否包括在所述账本中存储的用户黑名单列表中;以及在所述区块链用户包括在所述用户黑名单列表中的情况下,拒绝所述证书分配请求。
在一个实现中,所述动作是利用智能合约的方式或者是利用应用程序的方式来实现的。
在一个实现中,当所述指令执行时还使得所述处理器执行以下动作:接收证书注销请求,所述证书注销请求包括所述区块链用户的所述身份信息和第一证书;基于所述身份信息来获取所述区块链网络的账本中存储的针对所述区块链用户的第二证书;将所述第一证书与所述第二证书进行比较;在所述第一证书与所述第二证书相同的情况下,将所述第一证书注销。
在一个实现中,所述将所述第一证书注销包括将所述第一证书添加到所述账本中的证书撤销列表中。
在另一实现中,节点计算设备1100用于证书验证,其可包括处理器1110和存储器1120,存储器1120耦合至处理器1110并且存储有指令,当这些指令执行时使得处理器1110执行上文描述的方法800和1000中的一个或多个动作或步骤。
具体而言,在一个实现中,当存储器1120中的指令执行时使得所述处理器1110执行以下动作:在所述节点计算设备处接收智能合约调用请求,所述智能合约调用请求包括区块链用户的身份信息和第一证书;基于所述身份信息来获取所述区块链网络的账本中存储的针对所述区块链用户的第二证书;将所述智能合约调用请求中包括的第一证书与所述账本中存储的针对所述区块链用户的第二证书进行比较;在所述第一证书与所述第二证书相同的情况下,授权所述区块链用户调用所述智能合约。
在一个实现中,所述智能合约调用请求还包括电子签名,并且当所述指令执行时还使得所述处理器执行以下动作:使用所述第一证书对所述电子签名进行验证。
本发明中所描述的方法和功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的示意性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
附图中的流程图和框图显示了根据本发明的多个实施例的方法、区块链节点和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或示意图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。
例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
通过以上描述和相关附图中所给出的教导,这里所给出的本发明的许多修改形式和其它实施方式将被本发明相关领域的技术人员所意识到。因此,所要理解的是,本发明的实施方式并不局限于所公开的具体实施方式,并且修改形式和其它实施方式意在包括在本发明的范围之内。此外,虽然以上描述和相关附图在部件和/或功能的某些示例组合形式的背景下对示例实施方式进行了描述,但是应当意识到的是,可以由备选实施方式提供部件和/或功能的不同组合形式而并不背离本发明的范围。就这点而言,例如,与以上明确描述的有所不同的部件和/或功能的其它组合形式也被预期处于本发明的范围之内。虽然这里采用了具体术语,但是它们仅以一般且描述性的含义所使用而并非意在进行限制。

Claims (23)

1.一种在区块链网络中的证书分配方法,包括:
在区块链节点处接收证书分配请求,所述证书分配请求包括区块链用户的身份信息和证书签名申请;
基于所述身份信息来判断是否接受所述证书分配请求;
在接受所述证书分配请求的情况下,基于所述证书签名申请生成所述区块链用户的证书;
将所述证书发送至与所述区块链用户相关联的客户端设备;以及
将所述证书存储在所述区块链网络的账本中。
2.根据权利要求1所述的证书分配方法,其特征在于,基于所述证书签名申请生成所述区块链用户的证书包括:
使用所述区块链节点的私钥对所述证书签名申请进行签名。
3.根据权利要求1所述的证书分配方法,其特征在于,所述证书分配请求还包括所述区块链用户的电子签名和自签名证书,并且其中所述方法进一步包括:
使用所述自签名证书对所述电子签名进行验证。
4.根据权利要求1所述的证书分配方法,其特征在于,基于所述身份信息来判断是否接受所述证书分配请求包括:
基于所述身份信息来判断是否已为所述区块链用户生成过所述证书;以及
在已为所述区块链用户生成过所述证书的情况下,拒绝所述证书分配请求。
5.根据权利要求1所述的证书分配方法,其特征在于,基于所述身份信息来判断是否接受所述证书分配请求包括:
基于所述身份信息来判断所述区块链用户是否包括在所述账本中存储的用户白名单列表中;以及
在所述区块链用户包括在所述用户白名单列表中的情况下,接受所述证书分配请求。
6.根据权利要求1所述的证书分配方法,其特征在于,基于所述身份信息来判断是否接受所述证书分配请求包括:
基于所述身份信息来判断所述区块链用户是否包括在所述账本中存储的用户黑名单列表中;以及
在所述区块链用户包括在所述用户黑名单列表中的情况下,拒绝所述证书分配请求。
7.根据权利要求1所述的证书分配方法,其特征在于,所述证书分配方法是利用智能合约的方式或者应用程序的方式来实现的。
8.根据权利要求1所述的证书分配方法,其特征在于,还包括:
接收证书注销请求,所述证书注销请求包括所述区块链用户的所述身份信息和第一证书;
基于所述身份信息来获取所述区块链网络的账本中存储的针对所述区块链用户的第二证书;
将所述第一证书与所述第二证书进行比较;以及
在所述第一证书与所述第二证书相同的情况下,将所述第一证书注销。
9.根据权利要求8所述的证书分配方法,其特征在于,将所述第一证书注销包括将所述第一证书添加到所述账本中的证书撤销列表中。
10.一种在区块链网络中的证书验证方法,包括:
在区块链节点处接收智能合约调用请求,所述智能合约调用请求包括区块链用户的身份信息和第一证书;
基于所述身份信息来获取所述区块链网络的账本中存储的针对所述区块链用户的第二证书;
将所述智能合约调用请求中包括的第一证书与所述账本中存储的针对所述区块链用户的第二证书进行比较;以及
在所述第一证书与所述第二证书相同的情况下,授权所述区块链用户调用所述智能合约。
11.根据权利要求10所述的证书验证方法,其特征在于,所述智能合约调用请求还包括电子签名,并且所述方法进一步包括:
使用所述第一证书对所述电子签名进行验证。
12.一种在区块链网络中的用于证书分配的节点计算设备,包括:
处理器;
存储器,所述存储器耦合至所述处理器并且存储有指令,当所述指令执行时使得所述处理器执行以下动作:
在所述节点计算设备处接收证书分配请求,所述证书分配请求包括
区块链用户的身份信息和证书签名申请;
基于所述身份信息来判断是否接受所述证书分配请求;
在接受所述证书分配请求的情况下,基于所述证书签名申请生成所述区块链用户的证书;
将所述证书发送至与所述区块链用户相关联的客户端设备;以及
将所述证书存储在所述区块链网络的账本中。
13.根据权利要求12所述的节点计算设备,其特征在于,基于所述证书签名申请生成所述区块链用户的证书包括,使用所述节点计算设备的私钥对所述证书签名申请进行签名。
14.根据权利要求12所述的节点计算设备,其特征在于,所述证书分配请求还包括所述区块链用户的电子签名和自签名证书,并且其中当所述指令执行时使得所述处理器执行以下动作:
使用所述自签名证书对所述电子签名进行验证。
15.根据权利要求12所述的节点计算设备,其特征在于,基于所述身份信息来判断是否接受所述证书分配请求包括:
基于所述身份信息来判断是否已为所述区块链用户生成过所述证书;以及
在已为所述区块链用户生成过所述证书的情况下,拒绝所述证书分配请求。
16.根据权利要求12所述的节点计算设备,其特征在于,基于所述身份信息来判断是否接受所述证书分配请求包括:
基于所述身份信息来判断所述区块链用户是否包括在所述账本中存储的用户白名单列表中;以及
在所述区块链用户包括在所述用户白名单列表中的情况下,接受所述证书分配请求。
17.根据权利要求12所述的节点计算设备,其特征在于,基于所述身份信息来判断是否接受所述证书分配请求包括:
基于所述身份信息来判断所述区块链用户是否包括在所述账本中存储的用户黑名单列表中;以及
在所述区块链用户包括在所述用户黑名单列表中的情况下,拒绝所述证书分配请求。
18.根据权利要求12所述的节点计算设备,其特征在于,所述动作是利用智能合约的方式或者是利用应用程序的方式来实现的。
19.根据权利要求12所述的节点计算设备,其特征在于,当所述指令执行时还使得所述处理器执行以下动作:
接收证书注销请求,所述证书注销请求包括所述区块链用户的所述身份信息和第一证书;
基于所述身份信息来获取所述区块链网络的账本中存储的针对所述区块链用户的第二证书;
将所述第一证书与所述第二证书进行比较;以及
在所述第一证书与所述第二证书相同的情况下,将所述第一证书注销。
20.根据权利要求19所述的节点计算设备,其特征在于,将所述第一证书注销包括将所述第一证书添加到所述账本中的证书撤销列表中。
21.一种在区块链网络中的用于证书验证的节点计算设备,包括:
处理器;
存储器,所述存储器耦合至所述处理器并且存储有指令,当所述指令执行时使得所述处理器执行以下动作:
在所述节点计算设备处接收智能合约调用请求,所述智能合约调用请求包括区块链用户的身份信息和第一证书;
基于所述身份信息来获取所述区块链网络的账本中存储的针对所述区块链用户的第二证书;
将所述智能合约调用请求中包括的第一证书与所述账本中存储的针对所述区块链用户的第二证书进行比较;以及
在所述第一证书与所述第二证书相同的情况下,授权所述区块链用户调用所述智能合约。
22.根据权利要求21所述的节点计算设备,其特征在于,所述智能合约调用请求还包括电子签名,并且当所述指令执行时还使得所述处理器执行以下动作:
使用所述第一证书对所述电子签名进行验证。
23.一种计算机可读存储介质,其具有存储在其上的计算机可执行指令,所述计算机可执行指令在设备中运行时使得所述设备执行根据权利要求1-11中的任一项所述的方法。
CN201811387913.8A 2018-11-21 2018-11-21 区块链网络中的证书分配方法及相应的计算设备和介质 Pending CN109547200A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811387913.8A CN109547200A (zh) 2018-11-21 2018-11-21 区块链网络中的证书分配方法及相应的计算设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811387913.8A CN109547200A (zh) 2018-11-21 2018-11-21 区块链网络中的证书分配方法及相应的计算设备和介质

Publications (1)

Publication Number Publication Date
CN109547200A true CN109547200A (zh) 2019-03-29

Family

ID=65848855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811387913.8A Pending CN109547200A (zh) 2018-11-21 2018-11-21 区块链网络中的证书分配方法及相应的计算设备和介质

Country Status (1)

Country Link
CN (1) CN109547200A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951340A (zh) * 2019-04-01 2019-06-28 山东浪潮云信息技术有限公司 一种运用区块链进行服务调用存证的系统及方法
CN110851813A (zh) * 2019-11-11 2020-02-28 北京海益同展信息科技有限公司 身份验证方法、区块链系统的节点装置和区块链系统
CN111988145A (zh) * 2019-05-24 2020-11-24 阿里巴巴集团控股有限公司 业务认证及副证申请的处理方法、装置、系统及电子设备
CN113259125A (zh) * 2021-06-10 2021-08-13 国网浙江省电力有限公司物资分公司 基于区块链的国网数字证书管理方法、装置和电子设备
CN114788219A (zh) * 2019-09-16 2022-07-22 诺得技术公司 供应和验证设备证书
CN114826719A (zh) * 2022-04-19 2022-07-29 中国信息通信研究院 基于区块链的可信终端认证方法、系统、设备和存储介质
CN115314374A (zh) * 2022-07-06 2022-11-08 京东科技信息技术有限公司 区块链节点的部署方法、设备、存储介质及程序产品

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372941A (zh) * 2016-08-31 2017-02-01 江苏通付盾科技有限公司 基于区块链的ca认证管理方法、装置及系统
CN106385315A (zh) * 2016-08-30 2017-02-08 北京三未信安科技发展有限公司 一种数字证书管理方法及系统
CN107425981A (zh) * 2017-06-12 2017-12-01 清华大学 一种基于区块链的数字证书管理方法及系统
CN107888382A (zh) * 2017-11-24 2018-04-06 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种基于区块链的数字身份验证的方法、装置和系统
CN108111314A (zh) * 2018-01-19 2018-06-01 中链科技有限公司 数字证书的生成和校验方法及设备
CN108599954A (zh) * 2018-03-16 2018-09-28 西安电子科技大学 基于分布式账本的身份验证方法
CN108667618A (zh) * 2018-05-10 2018-10-16 阿里巴巴集团控股有限公司 区块链成员管理的数据处理方法、装置、服务器及系统
CN108696358A (zh) * 2017-04-06 2018-10-23 中国移动通信有限公司研究院 数字证书的管理方法、装置、可读存储介质及服务终端
CN108765058A (zh) * 2018-04-28 2018-11-06 中国科学院信息工程研究所 一种基于区块链的制造环节多实体安全协同方法
CN108768630A (zh) * 2018-05-25 2018-11-06 全链通有限公司 区块链节点的加密通信方法和系统
CN108769173A (zh) * 2018-05-21 2018-11-06 阿里体育有限公司 运行智能合约的区块链实现方法及设备
CN108777684A (zh) * 2018-05-30 2018-11-09 招商银行股份有限公司 身份认证方法、系统及计算机可读存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106385315A (zh) * 2016-08-30 2017-02-08 北京三未信安科技发展有限公司 一种数字证书管理方法及系统
CN106372941A (zh) * 2016-08-31 2017-02-01 江苏通付盾科技有限公司 基于区块链的ca认证管理方法、装置及系统
CN108696358A (zh) * 2017-04-06 2018-10-23 中国移动通信有限公司研究院 数字证书的管理方法、装置、可读存储介质及服务终端
CN107425981A (zh) * 2017-06-12 2017-12-01 清华大学 一种基于区块链的数字证书管理方法及系统
CN107888382A (zh) * 2017-11-24 2018-04-06 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种基于区块链的数字身份验证的方法、装置和系统
CN108111314A (zh) * 2018-01-19 2018-06-01 中链科技有限公司 数字证书的生成和校验方法及设备
CN108599954A (zh) * 2018-03-16 2018-09-28 西安电子科技大学 基于分布式账本的身份验证方法
CN108765058A (zh) * 2018-04-28 2018-11-06 中国科学院信息工程研究所 一种基于区块链的制造环节多实体安全协同方法
CN108667618A (zh) * 2018-05-10 2018-10-16 阿里巴巴集团控股有限公司 区块链成员管理的数据处理方法、装置、服务器及系统
CN108769173A (zh) * 2018-05-21 2018-11-06 阿里体育有限公司 运行智能合约的区块链实现方法及设备
CN108768630A (zh) * 2018-05-25 2018-11-06 全链通有限公司 区块链节点的加密通信方法和系统
CN108777684A (zh) * 2018-05-30 2018-11-09 招商银行股份有限公司 身份认证方法、系统及计算机可读存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951340A (zh) * 2019-04-01 2019-06-28 山东浪潮云信息技术有限公司 一种运用区块链进行服务调用存证的系统及方法
CN111988145A (zh) * 2019-05-24 2020-11-24 阿里巴巴集团控股有限公司 业务认证及副证申请的处理方法、装置、系统及电子设备
CN114788219A (zh) * 2019-09-16 2022-07-22 诺得技术公司 供应和验证设备证书
CN110851813A (zh) * 2019-11-11 2020-02-28 北京海益同展信息科技有限公司 身份验证方法、区块链系统的节点装置和区块链系统
CN113259125A (zh) * 2021-06-10 2021-08-13 国网浙江省电力有限公司物资分公司 基于区块链的国网数字证书管理方法、装置和电子设备
CN114826719A (zh) * 2022-04-19 2022-07-29 中国信息通信研究院 基于区块链的可信终端认证方法、系统、设备和存储介质
CN115314374A (zh) * 2022-07-06 2022-11-08 京东科技信息技术有限公司 区块链节点的部署方法、设备、存储介质及程序产品
CN115314374B (zh) * 2022-07-06 2024-02-06 京东科技信息技术有限公司 区块链节点的部署方法、设备、存储介质及程序产品

Similar Documents

Publication Publication Date Title
CN109547200A (zh) 区块链网络中的证书分配方法及相应的计算设备和介质
US10887275B2 (en) Token based network service among IoT applications
Abbas et al. Convergence of blockchain and IoT for secure transportation systems in smart cities
Hu et al. Blockchain-based smart contracts-applications and challenges
Nguyen et al. Towards a blockchain-based certificate authentication system in Vietnam
CN109981679A (zh) 在区块链网络中执行事务的方法和装置
CN109635585A (zh) 在区块链网络中查询交易信息的方法、代理节点和介质
CN108737348A (zh) 一种基于区块链的智能合约的物联网设备访问控制方法
JP2020535543A (ja) コンプライアンス対応のトークン化及び資産価値の制御のための方法、装置、及びコンピュータ可読媒体
CN110020956A (zh) 一种跨区块链的交互方法及系统、计算机设备及存储介质
CN109376275A (zh) 用于监控区块链上的业务指标的方法、装置及介质
CN112801658B (zh) 跨境资源转移真实性审核方法、装置及电子设备
Pasdar et al. Blockchain oracle design patterns
CN110520883A (zh) 在区块链系统中处理证书的方法和设备
CN110334525A (zh) 一种基于区块链多层联盟式账户管理系统及方法
Aswathy et al. The Future of Edge Computing with Blockchain Technology: Possibility of Threats, Opportunities, and Challenges
CN108876669A (zh) 应用于多平台教育资源共享的课程公证系统及方法
CN115277122B (zh) 基于区块链的跨境数据流动与监管系统
CN109033823A (zh) 用于在区块链网络中验证和运行智能合约的方法和装置
Nabi Comparative study on identity management methods using blockchain
CN110766548A (zh) 基于区块链的信息处理方法、装置、存储介质及电子设备
Hurwitz Trust and online interaction
CN113077233B (zh) 一种电子保函开具方法、云服务器及电子保函系统
CN114880715A (zh) 一种基于同态加密智能合约的电力数据安全共享方法及系统
CN110046895A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190329

WD01 Invention patent application deemed withdrawn after publication