CN110311884B - 用于非确定性网络中的安全通信的设备、方法及存储介质 - Google Patents
用于非确定性网络中的安全通信的设备、方法及存储介质 Download PDFInfo
- Publication number
- CN110311884B CN110311884B CN201811473421.0A CN201811473421A CN110311884B CN 110311884 B CN110311884 B CN 110311884B CN 201811473421 A CN201811473421 A CN 201811473421A CN 110311884 B CN110311884 B CN 110311884B
- Authority
- CN
- China
- Prior art keywords
- node
- destination node
- path
- message
- communication path
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
- H04L63/0421—Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0209—Architectural arrangements, e.g. perimeter networks or demilitarized zones
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0478—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了用于非确定性网络中的安全通信的设备、方法及存储介质。对于非确定性网络中的安全通信,处理器确定到被组织为无向图的节点的网络中的第一目的节点的第一通信路径。通信路径是无向图的路径节点的生成树。处理器还使用第一加密密钥的集合通过加密对到第一目的节点的消息进行加密。另外,处理器通过第一通信路径的路径节点来传送加密的消息。每个路径节点与加密的消息的每个交易被记录,并且在第一目的节点处利用所述第一加密密钥的集合的子集对加密的消息进行解密。所述第一加密密钥的集合的子集由与第一目的节点进行通信的密钥保存节点保存。
Description
技术领域
本文中公开的主题涉及安全通信,并且更具体地,涉及非确定性网络中的安全通信。
背景技术
节点通常在非确定性网络中进行通信。
发明内容
公开了一种用于非确定性网络中的安全通信的设备。该设备包括网络连接装置、处理器以及存储能够由处理器执行的代码的存储器。处理器确定到被组织为无向图并与网络连接装置进行通信的节点的网络中的第一目的节点的第一通信路径。通信路径是无向图的路径节点的生成树。处理器还使用第一加密密钥的集合通过加密对到第一目的节点的消息进行加密。另外,处理器通过第一通信路径的路径节点传送加密的消息。每个路径节点与加密的消息的每个交易被记录,并且在第一目的节点处利用所述第一加密密钥的集合的子集对加密的消息进行解密。所述第一加密密钥的集合的子集由与第一目的节点进行通信的密钥保存节点保存。方法和程序产品还执行设备的功能。
附图说明
将通过参考附图中示出的特定实施方式来呈现上面简要描述的实施方式的更具体的描述。应当理解,这些图仅描绘了一些实施方式,因此不应被认为是对范围的限制,将通过使用附图以附加的特征和细节来描述和解释实施方式,在附图中:
图1A是示出了非确定性网络的一个实施方式的示意图;
图1B是示出了通信路径的一个实施方式的示意图;
图1C是示出了通信路径的一个替代实施方式的示意图;
图2A是示出了消息的一个实施方式的示意性框图;
图2B是示出了通信路径数据的一个实施方式的示意性框图;
图2C是示出了通信路径数据库的一个实施方式的示意性框图;
图2D是示出了区块链记录的一个实施方式的示意性框图;
图2E是示出了加密密钥的集合的一个实施方式的示意性框图;
图2F是示出了节点加密密钥的一个实施方式的示意性框图;
图3A是示出了加密的消息的一个实施方式的示意性框图;
图3B是示出了加密的消息的一个替代实施方式的示意性框图;
图4是示出了节点的一个实施方式的示意性框图;以及
图5是示出了安全通信方法的一个实施方式的示意流程图。
具体实施方式
如本领域技术人员将理解的,实施方式的各方面可以实现为系统、方法或程序产品。因此,实施方式可以采用完全硬件实施方式、完全软件实施方式(包括固件、驻留软件、微代码等)或者对通常在本文中都可以被称为“电路”、“模块”或“系统”的软件方面和硬件方面进行组合的实施方式的形式。此外,实施方式可以采用在存储在下文中被称为代码的机器可读代码、计算机可读代码和/或程序代码的一个或更多个计算机可读存储装置中实现的程序产品的形式。存储装置可以是有形的、非暂态的和/或非传输的。存储装置可以不包含信号。在某个实施方式中,存储装置仅采用用于访问代码的信号。
本说明书中描述的功能单元中的许多功能单元已经被标记为模块,以更具体地强调它们的实现独立性。例如,模块可以实现为包括定制的VLSI电路或门阵列的硬件电路、诸如逻辑芯片、晶体管或其他分立部件的现成半导体。模块还可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑装置等的可编程硬件装置中实现。
模块还可以以代码和/或软件来实现,以由各种类型的处理器执行。所识别的代码模块可以例如包括可执行代码的一个或更多个物理或逻辑块,其可以例如被组织为对象、过程或函数。然而,所识别的模块的可执行文件不需要在物理上位于一起,而是可以包括存储在不同位置处的不同指令,当逻辑上结合在一起时,所述指令包括模块并实现模块的所述目的。
实际上,代码模块可以是单个指令或许多指令,甚至可以分布在若干不同的代码段上、不同的程序中以及若干存储器装置上。类似地,在本文中,操作数据可以在模块内被识别和示出,并且可以以任何适当的形式来实现并被组织在任何适当类型的数据结构内。操作数据可以作为单个数据集被收集,或者可以分布在不同的位置,包括在不同的计算机可读存储装置上。当模块或模块的部分以软件来实现的情况下,软件部分存储在一个或更多个计算机可读存储装置上。
可以利用一个或更多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读存储介质。计算机可读存储介质可以是存储代码的存储装置。存储装置可以是例如但不限于电子、磁、光、电磁、红外、全息、微机械或半导体的系统、设备或装置或者前述的任何适当的组合。
存储装置的更具体示例(非详尽列表)将包括以下:具有一条或更多条电线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、便携式光盘只读存储器(CD-ROM)、光存储装置、磁存储装置或以上的任何适当的组合。在本文献的上下文中,计算机可读存储介质可以是任何有形介质,该有形介质可以包含或存储程序以供指令执行系统、设备或装置使用或者与其结合使用。
用于执行实施方式的操作的代码可以用一种或更多种编程语言的任何组合来编写,所述编程语言包括诸如Python、Ruby、Java、Smalltalk、C++等的面向对象的编程语言以及诸如“C”编程语言等的常规过程编程语言和/或诸如汇编语言的机器语言。代码可以完全在用户的计算机上执行,作为独立的软件包部分地在用户的计算机上执行,部分地在用户的计算机上并且部分地在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络——包括局域网(LAN)或广域网(WAN)——连接至用户的计算机,或者可以连接至外部计算机(例如,通过使用因特网服务提供商的因特网)。
遍及本说明书对“一个实施方式”、“实施方式”或类似语言的引用表示:结合该实施方式描述的特定特征、结构或特性被包括在至少一个实施方式中。因此,除非另有明确说明,否则在整个说明书中出现的短语“在一个实施方式中”、“在实施方式中”和类似语言可以但不一定全部指代同一实施方式,而是表示“一个或更多个而非所有实施方式”。除非另有明确说明,否则术语“包括(including)”、“包括(comprising)”、“具有(having)”及其变型表示“包括但不限于”。除非另有明确说明,否则列举的项目列表并不意味着任何或所有项目是互相排斥的。除非另有明确说明,否则术语“一个(a)”、“一个(an)”和“该(the)”也指“一个或更多个”。
此外,实施方式的所描述的特征、结构或特性可以以任何适当的方式进行组合。在下面的描述中,提供了许多具体细节,如编程、软件模块、用户选择、网络交易、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等的示例,以提供对实施方式的透彻理解。然而,相关领域的技术人员将认识到,可以在没有一个或更多个具体细节的情况下或者利用其他方法、组件、材料等来实践实施方式。在其他实例下,未详细示出或描述公知的结构、材料或操作以避免模糊实施方式的各方面。
下面参考根据实施方式的方法、设备、系统和程序产品的示意性流程图和/或示意性框图来描述实施方式的各方面。应当理解,示意性流程图和/或示意性框图的每个框以及示意性流程图和/或示意性框图中的框的组合可以通过代码来实现。该代码可以被提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器,使得经由计算机或其他可编程数据处理设备的处理器执行的指令创建用于实现在示意性流程图和/或示意性框图的一个或多个框中指定的功能/动作的装置。
代码还可以存储在存储装置中,该存储装置可以指示计算机、其他可编程数据处理设备或其他装置以特定方式运行,使得存储在存储装置中的指令产生包括实现示意性流程图和/或示意性框图的一个或多个框中指定的功能/动作的指令的制品。
代码还可以被加载到计算机、其他可编程数据处理设备或其他装置上,以使在计算机、其他可编程设备或其他装置上执行的一系列操作步骤产生计算机实现的处理,使得在计算机或其他可编程设备上执行的代码提供用于实现流程图和/或框图的一个或多个框中指定的功能/动作的处理。
图中的示意性流程图和/或示意性框图示出了根据各种实施方式的设备、系统、方法和程序产品的可能实现的架构、功能和操作。就这点而言,示意性流程图和/或示意性框图中的每个框可以表示包括用于实现指定的逻辑功能的代码的一个或更多个可执行指令的模块、片段或代码的一部分。
还应当注意,在一些替代实现中,框中提到的功能可以不按图中所示的顺序出现。例如,连续示出的两个框可能实际上基本同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。可以设想在功能、逻辑或效果上等同于所示图的一个或更多个框或其一部分的其他步骤和方法。
尽管可以在流程图和/或框图中采用各种箭头类型和线类型,但是它们被理解为不限制相应实施方式的范围。实际上,一些箭头或其他连接器可以用于仅指示所描绘实施方式的逻辑流程。例如,箭头可以指示所描绘的实施方式的列举步骤之间的未指定持续时间的等待或监视时段。还应该注意,框图和/或流程图的每个框以及框图和/或流程图中的框的组合可以通过执行特定功能或动作的基于专用硬件的系统或者通过专用硬件和代码的组合来实现。
每个图中的元件的描述可以参考前述图的元件。相同的数字指代所有图中的相同元件,包括相同元件的替代实施方式。
图1A是示出了非确定性网络100的一个实施方式的示意图。非确定性网络100可以支持多个节点105之间的通信。在一个实施方式中,非确定性网络100为物联网(IoT)网络。在所描绘的实施方式中,非确定性网络100包括多个装置节点105b和多个路由器节点105a。节点105通过边110来连接。边110可以是有线连接、无线连接或其组合。非确定性网络100还可以与诸如局域网、广域网、Wi-Fi网络、移动电话网络、因特网或其组合的网络115进行通信。
节点105之间的通信是不确定的。例如,在两个节点之间传送的第一消息可以采用第一通信路径,而在相同的两个节点105之间传送的第二消息可以采用第二通信路径。沿着通信路径的节点105可以被称为路径节点105。
不幸的是,网络100的非确定性性质使得非确定性网络100易受篡改。例如,恶意行动者可能会损害节点105中的一个节点并使用受损的节点105来拦截和/或修改节点105之间的通信,访问网络115,以及以其他方式执行未授权和/或恶意动作。
本文中所描述的实施方式确定通信路径并通过通信路径传送加密的消息,以保护非确定性网络100。因此,即使第一节点105受到损害,其他节点105、非确定性网络100和网络115仍然安全。
图1B是示出了第一通信路径120a的一个实施方式的示意图。在一个实施方式中,第一节点105b1可以通过第一通信路径120a将第一消息发送至图1A的非确定性网络100中的第一目的节点105b2。可以在第一节点105b1启动(boot)时确定第一通信路径120a。另外,可以在非确定性网络100启动时确定第一通信路径120a。在一个实施方式中,响应于准备发送消息,动态地确定第一通信路径120a。
另外,如果第一目的节点105b2不能接收通过第一通信路径120a传送的消息,则替代目的节点105b3可以接收针对第一目的节点105b2的消息。
图1C是示出了通信路径120的一个替代实施方式的示意图。在所描绘的实施方式中,在图1A的非确定性网络的第一节点105b1与第一目的节点105b2之间示出了第二通信路径120b。可以通过第二通信路径120b将第二消息传送至第一目的节点105b2。
在替代实施方式中,消息被传送至作为第一目的节点的已知终点节点(end-of-knowledge node)105a4。已知终点节点105a4可以是以下节点105:第一节点105b1已知它并且它被认为与第二节点和/或最终目的节点105b2进行通信。消息可以通过一个通信路径120从第一节点105b1被传送至第一目的节点105a4,并且通过另一通信路径120从第一目的节点105a4被传送至第二目的节点105b2。
图2A是示出了消息200的一个实施方式的示意性框图。消息200可以在存储器中被组织为数据结构。另外,消息120可以作为组织的数据在节点105之间的边110上被发送。在所描绘的实施方式中,消息200包括数据201和通信路径数据220。数据201可以由第一装置105b1生成并且独立于通信路径数据220。通信路径数据220可以描述通信路径120。在图2B中更详细地描述通信路径数据220。
图2B是示出了通信路径数据220的一个实施方式的示意性框图。在所描绘的实施方式中,通信路径数据220包括多个节点标识符221。每个节点标识符221可以标识通信路径120中的路径节点105。在某个实施方式中,节点标识符221按顺序次序列出,其中,消息200按顺序次序从路径节点105被传送至路径节点105。
在一个实施方式中,通信路径数据220包括已知终点节点标识符223和最终目的节点标识符225中的一个或更多个。可以包括已知终点节点标识符223,以将消息200发送至不知道发送节点105的最终目的节点105。例如,发送节点105可能不知道到最终目的节点105的通信路径120。因此,发送节点105可以利用已知终点节点标识符223来识别已知终点节点105并且利用最终目的节点标识符225来识别最终目的节点105。可以通过由节点标识符221标识的第一通信路径120将消息200传送至由已知终点节点标识符223标识的已知终点节点105。已知终点节点105然后可以确定到第二目的节点105的第二通信路径120。第二目的节点105可以是利用在最终目的节点标识符225中指定的最终目的节点105在已知终点节点标识符223中指定的另一已知终点节点105。可替选地,第二目的节点105可以是最终目的节点105,并且可以利用最终目的节点标识符225来指定。已知终点节点标识符223和最终目的节点标识符225的使用允许发送节点105将消息200传送至目的节点105,对于该目的节点105,发送节点105还不完全了解中间节点105。
图2C是示出了通信路径数据库229的一个实施方式的示意性框图。通信路径数据库229可以是存储多个节点105的通信路径120的集中式数据库。例如,路由器节点105a可以保存通信路径数据库229。通信路径数据库229可以存储多个通信路径120的通信路径数据220。
图2D是示出了区块链记录210的一个实施方式的示意性框图。区块链记录210可以用于记录节点之间的消息交易215。区块链记录210包括多个区块217。为简单起见,在所描绘的实施方式中示出了三个区块217a至217c。然而,可以采用任意数量的区块217。每个区块217可以存储在节点105上。区块链记录210的区块217可以在多个节点105之间共享和同步。一些节点105可以各自独立地保存具有多个区块217的区块链记录210。
每个区块217可以记录多个消息交易215。可以对消息交易215进行哈希处理。在一个实施方式中,比较每个块217的经哈希处理的消息交易215。如果对区块217的每个实例存在共识,则可以将区块217仅记录到区块链记录210。
在一个实施方式中,对于每个区块217计算工作证明211。工作证明211可以被计算成具有难以计算但易于验证的密码特征。在一个实施方式中,工作证明231包括先前区块213。工作证明231可以用于验证区块链记录210的每个区块217的自洽性(self-consistency)。
图2E是示出了加密密钥231的集合230的一个实施方式的示意性框图。加密密钥231的集合230包括多个N个加密密钥231。加密密钥231的集合230可以用于对消息200进行加密。例如,发送节点105可以使用加密密钥231的集合230来对消息200进行加密。在一个实施方式中,仅需要N个加密密钥231的集合230中的M个加密密钥231的子集233对消息200进行解密。例如,目的节点105可以使用加密密钥231的集合230的子集233对加密的消息进行解密。
图2F是示出了节点加密密钥240的一个实施方式的示意性框图。在所描绘的实施方式中,节点105可以具有加密密钥231。当在路径节点105处接收到消息200时,路径节点105可以使用加密密钥231对加密的消息部分地解密。另外,加密密钥231可以由密钥保存节点105提供给目的节点105。
图3A是示出了加密的消息300的一个实施方式的示意性框图。在所描绘的实施方式中,通过加密305对消息200进行加密。可以使用加密密钥231的集合230来进行加密305。另外,可以利用加密密钥231的集合230的子集233对单个加密305进行解密。
图3B是示出了加密的消息300的一个替代实施方式的示意性框图。在所描绘的实施方式中,通过如图3A所示的加密305对消息200进行加密。由路径节点105对加密的消息300进行的每个后续交易被记录为洋葱皮记录(onion skin record)310的消息交易215,其中每个后续消息交易215对先前的消息交易215、加密305和消息200进行封装。洋葱皮记录310可以包括多层消息交易215。每个层可以表示消息交易215。另外,每个层可以由节点105签名并附加至加密的消息300。目的节点105可以对每个节点105的签名进行验证。
在一个实施方式中,交易加密的消息300的每个路径节点105利用路径节点105的加密密钥231对加密305的一部分进行解密。消息200的加密305可以保持,但是后续加密305不包括进行交易的路径节点105的加密密钥231。
在一个替代实施方式中,每个交易215还利用执行交易215的节点105的加密密钥231对加密的消息300进行加密。
图4是示出了节点105的一个实施方式的示意性框图。在所描绘的实施方式中,节点105包括处理器405、存储器410和网络连接装置415。存储器410可以包括半导体存储装置、硬盘驱动器、光学存储装置、微机械存储装置或其组合。存储器410可以存储代码。处理器405可以执行代码。网络连接装置415可以与非确定性网络100中的其他节点105进行通信。
图5是示出了安全通信方法500的一个实施方式的示意性流程图。方法500可以在非确定性网络100的节点105之间安全地传送消息200。方法500可以由一个或更多个节点105和/或其处理器405执行。
方法500开始,并且在一个实施方式中,处理器405确定505到节点105的网络中的目的节点105的通信路径120。节点105的网络可以是非确定性网络100。另外,节点105的网络可以被组织为无向图,其中节点105之间的边110是双向通信信道。
目的节点105可以是由最终目的节点标识符225指定的最终目的节点105。可替选地,目的节点105可以是已知终点节点105。已知终点节点105的节点标识符221可以被记录为已知终点节点标识符223。最终目的节点105的节点标识符221可以被记录为最终目的节点标识符225。
通信路径120可以是无向图的路径节点105的生成树。生成树可以是非确定性网络100的子集,其中所有节点105都覆盖有最小可能数量的边110。因此,生成树不具有循环连接,其中两个节点105通过多于一个通信路径120来连接。因此,通信路径120的每个路径节点105是已知的。
在一个实施方式中,通信路径120以诸如如图2A所示的通信路径数据220并被附加至消息200的数据结构被记录。另外,通信路径120可以作为诸如通信路径数据220的数据结构被记录在通信路径数据库229。
处理器405可以通过加密305对到第一目的节点105的消息200进行加密510。加密305可以使用加密密钥231的集合230中的每个加密密钥231。由于通信路径120的每个路径节点105是已知的,因此集合230的加密密钥231也是已知的。加密305可以仅使用加密密钥231的集合230的子集233进行解密。在某个实施方式中,利用账本加密算法对消息200进行加密510。
处理器405还可以通过通信路径120的路径节点105来传送515加密的消息300。在一个实施方式中,每个路径节点105与消息200和/或加密的消息300的每个交易215被记录。可以将每个交易215记录为如图2D所描述的区块链记录210。可以在一个或更多个记账节点(accounting node)105处记录区块链记录210的区块217。
在一个实施方式中,每个路径节点105与消息200和/或加密的消息300的每个交易215被记录为如图3B所示的洋葱皮记录310。洋葱皮记录310可以包括多个层。每个层可以是消息交易215,并且可以由交易消息200和/或加密的消息300的路径节点215签名。该层可以被附加至消息200和/或加密的消息300。账本加密算法可以对图2D的区块链记录210的消息交易215和/或区块217进行加密。
处理器405可以对加密的消息300进行解密525。在一个实施方式中,在目的节点105处利用加密密钥231的集合230的子集233对加密的消息300进行解密525。加密密钥231的子集233可以由与目的节点105进行通信的密钥保存节点105保存。在一个实施方式中,目的节点105从密钥保存节点105获取子集233的加密密钥231。例如,目的节点105可以从三个密钥保存节点105请求三个加密密钥231。密钥保存节点105可以与目的节点105共享边110。
在某个实施方式中,交易加密的消息300的每个路径节点105利用加密密钥231的子集233的一个加密密钥231对加密的消息300进行解密525,并且目的节点105利用加密密钥231的子集233的另一加密密钥231对加密的消息300进行解密525。因此,加密的消息300必须由通信路径120的每个路径节点105进行交易以进行解密525。
处理器405可以沿着通信路径120验证530每个消息交易215。可以在目的节点105处对沿着通信路径120的消息交易215进行验证530。在一个实施方式中,针对篡改,检查洋葱皮(onion skin)310的消息交易215。另外,针对篡改,可以检查一个或更多个区块217的消息交易215。
处理器405可以确定535目的节点105是否是最终目的节点105。处理器405可以将目的节点105的节点标识符221与已知终点节点标识符223和最终目的节点标识符225进行比较。如果目的节点105的节点标识符221是最终目的节点标识符225,则目的节点105是最终目的节点105,从而方法500结束。
如果目的节点105的节点标识符221是已知终点节点标识符223,则处理器405可以确定505到第二目的节点105的第二通信路径120。第二目的节点105可以是由最终目的节点标识符225指定的最终目的节点105。可替选地,第二目的节点105可以是已知终点节点105。已知终点节点105的节点标识符221可以被记录为已知终点节点标识符223。
处理器405还可以使用第二加密密钥231的集合230通过加密305对到第二目的节点105的消息200进行加密510。加密305会需要第二加密密钥231的集合230的子集233以进行解密。处理器405可以如上所述传送515加密的消息300,记录520每个路径节点105的每个交易215,对加密的消息300进行解密525,验证530交易215,并再次确定535目的节点105是否是最终目的节点105,直到目的节点105是最终目的节点105为止,从而方法500结束。因此,可以经由一系列已知终点节点105来传送消息200,直到到达最终目的节点105为止。
实施方式确定到被组织为无向图的节点105的网络中的目的节点105的通信路径120,其中通信路径120是无向图的路径节点105的生成树。因此,通信路径120的每个路径节点105是已知的。实施方式还通过加密305对到目的节点105的消息200进行加密,加密305需要加密密钥231的集合230的子集233以进行解密。
实施方式还通过通信路径120的路径节点105来传送加密的消息300,其中在目的节点105处使用加密密钥231的子集233对加密的消息进行解密。因此,在非确定性网络100中安全地传送消息200。
可以以其他特定形式来实践实施方式。描述的实施方式在所有方面都应被视为仅是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是前面的描述来指示。在权利要求的含义和等同范围内的所有变化都包含在其范围内。
Claims (17)
1.一种电子设备,包括:
网络连接装置;
处理器;
存储器,其存储能够由所述处理器执行以进行以下操作的代码:
确定到被组织为无向图并且与所述网络连接装置进行通信的节点的网络中的已知终点节点的第一通信路径,其中,所述第一通信路径是所述无向图的从第一节点到所述已知终点节点的路径节点的生成树,所述已知终点节点不与所述第一节点相邻,所述第一节点已知所述已知终点节点,所述已知终点节点与所述网络中的第一目的节点通信,并且所述第一通信路径的每个路径节点是已知的;
确定从所述已知终点节点到所述第一目的节点的第二通信路径,其中,所述第二通信路径的每个路径节点对于所述已知终点节点是已知的;
使用第一加密密钥的集合和第二加密密钥的集合中的每个加密密钥对到所述第一目的节点的消息进行加密;以及
通过所述第一通信路径和所述第二通信路径的路径节点来传送加密的消息,其中,记录每个路径节点与所述加密的消息的每个交易,并且在所述第一目的节点处使用所述第一加密密钥的集合的子集和所述第二加密密钥的集合的子集对所述加密的消息进行解密,其中,所述第一加密密钥的集合的所述子集和所述第二加密密钥的集合的所述子集由与所述第一目的节点进行通信的密钥保存节点保存。
2.根据权利要求1所述的设备,其中,每个交易在一个或更多个记帐节点处被记录为区块链记录。
3.根据权利要求1所述的设备,其中,每个交易被记录为包括多个层的洋葱皮记录,每个层由节点签名并被附加至所述消息,并且其中,所述第一目的节点对每个节点的签名进行验证。
4.根据权利要求1所述的设备,其中,所述消息利用账本加密算法被加密。
5.根据权利要求1所述的设备,其中,所述第一通信路径在启动时被确定。
6.根据权利要求1所述的设备,其中,所述第一通信路径响应于准备发送所述消息动态地被确定。
7.根据权利要求1所述的设备,其中,所述第一通信路径被记录在集中式通信路径数据库中。
8.根据权利要求1所述的设备,其中,所述第一通信路径以附加至所述消息的数据结构被记录。
9.根据权利要求1所述的设备,其中,沿着所述第一通信路径和所述第二通信路径的每个交易在所述第一目的节点处被验证。
10.一种处理方法,包括:
通过使用处理器来确定到被组织为无向图的节点的网络中的已知终点节点的第一通信路径,其中,所述第一通信路径是所述无向图的从第一节点到所述已知终点节点的路径节点的生成树,所述已知终点节点不与所述第一节点相邻,所述第一节点已知所述已知终点节点,所述已知终点节点与所述网络中的第一目的节点通信,并且所述第一通信路径的每个路径节点是已知的;
确定从所述已知终点节点到所述第一目的节点的第二通信路径,其中,所述第二通信路径的每个路径节点对于所述已知终点节点是已知的;
使用第一加密密钥的集合和第二加密密钥的集合中的每个加密密钥对到所述第一目的节点的消息进行加密;以及
在所述第一通信路径和所述第二通信路径的所述路径节点上传送所述加密的消息,其中,记录每个路径节点与所述加密的消息的每个交易,并且在所述第一目的节点处利用所述第一加密密钥的集合的子集和所述第二加密密钥的集合的子集对所述加密的消息进行解密,其中,所述第一加密密钥的集合的所述子集和所述第二加密密钥的集合的所述子集由与所述第一目的节点进行通信的密钥保存节点保存。
11.根据权利要求10所述的方法,其中,在一个或更多个记账节点处将每个交易记录为区块链记录。
12.根据权利要求10所述的方法,其中,将每个交易记录为包括多个层的洋葱皮记录,每个层由节点签名并被附加至所述消息,并且其中,所述第一目的节点对每个节点的签名进行验证。
13.根据权利要求10所述的方法,其中,利用账本加密算法对所述消息进行加密。
14.一种计算机可读存储介质,所述计算机可读存储介质存储由处理器可执行的代码,所述可执行的代码包括进行以下操作的代码:
确定到被组织为无向图的节点的网络中的已知终点节点的第一通信路径,其中,所述第一通信路径是所述无向图的从第一节点到所述已知终点节点的路径节点的生成树,所述已知终点节点不与所述第一节点相邻,所述第一节点已知所述已知终点节点,所述已知终点节点与所述网络中的第一目的节点通信,并且所述第一通信路径的每个路径节点是已知的;
确定从所述已知终点节点到所述第一目的节点的第二通信路径,其中,所述第二通信路径的每个路径节点对于所述已知终点节点是已知的;
使用第一加密密钥的集合和第二加密密钥的集合中的每个加密密钥对到所述第一目的节点的消息进行加密;以及
在所述第一通信路径和所述第二通信路径的所述路径节点上传送所述加密的消息,其中,记录每个路径节点与所述加密的消息的每个交易,并且在所述第一目的节点处利用所述第一加密密钥的集合的子集和所述第二加密密钥的集合的子集对所述加密的消息进行解密,其中,所述第一加密密钥的集合的所述子集和所述第二加密密钥的集合的所述子集由与所述第一目的节点进行通信的密钥保存节点保存。
15.根据权利要求14所述的计算机可读存储介质,其中,在一个或更多个记帐节点处将每个交易记录为区块链记录。
16.根据权利要求14所述的计算机可读存储介质,其中,将每个交易记录为包括多个层的洋葱皮记录,每个层由节点签名并被附加至所述消息,并且其中,所述第一目的节点对每个节点的签名进行验证。
17.根据权利要求14所述的计算机可读存储介质,其中,利用账本加密算法对所述消息进行加密。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/936,895 US20190306129A1 (en) | 2018-03-27 | 2018-03-27 | Secure communication in a nondeterministic network |
US15/936,895 | 2018-03-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110311884A CN110311884A (zh) | 2019-10-08 |
CN110311884B true CN110311884B (zh) | 2021-08-17 |
Family
ID=65995483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811473421.0A Active CN110311884B (zh) | 2018-03-27 | 2018-12-04 | 用于非确定性网络中的安全通信的设备、方法及存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20190306129A1 (zh) |
EP (1) | EP3547642B1 (zh) |
CN (1) | CN110311884B (zh) |
DE (1) | DE102019107699A1 (zh) |
GB (1) | GB2575704B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11239999B1 (en) * | 2018-04-25 | 2022-02-01 | Tyson York Winarski | Blockchain network communications system |
US10650023B2 (en) * | 2018-07-24 | 2020-05-12 | Booz Allen Hamilton, Inc. | Process for establishing trust between multiple autonomous systems for the purposes of command and control |
CN110891061B (zh) * | 2019-11-26 | 2021-08-06 | 中国银联股份有限公司 | 数据的加解密方法、装置、存储介质及加密文件 |
CN113596034A (zh) * | 2021-07-30 | 2021-11-02 | 安徽高山科技有限公司 | 基于伪装轻节点的区块链隐私通讯方法、设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4706080A (en) * | 1985-08-26 | 1987-11-10 | Bell Communications Research, Inc. | Interconnection of broadcast networks |
US7010590B1 (en) * | 1999-09-15 | 2006-03-07 | Datawire Communications Networks, Inc. | System and method for secure transactions over a network |
US7159108B2 (en) * | 2002-10-04 | 2007-01-02 | International Business Machines Corporation | Anonymous peer-to-peer networking |
JP2007005898A (ja) * | 2005-06-21 | 2007-01-11 | Toshiba Corp | ノード装置、匿名通信方法及び匿名通信プログラム |
KR20080103118A (ko) * | 2007-02-26 | 2008-11-27 | (주)아이젠데이타시스템 | 서버 공유에 따른 데이터베이스 안전 관리시스템 |
CN102404737B (zh) * | 2011-12-29 | 2014-07-02 | 重庆邮电大学 | 基于动态探测的无线传感器网络安全路由的方法 |
JP5948001B2 (ja) * | 2012-03-07 | 2016-07-06 | モトローラ モビリティ エルエルシーMotorola Mobility Llc | 所要のノード経路と暗号署名とを用いたセキュアなパケット送信のためのポリシー |
CN103607726B (zh) * | 2013-11-25 | 2016-08-31 | 河海大学常州校区 | 无线传感器网络中基于正六边形的移动锚节点路径规划方法 |
US9641338B2 (en) * | 2015-03-12 | 2017-05-02 | Skuchain, Inc. | Method and apparatus for providing a universal deterministically reproducible cryptographic key-pair representation for all SKUs, shipping cartons, and items |
CN106656798B (zh) * | 2016-12-30 | 2020-03-27 | 质数链网科技成都有限公司 | 一种计算决策路径的方法及分布式节点 |
EP3574482B8 (en) * | 2017-01-30 | 2023-08-02 | Exo One Pty Ltd | Voting system and method |
-
2018
- 2018-03-27 US US15/936,895 patent/US20190306129A1/en not_active Abandoned
- 2018-12-04 CN CN201811473421.0A patent/CN110311884B/zh active Active
-
2019
- 2019-03-26 GB GB1904134.2A patent/GB2575704B/en active Active
- 2019-03-26 EP EP19165159.5A patent/EP3547642B1/en active Active
- 2019-03-26 DE DE102019107699.4A patent/DE102019107699A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US20190306129A1 (en) | 2019-10-03 |
CN110311884A (zh) | 2019-10-08 |
GB2575704B (en) | 2021-07-28 |
DE102019107699A1 (de) | 2019-10-02 |
GB201904134D0 (en) | 2019-05-08 |
EP3547642A1 (en) | 2019-10-02 |
EP3547642B1 (en) | 2020-07-15 |
GB2575704A (en) | 2020-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3937424B1 (en) | Blockchain data processing methods and apparatuses based on cloud computing | |
US10341101B2 (en) | Secure database backup and recovery | |
CN110311884B (zh) | 用于非确定性网络中的安全通信的设备、方法及存储介质 | |
US10382450B2 (en) | Network data obfuscation | |
US12003629B2 (en) | Secure server digital signature generation for post-quantum cryptography key encapsulations | |
US20210044432A1 (en) | Quantum key distribution method and device, and storage medium | |
US11336627B2 (en) | Packet inspection and forensics in an encrypted network | |
US11621834B2 (en) | Systems and methods for preserving data integrity when integrating secure multiparty computation and blockchain technology | |
US20200344075A1 (en) | Secure provisioning of keys | |
US11863666B2 (en) | Relay network for encryption system | |
JP6285616B1 (ja) | セキュア実行環境通信 | |
US9742561B2 (en) | Secure remote authentication of local machine services using secret sharing | |
US10586065B2 (en) | Method for secure data management in a computer network | |
US20160294789A1 (en) | Multi-node encryption | |
US20190354610A1 (en) | Storage device and block chain enabled communication | |
US11129022B2 (en) | Wireless LAN deployment based on mapped password SAE authentication | |
CN113014545B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
JP2017060031A (ja) | 車載制御システム、車両、管理装置、車載コンピュータ、データ共有方法、及びコンピュータプログラム | |
CN111211958B (zh) | 用于提供vpn服务的方法及装置、区块链网络及节点设备 | |
US9178855B1 (en) | Systems and methods for multi-function and multi-purpose cryptography | |
US9189638B1 (en) | Systems and methods for multi-function and multi-purpose cryptography | |
KR102649485B1 (ko) | 가상 사설 네트워크 시스템 및 그 제어방법 | |
US20240106638A1 (en) | Method for securely generating and distributing symmetric keys for grouping secure communications |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220613 Address after: 23 / F, Lincoln building, 979 King's road, Quarry Bay, Hong Kong, China Patentee after: Lenovo PC International Ltd. Address before: Singapore, Singapore City Patentee before: Lenovo (Singapore) Pte. Ltd. |
|
TR01 | Transfer of patent right |