CN110771091B - 用于网络连接式装置的安全的系统和方法 - Google Patents
用于网络连接式装置的安全的系统和方法 Download PDFInfo
- Publication number
- CN110771091B CN110771091B CN201780092155.4A CN201780092155A CN110771091B CN 110771091 B CN110771091 B CN 110771091B CN 201780092155 A CN201780092155 A CN 201780092155A CN 110771091 B CN110771091 B CN 110771091B
- Authority
- CN
- China
- Prior art keywords
- computing device
- trusted
- untrusted
- distributed database
- record
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
- G06F16/1837—Management specially adapted to peer-to-peer storage networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
- H04L9/0825—Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种基于分布式数据库的副本验证第一计算装置的方法,所述副本存储指示网络连接式第二计算装置的受信任或不受信任指定的信任参数,所述方法由被指定为受信任的某一第二计算装置执行,所述方法包括:接收由被指定为不受信任的所述第一计算装置传输的用于指定为受信任的验证请求;查询信任资源以确定应该将所述第一计算装置指定为受信任还是不受信任;在从所述信任资源获得信任参数时创建新记录,所述新记录存储所述第一计算装置的所述信任参数、指示所述第一计算装置的第一唯一标识符和指示所述某一第二计算装置的第二唯一标识符;以及通过所述网络分布所述新记录以本地验证并更新所述分布式数据库的相应副本。
Description
背景技术
本发明在其一些实施方案中涉及网络连接式装置,并且更具体地但非排他地涉及用于网络连接式装置的安全的系统和方法。
术语物联网(IoT)描述了一个环境,在所述环境中大量物理计算装置是网络互联的,并且由于其共享和使用由其他计算装置提供的信息的能力而变得更加有用。尽管这些装置中的许多可能是有限的或简单的,例如传感器和开关,但它们可以组合起来以执行复杂操作并提供这些装置无法独自支持的新能力。
但是,可能参与物联网实例(例如,智能家居、商店、汽车、办公室等)的大量计算装置使得难以保持计算装置的安全。例如,当恶意实体闯入任何计算装置并在所述实体上运行恶意代码时,攻击者有可能访问其他物联网装置和其机密数据,或甚至可能导致物联网实例表现得不合期望。所描述安全问题是限制物联网的增长和消费者对其接受度的主要因素之一。
此外,随着物联网的扩展以涵盖构建智能电网或智能城市所需的大量装置,漏洞和攻击媒介的数量将急剧增加,从而使其在安全部署方面更具挑战性。
发明内容
根据第一方面,一种基于分布式数据库的多个副本验证第一计算装置的方法,所述副本各自存储指示多个网络连接式第二计算装置中的每一个的受信任或不受信任指定的信任参数,所述方法由被指定为受信任的某一第二计算装置执行,所述方法包括:接收由被指定为不受信任的所述第一计算装置传输的用于指定为受信任的验证请求,查询至少一个信任资源以确定应该将所述第一计算装置指定为受信任还是不受信任,在从所述信任资源获得信任参数时创建新记录,所述新记录存储所述第一计算装置的所述信任参数、指示所述第一计算装置的第一唯一标识符和指示所述某一第二计算装置的第二唯一标识符,以及通过网络分布所述新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本,所述副本各自与相应第二计算装置相关联地在本地存储,其中所述分布式数据库根据所述新记录的创建顺序而布置。
根据第二方面,一种用于基于分布式数据库的多个副本验证第一计算装置的系统,所述副本各自存储指示多个网络连接式第二计算装置中的每一个的受信任或不受信任指定的信任参数,所述系统包括:某一第二计算装置,其被指定为受信任,所述某一第二计算装置包括:非暂时性存储器,在其上存储有用于由所述某一第二计算装置的至少一个硬件处理器执行的代码,所述代码包括:用于接收由被指定为不受信任的所述第一计算装置传输的用于指定为受信任的验证请求的代码、用于查询至少一个信任资源以确定是否将所述第一计算装置指定为受信任的代码、用于检测何时从所述信任资源获得受信任指定并创建新记录的代码,所述新记录存储所述第一计算装置的所述信任指定、指示所述第一计算装置的第一唯一标识符和指示所述某一第二计算装置的第二唯一标识符,以及用于通过网络分布所述新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本的代码,所述副本各自与相应第二计算装置相关联地在本地存储,其中所述分布式数据库根据所述新记录的创建顺序而布置。
根据第三方面,一种用于基于分布式数据库的多个副本验证第一计算装置的计算机程序产品,所述副本各自存储指示多个网络连接式第二计算装置中的每一个的受信任或不受信任指定的信任参数,所述计算机程序产品包括:非暂时性存储器,在其上存储有用于由某一第二计算装置的至少一个硬件处理器执行的代码,所述代码包括:用于接收由被指定为不受信任的所述第一计算装置传输的用于指定为受信任的验证请求的指令、用于查询至少一个信任资源以确定是否将所述第一计算装置指定为受信任的指令、用于检测何时从所述信任资源获得受信任指定并创建新记录的指令,所述新记录存储所述第一计算装置的所述信任指定、指示所述第一计算装置的第一唯一标识符和指示所述某一第二计算装置的第二唯一标识符,以及用于通过网络分布所述新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本的指令,所述副本各自与相应第二计算装置相关联地在本地存储,根据所述新记录的创建顺序布置所述分布式数据库的指令。
根据第四方面,一种基于分布式数据库的多个副本验证第一计算装置是否被指定为受信任的方法,所述副本各自存储多个网络连接式计算装置中的每一个的受信任或不受信任指定,所述方法由被指定为受信任的第二计算装置执行,所述方法包括:查询所述分布式数据库的所述多个副本中的至少一个副本,以识别存储指示所述第一计算装置的第一唯一标识符的最新记录,在存储所述第一唯一标识符的所识别的最新记录包括受信任的指定时,访问所识别的最新记录的另一唯一标识符,所述另一唯一标识符指示验证所述第一计算装置的第三计算装置,以及在以下情况中的至少一个发生时将所述第一计算装置指定为不受信任:所述第三计算装置被指定为不受信任,以及所述第三计算装置未被认证。
根据第五方面,一种基于分布式数据库的多个副本使指定为受信任的第一计算装置无效的方法,所述副本各自存储指示多个网络连接式计算装置中的每一个的受信任或不受信任指定的信任参数,所述方法由被指定为受信任的第二计算装置执行,所述方法包括:确定被指定为受信任的所述计算装置应该是不受信任的;创建第一新记录,其存储所述第一计算装置的所述不受信任指定、指示所述第一计算装置的第一唯一标识符以及指示所述第二计算装置的第二唯一标识符;遍历所述分布式数据库的至少一个副本,以识别将所述第一计算装置指定为受信任的至少一个第三计算装置;创建至少一个第二新记录,其存储每个相应第三计算装置的不受信任指定、指示所述相应第三计算装置的第三唯一标识符,以及所述第二唯一标识符;以及通过网络分布所述第一新记录和所述至少一个第二新纪录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本。
根据第六方面,一种基于分布式数据库的多个副本对被指定为不受信任作出响应的方法,所述副本各自存储指示多个网络连接式计算装置中的每一个的受信任或不受信任指定的信任参数,所述方法由被指定为受信任的第一计算装置执行,所述方法包括:通过网络接收第一新记录,所述第一新记录存储所述第一计算装置的不受信任指定,以及创建所述第一新记录的第二计算装置的第二唯一标识符;创建第二新记录,所述第二新记录存储所述第二计算装置的不受信任指定、所述第二唯一标识符和所述第一计算装置的第一唯一标识符;以及通过网络分布所述第二新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本。
根据第七方面,一种用于验证网络连接式计算装置的系统,其包括:非暂时性存储器,在其上存储有分布式数据库的多个副本中的副本,所述副本供至少一个网络连接式计算装置的至少一个硬件处理器访问,所述副本包括多个记录,所述多个记录中的每个记录存储与某一计算装置相关联的数据,每个记录包括:信任参数,其指示所述多个网络连接式计算装置中的所述某一计算装置的受信任或不受信任指定、指示所述某一计算装置的第一唯一标识符以及指示执行所述某一计算装置的所述受信任或不受信任指定的第二计算装置的第二唯一标识符,其中所述分布式数据库的所述副本根据所述多个记录中的每一个的创建顺序而布置。
本文所描述的所述系统和/或方法和/或代码指令为确定尝试加入网络会话(例如,IoT实例)的计算装置是否是受信任的技术问题提供了技术解决方案。本文所描述的所述技术解决方案还解决了在怀疑或已知所述计算装置不受信任时撤销所述计算装置的所述信任指定的技术问题。
本文所描述的所述系统和/或方法和/或代码指令改善所述网络会话(例如,IoT实例)的性能、参与所述网络会话的计算装置、和/或传输与所述网络会话相关联的数据的网络的性能。例如,通过改善网络安全性来获得性能改善。例如,通过基于序列中一个或多个较早记录和/或区块,使用计算值(例如,使用散列函数)维护所述分布式数据库的副本来提供改善的安全性。即使不是不可能,也很难以被恶意实体改变所述分布式数据库内的任何记录,因为在对添加到序列的新记录进行验证失败时会很快检测到此类改变。对所述分布式数据库的恶意篡改得以减少或防止。
最初被假设为不受信任的新计算装置被阻止自身加入所述网络会话。在通过与受信任指定相关联的计算装置获得所述受信任指定后,所述新计算装置可以由另一计算装置加入所述网络会话。所述分布式数据库的副本(任选地基于区块链架构实施)存储计算装置的受信任或不受信任指定。其他计算装置访问所述分布式数据库的某一副本,以确定所述新计算装置受信任还是不受信任。被指定为受信任的计算装置可以将所述受信任指定分配给所述新计算装置。
任选地基于所述区块链架构,所述分布式数据库不一定由中央机构管理。计算装置可以各自创建用于分布并本地更新所述分布式数据库的相应副本的记录。在不一定需要中央机构(例如,IoT实例)而运行的网络会话中,可能受到损害的计算装置可能尝试加入和/或可能随时离开。基于定位于不同存储位点处的多个副本的分布式数据库减少了损坏和/或被一个或多个恶意计算装置越过的风险。存储于所述分布式数据库中的信任状态(例如,受信任或不受信任指定)可以被视为是安全且可靠的。
所述分布式数据库记录发生受信任或不受信任指定的顺序。记录顺序指示受信任指定或不受信任指定是首先出现还是最后出现。访问所述分布式数据库的计算装置假设存储于更新近记录中的信息是正确的。例如,当两个或更多不同计算装置按类似时间间隔验证计算装置202B时,可能会发生潜在冲突。例如,当两个计算装置都接收由计算装置202B传输的验证请求时。一个计算装置确定计算装置202B是受信任的,而另一计算装置确定计算装置202B是不受信任的。两个计算装置都用其相应的所确定指定创建记录,并通过网络传输记录以更新所述分布式数据库的副本。当首先添加存储所述受信任指定的记录且其次添加存储不受信任指定的记录时,所述分布式数据库表示安全情况,其中计算装置202B被指定为不受信任,从而需要用于指定为受信任的重新验证。但是,当首先添加存储不受信任指定的记录且其次添加存储受信任指定的记录时,会出现易受攻击的安全情况,其中受损害的和/或恶意计算装置可能会向其他计算装置表现为受信任。将计算装置202B指定为不受信任计算装置监视记录和/或所述分布式数据库,以确保不受信任指定记录的优先级高于在将所述计算装置指定为受信任的时间要求内创建的其他记录。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,所述信任参数选自由以下各项组成的群组:(i)存储值的信任得分,其中,访问所述某一计算装置的记录的另一计算装置执行用于根据所述信任得分的所述值而将所述某一计算装置指定为受信任或不受信任的代码指令,以及(ii)受信任或不受信任的指定。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,基于区块链架构布置所述分布式数据库,其中每个记录存储于所述区块链的区块中,所述区块包括相应区块头和从所述链中的一个或多个先前区块计算出的散列值,其中所述记录存储于指示与所述记录相关联的事件的顺序的区块中,其中每个相应区块包括用第三计算装置的私钥创建的数字签名,所述第三计算装置指定与所述相应区块相关联的计算装置,其中第四计算装置用所述第三计算装置的对应于所述私钥的公钥验证所述第三计算装置指定与所述相应区块相关联的计算装置。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,所述相应区块头存储随机数。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:接收第二新记录,以插入所述分布式数据库的由所述某一第二计算装置管理的某一副本中,验证被指定为受信任的另一第二计算装置创建了所述第二新记录,以及用所述第二新记录更新所述分布式数据库的所述某一副本。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:监视所述分布式数据库的由所述某一第二计算装置管理的某一副本,以检测至少一个记录的孤立,以及将所述信任参数和所述孤立记录的唯一标识符添加到所述分布式数据库的所述某一副本的最长验证记录链中的第二新记录。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:在所述某一第二计算装置不能验证所述第一计算装置时将所述第一计算装置指定为不受信任,以及将所述验证请求传输到另一第二计算装置,以尝试通过所述另一第二计算装置验证所述第一计算装置。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:在所述某一第二计算装置未检测到被指定为受信任的第二计算装置时,创建新的分布式数据库,所述数据库存储记录,所述记录包括指示某一第二计算装置的第二唯一标识符和第二计算装置的信任指定,其中,将存储所述第一计算装置的所述受信任指定的所述新记录添加到新的分布式数据库。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:查询所述分布式数据库的所述多个副本中的至少一个副本,以识别存储指示所述第三计算装置的第三唯一标识符的最新记录,在存储所述第三唯一标识符的所识别的最新记录包括受信任的指定时,访问所识别的最新记录的另一唯一标识符,所述另一唯一标识符指示验证所述第三计算装置的第四计算装置,以及在以下情况中的至少一个发生时将所述第三计算装置指定为不受信任:所述第四计算装置被指定为不受信任,以及所述第四计算装置未被认证。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:遍历所述分布式数据库的记录以迭代地识别将当前记录的计算装置指定为受信任的每个计算装置。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:验证所述第三计算装置拥有由所识别的最新记录存储的公钥,且所述第三计算装置知晓对应于所述公钥的私钥。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,当所述第三计算装置受到损害时,自动破坏对应于所述公钥的所述私钥,使得响应于不对应于所述公钥的所述损坏私钥而将所述第三计算装置指定为不受信任。
响应于所述计算装置受损害而破坏所述私钥触发其他计算装置以将所述受损害计算装置指定为不受信任,从而减少或防止由所述受损害计算装置引起的损坏。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:在满足与所述第一计算装置的所述信任指定相关联的超时时将所述第一计算装置指定为不受信任;创建更新记录,其存储所述第一计算装置的所述不受信任指定、所述第一唯一标识符和所述第二唯一标识符;以及通过网络分布所述更新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本。
周期性重新验证防止或减少恶意计算装置在延长的时间段内向计算装置202A冒充受信任计算装置202C的风险。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:确定被指定为受信任的第三计算装置应该是不受信任的;创建第二新记录,其存储所述第三计算装置的所述不受信任指定、指示所述第三计算装置的第三唯一标识符、以及所述第二唯一标识符;遍历所述分布式数据库的至少一个副本,以识别将所述第三计算装置指定为受信任的至少一个第四计算装置;创建至少一个第三新记录,其各自存储每个相应第四计算装置的不受信任指定、指示所述相应第四计算装置的第四唯一标识符、以及所述第二唯一标识符;以及通过网络分布所述第二新记录和所述至少一个第三新纪录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:监视通过网络接收到的第四新记录,所述第四新记录存储所述第三计算装置的受信任指定,其中在所述第二新记录的创建的时间要求内创建所述第四新记录,重新创建所述第二新记录,其中所述重新创建的第二新记录存储序参数,所述序参数指示通过将所述重新创建的第二新记录指定为比所述第四新记录新近来更新所述分布式数据库的所述多个副本,以及通过网络分布所述重新创建的第二新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:通过网络接收第二记录,所述第二记录存储所述某一第二计算装置的不受信任指定,以及创建所述第二记录的第三计算装置的第三唯一标识符;创建第三记录,其存储所述第三计算装置的不受信任指定、所述第三唯一标识符和所述第二唯一标识符;以及通过网络分布所述第三记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本。
通过对将所述计算装置指定为不受信任作出响应并创建将另一计算装置指定为不受信任的新记录,阻止或减少恶意装置有可能在保留对所述网络会话的访问权限的同时从所述网络会话(例如,IoT实例)移除现有受信任计算装置的风险。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:通过网络传输用于将所述某一第二计算装置指定为受信任的第二验证请求。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:在所述第三计算装置未传输用于指定为受信任的所述验证请求的情况下,检测第三计算装置,查询至少一个信任资源以确定是否将所述第三计算装置指定为受信任,当从所述信任资源获得受信任指定时,创建存储所述第三计算装置的所述信任指定的另一新记录、所述第三计算装置的指示所述第三计算装置未传输所述验证请求的旧式指定、指示所述第三计算装置的第三唯一标识符、以及所述第二唯一标识符,以及通过网络分布所述另一新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本,所述副本各自与相应第二计算装置相关联地在本地存储。
执行所述代码指令的被指定为受信任的计算装置可以担保所述旧式计算装置参与所述网络会话(例如,IoT实例)。
周期性重新验证防止或减少恶意计算装置在延长的时间段内向所述计算装置冒充所述受信任旧式计算装置的风险。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括通过执行以下操作来确定是否将与指示未传输验证请求的旧式指定相关联的第三计算装置指定为受信任:查询所述分布式数据库的所述多个副本中的至少一个副本,以识别存储指示所述第三计算装置的第三唯一标识符的最新记录,在存储所述第三唯一标识符的所识别的最新记录包括受信任的指定时,访问所识别的最新记录的另一唯一标识符,所述另一唯一标识符指示验证所述第三计算装置的第四计算装置,以及在以下情况中的至少一个发生时将所述第三计算装置指定为不受信任:所述第四计算装置被指定为不受信任,以及所述第四计算装置未被认证。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:确定被指定为指示未传输被指定为受信任的验证请求的旧式的第三计算装置应该不受信任;创建第二新记录,其存储所述第三计算装置的所述不受信任指定、指示所述第三计算装置的第三唯一标识符、以及所述第二唯一标识符;遍历所述分布式数据库的至少一个副本,以识别将被指定为旧式的所述第三计算装置指定为受信任的第四计算装置;在所述第四计算装置不同于所述某一第二计算装置时,创建存储所述第四计算装置的不受信任指定、指示所述相应第四计算装置的第四唯一标识符以及所述第二唯一标识符的第三新记录;以及通过网络分布所述第二新记录和所述第三新纪录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,所述验证请求包括选自由以下各项组成的群组的一个或多个成员:所述第一计算装置的唯一网络标识符、所述第一计算装置的描述、所述第一计算装置的唯一公钥以及用于帮助所述第二计算装置验证所述第一计算装置的信息。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,所述信任资源是选自由以下各项组成的群组的成员:在包括用于手动用户指定为受信任或不受信任的机构的显示器上呈现的图形用户界面(GUI)、由所述第一计算装置提供的指示受信任指定的密码、认证所述第一计算装置的安全服务器、执行用于认证所述第一计算装置的安全协议的所述某一第二计算装置,所述某一第二计算装置存储指示所述第一计算装置的代码指令。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括遍历所述分布式数据库的记录以迭代地识别将当前记录的计算装置指定为受信任的每个计算装置,并在当前记录的计算装置中的至少一个被指定为不受信任时将所述第一计算装置指定为不受信任。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括验证所述第一计算装置拥有由所识别的最新记录存储的公钥,且所述第一计算装置知晓对应于所述公钥的私钥。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,当所述第一计算装置受到损害时,自动破坏对应于所述公钥的所述私钥,使得响应于不对应于所述公钥的所述损坏私钥而将所述第一计算装置指定为不受信任。
在所述第五方面的另一实施形式中,其还包括:监视通过网络接收到的第三新记录,所述第三新记录存储所述第一计算装置的受信任指定,其中在所述第一新记录的创建的时间要求内创建所述第三新记录,重新创建所述第一新记录,其中所述重新创建的第一新记录存储序参数,所述序参数指示通过将所述重新创建的第一新记录指定为比所述第三新记录新近来更新所述分布式数据库的所述多个副本,以及通过网络分布所述重新创建的第一新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其还包括:通过网络传输一个验证请求,来通过被指定为受信任的另一计算装置将所述第一计算装置指定为受信任,其中,所述验证请求包括选自由以下各项组成的群组的一个或多个成员:所述第一计算装置的唯一网络标识符、所述第一计算装置的描述、所述第一计算装置的唯一公钥以及用于帮助所述另一计算装置验证所述第一计算装置的信息。
在所述第一、第二、第三、第四、第五、第六或第七方面的另一实施形式中,其中,所述多个记录中的每个记录还存储选自由以下各项组成的群组的一个或多个字段:所述某一计算装置的描述、所述某一计算装置的唯一公钥、所述第二计算装置的唯一公钥、被访问以验证所述某一计算装置的信任资源、不受信任指定的原因、以及所述第二计算装置的描述。
除非另外定义,否则本文使用的所有技术和/或科学术语具有与本发明所属领域的普通技术人员通常理解的相同的含义。尽管在本发明的实施方案的实践或测试中可以使用与本文所述的方法和材料类似或等同的方法和材料,但是下面描述示例性方法和/或材料。如果发生冲突,将控制包括定义的专利说明书。此外,材料、方法和示例仅仅是说明性的,并不必要地旨在限制。
附图说明
在本文中,参考附图仅通过示例描述本发明的一些实施方案。现在,具体参考附图,要强调的是,所示的细节是作为示例并且出于说明性讨论本发明的实施方案的目的。在这方面,通过附图进行的描述使得本领域技术人员明白如何实践本发明的实施方案。
在附图中:
图1是根据本发明的一些实施方案的管理包括记录的分布式数据库的过程的流程图,每个记录存储相应网络连接式计算装置的受信任或不受信任指定;
图2是根据本发明的一些实施方案的用于管理包括记录的分布式数据库的系统的部件的示意图,每个记录存储相应网络连接式计算装置的受信任或不受信任指定;
图3是根据本发明的一些实施方案的用于管理分布式数据库的附加特征的过程的流程图;
图4是根据本发明的一些实施方案的实施为区块链中的区块的分布式数据库的示例性记录的示意图;
图5是根据本发明的一些实施方案的分布式数据库的副本的示例的示意图;以及
图6是根据本发明的一些实施方案的包括与旧式计算装置相关联的记录的分布式数据库的副本的示例的示意图。
具体实施方式
本发明在其一些实施方案中涉及网络连接式装置,并且更具体地但非排他地涉及用于网络连接式装置的安全的系统和方法。
本发明的一些实施方案的方面涉及用于管理存储任选地参与物联网(IoT)实例的网络连接式计算装置的验证状态的分布式数据库的设备、系统、方法和/或代码指令(存储于可由一个或多个处理器执行的数据存储装置中)。被指定为受信任的一个或多个计算装置从寻求获得受信任指定的不受信任计算装置接收验证请求。被指定为受信任的计算装置查询一个或多个信任资源,以确定是否应将不受信任的计算装置指定为受信任。当从信任资源获得信任指定时,创建新记录。新记录存储传输验证请求的计算装置的信任指定、指示传输验证请求的计算装置的唯一标识符、以及指示验证传输验证请求的计算装置的受信任计算装置的唯一标识符。通过网络分布新记录。接收到新记录的计算装置对新记录执行本地验证,并更新其对分布式数据库的各自副本。
最初被假设为不受信任的新计算装置被阻止自身加入所述网络会话。在通过与受信任指定相关联的计算装置获得所述受信任指定后,所述新计算装置可以由另一计算装置加入所述网络会话。所述分布式数据库的副本(任选地基于区块链架构实施)存储计算装置的受信任或不受信任指定。其他计算装置访问所述分布式数据库的某一副本,以确定所述新计算装置受信任还是不受信任。被指定为受信任的计算装置可以将所述受信任指定分配给所述新计算装置。
记录根据创建顺序而存储,任选地根据时间而依序链接在一起,例如基于每个记录的时间戳、基于数字序号、和/或在没有明确时间指定的情况下(例如,创建时间因为较早记录链接到较晚记录的链结构而隐含)。更新近记录表示计算装置的更为更新的验证状态。可以添加新记录,而不必删除和/或修改旧记录。
任选地,基于区块链架构布置分布式数据库。任选地基于所述区块链架构,所述分布式数据库不一定由中央机构管理。计算装置可以各自创建用于分布并本地更新所述分布式数据库的相应副本的记录。在不一定需要中央机构(例如,IoT实例)而运行的网络会话中,可能受到损害的计算装置可能尝试加入和/或可能随时离开。基于定位于不同存储位点处的多个副本的分布式数据库减少了损坏和/或被一个或多个恶意计算装置越过的风险。存储于所述分布式数据库中的信任状态(例如,受信任或不受信任指定)可以被视为是安全且可靠的。
某一计算装置的信任指定状态的验证是基于验证执行验证的计算装置是受信任的,任选地递归地,任选地直到原始计算装置(例如,发起分布式数据库的第一记录)得到验证为止和/或直到满足要求(例如,达到某一创建日期,验证某一数量的先前计算装置)为止。访问分布式数据库的某一副本以确定某一计算装置是被指定为受信任还是不受信任。识别存储某一计算装置的标识符的最新记录,且确定信任状态。当记录指示某一计算装置被指定为受信任时,确定验证某一计算装置的计算装置的信任状态。从某一计算装置的记录获得验证某一计算装置的计算装置的唯一标识符。访问存储验证某一计算装置的计算装置的唯一标识符的最新记录,以获得验证某一计算装置的计算装置的信任状态。通过递归地遍历分布式数据库的记录,验证每个先前计算装置的信任指定,任选地直到达到与原始记录相关联的原始计算装置为止,可以迭代所述过程。
当检测到具有受信任指定的某一计算装置不受信任时(例如,某一计算装置正在运行恶意代码),将创建并分布存储不受信任指定的新记录,以更新分布式数据库的本地副本。任选地,将某一计算装置指定为受信任的计算装置被指定为不受信任。可以创建并分布用于存储将某一计算装置指定为受信任的计算装置的不受信任指定的新记录,以更新分布式数据库的本地副本。可以针对被指定为变得不受信任的受信任计算装置的计算装置来递归地执行不受信任的指定。如本文所描述,不受信任计算装置可以通过传输验证请求而被重新指定为受其余受信任计算装置信任。
执行代码指令的每个计算装置都可以访问分布式数据库的更新副本。执行代码指令的一个或多个计算装置可以基于分布式数据库验证在本文中被称作旧式计算装置的不执行代码指令的计算装置。
本文所描述的所述系统和/或方法和/或代码指令为确定尝试加入网络会话(例如,IoT实例)的计算装置是否受信任的技术问题提供了技术解决方案。本文所描述的所述技术解决方案还解决了在怀疑或已知所述计算装置不受信任时撤销所述计算装置的所述信任指定的技术问题。
本文所描述的所述系统和/或方法和/或代码指令改善所述网络会话(例如,IoT实例)的性能、参与所述网络会话的计算装置、和/或传输与所述网络会话相关联的数据的网络的性能。例如,通过改善网络安全性来获得性能改善。例如,通过基于序列中一个或多个较早记录和/或区块,使用计算值(例如,使用散列函数)维护所述分布式数据库的副本来提供改善的安全性。即使不是不可能,也很难以被恶意实体改变所述分布式数据库内的任何记录而不进行检测,因为在对添加到序列的新记录进行验证失败时会很快检测到此类改变。对所述分布式数据库的恶意篡改得以减少或防止。
本文所描述的系统和/或方法和/或代码指令改善了网络安全技术领域内的基础过程,特别是在保护与网络会话(例如,IoT实例)相关联的计算装置的领域内。
本文所描述的系统和/或方法和/或代码指令生成新数据,所述新数据以物理方式存储于存储器存储装置的定位中。新数据包括新生成的记录,所述记录可以由参与网络会话的计算装置在本地生成,和/或从与参与网络会话的计算装置相关联的另一计算装置接收。
本文所描述的系统和/或方法和/或代码指令与物理现实组件联系在一起,包括以下各项中的一个或多个:计算装置(例如,可能包括传感器)、执行代码指令的硬件处理器、存储代码指令的数据存储装置、以及在计算装置之间传输与网络会话(例如,IoT实例)相关联的数据的网络设备。
因此,本文所描述的系统和/或方法必须植根于计算机技术中,以克服在计算机网络的安全性方面,特别是参与IoT实例的计算装置的安全性方面出现的实际技术问题。
在详细解释本发明的至少一个实施方案之前,应当理解,本发明不一定在其应用方面限于以下描述中阐述和/或在附图和/或示例中说明的构造细节和组件的布置和/或方法。本发明能够具有其他实施方案或能够以各种方式实践或执行。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的方面的计算机可读程序指令的计算机可读存储介质。
计算机可读存储介质可以是有形装置,所述有形装置可以保留并存储供指令执行装置使用的指令。计算机可读存储介质可以是例如但不限于电子存储装置、磁存储装置、光存储装置、电磁存储装置、半导体存储装置、或前述各项的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下各项:便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能磁盘(DVD)、存储棒、软盘以及前述各项的任何合适的组合。如本文所使用,计算机可读存储介质不应被理解为本身是瞬时信号,例如无线电波或其他自由传播的电磁波,通过波导传播的电磁波或其他传输介质(例如,通过光纤电缆的光脉冲)或通过导线传输的电信号。
可以经由例如因特网、局域网、广域网和/或无线网络等网络将本文所描述的计算机可读程序指令从计算机可读存储介质下载到相应的计算/处理装置或者下载到外部计算机或外部存储装置。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理装置中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储于相应计算/处理装置内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编程序指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或用一种或多种编程语言(包括面向对象的编程语言(例如Smalltalk、C++等)和常规过程编程语言(例如“C”编程语言或类似编程语言))的任意组合编写的源代码或对象代码。计算机可读程序程序代码可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施方案中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路系统可以通过利用计算机可读程序指令的状态信息以个性化电子电路系统来执行计算机可读程序指令,以便执行本发明的方面。
在本文中参考根据本发明的实施方案的方法、设备(系统)和计算机程序产品的流程图说明和/或框图来描述本发明的方面。将理解,可以通过计算机程序指令实施流程图说明和/或框图的每个框以及流程图说明和/或框图中的框的组合。
这些计算机可读程序指令可以提供给通用计算机、专用计算机的处理器或者其他可编程数据处理设备以产生机器,使得经由计算机的处理器或其他可编程数据处理设备来执行的指令创建用于实施流程图和/或框图的一个或多个框中指定的功能/动作的手段。这些计算机可读程序指令还可以存储于计算机可读存储介质中,所述计算机可读存储介质可以指导计算机、可编程数据处理设备和/或其他装置以特定方式起作用,使得其中存储有指令的计算机可读存储介质包括制造物品,所述制造物品包括实施在流程图和/或框图的一个或多个框中指定的功能/动作的方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理设备或其他装置上,以使得在计算机、其他可编程设备或其他装置上执行一系列操作步骤,以产生计算机实施的过程,使得在计算机或其他可编程设备上执行的指令提供实施在流程图和/或框图框中指定的功能/动作。
图式中的流程图和框图说明根据本发明的各种实施方案的系统、方法和计算机程序产品的具有可能实施方式的架构、功能性和操作。在这方面,流程图或框图中的每个框可以表示指令的模块、段或部分,所述指令包括用于实施指定的逻辑功能的一个或多个可执行指令。在一些替代实施方式中,框中提及的功能在图中可以不按不按图中指出的次序出现。例如,连续示出的两个框事实上可以基本上同时地执行,或者框有时可以按相反的顺序执行,具体取决于涉及的功能性。还将应注意,框图和/或流程图说明中的每个框以及框图和/或流程图说明中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的系统来实施。
如本文所使用,术语信任状态意味着指示与某一计算装置相关联的信任级别的值。可以将信任状态实施为二进制值,例如,受信任或不受信任。信任状态的值在本文中被称作信任指定或不受信任指定。信任状态可以被实施为信任得分,其表示具有指示有效性的多个变量(例如,离散的或连续的)的参数,例如从0到1的标度,其中0表示不受信任而1表示受信任。可以集中地(例如,根据规则集和/或存储于服务器上的阈值)确定受信任或不受信任指定,使得计算装置以通用方式和/或按计算装置(例如,规则集和/或存储于计算装置上的阈值)解译信任得分。例如,对于0.7的信任得分,一个计算装置可以根据一个阈值而确定受信任指定,且另一计算装置可以根据另一阈值而确定不受信任指定。
如本文所使用,术语信任参数是指基于信任得分(即,由另一计算装置解译的值,例如实数或整数)和/或信任状态(即,存储指示受信任或不受信任的指定值的二进制变量)的实施方式。在整个描述中,术语信任参数、信任得分与受信任指定或不受信任指定有时可以互换,且使用一个术语并不一定限制实施方式。
如本文所使用,术语验证有时意味着被指定为受信任。
如本文中所使用,与不受信任指定相关联的计算装置是指尚未被验证(如本文所描述)和/或已经被确定(例如,由另一计算装置)为可疑的计算装置。
如本文所使用,与受信任指定相关联的计算装置是指已经被验证(如本文所描述)并且可以被加入到网络会话(例如,加入到IoT实例)的计算装置。
现参考图1,它是根据本发明的一些实施方案的管理包括记录的分布式数据库的过程的流程图,每个记录存储相应网络连接式计算装置的受信任或不受信任指定。分布式数据库存储执行其他计算装置的受信任或不受信任指定的计算装置的历史。现参考图2,它是根据本发明的一些实施方案的用于管理包括记录的分布式数据库的系统200的部件的示意图,每个记录存储相应网络连接式计算装置的受信任或不受信任指定。现参考图3,它是根据本发明一些实施方案的用于管理分布式数据库的附加特征的过程的流程图。
计算装置202A至C正在通过网络204(例如,IoT实例)参与(和/或尝试参与)网络会话。应注意,出于示例目的和解释简单性而示出三个计算装置,而计算装置的实际数量可以更小(例如,两个)或更大,例如大约数十、数百、数千、数万或更大。应注意,每个计算装置202A至C不必与其他计算装置直接通信。
如本文所描述,计算装置202D表示不执行代码指令206的计算装置,所述计算装置在本文中还被称作旧式计算装置。
计算装置202A至D可以被实施为例如客户终端、移动装置、固定装置、台式计算机、服务器、智能电话、膝上型计算机、平板电脑、可穿戴计算装置、眼镜计算装置、手表计算装置和一个或多个传感器。
一个或多个计算装置202A至B存储分布式数据库208A至B的相应副本。替代性地或附加地,通过一个或多个存储服务器210存储分布式数据库208C的一个或多个副本。不存储分布式数据库的其自有副本的计算装置可以访问分布式数据库208C,例如,计算装置202C访问由存储服务器210托管的分布式数据库208C。不存储分布式数据库的其自有副本的计算装置也可以访问存储于计算装置上的分布式数据库,例如,计算装置202C访问计算装置202A保持的分布式数据库208A。
计算装置208A至C可以存储以下各项中的一个或多个(例如,在与相应计算装置相关联的存储器和/或数据仓库中):
*唯一公钥和私钥对,以及使用公钥和私钥来执行加密功能的代码指令。公钥可以存储于分布式数据库的记录中(如本文所描述),以供受信任计算装置访问来促进受信任装置之间的加密通信。加密增加了恶意计算装置监视和/或欺骗加密通信的难度。
*用于通过网络204传输消息的代码指令,所述消息包括以下各项中的一个或多个:相应计算装置的唯一标识符、计算装置的描述(例如,功能、硬件)、以及相应计算装置的唯一公钥。
*用于与其他计算装置进行加密网络通信的代码指定。
*用于访问分布式数据库、和/或用于创建新记录以更新分布式数据库、和/或根据接收到的新记录而更新分布式数据库的代码指令206。
*用于本地托管分布式数据库副本和/或访问托管于远程存储服务器(例如,服务器210)上的分布式数据库副本的代码指令。
*用于查询一个或多个信任资源以确定某一计算装置是否受信任的代码指令。
每个计算装置208A至C包括相应处理器212A至C,其执行存储于相应存储器(和/或其他数据存储装置,还被称作程序存储器)214A至C中的代码指令206。处理器212A至C可以被实施为例如中央处理单元(CPU)、图形处理单元(GPU)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、专用集成电路(ASIC)、定制电路、用于与其他单元接口连接的处理器、和/或专用硬件加速器。处理器212A至C可以被实施为单个处理器、多核处理器、和/或被布置用于并行处理的处理器集群(其可以包括同质和/或异质处理器架构)。
相应存储器214A至C可以被实施为例如硬盘驱动器、随机存取存储器(RAM)、只读存储器(ROM)、光盘驱动器、外部存储装置和/或其他存储装置。应注意,一个或多个处理器212A至C可以被设计为以硬件实施一个或多个特征,所述特征将以其他方式由相应存储器214A至C存储为代码指令206。
一个或多个计算装置202A至B可以包括存储数据的相应数据存储装置216A至B,任选地存储分布式数据库208A至B的相应副本。如所论述,不在数据存储装置(例如,计算装置202C)上存储分布式数据库的副本的计算装置可以访问存储于外部存储装置(例如,存储服务器210)上的副本(例如,分布式数据库208C),或访问存储于其他计算装置(202A至B)上的分布式数据库(208A至B)的副本。数据存储装置216A至B可以被实施为例如随机存取存储器(RAM)、只读存储器(ROM)、非易失性存储器、磁性介质、半导体存储装置、硬盘驱动器、可移动存储、光学介质(例如DVD、CD-ROM)、远程存储服务器和计算云。
网络204可以被实施为例如以下各项中的一个或多个:基于有线的网络(例如,以太网)、基于无线的网络、互联网、局域网、广域网、虚拟专用网、蜂窝网络、短距离无线网络、网状网络和特用网络。可以使用一种或多种协议和/或网络架构来实施网络204。
任选地,与计算装置202A至C(和/或一个或多个计算装置202A至C本身)通信的中央管理服务器218可以与用户接口220通信,所述用户接口向用户呈现数据和/或包括用于输入数据的机构,例如以下各项中的一个或多个:触摸屏、显示器、键盘、鼠标、语音激活软件和传声器。例如,可以在屏幕上呈现的图形用户界面(GUI)内呈现对某一计算装置的验证请求,如本文所描述。用户可以手动地用GUI将某一计算装置验证为受信任。
每个计算装置202A至C包括用于与网络204通信的相应网络接口222A至C,例如物理和/或虚拟组件,例如以下各项中的一个或多个:天线、网络接口卡、有线端口、以软件实施的虚拟接口、提供更高层网络连接性的网络通信软件、应用编程接口(API)、软件开发套件(SDK)和/或其他实施方式。
现在返回参考图1,基于被存储为可由计算装置的相应处理器执行的代码指令206的一个或多个特征,参考图2描述的系统200的部件实施参考图1描述的过程。参考图1描述的过程被描述为由一个计算装置(例如,计算装置202A)执行,但是应理解,所述过程可以由在其上存储有代码指令206的一个或多个非旧式计算装置执行。参考图2中描绘的一个、两个或三个计算装置描述参考图1和/或图3描述的过程的一些动作。应注意,为了简化和清楚起见而描述示例,且示例不必限制哪些计算装置正在参与和/或多少计算装置正在参与,例如,可以包括更大数量的计算装置和/或未示出的计算装置。
在102处,当不存在与网络会话(例如,与IoT实例)相关联的分布式数据库时,创建新的分布式数据库。分布式数据库可以由一个或多个计算装置,例如由计算装置202A创建。
当计算装置202A未检测到任何被指定为受信任的计算装置和/或当计算装置202A未检测到任何分布式数据库时,计算装置202A创建新的分布式数据库,所述新的分布式数据库存储包括指示计算装置202A的唯一标识符(例如,MAC地址)和计算装置202A的信任指定的记录。
新的分布式数据库可以通过网络204转发到其他计算装置,以进行本地存储和管理。
任选地,基于区块链架构布置分布式数据库。每个记录存储为区块链的区块。区块相互链接,这定义了由相应区块表示的事件的顺序。每个区块包括记录和存储数据的相应区块头。区块头的数据可用于验证区块的真实性,和/或检测修改序列中的一个或多个记录的恶意尝试。区块头可以存储计算出的随机数和/或基于序列中的其他区块计算出的其他数据(例如,基于先前区块的数据的散列值、基于序列中的所有先前区块计算出的默克尔散列、时间戳和/或区块序号),所述数据可以用来验证区块是由授权源创建,任选地由受信任的网络连接式计算装置创建。区块头可以存储用于将区块彼此链接和/或用于按顺序组织区块的数据,例如时间戳和/或序号。
每个计算装置在本地将分布式数据库的副本存储于存储装置上,和/或可以访问存储于外部存储装置(例如,存储服务器)上的分布式数据库的副本。副本是相同或类似的(即,考虑到更新分布的错误、接收更新记录的时间延迟和/或篡改尝试),从而允许每个计算装置访问相应副本以获得所需数据。每个计算装置基于其自身添加的新记录且基于从其他计算装置接收到的新记录而更新其自己的本地存储的副本。
现在参考图4,它是根据本发明的一些实施方案的实施为区块链中的区块402的分布式数据库的示例性记录的示意图。区块402包括数字签名404和区块头406。
区块402包括以下各项中的一个或多个:
*状态,其表示与区块402相关联的计算装置被指定为受信任、不受信任或旧式。替代性地,可以存储得分(例如,介于0.0和1.0之间的值)。其他计算装置可以根据规则集(例如,阈值)而将得分解译为受信任或不受信任。
*与记录相关联的计算装置的唯一标识符,例如MAC(媒体访问控制)地址、硬件代码、序列号和/或其他网络地址。
*与记录相关联的计算装置的唯一公钥。应注意,当计算装置被指定为不受信任时,可以省略所述字段。
*执行验证与记录相关联的计算或将与记录相关联的计算指定为不受信任的计算装置的唯一标识符,例如MAC地址、硬件代码、序列号和/或其他网络地址。应注意,对于区块链的第一记录,可以省略所述字段,因为创建第一记录的计算装置可以将其自身指定为受信任。
*验证与记录相关联的计算装置,将与记录关联的计算装置指定为不受信任,或验证与记录相关联的旧式计算装置的计算装置的唯一公钥。应注意,对于区块链的第一记录,可以省略所述字段,因为创建第一记录的计算装置可以将其自身指定为受信任。
*附加信息,例如,访问哪些信任资源以验证计算装置、不受信任指定的原因、和/或与记录关联的计算装置的描述和/或验证与记录相关联的计算装置的计算装置。
通过对上文描述的数据项进行签名,可以使用验证与记录相关联的计算装置(可以是创建区块402的计算装置)的计算装置的私钥来创建数字签名404。用验证与对应于私钥的记录相关联的计算装置的计算装置的公钥,另一计算装置验证验证与记录相关联的计算装置的计算装置。
任选地,响应于固件、代码指令206、操作状态和/或内部存储器的意外改变,代码指令206破坏和/或删除私钥。响应于所述计算装置受损害而破坏所述私钥触发其他计算装置以将所述受损害计算装置指定为不受信任,从而减少或防止由所述受损害计算装置引起的损坏。
区块头406根据区块链的实施方式而存储数据,例如链中前一个区块的散列、当前区块的散列、随机数和时间戳。
现在返回参考图1,在104处,计算装置202A(其基于存储于分布式数据库中的一个或多个记录而被指定为受信任)通过网络204接收由计算装置202B传输的用于指定为受信任的验证请求,所述计算装置最初被指定为不受信任。
可以响应于用于将计算装置202B加入到网络会话(例如,将计算装置202B添加到IoT实例)的指令来传输验证请求。例如在搜索其他待验证计算装置期间,可以响应于由计算装置202A传输的查询而传输验证请求。
验证请求包括以下各项中的一个或多个:计算装置202B的唯一网络标识符(例如,MAC地址)、计算装置202B的描述(例如,功能、硬件)、计算装置202B的唯一公钥、以及用于辅助通过计算装置202A对计算装置202B进行验证的信息(例如,用以从某一管理员请求验证的指令)。
任选地,响应于接收到验证请求的而执行参考区块102描述的特征。当计算装置202A从计算装置202B接收到验证请求,且没有检测到分布式数据库和/或没有找到受信任装置时,创建存储用于计算装置202A的新记录(如参考区块102所描述)的新的分布式数据库,且将存储计算装置202B的受信任指定的新区块添加到新的分布式数据库。
作为104的替代,在106处,检测旧式计算装置202D,如本文另外详细描述。在没有验证请求的情况下检测旧式计算装置202D。旧式计算装置202D不必执行代码指令206,也不必包括用于传输验证请求的代码指令。
在108处,计算装置202A查询一个或多个信任资源以确定是否将计算装置202B指定为受信任。(本文另外详细描述了旧式计算装置202D的区块108。)
示例性信任资源包括:图形用户界面(GUI)和/或在包括用于手动用户指定为受信任或不受信任的机构的显示器(例如、管理服务器218的用户界面220)上呈现的其他消息(例如,电子邮件、文本消息、网页、推送通知)、由计算装置202B提供的指示受信任指定(例如,根据安全服务器)的密码和/或密钥、根据安全协议认证计算装置202B的安全服务器、执行用于认证计算装置202B的安全协议的计算装置202A、和执行指示计算装置202B的(例如、计算装置202A期望的有效性的所存储代码指令的计算装置202A。
计算装置202A可以通过网络204与计算装置202B通信,例如传输对用于验证计算装置202B的附加信息的查询,例如由信任资源请求的用于验证计算装置202B的附加信息。可以基于用于传输验证请求的通信信道而传输附加信息,例如,可以沿着同一网络路由对数据包进行路由。
在110处,当计算装置202A无法验证计算装置202B时,将验证请求传输到另一计算装置202C,以尝试验证计算装置202B。例如,由于无法访问信任资源、错误处理验证请求和/或从一个或多个信任资源接收不受信任指定,因此计算装置202A可能无法验证计算装置202B。
可以将验证请求传输到多个计算装置(其各自被指定为受信任),直到至少一个计算装置成功获得对计算装置202B的信任指定。替代性地,当达到要求时,例如当达到试图验证计算装置202B而不获得受信任指定的计算装置的数量的限制时,终止传输验证请求。
计算装置202B保持在不受信任状态下,直到被指定为受信任的其他计算装置中的一个能够将计算装置202B验证为受信任为止。当没有计算装置能够验证计算装置202B时,计算装置202B保持在不受信任状态下,直到发生验证为止。
当计算装置202B处于不受信任状态下时,计算装置可以传输(例如,广播)另一验证请求(例如,如参考动作104所描述),以尝试通过被指定为受信任的某一计算装置进行验证。例如,当信任资源花费较长时间来执行验证(例如,等待人类用户的响应)和/或信任资源处于睡眠状态下和/或未与一个或多个计算装置通信时。
在112处,当计算装置202B被验证为受信任时,执行成功验证的计算装置(例如,计算装置202A)创建新记录,任选地创建新区块。新记录存储计算装置202B的信任指定(和/或信任得分)、指示计算装置202B的唯一标识符(例如,MAC地址)、指示计算装置202A(即,成功将计算装置202B验证为受信任的计算装置)的唯一标识符。
新记录可以包括计算装置202B的公钥和/或计算装置202A(即,成功将计算装置202B验证为受信任的计算装置的)的公钥。
新记录被添加到由计算装置202A存储的分布式数据库208A的本地副本(当此本地副本可用时)。替代性地或附加地,例如,当远程副本由计算装置202A管理时,将新记录添加到存储于存储服务器210上的分布式数据库208C的远程副本。
任选地,当计算装置202B不能被验证时和/或当计算装置202B不受信任时,用不受信任指定创建新记录。
在114处,可以通过网络204将新记录传输到其他计算装置(例如,计算装置202C)和/或存储服务器(例如,服务器210),以本地验证和更新分布式数据库的相应本地存储的副本。
任选地,新记录在更新分布式数据库的本地副本之前由接收计算装置验证。可以通过验证新记录实际上是由具有存储于新记录中的指示的计算装置(例如,计算装置202A)实际创建的来执行对新记录的验证。可以根据存储于新记录中的数字签名而执行对新记录的验证。运用验证与新记录相关联的计算装置(例如,计算装置202A)的计算装置的私钥对数字签名进行加密。通过运用存储于新记录中的公钥对数字签名进行解密,可以通过接收计算装置执行验证。
替代性地或附加地,通过比较验证与新记录相关联的计算装置(例如,计算装置202A)的计算装置的公钥与计算装置202A的存储于较早记录中的公钥来执行验证,其中计算装置202A被验证并且被指定为受信任(即,由另一计算装置)。当公钥在较早记录与新记录之间保持恒定的时,验证新记录。当公钥不匹配时,新记录不会被添加到分布式数据库中和/或者将被忽略,和/或者在验证之前添加新记录时孤立。
例如,通过计算记录的不同版本的得分以选择最有可能添加到分布式数据库的版本,可以管理分布式数据库的副本之间的冲突和/或不一致。
现在参考3,它包括用于管理分布式数据库的附加功能。基于存储为可由计算装置的相应处理器执行的代码指令206的一个或多个特征,参考图2描述的系统200的组件实施参考图3描述的过程。参考图3描述的过程被描述为由一个计算装置(例如,计算装置202A)执行,但是应理解,所述过程可以由在其上存储有代码指令206的一个或多个非旧式计算装置执行。
在302处,通过网络204(由另一计算装置创建)接收新记录,以插入由计算装置202A管理的分布式数据库的副本中。
当计算装置202A验证新记录由被指定为受信任的另一计算装置创建时,根据新记录而更新分布式数据库的本地副本。
在304处,监视分布式数据库的本地副本(例如,由计算装置202A管理)以检测一个或多个记录的孤立。当在某一记录处发生分支时,可以检测到孤立,一条链终止而另一条链的大小随着添加的新记录而增大。可以将孤立的记录添加到分布式数据库副本的最长经验证记录链中。
在306处,例如,在计算装置202A向计算装置202C传输数据之前,计算装置202A确定是否将计算装置202C指定为受信任。
为了确定计算装置202C是否被指定为受信任,计算装置202A访问分布式数据库的一个或多个副本以识别存储指示计算装置202C的唯一标识符的最新记录。通过沿着分布式数据库的链接记录向后搜索以识别存储指示具有最新时间戳的计算装置202C的唯一标识符的记录,可以找到最新记录。
当最新记录指示计算装置202C被指定为不受信任时,和/或当分布式数据库中不存在指示计算装置202C的记录时,那么计算装置202A将计算装置202C视为不受信任。
替代性地,当所识别的最新记录包括对计算装置202C的受信任的指定时,计算装置202A从最新记录获得验证计算装置202C的计算装置的唯一标识符。计算装置202A可以例如通过评估存储于最新记录中的数字签名的有效性来进一步验证最新记录。
计算装置202A在分布式数据库中搜索最新记录,所述最新记录存储验证计算装置202C的计算装置的信任状态。当验证计算装置202C的计算装置被指定为不受信任,和/或在验证计算装置202C的计算装置的分布式数据库中不存在任何记录,和/或验证存储于计算装置202C的最新记录中的计算装置202C的计算装置的公钥与验证计算装置202C的计算装置的最新记录中存储的计算装置202C的公钥不匹配时,将计算装置202C指定为不受信任。
应注意,最新记录可以是针对新的分布式数据库创建的初始区块(如参考动作102所描述)。在此情况下,因为计算装置202C创建了原始记录,所以对于验证计算装置202C的计算装置不存在记录。当原始记录由计算装置202C创建时,将计算装置202C指定为受信任。例如,当数字签名与公钥匹配时,可以验证所述记录。
替代性地,当将验证计算装置202C的计算装置指定为受信任时,计算装置202A可以遍历分布式数据库的记录以迭代地识别将当前记录的计算装置指定为受信任的每个计算装置。迭代可以在发现预定数量的计算装置被指定为受信任,搜索预定数量的记录之后终止,和/或可以在到达最后一个可能记录(例如,原始记录)时终止。可能需要由不同受信任计算装置创建和/或基于不同的受信任资源的验证而创建的两个或更多个记录,以使计算装置202A验证计算装置202C。替代性地或附加地,当信任指定基于得分时,那么可以处理多个所识别记录的得分的值以获得计算装置202C的最终得分(例如,值的总和和/或值的平均值),所述最终得分被评估以确定计算装置202C是受信任还是不受信任。
任选地,计算装置202A还基于例如以下各项中的一个或多个验证计算装置202C拥有由所识别的最新记录存储的公钥,且计算装置202C知晓对应于公钥的私钥:
*计算装置202A使用从所识别的最新记录获得的计算装置202C的公钥来对数据(例如,随机数和/或字符串)进行加密,并将加密后的数据与指令一起传输给计算装置202C,以使用计算装置202C的私钥来对加密数据进行解密并返回解密的数据。如果解密的数据与原始数据匹配(在加密之前),那么将计算装置202C指定为受信任。
*计算装置202A将数据(例如,随机数和/或字符串)传输到计算装置202C,指令用以返回基于计算装置202C的私钥创建的数字签名。当数字签名与从所识别的最新记录获得的计算装置202C的公钥匹配时,将计算装置202C指定为受信任。
*使用从所识别的最新记录获得的计算装置202C的公钥来,计算装置202A(例如,基于AES-256加密)对对称加密密钥进行加密,以传输到计算装置202C。可以使用计算装置202A的私钥来对对称加密密钥进行解密。加密密钥可以用以对计算装置202A与202C之间的通信进行加密。
在308处,计算装置202A对计算装置202C的验证(如参考动作306所描述)与超时要求(例如,预定时间间隔)相关联。
当满足超时要求时(例如,超出时间间隔,和/或超时计数器到期),可以将计算装置202C指定为不受信任。计算装置202A可以创建存储计算装置202C的不受信任的指定、计算装置202C的唯一标识符以及计算装置202A的唯一标识符的更新记录。通过网络204传输更新记录,来本地验证并更新分布式数据库的副本。
当超时间隔到期时且当计算装置202C被指定为不受信任时,计算装置202C由计算装置202A重新验证。可以在计算装置202A从计算装置202C接收到验证请求时触发验证(如参考动作104所描述)。周期性重新验证防止或减少恶意计算装置在延长的时间段内向计算装置202A冒充受信任计算装置202C的风险。
任选地,基于计算装置202A对计算装置202C的验证而操作的另一计算装置(例如,另一计算装置将数据传输到经验证计算装置202C)监视分布式数据库的更新(例如,新记录),以检测计算装置202A和/或计算装置202C何时被指定为不受信任。当另一计算装置检测到计算装置202A和/或计算装置202C被指定为不受信任时,另一计算装置撤消对计算装置202C的验证并基于验证而终止操作,例如,当计算装置202A和/或202C不受信任时,另一计算装置停止向计算装置202C传输数据。
在310处,计算装置202A通过将计算装置202B指定为不受信任来无效化计算装置202B的信任指定。例如,当计算装置202A确定计算装置202B已经被替换、损害和/或表现为可疑时,计算装置202A无效化计算装置202B的信任指定。例如,计算装置202A观察到计算装置202B访问意外的和/或受限制资源,计算装置202B积极地干扰分布式数据库的存储,和/或从信任资源(例如,由管理员使用管理服务器218的用户接口220来用无效化计算装置202B指令手动输入)传输通知。
计算装置202A创建存储计算装置202B的不受信任指定、指示计算装置202B的唯一标识符、以及计算装置202A的唯一标识符的另一新记录。任选地,所述另一新记录存储计算装置202A的公钥。任选地,所述另一新记录存储指示计算装置202A确定计算装置202B为什么不受信任的信息。
当计算装置202B被指定为不受信任时,计算装置202A任选地将被计算装置202B指定为受信任的计算装置指定为不受信任,例如根据要求而在最近指定的计算装置和/或所有计算装置。遍历分布式数据库的副本以识别被计算装置202B指定为受信任的计算装置。创建新记录以将被计算装置202B指定为受信任的每个所识别计算装置指定为不受信任。每个记录存储被计算装置202B指定为受信任的相应所识别计算装置的唯一标识符以及计算装置202A的唯一标识符。
通过网络204分布新记录,来本地验证并更新分布式数据库的相应副本。
被指定为受信任的剩余计算装置可以执行对被指定为不受信任的计算装置重新验证,如参考图1的框104所描述。
存储于分布式数据库中的公钥使保持被指定为受信任的计算装置能够关于将计算装置202B指定为不受信任的原因而安全地查询(例如,使用加密和/或数字签名的响应)将计算装置202B指定为不受信任的计算装置202A。例如,当确定被指定为不受信任的哪些计算装置可以被重新指定为受信任时,原因可能是有用的。当计算装置202B无法作出响应时(例如,计算装置202B不知道与存储于与计算装置202B相关联的分布式数据库的记录中的公钥相关联的私钥),那么计算装置202B的指定保持不受信任。
所述分布式数据库记录发生受信任或不受信任指定的顺序。记录顺序指示受信任指定或不受信任指定是否最后出现。访问所述分布式数据库的计算装置假设存储于更新近记录中的信息是正确的。例如,当两个或更多不同计算装置按类似时间间隔验证计算装置202B时,可能会发生潜在冲突。例如,当两个计算装置都接收由计算装置202B传输的验证请求时。一个计算装置确定计算装置202B是受信任的,而另一计算装置确定计算装置202B是不受信任的。两个计算装置都用其相应的所确定指定创建记录,并通过网络传输记录以更新所述分布式数据库的副本。当首先添加存储所述受信任指定的记录且其次添加存储不受信任指定的记录时,所述分布式数据库表示安全情况,其中计算装置202B被指定为不受信任,从而需要用于指定为受信任的重新验证。但是,当首先添加存储不受信任指定的记录且其次添加存储受信任指定的记录时,会出现易受攻击的安全情况,其中受损害的和/或恶意计算装置可能会向其他计算装置表现为受信任。将计算装置202B指定为不受信任计算装置监视记录和/或所述分布式数据库,以确保不受信任指定记录的优先级高于在将所述计算装置指定为受信任的时间要求内创建的其他记录。
计算装置202A可以监视分布式数据库,以验证将计算装置202B指定为不受信任的记录取代将计算装置202B指定为受信任的其他记录,例如,指定计算装置202B的记录稍后订位于分布式数据库中和/或具有指示稍后事件的时间戳。
计算装置202A可以监视通过网络204接收到的存储计算装置202B的受信任指定的新记录,其中在创建将计算装置202B指定为不受信任的记录的时间要求内,例如在彼此的1秒内、1分钟内或1小时内,创建新记录。
计算装置202A可以分析存储于存储计算装置202B的受信任指定的新记录中的数据,以确定是基于由计算装置202B传输的验证请求创建还是作为对被指定为不受信任的计算装置202B对所分布记录的响应而创建新记录。
计算装置202A重新创建记录,所述记录将计算装置202B指定为不受信任并且包括时间参数,所述时间参数指示将计算装置202B指定为不受信任的记录表示比将计算装置202B指定为受信任的记录更晚的事件。应注意,除非计算装置202B有计算装置202A不受信任的证据,否则在响应于不受信任指定而创建将计算装置202B指定为受信任的记录的位置,可以不必自动重新创建记录。
分布重新创建的记录以更新分布式数据库的副本,其中与将计算装置202B指定为受信任的记录相比,将将计算装置202B指定为不受信任的重新创建的记录放置于相对更新近的位置处。
在312处,计算装置202A(先前被指定为受信任)检测另一计算装置202B将计算装置202A指定为不受信任。例如,计算装置202A接收存储计算装置202A的不受信任指定的新记录,以及执行不受信任指定和/或创建新记录的计算装置202B的唯一标识符。
通过存储计算装置202B的不受信任指定、指示计算装置202B的唯一标识符以及计算装置202A的唯一标识符的另一新记录,计算装置202A可以将计算装置202B(其将计算装置202A指定为不受信任)指定为不受信任。另一新记录通过网络204分布,来本地验证并更新分布式数据库的相应副本。
通过对将计算装置202A指定为不受信任作出响应并创建将计算装置202B指定为不受信任的新记录,阻止或减少恶意装置有可能在保留对网络会话的访问权限的同时从网络会话(例如,IoT实例)移除现有受信任计算装置的风险。
任选地,例如,通过限制可以被单个计算装置指定为不受信任(例如,根据要求)的计算装置的数量和/或防止被指定为不受信任的新计算装置将现有受信任计算装置指定为不受信任,例外是将新计算装置标记为不受信任的受信任计算装置,防止单个计算装置将参与网络会话(例如,IoT实例)的所有(或大多数)计算装置指定为不受信任。
计算机装置202A可以通过在网络上将验证请求传输到被指定为被受信任的另一计算装置来请求对受信任的重新指定,如参考图1的动作104所描述。
现在返回参考其他1的动作106,参考图1和/或图3的上述动作描述旧式计算装置202D的处理,所述动作由执行代码指令206的计算装置202A(或其他计算装置)执行。基于参考图1和/或3描述的方法的变型而处理不执行代码指令206并且不传输验证请求的旧式计算装置202D。执行代码指令206的被指定为受信任的计算装置202A至C可以担保旧式计算装置202D来参与网络会话(例如,IoT实例)。
将重点放在与旧式计算装置202D的处理相关联的特征上。为了清楚起见,可以省略与旧式计算装置202D和执行代码指令206的计算装置的处理相关联的类似特征。
在108处,查询一个或多个信任资源以确定旧式装置202D是否被指定为受信任,如本文所描述。
在112处,当从信任资源获得受信任指定时,创建存储旧式计算装置202D的信任指定的新记录。所述记录存储旧式计算装置202D的旧式指定、指示担保旧式计算装置202D的计算装置202A的唯一标识符(例如,MAC地址)、以及旧式计算装置202D的唯一标识符(例如,MAC地址)。新记录可以存储计算装置202A的唯一公钥(旧式计算装置202D可以不必存储公钥和/或与公钥和/或私钥相关联)。
在114处,通过网络204分布新记录,来本地验证并更新分布式数据库的相应副本,如本文所描述。其他计算装置可以通过访问存储于分布式数据库中的新记录来确认旧式计算装置202D被指定为受信任。
在306处,另一计算装置(例如,202B)可以通过访问存储于分布式数据库的一个或多个副本中的新记录来验证旧式计算装置202D被指定为受信任(如参考动作114所描述)。根据指示旧式计算装置202D的唯一标识符而识别新记录。
当存储旧式计算装置202D的唯一标识符的所识别记录包括受信任指定时,计算装置202B访问验证旧式计算装置202D的计算装置的唯一标识符。
当与将旧式计算装置202D指定为受信任的计算装置202B相关联的记录指示计算装置202B被指定为受信任(即,计算装置202B被另一计算装置指定为受信任)时,将旧式计算装置202D指定为受信任。可以递归地遍历分布式数据库以识别被指定为受信任的计算装置,如本文所描述。
替代性地,当与旧式计算装置202D相关联的记录指示旧式计算装置202D被指定为不受信任时,当指定旧式计算装置202D的计算装置被指定为不受信任且指定旧式计算装置202D计算装置未被认证时,将旧式计算装置202D指定为不受信任。
在308处,旧式计算装置202D对计算装置202B的验证(如参考动作306所描述)与超时要求(例如,预定时间间隔)相关联。
当满足超时要求时(例如,超出时间间隔,和/或超时计数器到期),可以将旧式计算装置202D指定为不受信任。计算装置202B可以创建存储旧式计算装置202D的不受信任的指定、旧式计算装置202D的唯一标识符以及计算装置202B的唯一标识符的更新记录。通过网络204传输更新记录,来本地验证并更新分布式数据库的副本。
当超时间隔到期时且当旧式计算装置202D被指定为不受信任时,旧式计算装置202D由计算装置202B重新验证。周期性重新验证防止或减少恶意计算装置在延长的时间段内向计算装置202B冒充受信任旧式计算装置202D的风险。
任选地,基于计算装置202B对旧式计算装置202D的验证而操作的另一计算装置(例如,另一计算装置将数据传输到经验证旧式计算装置202D)监视分布式数据库的更新(例如,新记录),以检测计算装置202B和/或旧式计算装置202D何时被指定为不受信任。当另一计算装置检测到计算装置202B和/或旧式计算装置202D被指定为不受信任时,另一计算装置撤消对旧式计算装置202D的验证并基于验证而终止操作,例如,当计算装置202B和/或旧式计算装置202D不受信任时,另一计算装置停止向旧式计算装置202D传输数据。
在310处,计算装置202C确定被计算装置202B指定为受信任的旧式计算装置202D是不受信任的。计算装置202C创建记录,所述记录将旧式计算装置202D和验证旧式计算装置202D的计算装置202B两者指定为不受信任。
计算装置202C创建第一新记录,所述第一新记录存储旧式计算装置202D的不受信任的指定、指示旧式计算装置202D的唯一标识符、以及计算装置202B的唯一标识符。
计算装置202C创建第二新记录,所述第二新记录存储验证旧式计算装置202D的计算装置202B的不受信任指定、计算装置202B的唯一标识符、以及验证计算装置202B的计算装置的唯一标识符。
应注意,当计算装置202C验证了旧式计算装置202D(即,代替计算装置202B)时,那么不创建第二新记录,以使得计算装置202C不会自身进行验证。
可以通过遍历分布式数据库的一个或多个副本来找到验证旧式计算装置202D的计算装置202B的唯一标识符和/或验证计算装置202B的计算装置的唯一标识符。
通过网络204分布第一和第二新记录,来本地验证并更新分布式数据库的相应副本。
被指定为不受信任的计算装置202B可以尝试通过传输验证请求来获得受信任指定(如参考框104所描述)。当计算装置202B被重新指定为受信任时,计算装置202B可以将旧式计算装置202D重新指定为受信任。
现在参考图5,它是根据本发明一些实施方案的分布式数据库的副本的示例的示意图。分布式数据库可以被实施为区块链。基于参考图1和/或图3描述的一个或多个动作来创建和/或参考图2描述的系统200实施参考图5描述的分布式数据库。
记录502表示由计算装置A创建的原始记录,如参考图1的动作102所描述。
记录504表示被计算装置A指定为受信任的计算装置B,如参考图1的动作104所描述。
记录506表示被计算装置A指定为受信任的计算装置C。记录508形成分支,所述分支表示被计算装置C指定为不受信任的计算装置C。
响应于检测到记录506的孤立而创建记录510,如参考图3的动作304所描述。记录510是记录506的重新创建,时间戳(和/或表示定序的其他实施方式)表示比记录508更晚的事件(例如,更高的优先级、更新的时间戳)。
记录512是记录508的基于计算装置B对分布式数据库的监视的重新创建,计算装置B检测到计算装置C被指定为受信任,如参考图3的动作310所描述。记录512将计算装置C指定为不受信任。
记录514,其将计算装置B指定为不受信任,由计算装置C响应于检测到将计算装置C指定为不受计算装置B信任的记录512而创建,如参考图3的动作312所描述。
记录516包括基于对计算装置A的验证而将计算装置B指定为受信任。应注意,计算装置C保持被指定为不受信任。
记录518包括基于对计算装置A的验证而将计算装置C指定为受信任。应注意,计算装置B不作出响应。
现在参考图6,它是根据本发明的一些实施方案的包括与旧式计算装置相关联的记录的分布式数据库的副本的示例的示意图。分布式数据库可以被实施为区块链。基于参考图1和/或图3描述的与图1的动作106相关联一个或多个动作来创建和/或参考图2描述的系统200实施参考图6描述的分布式数据库。
记录602表示由计算装置A创建的原始记录,如参考图1的动作102所描述。
记录604表示计算装置A将旧式计算装置L指定为受信任,如参考图1的动作106所描述。
记录606表示计算装置A将计算装置B指定为受信任,如参考图1的动作104所描述。
记录608表示计算装置B将旧式计算装置L指定为不受信任,如参考图3的动作310所描述。
记录610表示计算装置B将计算装置A指定为不受信任,如参考图3的动作310所描述。
记录612表示计算装置B将计算装置A指定为受信任,如参考图1的动作108所描述。
记录614表示计算装置A将旧式计算装置L重新指定为受信任。
已经出于说明的目的给出了本发明的各种实施方案的描述,但是这些描述并不旨在是穷举性的或限于所公开实施方案。在不脱离所描述实施方案的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择本文使用的术语是为了最好地解释实施方案的原理,对市场上存在的技术的实际应用或技术性改进,或者使本领域的其他普通技术人员能够理解本文中公开的实施方案。
预计期望在从本申请成熟的专利期间,将开发许多相关的计算装置,且术语“计算装置”的范围意图先验地包括所此类新技术。
如本文所使用,术语“大约”是指±10%。
术语“包含”、“包括”、“具有”和其变化形式意味着“包括但不限于”。此术语涵盖术语“由...组成”和“基本上由...组成”。
短语“基本上由......组成”是指组合物或方法可以包括附加的成分和/或步骤,但前提是附加成分和/或步骤不会实质上改变所要求保护组合物或方法基本和新颖特征。
如本文所使用,除非上下文另有明确规定,否则单数形式“一”,“一个”和“该/所述”包括复数指代物。例如,术语“化合物”或“至少一种化合物”可以包括多种化合物,包括其混合物。
词语“示例性”在本文中用以意味着“用作示例、实例或说明”。被描述为“示例性”的任何实施方案不必被解释为比其他实施方案优选或有利和/或从其他实施方案排除特征的并入。
词语“任选地”在本文中用以意味着“在一些实施方案中提供而在其他实施方案中不提供”。本发明的任何特定实施方案可以包括多个“任选”特征,除非这些特征冲突。
贯穿本申请,本发明的不同实施方案可以范围格式呈现。应当理解,范围格式的描述仅仅是为了方便和简洁,并且不应当被解释为是对本发明的范围的不灵活的限制。因此,应该认为范围的描述已经具体公开了所有可能的子范围以及所述范围内的个别数值。例如,对诸如从1至6的范围的描述应当被认为已经具体披露了子范围,诸如从1至3、从1至4、从1至5、从2至4、从2至6,从3某一到6等,以及所述范围内的单个数字,例如1、2、3、4、5和6。无论范围的广度如何,这都适用。
每当在此指示数值范围时,其意在包括在所指示范围内的任何引用数字(得分或整数)。短语“在”第一指示数字与第二指示数字“之间的范围”以及“从”第一指示数字“至”第二指示数字“的范围”在此可互换使用,并且意味着包括第一指示数字和第二指示数字以及它们之间的所有得分和整数。
应当理解,为清晰起见,在单独实施方案的上下文中描述的本发明的某些特征也可以在单个实施方案中组合提供。相反,为简洁起见而在单个实施方案的上下文中描述的本发明的不同特征也可以被单独的或以任何合适的子组合的方式或者作为适用于本发明的任何其他描述的实施方案来提供。在各种实施方案的上下文中描述的某些特征不被认为是那些实施方案的基本特征,除非所述实施方案在没有那些元件的情况下不生效。
尽管已经结合本发明的特定实施方案描述了本发明,但是显然,对于本领域技术人员来说,许多替代方案、修改和变化将是显而易见的。因此,旨在涵盖落入所附权利要求书的精神和广泛范围内的所有此类替代方案、修改和变化。
本说明书中提及的所有出版物、专利和专利申请在本文中通过引用全文并入本说明书中,其程度等同于每个个别出版物、专利或专利申请被具体和个别地指示以通过引用并入本文。另外,本申请中对任何参考文献的引用或标识不应被解释为承认此参考可以用作本发明的现有技术。在使用章节标题的范围内,它们不应被解释为必需限制。
Claims (39)
1.一种基于分布式数据库的多个副本验证第一计算装置的方法,所述第一计算装置用于加入无需中央机构而运行的公共网络会话,所述副本各自存储指示多个网络连接式第二计算装置中的每一个的受信任或不受信任指定的信任参数,所述方法由被指定为受信任并参与无需所述中央机构的所述公共网络会话的某一第二计算装置执行,所述方法包括:
接收用于将所述第一计算装置指定为受信任的验证请求,以用于允许所述第一计算装置加入所述公共网络会话,所述验证请求由被指定为不受信任的所述第一计算装置发送,其中被指定为不受信任的所述第一计算装置被阻止自身加入所述公共网络会话;
查询至少一个信任资源以确定应该将所述第一计算装置指定为受信任还是不受信任;
在从所述信任资源获得信任参数时创建新记录,所述新记录存储所述第一计算装置的所述信任参数、指示所述第一计算装置的第一唯一标识符和指示所述某一第二计算装置的第二唯一标识符;以及
通过所述网络分布所述新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本,所述副本各自与相应第二计算装置相关联地在本地存储,
其中所述分布式数据库根据新记录的创建顺序而布置,
其中在获得所述分布式数据库的所述新记录中所存储的对所述第一计算装置的受信任指定后,所述第一计算装置通过另一计算装置加入所述公共网络会话。
2.根据权利要求1所述的方法,其中,所述信任参数选自由以下各项组成的群组:(i)用来存储值的信任得分,其中,访问某一计算装置的记录的另一计算装置执行代码指令以根据所述信任得分的所述值而将所述某一计算装置指定为受信任或不受信任,以及(ii)受信任或不受信任的指定。
3.根据权利要求1所述的方法,其中,基于区块链架构布置所述分布式数据库,其中每个记录存储于所述区块链的区块中,所述区块包括相应区块头和从所述链中的一个或多个先前区块计算出的散列值,其中所述记录存储于指示与所述记录相关联的事件的顺序的区块中,其中每个相应区块包括用第三计算装置的私钥创建的数字签名,所述第三计算装置指定与所述相应区块相关联的计算装置,其中第四计算装置用所述第三计算装置的对应于所述私钥的公钥验证所述第三计算装置指定与所述相应区块相关联的所述计算装置。
4.根据权利要求3所述的方法,其中,所述相应区块头存储随机数。
5.根据权利要求1所述的方法,其还包括:
接收第二新记录,以插入所述分布式数据库的由所述某一第二计算装置管理的某一副本中;
验证被指定为受信任的另一第二计算装置创建了所述第二新记录;以及
用所述第二新记录更新所述分布式数据库的所述某一副本。
6.根据权利要求1所述的方法,其还包括:
监视所述分布式数据库的由所述某一第二计算装置管理的某一副本,以检测至少一个记录的孤立;以及
将所述信任参数和孤立记录的唯一标识符添加到所述分布式数据库的所述某一副本的最长验证记录链中的第二新记录。
7.根据权利要求1所述的方法,其还包括:
在所述某一第二计算装置不能验证所述第一计算装置时将所述第一计算装置指定为不受信任;以及
将所述验证请求传输到另一第二计算装置,以尝试通过所述另一第二计算装置验证所述第一计算装置。
8.根据权利要求1所述的方法,其还包括:在所述某一第二计算装置未检测到被指定为受信任的第二计算装置时,
创建新的分布式数据库,所述新的分布式数据库存储记录,所述记录包括指示所述某一第二计算装置的所述第二唯一标识符和所述第二计算装置的信任指定,
其中,将存储所述第一计算装置的所述受信任指定的新记录添加到所述新的分布式数据库。
9.根据权利要求1所述的方法,其还包括通过执行以下操作来确定是否将第三计算装置指定为受信任:
查询所述分布式数据库的所述多个副本中的至少一个副本,以识别存储指示所述第三计算装置的第三唯一标识符的最新记录,
当存储所述第三唯一标识符的所识别的最新记录包括受信任的指定时,访问所识别的最新记录的另一唯一标识符,所述另一唯一标识符指示验证所述第三计算装置的第四计算装置;以及
在以下情况中的至少一个发生时将所述第三计算装置指定为不受信任:所述第四计算装置被指定为不受信任,以及所述第四计算装置未被认证。
10.根据权利要求9所述的方法,其还包括遍历所述分布式数据库的记录以迭代地识别将当前记录的计算装置指定为受信任的每个计算装置。
11.根据权利要求9所述的方法,其还包括验证所述第三计算装置拥有由所识别的最新记录存储的公钥,且所述第三计算装置知晓对应于所述公钥的私钥。
12.根据权利要求11所述的方法,其中,当所述第三计算装置受到损害时,自动破坏对应于所述公钥的所述私钥,使得响应于不对应于所述公钥的被破坏的私钥而将所述第三计算装置指定为不受信任。
13.根据权利要求1所述的方法,其还包括:
在满足与所述第一计算装置的所述信任指定相关联的超时时将所述第一计算装置指定为不受信任;
创建更新记录,所述更新记录存储所述第一计算装置的所述不受信任指定、所述第一唯一标识符和所述第二唯一标识符;以及
通过所述网络分布所述更新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本。
14.根据权利要求1所述的方法,其还包括:
确定被指定为受信任的第三计算装置应该是不受信任的;
创建第二新记录,所述第二新记录存储所述第三计算装置的所述不受信任指定、指示所述第三计算装置的第三唯一标识符、以及所述第二唯一标识符;
遍历所述分布式数据库的至少一个副本,以识别将所述第三计算装置指定为受信任的至少一个第四计算装置;
创建至少一个第三新记录,所述至少一个第三新记录各自存储每个相应第四计算装置的不受信任指定、指示所述相应第四计算装置的第四唯一标识符、以及所述第二唯一标识符;以及
通过所述网络分布所述第二新记录和所述至少一个第三新纪录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本。
15.根据权利要求14所述的方法,其还包括:
监视通过所述网络接收到的第四新记录,所述第四新记录存储所述第三计算装置的受信任指定,其中在所述第二新记录的创建的时间要求内创建所述第四新记录;
重新创建所述第二新记录,其中所述重新创建的第二新记录存储序参数,所述序参数指示通过将所述重新创建的第二新记录指定为比所述第四新记录更近从而来更新所述分布式数据库的所述多个副本;以及
通过所述网络分布所述重新创建的第二新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本。
16.根据权利要求1所述的方法,其还包括:
通过所述网络接收第二记录,所述第二记录存储所述某一第二计算装置的不受信任指定,以及创建所述第二记录的第三计算装置的第三唯一标识符;
创建第三记录,所述第三记录存储所述第三计算装置的不受信任指定、所述第三唯一标识符和所述第二唯一标识符;以及
通过所述网络分布所述第三记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本。
17.根据权利要求15所述的方法,其还包括:
通过所述网络传输用于将所述某一第二计算装置指定为受信任的第二验证请求。
18.根据权利要求1所述的方法,其还包括:
在第三计算装置未传输用于指定为受信任的所述验证请求的情况下,检测所述第三计算装置;
查询至少一个信任资源以确定是否将所述第三计算装置指定为受信任;
当从所述信任资源获得受信任指定时,创建存储所述第三计算装置的所述信任指定的另一新记录、所述第三计算装置的指示所述第三计算装置未传输所述验证请求的旧式指定、指示所述第三计算装置的第三唯一标识符、以及所述第二唯一标识符;以及
通过所述网络分布所述另一新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本,所述副本各自与相应第二计算装置相关联地在本地存储。
19.根据权利要求1所述的方法,其还包括通过执行以下操作来确定是否将与指示未传输验证请求的旧式指定相关联的第三计算装置指定为受信任:
查询所述分布式数据库的所述多个副本中的至少一个副本,以识别存储指示所述第三计算装置的第三唯一标识符的最新记录,
当存储所述第三唯一标识符的所识别的最新记录包括受信任的指定时,访问所识别的最新记录的另一唯一标识符,所述另一唯一标识符指示验证所述第三计算装置的第四计算装置;以及
在以下情况中的至少一个发生时将所述第三计算装置指定为不受信任:所述第四计算装置被指定为不受信任,以及所述第四计算装置未被认证。
20.根据权利要求1所述的方法,其还包括:
确定被指定为指示未传输被指定为受信任的验证请求的旧式的第三计算装置应该不受信任;
创建第二新记录,所述第二新记录存储所述第三计算装置的所述不受信任指定、指示所述第三计算装置的第三唯一标识符、以及所述第二唯一标识符;
遍历所述分布式数据库的至少一个副本,以识别将被指定为旧式的所述第三计算装置指定为受信任的第四计算装置;
在所述第四计算装置不同于所述某一第二计算装置时,创建第三新记录,所述第三新记录存储所述第四计算装置的不受信任指定、指示所述相应第四计算装置的第四唯一标识符、以及所述第二唯一标识符;以及
通过所述网络分布所述第二新记录和所述第三新纪录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本。
21.根据权利要求1所述的方法,其中,所述验证请求包括选自由以下各项组成的群组的一个或多个成员:所述第一计算装置的唯一网络标识符、所述第一计算装置的描述、所述第一计算装置的唯一公钥以及用于帮助所述第二计算装置验证所述第一计算装置的信息。
22.根据权利要求1所述的方法,其中,所述信任资源是选自由以下各项组成的群组的成员:在包括用于手动用户指定为受信任或不受信任的机构的显示器上呈现的图形用户界面(GUI)、由所述第一计算装置提供的指示受信任指定的密码、认证所述第一计算装置的安全服务器、执行用于认证所述第一计算装置的安全协议的所述某一第二计算装置,所述某一第二计算装置存储指示所述第一计算装置的代码指令。
23.一种基于分布式数据库的多个副本验证第一计算装置是否被指定为受信任的方法,所述第一计算装置用于加入无需中央机构而运行的公共网络会话,所述副本各自存储多个网络连接式计算装置中的每一个的受信任或不受信任指定,所述方法由被指定为受信任并参与无需所述中央机构的所述公共网络会话的第二计算装置执行,所述方法包括:
查询所述分布式数据库的所述多个副本中的至少一个副本,以识别存储指示所述第一计算装置的第一唯一标识符的最新记录,
当存储所述第一唯一标识符的所识别的最新记录包括受信任指定时,访问所识别的最新记录的另一唯一标识符,所述另一唯一标识符指示验证所述第一计算装置的第三计算装置,其中所述受信任指定允许所述第一计算装置加入所述公共网络会话;以及
在以下情况中的至少一个发生时将所述第一计算装置指定为不受信任:所述第三计算装置被指定为不受信任,以及所述第三计算装置未被认证,
其中阻止被指定为不受信任的所述第一计算装置自身加入所述公共网络会话,其中在获得所述分布式数据库中所存储的对所述第一计算装置的受信任指定后,所述第一计算装置通过另一计算装置加入所述公共网络会话。
24.根据权利要求23所述的方法,其中,基于区块链架构布置所述分布式数据库,其中每个记录存储于所述区块链的区块中,所述区块包括存储从所述链中的一个或多个先前区块计算出的散列值的相应区块头,其中所述记录存储于指示与所述记录相关联的事件的顺序的区块中,其中每个相应区块包括用第三计算装置的私钥创建的数字签名,所述第三计算装置指定与所述相应区块相关联的计算装置,其中第四计算装置用所述第三计算装置的对应于所述私钥的公钥验证所述第三计算装置指定与所述相应区块相关联的所述计算装置。
25.根据权利要求23所述的方法,其还包括遍历所述分布式数据库的记录以迭代地识别将当前记录的计算装置指定为受信任的每个计算装置,并在所述当前记录的所述计算装置中的至少一个被指定为不受信任时将所述第一计算装置指定为不受信任。
26.根据权利要求23所述的方法,其还包括验证所述第一计算装置拥有由所识别的最新记录存储的公钥,且所述第一计算装置知晓对应于所述公钥的私钥。
27.根据权利要求26所述的方法,其中,当所述第一计算装置受到损害时,自动破坏对应于所述公钥的所述私钥,使得响应于不对应于所述公钥的被破坏的私钥而将所述第一计算装置指定为不受信任。
28.一种基于分布式数据库的多个副本使被指定为受信任的第一计算装置无效的方法,所述副本各自存储指示多个网络连接式计算装置中的每一个的受信任或不受信任指定的信任参数,所述方法由被指定为受信任并参与无需中央机构的公共网络会话的第二计算装置执行,所述方法包括:
确定被指定为受信任的所述计算装置应该是不受信任的,其中所述受信任指定允许所述第一计算装置加入所述公共网络会话;
创建第一新记录,所述第一新记录存储所述第一计算装置的所述不受信任指定、指示所述第一计算装置的第一唯一标识符以及指示所述第二计算装置的第二唯一标识符;
遍历所述分布式数据库的至少一个副本,以识别将所述第一计算装置指定为受信任的至少一个第三计算装置;
创建至少一个第二新记录,所述至少一个第二新记录存储每个相应第三计算装置的不受信任指定、指示所述相应第三计算装置的第三唯一标识符、以及所述第二唯一标识符;以及
通过所述网络分布所述第一新记录和所述至少一个第二新纪录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本,
其中阻止被指定为不受信任的所述第一计算装置自身加入所述公共网络会话,
其中在获得所述分布式数据库中所存储的对所述第一计算装置的受信任指定后,所述第一计算装置通过另一计算装置加入所述公共网络会话。
29.根据权利要求28所述的方法,其还包括:
监视通过所述网络接收到的第三新记录,所述第三新记录存储所述第一计算装置的受信任指定,其中在所述第一新记录的创建的时间要求内创建所述第三新记录;
重新创建所述第一新记录,其中所述重新创建的第一新记录存储序参数,所述序参数指示通过将所述重新创建的第一新记录指定为比所述第三新记录更为新近从而来更新所述分布式数据库的所述多个副本;以及
通过所述网络分布所述重新创建的第一新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本。
30.根据权利要求28所述的方法,其中,基于区块链架构布置所述分布式数据库,其中每个记录存储于所述区块链的区块中,所述区块包括存储从所述链中的一个或多个先前区块计算出的散列值的相应区块头,其中所述记录存储于指示与所述记录相关联的事件的顺序的区块中,其中每个相应区块包括用第三计算装置的私钥创建的数字签名,所述第三计算装置指定与所述相应区块相关联的计算装置,其中第四计算装置用所述第三计算装置的对应于所述私钥的公钥验证所述第三计算装置指定了与所述相应区块相关联的所述计算装置。
31.一种基于分布式数据库的多个副本对被指定为不受信任作出响应的方法,所述副本各自存储指示多个网络连接式计算装置中的每一个的受信任或不受信任指定的信任参数,所述方法由被指定为受信任并参与无需中央机构的公共网络会话的第一计算装置执行,所述方法包括:
通过所述网络接收第一新记录,所述第一新记录存储所述第一计算装置的不受信任指定以及创建所述第一新记录的第二计算装置的第二唯一标识符;
创建第二新记录,所述第二新记录存储所述第二计算装置的不受信任指定、所述第二唯一标识符和所述第一计算装置的第一唯一标识符;以及
通过所述网络分布所述第二新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本,
其中阻止被指定为不受信任的所述第一计算装置自身加入所述公共网络会话,
其中在获得所述分布式数据库中所存储的对所述第一计算装置的受信任指定后,所述第一计算装置通过另一计算装置加入所述公共网络会话。
32.根据权利要求31所述的方法,其还包括:
通过所述网络传输用于通过被指定为受信任的另一计算装置将所述第一计算装置指定为受信任的验证请求,其中,所述验证请求包括选自由以下各项组成的群组的一个或多个成员:所述第一计算装置的唯一网络标识符、所述第一计算装置的描述、所述第一计算装置的唯一公钥、以及用于帮助所述另一计算装置验证所述第一计算装置的信息。
33.根据权利要求31所述的方法,其中,基于区块链架构布置所述分布式数据库,其中每个记录存储于所述区块链的区块中,所述区块包括存储从所述链中的一个或多个先前区块计算出的散列值的相应区块头,其中所述记录存储于指示与所述记录相关联的事件的顺序的区块中,其中每个相应区块包括用第三计算装置的私钥创建的数字签名,所述第三计算装置指定与所述相应区块相关联的计算装置,其中第四计算装置用所述第三计算装置的对应于所述私钥的公钥验证所述第三计算装置指定了与所述相应区块相关联的所述计算装置。
34.一种用于验证用于加入无需中央机构而运行的公共网络会话的多个网络连接式计算装置的系统,其包括:
非暂时性存储器,在其上存储有分布式数据库的多个副本中的副本,所述副本供至少一个网络连接式计算装置的至少一个硬件处理器访问,所述副本包括多个记录,所述多个记录中的每个记录存储与某一计算装置相关联的数据,每个记录包括:
信任参数,所述信任参数指示所述多个网络连接式计算装置中的所述某一计算装置的受信任或不受信任指定,其中所述受信任指定允许所述某一计算装置加入所述公共网络会话;
第一唯一标识符,所述第一唯一标识符指示所述某一计算装置;以及
第二唯一标识符,所述第二唯一标识符指示执行所述某一计算装置的所述受信任或不受信任指定的第二计算装置,
其中所述分布式数据库的所述副本根据所述多个记录中的每一个的创建顺序而布置,
其中阻止被指定为不受信任的所述某一计算装置自身加入所述公共网络会话,
其中在获得所述分布式数据库中所存储的对所述某一计算装置的受信任指定后,所述某一计算装置通过另一计算装置加入所述公共网络会话。
35.根据权利要求34所述的系统,其中,基于区块链架构布置所述分布式数据库的所述副本,其中所述多个记录中的每个记录存储于所述区块链的相应区块中,每个相应区块还包括存储从所述区块链中的一个或多个先前区块计算出的散列值的区块头,其中所述多个记录存储于指示与所述记录相关联的事件的顺序的区块中,其中每个相应区块包括用第三计算装置的私钥创建的数字签名,所述第三计算装置指定与所述相应区块相关联的计算装置,其中第四计算装置用所述第三计算装置的对应于所述私钥的公钥验证所述第三计算装置指定与所述相应区块相关联的所述计算装置。
36.根据权利要求34所述的系统,其中,所述多个记录中的每个记录还存储选自由以下各项组成的群组的一个或多个字段:所述某一计算装置的描述、所述某一计算装置的唯一公钥、所述第二计算装置的唯一公钥、被访问以验证所述某一计算装置的信任资源、不受信任指定的原因以及所述第二计算装置的描述。
37.根据权利要求34所述的系统,其中,访问所述某一计算装置的记录的另一计算装置执行代码指令以根据所述信任参数的值将所述某一计算装置指定为受信任或不受信任。
38.一种用于基于分布式数据库的多个副本验证第一计算装置的系统,所述第一计算装置用于加入无需中央机构而运行的公共网络会话,所述副本各自存储指示参与无需所述中央机构的所述公共网络会话的多个网络连接式第二计算装置中的每一个的受信任或不受信任指定的信任参数,所述系统包括:
某一第二计算装置,所述某一第二计算装置被指定为受信任并且包括:
非暂时性存储器,在其上存储有用于由所述某一第二计算装置的至少一个硬件处理器执行的代码,所述代码包括:
用于接收将所述第一计算装置指定为受信任的验证请求以允许所述第一计算装置加入所述公共网络会话的代码,所述验证请求由被指定为不受信任的所述第一计算装置传输的用于指定为受信任的验证请求;
用于查询至少一个信任资源以确定是否将所述第一计算装置指定为受信任的代码;
用于检测何时从所述信任资源获得受信任指定并创建新记录的代码,所述新记录存储所述第一计算装置的所述受信任指定、指示所述第一计算装置的第一唯一标识符和指示所述某一第二计算装置的第二唯一标识符;以及
用于通过所述网络分布所述新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本的代码,所述副本各自与相应第二计算装置相关联地在本地存储,
其中所述分布式数据库根据新记录的创建顺序而布置,
用于在获得所述分布式数据库中所存储的对所述第一计算装置的受信任指定时使所述第一计算装置加入所述公共网络会话的代码。
39.一种用于基于分布式数据库的多个副本验证第一计算装置的计算机可读存储介质,所述第一计算装置用于加入无需中央机构而运行的公共网络会话,所述副本各自存储指示参与无需所述中央机构的所述公共网络会话的多个网络连接式第二计算装置中的每一个的受信任或不受信任指定的信任参数,所述计算机可读存储介质包括:
在其上存储有用于由某一第二计算装置的至少一个硬件处理器执行的代码,所述代码包括:
用于接收将所述第一计算装置指定为受信任的验证请求以允许所述第一计算装置加入所述公共网络会话的指令,所述验证请求由被指定为不受信任的所述第一计算装置传输的用于指定为受信任的验证请求;
用于查询至少一个信任资源以确定是否将所述第一计算装置指定为受信任的指令,其中阻止被指定为不受信任的所述第一计算装置自身加入所述公共网络会话;
用于检测何时从所述信任资源获得受信任指定并创建新记录的指令,所述新记录存储所述第一计算装置的所述受信任指定、指示所述第一计算装置的第一唯一标识符和指示所述某一第二计算装置的第二唯一标识符;以及
用于通过所述网络分布所述新记录以本地验证并更新所述分布式数据库的所述多个副本中的相应副本的指令,所述副本各自与相应第二计算装置相关联地在本地存储,
根据新记录的创建顺序布置所述分布式数据库的指令,
其中在获得所述分布式数据库的所述新记录中所存储的对所述第一计算装置的受信任指定后,所述第一计算装置通过另一计算装置加入所述公共网络会话。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2017/053542 WO2018229531A1 (en) | 2017-06-14 | 2017-06-14 | Systems and methods for security of network connected devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110771091A CN110771091A (zh) | 2020-02-07 |
CN110771091B true CN110771091B (zh) | 2022-10-18 |
Family
ID=59313285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780092155.4A Active CN110771091B (zh) | 2017-06-14 | 2017-06-14 | 用于网络连接式装置的安全的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11343245B2 (zh) |
EP (1) | EP3639471B1 (zh) |
CN (1) | CN110771091B (zh) |
WO (1) | WO2018229531A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10924466B2 (en) | 2017-07-28 | 2021-02-16 | SmartAxiom, Inc. | System and method for IOT security |
US11032293B2 (en) * | 2018-02-10 | 2021-06-08 | SmartAxiom, Inc. | System and method for managing and securing a distributed ledger for a decentralized peer-to-peer network |
US10630463B2 (en) * | 2018-02-26 | 2020-04-21 | Ca, Inc. | Meta block chain |
US11627003B2 (en) | 2018-03-05 | 2023-04-11 | SmartAxiom, Inc. | Systems and methods for a blockchain multi-chain smart contract time envelope |
US11146545B2 (en) * | 2018-03-27 | 2021-10-12 | Exosite LLC | Apparatus and method for establishing secured connection |
US11750395B2 (en) * | 2018-09-03 | 2023-09-05 | Icncast Co., Ltd | System and method for blockchain-based multi-factor security authentication between mobile terminal and IoT device |
US11924360B2 (en) * | 2018-10-08 | 2024-03-05 | Green Market Square Limited | Blockchain timestamp agreement |
US10608829B1 (en) | 2018-10-08 | 2020-03-31 | International Business Machines Corporation | Blockchain timestamp agreement |
US11165808B2 (en) * | 2019-01-16 | 2021-11-02 | Vmware, Inc. | Automated vulnerability assessment with policy-based mitigation |
US11128474B2 (en) * | 2019-03-25 | 2021-09-21 | Micron Technology, Inc. | Secure device communication |
IL275947A (en) * | 2020-07-09 | 2022-02-01 | Google Llc | Anonymous Event Confirmation |
IL275954A (en) | 2020-07-09 | 2022-02-01 | Google Llc | Anonymous event confirmation with group signatures |
US20220109577A1 (en) * | 2020-10-05 | 2022-04-07 | Thales DIS CPL USA, Inc | Method for verifying the state of a distributed ledger and distributed ledger |
US11968296B2 (en) * | 2021-03-09 | 2024-04-23 | Micron Technology, Inc. | Utilization of a memory device for per-user encryption |
CN115687368B (zh) * | 2023-01-04 | 2023-03-17 | 上海亿铸智能科技有限公司 | 一种数据存储方法、装置、系统及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0624053D0 (en) * | 2006-12-01 | 2007-01-10 | Irvine David | maidsafe.net |
WO2017004527A1 (en) * | 2015-07-02 | 2017-01-05 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8086842B2 (en) * | 2006-04-21 | 2011-12-27 | Microsoft Corporation | Peer-to-peer contact exchange |
US9268969B2 (en) | 2013-08-14 | 2016-02-23 | Guardtime Ip Holdings Limited | System and method for field-verifiable record authentication |
JP6951329B2 (ja) * | 2015-10-14 | 2021-10-20 | ケンブリッジ ブロックチェーン,エルエルシー | デジタルアイデンティティを管理するためのシステム及び方法 |
-
2017
- 2017-06-14 EP EP17737642.3A patent/EP3639471B1/en active Active
- 2017-06-14 US US16/622,899 patent/US11343245B2/en active Active
- 2017-06-14 WO PCT/IB2017/053542 patent/WO2018229531A1/en active Search and Examination
- 2017-06-14 CN CN201780092155.4A patent/CN110771091B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0624053D0 (en) * | 2006-12-01 | 2007-01-10 | Irvine David | maidsafe.net |
WO2017004527A1 (en) * | 2015-07-02 | 2017-01-05 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
Also Published As
Publication number | Publication date |
---|---|
CN110771091A (zh) | 2020-02-07 |
EP3639471A1 (en) | 2020-04-22 |
EP3639471B1 (en) | 2021-10-06 |
WO2018229531A1 (en) | 2018-12-20 |
US11343245B2 (en) | 2022-05-24 |
US20200213306A1 (en) | 2020-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110771091B (zh) | 用于网络连接式装置的安全的系统和方法 | |
CN111737366B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
US9218475B2 (en) | Scalable groups of authenticated entities | |
US11652637B2 (en) | Enforcing a segmentation policy using cryptographic proof of identity | |
US9252958B1 (en) | Systems and methods for providing a self-maintaining PKI infrastructure among loosely connected entities | |
US10846375B2 (en) | Software license distribution and validation using a distributed immutable data store | |
US11088848B2 (en) | Using public keys provided by an authentication server to verify digital signatures | |
CN114982196A (zh) | 利用区块链事务的通信协议 | |
US20210385208A1 (en) | Systems and methods for credentials distribution | |
US10979216B2 (en) | Generating public/private key pairs to deploy public keys at computing devices to verify digital signatures | |
US20140082365A1 (en) | Group management of authenticated entities | |
TW201939922A (zh) | 可信伺服器的策略部署方法、裝置、系統及計算系統 | |
JP2021533426A (ja) | コンテンツ配信の認証された制御のためのシステムおよび方法 | |
US10812272B1 (en) | Identifying computing processes on automation servers | |
US20180077184A1 (en) | Tamperproof logs | |
CN111786812A (zh) | 节点管理方法、装置、计算机设备和存储介质 | |
WO2018112482A1 (en) | Method and system for distributing attestation key and certificate in trusted computing | |
CN114008977A (zh) | 用于渗漏事件数据的siem系统和方法 | |
CN114982195A (zh) | 利用区块链事务的请求和响应协议 | |
CN116561820B (zh) | 可信数据处理方法及相关装置 | |
CN111756675B (zh) | 数据处理方法、装置、设备和系统 | |
KR102162108B1 (ko) | Nfv 환경을 위한 lw_pki 시스템 및 그 시스템을 이용한 통신방법. | |
US9015474B2 (en) | Systems and methods for credentialing | |
Zhang | Secure and Practical Splitting of IoT Device Functionalities | |
CN117540707A (zh) | 数据协同编辑方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |