CN117044166A - 经许可区块链对计算网络进行访问的系统和方法 - Google Patents

经许可区块链对计算网络进行访问的系统和方法 Download PDF

Info

Publication number
CN117044166A
CN117044166A CN202280023357.4A CN202280023357A CN117044166A CN 117044166 A CN117044166 A CN 117044166A CN 202280023357 A CN202280023357 A CN 202280023357A CN 117044166 A CN117044166 A CN 117044166A
Authority
CN
China
Prior art keywords
network
node
host node
computing nodes
computing
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
CN202280023357.4A
Other languages
English (en)
Inventor
O·奥卢耶米
冉川
V·莫瓦
A·J·谢里夫
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN117044166A publication Critical patent/CN117044166A/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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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
    • 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
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • 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/41User authentication where a single sign-on provides access to a plurality of computers
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • 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/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • 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
    • 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

一种用于提供对计算节点网络的访问的计算机实现的系统、方法和计算机程序产品,其包括:由客户端请求访问所述网络中的主机节点,所述主机节点优选为专用网络;选择数字证书发布器;由所述数字证书发布器验证所述客户端的令牌的所述身份;由所述证书发布器将随机数添加到分布式分类账;以及授权所述客户端访问所述网络中的所述主机节点。实施例中的计算节点基于CPU容量被排名,并且具有最高CPU容量排名的计算节点被选择来参与容量证明共识以解出随机数。

Description

