CN113254731A - 区块链节点连接方法、装置及电子设备 - Google Patents

区块链节点连接方法、装置及电子设备 Download PDF

Info

Publication number
CN113254731A
CN113254731A CN202110739123.7A CN202110739123A CN113254731A CN 113254731 A CN113254731 A CN 113254731A CN 202110739123 A CN202110739123 A CN 202110739123A CN 113254731 A CN113254731 A CN 113254731A
Authority
CN
China
Prior art keywords
client
character
character string
verification
ssl
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
CN202110739123.7A
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202110739123.7A priority Critical patent/CN113254731A/zh
Publication of CN113254731A publication Critical patent/CN113254731A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书一个或多个实施例提供一种区块链节点连接方法、装置及电子设备,应用于区块链中的节点设备;所述方法包括:接收用户客户端发送的SSL连接请求;其中,所述连接请求包括与所述用户客户端对应的客户端SSL证书;获取所述客户端SSL证书包含的验证字段,并验证所述验证字段对应的字符串是否匹配字符规律;其中,所述字符规律包括具有接入所述节点设备的权限的客户端SSL证书包含的验证字段对应的字符串的字符规律;如果所述验证字段对应的字符串匹配所述字符规律,则与所述用户客户端建立SSL连接。

Description

区块链节点连接方法、装置及电子设备
技术领域
本说明书一个或多个实施例涉及计算机应用技术领域,尤其涉及一种区块链节点连接方法、装置及电子设备。
背景技术
在区块链系统中,部署在用户使用的电子设备上的用户客户端可以与区块链中的节点设备建立连接,以接入该节点设备,从而使用户可以通过该用户客户端访问该节点设备中的数据。
在默认情况下,用户对于区块链中的所有节点设备通常有相同的访问权限;也即,用户可以通过与该用户对应的用户客户端访问区块链中的所有节点设备中的数据。然而,在实际应用中,区块链中的不同的节点设备对于外部的数据访问请求通常有不同的权限管理需求,因此如何实现针对区块链中的节点设备的数据访问的权限管理,也就成为了亟待解决的问题。
发明内容
本说明书提出一种区块链节点连接方法,所述方法应用于区块链中的节点设备;所述方法包括:
接收用户客户端发送的SSL连接请求;其中,所述连接请求包括与所述用户客户端对应的客户端SSL证书;
获取所述客户端SSL证书包含的验证字段,并验证所述验证字段对应的字符串是否匹配字符规律;其中,所述字符规律包括具有接入所述节点设备的权限的客户端SSL证书包含的验证字段对应的字符串的字符规律;
如果所述验证字段对应的字符串匹配所述字符规律,则与所述用户客户端建立SSL连接。
可选地,所述验证字段包括所述客户端SSL证书的主题中的公用名称字段或者OU字段。
可选地,所述区块链为联盟链。
可选地,所述字符规律包括正则表达式;
所述验证所述验证字段对应的字符串是否匹配预设的字符规律,包括:
验证所述验证字段对应的字符串是否匹配所述正则表达式。
可选地,所述方法还包括:
获取具有接入所述节点设备的权限的客户端SSL证书包含的验证字段对应的字符串;
对所述字符串进行数据分析,以确定与所述字符串匹配的字符规律。
可选地,所述方法还包括:
在与所述用户客户端建立了SSL连接之后,接收所述用户客户端发送的客户端授权请求;其中,所述客户端授权请求包括与待授权的客户端SSL证书包含的验证字段对应的字符串;
基于所述字符串对所述字符规律进行更新,以使所述字符串匹配更新后的所述字符规律。
本说明书还提出一种区块链节点连接装置,所述装置应用于区块链中的节点设备;所述装置包括:
第一接收模块,接收用户客户端发送的SSL连接请求;其中,所述连接请求包括与所述用户客户端对应的客户端SSL证书;
验证模块,获取所述客户端SSL证书包含的验证字段,并验证所述验证字段对应的字符串是否匹配字符规律;其中,所述字符规律包括具有接入所述节点设备的权限的客户端SSL证书包含的验证字段对应的字符串的字符规律;
连接模块,如果所述验证字段对应的字符串匹配所述字符规律,则与所述用户客户端建立SSL连接。
可选地,所述验证字段包括所述客户端SSL证书的主题中的公用名称字段或者OU字段。
可选地,所述区块链为联盟链。
可选地,所述字符规律包括正则表达式;
所述验证模块:
验证所述验证字段对应的字符串是否匹配所述正则表达式。
可选地,所述装置还包括:
获取模块,获取具有接入所述节点设备的权限的客户端SSL证书包含的验证字段对应的字符串;
分析模块,对所述字符串进行数据分析,以确定与所述字符串匹配的字符规律。
可选地,所述装置还包括:
第二接收模块,在与所述用户客户端建立了SSL连接之后,接收所述用户客户端发送的客户端授权请求;其中,所述客户端授权请求包括与待授权的客户端SSL证书包含的验证字段对应的字符串;
更新模块,基于所述字符串对所述字符规律进行更新,以使所述字符串匹配更新后的所述字符规律。
本说明书还提出一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现上述方法的步骤。
本说明书还提出一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述方法的步骤。
在上述技术方案中,可以由区块链中的节点设备在接收到用户客户端发送的SSL连接请求时,获取该SSL连接请求中的与该用户客户端对应的客户端SSL证书包含的验证字段,并通过验证该验证字段对应的字符串是否匹配预设的字符规律,确定该用户客户端是否具有接入该节点设备的权限,以实现仅与具有接入该节点设备的权限的用户客户端建立连接。采用这样的方式,可以仅允许具有接入区块链中的节点设备的权限的用户客户端与该节点设备建立连接,从而使与该用户客户端对应的用户可以通过该用户客户端访问该节点设备中的数据,以实现针对区块链中的节点设备进行数据访问的权限管理。
附图说明
图1是本说明书一示例性实施例示出的一种区块链系统的示意图;
图2是本说明书一示例性实施例示出的一种区块链节点连接方法的流程图;
图3是本说明书一示例性实施例示出的一种区块链节点连接装置所在电子设备的硬件结构图;
图4是本说明书一示例性实施例示出的一种区块链节点连接装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。
其中,去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者(也可称为区块链中的节点)可以读取链上的数据记录、参与交易、以及竞争新区块的记账权等。而且,各节点可自由加入或者退出网络,并进行相关操作。
私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
请参考图1,图1是本说明书一示例性实施例示出的一种区块链系统的示意图。
如图1所示,该区块链系统可以包括多个节点设备,以及多个用户客户端,部署在用户使用的电子设备上的用户客户端可以与区块链中的节点设备建立连接,以接入该节点设备,从而使用户可以通过该用户客户端访问该节点设备中的数据。
在实际应用中,部署了用户客户端的电子设备可以是服务器、计算机、手机、平板设备、笔记本电脑、掌上电脑(PDAs,Personal Digital Assistants)等;同样地,作为节点设备加入至区块链的电子设备也可以是服务器、计算机、手机、平板设备、笔记本电脑、掌上电脑等;本说明书对此不作限制。
相关技术中,在默认情况下,用户对于区块链中的所有节点设备通常有相同的访问权限;也即,用户可以通过与该用户对应的用户客户端访问区块链中的所有节点设备中的数据。
以联盟链为例,用户可以通过购买联盟链中的节点设备加入至该联盟链。具体地,用户在购买了该联盟链中的节点设备之后,可以作为该节点设备的所有人,在与该用户对应的用户客户端上发起针对该节点设备的连接请求,从而使该用户客户端可以接入该节点设备,并使该用户可以通过该用户客户端访问该节点设备中的数据,以及访问该联盟链中的其他节点设备中的数据。此外,作为该节点设备的所有人的用户还可以对其他用户进行授权,从而使与被授权的用户对应的用户客户端也可以接入该节点设备,并使该被授权的用户也可以通过该用户客户端访问该节点设备中的数据,以及访问该联盟链中的其他节点设备中的数据。
然而,在实际应用中,为了保护数据的安全性,区块链中的不同的节点设备对于外部的数据访问请求通常有不同的权限管理需求。
继续以联盟链为例,对于联盟链中的节点设备而言,该节点设备通常仅对该节点设备的所有人和该节点设备允许的其他用户(例如:该节点设备的所有人授权的用户)开放访问权限;也即,通常仅允许该节点设备的所有人和该节点设备允许的其他用户通过对应的用户客户端访问该节点设备中的数据。
在这种情况下,需要针对区块链中的节点设备进行数据访问的权限管理,从而使具有访问该节点设备中的数据的权限的用户可以通过与该用户对应的用户客户端访问该节点设备中的数据。具体地,可以仅允许具有接入该节点设备的权限的用户客户端与该节点设备建立连接,从而使与该用户客户端对应的用户可以通过该用户客户端访问该节点设备中的数据。
本说明书提出一种由区块链中的节点设备在接收到用户客户端发送的SSL(Secure Sockets Layer,安全套接字协议)连接请求时,获取该SSL连接请求中的与该用户客户端对应的客户端SSL证书包含的验证字段,并通过验证该验证字段对应的字符串是否匹配预设的字符规律,确定该用户客户端是否具有接入该节点设备的权限,以实现仅与具有接入该节点设备的权限的用户客户端建立连接的技术方案。
在具体实现时,用户客户端可以通过向区块链中的节点设备发送SSL连接请求,将与该用户客户端对应的SSL证书(称为客户端SSL证书)发送给该节点设备。
上述节点设备在接收到上述客户端SSL证书时,可以获取该客户端SSL证书包含的验证字段,并验证该验证字段对应的字符串是否匹配特定的字符规律。其中,该字符规律具体可以包括:具有接入该节点设备的权限的所有客户端SSL证书包含的验证字段对应的字符串的字符规律。
如果上述验证字段对应的字符串匹配上述字符规律,则可以认为与上述客户端SSL证书对应的用户客户端具有接入上述节点设备的权限,此时该节点设备可以与该用户客户端建立SSL连接;如果该验证字段对应的字符串不匹配该字符规律,则可以认为与该客户端SSL证书对应的用户客户端不具有接入该节点设备的权限,此时该节点设备可以拒绝与该用户客户端建立SSL连接。
在上述技术方案中,可以由区块链中的节点设备在接收到用户客户端发送的SSL连接请求时,获取该SSL连接请求中的与该用户客户端对应的客户端SSL证书包含的验证字段,并通过验证该验证字段对应的字符串是否匹配预设的字符规律,确定该用户客户端是否具有接入该节点设备的权限,以实现仅与具有接入该节点设备的权限的用户客户端建立连接。采用这样的方式,可以仅允许具有接入区块链中的节点设备的权限的用户客户端与该节点设备建立连接,从而使与该用户客户端对应的用户可以通过该用户客户端访问该节点设备中的数据,以实现针对区块链中的节点设备进行数据访问的权限管理。
请参考图2,图2是本说明书一示例性实施例示出的一种区块链节点连接方法的流程图。
结合如图1所示的区块链系统,上述区块链节点连接方法可以应用于如图4所示的区块链中的节点设备;该区块链节点连接方法可以包括以下步骤:
步骤202,接收用户客户端发送的SSL连接请求;其中,所述连接请求包括与所述用户客户端对应的客户端SSL证书;
步骤204,获取所述客户端SSL证书包含的验证字段,并验证所述验证字段对应的字符串是否匹配预设的字符规律;其中,所述字符规律包括具有接入所述节点设备的权限的客户端SSL证书包含的验证字段对应的字符串的字符规律;
步骤206,如果所述验证字段对应的字符串匹配所述字符规律,则与所述用户客户端建立SSL连接。
在实际应用中,为了保护数据安全,用户客户端与区块链中的节点设备建立连接时,通常采用的是SSL双向认证的连接方式。
在SSL双向认证的连接方式中,首先,用户客户端可以向区块链中的节点设备发送一个连接请求,该连接请求可以包括客户端SSL协议的版本号、生成的随机数,以及其他相关信息。该节点设备可以响应于该连接请求,向该用户客户端返回SSL协议的版本号、随机数,以及其他相关信息,同时该节点设备还可以向该用户客户端返回与该节点设备对应的SSL证书,以及与该SSL证书相关的信息(例如:该节点设备的公钥)。
后续,该用户客户端可以先验证与该节点设备对应的SSL证书是否是由可信的CA(Certificate Authority,数字证书颁发机构)所签发的;如果是,则可以继续执行SSL协议;如果不是,则可以向用户输出一个警告消息,以警告用户与该节点设备对应的SSL证书不可信,并询问用户是否需要继续执行SSL协议。该用户客户端可以再比较与该节点设备对应的SSL证书中的信息(例如:域名和公钥等信息)与该节点设备返回的信息是否一致;如果是,则可以确定该节点设备合法,即针对该节点设备的合法性验证通过。
在针对该节点设备的合法性校验通过之后,一方面,该用户客户端可以将与该用户客户端对应的SSL证书发送给该节点设备,从而使该节点设备可以对与该用户客户端对应的SSL证书进行验证;如果验证通过,则可以获取与该用户客户端对应的SSL证书中的公钥(即该用户客户端的公钥);如果验证未通过,则可以拒绝与该用户客户端建立SSL连接。
另一方面,该用户客户端可以将支持的对称加密算法发送给该节点设备,从而使该节点设备可以从这些对称加密算法中选择一种加密程度最高的对称加密算法,并在使用该用户客户端的公钥对该对称加密算法进行加密之后,将加密后的该对称加密算法发送给该用户客户端。
在使用该用户客户端的私钥对加密后的该对称加密算法进行解密,确定在通信过程中使用该对称加密算法之后,该用户客户端可以针对该对称加密算法,选择一个通信密钥,并在使用该节点设备的公钥对该通信密钥进行加密之后,将加密后的该通信密钥发送给该节点设备,从而使该节点设备可以使用该节点设备的私钥对加密后的该通信密钥进行解密,得到该通信密钥。
在该用户客户端和该节点设备都获取到了该对称加密算法和该通信密钥的情况下,可以认为完成建立该用户客户端与该节点设备的SSL连接,后续该用户客户端与该节点设备可以使用该对称加密算法和该通信密钥对该用户客户端与该节点设备之间传输的数据进行加密。
在本实施例中,参考上述建立SSL连接的过程,用户客户端可以通过向区块链中的节点设备发送SSL连接请求,将与该用户客户端对应的SSL证书(称为客户端SSL证书)发送给该节点设备。
在示出的一种实施方式中,上述区块链可以是联盟链。对于联盟链中的节点设备而言,该节点设备通常仅对该节点设备的所有人和该节点设备允许的其他用户(例如:该节点设备的所有人授权的用户)开放访问权限。在这种情况下,可以仅允许具有接入该节点设备的权限的用户客户端与该节点设备建立连接,从而使与该用户客户端对应的用户可以通过该用户客户端访问该节点设备中的数据。
在本实施例中,上述节点设备在接收到上述客户端SSL证书时,可以获取该客户端SSL证书包含的验证字段,并验证该验证字段对应的字符串是否匹配特定的字符规律。其中,该字符规律具体可以包括:具有接入该节点设备的权限的所有客户端SSL证书包含的验证字段对应的字符串的字符规律。
通常,SSL证书的主题(Subject)可以包含如下字段:
公用名称(Common Name),简称:CN字段;对于SSL证书,一般为网站域名;而对于代码签名证书则为申请单位名称;而对于客户端证书则为证书申请者的姓名;
单位名称(Organization Name),简称:O字段;对于SSL证书,一般为网站域名;而对于代码签名证书则为申请单位名称;而对于客户端单位证书则为证书申请者所在单位名称;
所在城市(Locality),简称:L字段;
所在省份(State/Provice),简称:S字段;
所在国家(Country),简称:C字段,只能是国家字母缩写,如中国:CN;
电子邮件(Email),简称:E字段;
多个姓名字段,简称:G字段;
介绍字段,Description字段;
电话号码字段,Phone字段,格式要求:+ 国家区号 城市区号 电话号码,如:+ 86732 88888888;
地址字段:STREET字段;
邮政编码字段:PostalCode字段;
显示其他内容的字段,简称:OU字段。
在示出的一种实施方式中,上述验证字段可以包括上述客户端SSL证书的主题(Subject)中的公用名称(Common Name,CN)字段或者OU字段。需要说明的是,该验证字段对应的字符串可以是由该验证字段包含的全部字符组成的字符串,也可以是由该验证字段包含的部分字符组成的字符串;具体可以根据实际需求对验证字段对应的字符串的形式进行设置。
在实际应用中,可以将客户端SSL证书的Subject中的CN字段作为验证字段,并对作为验证字段的CN字段进行扩展,以将CN字段中的扩展出的字符串作为验证字段对应的字符串,例如:可以在作为验证字段的CN字段的原始字符串前面添加前缀字符串,以将该前缀字符串作为该验证字段对应的字符串。
举例来说,假设对于某个客户端SSL证书的Subject中的CN字段而言,将该CN字段中的原始字符串用“.*”表示(该原始字符串可以是CN字段包含的网站域名或证书申请者的姓名等原始内容对应的字符串),则可以将该CN字段扩展为“abc.*”,此时在该CN字段作为验证字段时,扩展出的前缀字符串“abc”即可作为该验证字段对应的字符串。
在示出的一种实施方式中,上述字符规律可以包括正则表达式。在这种情况下,上述节点设备在获取到上述客户端SSL证书包含的验证字段之后,可以验证该验证字段对应的字符串是否匹配该正则表达式;如果匹配,则可以认为该验证字段对应的字符串匹配特定的字符规律;如果不匹配,则可以认为该验证字段对应的字符串不匹配特定的字符规律。
举例来说,假设具有接入该节点设备的权限的所有客户端SSL证书包含的验证字段对应的字符串有两种类型,这两种类型分别为:abc.*(其中,“abc”为CN字段的前缀字符串,“.*”代表CN字段的原始字符串)、def.*(其中,“def”为CN字段的前缀字符串,“.*”代表CN字段的原始字符串),则具有接入该节点设备的权限的所有客户端SSL证书包含的验证字段对应的字符串的字符规律可以包括:“abc.*|def.*”这一正则表达式。在该正则表达式中,“|”表示匹配“abc.*”或“def.*”。
在这种情况下,该节点设备在获取到作为验证字段的客户端SSL证书的Subject中的CN字段之后,如果确定该验证字段对应的字符串为“abc.*”或“def.*”,则可以认为该验证字段对应的字符串匹配“abc.*|def.*”这一正则表达式;如果确定该验证字段对应的字符串既不是“abc.*”,也不是“def.*”,则可以认为该验证字段对应的字符串不匹配“abc.*|def.*”这一正则表达式。
在本实施例中,由于上述字符规律包括具有接入上述节点设备的权限的所有客户端SSL证书包含的验证字段对应的字符串的字符规律,因此,如果上述验证字段对应的字符串匹配该字符规律,则可以认为与该客户端SSL证书对应的用户客户端具有接入该节点设备的权限,此时该节点设备可以与该用户客户端建立SSL连接;如果该验证字段对应的字符串不匹配该字符规律,则可以认为与该客户端SSL证书对应的用户客户端不具有接入该节点设备的权限,此时该节点设备可以拒绝与该用户客户端建立SSL连接。
下面对具有接入上述节点设备的权限的所有客户端SSL证书包含的验证字段对应的字符串的字符规律的生成过程进行说明。
在示出的一种实施方式中,首先,可以由上述节点设备获取具有接入该节点设备的权限的所有客户端SSL证书包含的验证字段对应的字符串,例如:用户可以通过该节点设备提供的用户界面输入具有该节点设备的权限的所有客户端SSL证书包含的验证字段对应的字符串,从而使该节点设备可以将获取到的该用户输入的所有客户端SSL证书包含的验证字段对应的字符串作为具有该节点设备的权限的所有客户端SSL证书包含的验证字段对应的字符串。
后续,该节点设备可以对这些字符串进行数据分析,以确定与这些字符串匹配的字符规律(即这些字符串中的任一字符串都匹配该字符规律),并将该字符规律作为用于对用户客户端进行字符串验证的字符规律。
在示出的另一种实施方式中,也可以由用户自行对具有接入上述节点设备的权限的所有客户端SSL证书包含的验证字段对应的字符串进行分析,以确定与这些字符串匹配的字符规律,并通过该节点设备提供的用户界面输入该字符规律,从而使该节点设备可以将获取到的该用户输入的字符规律作为用于对用户客户端进行字符串验证的字符规律。
在示出的一种实施方式中,在上述节点设备与上述用户客户端建立了SSL连接之后,与该用户客户端对应的用户可以通过该用户客户端对其他用户进行授权。具体地,该用户可以通过该用户客户端提供的用户界面输入待授权的客户端SSL证书(即与待授权的用户对应的用户客户端的客户端SSL证书)包含的验证字段对应的字符串,从而使该用户客户端可以将该待授权的客户端SSL证书包含的验证字段对应的字符串发送给该节点设备。
在这种情况下,在接收到该待授权的客户端SSL证书包含的验证字段对应的字符串之后,该节点设备可以基于该待授权的客户端SSL证书包含的验证字段对应的字符串对上述字符规律进行更新,以使该待授权的客户端SSL证书包含的验证字段对应的字符串匹配更新后的该字符规律。
在示出的另一种实施方式中,也可以由用户在对其他用户进行授权时,基于待授权的客户端SSL证书(即与待授权的用户对应的用户客户端的客户端SSL证书)包含的验证字段对应的字符串,自行对上述节点设备中存储的上述字符规律进行更新。
在上述技术方案中,可以由区块链中的节点设备在接收到用户客户端发送的SSL连接请求时,获取该SSL连接请求中的与该用户客户端对应的客户端SSL证书包含的验证字段,并通过验证该验证字段对应的字符串是否匹配预设的字符规律,确定该用户客户端是否具有接入该节点设备的权限,以实现仅与具有接入该节点设备的权限的用户客户端建立连接。采用这样的方式,可以仅允许具有接入区块链中的节点设备的权限的用户客户端与该节点设备建立连接,从而使与该用户客户端对应的用户可以通过该用户客户端访问该节点设备中的数据,以实现针对区块链中的节点设备进行数据访问的权限管理。
与前述区块链节点连接方法的实施例相对应,本说明书还提供了区块链节点连接装置的实施例。
本说明书区块链节点连接装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书区块链节点连接装置所在电子设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该区块链节点连接的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图4,图4是本说明书一示例性实施例示出的一种区块链节点连接装置的框图。
该区块链节点连接装置40可以应用于如图3所示的电子设备,该电子设备可以作为节点设备加入至区块链;该区块链节点连接装置40可以包括:
第一接收模块401,接收用户客户端发送的SSL连接请求;其中,所述连接请求包括与所述用户客户端对应的客户端SSL证书;
验证模块402,获取所述客户端SSL证书包含的验证字段,并验证所述验证字段对应的字符串是否匹配字符规律;其中,所述字符规律包括具有接入所述节点设备的权限的客户端SSL证书包含的验证字段对应的字符串的字符规律;
连接模块403,如果所述验证字段对应的字符串匹配所述字符规律,则与所述用户客户端建立SSL连接。
在本实施例中,所述验证字段包括所述客户端SSL证书的主题中的公用名称字段或者OU字段。
在本实施例中,所述区块链为联盟链。
在本实施例中,所述字符规律包括正则表达式;
所述验证模块402:
验证所述验证字段对应的字符串是否匹配所述正则表达式。
在本实施例中,所述装置40还包括:
获取模块404,获取具有接入所述节点设备的权限的客户端SSL证书包含的验证字段对应的字符串;
分析模块405,对所述字符串进行数据分析,以确定与所述字符串匹配的字符规律。
在本实施例中,所述装置40还包括:
第二接收模块406,在与所述用户客户端建立了SSL连接之后,接收所述用户客户端发送的客户端授权请求;其中,所述客户端授权请求包括与待授权的客户端SSL证书包含的验证字段对应的字符串;
更新模块407,基于所述字符串对所述字符规律进行更新,以使所述字符串匹配更新后的所述字符规律。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (14)

