CN111771390B - 自组织网络 - Google Patents
自组织网络 Download PDFInfo
- Publication number
- CN111771390B CN111771390B CN201880085769.4A CN201880085769A CN111771390B CN 111771390 B CN111771390 B CN 111771390B CN 201880085769 A CN201880085769 A CN 201880085769A CN 111771390 B CN111771390 B CN 111771390B
- Authority
- CN
- China
- Prior art keywords
- node
- message
- network
- state
- delegated
- 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
- 238000004891 communication Methods 0.000 claims abstract description 138
- 238000013475 authorization Methods 0.000 claims abstract description 30
- 230000008859 change Effects 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 218
- 238000004422 calculation algorithm Methods 0.000 claims description 108
- 230000008569 process Effects 0.000 claims description 84
- 230000007246 mechanism Effects 0.000 claims description 12
- 238000007363 ring formation reaction Methods 0.000 claims description 6
- 230000008520 organization Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 57
- 230000009471 action Effects 0.000 description 40
- 238000012508 change request Methods 0.000 description 35
- 238000012545 processing Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 25
- 230000005540 biological transmission Effects 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 15
- 230000010365 information processing Effects 0.000 description 14
- 230000006855 networking Effects 0.000 description 14
- 238000005192 partition Methods 0.000 description 12
- 230000002085 persistent effect Effects 0.000 description 9
- 238000012795 verification Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 235000008694 Humulus lupulus Nutrition 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000005065 mining Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000010399 physical interaction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 235000007754 Achillea millefolium Nutrition 0.000 description 1
- 240000000073 Achillea millefolium Species 0.000 description 1
- 241000282376 Panthera tigris Species 0.000 description 1
- 241000270295 Serpentes Species 0.000 description 1
- 241001441724 Tetraodontidae Species 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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/321—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 a third party or a trusted authority
- H04L9/3213—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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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/3239—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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
- H04W12/033—Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W60/00—Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
自组织网络,包括配置器设备和多个节点,其中每个节点是电子设备,其中每个节点通过通信连接与其他节点中的至少一个和/或与配置器设备连接,其中每个节点可以处于不同的状态中,所述状态至少包括非委托状态(NC)、委托状态和信任环成员状态(TR),其中处于非委托状态(NC)中的多个节点中的第一节点被配置成向配置器设备发送包括第一节点的标识符的非委托通告消息,其中配置器设备被配置成向第一节点发送包含令牌的自动化委托初始化(ACI)消息,其中令牌由对称网络密钥加密,其中第一节点被配置成发送出包含所接收的加密令牌的委托请求消息,其中第一节点被配置成当它从另一节点或从配置器设备接收到授权消息时改变其状态。
Description
技术领域
本发明涉及作为所谓的“自组织(ad-hoc)”网络操作的数字通信系统,诸如但不限于有线或无线自组织多跳“网状”类型和其他类型的ed-集中式网络。
更具体地,本发明涉及用于自动或半自动地部署这样的ad-网络的系统,该ad-网络以确保通信的机密性的方式接受新的网络元件,以及使所述网络中所有可用的和可能的对等体在所述过程中协作,同时对等体上的所有操作和数字记录可以被数学验证为真实的(authentic)并且尚未被篡改,并且其同时在有或没有人类干预的情况下为所述网络中的每个元件赋予唯一的数字地址,并且其在分布式和分散的分类帐(ledger)中记录所有这样的操作,其一致性和真实性在数学上是可验证的。
背景技术
互联网是相互连接的本地网络的世界范围的分散网络。然而,那些网络中的大多数由地方政府、私人、公司或学术机构集中和分层级地管理。绝大多数的计算机或其他装备位于对互联网的其余部分封闭或半开放的网络中,在某种意义上说,那些网络内的对等体可以通过互联网自由地启动到其他可公开到达的对等体的连接,而对于那些网络之外的对等体则不是这样。
同时,无线局域网正在变得越来越普及。在商业上分布并可在世界范围获得的一种这样的技术是内部(on-premises)私有的、公共的或公司的IEEE 802.11 Wi-Fi无线网络,其允许对本地联网资源和互联网两者的访问。最重要的是,当前的移动通信行业使用2G、3G、4G GSM以及CDMA IS-95和CDMA2000标准,为世界范围电话网络以及为互联网提供声音和数字访问。在针对智能建筑和智能家居应用中已经看到的广泛采用的另一种技术是源自IEEE 802.15.4标准的无线技术,诸如ZigBee、EnOcean或Z-Wave生态系统。又另一套低功率远程“广域联网”(WAN)无线标准被用于计量装备和其他智能电网应用(诸如SigFox或LoraWAN系统)的无线连接。
那些无线网络中的大多数被称为“无线自组织网络”,因为如Wikipedia中定义的那样,它们“不依赖于预先存在的基础设施,诸如有线网络中的路由器或管理的(基础设施)无线网络中的接入点。代之以,每个节点通过转发针对其他节点的数据来参与路由,因此根据网络连接性和使用中的路由算法来动态做出哪些节点转发数据的确定。无线网络没有基础设施设置和管理的复杂性,使得设备能够“即时(on the fly)”——随时随地”创建和加入网络。
针对无线自组织网络的应用是许多的。来自Wikipedia的应用的非详尽列表包括车辆定位自组织网络(VANET)、智能电话自组织网络(SPAN)、军事战术自组织网络(MANET)、广泛种类的无线传感器网络、自组织家庭智能照明、自组织路灯网络、灾难救援自组织网络、医院自组织网络。
通常,这样的联网系统包括至少一个基站和多个网络对等体。在常规Wi-Fi网络或WAN系统(诸如SigFox或LoRAWAN)的情况下,所有的对等体都必须绝对在来自基站的信号的物理检测范围内,并且相反,基站必须能够检测到所有的对等体的信号。诸如ZigBee、Z-Wave或EnOcean的其他这样的联网系统仅要求网络对等体中的一些在基站的通信范围内。
上面提到的联网标准的大多数定义了例如在彼此的物理无线电范围内的两个对等体之间的物理无线无线电链接、或者在对等体和基站之间的链接的贯穿时间的特性,以及如何管理贯穿时间的传输,使得单个网络内的两个对等体在传输时不彼此干扰,或者又甚至对等体如何区分来自其自己的网络的对等体和来自其他网络的对等体的传输。最近的标准中的仅一些标准通过借助添加可选的信号加密来添加通信机密性能力来解决网络安全问题。
为了使得不在彼此的无线电范围内的网络内的对等体之间、或者在两个不同的相邻网络中的对等体之间、或者在网络内的对等体和互联网上的对等体之间的连接成为可能,需要多种网络附加协调设施。这样的设施例如被用于允许对等体被唯一地数字地标识,或者发现网络中的其他对等体是什么,或者发现不在范围内的两个对等体之间的自组织网络内的路由,或者安全地交换认证凭证,或者提供资源的中央索引。
自互联网协议的发明以来,已经逐渐被开发为通用的这样的系统包括例如动态主机配置协议(DHCP)和用于管理和分布式配置设置以及为基于互联网协议(IP)中的连接设备和网络分配唯一数字地址的服务,或者域名系统(DNS),用于提供数字地址和将数字地址转换成人类可读名称的协议和服务,或者轻量级目录访问协议(LDAP)和将名称映射到特定网络资源及其数字地址的服务,或者Kerberos网络身份安全认证协议。
诸如上面提到的那些的协议和服务通常在客户端-服务器模型和架构中运转,根据Wikipedia,这表示“任务或工作负载”“在被称为服务器的资源或服务的提供者和被称为客户端的服务请求者之间”被划分。此外,那些网络服务中的每个通常作为分离的计算机程序运行,该计算机程序通常在分离的计算机上运行。这些服务中的每个通常具有非常不同的架构和交互的模式。一些以文本文件记录配置和数据,其他以二进制文件来记录,并且一些甚至需要数据库程序。一些针对它们的安全性和访问凭证取决于底层操作系统,一些分离地管理它们自己的。一些仅能通过命令行来交互,而其他则提供基于web或更近的基于“app”的接口。
大多数无线自组织网络标准给予所有网络对等体将通信信号从基站的直接通信范围之外的其他节点路由到基站以及往返的另一方向的能力。类似于Wi-Fi或以太网路由器的功能——其控制网络的拓扑——通常不是必要的。然而,主要受IP网络架构启发,所有其他网络管理功能通常由自组织网络基站本身或与基站连续通信的一个或多个网络可访问的计算机来执行。一些架构甚至需要由所述基站来维护网络的拓扑——根据定义是集中式系统。
其中拓扑控制通常是完全自动化的无线自组织网络系统通常在“网状”的名字下被商业推广。我们认为这有点误导。实际上,对于本领域技术人员来说,真正的“网状”网络的数学模型可以被构造为随机几何图形。并非所有产品都严格如此,因为一些产品甚至需要由所述基站来维护网络的拓扑——根据定义是集中式系统。仍然,例如,当以802.11s模式配置时,Wi-Fi网络也可以例如充当自组织无线网络。尽管自2010年代初以来,对于大型装置(installation)(诸如机场或酒店),只有很少商业Wi-Fi“网状”产品已经存在,但自2015年以来,若干消费级产品已经变得世界范围可获得的。
因此,由于需要设置和配置的服务的多样性,本领域技术人员通常接受的是,设置和配置计算机网络对于新手来说不是简单的任务。例如,已经做出商业努力来使得能够实现小型家庭和商业网络的“插入式(plug-in)”设置。供应商已经打包了必要的程序,并出售它们内置的家庭Wi-Fi路由器,并添加了基于web的用户接口的简化配置。然而,那些产品仅允许简单的场景,而未扩展(scale)到小型网络之外。规划和专业知识通常是必要的,以设置任何更大或更复杂的系统。
类似于Wi-Fi路由器,一些商业无线自组织网络产品已经将相关技术打包为用于特定应用的“中枢(hub)”,诸如飞利浦Hue智能照明产品——源自ZigBee。我们认为,这样的解决方案遭受相同的前述可扩展性的问题。任何更复杂的场景都需要新设备的手动对等配对。多种商业智能建筑解决方案存在基于ZigBee技术和生态系统的示例,但没有一种是即插即用的。类似地,由于底层技术最经常不要求(mandate)任何安全功能,因此安全自组织网络的适当设置被留下以由配置设备的网络技术人员或工程师手动执行。
因此,这些单独的网络服务中的每个通常都具有其自己的单独的安全概念和架构。在采用IP网络技术的自组织网络的情况下,安全的DNS系统并不表示用于相同网络的伴随LDAP系统也是安全的。虽然例如DHCP服务器在基于IP的网络中的存在减轻了配置新计算机以在所述网络内运转的负担,提供了有限的“即插即用”功能,但它本身决不是安全的,并且通常将需要对所述LDAP服务或通信机密性能力(诸如加密和认证)的单独的手动配置。此外,大多数自组织联网标准丝毫不要求或甚至指定任何通信加密设施或协议。实现任何安全性的负担留给了使用所述技术开发应用产品的工程师。要求授权对等体与网络中的其他对等体通信是可能的,但是通常不取决于由特定标准设置的任何特定规则,代之以完全取决于所述技术或标准的特定实现的创建者。自组织网络中的安全设计的分段状态已经导致大多数商业可用解决方案中存在广泛的安全工程弊端(malpractice)。从2015年到2017年,已经记录自组织网络中数十万个设备的大规模世界范围的同时黑客攻击。
附加的忧虑(concern)是操作的安全性和可靠性。事实上,如果大多数必要的网络服务都是通过单个网络对等体执行或传输的,则该相同网络对等体构成单点故障(singlepoint of failure)。当然,设置具有自动化备份服务器和其他故障转移(fail-over)系统和装备的网络是可能的,但那需要专业知识和技能。没有商业解决方案完全自动化这样的可靠性和故障转移系统的设置和实现,特别是当所述网络服务跨若干个分离的服务器分发时。
同时,通过被称为“区块链(block chain)”或“区块链(blockchain)”的数据库架构的概念化,已经使得被称为“加密货币”的现代数字货币的发展是可能的。根据Wikipedia,区块链“被用来维持连续增长的记录的列表,称为块。每个块包含时间戳和去往先前块的链接,以及它自己的内容和先前块的内容的数学散列。区块链通常由对等网络管理,该对等网络共同遵守用于验证新块的协议。通过设计,区块链固有地抵抗数据的修改。一旦记录,任何给定块中的数据都不能在没有改变所有后续块和网络的共谋(collusion)的情况下被追溯改变。
区块链概念的变体是“分布式分类帐”,根据Wikipedia,其是“跨多个站点、国家或机构地理上散布的复制、共享和同步数字数据的共识。没有中央管理员或集中式数据存储”和“对等网络,其使用定义的共识机制来防止修改时间戳记录的有序系列”,和“需要对等网络以及共识算法来确保进行跨节点的复制。一种分布式分类帐设计是通过公共或私有区块链系统的实现。但是,所有分布式分类帐不一定必须采用区块链来成功地提供安全和有效的分布式共识的实现”,并且最终,“所有区块链都是分布式分类帐,但不是所有分布式分类帐都是区块链”。在两种架构中,每个记录都可以由请求在链中包含所述记录的实体(其身份可以被验证)被数学地密码链接、签名和认证,在该情况下,所述区块链可以被描述为“安全分布式分类帐”。
在区块链的实际应用中的研究已经看到了在数字货币系统之外,诸如智能合同管理、数字投票或艺术认证,区块链作为数字公证人(notaries)的使用的出现。物联网应用中的研究包括例如运输集装箱跟踪。大多数那些应用是使用物理或虚拟专用对等网络来设置的,其中执行实体和记录的验证和认证的网络对等体必须被专门授权并被接受到所述网络和系统中。这样的系统被称为“许可”或“私有”分布式分类帐。目前在市场上没有解决方案允许针对私有分布式分类帐自动化设置和配置所述验证对等体。
因此,私有分布式分类帐表示用于持久、可靠和安全地记录所有种类的认证信息的完全信任的系统的非常好的示例。更具体地,备份、故障转移和复制固有地由基于区块链的系统的核心算法管理。然而,在加密货币系统中的“挖掘(mining)”节点或者基于许可的区块链验证节点的设置目前仍然取决于手动配置过程。
因此,本领域技术人员将由此认识到对用于自组织网络的技术的需求,该技术提供了设置所述网络服务以管理和分发网络的配置设置的最简单的可能方式。类似地,本领域技术人员还将认识到对如下技术的需求,该技术用于动态地和自动地针对自组织网络中的每个连接的设备分配和配置唯一的数字地址,提供用于将数字地址转换成人类可读名称的方法,并将名称映射到特定的网络资源及其数字地址,而同时安全地分发任何密码学(cryptography)相关的标识符,诸如加密密钥。
此外,本领域技术人员将认识到对被简单、快速、安全地配置以运转并被已经针对所述网络配置的对等体所接受的新设备的需求。所述新的对等体还必须能够与网络中的其他对等体机密地通信,而没有提供用于由第三方进行的通信拦截或劫持的机会。
本领域技术人员将进一步认识到对用于自组织网络的技术的需求,该技术允许安全、可信、可验证和可靠存储网络配置和对等体身份数据。这样的特性由完全分布式数据库系统(诸如私有分布式分类帐)提供。
本领域技术人员将最终认识到对如下技术的需求,该技术允许在私有分布式分类帐中简单、安全和自动化地部署和配置投票、验证和认证对等体。
因此,我们提议了一种系统和方法,该系统和方法统一(unify)了自组织网络管理功能的大多数部署、配置维护,并将其自动化,并且具有以下特性中的一个或多个:
• 它是完全分布式和同质的(homogeneous),在于使用该系统部署的网络中的所有对等体将使用完全相同的系统和方法运转,而没有客户端-服务器区别。
• 其中新节点的授权既可以以半自动化的方式运转,其具有人类操作员的最少的干预,或者又以完全自动化的方式运转,其不具有人类操作员的干预,并且其仅需要最少的本领域中的知识或技能。
• 其中网络配置以及对等体身份和与对等体相关的其他数据被记录在由网络中的对等体维护的私有分布式分类帐中。
• 其中对等体可以被自动地赋予数据验证的角色,其不具有人类操作员的干预。
相关技术的描述
A.遵循集中式模型的自组织联网系统图1提供了集中式自组织网络的示例,其中对等体101,其是IEEE 802.11 WiFi和IEEE 802.1以太网路由器,并为其直接通信范围内的所有其对等体(对等体102、103、104)或通过以太网线缆连接到其的对等体(对等体105、106、107)提供网络运转所必需的所有协调服务,诸如但不限于网络配置数据分发(例如作为DHCP服务器)、网络对等体授权(例如,通过将MAC地址列入黑名单)、路由数据分组(TCP/IP和UDP路由)、无线传输的加密(例如,使用WPA2标准)。
商业供应商通常借助“Wi-Fi保护设置”(WPS)以及基于web的配置“向导(wizards)”程序为WiFi路由器提供少量的“即插即用”能力。然而,这样的自组织网络设置在所有其他方面中都具有与较早前概述的期望的特性有关的若干缺点。最显著的缺点是,在不添加装备的情况下,网络被限于110路由器天线的111范围,或者被限于以太网线缆的长度(115、116、117)。设备的WPS配对是显著地不安全的,并且禁止其使用表示每个特定设备通常需要使得手动输入网络的配置参数。在这样的情况下,“无头(headless)”设备设计是不可能的,这使得设置和配置更加困难。此外,如果路由器对等体101由于无论什么任何原因停止运转,则网络实际上停止运转。类似地,如果网络对等体101被敌对第三方攻击者损害,则IEEE 802.11和经典IP技术不提供网络范围的能力,该能力将确保通过网络传输的任何信息的安全性和机密性——附加的专门配置的软件是必需的。
在概念上类似于纯服务器/客户端范式的依赖于这样的集中式代理通信模型的自组织网络模型不满足较早前概述的期望特性。
B.遵循以中枢为中心(hub-focused)的分散模型的自组织联网系统
图2提供了部分分散的自组织网络的示例,其中对等体120,其是IEEE 802.15.4Zigbee协调器设备,以及在其直接无线通信范围内的功能设备对等体121、122和123,或者进一步使用Zigbee路由器对等体124、125和126来与功能设备对等体127、128和129通信,并且该Zigbee协调器120通常为其自组织网络提供运转所需的服务,诸如但不限于网络地址赋予、拓扑控制、网络密码密钥储存库。Zigbee技术不将网络的拓扑限制于“星形”模型。通过使用其Zigbee路由器,在该实例中是对等体124、125和126,网络的范围增加了若干个“跳”,高达一定程度。Zigbee路由器被用于转发去往和来自Zigbee协调器120、去往和来自彼此、以及去往和来自Zigbee端点(在这种情况下是对等体127、128和129)的分组。网络的拓扑也可能是更加任意的,如图2上所示。
Zigbee装置的缺点类似于WiFi装置。尽管数据路由是分散的并且部分地跨网络对等体分发,但是所有其他功能都被集中在Zigbee协调器120上。此外,Zigbee网络仅最近才已经被允许。
C.遵循分散模式的自组织联网系统
图3提供了使用Thread技术的分散式联网系统的示例,其中所有对等体(200、201、202、203、204、205、206、207、208、209、210、211、212)都潜在地能够转发数据。Thread是由行业组织推动的最近开发,并且通常针对智能家居应用。Thread装置中没有任何形式的中央网络协调机构。根据由Thread规范定义的对等体,“路由器合格终端设备”(REED),被用于跨网络的数据的路由中,它们在网络中进行协作。在我们的示例中,这样的REED设备是对等体202、204、208、212。
Thread技术宣称,它可以使得为多达65535个节点的自组织网络自动分配16比特地址。然而,对协议规范的进一步分析显示,对于每个自组织网络,最多有32个活跃的REED对等体,这将网络的范围限制于小型和中型装置。类似地,尽管Thread将“IPv6无状态地址自动配置”(参见IETF RFC 4862)用于赋予地址;然而,该系统仅可用于不是活跃REED对等体的对等体。尽管RFC 4862定义了重复地址检测机制,但不支持网络分区或合并分区的情况。此外,所述机制要求测试每个地址,这对于较大装置来说可能导致过高的(prohibitive)网络范围流量。奇怪的是,REED对等体不使用该机制,而是需要在网络中具有DHCP服务器。
D.遵循分布式模型的自组织联网系统
图4提供了使用CSRmesh技术的分布式联网系统的示例,其中所有对等体(220、221、222、223、224、225、226、227、228、229、230、231、232),其模块都使用蓝牙BLE无线电模块。在这样的装置中,每个对等体都能够将数据转发到其他对等体,并且联系任何其他对等体而无需任何中央机构。
没有中央拓扑控制,诸如是对于基于Thread的装置的情况,并且没有单点故障,这两者都是期望的特性。此外,该系统使用网络范围的加密密钥,其可以防止“中间人”攻击。然而,使用原始的基于“泛洪”的机制完成消息传输。关于这样的概念的问题是,随着网络的增长,传输的消息的数量也指数地增长。这可能很快导致自组织网络内的通信的严重拥塞。在实践中,特别是如果这样的装置具有附接到许多对等体的许多传感器,数百或数千个对等体的大型装置变得极其困难。尽管没有关于先前技术的内置限制,但是对CSRmesh的限制是数学和算法的。
发明内容
我们在此描述了公开了一种系统、方法和计算机可读介质,用于向自组织网络提供完全安全和完全分布式网络和网络对等体配置功能,其中:
• 本文中描述的方法和计算机可读介质在所有对等体上是相同的;实现本发明的自组织网络是同质的自包含完全分布式系统,其没有客户端-服务器区别;以及
• 实现本发明的自组织网络中的所有对等体(此后称为“节点”或“(多个)节点”)具有与其他这样的节点合作维护数据结构(此后称为“安全分布式分类帐”或“SDL”)的能力,该数据结构可以以分布式方式被数学地验证尚未被篡改,并且对于该数据结构,用于刻写(inscription)新记录的启动者以及每个记录,可以被数学地认证;以及
• 所有节点都具有在本发明中描述的对所述分布式分类帐中的新记录刻写进行投票以及数学地验证和认证所述记录、投票和刻写的潜在能力;以及
• 在需要的情况下,其也是节点(其具有显示和交互设备,此后称为“配置器设备”)的系统被用于由人类操作员输入任何必要的数据或指令,如由本发明的方法所规定的那样;以及
• 新节点可以被许多其他节点安全地授权与网络中的节点通信,并且然后被提供必要的网络配置信息,即本发明的过程,其此后被称为“被委托(commissioned)”。已经成功地经历了该过程的节点被称为“委托节点”;以及
• 通过委托新节点来部署自组织网络;以及
• 在委托过程期间,新节点可以通过许多其他节点协作地使它们本身赋予唯一的顺序一致的数字网络地址,其中完全避免冲突,而同时被提供用于加密任何通信和数字地签名任何消息的必要的标识符;以及
• 其中新节点的委托既可以以半自动化的方式运转,其具有通过配置器设备的人类操作员的最少的干预,或者又以完全自动化的方式运转,其不具有干预并且仅具有来自人类操作员的最少的本领域中的知识或技能。
• 在实现本发明的自组织网络中委托的节点可以请求被赋予“信任环成员(TrustRing Member)”的角色,这需要但不限于授权新节点、在新节点的委托过程期间投票、认证节点和消息、验证新的SDL记录、维护所述SDL、将SDL分发给其他节点,该角色被称为;所有信任环成员此后被统称为所述自组织网络的“信任环”;如果在特定的自组织网络或自组织网络的分区中不存在信任环,则检测到这样的事实的任何节点都可以通过配置器设备以人类操作员的最小干预来初始化新的信任环和SDL;以及
• 已经是自组织网络的信任环成员的节点或若干个节点可以合作并投票,以使得已经委托的节点被授权成为所述网络的新的信任环成员,并因此在没有人类操作员的干预的情况下执行相同的功能;以及
• 可选地,关于每个节点的元数据,诸如但不限于其能力、特性、其名称或在所述节点上可用于任何已经委托的节点的资源的名称,可以连同其唯一的数字地址和其他标识参数一起被记录在安全分布式分类帐中;以及
• 本文中所描述的过程的整体在可能的情况下使用非对称公钥/私钥密码系统来加密任何消息和数据,在任何可能的情况下对任何和信息进行签名,仅用于逐步交换委托预期的新节点所必需的信息,从不以明文公开或传输任何信息,加密所有通信,并因此创建从新节点的上电到委托过程的完全结束的密码未破坏的且数学上可验证的事件链,如本发明中所描述的那样;以及。
附图说明
图1示出了以所谓的连接的多个数字通信设备的图式(schema),其中通信以及命令和控制基础设施两者都使用“集中式”拓扑来连接。
图2示出了连接的多个数字通信设备的图式,其中通信基础设施是“分散的”,但是命令和控制基础设施在中枢设备处被“集中化”。
图3示出了以所谓的连接的多个数字通信设备的图式,其中通信以及命令和控制基础设施两者都使用“分散的”拓扑来连接。
图4示出了以所谓的连接的多个数字通信设备的图式,其中通信以及命令和控制基础设施两者都使用完全“分布式”和拓扑来连接,其中所有节点在能力上是同质的。
图5示出了系统的框图,该系统具有执行来自本发明的特定方法的所有节点的所需的所有硬件元件。
图6示出了具有附接的显示和交互设备的系统的框图,该系统具有执行来自本发明的特定方法的所有配置器设备的所需的所有硬件元件。
图7.1和07.2示出了来自本发明的方法的一般协议图。
图8示出了安全分布式分类帐及其构成组件的图式、以及示出关于安全分布式分类帐的块的构成组件的细节的子图式。
图9示出了在被通电前若干个非委托节点和配置器节点的图式。
图10示出了来自本发明的方法的图,在首次通电时节点遵循该方法。
图11示出了非委托节点向范围内的所有配置器设备发送非委托通告“NCA”消息的图式。
图12示出了连接到配置器设备的显示器的示意性示例,其示出了人类操作员关于应将针对其接收到“NCA”消息的范围内的哪些节点添加到网络的选择。
图13示出了配置器节点针对第一非委托节点发送自动化委托初始化“ACI”的图式。
图14示出了来自本发明的方法的图,在处理通告和自动化委托初始化消息时节点遵循该方法。
图15示出了非委托节点针对配置器设备发送自动化委托初始化确认“ACIACK”消息的图式。
图16示出了非委托节点向范围内的所有委托节点或信任环成员节点发送委托请求“CRQ”消息的图式。
图17示出了来自本发明的方法的图,在处理委托请求“CRQ”或信任环形成请求“RNGREQ”消息时节点遵循该方法。
图18示出了非委托节点发送信任环形成请求“RNGREQ”消息的图式。
图19示出了连接到配置器设备的显示器的示意性示例,其示出了人类操作员关于请求形成新信任环的给定节点是否应被所述操作员授权的选择。
图20示出了来自本发明的方法的图,在处理信任环形成请求“RNGREQ”消息时节点遵循该方法。
图21示出了配置器设备发送信任环形成拒绝“RNGDEN”消息的图式。
图22示出了配置器设备发送信任环形成授权“RNGATH”消息的图式。
图23示出了来自本发明的方法的图,在处理信任环形成授权消息和信任环本身的初始化时节点遵循该方法。
图24示出了新转换的信任环成员节点发送信任环形成完成“RNGIOK”消息的图式。
图25示出了第二非委托节点发送非委托通告“NCA”消息的图式。
图26示出了来自本发明的方法的图,在处理委托请求时,委托节点和信任环成员节点遵循该方法。
图27示出了配置器节点针对第二非委托节点发送自动化委托初始化“ACI”的图式。
图28示出了第二非委托节点针对配置器设备发送自动化委托初始化确认“ACIACK”消息的图式。
图29示出了第二非委托节点发送委托请求“CRQ”消息的图式。
图30示出了来自本发明的方法的图,在处理它们维护的未决委托请求列表时以及在初始化新的信任环时,信任环成员遵循该方法。
图31示出了信任环成员发送委托请求拒绝“CRQDEN”消息的图式。
图32示出了来自本发明的方法的图,在处理地址赋予投票时信任环成员遵循该方法。
图33示出了信任环成员向第二非委托节点发送委托请求授权“CRA”消息的图式。
图34示出了来自本发明的方法的图,在处理和转发委托请求时,委托和信任环成员节点遵循该方法。
图35示出了未决注册的节点发送注册通告“REGADV”消息的图式。
图36示出了来自本发明的方法的图,在处理注册通告消息时信任环成员遵循该方法。
图37示出了信任环成员发送注册确认“RNGACK”消息的图式。
图38示出了信任环成员发送信任环成员添加“RNGADD”消息的图式。
图39.1和39.2示出了来自本发明的方法的图,在接收到注册通告消息并且然后交换块提议“BLPROP”消息时,信任环成员遵循该方法。
图40示出了信任环成员发送共享分布式分类帐获取“SDLGET”消息的图式。
图41示出了信任环成员发送共享分布式分类帐放置“SDLPUT”消息的图式。
图42示出了第三非委托节点向范围内的所有委托节点或信任环成员节点发送委托请求“CRQ”消息的图式。
图43示出了第一信任环成员向第二信任环成员发送包含其自己的签名的地址赋予投票消息“ADDRAB”消息的图式。
图44示出了第二信任环成员向第一信任环成员发送地址赋予投票消息“ADDRAB”消息的图式,该消息除了第一个成员之外还包含其自己的签名。
图45示出了信任环成员向第三非委托节点发送委托请求授权“CRA”消息的图式。
图46示出了现在未决委托的第三节点发送注册通告“REGADV”消息的图式。
图47示出了第二信任环成员节点现在将注册通告“REGADV”消息转发给另一个已经委托的节点和信任环成员的图式。
图48示出了来自本发明的方法的图,在转发分组时,被委托的节点或信任环成员遵循该方法。
图49示出了第二信任环成员节点发送具有其数字签名的块提议“BLPROP”消息的图式。
图50示出了第二信任环成员节点将如由图50指示的接收到的块提议“BLPROP”消息发送回到第二信任环成员节点的图式,其中其自己的数字签名被添加到它。
图51示出了第二信任环成员节点发送注册确认“REGACK”消息的图式。
图52示出了现在已经成为信任环成员的第一和第二最初非委托节点以及现在已经成为被委托到网络中的常规节点的第三非委托节点的图式。
图53示出了来自本发明的方法的图,在使用SDLGET和SDLPUT消息同步它们的SDL时,信任环成员遵循该方法。
本发明的可能实施例的具体实施方式
A.自动化和半自动化的安全自组织网络部署
本发明提供了一种安全系统和方法,该系统和方法促进非本领域技术人员在很少了解或不了解数字通信、联网或计算机的情况下,快速地并且以与装备的最少交互来实现自组织网络的部署。理想地,在本发明的优选实施例中,负责设置所述网络的操作员将仅需要手中有具有附接的显示器和交互设备的设备,并且该设备实现本发明。这样的设备(此后称为“配置器设备”)应足以启动自组织网络本身作为整体的配置,并检测实现本发明的任何对等体,并且该对等体尚未被所述自组织网络的其他对等体接受并能够与该其他对等体通信(此后称为“非委托”)。
在本发明的优选实施例中,非委托对等体通过在针对所述网络所选择的通信上周期性地发送消息来宣布它们的存在。配置器设备检测其检测到的所有非委托对等体,并为其操作员显示这样的对等体的列表。然后,操作员可以借助诸如按键或配置器设备的显示器上的触摸之类的简单交互来启动将所述对等体包括到正在被部署的自组织网络中的完全自动化且完全分布式的过程。配置器设备发送针对由操作员选择的非委托对等体特别定制的加密的信息令牌。令牌包含关于ad-网络的足够信息,使得已经部署在其中的其他对等体可以将其识别为未来的预期自组织网络对等体,但不足以允许访问自组织网络内的安全通信。然后,非委托对等体用信息令牌形成请求,借助该信息令牌,来自对等体的请求被接受,该对等体在所述自组织网络中被接受并能够在所述自组织网络中通信(此后称为“委托”)。
在本发明的优选实施例中,接收到这样的请求的委托对等体跨网络将其传输到由本发明的方法要求的其他委托对等体,以协作以验证潜在的新对等体是否可能在网络中被接受。要求在验证时协作的对等体是自组织网络的“信任环”的部分。然后,所有信任环对等体对其接受的各种参数进行投票,诸如但不限于下一个可用的顺序唯一网络范围的数字地址,如由各自维护的分布式分类帐所证明的,以及被选择以在委托过程的其余部分期间与新对等体通信的信任环对等体。如果所述预期的新对等体被足够数量的信任环对等体认为是可接受的,如由本发明的方法所要求的那样(即,如果“达成共识”,并且如果在接受参数上也达成了共识,则由信任环对等体向潜在的新自组织网络对等体自动提供另一个定制的加密信息令牌,该令牌由已经委托的对等体跨自组织网络传输回来。该新令牌包含所有必需的信息,所述信息允许新的对等体在自组织网络内安全地通信,并请求被持久地注册为自组织网络的部分(即成为“委托的”)。
在本发明的优选实施例中,在接收并处理新令牌之后,非委托对等体现在将被称为“未决注册”,并且将跨整个网络自动广播针对其持久注册的请求(或多播,取决于网络的特性)。然后,信任环对等体将自动对其在共享的、安全的分布式分类帐中的最终注册进行投票,信任环对等体通过本发明的方法被要求维护该分类帐。一旦投票过程完成,被选择以与未决注册的对等体通信的信任环对等体将通知所述对等体它的委托完成,并且它现在可以与自组织网络的其他已经委托的对等体自由通信。一旦它接收并处理了该信息,未决注册的对等体现在将被称为委托的,并且将开始这样表现,如上面以及在本发明的方法中描述的那样。
然而,在本发明的优选实施例中,如果在过程的开始时,在从配置器设备接收到关于网络的信息之后,预期的新对等体没有检测到对其针对委托的请求的答复,则它可以利用针对配置器设备定制的、由配置器设备处理并显示在配置器设备上的消息,从人类操作员请求是否通过将其自身转换为信任环对等体来启动新网络/网络分区的形成,并针对所述网络/网络分区创建新的分布式分类帐。如果操作员接受,则配置器设备发送专门加密的授权令牌,当该令牌被非委托对等体接收和处理时,使后者启动所述新的信任环和安全分布式分类帐的形成,如由本发明的方法所要求的那样。
类似地,在本发明的优选实施例中,稍后,如果网络/网络分区中的一个或多个信任环对等体检测到,如由该网络的参数所要求的那样,它们的数量不足以为它们的自组织网络提供期望的安全、验证和信任的级别,则可以选择已经委托的对等体成为信任环对等体。新选择的对等体将被所选择的信任环对等体发送指令,以将其自身转换为信任环对等体。它可以从其他信任环对等体请求并获得分布式分类帐的副本。用作实现本发明的自组织网络的安全基础设施的基础的信任环根据需要自动扩展自身,而无需人类操作员的干预。
B.安全自组织网络部署的按时间顺序的示例
作为起始的情况,图9示出了通电之前的四个非委托对等体501 NC1、502 NC2、503NC3和504 NC4以及505配置器设备。通电之后,非委托对等体向任何配置器设备通告它们的存在。图11示出了501 NC1、即非委托对等体之一向范围内的所有配置器设备发送非委托通告“NCA”消息,并且506 NCA消息被505配置器设备接收。然后,图12示出了505配置器设备的示意性示例,其示出了501 NC1被718操作员选择。然后,配置器针对501 NC1发送回专门定制的自动化委托初始化“ACI”消息,如图13上所示,其包含上面提到的令牌,封装了关于ad-网络的足够信息,使得已经部署在其中的其他对等体可以将它识别为未来预期自组织网络对等体,但没有安全相关的信息。然后,如图15中所示,在形成和发送509委托请求“CRQ”消息到范围内的所有委托节点或信任环成员节点之前,501 NC1通过针对505配置器设备发送565自动化委托初始化确认“ACIACK”消息来确认所述ACI消息的接收,如图16中所示。
由于501 NC1没有已经被接受的网络对等体,因此在若干个CRQ发出并已经经过一些时间之后它得出结论,要么它是所述自组织网络中的第一节点,要么它是相同网络的物理上分离的网络分区中的第一节点。然后,如图18中所示,501 NC1发送511信任环形成请求“RNGREQ”消息,该消息由505配置器设备检测和处理。图19示出了在400配置器设备上显示的对操作员的授权请求的示例,所述操作员可以通过按下743按钮来接受该请求。如果操作员接受,如图22所示,则配置器设备发送515信任环形成授权“RNGATH”消息,其具有用于创建新的网络/网络分区并启动新的分布式分类帐的所有必需的信息。501 NC1处理所述消息,执行由本发明要求的动作,并且如图24所示,在发送517信任环形成完成“RNGIOK”消息之前,成为新转换的519 TR1信任环网络对等体,505配置器设备接收并处理该信任环形成完成“RNGIOK”消息。
利用这样创建的新网络及其第一节点,操作员现在可以在装置周围物理地移动,并且在接收和处理其544“NCA”消息之后,选择502 NC2(要被委托到网络中的下一个节点),如图25所示。505配置器设备现在发送另一个546 ACI消息,如图27所示,这次是针对502NC1定制的。如较早前的NC1,502 NC2遵循本发明的方法,在发送其自己的550“CRQ”消息之前,如图29所示,也针对505配置器设备发送548“ACIACK”消息,如图28所示。然后,所述550CRQ消息被519 TR1接收和处理,TR1既是被委托到网络中的第一对等体以及也是它的第一信任环成员对等体。519 TR1验证550 CRQ消息中包含的信息,502 NC2使用在由505配置器设备发送的546 ACI消息中接收的令牌形成550 CRQ消息。如图33所示,在其被认为有效时,519 TR1然后查询其分布式分类帐,对其自身进行“投票”,并将唯一的数字网络地址赋予502 NC2,以及决定其自身是与502 NC2通信的最好的信任环成员对等体。然后,它使用其投票和决策的结果向502 NC2发送523委托请求授权“CRA”消息。502 NC2接收并处理所述消息,执行由本发明的方法所要求的动作,并转换其自身,如图35所示,525 PR2,即是未决注册的委托的网络对等体。525 PR2然后广播526注册通告“REGADV”消息,该消息包含其身份相关信息、唯一地址和唯一加密密钥。图37示出了519 TR1在已经处理了所述526 REGADV消息并将其中包含的信息记录在其分布式分类帐中之后,发送527注册确认“RNGACK”消息。525 PR2处理所述527消息,并在568 C2、即正在部署的自组织网络中的有效委托的对等体中转换其自身,如图38中所示。
TR1检测到没有足够的信任环对等体,然后投票,并决定将唯一的其他委托对等体568 C2转换为新的信任环成员,如由本发明的方法所要求的那样。如图38还示出的那样,519 TR1发送539信任环成员注册“TRMREG”消息,该消息由568 C2接收和处理,如图40所示,568 C2将其自身转换为530 TR2,即另一个信任环成员对等体。530 TR2然后从519 TR1请求具有针对519 TR1的541 SDLGET消息的分布式分类帐的副本,如图40所示,这将其与543SDLPUT消息一起发送回,如图41所示。
图42示出了503 NC3在已经从505配置器设备接收到554 “CRQ”消息之后又发送554 “CRQ”消息。所述消息由530 TR2接收并处理,如图43所示,530 TR2向519 TR1提议531地址赋予投票“ADDRAB”消息,该消息包含其自己对第二信任环成员的签名。图44示出了519TR1,其具有分布式分类帐的相同副本,分析该提议,接受该提议并将533其自己的地址赋予投票消息“ADDRAB”消息发送回到530 TR2,除了图43中所示的初始ADDRAB消息中发送的530TR2的签名之外,其具有其自己的签名。
如图45中所示,由于所有信任环成员都已经投票赞成,530 TR2针对503 NC3发送556“CRA”消息,如图46中所示,该503 NC3现在是557 PR3,即未决注册的对等体,该对等体利用多播消息向网络通告其自身,如图47所示,该多播消息被560转发到所有委托节点。所有信任环成员对等体分别交换包含注册的535和537块提议消息,如图49和图50所示。当达成共识时,注册被刻写在两个信任环成员对等体的分布式分类帐副本中,并且如图51所示,530 TR2针对557 PR3发送相关的562 REGACK消息,如图52所示,557 PR3最终成为564 C3,即自组织网络中的有效委托对等体。
可以以相同的方式添加另外的非委托节点,诸如504 NC4和其他节点。在每次添加委托的对等体之后,所有信任环成员将总是根据网络参数来评估是否需要将另一个对等体转换成信任环对等体,直到达到足够的比例。如上面所看到的,本发明既提供了自动化和分布式委托过程,以及又提供了除了分布式分类帐之外的自动部署管理委托过程的对等体的分布式信任环的过程。
在下面的优选实施例的描述中,这里提议了系统的可能的物理实现、装置、系统或设备以及方法和过程的可能的不同软件实现,以提供对本发明的更好理解。对于本领域技术人员来说将明显的是,这里描述的本发明可以被实现为不同的物理实施例和不同的软件实现,或者被实现为记录在计算机可读介质上的不同的指令的列表。这里描述的或在附图中示出的各种组件或部分或功能单元或功能子单元示出了本发明的可能实现,并且它们本身可以被进一步分离。
系统实施例
A.同质对等体
在优选实施例中,本文中描述的本发明的系统和方法和过程全部都应由对等体实行,所述对等体是通信计算设备,其被定义为由如下面描述的组件和部分的最小集合构造或实现,并且其在功能上是等同的,并且其全部都能够以完全相同的方式实行下面描述的本发明中阐述的动作的序列。所有这样的通信计算设备可以具有在本发明中描述的完全相同的并且在制造期间记录在它们的永久或非易失性存储器子系统中的完整的方法的集合。所有这样的通信设备还必须能够以所述方法中规定的顺序实行和执行由下面描述的计算机实现的方法规定的动作、计算和核算(calculation)中的所有。
A.1)通信计算系统
本领域技术人员将认识到,本发明及其系统和方法在其优选实施例中可以被实现为模拟或数字电路或其部分,其可以是集成的或不是集成的,并且其可以包含任何数量的继电器、二极管和晶体管、信号转换器和放大器、振荡器、天线、电子门和其他标准分立电子元件。本领域技术人员还将认识到,本发明的方法的具体实现可以在系统的所述电路中被实现为专用集成电路(ASIC)芯片,或者被实现为现场可编程门阵列(FPGA)芯片,或者被实现为记录在附接的计算机可读介质上的指令的列表,所述指令将由合并在系统的所述电路中的中央处理单元读取、解释和执行,所述中央处理单元诸如通用微控制器、或微处理器或片上系统。虽然如本文中描述的本发明的优选实施例是用数字晶体管半导体电子技术构造的,但是本发明也可以用任何其他现有的或未来的通信和计算技术来实现,诸如但不限于与光子集成电路组合的光纤和激光器。上面描述的实施例中的任何实施例可以如此被实现为计算机指令的列表、或软件程序、或硬件或其组合、或其软件模拟。
在优选实施例中,本发明的元件之间的连接可以是物理的和直接的,或者不是物理的和直接的。如果本发明的特定实施例可以具有置于其间的一个或多个元件,所述元件它们本身借助物理线路或通过信息的无线传输直接或间接通信。
在优选实施例中,对等体通信计算设备也可以集成一种或多种形式的计算机可读媒体(或介质)。它可以集成某种形式的永久或非易失性存储器子系统,诸如但不限于只读存储器(ROM)、或闪存-ROM芯片、或硬盘驱动器、或固态驱动器、或可重写光盘、或许可以持久方式记录、存储、再现任何类型的数字信息的任何其他类型的组件。所述对等体还可以集成某种形式的非永久性或易失性存储器子系统,诸如但不限于随机存取存储器(RAM)芯片。这些计算机可读媒体中的任何一种都可以被直接集成为如描述的电路或电路的元件的部分、被直接连接到任何这样的组件、或者可以通过中间组件被间接连接到这样的组件。
图5示出了系统的300优选实施例的示例的框图,在自组织网络的纯无线装置中使用的所有非委托通信计算设备应集成该系统,以便能够实行本发明的方法。物理硬件元件可以例如包括:用作中央处理单元的301通用微控制器芯片,其自身集成了302闪存-ROM子系统和303 RAM子系统;304通信模块,其自身集成了305天线、和306数字到模拟(DAC)信号转换器、和307振荡器、和308发射器电路以及309接收器电路;310电源;311和312两个数字接口连接器。
图6示出了作为“配置器设备”的系统的400优选实施例的示例的框图。物理硬件元件可以例如包括:401通用微控制器芯片,其自身集成了402闪存-ROM子系统和403 RAM子系统;404通信模块,其自身集成了405天线、和406数字到模拟(DAC)信号转换器、和407振荡器、和408发射器电路和409接收器电路;410电源;411和412两个数字接口连接器;413附接的显示器;414交互设备,诸如键盘。
为了本发明的目的,所有这样的通信计算设备此后被称为“节点”或其复数“节 点”。所有这样的节点的功能和能力在本发明的范围内被理解为是等同的。在任何给定时间点处,本发明的范围内的行为取决于在其易失性或非易失性存储器子系统中存在的或者在附接的计算机可读介质上存在的若干个变量记录的状态;在给定时间点处的所述记录的值指示应该由本发明的系统读取、解释和实行本发明的什么特定方法。
A.2)最低要求的能力
实行如记录在其永久或非易失性存储器中并在这里描述的计算机实现的方法中阐述的动作的序列的任何这样的节点,必须能够将任何这样的数字信息从一个存储器子系统复制到另一个存储器子系统,或者能够使用其一个或多个机载计算单元来转换任何这样的数字信息,或者能够使用其一个或多个机载计算单元使用所述数字信息来执行计算和核算,或者能够使用其一个或多个机载计算单元来创建新的数字信息作为所述计算和核算的结果,如由所述方法规定的那样。
任何这样的节点必须能够以由下面描述的计算机实现的方法所规定的顺序、形式和结构在其易失性或非易失性存储器子系统中记录数字信息的前述复制过程、或转换、或计算、或核算、或创建的结果。
作为上述提到的复制过程、或变换、或计算、或核算、或创建或数字信息中的任何一个的结果,通过实行由下面描述的计算机实现的方法规定的动作的序列,任何这样的节点必须能够形成符合由所述方法规定的特定序列、形式、结构和内容的消息,并且通过共享通信介质发出这样的数字信息。
任何这样的节点必须能够从共享通信介质接收任何数字信息或消息,该数字信息或消息符合由下面描述的计算机实现的方法规定的序列、形式、结构或内容,并且然后使用动作的序列并以由前述方法规定的特定次序将所述数字信息记录在节点的易失性或非易失性存储器子系统中。
A.3)启动程序
不管任何特定节点的任何其他能力如何,所有节点必须具有在向所述节点提供电功率之后,或者其永久非易失性存储器子系统或者其非易失性存储器子系统的开始,使用其机载计算单元或第一个(如果存在若干个的话)自动启动本发明的方法的可能性,并解释其中刻写的数字信息,该数字信息构成该方法的微代码,并且该特定计算单元可以实行该方法。
在优选实施例中,如在本发明中实现的计算机实现的方法应计算、创建和记录节点的易失性或非易失性存储器中的必要数字信息,并以由下面描述的计算机实现的方法规定的形式、结构和顺序来准备存储器空间,并且其稳固(firm)了对进一步执行所述方法而言必要的最小环境。
B.共享通信介质
尽管本文中描述的发明最初已经针对无线自组织网络的特定需要来开发,但是任何两个节点之间的任何通信不需要是无线的。在用本发明部署的网络中通信的任何节点可以跨有线通信或无线无线电信号、直接在节点之间、或者通过跨其他数字计算机隧穿的网络、电话或卫星网络、或者跨任何其他物理介质通信。在单个网络中顺序或并行使用的任何特定介质或其组合此后被称为“共享通信介质”。
术语
A.通信
A.1)协议签名
在本发明的优选实施例中,特定的比特的序列,其必须被置于通过共享介质传输并由信息处置设备传输发出的数字信息的所有序列的开始处,以标识在由本发明设置的规则内使用的所述序列。该特定的比特的序列在下面的实施例中被称为“协议签名”。
A.2)分组
在本发明的优选实施例中,如果信息处置设备传输的数字信息的序列比如在规定所述共享通信介质的使用的任何特定的行业或国际标准中指定的针对这样的序列的共同同意的长度长,则该序列可以被通信子系统分割成两个或更多个段。消息的离散的段或“分 组”可以在所选择的共享通信介质上顺序地或以任何其他次序传输,以及在每个分组的传输之间具有规定的或随机的延迟,以及如果分组的预期接收者在相同共享通信介质上发送回指示序列的一部分尚未被接收的分组,则其中最终具有一个或多个分组的重复,如果指定的共享通信介质的标准的规则和协议提供这样的能力的话。
在本发明的优选实施例中,取决于描述所选择的共享通信介质的使用的特定行业或国际标准和规则,通信子系统可以为每个分组前置(pre-pend)或追加(append)有特定的协议签名,以及由所述标准要求的实现为小的比特的序列的任何必要的附加数字信息和参数,诸如但不限于分组类型标识符、消息内的分组序列号。
A.3)消息
在本发明的优选实施例中,在所选择的共享通信介质上传输的任何数字信息必须由特定的协议签名和一个或多个比特来前置,该协议签名标识为了作为本发明的部分在下面描述的特定计算机实现的方法的目的而传送的任何数字信息,该一个或多个比特指示该信息是否是其原始的或者是否该信息已经通过加密函数和算法转换。由协议签名、加密设置比特和数字信息本身组成的完整序列被称为“消息”。
A.4)消息“发送”和消息“接收”
在本发明的优选实施例中,一旦如上面描述的那样已经针对信息处置设备的通信子系统准备必要的分组的整体,并且已经通过共享通信介质成功地传输分组的整体,消息据称就通过所选择的共享通信介质“发送”。
在本发明的优选实施例中,一旦已经接收到必要的分组的整体,以其适当的次序重构原始数字信息,识别特定于所述方法的协议签名,以及解释与加密相关的比特,消息据称就从所选择的共享通信介质“接收”。
A.5)网络范围加密通信
在本发明的优选实施例中,并且如由其方法所要求的那样,由在彼此的直接通信范围内并且其被接受并能够在网络内安全通信的自组织网络节点之间发送或接收的所有消息应如由本发明的方法所要求的那样应使用对称分组密码算法(symmetric blockcipher algorithm)来加密。这样的特性通过允许在单个自组织网络内的节点之间机密地交换任何和所有消息来提供第一层的安全性,并且阻止对自组织网络的通信信号的直接窃听(wiretapping)和偷听(eavesdropping)。本领域技术人员将认识到,通过密钥的顺序强力试错(sequential brute-force trial-and-error)来解密强对称密码是过分(prohibitively)计算密集和耗时的。本领域技术人员将认识到,这样的算法可以是“流密 码”变体的,或者是“分组密码”变体的。
根据Wikipedia,对称分组密码通常“借助由对称密钥指定的不变变换在固定长度的比特的组(称为块)上”操作,并且其由“两种配对算法组成,一种用于加密E,并且另一种用于解密D。两种算法都接受两个输入:大小为n比特的输入块和大小为k比特的密钥;并且两者都产生n比特输出块。解密算法D被定义为加密的反函数,即D = E−1。更正式地说,分组密码由加密函数指定:
EK(P):= E(K,P):{0,1} k×{0,1} n → {0,1} 。
在优选实施例中,发送消息的节点和接收消息的所有节点两者通常必须因此拥有相同的共享秘密,即上面提到的“对称密钥”。算法的参数,诸如密钥的长度或块的长度由网络范围的参数来定义,使用本发明部署的特定自组织网络中的所有节点必须遵循所述参数。应当在本发明的优选实施例中使用的用于其对称分组密码的特定算法是Rinjndael/高级加密标准(Advanced Encryption Standard),其如由美国国家标准和技术研究所以及ISO/IEC 18033-3标准定义,使用256比特密钥长度。本领域技术人员将认识到,存在可以被用于代替AES-256的各种其他强且安全的对称分组密码算法,除了许多其他之外,诸如但不限于美国FIPS DES标准的变体、或Blowfish算法、或Serpent算法、或RC5算法的变体、或Twofish算法。本领域技术人员将最终认识到,每个这样的密钥算法可以被进一步加强,例如通过将随机性的因素添加到一些操作的定时中,或者在由所选择的对称分组密码使用中的一些数学原语(primitives)的选择中添加随机性,诸如例如对称密钥。
A.6)对等加密通信
在本发明的优选实施例中,并且如由其方法所要求的那样,由自组织网络节点之间发送或接收的所有消息,无论这样的节点是否在彼此的直接通信范围内,并且第一节点已经特别地将其寻址到第二节点,并且如果两个节点都被接受并且能够在自组织网络内安全通信,则应使用非对称密钥加密算法对所有这样的消息进行加密和解密。这样的特性通过允许在单个自组织网络中的两个节点之间机密地交换任何和所有消息,并且除了原始发送者和接收者之外没有其他节点可以解密它,来提供第二附加层的安全性。此外,如下面进一步描述的,非对称密码还允许消息的认证,即,它许可接收对等体在数学上验证和评估发送消息的对等体是否实际上真的是它说它是的那个人(who its says it is)、以及消息在传输期间是否被篡改两者。这样,如果例如未授权和敌对的第三方在物理上损害了一个节点,则它既不能“读取”、“监听”,也不能成功地篡改由所述节点检测到或由所述节点主动转发的传输中的任何分组或消息流量。本领域技术人员将认识到,通过密钥的顺序强力试错来解密强的非对称密码通常比对称分组密码甚至更过分计算密集且耗时。
对称密码以两个密钥的集合操作,并且每方都具有可以被广泛传播的公钥和仅为其自身所知的私钥。根据Wikipedia,在非对称密码中,“任何人都可以使用接收器的公钥对 消息进行加密,但这样的消息只能用接收器的私钥来解密”。只有当两个密钥因此必须在数学上相关时,这才是可能的。可以使用数学函数或算法根据私有的一个密钥生成公钥,所述函数或算法非常难以逆转,并且“通常依赖于基于数学问题的算法,所述数学问题目前承认 没有高效的解决方案”[...]——例如“整数分解、离散对数和椭圆曲线关系”。非对称密码的强度依赖于“要根据其对应的公钥确定适当生成的私钥的不切实际的程度。然后,安全性 仅取决于保持私钥私密,并且公钥可以在不损害安全性的情况下发布。”
在优选实施例中,被接受并能够在自组织网络内安全通信并且其寻址并发送消息到第二节点的第一节点,将必须使用接收节点的公共非对称密码密钥加密所述消息,所述第二节点也被接受并能够在自组织网络内安全通信。应该在本发明的优选实施例中使用的用于其非对称密码的特定算法使用从ed25519密码系统导出的算法,使用256比特密钥变体。本领域技术人员将认识到,存在可以被用于代替ed25519的各种其他强且安全的非对称密码算法,诸如但不限于RSA密码系统的变体、或DSA和ECDSA密码系统的变体、或secp246k1密码系统。
A.7)路由发现和分组转发
在本发明的优选实施例中,并且如由其方法所要求的那样,由已经被接受并能够在自组织网络中通信的对等体发送的消息可以被寻址到如由其数字地址标识的另一个特定对等体。存在多种技术来实现所述分组从其起源的对等体到其目的地对等体的传输。在多跳自组织网络变体中,对等体可能需要将分组和消息重新传输或“转发”到其他对等体,直到消息被其目的地对等体接收到为止。“路由”是为网络中的分组选择一条或多条路径的过程。因为,在用本发明的自组织网络部署器中,每一个对等体都是平等的,并且自组织网络被称为是同质的。本领域技术人员将认识到,根据定义,每一个对等体必须因此能够执行路由、路由发现和分组转发,这也根据定义使得使用本发明多跳自组织网络来部署网络。
在优选实施例中,当发出和接收分组以实现路由、路由发现和分组转发时使用的算法是如由IETF RFC 3561所定义的自组织按需距离矢量路由。本领域技术人员将认识到,可以使用多种其他路由算法和路由算法类,因为本发明不取决于任何特定的路由算法,诸如但不限于链接状态算法、优化链接状态路由算法以及种类繁多的其他算法。
B.节点状态和功能模式
节点状态变量记录在某个计算机实现的方法的实行范围内设置该节点关于该特定计算机实现的方法应该执行什么下一个动作,诸如是否从其永久的、易失性的或非易失性的存储器子系统中读取数字信息,或者是否将数字信息写入、以什么形式写入节点的易失性或非易失性存储器子系统,或者是否通过共享通信介质发出消息、以及以什么特定形式发出消息,或者是否等待通过共享通信介质接收某种类型和形式的消息同时忽略所有其他类型的消息,或者是否响应于由下面描述的某种计算机实现的方法所阐述的定时条件而执行某个动作,或者作为由下面描述的一种方法所要求的某个计算的结果而触发相同计算机实现的方法内的另一步骤的实行,或者作为由下面描述的一种方法所要求的某个计算的结果而触发下面描述的另一计算机实现的方法的实行。
在优选实施例中,根据在任何特定时刻处存在于所述节点的易失性或非易失性存储器子系统中的变量记录的内容,任何节点将仅实行如在下面描述的计算机实现的方法中规定的动作的子集。一些这样的方法可以并且将在某些操作条件下改变任一变量记录的内容,并且因此将改变动作的子集或序列,所述动作可以或者将在任何时间点处由节点的一个或多个计算单元实行。任何这样的特定的动作的子集、动作的序列和计算机实现的方法此后出于本发明的目的被称为“模式”。
节点类型变量记录设置在某个时刻处展现由节点使用计算机实现的方法的哪个通用集合,以及由特定节点在网络中执行的某个功能外部展现计算机实现的方法的哪个通用集合——简称为该节点在该时刻处所“处于”的模式。
B.1)处于“非委托”模式中的节点
在优选实施例中,如由本发明的方法所定义的存在于其易失性或非易失性存储器中的其“节点类型”变量记录标识符被设置为非委托值的任何节点被称为“非委托节点”。如本发明中所定义的,“非委托”是所述节点类型变量记录的默认值,如果在所述节点的制造期间如记录在其永久存储器子系统中的所述节点的节点类型参数值是空或者在所述节点永久存储器子系统中不存在该参数,则如在所述节点的非易失性存储器中存储的,下面描述的计算机实现的方法将使节点在该节点第一次通电时保持该默认值。
在优选实施例中,在非委托模式下实行下面描述的计算机实现的方法的任何节点在其永久的、易失性的或非易失性的存储器子系统中的任何变量记录中不保存必要的数字信息,该数字信息允许它能够通过在共享通信介质上发送和接收消息来与实行下面描述的计算机实现的方法的任何其他节点协作执行任何功能,除了特定于非委托模式的计算机实现的方法的特定子集之外,并且以及仅当由所述节点通过共享通信介质接收的消息符合如由下面描述的计算机实现的方法规定的特定序列、形式、结构和内容时,其执行所述节点的委托和进入特定现有装置或自组织网络中的接纳过程。
在优选实施例中,在非委托模式下实行下面描述的计算机实现的方法的任何节点在其永久的、易失性或非易失性存储器子系统中存在的任何变量记录中不保存,该变量记录包含与安全忧虑相关的必要数字信息,该必要数字信息将允许它通过在共享通信介质上发送和接收消息来与实行下面描述的计算机实现的方法的任何其他节点通信或与该任何其他节点安全地合作,并且其已经在特定的装置或自组织网络中被委托和接纳,并且其因此被认为拥有与和该特定装置或自组织网络相关的安全忧虑相关的数字信息。
在优选实施例中,在非委托模式下实行下面描述的计算机实现的方法的任何节点在其永久的、易失性或非易失性存储器子系统中存在的任何变量记录中不保存,该变量记录包含与密码功能相关的必要数字信息,该密码功能将允许其通过在共享通信介质上发送和接收消息来与实行下面描述的计算机实现的方法的任何其他节点机密地和可验证地通信,或者与该任何其他节点协作地机密地和可验证地行动,并且其已经在特定的装置或自组织网络中被委托和接纳,并且其因此被认为拥有与密码功能相关的必要数字信息。
B.2)处于“配置器设备”模式中的节点
在优选实施例中,如由本发明的方法所定义的,其节点类型变量记录预设在其易失性或非易失性存储器中的任何节点被设置为“conf-dev”值,被称为“配置器设备”。config.设备值是节点类型变量记录的值,如果在所述节点的制造期间如记录在其永久存储器中的节点类型参数的值是“conf-dev”,则下面描述的计算机实现的方法将使节点保持该值。
在优选实施例中,配置器设备模式原则上应仅被用于便携式电池供电的电子设备,如图6中所描述和图示的那样,并且这样的设备通常应仅由人类操作员使用,以引起一个或多个非委托节点的节点的委托和进入特定装置或自组织网络中的接纳,该节点拥有并能够实行下面描述的计算机实现的方法。
在优选实施例中,任何这样的“配置器设备”必须具有如制造的在所选择的共享通信介质上发送和接收消息的最小能力。然而,对于这样的配置设备优选的是,具有:物理嵌入的或物理连接的数字显示器,在该显示器上它可以向人类操作员呈现数字信息;以及机电物理交互子系统,该子系统可以被用于输入人类操作员的指令。
在优选实施例中,除了所选择的通信介质之外,任何这样的配置器设备可以替代地能够或者不能够通过另一个共享通信介质或者使用现有的数字网络进行通信。通过在上面提到的网络或共享介质上发送消息,所述配置器设备可能还能够使没有直接物理连接到其自身的另一个远程计算设备为了人类操作员的利益而显示数字信息,诸如基于web的接口,只要所述消息是以由所述计算设备可理解的形式和顺序的。通过从前述网络或共享介质接收消息,所述配置设备可能还能够接收由人类操作员在远程计算设备上输入的指令,该远程计算设备没有直接物理连接到其自身,并且其具有机电物理交互子系统。
B.3)处于“未决注册”模式中的节点
在优选实施例中,如由本发明的方法所定义的,其节点类型变量记录存在于其易失性或非易失性存储器中的任何节点被设置为“comm-preg”值,被称为“未决注册”节点。这样的节点在委托期间已经接收到能够在网络内安全通信的最少必要信息,诸如网络通信加密密钥、唯一的数字网络地址、网络的共享时间。然而,这样的节点还尚未被正式授权与其他节点通信,并且其进入自组织网络中的接受还尚未被其分布式分类帐中的任何节点公证(notarized)。
B.4)处于“委托”模式中的节点
在优选实施例中,如由本发明的方法所定义的,其节点类型变量记录存在于其易失性或非易失性存储器中的任何节点被设置为“comm”值,并且其标识参数、地址以及其公钥和私钥被数学上可验证地记录在信任环成员的SDL副本(如由默认参数所定义的)的绝大多数中,被称为“委托节点”。这样的节点现在在所述自组织网络中被完全部署和接受。
B.5)处于“信任环成员”模式中的节点
在优选实施例中,如由本发明的方法所定义的,其节点类型变量记录存在于其易失性或非易失性存储器中的任何节点被设置为“trngm”值,被称为“信任环成员”。信任环成员的角色可以是发出各种类型的数字签名的投票,使用其分布式分类帐的副本认证和解释任何这样接收到的投票,并检查是否在接受网络中的新节点、在分布式分类帐中注册新的委托节点、提议将特定的委托节点转换为新的信任环成员的不同方面上存在共识。信任环成员的角色还可能是维护在分布式分类帐中的网络参数、所有委托节点注册和信任环成员添加的分布式数学可验证记录。根据请求,信任环成员还可以从网络或网络分区中的任何其他委托节点或信任环成员请求并向其提供它们的分布式分类帐的一部分或整体的副本。此外,信任环成员定期检查其SDL的副本,以评估如由ad-网络的参数设置的信任环成员的数量或比例是否足以维持跨网络的安全分布式分类帐的足够稳健的安全的级别和足够的数学上可验证的一致性的级别。最后,在优选实施例中,为了本发明的方法的目的,所有信任环成员仍然被认为是委托节点,而如果在分布式分类帐中明确地这样注册的话,委托节点仅是信任环成员,它们的节点类型值作为现有信任环成员的投票的结果被改变。
C.唯一标识符和数字签名
C.1)伪随机数生成器
在本发明的优选实施例中,并且如由其方法所要求的那样,由所选择的密码使用的多种唯一的数字和二进制标识符、二进制加密密钥(对称和非对称)、种子号、数学原语将必须由节点生成。在优选实施例中,通过随机性实现唯一性。随机数和比特序列两者可以从外部熵的源生成(诸如使用连接到特定节点的传感器测量物理环境变量),或者使用密码安全伪随机随机比特生成器(PRNG)算法来计算地核算。
在优选实施例中,由中央处理单元使用诸如AES-CTR DRBG的算法来计算生成随机比特序列和数字。要生成的每个标识符、密钥、种子号、数学原语的以比特为单位的长度或大小取决于本发明的特定实施例。本领域技术人员将认识到,可以使用多种其他算法,诸如但不限于ANSI X9.17、FIPS 186-4或NIST SP 800-90A标准或Yarrow、CryptGenRandom、ISAAC、Dual_EC_DBRG和Fortuna算法。
C.2)散列函数
在本发明的优选实施例中,并且如由其方法所要求的那样,多种过程需要将任意大小的数据映射到固定大小的唯一数字,用于在消息以及记录完整性检查、各种认证过程中的使用。这是通过所谓的“散列”函数来实现的。在各种密码过程中,散列函数的密码变体被用来验证一些输入数据映射到给定的散列值,但是如果输入数据是未知的,则通过知道存储的散列值来重构它(或等同的替代物)是审慎地(deliberately)困难的。由本发明的过程和方法中尤其广泛地使用密码散列函数,其将数据记录在由信任环成员维护的分布式分类帐中。对于更复杂和结构化的数据结构,可以核算所述数据结构的每个特定子单元的散列,以及使用所述更高级别的所有子单元的散列来核算所述结构的更高级别的层级处的中间散列,直到核算了所谓的顶级散列。被组织成二叉树的散列的层级树被称为“Merkle树”(参见US4309569),并且其最顶端的散列值被称为“Merkle根值”。如由本发明的方法所要求的那样,Merkle树被广泛用于由信任环成员维护的分布式分类帐和区块链的变体中。
在优选实施例中,使用SHA-3算法来核算散列和Merkle树。本领域技术人员将认识到,可以使用多种其他散列函数和算法,诸如但不限于MD5、SHA-2、BLAKE、GOST或Tiger。用于每个特定用途的每个散列数的以比特为单位的长度或大小取决于本发明的特定实施例。
C.3)数字签名
在本发明的优选实施例中,由节点发送和接收的多种消息必须被认证,使得可以数学上验证所述消息的发送者不能否认已经发送了所述消息,并且所述消息在其跨自组织网络的传输期间未被改变。例如,在本发明的各种投票过程的方法中使用的投票消息广泛使用了数字签名。此外,必须以相同的方式对各种记录进行验证,使得导致记录被插入例如分布式分类帐中的节点不能否认已经启动了所述插入。用于执行这些功能的算法被称为数字签名算法。
在优选实施例中,使用ed25519密码系统导出的算法来核算和认证数字签名。本领域技术人员将认识到,可以使用多种其他算法,诸如但不限于RSA-PSS、EdDSA、ECDSA或ElGamal算法。在本发明中用于它们的各种特定用途的各种数字签名的以比特为单位的长度或大小取决于本发明的特定实施例。
D.分布式防篡改决策制定和记录保存
D.1)数字签名的拜占庭容错(Byzantine Fault Tolerant)投票
在本发明的优选实施例中,并且如由其方法所要求的那样,在协作投票期间必须交换多种投票,其中各种类型的共识决策必须由自组织网络的若干个节点来实现。最特别地,信任环成员节点对唯一数字网络地址的赋予进行投票,并且还交换要被插入分布式分类帐中的块的提议,以及提议和对应使哪些委托节点转变为信任环成员进行投票。这些投票过程本质上是分布式的、异步的,并且受制于多种可能导致该过程失败的故障的影响,诸如但不限于通信故障(breakdown)、节点故障或网络分割。此外,这样的投票过程可能受制于被敌对的第三方损害的一个或多个信任环成员节点,第三方可能想要通过伪造投票来将某个决策强加给所有其他信任环成员节点;因此,这样的投票过程还应容忍信任环成员之间潜在地完全缺乏信任的。如由本发明所要求的那样,除了其他之外,这样的过程需要容忍至少上面描述的故障类型。满足这些要求的全分布式投票算法的一般类别被称为“拜占庭 容错”(BFT)算法,涉及主题的基本处理,即“拜占庭将军问题”。
在优选实施例中,信任环成员节点使用一个或多个消息将包含它们的提议的投票发送到其他这样的节点,所述一个或多个消息的目的地的列表被核算并使用特定的分布式BFT算法来追加到每个这样的投票。然后,每个节点接收任何这样的投票,无论期望将其投票添加到所述提议还是拒绝其投票,然后将其答复添加到消息,并将其传输到由所述分布式BFT算法使用目的地的入站列表核算的目的地的新列表。因此,分布式BGT算法定义了消息和投票根据其来交换的次序。接收到投票消息的任何节点可以使用分布式BFT算法,在添加其自己的投票或拒绝之前或之后,分析已经针对所述相关提议达成共识决策。决策已经达成共识所需的投票计数投票取决于针对特定实施例选择的特定分布式BFT算法。
在优选实施例中,PBFT算法应被用于由本发明的方法定义的所有投票过程,其具有2/3的投票节点的正共识决策阈值。本领域技术人员将认识到,可以使用多种其他算法,除了许多其他算法之外,诸如但不限于Paxos、Q/U、JQ、RBFT、MinBFT。此外,为了限制在跨自组织网络传输期间被潜在受损节点或“中间人”攻击篡改投票的可能性,每一个投票消息,无论其类型如何,都使用所选择的数字签名算法进行数字签名,如同其中包含的每个投票一样。所述投票和消息使用选择的数字签名算法来签名,该算法使用针对分布式分类帐中的每个委托节点注册的公钥。如由本发明的方法所要求的那样,在分布式分类帐中还记录了针对已经达成共识的任何决策的所有签名投票的集合。因此,审计和认证投票过程和决策的整体并防止篡改是可能的。
D.2)安全分布式分类帐
在本发明的优选实施例中,并且如由其方法所要求的那样,多种防篡改的分布式记录必须由信任环成员节点保存。对于网络中的每个委托节点,这样的记录应包括其标识符的分布式记录、其公共非对称密码密钥、其唯一数字网络地址。对于每个委托节点,这样的记录还可以可选地包括不同类型的元数据,诸如但不限于节点的硬件模型、其能力或对其他委托节点而言可用的资源。此外,各种事件的防篡改分布式记录也应由信任环成员节点保存,诸如但不限于创建新的自组织网络或自组织网络分区、初始化新的分布式分类帐以及将委托节点转换为信任环成员。安全分布式分类帐可以被用于保存所述自组织网络运转和所有已委托节点在它们自身之间安全通信所需的所有参数的分布式防篡改数学可验证记录,或所有委托和地址分配操作的这样的记录,或在任何时间点处每个已委托节点的角色的这样的记录,或针对每个单独委托节点的标识特性、单独能力或安全相关参数的这样的记录。
在优选实施例中,满足上面指示的要求的数据结构和伴随的处理算法从分布式分类帐的概念中导出,如由本发明的方法所要求的那样。由于与记录的认证相关的防篡改密码特征的多样性,以及伴随的数字签名投票过程,因此如在本发明的优选实施例中实现的那样,特定种类的分布式分类帐或可以被限定(qualify)为私有的或“许可的”区块链,并且此后将被称为“安全分布式分类帐”(SDL)。在一个实施例中,SDL是只写分布式数据库,其包含被分组为由信任环成员维护的块的记录的增长列表。每个块包含时间戳和链接,该链接采用SDL中记录的先前的块的散列的形式。
图8示出了构成如记录在一个信任环成员节点的易失性或非易失性存储器子系统中的401 SDL副本的数据结构的元素的图,并且以及分别是块10、11和12(所述401 SDL副本的记录的三个依次连续块)的402、403和404的图。每个块首先由其408、409和410块ID号构成。如例如在如所示的三个402、403和404块中,每个块然后分别由指示它们在SDL中的刻写的相关日期和时间的405、406和407时间戳构成。然后,这些块中的每个都包含以通过使用所述前面的块的整体核算的散列值的形式的到其前面的块的链接,如由散列值411、412和413所示。然后,这些块中的每个分别由包含在所述块中的所有记录的414、415和416Merkle根值构成,对于403块11而言,之后是例如中间散列417和418,并且然后是对应于构成该块的每个实际记录的相应特定散列419、420、421和422。然后,每个块,诸如这里示出的示例中的403块11,由记录本身构成,在示出的示例中是三个423、424和425委托节点和426信任环成员注册之一。最后,在优选实施例中,每个块,诸如这里示出的示例中的403块11,由427块提议投票的所有数字签名的列表构成,这导致要协作地采取共识决策来记录所述块。优选地,分布式分类帐是散列的链表(链)。然而,分布式分类帐也可以在散列的有向无环图(directed acyclic graph)(TANGLE)中实现。TANGLE中的任何事务总是随机地或根据针对事务选择的预定算法验证两个或更多个过去的事务。
在实施例中,必须确保信任环成员中的SDL的所有副本都需要是相同的,并且自组织网络的节点需要信任版本尚未被篡改。包含在SDL中的每一个块和记录可以被节点非常快速地认证,该节点可以通过重新核算所有连续的散列和Merkle根值来廉价地验证记录在其中的所有信息。改变已经针对其核算散列值的数据中的一个比特将导致另一个随机(但唯一)的散列值。如果任何块中的任何单个比特改变,则散列链接的链中的所有后续的散列值将改变所有散列,直到最近的记录为止,使得任何篡改明显。此外,与其他节点上的其他SDL副本的简单比较也确保成功篡改记录变得过分困难。在实施例中,在本发明中使用的SDL与如在加密货币和其他这样的系统中使用的区块链有几个显著的区别。第一个区别是,不存在需要被核算的所谓“工作量证明(proof-of-work)”值。实际上,这样的值仅在如下系统中是必要的,在该系统中,维护分布式分类帐的网络对等体是事先未知的——任何对等体都可以参与该过程——也不能信任任何这样的对等体,这就是为什么它被称为“无许可(permissionless)”区块链。这就是为什么区块链的发明者创建了复杂的计算激励的web,该web围绕针对随机值的“计算挖掘”的概念为中心,该概念将针对链中的给定块的值“0”的散列抵消(cancel out);以及为什么存在挖掘者。在本发明的实施例中,参与SDL的维护和管理中的任何和所有信任环成员都是由所有节点已知或可知的,被明确授权,并且发送到和来自每个这样的节点的任何消息都可以被验证和认证。这就是为什么如在本发明的实施例中使用的SDL可以被表征为“许可的”或“私有的”区块链。本发明中的BFT算法的使用使得信任环容易受到旨在控制2/3的投票/挖掘对等体的相同类型的攻击。因此,使用挖掘和工作量证明只有缺点,挖掘是计算成本非常高的。类似地,与分布式分类帐的其他用途的重要区别是,SDL不被用作可认证的(authenticable)通信介质,这主要由于速度和效率忧虑。实际上,自组织网络很经常是资源受限的,特别是在物联网应用中,并且对于节点而言,等待具有区块链的最新副本通常是不切实际的。因此,一旦不同类型的投票已经达成共识决策,就选择信任环成员作为投票过程的部分来执行所需的任何动作,诸如地址分配、SDL块和记录刻写或信任环成员转换。
过程和方法
由于在用本发明的自组织网络部署器中,每一个对等体都是平等的,并且自组织网络被称为是同质的,所以网络中的每一个节点必须使用完全相同的方法来运转。在优选实施例中,本发明因此被最好地实现为称为有限状态机(此后称为FSM)的数学计算的模型的变体。根据Wikipedia,FSM被定义为计算的模型,即“在任何给定的时间处,可以恰好处于有限数量的状态之一中的抽象机器。FSM可以响应于一些外部输入而从一种状态变化到另一种状态;从一种状态到另一种状态的变化被称为转变。FSM由其状态的列表、其初始状态和每次转变的条件定义”。如这里描述的本发明的方法如描述如在节点中实现的节点可以处于其中的状态和转变,以及应该执行哪些动作——转变。所述方法本身应被编码实现为从计算机可读介质读取并由节点的一个或多个中央处理单元解释的指令的列表。
图7.1和图7.2示出了在由本发明定义的委托过程的不同点处使用本发明部署的自组织网络的节点之间交换的消息的示意性顺序协议图。601是配置器设备,602可以是任何非委托节点,603可以是在经历委托过程的602非委托节点的直接通信范围中的任何委托节点,604可以是不在经历委托过程的602非委托节点的直接通信范围中的任何委托节点,605是最靠近经历委托过程的非委托节点的信任环成员节点(就其自身与信任环成员节点之间的跳数而言),606可以是任何其他信任环成员。
A.节点启动和通告
A.1)一般节点启动过程
在优选实施例中,所有节点、非委托或配置器设备(图7.1,610)在通电时(图10,701)首先检查其闪存ROM或RAM(参见图6,402和403),以获得指示所述节点的类型的记录”,并且最终,如果它退出,则检查其启动功能状态(此后称为其“节点状态”)(图10,702);并且然后在这样的检查失败时,尝试从其闪存ROM或RAM复制描述针对给定自组织网络类型的工厂设置功能参数的记录,诸如但不限于协议签名、分组长度等;然后,尝试复制标识特定自组织网络的记录(如果它们存在的话),这允许它被其他已经委托的节点自动接纳、注册和委托(图10,703);以及
a. 如果其节点类型指示它是“配置器设备”(图10,705),但没有记录标识特定网络(由服务集标识符(此后称为“网络ssid”)标识)、其网络范围通信加密密钥(此后称为“网络密钥”)和同步时间参考(此后称为“网络同步时间”)和SDL标识,则所述配置器设备应在其连接的显示器上从其人类操作员请求要输入的所述记录的值(图10,706);或者
b. 如果不存在节点类型记录,或者它指示节点是“非委托”或“配置器设备”,并且如果不存在节点状态记录,并且如果所述节点在存储器中不具有唯一的标识符的集合(图10,707),则所述节点应当为其自身准备唯一的标识符的集合,其包括:
i. 针对节点生成随机数字标识符(如果节点是非委托的,则此后称为“随机ID”,或者如果其是配置器设备,则此后称为“Config ID”)、随机私有非对称密码密钥(此后分别称为“非comm.私钥”和“config.私钥”);以及
ii. 核算与刚刚生成的私钥链接的公钥(此后分别称为“非comm.公钥”和“config.公钥”)——(图10,708);以及
c. 如果所述节点是配置器设备,则设置其节点状态以指示所述节点准备好接收消息和处理信息(此后称为“准备好接收和处理”)——(图10,709);以及
d. 周期性地检查是否已经接收到任何消息或者任何是否应执行任何其他动作或信息处理(图10,710)。
图9示出了四个这样的非委托节点501、502、503和504,所述节点已经完成上面在先前段落中描述的过程,以及505配置器设备。
A.2)自动化委托
在优选实施例中,尽管非委托节点的状态是准备好接收和处理,并且如果所有四个网络ssid、网络密钥、网络同步时间、配置器设备的密码签名(如由强制性参数所要求的那样,使用选择的非对称密码用其自己的conf.私钥加密的其自己的Config ID,此后称为“配置器签名”)记录存在于RAM或闪存-Rom中,则所述节点应发送委托请求消息(此后称为“CRQ消息”),该消息如由强制性参数所要求的那样使用对称密码用相关网络密钥加密,并包含所述网络SSID、网络同步时间、配置器sig.以及它自己的随机ID和非comm.公钥;并设置其节点状态记录以指示发送了CRQ消息;并且然后周期性地检查是否已经接收到任何消息或者任何是否应执行任何其他动作或信息处理。
A.3)半自动化委托初始化
在优选实施例中,尽管非委托节点的状态是准备好接收和处理,并且如果网络ssid、网络密钥或网络同步记录中的任何一个不存在于其RAM或闪存-ROM中(图10,711),则所述节点应发送非委托通告消息(此后称为“NCA消息”),该消息指示其存在和非委托状态,以及包含其随机ID、指示其能力的数字信息令牌(此后称为“节点元数据”)及其非comm.公钥,以允许其他节点安全地与其向后通信(图7.1,611;图10,711;图11,506);并设置其状态记录以指示发送了NCA消息(图10,713;图7.1,611);并且然后周期性地检查是否已经接收到任何消息或者是否应执行任何其他动作或信息处理(图10,710)。
图11示出了相同的上面描述的五个节点以及跨共享通信介质发送的506 NCA消息和由非委托节点501发出所述消息的507通信范围。
B.通告处理和自动化委托初始化
B.1)处理非委托通告消息
在优选实施例中,尽管配置器设备的状态是准备好接收和处理(图14,714),并且如果它接收到NCA消息(图14,716),则所述节点应该(图14,716),如果它没有具有如此接收的随机ID的非委托节点的记录,则使用接收到的消息的值在它维护的未决非委托通告的列表(此后称为“未决NCA列表”)中创建一个记录(图14,717);以及
对于其未决NCA列表中未指示发送了自动化委托初始化消息(此后称为“ACI消息”)的所有记录,在其直接附接的显示器上或在远程显示器上为其人类操作员显示由它们的随机ID和节点元数据标识的这样的节点的列表(图12,718;图14,718;图7,612),并允许所述操作员借助按下按钮来选择显示的节点,这使得配置器设备发送ACI消息(图14,719;图7,613),该ACI消息使用所选择的非对称密码用如记录在未决NCA列表中的节点的非comm.公钥加密,并且其包含所选择节点的随机ID及其自己的配置器公钥;以及使用选择的对称密码用网络密钥加密的以下值:网络同步时间、网络ssid、其配置器签名、所选择节点的随机ID和非comm.公钥;发送ACI消息使其发起所选择的非委托节点到使用本发明部署的自组织联网中的分布式和自动化委托过程,并且周期性地检查是否已经接收到任何消息或者是否应该执行任何其他动作或信息处理。
图13示出了相同的上面描述的五个节点以及跨共享通信介质发送的508 ACI消息和由配置器设备505发出所述消息的509通信范围。
B.2)处理自动化委托初始化确认消息
在优选实施例中,尽管接收到配置器设备接收到自动化委托初始化确认消息(此后称为“ACIACK消息”)(图14,720;图15,565),但是然后所述节点应使用所选择的非对称密码用其conf.公钥解密所述消息;并且如果在任何时刻时接收到其随机ID值等于配置器设备的未决NCA列表中对应字段的ACIACK消息,则设置对应字段以指示所述列表中发生了所述接收,并将配置器设备的状态设置为准备好接收和处理(图14,721);并且然后周期性地检查是否已经接收到任何消息或者任何是否应执行任何其他动作或信息处理。
C.委托请求和授权或自动化信任环形成
C.1)处理自动化委托初始化消息
在优选实施例中,尽管非委托准备好接收和处理(图17,722)并接收ACI消息(图14,508;图17,723),但是然后所述节点应使用所选择的非对称密码算法用其非comm.私钥解密所述消息;并且如果如此获得的明文中包含的随机ID值等于它自己的值(图17,724;图7.1,614),则将如此接收的配置器公钥记录在存储器中,并发送“CRQ消息”,但使用来自接收的ACI消息的值,该接收的ACI消息代之以使用对称密码用网络密钥加密(图16,509;图17,725;图7,615);然后设置其节点状态以指示发送了CRQ消息,并且周期性地检查是否已经接收到任何消息或者任何是否应该执行任何其他动作或信息处理。
图16示出了相同的上面描述的五个节点以及跨共享通信介质发送的509 CRQ消息和由非委托节点501发出所述消息的510通信范围。
C.2)检测部署的节点或自组织网络是否在范围内
在优选实施例中,尽管非委托节点的状态指示发送了CRQ消息,但是然而所述节点应当周期性地检查是否接收到委托授权或委托转发授权消息(此后分别称为“CRA消息”或“CRAFWD消息”)(图17,726;图7.1,616);这样的检查应仅被执行有限的次数(图17,727,728和729),直到已经达到如网络范围参数中阐述的这样的检查的阈值数量(图17,730)。如果达到这样的阈值,则结束信任环初始化请求消息(此后称为“RNGREQ消息”),并且该消息包含使用配置器公钥加密的所述节点自己的随机ID(图17,731;图7.1,617);并设置其节点状态记录以指示发送了RNGREQ消息;并且然后周期性地检查是否已经接收到任何消息或者是否应该执行任何其他动作或信息处理。
图18示出了与上面描述的相同的五个节点以及跨共享通信介质发送的509RNGREQ消息和由非委托节点512发出所述消息的511通信范围。
C.3)请求形成新的信任环
在优选实施例中,尽管非委托节点的状态指示发送了RNGREQ消息,但是然后所述节点应当周期性地检查(图17,733,734,735)是否接收到信任环初始化授权消息或者信任环初始化拒绝消息(此后分别称为“RNGATH消息”和“RNGDEN消息”)(图17,732;图7.1,619;图7,620);这样的检查应被执行有限的次数,直到如自组织网络参数中阐述的这样的检查的阈值数量。如果达到这样的阈值,则设置其节点状态记录以指示该节点准备好接收和处理(图17,736)并周期性地检查是否已经接收到任何消息或任何是否应执行任何其他动作或信息处理。
C.4)处理信任环形成请求消息
在优选实施例中,尽管配置器设备的状态是准备好接收和处理,并且其接收到RNGREQ消息(图20,737),但是然后所述节点应使用所选择的非对称密码算法用其配置器私钥解密所述消息;并且然后它应使用所选择的非对称密钥密码算法用其自己的conf.私钥解密该消息,并且如果如此获得的明文中包含的随机ID值等于其自己的值,则所述配置器设备应验证在其未决NCA列表中是否存在其随机ID字段等于所得到的明文中包含的随机字段的记录,如果是这样的情况(图20,738),则所述节点应在其连接的显示器上从人类操作员请求这样的授权(图19,742;图7.1,618),应使用例如连接的键盘给出哪个答复(图19,743;图20,739);以及
• 如果这样的授权被拒绝(图20,740),发送RNGDEN消息(图21,513;图7,619),但至少包括请求节点的随机ID,该ID使用所选择的非对称密钥加密算法用记录在未决NCA列表中的对应非comm.公钥加密;或者
• 如果给出了这样的授权(图20,741),那么如果不存在指示网络标识符、网络密钥和网络同步时间的记录,则所述节点绝对必须请求这样的授权,以使用伪随机随机数生成器生成网络标识符和密钥,并使用其自己的时钟来设置分类帐初始化时间,或者请求外部时间参考;如果请求外部参考,应记录与同步网络时间的时间差;可选地,可以由操作员输入安全分布式分类帐的标识符;以及
• 发送RNGATH消息(图22,515;图7.1,621),该消息使用所选择的非对称密钥加密算法,用如未决NCA列表中记录的NC公钥加密,但至少包括网络标识符、网络通信加密密钥、其自己的Config ID、其自己的配置器公钥、分类帐初始化时间、网络的时间差、信任环成员的最小优选数量;以及
• 周期性地检查是否已经接收到任何消息或者任何是否应执行任何其他动作或信息处理。
图21示出了相同的上面描述的五个节点以及跨共享通信介质发送的513 RNGDEN消息和由配置器设备505发出所述消息的514通信范围。
图22示出了相同的上面描述的五个节点以及跨共享通信介质发送的515 RNGATH消息和由配置器设备505发出所述消息的516通信范围。
E.信任环形成授权处理和信任环初始化
E.1)信任环授权消息的处理
在优选实施例中,尽管非委托节点的状态指示RNGREQ消息被发送,并且如果所述节点接收到RNGDEN消息或RNGATH消息,则它应使用所选择的非对称密钥加密算法用其自己的NC私钥解密该消息,并且如果如此获得的明文中包含的随机ID值等于其自己的值,则所述节点应(图7.1,622):
• 如果如此接收的消息是RNGDEN消息(图7.1,619),则它应设置节点状态以指示所述节点准备好接收消息和处理信息以接收消息和处理数据以运转;或者
• 如果如此接收的消息是RNGATH消息(图7.1,620)消息,则:
- 如果如此接收的分类帐初始化时间不同于零(图23,745;图7.1,623),则将时间设置为该值(图23,746;图7.1,623);以及
- 生成新的种子值、私钥和公钥(此后分别称为环成员私钥和环成员公钥)——(图23,745;图7.1,623);
- 如果没有接收到分类帐标识符的值(图23,747;图7.1,623),用种子和选择的伪随机数生成器算法生成一个新值(图23,749;图7.1,623);
- 针对安全分布式分类帐生成新的起源散列值(Genesis Hash value)(图22,748;图7.1,623),其中节点的随机ID、分类帐标识符、节点的元数据和环成员私钥作为如由网络的参数所要求的所选择的散列算法的输入;以及
- 将这四个事务添加到其未决安全分布式分类帐事务的列表(以下称为“未决事务列表”)中,并且如果RNGATH消息中不存在分类帐初始化时间,则将所有之后的事务的时间戳设置为零(图23,750;图7.1,623):
▪ 安全分布式分类帐初始化事务,其中必须至少记录接收到的配置器公钥、conf.id、网络标识符、分类帐标识符、信任环成员的最小优选数量、与外部源的时间差(如果传输了这样的值);以及
▪ 网络密钥授权事务,其中必须至少记录网络标识符、所述密钥和分类帐标识符;以及
▪ 节点注册事务,针对其本身,其中必须至少记录分类帐标识符、配置器签名、第一可用网络地址、其自己的节点元数据、其环成员公钥;以及
▪ 环成员注册事务,其中必须至少记录分类帐标识符、其自己的新网络地址及其RM公钥;以及
- 使用所选择的数字签名算法用其自己的环成员私钥对每个事务的记录进行签名
• 然后,所述节点应以它们与使用所选择的散列算法的先前事务的记录的整个文本一起被记录的次序计算未决事务列表中每个事务的所有连续链接散列值和Merkle树散列值(图23,751;图7.1,623),并且在所述列表中记录所述散列值;
• 所述节点创建新的第一安全分布式分类帐块,其包括所述节点使用第一链接的起源散列,使用块的时间戳、Merkle树根值、在块中注册的集合中的事务的数量、先前块的记录的整体的散列值(这里是起源散列值)、用其环成员密钥并且使用所选择的数字签名算法计算的块的其自己的数字签名来计算散列值,此后称为块的“元数据”;
• 从未决事务列表中删除如此记录的事务集
• 在SDL中将其自身注册为它是针对其的第一个成员的,第一个新的信任环成员,这包括计算先前块的散列值,并且如果在RNGATH消息中不存在接收到的分类帐初始化时间,则块的创建时间、或者如果在RNGATH消息中存在这样的值则由它的机载时钟指示的当前时间的值为零,设置其自己的节点类型以指示它现在是信任环成员(图23,757;图25,519;图7,623);并且如果在RNGATH消息中不存在分类帐初始化时间,则将节点的时钟设置为零;以及
• 发送信任环初始化通告消息,此后称为“RIOK消息”(图23,758;图24,517;图7.1,624),但至少包括用配置器公钥加密的以下值:如从RNGATH消息接收的随机ID、其网络地址、其环成员私钥、分类帐标识符和在其处记录环成员注册事务的时间;并且设置节点状态以指示所述节点准备好接收消息和处理信息;并周期性地检查是否已经接收到任何消息或者任何是否应执行任何其他动作或信息处理。
图24示出了相同的上面描述的节点中的四个,除了501之外,其现在已经成为519信任环成员,以及跨共享通信介质发送的517 RIOK消息和由信任环成员519发出所述消息的518通信范围。
E.2信任环通告消息的处理
在优选实施例中,尽管配置器设备的状态指示它准备好接收消息和处理信息,并且如果所述节点接收到RIOK消息(图24,517;图7,624),它应使用所选择的非对称密钥密码算法用其自己的conf私钥解密消息,并且如果如此获得的明文中包含的随机ID值等于其自己的值,则所述节点应将其中包含的信息添加到它的网络分区的列表中,并且从其未决NCA列表中擦除针对对应的随机ID的记录。
F.分布式委托过程
F.1)由委托节点处理委托请求消息
在优选实施例中,尽管委托节点的状态指示准备好接收消息和处理信息,并且如果所述节点接收到CRQ消息(图24,517;图26,759;图7,625),则它应使用选择的对称集团(bloc)密码算法用网络密钥解密消息的加密部分,并且如果如此获得的网络标识符既与其自己的相同,并且如此获得的网络时间又在自组织网络参数中阐述的容限范围内(图26,760;图7.1,626);并且如果其未决委托的请求列表(此后称为“未决CRQ列表”)没有与作为CRQ消息的部分而接收到的记录具有相同随机ID的记录,或者如果存在这样的记录,则它未被标记为被拒绝、授权或已经委托;然后将具有消息的信息的新记录添加到所述表,并发送委托转发请求消息(此后称为“CRQFWD消息”)——(图26,763;图7.1,626;图7.1,627),但至少包括以下值:在CRQ消息中接收的所有信息,以及作为消息的起源的指示符的其自己的网络地址;以及*周期性地检查是否已经接收到任何消息或者是否应执行任何其他动作或信息处理。
F.2)由委托环成员节点处理委托请求消息
在优选实施例中,尽管信任环成员节点的状态指示准备好接收消息和处理信息,并且如果所述节点接收到CRQ消息(图24,517;图26,759;图7,623),则它应使用所选择的对称集团密码算法用网络通信密钥解密消息的加密部分,并且如果如此获得的网络标识符既与其自己的相同,并且如此获得的网络时间又在网络的参数中阐述的容限范围内(图26,760;图7.1,628和629),并且如果其未决CRQ列表没有与作为CRQ消息的部分接收到的记录具有相同随机ID的记录(图26,761;图7,628和629),或者如果存在这样的记录,则它未被标记为被拒绝、授权或已经委托(图26,764;图7.1,628和629),并且如果它自己的未决注册列表不包含具有相同随机ID的记录,则将新记录添加到具有消息的信息的未决CRQ列表(图26、765;图7.1,628和629),并将所述记录状态设置为接收,将其环距离设置为零,并将接收者的地址设置为其自己的网络地址;并周期性地检查是否已经接收到任何消息或者任何是否应执行任何其他动作或信息处理。
F.3)由信任环成员节点处理转发委托请求消息
在优选实施例中,尽管信任环成员节点的状态指示准备好接收消息和处理信息,并且如果所述节点接收到标记为加密的消息,则它应解密该消息,并且如果如此获得的消息标识符指示它是CRQFWD消息(图24,517;图26,759;图7.1,628和629),则执行先前段落中描述的所有相同的动作,除了在未决CRQ列表中创建的记录的环距离值应指示消息已经行进的距离,如由消息被重新发送的次数(跳数)所指示的那样,并且然后周期性地检查是否已经接收到任何消息或者任何是否应该执行任何其他动作或信息处理。
F.4)信任环成员处理未决委托请求
在优选实施例中,尽管信任环成员节点的状态指示准备好接收消息和处理信息,但是它应该针对尚未被验证的记录周期性地检查其未决CRQ列表(图30,766;图7.1,630),并且对于每个这样的记录,检查其中包含的配置器签名和如记录在安全分布式分类帐的第一块中的配置器签名是否相同(图30,767;图7.1,631);如果无法找到配置器签名,则将记录标记为拒绝和委托请求拒绝消息(此后称为“CRQDEN消息”)(图30,768;图7.1,631);以及
如果存在这样的记录,则将该记录标记为验证(图30,769),并将其内容复制在其维护的未决地址投票列表中的新记录中;然后将所述记录的其他值设置如下:将其“提议地址”值设置为顺序的非赋予地址,如由安全分布式分类帐节点委托事务或所述节点自己的未决注册的列表中的最小者指示的那样(图30,772);以及将其最靠近的环成员指示符设置为其自己的网络地址;以及将如由网络的参数描述的所有其他值设置为值零(图30,770);以及
如果如在先前段落中描述的未决地址投票列表中创建了新记录,则发送地址赋予投票消息,此后称为“ADDRAB消息”(图30,773;图7.1,631和632),但是至少包括所述记录的内容,以及由所选择的拜占庭容错共识算法(此后称为“BFTC算法”)要求的任何其他参数,诸如所述消息的目的地信任环成员的列表;并将与未决CRQ列表中的投票相对应的记录标记为投射(cast)(图30.1,771);并且然后周期性地检查是否已经接收到任何消息或者任何是否应该执行任何其他动作或信息处理。
图43示出了五个节点,除了如525未决注册的委托节点是530信任环成员节点,以及跨共享通信介质发送的531 ADDRAB消息和由信任环成员530发出所述消息的532通信范围。类似地,图44示出了与上面相同的五个节点,除了519第一信任环成员节点将533签名的ADDRAB投票投票发送回到530第二信任环成员节点,以及由信任环成员519发出所述消息的534通信范围。
F.5)信任环成员处理地址赋予投票消息
在优选实施例中,尽管信任环成员节点的状态指示准备好接收消息和处理信息,并且如果所述节点接收到标记为加密的消息,则它应使用网络密钥解密该消息;如果如此获得的消息标识符指示它是ADDRAB消息(图32,774和775;图7.1,631、632和633),并且它自己的网络地址在所述消息的目的地的列表中(图32,776),则它应该:
• 在其未决地址投票列表中用消息信息创建新记录;以及
e. 如果消息的提议参数比所述列表中其随机ID与消息相同的任何记录的对应字段值(数字地址号、投票时间戳和提议的环成员的基数(cardinality))更好——(图32,777;图7.1、631、632和633),则使用所选择的数字签名验证算法,用以及针对如从信任环成员列表或其维护的其安全分布式分类帐中提取的每个对应环成员公钥,如按它们的目的地地址顺序验证传入消息字段中包含的所有签名;如果未验证签名中的任何一个,则从节点的存储器中擦除所述消息(图32,779;图7.1,631、632和633);或者
f. 如果验证了所有签名,则用来自消息的信息创建新的未决地址投票列表记录,并使用所选择的数字签名算法,用记录的值中的所有值及其环成员私钥,通过将其自己的签名添加到未决地址投票记录来更新所述记录;然后使用所述算法计算目的地地址的新集合和BFTC算法参数的新集合;并使用更新的记录的信息发送ADDRAB消息(图32,780和785;图7.1,631、632和633);以及
g. 如果新创建的未决地址投票列表记录共识级别(投票的数量除以信任环成员节点的数量)大于由网络的参数所需的BFTC算法共识级别(图32,781;图7.1,631、632和633),并且如果所述记录的提议的环成员地址是其自己的,并且如果其随机ID与所述未决地址投票列表记录相同的未决CRQ列表记录被标记为接收或验证,则:
h. 如果所述新记录到环成员值的距离等于零,则形成委托请求授权消息,此后称为“CRA消息”(图32,784;图7.1,631、632和633),但至少包括来自使用所选择的非对称密钥密码算法用非comm公钥加密的所述记录的以下值:提议的地址、网络标识符、网络通信加密密钥、配置器设备签名、其自己的网络地址、授权节点的随机标识符、以及使用所选择的数字签名算法用其自己的环成员私钥对消息的所有先前值的签名;或者如果所述新记录到环成员值的距离大于零,则发送委托请求转发授权消息,此后称为“CRFATH消息”,如由要求的参数所要求的那样,但至少包括使用所选择的对称分组密码算法使用网络密钥加密的以下值:与上面的CRA消息相同的信息和原始转发器的地址(图32,784;图7.1,634和635);并在其未决CRQ列表中标记对应于所述随机ID的记录,以指示其已经被授权(图32,786;图7.1,634和635);以及
i. 从其未决地址投票表中擦除其随机ID字段与新创建的记录相同且其共识级别小于所述记录的所有记录。如果一个或多个记录的共识级别值相等,则按次序将消息的提议地址、到环成员的提议距离、提议环成员地址、蚂蚁投票时间戳值与所选择的列表的记录中的所有这样的对应字段进行比较;如果在比较过程期间的任何时刻处,发现消息的字段值(包括共识级别)小于所述列表的记录中的所有对应字段的值,则并且仅保留是最小的那些值的记录,并擦除其他;或者以及
• 继续周期性地检查是否已经接收到任何其他消息或任何是否应执行任何其他动作。
图33示出了五个节点以及跨共享通信介质发送的523 CRA消息和由信任环成员519发出所述消息的524通信范围。
F.6)委托节点转发委托授权消息
在优选实施例中,尽管委托节点的状态指示准备好接收消息和处理信息,并且如果所述节点接收到CRFATH消息,则它应使用所选择的对称集团密码算法用网络密钥解密消息的加密部分,并且如果如此获得的消息标识符指示它是CRFATH消息(图34,787;图7.1,634和635),并且其自己的网络地址是所述消息的目的地(图34,788),则它应使用包含在CRFATH消息中的信息形成CRA消息(图34,790);并且继续周期性地检查是否已经接收到任何其他消息或者是否应该执行任何其他动作。
F.7)非委托节点处理委托授权消息
在优选实施例中,尽管非委托节点的状态指示发送了CRQ消息,并且如果所述节点接收到CRA消息(图33,523;图7.2,637),则它应使用选择的非对称密钥密码算法用其自己的NC私钥解密该消息,并且如果如此获得的明文中包含的随机ID值等于它自己的值,则所述节点应将其自己的网络地址的值设置为所述消息中提供的地址;并且如由网络的参数所要求并使用所选择的密码安全伪随机数生成器算法,为其自身生成新的种子和新的私钥(现在是“委托私钥”);以及核算对应的唯一的临时公共非对称密钥,此后称为“委托公钥”,其使用所选择的非对称密码密钥生成算法密码地链接到前述私有非对称密钥,如由网络的参数所要求的那样;并发送注册通告消息,此后称为“REGADV消息”(图35,526;图7.2,638),但至少包括来自使用所选择的对称分组密码算法使用网络通信加密密钥加密的CRA消息的下列值:其新的网络地址、环成员地址、环成员签名、配置器设备签名、其新的委托公钥、其元数据、其随机ID和消息的距离计数的零;并将其节点类型设置为委托,并且将其节点状态设置为委托未决注册;并且继续周期性地检查是否已经接收到任何其他消息或者任何是否应该执行任何其他动作。
图35示出了五个节点,除了502现在已经变成525未决注册的委托节点,以及正在跨共享通信介质发送的526 REGADV消息和由未决注册的节点525发出所述消息的527通信范围。
F.8信任环成员处理注册通告消息
在优选实施例中,尽管信任环成员节点的状态指示准备好接收消息和处理信息,并且如果所述节点接收到标记为加密的消息,则它应用网络密钥解密该消息;如果这样获得的消息标识符指示它是REGADV消息(图35,526;图7.2,639;图36,794),那么它应该:
根据节点的未决事务的列表中的事务(如果存在任何事务的话)计算散列树根值(图36,795),按事务次序号顺序排序,直到达到如由默认参数所要求的每个集团的默认的事务的数量;并且使用所选择的数字签名验证算法与如从其安全分布式分类帐(图7.2,640)中提取的配置设备公钥,如通过它们的目的地地址验证传入消息字段中包含的配置设备签名(图36,796);然后,
• 如果签名验证,并且如果消息的随机ID字段对应于节点的未决地址投票或未决注册列表中的一个或多个记录,并且如果消息中包含的环成员可以使用如接收的值以及如从其信任环成员列表或其安全分布式分类帐中提取的对应环成员公钥来验证;如果签名验证,则:
•如果签名验证(图7.2,640),并且如果在其未决注册列表中不存在其随机ID、提议地址和委托公钥等于消息中的值的记录(图36,797),或者如果存在这样的记录,如果不存在其距离计数字段小于来自接收到的REGADV消息的对应值的记录,则:
•使用从接收到的消息中接收到的值和针对记录的环成员字段的其自己的网络地址,以及在该时刻时通过针对列表时间戳字段的机载时钟测量的时间,在未决注册列表中创建新记录(图36,798);以及
•如果存在其随机ID字段值与来自消息的接收值相同的任何未决地址投票记录,以及其距离计数值大于来自刚刚创建的记录的对应字段的未决注册列表中的任何这样的记录,则将这样的记录擦除;以及
•如果未决事务列表中不存在与上面创建的记录具有相同网络地址的节点注册事务(图36,799),则如果所述记录的提议地址值大于或等于其网络地址和委托公钥与其自己的相同的其他未决注册记录中的所有的对应字段的值,则按次序比较最后记录的距离计数、环成员地址和时间填塞(tamp)与对应字段是其他这样的未决注册记录;如果在比较过程期间的任何时刻处,发现最后记录的值(包括网络地址)小于所述未决注册记录中的所有对应字段的值,则向未决事务列表添加新的节点注册事务,并按它们的时间填塞字段的升序值对该列表中记录的事务进行排序,并且然后重新核算针对所有事务的所有散列值;或者
•如果在未决事务列表中存在与上面创建的记录具有相同的网络地址的节点注册事务(图36,800),那么如果新事务的提议地址值大于或等于其网络地址和委托公钥与其自己的相同的预先存在的未决事务列表事务中的对应字段的值,那么按次序比较最后记录的距离计数、环成员地址和时间戳与相应字段是其他这样的未决事务列表记录;如果在比较过程期间的任何时刻处,发现最后事务的值(包括网络地址)小于所述预先存在的事务中的所有对应字段的值,则擦除该预先存在的事务;并按它们的时间戳字段的升序值对记录在该列表中的事务进行排序,并且然后重新核算针对所有事务的所有散列值;以及
计算针对节点的未决事务的列表中的事务(如果存在任何事务的话)的散列树根值,如按事务次序号顺序排序,直到达到如由默认参数所要求的每个集团的默认的事务的数量;如果如此计算的值与较早前计算的值不同,并且如果未决事务列表中的事务的数量大于由网络的参数要求的块的最小的事务的数量,则在提议的块列表中创建新记录,除了最后一步,通过该步骤所有记录的事务被擦除;以及使用所述算法计算目的地地址的新的集合和BFTC算法参数的新的集合,并用所述结果更新新记录;并发送块提议消息,此后称为“PROPBL消息”(图7.2,640;图36,801),其具有如由网络的参数要求的记录的信息,但至少包括目的地地址的数量、目的地地址本身、BFTC算法参数和来自所述提议的块列表记录的所有字段;并且继续周期性地检查是否已经接收到任何其他消息或者任何是否应该执行任何其他动作。
图49示出了上面描述的五个节点以及正在跨共享通信介质发送的535 PROPBL消息以及由第二信任环成员530发出所述消息的536通信范围。
图50示出了上面描述的五个节点和正在跨共享通信介质发送的537第二PROPBL消息以及由第一信任环成员519发出所述消息的538通信范围。
F.9信任环成员处理块提议消息
在优选实施例中,尽管信任环成员节点的状态指示准备好接收消息和处理信息,并且如果所述节点接收到标记为加密的消息,它应使用网络通信密钥解密该消息;如果如此获得的消息标识符指示它是PROPBL消息(图7.2,640;图39.1,802),并且其自己的网络地址在针对所述消息的目的地的列表中,那么:
使用关于和针对如从其信任环成员列表或其安全分布式分类帐中提取的每个对应环成员公钥的所选择的数字签名验证算法,如通过它们的目的地地址验证提议的PROPBL消息字段中包含的所有签名(图7.2,640);并且如果所有签名都被验证;然后,该节点应在其提议的块列表中用消息的信息创建新记录;
然后,信任环成员应通过将针对所述记录的签名的数量除以其信任环成员列表中的记录的数量或如由其安全分布式分类帐所指示的信任环成员的数量,来核算针对新提议的块的共识值;并且然后
• 如果这样计算的共识值小于由网络的参数要求的共识水平(图7.2,640;图39.1,803),那么,所述节点应将传入的新提议的块与它维护的其块提议列表的所有记录进行比较,以获得投票的数量(所有其他事物相等),以及提议的事务的内容;如果其内容等于前述列表中的第一个提议的块(图39.1,805),它可以添加其投票(图39.1,805-806),计算针对BFTC算法参数的目的地的新的集合,发送具有所述传入块的信息的PROPBL消息(图39.1,810);或者,如果否,则将来自新块的每个事务单独与未决事务列表的记录进行比较(图39.1,807),并且如果传入块事务取代了所述列表的任何事务,构成更好的提议解决方案(较小的数字地址、距离计数、环成员地址和时间戳与对应的)——(图39.1,811),则在两种情况下都相应地替换所有事务并将所有事务重新排序(图39.1,808和812),重新计算所有散列(图39.1,809);如果达成共识,则将新块记录在SDL中(图39.1,814),并且如果必要的话,发送新的PROPBL消息(图39.1,810)。
• 如果如此计算的共识值等于或大于由网络的参数要求的共识水平(图7.2,640;图39.2,815),并且如果提议的块与已经记录在其SDL中的块相同(图39.2,816),那么如果存在新的投票,则将它们添加到所述块(图39.2,817),并且如果需要,则相应地更新未决块和未决事务列表,以消除事务的双重注册(图39.2,818),并且如果需要,则将所有事务重新排序,重新计算所有散列并发送新的PROPBL消息(图39.2,819)
• 如果如此计算的共识值等于或大于由网络的参数要求的共识水平(图7.2,640;图39.2,815),并且如果提议的块不等于已经记录在其SDL中的任何块(图39.2,820),其也未被链接到任何这样的块(图39.2,824),则将提议的块存储在未链接的列表中,或者如果它已经存在,则更新其投票计数(图39.2,825);或者,如果它被链接到SDL块,则将其记录在所述SDL中,并解决任何冲突或分叉(fork)(图39.2,827),并且如果需要,则将所有事务重新排序,重新计算所有散列并发送新的PROPBL消息(图39.2,819)
• 如果如此计算的共识值小于由网络的参数要求的共识水平(图7.2,640),并且传入PROPBL消息中的一个或多个事务是节点注册事务,并且所述信任环成员是被选择的用于与未决委托的节点通信的信任环成员,则所述节点应发送注册确认消息,此后称为“REGACK”消息(图37,527;图7.2,646),其由使用所选择的对称集团密码算法用网络通信加密密钥加密的事务形成,但至少由注册节点的目的地地址、和它自己的网络地址以及设置为零的距离计数器组成;以及
• 如果安全分布式分类帐中如此记录的事务之一是环成员注册事务,其环成员字段等于节点自己的网络地址(图7.2,640),则所述节点应发送信任环成员注册消息,此后称为“TRMREG”消息(图7.2,650),其由记录的信息形成,并使用所选择的对称集团密码算法用网络密钥加密,但至少由注册节点的目的地地址、和其自己的网络地址以及设置为零的距离计数器组成;以及
• 如果如此接收的块已经在安全分布式分类帐中(图7.2,640),那么当比较环成员签名的列表时,如果在新的提议块中不存在新的签名,则从提议块列表中擦除如此创建的新块;或者如果在新提议的块中存在新的签名,则将那些签名添加到安全分布式分类帐中的等效块中;并从提议的块列表中擦除如此创建的新块;并针对安全分布式分类帐块计算目的地和BFTC算法参数的新的集合;并发送具有块的信息的PROPBL消息;以及
• 如果如此接收的块尚未在安全分布式分类帐中,并且如果所述块的散列链接值等于SDL中最后的块的散列(图7.2,640),则用新块的信息在所述分类帐中创建新记录;并从提议的块列表中擦除如此创建的新块;并且对于在安全分布式分类帐中如此注册的新块中的每个事务,从提议事务列表中擦除与相同网络地址相关的任何事务。
• 继续周期性地检查是否已经接收到任何其他消息或任何是否应执行任何其他动作。
图37示出了上面描述的五个节点和正在跨共享通信介质发送的528 REGACK消息以及由第一信任环成员519发出所述消息的529通信范围。
图38示出了上面描述的五个节点和正在跨共享通信介质发送的539 TRMREG消息以及由第一信任环成员519发出所述消息的540通信范围。
F.10自动提议新的信任环成员
在优选实施例中,尽管信任环成员节点的状态指示它准备好接收消息和处理信息,但是所述节点应该周期性地对其SDL信任环成员列表中的记录的数量进行计数。如果记录的数量小于如由网络的参数所要求的信任环成员的最小数量(图7.2,647),则所述节点应标识第一委托节点,如记录在其SDL中的其特性足以使所述选择的委托节点成为信任环成员。如果网络参数未要求任何特殊的特性,则按其数字网络地址的基数的次序,选择不是信任环成员的第一委托节点。所述节点然后应创建新的信任环注册事务;然后,它应按它们的时间戳字段的升序值对其事务进行重新排序,并重新核算针对所有事务的所有散列值,在提议的块列表中创建新的记录,如阐述的那样,除了最后一步,通过该步骤所有记录的事务被擦除,并且然后使用所述算法重新计算目的地地址的新的集合和BFTC算法参数的新的集合,并发送新的块提议消息,此后相应地称为“PROPBL消息”(图7.2,648);并且继续周期性地检查是否已经接收到任何其他消息或者任何是否应该执行任何其他动作。
F.11未决注册的委托节点处理注册确认消息
在优选实施例中,尽管委托节点的状态指示它正在未决注册委托,并且如果所述节点接收到REGACK消息(图7.2,647),则它应使用所选择的对称集团密码算法用网络密钥解密消息的加密部分,并且如果目的地等于其自己的网络地址,则它应记录其中包含的环成员地址作为其最靠近的环成员,并且改变其节点状态以指示它准备好接收消息和处理信息;并且继续周期性地检查是否已经接收到任何其他消息或者任何是否应该执行任何其他动作。
F.12委托节点处理信任环注册消息
在优选实施例中,尽管委托节点的状态指示它准备好接收消息和处理信息,并且如果所述节点接收到TRMREG消息(图38,539;图7.2,650),则它应使用选择的对称集团密码算法用网络密钥解密消息的加密部分,并且如果目的地等于其自己的网络地址,则它应将其节点类型改变为信任环成员;然后,它应通过发送SDLGET消息从发送TRMREG消息的信任环成员请求SDL的副本(图40,541;图7.2、651和652),并继续周期性地检查是否已经接收到任何其他消息或任何是否应执行任何其他动作。
图40示出了所描述的五个节点和跨共享通信介质发送的541 SDLGET消息以及由第二信任环成员530发出所述消息的542通信范围。
F.13信任环成员处理SDL复制请求
在优选实施例中,尽管信任环成员节点的状态指示它准备好接收消息和处理信息,并且如果所述节点接收到SDLGET消息(图40,541;图7.2,651和652),则它应向发送SDLGET消息的节点发送其SDL的副本,该节点使用尽可能多的SDLPUT消息(图41,543;图7.2,651和652)来发送所有SDL块,每个SDLPUT消息一个,并且然后继续周期性地检查是否已经接收到任何其他消息或者任何是否应该执行任何其他动作。
图41示出了上面描述的五个节点和正在跨共享通信介质发送的543 SDLPUT消息以及由第一信任环成员519发出所述消息的544通信范围。
F.14信任环成员处理SDL副本答复
在优选实施例中,尽管信任环成员节点接收消息和处理信息,并且如果所述节点接收到SDLPUT消息(图53,790;图7,651和652),则它应将由此接收的块与它可能已经具有的块进行比较,验证所有顺序散列,并记录它不具有的任何新块,使用散列链接顺序排序,并且然后继续周期性地检查是否已经接收到任何其他消息或者任何是否应该执行任何其他动作。
G.由委托节点和信任环成员路由消息
在优选实施例中,尽管任何委托的和任何信任环成员节点接收到不是去往其自身(图48,830)的块提议消息、或转发的委托请求消息、或转发的、或委托授权请求消息、或信任环成员注册消息、或SDL放置消息、或SDL获取消息、或地址赋予投票消息(图48,828和829),它应使用所选择的路由算法(这里是AODV)来处理所述消息,将1加到距离计数器(图48,831和832),并通过选择的共享通信介质重新发出修改的消息(使用网络密码密钥解密它)(图48,833)
数据结构
在本发明的优选实施例中,多种公共数据结构可以由节点在它们的易失性和非易失性存储器子系统中维护,并且其由本发明的过程和方法使用和修改。本领域技术人员将认识到,这里提议的结构是示例,并且可以以如不同格式、排序和编码的各种其他数据结构来实现。
A.网络参数
节点可以保存非变量记录的集合,所述记录定义了实现本发明用于在特定的自组织网络中通信的所有节点中应该相等的公共参数。
A.1)通信
在优选实施例中,网络参数可以包含与通信相关的以下非变量记录中的一个或多个:协议签名:以比特的数量表示的长度、以及签名本身;消息类型的列表:以比特的数量表示的长度;网络服务集标识符:以比特的数量表示的长度;以字符的数量表示的网络地址长度;出于标识和密码学的目的而使用的同步网络时间变量的长度:以比特的数量表示的长度;在用于启动创建信任环的过程之前节点应发送的CRQ消息的阈值数量;在重置节点委托过程之前节点应发送的RNGREQ消息的阈值数量;安全分布式分类帐标识符:以比特为单位的长度;定时容限:以秒为单位的数量;网络地址的起始编号。
A.2)密码学和安全性
在优选实施例中,网络参数可以包含与密码和安全性相关的以下非变量记录中的一个或多个:选择的密码安全的伪随机数生成器算法;选择的单向压缩算法;选择的Merkle树根散列计算算法;选择的对称块密码算法;选择的非对称密钥密码系统和密码算法;选择的数字签名和数字签名及验证算法;随机种子:以比特为单位的编号的长度;选择的网络对称集团密码密钥:以比特为单位的长度;唯一非对称密码系统私钥:以比特为单位的私钥长度;唯一非对称密码系统公钥:以比特为单位的公钥长度;委托签名的长度:以比特为单位的长度。
A.3)节点类型和身份
在优选实施例中,网络参数可以包含与节点的身份相关的一个或多个以下非变量记录:节点或配置器设备的随机唯一标识符:以比特为单位的标识符的长度;节点特性元数据:以比特为单位的长度。
A.4)安全分布式分类帐
在优选实施例中,网络参数可以包含与SDL相关的以下非变量记录中的一个或多个:选择的拜占庭容错共识;用于标识网络的安全分布式分类帐中的集团的散列的长度:以比特为单位的长度;用于验证安全分布式分类帐集团内的所有链接事务的散列树散列的长度;用于标识集团的元数据的总和的散列的长度:以比特为单位的长度;用于在网络的安全分布式分类帐中对链接事务进行签名的散列的长度:以比特为单位的长度;以其来对每个事务进行签名的密码签名的长度:以比特为单位的长度;以其来对每个块进行签名的密码签名的长度:以比特为单位的长度;可以被记录在安全分布式分类帐中的事务的类型的列表;在安全分布式分类帐中注册的集团中包含的默认的事务的数量;单个地址分配投票的单个签名的长度:以比特为单位的长度;拜占庭容错共识算法参数字段:以比特为单位的长度。
A.5)信任环
在优选实施例中,网络参数可以包含与信任环相关的易失性或非易失性中的下列变量记录中的一个或多个:特定安全分布式分类帐的信任环成员的最小数量;形成拜占庭容错共识所需的同意环成员的比例;
B.自动化委托参数
在部署自组织网络之前,每个节点可能已经由操作员在其附接的计算机可读媒体中的任何计算机可读媒体上记录了与特定自组织网络相关的参数集,所述参数使得在完全没有人类干预的情况下一旦通电就在特定自组织网络中自动委托所述节点是可能的,如下:唯一签名,通过该唯一签名来标识装置或自组织网络,在该装置或自组织网络中,环将被初始化,该唯一签名通常被称为特定装置或网络的网络服务集标识符(NetSSID);网络范围的对称集团密码密钥,其由被委托到由其NetSSID标识的特定网络中的所有节点使用来加密它们的通信;相对于自组织网络或装置的当前时间,作为标识的NetSSID,周期性地测量和更新节点的计算单元;在信任环初始化过程期间,请求节点的机载时钟应被重置在其处的起始值;特定于特定自组织网络中的特定装置的安全分布式分类帐的标识符:以比特为单位的长度和标识符本身;配置器设备自身时钟和特定网络的同步时间之间的时间差。
C.变量记录
在优选实施例中,节点在存储器中维护以下变量记录以使得一般的本发明的方法的实行成为可能:节点类型;节点状态、非委托和配置器设备节点的唯一随机标识符;唯一网络地址、最靠近的信任环成员地址、当前地址分配投票的共识级别、作为指示已经由节点发送crq消息的次数的数字的CRQ尝试。
在优选实施例中,节点在存储器中维护以下临时变量记录以使得特别是与SDL相关的本发明的方法的实行成为可能:特定安全分布式分类帐的起源散列、所有未决事务的散列树根值、安全分布式分类帐中的事务的总数、当前提议的块的事务计数、待发送的下一个ADDRAB或BLPROP消息的BFT共识算法参数、待发送的下一个BFT投票消息决策的对应环成员列表、以及目的地的编号
D.列表
在优选实施例中,节点维护以下记录的列表中的以下一个或多个:网络分区和SDL的列表、时间参考的列表、当前自组织网络中的信任环成员的列表、未决非委托通告的列表、未决委托请求的列表、未决地址赋予投票的列表、未决地址注册的列表、未决安全分布式分类帐事务的列表、提议的安全分布式分类帐块的列表、安全分布式分类帐。
使用运转中的SDL部署的自组织网络
一般描述
刚刚已经接收到注册确认消息的新的完全委托节点然后必须非常精确地将其内部时钟同步到网络的时钟。然后,为了使节点在发送和接收消息时避免在通过共享通信介质通信时彼此干扰,每个节点必须与也使用完全分布式机制的其他委托节点协调。只有当这样的协调完成时,任何节点才能最佳地执行在网络中从任何单个点到任何其他点的消息的路由,而不会由于共享通信介质上的干扰而导致拥塞。
为了协调,委托节点围绕集群组织它们自身,每个集群具有称为“集群主节点”的同步节点,而所述集群中的所有其他节点被称为“从节点”。所有从节点都在集群主设备的物理范围内。
每个集群主设备核算并将用于传输和接收的时间表分配赋予每个节点。集群主设备也是执行路由核算的唯一节点,并且决定如何使用它们自己的从节点作为转发器来将数据路由到相邻集群和从相邻集群路由数据,以及如何将数据路由到它们的从节点和从它们的从节点以及在它们的从节点之间路由数据。
委托节点最多可以是一个集群的部分,同时处于一个或多个集群主设备的物理接收和传输范围内。两个集群主设备必须始终彼此相距至少两跳,并且相距决不超过三跳。
一旦上面描述的委托过程结束,节点现在被信任环及其共享的安全分布式分类帐支持的完全分布式自组织网络内有效地接受。
在这样的网络中,委托节点形成动态的瞬时本地资源协调集群。每个这样的集群都具有领导者(leader),其使所有其节点都在直接通信范围内,尽管非领导者节点不一定必须在彼此的这样的范围内。集群领导者的角色是跨网络同步时间,调度通信资源分配、路由分组、与相邻集群协调,以及当然使用所述网络的安全分布式分类帐与信任环协作,为其集群成员节点调解网络安全和访问。
在某种意义上说,在这样的分布式同质自组织网络中的集群被称为是瞬时的和动态的,即如果集群领导者变得相对于集群的节点中的一个或多个不可达,则由所述节点选择另一个领导者并形成新的集群,或者每个节点将其自身附接到其主设备在直接可达范围内的另一个集群。类似地,如果达到集群的本地可用通信资源限制,则所述集群将分割以适应。当集群领导者参与分组转发时,他们也形成通信的骨干,并且参与路由发现机制,该机制是关于经典IETF 3561自组织按需距离矢量路由(参见[0153] A.6路由发现和分组转发)的变体,在这里由集群领导者调解。
这样,就在它的委托完成之后,或者在节点的集群领导者变得不可达之后,所述将在共享通信介质上监听直接范围内的其他集群领导者,根据最佳通信参数选择一个,并联系它以被包括在其集群中。如此联系的集群领导者将用信任环检查节点的凭证,并且如果可接受,则将所述节点包括在其集群中并与之协调。所述委托节点现在不仅在自组织网络中被有效接受,而且还完全能够在所述网络中运转和通信。然后,它立即从集群领导者接收所有相关信息(定时、通信资源调度等)。如果没有集群领导者在范围内,则它将提议包括其自身。
媒体访问控制和传输调度
传输在固定长度的时间段内完成,该固定长度的时间段被定义为时间的周期的分数。在使用安全分布式分类帐部署的网络中,时间的周期默认被定义为一个国际系统秒。对于所述网络中的每个委托节点,周期被分成N个信号传输/接收段。一个或多个节点可以以正确的次序被定义为被记录在SDL中作为时间参考。所有节点应使它们到所述时间参考节点的距离如下面进一步描述的那样核算,这指示它们自己的时钟相对于网络时间的质量。传输/接收调度段(此后称为“时隙”或“(多个)时隙”)可以是5种类型之一:
• 一个或多个“排他性传输时隙”由集群主设备排他性地分配给委托节点,在此期间,保证保证该节点不具有由所述集群主设备或是所述主设备的从设备的其他节点或甚至由相邻集群发出的干扰信号。在这样的时隙期间,集群主设备将排他性地监听消息。给定集群内或外的其他节点可以选择在这样的时隙期间监听消息。
• 在每个周期期间,由集群主设备将一个或多个“排他性接收时隙”分配给特定的委托节点,在“排他性接收时隙”期间,该特定的委托节点必须监听将赋予它的消息。
• 在每个周期期间,由集群主设备将一个或多个“排除接收时隙”分配给特定的委托节点,在“排除接收时隙”期间,所述节点不必监听介质,并且可以关闭其天线和收发器,因为在这样的时隙期间,没有消息应被传输和寻址到它。
• 在每个周期期间,由集群主设备将一个或多个“随机传输/接收”分配给其所有节点,在“随机传输/接收”期间,来自集群的任何节点都可以发出消息,并且任何节点都可以选择监听共享介质或者不监听共享介质。
• 在每个周期,一个“主通告时隙”被保留给集群主设备,在“主通告时隙”期间,集群主设备是其自己的集群中允许发出的唯一节点。该时隙被用于向集群中的所有节点发出最新的时间表。主通告时隙也是在其期间传输精细时钟同步信息的时隙。
因此,就在从信任环接收到注册通告消息后,委托节点启动随机反向定时器。如果在定时器到达0之前,在共享介质上没有检测到来自集群主设备的时隙通告消息,也没有从没有集群主设备的另一个委托节点或任何其他节点接收到时隙请求消息,则所述节点选择其自身成为它自己的集群主设备,并等待接收时隙请求或其他网络维护消息;然而,如果接收到来自已经在其范围内的另一个节点的消息(表示可能集群主设备消息可能已经被干扰),它应该等待片刻,以向该节点发送它自己的时隙转发请求消息,该节点应该将其转发给它的主设备,如果它接收到来自另一个节点的时隙请求消息或者来自集群主设备的时隙通告消息,则它应该等待片刻,以发送它自己的时隙请求消息。
如果发出时隙请求消息的所述节点实际上被注册,则接收到时隙请求消息或集群加入请求消息的任何集群主设备应首先针对其自己的SDL的副本进行检查。如果不是,则它可以从最靠近的信任环节点请求所述信息。如果所述节点实际上被授权,则它然后可以核算新的时隙调度,使用五种前述时隙类型来赋予相关的时隙,如在相关的自组织网络的参数中所描述的那样,然后它将在它的下一个主通告时隙期间使用时隙通告消息来发出相关的自组织网络的参数,该时隙通告消息还将包含针对所述节点的相关联参数。时隙请求消息还应包含所述新委托节点已经从其检测到传输的所有节点的列表,称为“邻居列表”。
如果节点检测到来自两个或更多个集群主设备的两个或更多个时隙通告消息,对于其如果所述主设备具有如由其时隙通告消息定义的空闲时隙,则它应选择较旧的一个,它想要然后通过发送集群加入请求消息来与其相关联。
接收到寻址到其自己以外的另一个集群主设备的消息或直接从另一个集群接收到消息的已经加入到集群中的节点,应向其自己的集群主设备发送未知集群消息,然后该集群主设备应使用集群协商消息与通过所述一个或多个节点转发的另一个集群主设备开始协商。两个集群主设备应使用它们的SDL的副本或通过从信任环请求所述信息来检查彼此的身份。两个集群主设备必须交换这样的消息,还包含所有相关的邻居列表,直到传输时间表被设置为使得每个集群内的节点在传输消息时不会彼此干扰。所述消息还应包含每个节点到一个或多个时间参考节点的距离。较远的集群主设备应根据以与时间参考的距离的次序(这里称为其“时间质量”度量)较靠近的节点或集群主设备的时钟重置其自己的时钟。通过使用所述集群协商消息,两个集群主设备应决定哪个委托节点或者哪两个委托节点(此后称为“连接器节点”)应被用于在两个集群之间转发消息。
接收到时隙通告消息的任何节点应相应地改变其传输、接收时间表,以及其天线和收发器应开启时的其相关时间表。它还应将其自己的时钟重置为时隙通告消息中指示的时间,该时间由它自己的设备特定抖动修改,如其节点元数据中记录的那样。
路由
使用“ClusterCast”来执行在使用SDL部署的这样的自组织网络中的路由,“ClusterCast”是属于按需距离矢量路由算法的类别的完全分布式单播和多播路由算法。
集群投射路由构造功能在于,来自源节点的路由请求消息跨网络进行多播,沿途(along the way)使用连接器节点和集群主设备两者进行转发。接收到集群投射路由请求消息的每个集群主设备检查所述目的地是否在其集群内。如果不是,则它将所述消息转发到下一个相邻的集群。转发消息的每个节点应将从其源向所述消息的跳计数增加1。如果目的地确实在其集群内,则它应通过路由响应消息进行响应,该路由响应消息通过朝向源的反向传播来定义哪个路由是源和目的地之间的最短路由:最短路由将具有最小的跳计数。
选择的路由应发送路由响应确认消息。路由响应替代确认消息也可以针对其他较长的路由来发送,所述路由是故障转移路由,以防原始路由不响应。
如果针对其如此构建路由的节点变得由其集群主设备持续不可达,则所述集群主设备应向请求到所述现在不可达的节点的路由的任何源节点发送路由错误消息。
自动化、强安全性、高可靠性
总之,本发明因此为所有类型的自组织网络提供“即插即用”能力:为任何设备通电,最多按配置器上的按钮,以及被设置,因为所有其余的都是自动化的;甚至所述自组织网络的安全性和机密性基础设施的部署(即信任环),也遵循相同的原则。
本发明跨网络中的任何数量的对等体分发其所有过程和计算,并自动复制允许网络运转的任何信息。因此,在任何时刻时都没有单个对等体曾充当任何进程或网络资源的唯一协调实体或决策机构,或者作为整体作为与网络相关的任何数据的唯一储存库;若干个这样的过程可以由若干个自组织协作网络对等体并行和异步实行——例如若干个对等体委托过程可以在任何时间点处同时发生。因此,对于由本发明提供的任何功能而言都没有单点故障。本发明为数字网络地址分配提供完全分布式和无争用(contention free)的机制,而不管网络大小如何,并且其不取决于工厂设置MAC地址。
作为其基本设计的部分,本发明合并了极其强的安全模型;其机制构造了消息交换的未破坏的“密码链”,并且其可以被数学地审计、验证和认证。类似地,除非绝对必要,否则任何两个对等体(无论是否已经在网络中被接受)之间不交换知识,并且如果这样的交换发生,则它通过使用强对等非对称密码加密的数字签名消息来完成。
我们相信本发明及其方法确保了唯一现实可行的方式是通过直接物理访问节点的电路,敌对第三方可能以该方式实现实现对所述自组织网络的未授权渗透、或劫持一个或多个节点、或篡改或窜改(falsify)节点上记录的任何信息、或在节点之间的消息传输期间篡改或窜改任何信息(所谓的“中间人”攻击)。如这里所描述的,本发明创建了未破坏的密码和数学上可验证的消息的链、投票,并且SDL记录可以从非委托节点被上电的时刻被数学地验证,直到它被有效地接受以在所述网络中运转。
我们还相信,即使在成功接管节点的情况下,也将不损害所述自组织网络的功能或允许对相同自组织网络中的任何其他节点的进一步攻击,其也不允许成功拦截和解密所述易受攻击节点可能转发的来自和去往两个其他节点的任何消息。我们相信,当且仅当三分之二的信任环成员被实际接管,才有劫持网络的功能的危险。我们最终相信,我们对分布式分类帐的特殊使用和设计确保了即使通过成功地直接篡改一个节点及其SDL,并且任何攻击者也被阻止损害本发明对自组织网络的其余部分的安全、可验证和认证功能。
替代实施例
自组织网络,其包括多个节点,其中每个节点是电子设备,其中每个节点通过通信连接与其他节点的至少一个连接,其中关于节点的信息被存储在(优选安全的)分布式分类帐中,该分类帐存储在多个节点的至少子组的每个节点中。优选地,多个节点包括信任环成员节点和委托节点,其中分布式分类帐被存储在每个信任环成员节点中。优选地,分布式分类帐是包括多个块的数据结构,每个块对应于(委托或信任环成员)节点,每个块(除了第一块)包括到先前块的链接、先前块的散列和关于相应节点的记录。优选地,分布式分类帐不被存储在委托节点中。
Claims (20)
1.一种自组织网络,包括配置器设备和多个节点,其中每个节点是电子设备,其中每个节点通过通信连接与其他节点中的至少一个和/或与配置器设备连接,其中每个节点可以处于不同的状态中,所述状态至少包括非委托状态、委托状态和信任环成员状态,其中处于所述非委托状态的节点是所述自组织网络尚未接受的节点,其中,处于所述委托状态的节点是注册为所述自组织网络的一部分并且被配置为在所述自组织网络内安全地通信的节点,其中,处于所述信任环成员状态的节点是注册在所述自组织网络中并且被配置为执行自动投票过程以在所述自组织网络中注册处于所述非委托状态的节点,
其中处于非委托状态中的多个节点中的第一节点被配置成向配置器设备发送包括第一节点的标识符的非委托通告消息NCA,
其中配置器设备被配置成向第一节点发送包含令牌的自动化委托初始化消息ACI,其中令牌由对称网络密钥加密,
其中第一节点被配置成发送出包含所接收的加密令牌的委托请求消息CRQ,
其中第一节点被配置成当所述第一节点从另一节点或从配置器设备接收到授权消息时将所述第一节点的状态改变为委托状态或信任环成员状态。
2.根据权利要求1所述的自组织网络,其中处于信任环成员状态中的多个节点中的一组节点被配置成执行自动投票过程,其中自动投票过程基于拜占庭容错算法,其中自动投票过程被用于同意第一节点的网络地址、同意接受第一节点以改变其状态和/或同意分布式分类帐的新块。
3.根据前述权利要求中的一项所述的自组织网络,其中处于信任环成员状态中的每个节点存储包括多个块的数据结构,每个块对应于处于信任环成员状态中或处于委托状态中的节点,除了第一块之外的每个块包括去往先前块的链接、先前块的散列以及关于对应于块的节点的记录。
4.根据权利要求3所述的自组织网络,其中数据结构是分布式分类帐。
5.根据权利要求3所述的自组织网络,其中数据结构是安全分布式分类帐。
6.根据权利要求3所述的自组织网络,其中关于节点的记录包括以下各项中的一个或多个:
-节点的公钥,
-节点的网络地址,
-节点的标识符,
-用于关于节点的地址投票的签名投票的列表,
-节点的状态。
7.根据权利要求1所述的自组织网络,
其中处于信任环成员状态中的第二节点被配置成:
接收包含由第一节点发送的加密令牌的委托请求消息CRQ或委托转发请求消息CRQFWD,以及
用对称网络密钥来解密令牌,
其中处于信任环成员状态中的多个节点中的一组节点被配置成执行自动投票过程以同意第一节点的网络地址,
其中多个节点中的节点被配置成向第一节点发送包含同意的网络地址的授权消息,其中所述授权消息由第一节点的公钥加密。
8.根据权利要求7所述的自组织网络,其中包含同意的网络地址的授权消息进一步包含对称网络密钥。
9.根据权利要求4或7或8所述的自组织网络,
其中第一节点被配置成发送出注册通告消息REGADV,
其中处于信任环成员状态中的多个节点中的一组节点被配置成执行自动投票过程以同意对应于第一节点的数据结构的新块,
其中多个节点中的节点被配置成向第一节点发送所述授权消息,所述授权消息由对称网络密钥加密和/或寻址到第一节点的网络地址,使得第一节点可以将其状态改变为委托状态。
10.根据权利要求1或2所述的自组织网络,其中第一节点被配置成:
如果从第一节点发送了最大数量的委托请求消息CRQ,则向配置器设备发送信任环形成请求消息RNGREQ,
从配置器接收至少包含对称网络密钥的授权消息,以及
将第一节点的状态改变为信任环成员状态。
11.根据权利要求1或2所述的自组织网络,
其中所述非委托通告消息NCA包含第一节点的公钥以及在所述非委托通告消息NCA被所述第一节点的公钥加密之后发送的从配置器到第一节点的自动化委托初始化消息ACI;和/或
其中令牌包括第一节点的公钥。
12.根据权利要求1或2所述的自组织网络,其中令牌包含以下各项中的一个或多个:网络标识符、当前网络时间和/或配置器设备的签名。
13.根据权利要求1或2所述的自组织网络,其中节点之间的通信连接和/或配置器和节点之间的通信连接是无线通信连接。
14.根据权利要求1或2所述的自组织网络,其中配置器设备是具有显示器和用户输入机制的移动设备。
15.一种用于电子设备的方法,所述电子设备是自组织网络中的节点,其中所述节点经由通信连接被连接,其中所述节点具有不同的状态,所述状态包括非委托状态、委托状态和信任环成员状态,其中处于所述非委托状态的节点是所述自组织网络尚未接受的节点,其中,处于所述委托状态的节点是注册为所述自组织网络的一部分并且被配置为在所述自组织网络内安全地通信的节点,其中,处于所述信任环成员状态的节点是注册在所述自组织网络中并且被配置为执行自动投票过程以在所述自组织网络中注册处于所述非委托状态的节点,其中所述方法被配置成当电子设备处于非委托状态中时执行以下步骤:
发送出非委托通告消息NCA;
从配置器设备接收包含令牌的自动化委托初始化消息ACI,其中令牌由对称网络密钥加密;
发送出包含所接收的加密令牌的委托请求消息CRQ;
从另一个节点或从配置器设备接收授权消息;以及
将节点的状态改变为委托状态或信任环成员状态。
16.根据权利要求15所述的方法,其中所述方法被配置成当电子设备处于非委托状态中时,执行以下替代方案中的一个或多个:
第一替代方案:
接收具有电子设备的网络地址和网络密钥的消息,
发送出注册通告消息REGADV,以及
接收授权消息,所述授权消息由对称网络密钥加密和/或寻址到第一节点的网络地址;
第二替代方案:
如果从第一节点发送了最大数量的委托请求消息CRQ,则向配置器设备发送信任环形成请求消息RNGREQ,
从配置器设备接收至少包含对称网络密钥的授权消息,以及
将第一节点的状态改变为信任环成员状态。
17.根据权利要求15所述的方法,其中,所述方法被配置成当电子设备处于委托状态中时,执行以下替代方案中的一个或多个:
第一替代方案:
从处于非委托状态中的节点接收委托请求消息CRQ,
用对称网络密钥加密接收到的委托请求消息CRQ的令牌,以及
如果令牌的内容满足转发条件,则将加密的令牌转发给信任环成员;
第二替代方案:
从信任环成员接收针对处于非委托状态中的节点的消息,以及
将消息转发到处于非委托状态中的节点;
第三替代方案:
接收注册确认消息REGACK,以及
将状态改变为信任环成员状态。
18.根据权利要求15所述的方法,其中,所述方法被配置成当电子设备处于信任环成员状态中时,执行以下替代方案中的一个或多个:
第一替代方案:
接收委托请求消息CRQ或委托转发请求消息CRQFWD,
解密委托请求消息CRQ并标识已经发送委托请求消息CRQ的节点,以及
与处于信任环成员状态中的其他节点一起执行自动投票过程,以同意所标识的节点的网络地址;
第二替代方案:
接收地址赋予投票消息ADDRAB,所述地址赋予投票消息ADDRAB由地址赋予投票消息的发送者签名,
对地址赋予投票消息ADDRAB中包含的提议地址进行投票,以及
用接收到的地址赋予投票消息ADDRAB和对提议地址的投票创建新的地址赋予投票消息ADDRAB,所述新的地址赋予投票消息由当前节点签名;
第三替代方案:
接收注册通告消息REGADV或转发的注册通告消息,
基于接收到的注册通告消息REGADV或接收到的转发的注册通告消息的内容,标识发送注册通告消息REGADV的节点,以及
与处于信任环成员状态中的其他节点一起执行自动投票过程,以同意对应于所标识的节点的分布式数据结构的新块。
19.根据权利要求15所述的方法,其中所述不同的状态还包括配置器状态,其中所述方法被配置成当电子设备处于配置器状态中时执行以下步骤:
从处于非委托状态中的节点接收非委托通告消息NCA,以及
向已经发送了包含令牌的非委托通告消息NCA的节点发送出自动化委托初始化消息ACI,其中令牌由对称网络密钥加密。
20.一种用于自组织网络的电子设备,所述电子设备包括状态改变装置,所述状态改变装置被配置为使所述电子设备的状态在所述自组织网络中的不同状态之间变化,所述不同状态包括非委托状态、委托状态和信任环成员状态,其中处于所述非委托状态的所述电子设备尚未被所述组织网络接受,其中处于所述委托状态的所述电子设备被注册为所述自组织网络的一部分并且被配置为在所述自组织网络内安全地通信,其中,处于所述信任环成员状态的所述电子设备被注册在所述自组织网络中并且被配置为执行自动投票过程以在所述自组织网络中注册处于所述非委托状态的另一电子设备,其中,所述电子设备还包括发送器和接收器,其中,所述发送器被配置成在所述非委托状态下发送出非委托通告消息NCA,其中所述接收器被配置为在所述非委托状态下从配置器设备接收包含令牌的自动化委托初始化消息ACI,其中所述令牌由对称网络密钥加密;其中,在所述接收器已经接收到所述自动化委托初始化消息ACI之后,所述发送器被配置为在所述非委托状态下发送出包含所接收的加密令牌的委托请求消息CRQ;其中,在所述发送器已经发送出所述委托请求消息CRQ之后,所述接收器被配置为在所述非委托状态下从另一节点或从所述配置器设备接收授权消息,其中,在所述接收器已经接收到所述授权消息之后,模式转换器被配置为在所述非委托状态下将所述节点的状态改变为委托状态或信任环成员状态。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CH01351/17 | 2017-11-09 | ||
CH13512017 | 2017-11-09 | ||
PCT/IB2018/058828 WO2019092650A1 (en) | 2017-11-09 | 2018-11-09 | An ad-hoc network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111771390A CN111771390A (zh) | 2020-10-13 |
CN111771390B true CN111771390B (zh) | 2024-04-05 |
Family
ID=60327009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880085769.4A Active CN111771390B (zh) | 2017-11-09 | 2018-11-09 | 自组织网络 |
Country Status (4)
Country | Link |
---|---|
US (1) | US12021988B2 (zh) |
EP (1) | EP3707925A1 (zh) |
CN (1) | CN111771390B (zh) |
WO (1) | WO2019092650A1 (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10901970B2 (en) * | 2017-02-27 | 2021-01-26 | Mastercard International Incorporated | One-way hashing methodology for database records |
US11431671B2 (en) * | 2017-12-29 | 2022-08-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for dynamic discovery of a blockchain component in a cloud computing system |
US11582042B2 (en) * | 2018-03-16 | 2023-02-14 | General Electric Company | Industrial data verification using secure, distributed ledger |
CN109327528B (zh) * | 2018-10-31 | 2020-10-20 | 创新先进技术有限公司 | 一种基于区块链的节点管理方法和装置 |
US10979225B1 (en) * | 2018-11-15 | 2021-04-13 | Amazon Technologies, Inc. | Secure and anonymous electronic polling |
PL3683678T3 (pl) * | 2019-01-15 | 2023-03-27 | Iov42 Limited | Realizowany komputerowo sposób, program komputerowy i system przetwarzania danych |
US11140201B2 (en) * | 2019-02-19 | 2021-10-05 | International Business Machines Corporation | Security platform for multi-component system and services thereof |
US11283616B2 (en) * | 2019-04-03 | 2022-03-22 | Hong Kong Baptist University | Method for index-based and integrity-assured search in a blockchain |
US10924280B1 (en) * | 2019-04-15 | 2021-02-16 | Sprint Communications Company L.P. | Digital notary use in distributed ledger technology (DLT) for block construction and verification |
EP3966989A1 (en) * | 2019-05-10 | 2022-03-16 | QRC AAA Sàrl | Quantum-resistant sim card |
US10880260B1 (en) * | 2019-06-19 | 2020-12-29 | Etherweb Technologies LLC | Distributed domain name resolution and method for use of same |
US12028347B2 (en) | 2019-09-25 | 2024-07-02 | Amod Ashok Dange | System and method for enabling a user to obtain authenticated access to an application using a biometric combination lock |
US20220004661A1 (en) * | 2019-09-25 | 2022-01-06 | Amod Ashok Dange | System and method for enabling social network users to grant their connections granular visibility into their personal data without granting the same visibility to the network operator |
US11582032B2 (en) * | 2019-09-25 | 2023-02-14 | Amod Ashok Dange | System and method for sharing user preferences without having the user reveal their identity |
US12026247B2 (en) * | 2019-09-25 | 2024-07-02 | Amod Ashok Dange | System and method for enabling a user to create an account on an application or login into the application without having the user reveal their identity |
US11954681B2 (en) * | 2019-09-30 | 2024-04-09 | Southeast University | Blockchain-enhanced open internet of things access architecture |
JP6852776B1 (ja) * | 2019-11-26 | 2021-03-31 | ダイキン工業株式会社 | ブロックチェーンシステム、プログラム及びネットワーク接続装置 |
CN110996269B (zh) * | 2019-12-24 | 2021-07-20 | 湖北凯乐科技股份有限公司 | 一种基于令牌环的无线自组网QoS增强应用方法 |
CN111277645B (zh) * | 2020-01-16 | 2023-02-10 | 深圳市迅雷网络技术有限公司 | 主备节点热切换方法、区块链系统、区块链节点及介质 |
CN111338574B (zh) * | 2020-02-20 | 2022-07-08 | 平安科技(深圳)有限公司 | 基于区块链的数据自修复方法、装置、介质及电子设备 |
US11381395B2 (en) * | 2020-03-05 | 2022-07-05 | Citrix Systems, Inc. | System and methods for encryption based on environmental factors |
DE102020117983A1 (de) * | 2020-07-08 | 2022-01-13 | Drägerwerk AG & Co. KGaA | Kontrollsystem für eine Prozesskontrolle |
AU2021305185A1 (en) * | 2020-07-08 | 2023-03-09 | Cervais Inc. | Peer-to-peer secure communication system, apparatus, and method |
CN114760316B (zh) * | 2020-12-28 | 2023-09-26 | 富泰华工业(深圳)有限公司 | 区块链构建方法及相关设备 |
CN114697958A (zh) * | 2020-12-30 | 2022-07-01 | 中兴通讯股份有限公司 | 无线接入点的入网方法、系统、ap及存储介质 |
WO2023282932A2 (en) * | 2020-12-31 | 2023-01-12 | Orbs Ltd. | Using decentralized networks to ensure transparency in remote device operation |
US11531649B1 (en) | 2021-01-04 | 2022-12-20 | Sprint Communications Company Lp | Method of building and searching a multi-dimensional cross-linked distributed ledger |
CN114866267B (zh) * | 2021-02-03 | 2023-12-05 | 支付宝(杭州)信息技术有限公司 | 在区块链网络中实现安全组播的方法及装置 |
US11775562B2 (en) | 2021-03-12 | 2023-10-03 | Landis+Gyr Technology, Inc. | Distributed ledgers on network gateways |
US20220319265A1 (en) * | 2021-03-31 | 2022-10-06 | Sony Group Corporation | Computer program, non-transitory machine-readable medium, apparatus, and methods for electronic election |
CN113381991B (zh) * | 2021-06-04 | 2022-12-13 | 福州大学 | 基于区块链的电子投票系统及方法 |
CN113840349B (zh) * | 2021-09-18 | 2024-03-12 | 东南大学 | 一种基于区块链的自组织网络路由方法 |
CN113795041B (zh) * | 2021-10-18 | 2024-03-08 | 深圳弘星智联科技有限公司 | 一种基于网络通信的优化lbd节点路由的方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4309569A (en) | 1979-09-05 | 1982-01-05 | The Board Of Trustees Of The Leland Stanford Junior University | Method of providing digital signatures |
US7983420B2 (en) * | 2004-05-24 | 2011-07-19 | Sharp Laboratories Of America, Inc. | Imaging job authorization |
US7817986B2 (en) * | 2006-04-28 | 2010-10-19 | Motorola, Inc. | Method and system for providing cellular assisted secure communications of a plurality of ad hoc devices |
US8041942B2 (en) * | 2006-09-05 | 2011-10-18 | Panasonic Corporation | Robust peer-to-peer networks and methods of use thereof |
GB2453383A (en) * | 2007-10-05 | 2009-04-08 | Iti Scotland Ltd | Authentication method using a third party |
US9509670B2 (en) * | 2014-08-19 | 2016-11-29 | Google Technology Holdings LLC | System and method for managing secure communications in an Ad-Hoc network |
EP3320647B1 (en) * | 2015-07-09 | 2020-11-18 | Nokia Technologies Oy | Token based authentication |
US10863422B2 (en) * | 2015-08-03 | 2020-12-08 | Convida Wireless, Llc | Mechanisms for ad hoc service discovery |
US10720232B2 (en) * | 2016-04-13 | 2020-07-21 | Accenture Global Solutions Limited | Distributed healthcare records management |
WO2018170504A1 (en) * | 2017-03-17 | 2018-09-20 | Labyrinth Research Llc | Unified control of privacy-impacting devices |
US10902418B2 (en) * | 2017-05-02 | 2021-01-26 | Visa International Service Association | System and method using interaction token |
US10652746B2 (en) * | 2017-08-22 | 2020-05-12 | T-Mobile Usa, Inc. | Secure device access token |
US10664574B1 (en) * | 2017-09-15 | 2020-05-26 | Architecture Technology Corporation | Distributed data storage and sharing in a peer-to-peer network |
CN111543073B (zh) * | 2017-11-03 | 2023-10-13 | 联想(新加坡)私人有限公司 | 用于用户认证的装置和方法 |
-
2018
- 2018-11-09 US US16/762,832 patent/US12021988B2/en active Active
- 2018-11-09 EP EP18811071.2A patent/EP3707925A1/en active Pending
- 2018-11-09 WO PCT/IB2018/058828 patent/WO2019092650A1/en unknown
- 2018-11-09 CN CN201880085769.4A patent/CN111771390B/zh active Active
Non-Patent Citations (3)
Title |
---|
《A Distributed Certificate Authority and Key Establishment Protocol for Mobile Ad Hoc Networks 》;Mohammad Sheikh Zefreh等;《ICACT 2008》;全文 * |
《Distributed Key Certification Using Accumulators for Wireless Sensor Networks》;Jun-Young Bae等;《Institute for Computer Sciences, Social Informatics and Telecommunications Engineering 2014》;全文 * |
《M2M Security Technology of CPS Based on Blockchains》;Shiyong Yin等;《www.mdpi.com/journal/symmetry》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019092650A1 (en) | 2019-05-16 |
US12021988B2 (en) | 2024-06-25 |
CN111771390A (zh) | 2020-10-13 |
EP3707925A1 (en) | 2020-09-16 |
US20200266989A1 (en) | 2020-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111771390B (zh) | 自组织网络 | |
US11229023B2 (en) | Secure communication in network access points | |
Lacuesta et al. | A secure protocol for spontaneous wireless ad hoc networks creation | |
US10958450B1 (en) | Constructing a multiple-entity root certificate data block chain | |
JP2010538563A (ja) | セキュアネットワークを確立するためのネットワーク及び方法 | |
Misra et al. | Design and implementation analysis of a public key infrastructure‐enabled security framework for ZigBee sensor networks | |
KR100722253B1 (ko) | 센서네트워크 환경에 적합한 센서 인증 시스템 및 방법 | |
CN113992418A (zh) | 一种基于区块链技术的IoT设备管理方法 | |
Riaz et al. | BAS: the biphase authentication scheme for wireless sensor networks | |
Oleiwi et al. | A survey of the blockchain concept and mitigation challenges in different networks | |
WO2019165330A1 (en) | System and methods for proof of network element | |
CN111031012B (zh) | 一种实现dds域参与者安全认证的方法 | |
Palomar et al. | Secure content access and replication in pure p2p networks | |
US20230045486A1 (en) | Apparatus and Methods for Encrypted Communication | |
Satizábal et al. | Building a virtual hierarchy to simplify certification path discovery in mobile ad-hoc networks | |
Forne et al. | Certificate status validation in mobile ad hoc networks | |
Martignon et al. | DSA‐Mesh: a distributed security architecture for wireless mesh networks | |
Ribeiro et al. | A secure and fault-tolerant architecture for lorawan based on blockchain | |
Verma et al. | Progressive authentication in ad hoc networks | |
Huang et al. | A secure and efficient WSN by employing symmetric key matrix and rectangular frame scheme | |
Pura et al. | A self-organized key management scheme for ad hoc networks based on identity-based cryptography | |
Takeda et al. | Proposal and performance evaluation of hash-based authentication for P2P network | |
Demertzis et al. | SOMA: Self-Organised Mesh Authentication | |
Demertzis et al. | SOMA-E: Self-organized mesh authentication—Extended | |
Wang | Secure and Privacy-Preserving Decentralized Wi-Fi Aware Service Discovery Architecture |
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 |