经许可区块链对计算网络进行访问的系统和方法
背景技术
本申请总体上涉及信息处理和/或数据处理网络,并且更具体地涉及认证网络中的用户,并且优选地使用改进的经许可的区块链过程来提供对计算网络的访问(例如,远程访问)。
SSH,也称为安全壳或安全套壳,是加密网络协议,它给予用户通过不安全网络访问计算机的安全方式。SSH是一种用于从一个计算机到另一个计算机的安全远程登录的方法,该方法提供强认证并且保护具有强加密的通信。安全壳(SSH)证书是向计算网络中的一个或多个主机认证多个用户的可扩展方式。所有主机都被配置为信任由证书授权机构的公钥签署的任何证书。证书授权机构是传统上从单个主机发布的密钥对(公钥和私钥)。问题在于,如果该单个主机发生故障(例如,该单个主机的中断),则试图登入网络将失败。换言之,如果该单个主机不能发布数字证书(例如,证书权威机构(CA)),则客户端/对等计算设备不能加入网络,并且因此具有一个中央证书权威机构可以是单个潜在的毁灭性故障点。当单个的服务器出现问题时,使用专有的CA服务器会带来风险,因为在服务器恢复和运行期间SSH身份验证将被阻止。拥有一种系统和/或方法来克服具有发布权威证书(例如,SSH证书)的单一计算节点的缺点将是有利的。
此外,由单个的服务器发出授权证书也会导致将新计算节点登入到网络中的过程效率低下。每次将新节点添加到网络时,都需要若干步骤才能使得新节点能够从CA服务器接收签名的证书。在每个新节点上都需要上传授权证书的公钥和SSHD配置更改。当授权证书公钥必须更改时,也需要这些步骤。使用单个CA服务器处理所有这些任务方面可能效率低下。具有克服具有单个服务器或计算节点处理所有任务以使得新节点能够访问网络的缺点的系统和/或方法将是有益的。
发明内容
给出本公开的概述以帮助理解本公开,而不是意图限制本公开。本公开针对本领域普通技术人员。应当理解,本公开的各个方面和特征可有利地单独地用于一些情况或实例中,或者与其他情况或实例中的本公开的其他方面、实施例和/或特征组合。因此,可以对系统和/或方法做出改变和修改以实现不同的效果。在这点上,应当理解,本公开呈现并描述一个或多个发明,并且在各方面包括由权利要求限定的多个发明。
公开了一种用于提供对计算节点网络(优选地,计算节点的封闭网络)的访问的系统、方法和/或计算机程序产品。在一个或多个实施例中,系统、方法和/或计算机程序包括:由客户端请求访问网络中的主机节点,优选为专用网络;选择数字证书发布器;由所述数字证书发布器验证所述客户端的令牌的身份;由证书发布器将随机数添加到分布式分类账;以及授权所述客户端访问所述网络中的所述主机节点。在一个实施例中,系统、方法和/或计算机程序产品包括对网络中的计算节点进行排名,并且根据它们在网络中的排名选择一个或多个(优选地至少三个)计算节点来参与容量证明共识来解决随机数问题。优选地,对网络中的计算节点进行排序基于其未使用的CPU容量。在实施例中,系统、方法和/或计算机程序产品还包括选择具有最高排名的计算节点作为主矿工,并且由主矿工从安装在主矿工上的插件检索期限。在一方面,该系统、方法、和/或计算机程序产品还包括在被选择参与容量证明共识的所有计算节点上的随机数解决方案存储区中存储该随机数的所有可能的解决方案。
在一个方面,系统、方法和/或计算机程序产品还包括由被选择以参与容量证明共识的所有计算节点来计算容量证明共识以解出随机数。在一方面,该系统、方法、和/或计算机程序产品还包括选择包含随机数的解的节点作为数字证书发布器。在另一方面中,所述系统、方法和/或计算机程序产品还包括:由被选择以参与所述容量证明共识的所有计算节点来计算用于解出所述随机数的所述容量证明共识,以及响应于在所述最后期限内未被选择以参与针对所述随机数的所述容量证明共识求解的所述计算节点中的任何计算节点而选择所述主矿工作为数字证书发布器。
在一个或多个实施例中,系统、方法和/或计算机程序产品还包括将新的主机节点添加到网络,其中将新的主机节点添加到网络包括:由网络上的所有计算节点确定新的主机节点是否具有网络定义的特性集;响应于确定所述新的主机节点具有网络定义的特性集,从所述新的主机节点检索状态信息;以及与所述网络上的所有计算节点共享所述状态信息。在一方面中向所述网络添加新主机节点还包括与所述新主机节点共享所述分布式分类账,并且在另一方面中包括:确保所述新主机节点要被添加到与所述计算节点相同的网络;在新的主机节点上安装插件;通过插件检测网络;以及通知网络上的所有计算节点新的主机节点已经加入网络。在实施例中,与所述新主机节点共享所述分布式分类账包括使用RAFT协议,其中与所述新主机节点共享在RAFT领导节点中包含所述分布式分类账的数据库。
还公开了一种包括编程指令的非瞬态计算机可读介质,该编程指令在由至少硬件处理器执行时将该至少硬件处理器配置成执行以上所讨论的过程和/或步骤。在一个或多个方面,公开了一种配置计算节点网络的计算机实现的系统和/或方法,其中计算机实现的系统和/或方法包括:存储程序指令的存储器存储设备;以及硬件处理器,所述硬件处理器具有用于执行所述程序指令以配置所述计算节点网络的电路和逻辑,所述硬件处理器耦合到所述存储器存储设备,并且响应于执行所述程序指令,所述硬件处理器被配置为执行上述过程和/或步骤。在一个或多个实施例中,系统、方法和/或计算机程序产品将新的主机节点添加到网络,其中系统、方法和/或计算机程序产品被配置和/或包括指令以:确定是否将新的主机节点添加到与其他计算节点相同的网络;响应于确定所述新的主机节点要被添加到与其他计算节点相同的网络,在所述新的主机节点上安装插件;通过所述插件检测所述网络;通知所述网络上的所有计算节点新的主机节点已经加入所述网络;以及与所述新的主机节点共享所述分布式分类账。在实施例中,该插件包括证书发布模块、排名算法模块、随机数生成器、包含分布式分类账和状态信息的文档数据库、以及键-值数据库。
本发明的前述和其他目的、特征和/或优点将从如在附图中示出的本发明的以下更具体的描述和示例性实施例中变得明显,其中相同的附图标记通常代表本发明的说明性实施例的相同部分。
附图说明
在结合所提供的附图进行阅读时,将更好地理解用于将主机添加到网络和/或准许客户端远程访问到网络中的节点(例如,节点的计算网络)中、并且在一方面中将节点和/或远程访问添加到封闭网络中的节点中的系统和/或方法的各个方面、特征和/或实施例。出于说明所述系统和方法的方面、特征和/或不同细节的目的,在附图中提供了实施例,但所述权利要求不应限于所示的精确布置、特征、方面、实施例、系统、模块、功能单元、编程、指令、方法、过程、技术和/或装置,且所示的布置、特征、方面、实施例、系统、模块、功能单元、编程、指令、方法、过程、技术和/或装置可单独使用或与其他布置、特征、方面、实施例、系统、模块、功能单元、编程、指令、方法、技术、过程和/或装置组合使用。
图1描述了根据本公开的实施方式在对等网络上的连接的两个对等设备;
图2描述了对等组中的通过网络连接的多个对等设备;
图3示出了根据本公开通过网络可连接至其他对等设备的示例性对等设备;
图4示意性描述了根据本发明的一个或多个实施方式的具有可连接的多个对等设备的示例性对等网络;
图5示意性示出了用于实现本公开的一个或多个实施例的到对等设备或节点的插件的概览图的实施例;
图6示意性地示出根据本公开的一个或多个实施例的作为图5中的插件的一部分的证书发布模块的图;
图7示出了根据本公开的实施方式的将计算节点(例如,主机节点)添加到网络的方法的示意性流程图;
图8示出了根据本公开的实施方式的节点(例如,客户端)获得对网络中的一个节点的访问的方法的示意性流程图;以及
图9示出根据本公开的实施例的选择授权证书(CA)发行器的方法的示意性流程图;
图10示出了根据本公开的实施方式的在网络中的节点之间同步数据的方法的示意性流程图。
具体实施方式
以下描述是为了说明本发明的一般原理而进行的,并且不意味着限制在此要求保护的发明概念。在以下详细描述中,阐述了许多细节以便提供对用于安全地访问计算网络中的节点和/或对等设备、并且在一方面中添加节点并且获得对计算网络的远程访问的本发明的系统、方法和/或技术的理解。然而,所属领域的技术人员应当理解,可在没有特定细节的情况下实施本发明的系统和/或方法的不同且众多实施例,且权利要求书和披露内容不应限于本文中具体描述和显示的布置、系统、装置、模块、功能单元、编程、指令、实施例、特征、方面、过程、方法、技术和/或细节。进一步,本文描述的特定特征、方面、实施例、布置、系统、装置、模块、功能单元、编程、指令、方法、过程、技术、细节等可以在各种可能的组合和置换的每个中与其他描述的特征、方面、实施例、布置、结构、系统、装置、模块、功能单元、编程、指令、技术、方法、过程、细节等组合使用。
假定本领域技术人员熟悉计算环境,包括网络计算环境,包括例如使用例如SSH协议获得对计算节点网络的安全访问。进一步假定本领域技术人员熟悉经许可的区块链技术。以下讨论省略或仅简要描述计算网络的常规特征,包括计算网络架构、经许可的区块链技术、对计算机节点的远程访问(例如,SSH远程访问)以及它们的操作,这对本领域技术人员是显而易见的。要注意的是,根据引入元件的示图,编号元件,并且在后续示图中通常通过该数字指代编号元件。
图1示出了连接在计算网络30中的两个对等装置25A和25B,也称为计算节点。对等装置25可以是计算机、虚拟计算机或虚拟机(VM)、或节点。两个对等装置25中的任一个可以用作另一对等装置的主机或客户端。图2示出了通过计算网络30中的网络24连接的几个对等装置25。在计算网络30中,任何对等装置25可以充当其他对等装置的主机或客户端。对等装置25也称为节点,并且如图所示,可以采用许多形式,例如,计算机32、膝上型电脑33、智能电话34、个人助理35、终端36、虚拟机或其他形式。
图3示出了根据本公开的可用作计算网络中的节点25的示例性计算系统。应当理解,所描绘的计算机系统或计算节点25仅仅是合适的电子计算机系统的一个示例,并且不旨在对本发明的实施例的使用或功能的范围提出任何限制。例如,所示的系统可以与许多其他通用或专用计算系统环境或配置一起操作。可以适用于图3中所示的系统的众所周知的计算系统、环境和/或配置的示例可以包括但不限于大型计算机系统、服务器计算机系统、瘦客户机、厚客户机、个人计算机、联网计算机、小型计算机系统、手持式或膝上型设备、平板计算机、智能电话、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品和包括以上系统或设备中的任一个的分布式云计算环境等。
在一些实施例中,计算机系统或节点25可以在由计算机系统执行的计算机系统可执行指令的一般上下文中描述,这些指令体现为程序模块或存储在存储器16中的软件程序。通常,程序模块可以包括例程、程序、对象、组件、逻辑、数据结构等,它们执行根据本发明的特定任务和/或实现特定输入数据和/或数据类型。
计算机系统25的组件可以包括但不限于一个或多个处理器或处理单元12、存储器16、以及可操作地将包括存储器16的不同系统组件耦合至处理器12的总线14。在一些实施例中,处理器12可以执行从存储器16加载的一个或多个程序模块15,其中,程序模块体现使处理器执行本发明的一个或多个方法实施例的软件(程序指令)。在一些实施例中,程序模块15(例如,软件程序)可被编程到处理器12的电路中,从存储器16、存储装置18、网络24和/或其组合加载。通常理解的是,处理器12包含电路,这些电路包括用于执行处理器12的操作的集成电路。
总线14可以表示若干类型的总线结构中的任何一种中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线架构中的任一种的处理器或局部总线。作为示例而非限制,此类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线以及外围组件互连(PCI)总线。
计算机系统25可以包括各种计算机系统可读介质。这样的介质可以是可由计算机系统访问的任何可用介质,并且其可以包括易失性和非易失性介质、可移动和不可移动介质。存储器16(有时称为系统存储器)可包括易失性存储器形式的计算机可读介质,诸如随机存取存储器(RAM)、高速缓存存储器和/或其他形式的存储器。计算机系统25还可以包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅通过示例的方式,存储系统18可以被提供用于从不可移动、非易失性磁介质(例如,“硬盘驱动器”)中读取和向其写入。尽管未示出,可以提供用于从可移动非易失性磁盘(例如,“软盘”)读取或向其写入的磁盘驱动器,以及用于从可移动非易失性光盘(如CD-ROM、DVD-ROM或其他光学介质)读取或向其写入的光盘驱动器。在这样的情况下,每个可以通过一个或多个数据介质接口连接到总线14。
计算机系统25还可以与诸如键盘、定点设备、显示器28等的一个或多个外部设备26通信;和/或使计算机系统能够与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可经由输入/输出(I/O)接口20发生。
计算机系统或节点25可以经由网络适配器22与一个或多个网络24(如局域网(LAN)、通用广域网(WAN)、专用网络、公共网络(例如,互联网)和/或封闭网络)通信。在本公开中,与计算机系统25通信的一个或多个网络24将节点25连接到网络中的一个或多个其他节点,并且在一个实施例中为封闭网络。。如图所示,网络适配器22通过总线14与计算机系统的其他部件通信。应当理解,虽然未示出,但是其他硬件和/或软件组件可以与计算机系统结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器和数据归档存储系统等。
在一个或多个实施例中,提供网络中的计算机节点之间的许可的点对点SSH证书授权认证以用于高可用性SSH认证,,其中在一个方面中,允许网络中的所有主机参与签署用于访问(例如登录)任何网络主机的授权证书(CA)。在一个或多个实施例中,网络使用许可的区块链技术,其允许任何人在他们的身份的适当验证之后加入网络。在一个或多个方面中,使用许可的区块链技术来:许可所有主机通过协商一致的方式来验证经签名的授权证书,访问共享分类账,以及存储经签名的授权证书(CA)的记录。在实施例中,网络中的每个节点一起工作以发布授权证书,因此去除对发布授权证书(CA)的单个或唯一的节点的依赖。利用许可的区块链来向客户端节点授权SSH进入远程主机的能力,这可避免传统CA架构中的潜在单个故障点。
在实施例中,多个节点存储分布式或共享文档(分类账),所述分布式或共享文档具有向希望获得对网络中的任何节点的访问(例如,SSH访问)的客户端发布授权证书的能力。当网络中的所有节点运行区块链共识算法以验证客户端访问网络时,会颁发某方面的授权证书(CA)。根据实施例,共享分类账用于存储已(have)访问、已经(have had)访问、或已经被拒绝访问封闭网络中的任何远程主机的所有客户端。方面中的每个主机节点具有被授权访问的所有节点的副本,这提高了审核的能力。
在进一步的实施例中,对网络中用于运行区块链共识算法的计算节点中未使用的CPU进行监控和排名。优选地,具有更多未使用的计算能力的节点在解决区块链共识算法时被给予优先权。以此方式,用于其他操作(例如,任务关键操作)的CPU不会被区块链进程阻止或卡住。在一个或多个实施例中,系统和/或方法使用一组节点特性来验证并使计算节点能够容易地加入和/或离开网络。
公开了一种用于在计算网络中的计算节点之间进行认证的许可区块链(例如,点对点SSH认证机构)的系统,以用于高可用性SSH认证。在实施例中,所有主机可通过共识来验证签署的数字证书,存储签署的数字证书的记录(例如,存储已(have)访问、已经(havehad)访问和已被拒绝访问网络(例如,封闭网络)中的任何主机的所有客户端),和访问共享分布式分类账。在一个或多个方面,优选地具有未使用容量的多个节点具有向期望获得对网络中的任何节点的访问(例如,SSH访问)的用户(客户端)发布数字证书的能力。在另一方面中,所述多个节点存储所述共享、分布式分类账,并且当所述网络中的所述节点运行容量证明共识算法来验证所述用户(客户端)被授权访问所述节点和/或网络时,所述数字证书被发布。
图4示出了也称为对等装置的计算节点25的计算网络30。网络30优选地在一个或多个实施例中是封闭网络,并且在图4中示出了封闭环形网络拓扑。每个节点25例如可以是计算机和/或虚拟机。每个节点可以是主机或客户端。主机通常是连接到其他设备(例如计算机)的计算机硬件设备或软件,主机优选地通过计算网络为其提供数据或服务。连接在网络30上的每个节点25(例如计算机)可以充当网络30上的其他对等体或节点25的主机。主机例如可以是计算机、虚拟机、对等装置和/或节点。客户端通常是访问服务器或主机可用的服务或数据的计算机硬件设备或软件。服务器或主机通常位于与客户端分开的物理计算机上,并且客户端通过网络来访问数据和/或服务。主机例如可以是计算机、虚拟机、对等装置和/或节点。
网络30中的每个计算机节点25配备有操作系统(O/S)软件插件40。在一个或多个实施例中,每个计算节点25安装插件40,并且优选地使用由操作系统(O/S)利用的适当的包管理器来安装、维护和更新该插件。在一个或多个实施方式中,插件40包括节点监控、排名算法、节点信息捕获、区块链容量证明算法、RAFT协议、以及非对称CA密钥的共享副本。在示例性实施方式中,如图5所示,每个插件40包括随机数解决方案生成器42、排名算法模块44、RAFT协议模块46、文档数据库50、键-值数据库60和证书发布模块70。应当理解,插件40和所公开的模块提供用于在实施例中操作电路的指令和逻辑,以便处理和/或促进将节点25(例如主机节点)安全地添加到网络30,并且在一个方面,以便处理和/或促进客户端安全地访问(例如获得SSH远程访问)到网络30中的节点25之一。可以理解,在实施例中,客户端不必在网络中。
加入网络30的第一节点25中的插件40创建区块链(例如,分布式分类账)的生成块。加入网络30的第一节点25创建和/或进行所有必要的配置和标准,用于确认边界节点(例如,授权证书配置、达成共识所需的最小节点数量等)。在下载插件40得到的配置文件中保存有使边界节点生效的依据。新节点25在被成功验证为具有特征集之后可以加入网络30。这些特性可以包括但不限于主机名、新主机的域名系统(DNS)、新主机的子网、网络掩码、新主机的网络接口、入站/出站网络带宽等。在实施例中,加入网络的其他节点自动拾取第一节点的配置以加入网络。
在一个或多个实施例中,当客户端请求访问网络30中的任何节点25(例如,访问远程主机)时,选择节点25之一来发布签名的数字证书。在一方面,随机选择节点以用共享授权证书(CA)密钥对客户端的公钥进行签名。在实施例中,在向客户端授权访问网络之前,具有可用资源的节点计算共识算法以验证请求的真实性。当验证请求的真实性时,签署数字证书(CA),创建块,并且将签署的数字证书(例如,CA)作为块添加到区块链(例如,在分布式分类账中作出新的条目)。在另一实施例中,网络中的计算节点根据它们可用于发布签署的数字证书并计算共识算法的空闲和/或未使用的容量来排序。在方面,具有最大量的未使用和/或空闲计算容量的那些节点用于执行共识算法来验证客户端请求的真实性。以此方式,具有可用于区块链操作的资源的计算节点用于计算和/或解决区块链安全协议,从而避免任务关键操作的计算资源的消耗用于区块链操作。在实施例中,网络中的每个计算节点存储区块链(分布式分类账)的当前副本。
转到图5中的插件40的实施例的更多细节,图6中更详细描述的证书发布模块70生成并发布数字证书,例如授权证书(CA)。在一实施例中,证书发布模块70包含操作电路以发布数字证书的指令和逻辑。在一个或多个实施例中,不是一个节点发布授权证书(CA),而是网络中的每个节点,例如,网络30可以发布授权证书(CA)。在一方面,排名算法模块42确定和/或计算节点25的CPU容量,并且标识和/或排名网络30中具有最大CPU容量(例如,未使用的计算容量)的那些节点25。在一方面,排名算法模块42确定和/或选择哪些节点可以参与解决区块链共识问题并发布数字证书。在实施例中,排名算法模块42具有用于操作电路以确定、计算、标识和/或排名网络30中的节点25的CPU计算能力的指令和逻辑。一方面,每个插件40中的排名算法42确定其对应节点25的CPU计算能力并且接收网络中其他节点的CPU计算能力。在一个或多个实施例中,排名算法模块42正在寻找没有运行任务关键过程的节点,使得没有执行任务关键操作的节点可以执行许可的的区块链操作。
随机数解决方案生成器44生成随机数的可能解并且将这些可能解存储在随机数解决方案存储器66中。随机数是“仅使用一次的数字”的缩写,并且表示数学加密问题的解决方案。随机数是区块链矿工正在求解的数字(例如,散列)。在实施例中,随机数解决方案生成器44具有用于操作电路以生成和解决加密随机数的指令和逻辑。无论哪个节点可以产生随机数的解,该节点将被选择以将块挖掘到区块链中并生成数字证书(CA)。随机数解决方案生成器是本领域公知的。RAFT协议模块46在网络中的所有节点之间同步数据。RAFT是一种共识算法,它将状态机分布在计算节点的集群/网络上,确保集群/网络中的每个节点在相同系列状态转换上一致。RAFT协议模块46包括用于操作电路以使网络中的所有计算节点之间的数据同步的指令和逻辑。
插件40还包括文档数据库50,其包括区块链数据库52和状态数据库54。区块链数据库52包含区块链,例如,所发布的权威证书(CA)的分布式分类账。状态数据库54包括网络30中的机器的状态,例如节点信息,诸如例如存储器、存储装置、工作负载(进程)、主机名、IP地址等。插件40还包括键-值数据库60,其包括期限数据库62、随机数难度数据库64和随机数解决方案存储区66。期限数据库62存储任何矿工(参与容量证明算法的节点)求解随机数的期限,例如时间量。随机数难度数据库64包含提供对随机数的解决方案的标准。例如,随机数难度可被设置为以三个零(0)开始的随机16位数。随机数解决方案存储器66包括该随机数的所有解决方案(可能的猜测)的列表。
如图6所示,证书发布模块70包括证书生成器模块72、CA非对称密钥模块74、数字签名模块75、认证提供模块76和身份验证模块78。证书生成模块72具有用于操作电路以生成数字证书的指令和逻辑。当节点求解密码随机数时(例如,选择将发布数字证书的节点的容量证明过程),证书生成模块72被调用。证书生成器的输出是数字证书。
认证提供器76具有用于操作电路以提供和/或确定合法用户的认证的指令和逻辑。认证提供模块76接受来自身份验证模块78的输入以验证用户(例如,尝试获得远程访问的客户端)的身份。身份验证模块78具有用于操作电路的指令和逻辑,以验证用户的身份,例如用户的令牌。身份验证模块78从认证提供器模块76和客户端证书取得认证提供器(例如,MicrosoftActiveDirectory、GoogleSuite、Okta、Tokens)。身份验证模块78输出布尔值(例如,真/假指示符)以指示客户端是否能够被成功认证。客户端需要在尝试SSH到网络中的节点中之前指定证书和认证方法。
CA非对称密钥模块74为网络中的每个节点存储公钥和私钥。这两个密钥被用作数字签名器模块75的输入。数字签名器模块75具有用于操作电路以对授权证书(CA)进行签名的指令和逻辑。当生成数字证书时,数字签名器模块75用它从CA非对称密钥模块74接收的私钥对数字证书进行签名。数字签名器模块75从CA非对称密钥模块74接收输入(私钥)并且从证书生成器72接收数字证书(例如,CA),并且将私钥附加到数字证书(例如,CA)。数字签名器模块75输出签名后的数字证书(例如,CA)作为要添加到区块链的新块中的数据,并且还将证书返回到客户端以用作登录到目标节点的许可。目标节点可告知客户端所使用的证书是否为合法证书。
将结合图7-10更详细地讨论插件40和排名算法42、随机数解决方案生成器44、RAFT协议模块46、文档数据库50、键-值数据库60和证书发布器模块70。
图7是根据实施方式的示例性流程图,其示出和描述将节点添加到网络的方法700,包括在一方面将主机节点安全地添加到网络(优选地,封闭网络)中的一组主机。虽然为方便起见而不是为了限制本公开而将方法700描述为包括一系列和/或多个步骤,应当理解的是,该过程不需要作为一系列步骤进行和/或这些步骤不需要以相对于图7所示出和描述的顺序进行,但是该过程可以被集成和/或一个或多个步骤可以一起、同时地执行,或者这些步骤可以按照公开的顺序或者按照替代的顺序执行。
在一个或多个方面,将新节点(例如,主机节点)添加到网络的方法700包括在705处检查和/或验证要添加的新节点与其余节点(例如,其余主机节点)在同一的网络上。在一个或多个实施例中,进行检查以确定要添加的节点是否在相同的主域名系统(DNS)、相同的子网和/或相同的网络接口上/用于相同的主域名系统(DNS)、相同的子网和/或相同的网络接口。在一个或多个实施例中,该网络是封闭网络。在710处,将软件插件(例如,插件40)安装在新节点上。在720处,新节点(例如,节点25)上的插件检测网络并通知网络上的其他节点新节点已加入网络。在730,网络中的所有节点验证新节点是否具有网络定义的特性集。在新节点(例如,新主机节点)可加入节点(例如,封闭网络)的网络并且参与经许可的区块链能力之前,新节点需要针对定义的特性集来验证。这些特性可以包括但不限于主机名、新节点(例如,主机节点)的域名系统(DNS)、新节点(例如,主机节点)的子集、网络掩码、新节点(例如,新主机节点)的网络接口、入站/出站网络带宽等。
在740,该插件(例如,插件40)从该新节点检索状态信息并且与该网络(例如,该网络中的每个其他节点)共享该状态信息。在一方面,从插件40中的文档数据库50中的状态数据库54检索状态信息,以向网络中的其他节点发送状态信息。在网络中分发状态信息的方法和方式包括利用RAFT协议,并且在一个实施方式中,在方法1000和图10的流程图中描述。在750,与新节点共享区块链,例如分布式分类账。在一方面,分布式分类账由网络中的其他节点发送和/或从其他节点获得到新节点。以这种方式,新的节点(优选为主机节点)被添加到网络(优选为封闭网络),在一个或多个实施例中,该网络具有许可的区块链容量。该新节点优选地具有整个分布式/共享分类账的副本,例如整个区块链。
图8是描述远程访问网络中的节点(优选地,安全外壳(SSH)远程访问网络中的节点)的方法800的示例性流程图。虽然出于方便起见并且不旨在将本披露限制为包括一系列和/或多个步骤而描述了方法800,应当理解的是,该过程不需要作为一系列步骤进行和/或这些步骤不需要按照相对于图8示出和描述的顺序进行,但是该过程可以被集成和/或一个或多个步骤可以一起、同时地执行,或者这些步骤可以按照公开的顺序或者按照替代的顺序执行。
实施例中的方法800针对远程访问网络中的节点,并且在方面中具体地针对获得对网络的安全壳(SSH)远程访问。在805,客户端请求对网络中的节点的远程访问。在实施例中,客户端向网络中的节点发出对安全壳(SSH)的请求。在一个或多个方面中的网络是封闭网络。在810,选择授权证书(CA)发行器。结合图9的流程图和方法900更详细地描述选择授权证书(CA)发行器的实施例。
在815,所选择的证书发布器验证客户端的令牌的身份。对此,想要远程访问网络中的节点的客户端向插件40中的所选证书发布器70发送其令牌。客户端的令牌在客户端节点处生成,其中确立所选择的认证提供器将认证客户端证书并发出令牌。客户端是客户端的凭证的组合。客户端应在认证提供器模块76中具有现有凭证。在实施例中,在815,证书发布器70中的身份验证模块78用于对照认证提供器模块76中指定的认证提供器验证客户端的令牌(客户端的证书)。即,在一方面中,在815,身份验证模块78验证客户端的身份(身份验证模块检查客户端的令牌是否有效)。在820处,证书发布器将新证书、先前块的散列、时间戳和随机数添加到区块链,该新证书、先前块的散列、时间戳和随机数被存储在安装在网络(例如,封闭网络)中的所有节点上的软件插件40中的文档数据库50中的区块链数据库52中。使用插件40中的RAFT协议模块将该信息与网络中的其他节点同步。在825,客户端获得对节点的访问。
在实施例中,在815-825,执行经许可的区块链过程以准许客户端/用户获得对网络的远程访问。在一个方面中,网络中的每一节点一起工作以签署/发布证书授权以移除CA发布对一个单一节点的相依性。网络中的每个主机具有被授权访问任何远程主机的所有客户端的副本。所有主机具有共享分类账的副本,其标识已(have)、已经(have had)或已经被拒绝访问网络中的任何远程主机的所有客户端。
图9是描述选择证书发布器的方法900的示例性流程图,所述证书发布器优选用于安全壳(SSH)远程访问网络中的节点。虽然为方便起见而不是为了限制本公开而将方法900描述为包括一系列和/或多个步骤,应当理解的是,该过程不需要作为一系列步骤进行和/或这些步骤不需要按照关于图9所示出和描述的顺序进行,但是该过程可以被集成和/或一个或多个步骤可以一起、同时地执行,或者这些步骤可以按照公开的顺序或者按照替代的顺序执行。在一个或多个实施例中,在方法800中在810,方法900用于选择证书发布器。可以考虑用于选择证书发布器的其他方法。
在905,节点排名用于选择哪些一个或多个节点参与容量证明共识,例如,区块链容量证明共识。在实施例中,选择多个节点以参与容量证明共识,优选地奇数个节点。容量证明共识是密码学问题的解决方案,并且解决密码学问题使用节点的存储(例如,硬盘驱动器)上的可用空间来计算密码问题的解决方案。在一个或多个实施例中,在排名算法模块42中计算和排名网络中的节点的CPU容量。在905处使用节点CPU容量排名来选择用于解决容量证明共识的一个或多个(优选地3个或更多个)节点。
在910,选择最高等级的节点作为主挖掘器。在915,主矿工从插件检索该最后期限。即,在实施例中,主矿工在915处从其插件40检索来自键-值数据库60中的期限数据库62的截止时间。该期限是在选为参与解决容量证明共识的矿工(例如,节点)之一被选择为解决随机数的矿工(节点)之前流逝的时间量,例如以秒为单位。随机数(仅使用一次的数字)是矿工求解(例如,猜测)作为密码学问题的解决方案的数字。密码问题是随机数解决方案(其存储在键-值数据库60中的随机数难度数据库64中)。
在920处,参与求解容量证明密码共识问题的所有节点将随机数的所有可能解存储在随机数解存储器66中。即,在920处,选择参与容量证明共识的每个节点将随机数的所有可能解存储在其随机数解决方案存储器62中。在925,被选择为参与容量证明共识的矿工的每个节点开始容量证明共识算法计算。在实施例中,来自随机数解决方案储存器66的每个可能的解决方案被每个节点(例如,矿工)中的每个随机数解决方案生成器44使用,每个节点被选择为参与能力共识的区块链证明以生成针对随机数的解决方案。在930,选择在截止期限内包含对随机数的解的第一节点来发布权威证书。即,在930,解决随机数的节点将发出新的授权证书。如果没有节点在规定的截止期限时间内解决随机数,则在940,将选择主矿工作为发布权威证书的节点。在一个或多个实施例中,在实现期间,该随机数不必由主矿工或任何其他节点解决(猜测)。
图10是描述跨网络(例如,封闭网络30)的节点(例如,节点25)同步数据的方法1000的示例性流程图。虽然为方便起见而不是为了限制本公开而将方法1000描述为包括一系列和/或多个步骤,应当理解,该过程不需要作为一系列步骤进行和/或这些步骤不需要按照关于图10示出和描述的顺序进行,但是该过程可以被集成和/或一个或多个步骤可以一起、同时地执行,或者这些步骤可以按照公开的顺序或者按照替代的顺序执行。
在1005,将日志和/或数据库与时间戳一起存储在RAFT协议模块中。RAFT(可靠的、复制的、冗余的和容错的)是提供将状态机分布在计算节点或系统的集群/网络上的方式的共识算法。在一个方面,节点25的插件40中的RAFT协议模块46中的日志和/或数据库与时间戳一起存储。在1010处,响应于事件发生和/或当事件发生时,在任何节点上,将关于事件的数据记录在RAFT协议模块46中。1015处的节点被选择为RAFT领导者。在实施方式中,每个节点优选以循环方式轮流作为RAFT领导者,尽管考虑了其他选择方法。在1020处,RAFT领导节点中的数据库与剩余节点共享。RAFT领导者中的数据库可以响应于节点或当事件发生在节点上时、以固定或动态时间段、或根据其他标准共享。RAFT协议在本领域中是已知的,并且考虑了在网络的节点之间分配状态机的其他手段。
本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂态信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
此外,根据不同实施例的系统可包括处理器、处理器的功能单元或计算机实现的系统,以及与系统、处理器或功能单元集成和/或可由系统、处理器或功能单元执行的逻辑,逻辑被配置为执行本文所引用的一个或多个处理步骤。集成意味着在实施例中,功能单元或处理器具有嵌入其中的逻辑,作为硬件逻辑,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。通过功能单元或处理器可执行,意味着实施例中的逻辑是硬件逻辑;软件逻辑,诸如固件、操作系统的一部分、应用程序的一部分;等等,或硬件或软件逻辑的某种组合,所述硬件或软件逻辑可由功能单元或处理器访问并且被配置成在由所述功能单元或处理器执行时使所述功能单元或处理器执行一些功能。软件逻辑可以存储在任何存储器类型的本地和/或远程存储器上,如本领域中已知的。可以使用本领域已知的任何处理器,诸如软件处理器模块和/或硬件处理器,诸如ASIC、FPGA、中央处理单元(CPU)、集成电路(IC)、图形处理单元(GPU)等。
将清楚的是,前述系统和/或方法的不同特征可以以任何方式进行组合,从而从以上呈现的描述中创建多个组合。如果还将理解,本发明的实施例可以按代表客户部署的服务的形式来提供,以按需提供服务。
本文中使用的术语仅用于描述具体实施方式的目的,而并非旨在限制本发明。除非本文中另外特别限定,否则所有术语将被给予它们的最广泛的可能解释,包括从说明书中暗示的含义以及本领域技术人员所理解的含义和/或如在词典、论文等中限定的含义。如本文中使用的,除非上下文另有明确指示,否则单数形式“一”、“一个”和“该”旨在也包括复数形式。还应当理解,当在本说明书中使用术语“包括(comprises)”和/或“包含(comprising)”时,其指定所述特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组合的存在或添加。以下权利要求中的所有元件的相应结构、材料、动作和等同物旨在包括用于与如具体要求保护的其他要求保护的元件组合执行功能的任何结构、材料或动作。已经出于说明和描述的目的呈现了本发明的描述,但并不旨在是详尽的或限于所公开形式的本发明。在不背离本发明的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。选择和描述实施例和术语,以便最好地解释本发明的原理和实际应用,并且使本领域的其他普通技术人员能够针对具有适于预期的特定用途的各种修改的各种实施例理解本发明。

Claims (25)

1.一种提供对计算节点的网络进行访问的计算机实现的方法,所述方法包括:
由客户端请求对网络中的主机节点的访问;
选择数字证书发布器;
由所述数字证书发布器验证客户端令牌的身份;
由所述数字证书发布器将随机数添加到分布式分类账;以及
授权所述客户端对网络中的主机节点进行访问。
2.根据权利要求1所述的计算机实现的方法,进一步包括对所述网络中的计算节点进行排名,并且根据它们在所述网络中的排名选择一个或多个计算节点以参与求解所述随机数的容量证明共识。
3.根据权利要求2所述的计算机实现的方法,其中,对所述网络中的计算节点进行排名基于的是计算节点的未使用的CPU容量。
4.根据权利要求2所述的计算机实现的方法,还包括将具有最高排名的计算节点选择作为主矿工,并且由所述主矿工从安装在所述主矿工上的插件来检索最后期限。
5.根据权利要求4所述的计算机实现的方法,进一步包括将所述随机数的所有可能的解决方案存储在被选择参与容量证明共识的所有计算节点上的随机数解决方案存储器中。
6.根据权利要求5所述的计算机实现的方法,进一步包括由被选择参与容量证明共识的所有计算节点来计算容量证明共识用于求解所述随机数。
7.根据权利要求6所述的计算机实现的方法,进一步包括选择包含所述随机数解决方案的节点作为所述数字证书发布器。
8.根据权利要求5所述的计算机实现的方法,进一步包括:
由所有被选择参与所述容量证明共识的计算节点来计算所述容量证明共识以求解所述随机数,以及
响应于被选择参与容量证明共识的计算节点没有在最后期限内解出所述随机数,将所述主矿工选择为所述数字证书发布器。
9.根据权利要求1所述的计算机实现的方法,进一步包括向所述网络添加新的主机节点,其中,向所述网络添加新的主机节点包括:
由所述网络上的所有计算节点确定新的主机节点是否具有网络定义的特性集;
响应于确定新的主机节点具有网络定义的特性集,从新的主机节点检索状态信息;以及
与所述网络上的所有计算节点共享所述状态信息。
10.根据权利要求9所述的计算机实现的方法,其中,将新的主机节点添加到所述网络进一步包括与所述新的主机节点共享所述分布式分类账。
11.根据权利要求10所述的计算机实现的方法,其中,将新的主机节点添加到所述网络进一步包括:
确保新的主机节点被添加到与计算节点相同的网络;在新的主机节点上安装插件;
通过所述插件检测所述网络;以及
通知网络上的所有计算节点新的主机节点已经加入网络。
12.根据权利要求10所述的计算机实现的方法,其中,与所述新的主机节点共享所述分布式分类账包括利用RAFT协议,其中,与所述新的主机节点共享在RAFT领导节点中包含所述分布式分类账的数据库。
13.一种包括指令的非易失性计算机可读介质,所述指令在由至少一个硬件处理器执行时将所述至少一个硬件处理器配置为:
由客户端请求对计算节点网络中的主机节点的访问;
选择所述计算节点中的一个来发布数字证书;
由被选择以发布所述数字证书的所述计算节点来验证客户端令牌的身份;
由被选择以发布所述数字证书的所述计算节点将随机数添加到分布式分类账;以及
授权所述客户端对网络中的所述主机节点的访问。
14.根据权利要求13所述的非易失性计算机可读介质,进一步包括当由至少一个硬件处理器执行时将所述至少一个硬件处理器配置为:
对所述网络中的所述计算节点进行排名;以及
根据所述计算节点在所述网络中的排名,选择一个或多个计算节点以参与求解所述随机数的容量证明共识。
15.根据权利要求14所述的非易失性计算机可读介质,其中,对所述网络中的计算节点进行排名是基于的是它们的未使用的CPU容量,其中具有最大未使用的CPU容量的至少三个计算节点被选择以参与所述容量证明共识。
16.根据权利要求14所述的非易失性计算机可读介质,进一步包括当由至少一个硬件处理器执行时将所述至少一个硬件处理器配置为:
将所述随机数的所有可能的解决方案存储在被选择参与容量证明共识的所有计算节点上的随机数解决方案存储器中;
由所有被选择参与所述容量证明共识的计算节点计算所述容量证明共识以求解所述随机数;以及
选择包含对所述随机数的所述解决方案的节点作为发布数字证书的计算节点。
17.根据权利要求16所述的非易失性计算机可读介质,进一步包括当由至少一个硬件处理器执行时将所述至少一个硬件处理器配置为:
选择具有最高排名的计算节点作为主矿工;
由所述主矿工从安装在所述主矿工上的插件来检索最后期限;
由所有被选择参与容量证明共识的计算节点计算所述容量证明共识以解出所述随机数;以及
响应于被选择参与容量证明共识的计算节点没有在最后期限内解出所述随机数,将所述主矿工选择为发布所述数字证书的计算节点。
18.根据权利要求13所述的非易失性计算机可读介质,进一步包括在由至少一个硬件处理器执行时配置所述至少一个硬件处理器以将新的主机节点添加到所述网络的指令,其中,将新的主机节点添加到所述网络包括在由所述至少一个硬件处理器执行时配置所述至少一个硬件处理器以:
由所述网络上的所有计算节点确定新的主机节点是否具有网络定义的特性集;
响应于确定新的主机节点具有网络定义的特性集,从所述新的主机节点检索状态信息;以及
与所述网络上的所有计算节点共享所述状态信息。
19.根据权利要求18所述的非易失性计算机可读介质,其中,将新的主机节点添加到所述网络进一步包括当由所述至少一个硬件处理器执行时配置所述至少一个硬件处理器以与所述新的主机节点共享所述分布式分类账的指令。
20.根据权利要求19所述的非易失性计算机可读介质,其中,将新的主机节点添加到所述网络进一步包括当由所述至少一个硬件处理器执行时将所述至少一个硬件处理器配置为:
确定所述新的主机节点是否要被添加到与所述其他计算节点相同的网络;
响应于确定所述新的主机节点要被添加到与其他计算节点相同的网络,在所述新的主机节点上安装插件;
通过所述插件检测所述网络;以及
通知网络上的所有计算节点新的主机节点已经加入网络。
21.一种计算机实现的系统,用于配置计算节点的网络,包括:
存储程序指令的存储器存储设备;以及
硬件处理器,所述硬件处理器具有用于执行所述程序指令以配置所述计算节点网络的电路和逻辑,所述硬件处理器耦合到所述存储器存储设备,并且响应于执行所述程序指令,所述硬件处理器被配置为:
由客户端请求对计算节点网络中的主机节点的远程访问;
选择计算节点作为数字证书发布器;
由所述数字证书发布器验证客户端的令牌的所述身份;
由所述证书发布器将随机数添加到分布式分类账;以及
授权所述客户端对所述网络中的主机节点进行访问。
22.根据权利要求21所述的计算机实现的系统,进一步被配置为:
根据未使用的CPU容量的量对网络中的计算节点进行排序;
基于所述未使用的CPU容量的所述量的所述排名选择多个计算节点以参与求解所述随机数的容量证明共识;
由被选择以参与所述容量证明共识的所有所述多个计算节点计算所述容量证明共识以求解所述随机数;以及
选择包含所述随机数解决方案的节点作为数字证书发布器。
23.根据权利要求22所述的计算机实现的系统,进一步被配置为:
选择具有最高排名的计算节点作为主矿工;
由所有被选择参与所述容量证明共识的计算节点计算所述容量证明共识以解出所述随机数;以及
响应于被选择来参与容量证明共识的计算节点中没有在最后期限内解出所述随机数,而选择所述主矿工作为所述数字证书发布器。
24.根据权利要求21所述的计算机实现的系统,进一步被配置为将新的主机节点添加到所述网络,包括将所述系统配置为:
由所述网络上的所有计算节点确定所述新的主机节点是否具有网络定义的特性集;以及
响应于确定所述新的主机节点具有网络定义的特性集,从所述新的主机节点检索状态信息;以及
与所述网络上的所有计算节点共享所述状态信息。
25.根据权利要求24所述的计算机实现的系统,其中,将新的主机节点添加到所述网络进一步包括将所述系统配置为:
确定是否将新的主机节点添加到与其他计算节点相同的网络;
响应于确定所述新的主机节点要被添加到与其他计算节点相同的网络,在所述新的主机节点上安装插件;
通过所述插件检测所述网络;
通知网络上的所有计算节点新的主机节点已经加入网络;以及
与所述新的主机节点共享所述分布式分类账,
其中,所述插件包括证书发布器模块、排名算法模块、随机数生成器、包含所述分布式分类账和状态信息的文档数据库以及键-值数据库。
CN202280023357.4A 2021-04-29 2022-04-20 经许可区块链对计算网络进行访问的系统和方法 Pending CN117044166A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/244,391 US11804963B2 (en) 2021-04-29 2021-04-29 System and method for permissioned blockchain access into a computing network
US17/244,391 2021-04-29
PCT/EP2022/060366 WO2022228960A1 (en) 2021-04-29 2022-04-20 System and method for permissioned blockchain access into a computing network