1.一种区块链节点连接方法,所述方法应用于区块链中的节点设备;所述方法包括:
接收用户客户端发送的SSL连接请求;其中,所述连接请求包括与所述用户客户端对应的客户端SSL证书;
获取所述客户端SSL证书包含的验证字段,并验证所述验证字段对应的字符串是否匹配字符规律;其中,所述字符规律包括具有接入所述节点设备的权限的客户端SSL证书包含的验证字段对应的字符串的字符规律;
如果所述验证字段对应的字符串匹配所述字符规律,则与所述用户客户端建立SSL连接。
2.根据权利要求1所述的方法,所述验证字段包括所述客户端SSL证书的主题中的公用名称字段或者OU字段。
3.根据权利要求1所述的方法,所述区块链为联盟链。
4.根据权利要求1所述的方法,所述字符规律包括正则表达式;
所述验证所述验证字段对应的字符串是否匹配预设的字符规律,包括:
验证所述验证字段对应的字符串是否匹配所述正则表达式。
5.根据权利要求1所述的方法,所述方法还包括:
获取具有接入所述节点设备的权限的客户端SSL证书包含的验证字段对应的字符串;
对所述字符串进行数据分析,以确定与所述字符串匹配的字符规律。
6.根据权利要求5所述的方法,所述方法还包括:
在与所述用户客户端建立了SSL连接之后,接收所述用户客户端发送的客户端授权请求;其中,所述客户端授权请求包括与待授权的客户端SSL证书包含的验证字段对应的字符串;
基于所述字符串对所述字符规律进行更新,以使所述字符串匹配更新后的所述字符规律。
7.一种区块链节点连接装置,所述装置应用于区块链中的节点设备;所述装置包括:
第一接收模块,接收用户客户端发送的SSL连接请求;其中,所述连接请求包括与所述用户客户端对应的客户端SSL证书;
验证模块,获取所述客户端SSL证书包含的验证字段,并验证所述验证字段对应的字符串是否匹配字符规律;其中,所述字符规律包括具有接入所述节点设备的权限的客户端SSL证书包含的验证字段对应的字符串的字符规律;
连接模块,如果所述验证字段对应的字符串匹配所述字符规律,则与所述用户客户端建立SSL连接。
8.根据权利要求7所述的装置,所述验证字段包括所述客户端SSL证书的主题中的公用名称字段或者OU字段。
9.根据权利要求7所述的装置,所述区块链为联盟链。
10.根据权利要求7所述的装置,所述字符规律包括正则表达式;
所述验证模块:
验证所述验证字段对应的字符串是否匹配所述正则表达式。
11.根据权利要求7所述的装置,所述装置还包括:
获取模块,获取具有接入所述节点设备的权限的客户端SSL证书包含的验证字段对应的字符串;
分析模块,对所述字符串进行数据分析,以确定与所述字符串匹配的字符规律。
12.根据权利要求11所述的装置,所述装置还包括:
第二接收模块,在与所述用户客户端建立了SSL连接之后,接收所述用户客户端发送的客户端授权请求;其中,所述客户端授权请求包括与待授权的客户端SSL证书包含的验证字段对应的字符串;
更新模块,基于所述字符串对所述字符规律进行更新,以使所述字符串匹配更新后的所述字符规律。
13.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1至6中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1至6中任一项所述的方法。
CN202110739123.7A 2021-06-30 2021-06-30 区块链节点连接方法、装置及电子设备 Pending CN113254731A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110739123.7A CN113254731A (zh) 2021-06-30 2021-06-30 区块链节点连接方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110739123.7A CN113254731A (zh) 2021-06-30 2021-06-30 区块链节点连接方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN113254731A true CN113254731A (zh) 2021-08-13

Family

ID=77190503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110739123.7A Pending CN113254731A (zh) 2021-06-30 2021-06-30 区块链节点连接方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113254731A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107426157A (zh) * 2017-04-21 2017-12-01 杭州趣链科技有限公司 一种基于数字证书以及ca认证体系的联盟链权限控制方法
CN109450843A (zh) * 2018-09-14 2019-03-08 众安信息技术服务有限公司 一种基于区块链的ssl证书管理方法及系统
CN112235266A (zh) * 2020-09-29 2021-01-15 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
CN112636924A (zh) * 2020-12-23 2021-04-09 北京天融信网络安全技术有限公司 网络资产识别方法及装置、存储介质及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107426157A (zh) * 2017-04-21 2017-12-01 杭州趣链科技有限公司 一种基于数字证书以及ca认证体系的联盟链权限控制方法
CN109450843A (zh) * 2018-09-14 2019-03-08 众安信息技术服务有限公司 一种基于区块链的ssl证书管理方法及系统
CN112235266A (zh) * 2020-09-29 2021-01-15 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
CN112636924A (zh) * 2020-12-23 2021-04-09 北京天融信网络安全技术有限公司 网络资产识别方法及装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN110060162B (zh) 基于区块链的数据授权、查询方法和装置
US10891384B2 (en) Blockchain transaction device and method
US10121143B1 (en) Method and system for blockchain-based combined identity, ownership, integrity and custody management
US9740849B2 (en) Registration and authentication of computing devices using a digital skeleton key
CN104715187B (zh) 用于认证电子通信系统中的节点的方法和装置
US8707404B2 (en) System and method for transparently authenticating a user to a digital rights management entity
US9698974B2 (en) Method for creating asymmetrical cryptographic key pairs
WO2021174927A1 (zh) 基于区块链的身份校验方法、装置、设备及存储介质
CN109729041B (zh) 一种加密内容的发布以及获取方法及装置
KR20210040078A (ko) 안전한 보관 서비스를 위한 시스템 및 방법
CN108055352A (zh) 用于密钥链同步的系统和方法
US11128457B2 (en) Cryptographic key generation using external entropy generation
CN112532650A (zh) 一种基于区块链的多备份安全删除方法、系统
CN116644479A (zh) 一种基于区块链技术的防篡改电子合同签约方法
Thomas et al. Distributed identity and verifiable claims using Ethereum standards
CN112990925B (zh) 资产凭证的管理方法及装置
CN110914826B (zh) 用于分布式数据映射的系统和方法
WO2024011863A9 (zh) 通信方法、装置、sim卡、电子设备和终端设备
CN114365134A (zh) 使用不可克隆函数的安全身份证
CN113254731A (zh) 区块链节点连接方法、装置及电子设备
Glauser Self-Sovereign Identities in Cardossier
Jacobino et al. TrustVault: A privacy-first data wallet for the European Blockchain Services Infrastructure
US20040158564A1 (en) System and method for facilitating information transformations
CN115062063B (zh) 基于区块链的数据查询方法和装置
CN111355710B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210813

RJ01 Rejection of invention patent application after publication