Publications (1)

Publication Number Publication Date
CN117044166A true CN117044166A (zh) 2023-11-10

Family

ID=81655018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280023357.4A Pending CN117044166A (zh) 2021-04-29 2022-04-20 经许可区块链对计算网络进行访问的系统和方法

Country Status (4)

Country Link
US (1) US11804963B2 (zh)
JP (1) JP2024516389A (zh)
CN (1) CN117044166A (zh)
WO (1) WO2022228960A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117251889B (zh) * 2023-11-13 2024-03-01 腾讯科技(深圳)有限公司 区块链共识方法、相关装置和介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56828B2 (zh) 1972-03-30 1981-01-09
US7383433B2 (en) 2001-07-31 2008-06-03 Sun Microsystems, Inc. Trust spectrum for certificate distribution in distributed peer-to-peer networks
US7698549B2 (en) 2003-08-15 2010-04-13 Venafi, Inc. Program product for unified certificate requests from certificate authorities
CA2710868A1 (en) * 2008-01-07 2009-07-16 Security First Corp. Systems and methods for securing data using multi-factor or keyed dispersal
US8776192B2 (en) 2009-11-17 2014-07-08 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for automatically verifying and populating digital certificates in an encryption keystore
WO2013009621A1 (en) 2011-07-08 2013-01-17 Venafi, Inc. System for managing cryptographic keys and trust relationships in a secure shell (ssh) environment
US10003458B2 (en) 2011-12-21 2018-06-19 Ssh Communications Security Corp. User key management for the secure shell (SSH)
SG11201403482TA (en) 2011-12-21 2014-07-30 Ssh Comm Security Oyj Automated access, key, certificate, and credential management
KR101661930B1 (ko) 2015-08-03 2016-10-05 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템
US10305872B2 (en) 2015-08-06 2019-05-28 Interactive Intelligence Group, Inc. System and method for key management and user authentication
KR101678795B1 (ko) 2015-11-30 2016-11-22 전삼구 블록체인 인증을 이용하는 IoT 기반 사물 관리 시스템 및 방법
US10516538B2 (en) 2016-11-01 2019-12-24 Netcomm Inc. System and method for digitally signing documents using biometric data in a blockchain or PKI
US10990693B1 (en) * 2016-12-02 2021-04-27 Wells Fargo Bank, N.A. System of managing data across disparate blockchains
US10341327B2 (en) 2016-12-06 2019-07-02 Bank Of America Corporation Enabling secure connections by managing signer certificates
US10924466B2 (en) 2017-07-28 2021-02-16 SmartAxiom, Inc. System and method for IOT security
US10320843B1 (en) * 2017-12-08 2019-06-11 Symbiont.Io, Inc. Methods, systems, and devices for encrypted electronic storage and confidential network transfer of private data through a trustless distributed ledger technology system
US20190259007A1 (en) 2018-02-20 2019-08-22 Trivver, Inc. Systems and methods for facilitating a time varying cryptocurrency transfer over a decentralized network through smart contracts associated with cryptocurrency blockchain technology
US10243748B1 (en) 2018-06-28 2019-03-26 Jonathan Sean Callan Blockchain based digital certificate provisioning of internet of things devices
US20200082398A1 (en) * 2018-09-07 2020-03-12 Nebulas IO Limited Proof-of-Devotion Blockchain Consensus Algorithm
US10986501B2 (en) * 2019-01-08 2021-04-20 T-Mobile Usa, Inc. Secure telephone identity (STI) certificate management system
US11132403B2 (en) * 2019-09-06 2021-09-28 Digital Asset Capital, Inc. Graph-manipulation based domain-specific execution environment
US11228452B2 (en) 2019-09-16 2022-01-18 Cisco Technology, Inc. Distributed certificate authority
US20210091960A1 (en) * 2019-09-24 2021-03-25 International Business Machines Corporation Tracking and verification of physical assets
US11461312B2 (en) * 2020-03-28 2022-10-04 Wipro Limited Method and system for performing adaptive consensus in a distributed ledger network
US11489828B2 (en) * 2020-12-04 2022-11-01 Salesforce, Inc. Tenant aware mutual TLS authentication

Also Published As

Publication number Publication date
US11804963B2 (en) 2023-10-31
WO2022228960A1 (en) 2022-11-03
US20220353077A1 (en) 2022-11-03
JP2024516389A (ja) 2024-04-15

Similar Documents

Publication Publication Date Title
JP6865850B2 (ja) 高度に利用可能な信頼できる実行環境を使用してブロックチェーンネットワークに対するアクセスデータを取得すること
US10409985B2 (en) Trusted computing host
US10277409B2 (en) Authenticating mobile applications using policy files
EP3454238A1 (en) Registration and authorization method, device and system
US10878080B2 (en) Credential synchronization management
US20140108810A1 (en) Performing client authentication using certificate store on mobile device
CN110177124B (zh) 基于区块链的身份认证方法及相关设备
US10171463B1 (en) Secure transport layer authentication of network traffic
US20210409403A1 (en) Service to service ssh with authentication and ssh session reauthentication
EP3777022B1 (en) Distributed access control
US20230370265A1 (en) Method, Apparatus and Device for Constructing Token for Cloud Platform Resource Access Control
US20230120616A1 (en) Baseboard management controller (bmc) for storing cryptographic keys and performing cryptographic operations
US9906370B2 (en) Trust relationship management amongst racks in a data center
CN112600831B (zh) 一种网络客户端身份认证系统和方法
CN117044166A (zh) 经许可区块链对计算网络进行访问的系统和方法
US10334043B2 (en) Secure sharing of storage area networks in a cloud
AU2021235526B2 (en) Secure private key distribution between endpoint instances
US20220311616A1 (en) Connection resilient multi-factor authentication
US20230123159A1 (en) Multi-factor authentication of cloud-managed services
US20240129140A1 (en) Mutual authentication in edge computing
EP3766221B1 (en) Relying party certificate validation when client uses relying party's ip address
Lahmer Towards a Virtual Domain based Authentication Solution for the MapReduce Application
CN118057971A (zh) 在分布式系统中管理唯一秘密
WO2023215251A1 (en) Access control for computing resources
Soares Secure Authentication Mechanisms for the Management Interface in Cloud Computing Environments

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