Secure overlay network

The secure overlay network system uses PUFs to establish challenge-response pairs between underlay nodes, enhancing data transmission security by ensuring only authorized nodes can form links and encrypting communication, thus preventing unauthorized access and tampering.

WO2025224098A1PCT designated stage Publication Date: 2025-10-30FORTAEGIS TECHNOLOGIES HOLDING BV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/060916
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-22
Filing Date
2025-04-22
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

Existing overlay networks lack robust security measures to protect data transmission, making them vulnerable to attacks and compromising the integrity of the network.

Method used

Implementing a secure overlay network system that utilizes physically unclonable functions (PUFs) to establish challenge-response pairs between underlay nodes, creating secure channels for overlay nodes, ensuring only authorized nodes can form links, and using cryptographic methods to encrypt and decrypt communication.

Benefits of technology

Enhances the security of data transmission by preventing unauthorized access and tampering, providing a resilient and scalable network with secure communication channels.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025060916_30102025_PF_FP_ABST
    Figure EP2025060916_30102025_PF_FP_ABST
Patent Text Reader

Abstract

A system (241) for managing a secure overlay network which overlays an underlay network is configured to receive one or more signals indicative of link information relating to links between a collection of underlay nodes (201-215,221-223,231-233,251-259). The overlay nodes are hosted on a subset (221-223,231-233) of the collection of underlay nodes. The system is further configured to determine, based on the link information, node pairs of overlay nodes which are to form links, and transmit instructions to the subset of underlay nodes to form the links in the secure overlay network between the plurality of node pairs. The instructions instruct the subset of underlay nodes to establish secure channels between a first group of the subset and a second group of the subset by using challenge-response pairs associated with the second group. The underlay nodes of the second group have a physically unclonable function.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] SECURE OVERLAY NETWORK

[0002] FIELD OF THE INVENTION

[0003] The invention relates to a system and method for managing a secure overlay network and to a system and method for hosting an overlay node of a secure overlay network, the secure overlay network comprising a plurality of overlay nodes, the secure overlay network overlaying an underlay network, the underlay network comprising a collection of underlay nodes, and the plurality of overlay nodes being hosted on a subset of the collection of underlay nodes. The invention also relates to computer program products enabling a computer system to perform such methods.

[0004] BACKGROUND OF THE INVENTION

[0005] Overlay networks are virtual networks built on top of an existing network infrastructure, known as the underlay network. The underlay network provides the foundational physical and logical connectivity on which the overlay network operates, such as the routers, switches, and physical media of the Internet that establish basic IP connectivity. In contrast, the overlay network consists of nodes and virtual links that form higher-level connections, which may represent paths traversing multiple devices and subnetworks in the underlay network. This separation allows overlay networks to implement custom, optimized protocols and networking services independently of the underlay network’s physical infrastructure and configuration.

[0006] For example, peer-to-peer networks and virtual private networks (VPNs) are common types of overlay networks. In a peer-to-peer network, computers function as both clients and servers, sharing the workload and routing the data between each other directly, rather than through a central server, creating a resilient and scalable network. VPNs, on the other hand, use overlaying techniques to create an encrypted connection over the Internet, which appears to the user as a direct private link to the internal network.

[0007] CN 117 692 335 A discloses a method, apparatus, and terminal device for securely mapping edge computing virtual networks, aiming to enhance the security of edge computing services in loT environments. CN 117 692 335 A describes a process where virtual nodes and links are established between edge computing nodes based on interaction requests, and these virtual elements are mapped to physical nodes and links in a preconstructed secure subnetwork. The method involves calculating the weights of physical nodes and using the shortest path algorithm to determine optimal physical links. DI discloses that an SDN controller can initiate a secure authentication query request to all physical nodes and that a unique identification code included in the authentication request sent to a physical node can be the PUF code of the physical node.

[0008] US 6,275,470 Bl describes a system for dynamically discovering and utilizing an optimized network path through overlay routing for the transmission of data. A determination whether to use a default network path or to instead use an alternate data forwarding path through one or more overlay nodes is based on real-time measurement of costs associated with the alternative paths, in response to a user request for transmission of message data to a destination on the network. Cost metrics include delay, throughput, jitter, loss, and security. US 6,275,470 Bl does not disclose any measures to make the overlay network more secure than the underlay network.

[0009] SUMMARY OF THE INVENTION

[0010] It is advantageous to provide a system and method for managing a secure overlay network, which allows data to be transmitted more securely.

[0011] It is advantageous to provide a system and method for hosting an overlay node of a secure overlay network, which allows data to be transmitted more securely.

[0012] In one aspect, the system for managing a secure overlay network includes at least one input interface. The system also includes at least one output interface. The system furthermore includes at least one processor configured to receive one or more signals via the at least one input interface, the one or more signals being indicative of link information relating to links between the collection of underlay nodes in the underlay network, determine, based on the link information, a plurality of node pairs of the plurality of overlay nodes which are to form links in the overlay network, and transmit, via the at least one output interface, instructions to the subset of underlay nodes to form the links in the secure overlay network between the plurality of node pairs, the instructions instructing the subset of underlay nodes to establish secure channels between a first group of the subset of underlay nodes and a second group of the subset of underlay nodes by using challenge-response pairs associated with the second group of the subset of underlay nodes, the second group of the subset of underlay nodes comprising a physically unclonable function.

[0013] A Physical Unclonable Function (PUF) refers to a function that is implemented as a physical system in such a way that the output for an input is obtained by applying the input stimulus to the physical system and observing the resulting behavior. The interaction between the stimulus and the physical system is unpredictable, depending on essentially random elements within the physical system. This makes it impossible to obtain the output without having had direct access to the physical system, and also renders it impractical to reproduce the physical system itself. PUFs are typically low in manufacturing costs and easy to evaluate for practical applications.

[0014] Conventionally, an input or stimulus that a PUF accepts is called a challenge. The output of a PUF, that is, the behavior the PUF exhibits after interaction with the stimulus, is called a response. A pair comprising a challenge and the corresponding response of a PUF is called a challenge -response pair. Some types of PUFs allow a wide range of different inputs, some types allow a more limited range of inputs, or may even allow only a single input. The property that the PUF produces the same response to a challenge c that is presented multiple times, is preferable, but not necessary and, in practice, most PUFs do not possess it. As long as the multiple responses are sufficiently close to each other, the PUF can be usefully applied.

[0015] Since the interaction between a stimulus and the physical system cannot be predicted without access to the system, the PUF is hard to characterize and therefore to model. The output of a particular PUF for an input can therefore only be obtained using the particular physical system underlying the particular PUF. Possession of a challenge-response pair is proof that at some point the challenge was offered to the unique physical system that underlies the PUF. Because of this property, i.e., the property that challenge -response pairs are coupled to a unique physical device, a PUF is called unclonable. By equipping a device with a PUF, the device also becomes unclonable.

[0016] A Controlled PUF (CPUF) comprises a PUF and a control layer that restricts a user’s access to the PUF input and output. The CPUF is especially beneficial if a system has multiple users or sessions accessing the same computational device. Different types of CPUFs exist. The paper “Flowchart description of security primitives for controlled physical unclonable functions” by Boris Skoric, and Marc X. Makkes, published in International Journal of Information Security 9, 2010, describes a CPUF which only allows access to PUF functionality only when a secure channel has been established.

[0017] All communications and iterations need to pass through a secure channel handler. Everything that happens with in the CPUF is considered secure against invasive attacks. By using the secure channels described in this paper to establish links between pairs of overlay nodes, i.e., between pairs of underlay nodes that host these pairs of overlay nodes, these links are much more secure, as each of these secure channels involves at least one underlay node whose identity cannot be spoofed and whose cooperation is needed to form the corresponding link. The (managing) system is a central entity that ensures that the overlay network is created.

[0018] Implementations may include one or more of the following: The system wherein the at least one processor is configured to determine the node pairs of the plurality of overlay nodes such that each of the node pairs comprises an overlay node that is hosted on an underlay node of the second group.

[0019] The system wherein the at least one processor is configured to receive, via the at least one input interface, at least one further signal when the secure overlay network is operational, the at least one further signal being indicative of updated link information relating to at least one of the links in the underlay network, determine, based on the updated link information, a change to the plurality of node pairs, the change involving at least two of the plurality of overlay nodes, transmit, via the at least one output interface, further instructions to at least two of the subset of underlay nodes to modify at least one of their links in the secure overlay network, the at least two underlay nodes hosting the at least two overlay nodes,.

[0020] The system wherein the underlay network is the internet and / or the instructions specify weights for the links.

[0021] In one aspect, the system for hosting an overlay node of a secure overlay network includes at least one input interface. The system also includes at least one processor configured to receive, via the at least one input interface, from a further system, instructions to form one or more links in the secure overlay network between one or more node pairs of the plurality of overlay nodes, the one or more node pairs including an overlay node hosted by the system and at least one other overlay node hosted by at least one other underlay node, and establish, based on the instructions, at least one secure channel with the at least one other underlay node by using one or more challenge -response pairs associated with a first one or more of the at least one underlay node, the one or more challenge -response pairs comprise one or more first challenges and one or more corresponding first responses, and / or by providing one or more second challenges to a physically unclonable function comprised in the system to cause the physically unclonable function to determine one or more second responses based on one or more second challenges, the one or more second challenges being received from a second one or more of the at least one underlay node.

[0022] Implementations may include one or more of the following:

[0023] The system wherein the one or more node pairs include only the overlay node hosted by the system and the at least one other overlay node hosted by the at least one other underlay node.

[0024] The system wherein the at least one processor is configured to receive data from a first overlay node included in the one or more node pairs, the first overlay node being different from the system, select a second overlay node included in the one or more node pairs, the second overlay node being different from the first overlay node and the system, and transmit the data to the second overlay node.

[0025] The system wherein the first overlay node is included in the at least one overlay node and the at least one processor is configured to select the second overlay node such that the second overlay node is also included in the at least one overlay node.

[0026] The system wherein and the at least one processor is configured to use the one or more challenge -response pairs associated with the first one or more of the at least one underlay node by transmitting the one or more first challenges to the first one or more of the at least one underlay node, generating one or more first shared secrets based on the one or more first responses, and providing the one or more secure channels to the first one or more of the at least one underlay node by encrypting communication to be transmitted to the first one or more of the at least one underlay node with the one or more first shared secrets and / or decrypting communication received from the first one or more of the at least one underlay node with the one or more first shared secrets.

[0027] The system wherein the at least one processor is configured to generate one or more second shared secrets based on the one or more second responses determined by the physically unclonable function and provide the one or more secure channels to the second one or more of the at least one underlay node by encrypting communication to be transmitted to the second one or more of the at least one underlay node with the one or more second shared secrets and / or decrypting communication received from the second one or more of the at least one underlay node with the one or more second shared secrets.

[0028] The system wherein the underlay network and the secure overlay network both use internet addressing and routing protocols.

[0029] The system wherein the secure overlay network uses different addressing and routing protocols than the underlay network.

[0030] In one aspect, the method of managing a secure overlay network includes receiving one or more signals, the one or more signals being indicative of link information relating to links between the collection of underlay nodes in the underlay network. The method also includes determining, based on the link information, a plurality of node pairs of the plurality of overlay nodes which are to form links in the overlay network. The method furthermore includes transmitting instructions to the subset of underlay nodes to form the links in the secure overlay network between the plurality of node pairs, the instructions instructing the subset of underlay nodes to establish secure channels between a first group of the subset of underlay nodes and a second group of the subset of underlay nodes by using challenge-response pairs associated with the second group of the subset of underlay nodes, the second group of the subset of underlay nodes comprising a physically unclonable function. The method may be performed by software running on a programmable device. This software may be provided as a computer program product.

[0031] In one aspect, the method of hosting an overlay node of a secure overlay network includes receiving from a further system, instructions to form one or more links in the secure overlay network between one or more node pairs of the plurality of overlay nodes, the one or more node pairs including an overlay node hosted by the system and at least one other overlay node hosted by at least one other underlay node. The method also includes establishing, based on the instructions, at least one secure channel with the at least one other underlay node by using one or more challenge -response pairs associated with a first one or more of the at least one underlay node, the one or more challenge -response pairs comprise one or more first challenges and one or more corresponding first responses, and / or by providing one or more second challenges to a physically unclonable function comprised in the system to cause the physically unclonable function to determine one or more second responses based on one or more second challenges, the one or more second challenges being received from a second one or more of the at least one underlay node. The method may be performed by software running on a programmable device. This software may be provided as a computer program product.

[0032] Moreover, a computer program for carrying out the methods described herein, as well as a non-transitory computer readable storage-medium storing the computer program are provided. A computer program may, for example, be downloaded by or uploaded to an existing device or be stored upon manufacturing of these systems.

[0033] In one aspect, a non-transitory computer-readable storage medium stores a software code portion, the software code portion, when executed or processed by a computer, being configured to perform one or more of the methods described above.

[0034] As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a device, a method or a computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit", "module" or "system." Functions described in this disclosure may be implemented as an algorithm executed by a processor / microprocessor of a computer. Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied, e.g., stored, thereon.

[0035] Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a computer readable storage medium may include, but are not limited to, the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of the present invention, a computer readable storage medium may be any tangible medium that can contain, or store, a program for use by or in connection with an instruction execution system, apparatus, or device.

[0036] A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.

[0037] Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber, cable, RF, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java(TM), Rust, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (FAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

[0038] Aspects of the present invention are described below with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor, in particular a microprocessor or a central processing unit (CPU), of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer, other programmable data processing apparatus, or other devices create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0039] These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function / act specified in the flowchart and / or block diagram block or blocks.

[0040] The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0041] The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of devices, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).

[0042] It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

[0043] BRIEF DESCRIPTION OF THE DRAWINGS These and other aspects of the invention are apparent from and will be further elucidated, by way of example, with reference to the drawings, in which:

[0044] Fig. 1 is a block diagram of implementations of the systems; and

[0045] Fig. 2 is a flow chart of a first implementation of the methods;

[0046] Fig. 3 is a flow chart of a second implementation of the methods;

[0047] Fig. 4 illustrates a part of the method of Fig. 3;

[0048] Fig. 5 is a flow chart of a third implementation of the methods;

[0049] Fig. 6 is a flow chart of a fourth implementation of the methods;

[0050] Fig. 7 is a flow chart of a fifth implementation of the methods;

[0051] Fig. 8 shows an example of an underlay network comprising implementations of the systems;

[0052] Fig. 9 shows an example of a path in the underlay network between two overlay nodes hosted on two of the underlay nodes;

[0053] Fig. 10 shows an example of an alternative path between the two overlay nodes of Fig. 9;

[0054] Fig. 11 shows an example of a secure overlay network which comprises six overlay nodes hosted on six underlay nodes;

[0055] Fig. 12 shows an example of a secure overlay network in which each overlay node is connected to three other overlay nodes; and

[0056] Fig. 13 is a block diagram of an exemplary data processing system for performing one or more of the methods.

[0057] Corresponding elements in the drawings are denoted by the same reference numeral.

[0058] DETAILED DESCRIPTION OF THE DRAWINGS

[0059] Fig. 1 is a block diagram of implementations of the system for managing a secure overlay network and the system for hosting an overlay node of the secure overlay network. The secure overlay network comprises a plurality of overlay nodes and overlays an underlay network. The underlay network comprises a collection of underlay nodes. The plurality of overlay nodes is hosted on a subset of the collection of underlay nodes.

[0060] The system 51 manages the secure overlay network. The systems 21 and 41 are underlay nodes that host an overlay node of the secure overlay network. The systems 21, 41, and 51 are connected via network equipment 61. Not all underlay nodes host an overlay node and an underlay node may be able to host multiple overlay nodes, e.g. if the underlay node is a cloud server. The system 51 comprises a processor 55, an input interface 53 in the form of a receiver, an output interface 54 in the form of a transmitter, and a memory 57. The processor 55 is configured to receive, via the receiver 53, one or more signals indicative of link information relating to links between the collection of underlay nodes in the underlay network, determine, based on the link information, a plurality of node pairs of the plurality of overlay nodes which are to form links in the overlay network, and transmit, via the transmitter 54, instructions to the subset of underlay nodes to form the links in the secure overlay network between the plurality of node pairs.

[0061] The instructions instruct the subset of underlay nodes to establish secure channels between a first group of the subset of underlay nodes and a second group of the subset of underlay nodes by using challenge-response pairs associated with the second group of the subset of underlay nodes. For example, the first group of underlay nodes may be instructed to establish secure channels with the second group of underlay nodes. The second group of the subset of underlay nodes comprises a physically unclonable function.

[0062] In the implementation of Fig. 1, a single system manages the overlay network and this single system 51 comprises one device. In an alternative implementation, the overlay network may be managed by multiple systems and / or a system managing the overlay network may comprise multiple devices.

[0063] The system 21 comprises a CPUF chip 31. The CPUF chip 31 comprises one or more processors 25, e.g. one or more computer cores, an input interface 23, an output interface 24, a physically unclonable function (PUF) 26, memory 27, and one or more cryptographic accelerators 28. The input interface 23 and output interface 24 may be realized by a network interface.

[0064] The one or more processors 25 are configured to receive, via the input interface 23, from the system 51, instructions to form one or more links in the secure overlay network between one or more node pairs of the plurality of overlay nodes. The one or more node pairs include an overlay node hosted by the system 21 and at least one other overlay node hosted by at least one other underlay node, e.g. system 41.

[0065] The one or more processors 25 are further configured to establish, based on the instructions, at least one secure channel with the at least one other underlay node by using one or more challenge -response pairs associated with a first one or more of the at least one underlay node and / or by providing one or more second challenges to the physically unclonable function 26 to cause the physically unclonable function to determine one or more second responses based on one or more second challenges received from a second one or more of the at least one underlay node. The one or more challenge-response pairs comprise one or more first challenges and one or more corresponding first responses. Once an underlay node has established a secure channel with another underlay node which comprises a PUF, it is clear that the underlay node is connected to the specific underlay node it wanted to connect to and not an adversary with a copy of the shared secret and that this other underlay node has not been tampered with, i.e., an adversary has not performed an invasive attack trying to extract information regarding the PUF.

[0066] The system 41 comprises a processor 45, a receiver 43, a transmitter 44, and a memory 47. The processor 45 is configured to receive, via the receiver 43, from the system 51 , instructions to form one or more links in the secure overlay network between one or more node pairs of the plurality of overlay nodes. The one or more node pairs include an overlay node hosted by the system 41 and at least one other overlay node hosted by at least one other underlay node, e.g. system 21.

[0067] The processor 45 is further configured to establish, based on the instructions, at least one secure channel with the at least one other underlay node by using one or more challenge-response pairs associated with a first one or more of the at least one underlay node. The one or more challenge -response pairs comprise one or more first challenges and one or more corresponding first responses.

[0068] If a pair determined by the system 51 includes an overlay node hosted by the system 21 and an overlay node hosted by the system 41, then the system 21 is part of the first group, as it does not comprise a PUF, and the system 41 is part of the second group. Typically, the system 41 would then be instructed to establish a secure channel with the system 21.

[0069] If a pair determined by the system 51 includes two systems with a PUF, then one of these two systems is part of the first group and the other one is part of the second group. A challenge -response part associated with the system in the second group is used to establish the secure channel. Typically, the system that is part of the first group would then be instructed to establish a secure channel with the system that is part of the second group.

[0070] After the secure overlay network has been made operational, each overlay nodes can typically communicate with any other overlay node. This communication may be transmitted over a higher-level secure channel established between the end nodes. One end node may allow a user to use a service of another end node. For example, a user or remote program of the first end node may run an application on the second end node via the established higher-level secure channel. The second end node may be configured to only execute an application if the certificate (HMAC of the program, and response of the PUF) can be reproduced on the second end node, by using the PUF of the second end node.

[0071] The system 51 may comprise a software defined infrastructure (SDI) controller responsible for the lifecycle of the different nodes that it controls. The SDI controller may run in the network that it governs, or outside of the network, and may include one or more of the following functions in addition to (dynamically) managing the secure overlay network and the secure channels:

[0072] • Commission and decommission cloud nodes

[0073] • Activate and deactivate of network protocols, such as IPv4, IPv6, etc.

[0074] • Manage dynamic addresses of different layer 3 network protocols on nodes.

[0075] • Configure routing protocols on secure channels dynamically.

[0076] • Start and stop new applications or application parts on individual nodes

[0077] • Uploads and removes applications and data from and to devices.

[0078] • Provide an interface for OODA (observe, orient, decide, act) loops to control and alter the network on demand.

[0079] • Integration with application-based KPI control.

[0080] The system 21, the system 41, and similar systems may run the same firmware. The system 21 may be manufactured to run this firmware and the system 41 may run this firmware in a virtual machine. The SDI controller may then manage for each node which software runs on the nodes and may then check if the software is correct and valid. In order to manage the nodes, the SDI controller may require a secure connection to that node, such that all commands and applications that are run on the node are encrypted. In addition, the SDI controller may put a helper application on the node that can interpret commands sent by the SDI controller, and execute them locally on the node, such as starting and stopping an application, configuring networking and collecting application KPIs.

[0081] In Fig. 1, only one system 51 is shown, but the SDI controller may be distributed among the network itself for resiliency reasons. In Fig. 1, the system 51 is separate from the systems 21 and 41, but the SDI controller could in theory be placed anywhere, e.g., also on a node with a PUF, like system 21, or on a node without a PUF, like system 41.

[0082] Typically, the SDI controller dictates and verifies the configuration of the secure channel(s) that each node has. The secure channels form a dynamic overlay network. Typically, only the controller can dictate the secure channels to the node, and no outside traffic is allowed. In addition, the SDI controller typically holds a complete view of the network, and has a separation between data and control plane. Typically, the SDI controller is responsible for configuring protocols on the network and keeping track of node identifiers and addresses that are used on these nodes. This makes it for instance possible that the underlay network uses IPv4 while the overlay network runs an IPv6-only network, complete with addressing and routing protocols. The system 51 might not only comprise the SDI controller, but also one or more applications like a control loop application. These one or more applications may run on device(s) on which the SDI controller runs or on one or more other devices, i.e., one or more devices other than the device(s) on which the SDI controller runs. Alternatively, the system 51 only comprises the SDI controller but cooperates with one or more applications.

[0083] The SDI controller typically collects information from the nodes that allow it to determine the links costs of all possible connections. This information may specify delay, bandwidth, and / or number of hops between nodes, for example. Based on this information, the control loop application determines which node connections need to be actually established, e.g. to achieve n-k connectedness (with minimized link costs). The control loop application then requests the SDI controller to establish these connections. The SDI controller then transmits commands / requests to the nodes that specify which links they should use for the overlay network and the associated link costs.

[0084] The nodes then form these links by establishing secure channels and store these links in their overlay network routing table along with the associated link costs. When a connection needs to be established from a first system hosting a first overlay node to a second system hosting a second overlay node over the overlay network (e.g. a first system wanting to use a service provided by the second system), the nodes can use the stored static routing tables and a routing protocol, e.g., a Dynamic Link-State Routing (DLSR) protocol or Label Switching Protocols, to determine the path from the first system to the second system over the secure overlay network.

[0085] Moreover, monitoring functionality is provided such that applications can be monitored. In combination with the SDI controller, the network can be transformed based on the KPIs that are monitored locally on the system itself. In the secure overlay network, directly connected neighbors are two nodes that are connected by a (lower-level) secure channel.

[0086] DLSR may be replaced by other protocols such as MPLS, distant vector protocol, or something programmable instance of a forwarding protocol. DLSR is typically performed decentralized, but here, the SDI controller has control over the parameters of the DLSR, it can set weights for different links and adjust the routing table, to reflect the global network state.

[0087] The SDI controller typically provides an interface (API) for an application, e.g., a control loop or a monitoring application that checks the state of the network, and possible applications running on the nodes, to determine which connections are needed. Once two nodes are identified that need a connection, the control loop calls the interface of the SDI controller to instantiate a secure channel between two nodes. The SDI controller initiates the secure channel on each node.

[0088] An example application is a control loop that does n-k connectedness, where each overlay node is connected to n other overlay nodes, where n can be 2,3,..,|nodes|-l. The control application may also search for articulating nodes, i.e., for overlay nodes which, when removed from the network, split the entire overlay network in two, and no communication can flow from one partition to the other partition. The control loop finds the articulating node in the overlay network and repairs the overlay network, such that if that node is removed, the overlay nodes can still communicate with each other without the SDI controller first having to reconfigure the overlay network.

[0089] Application-based KPI control may be performed, for example, if multiple parts of an application are distributed amongst multiple nodes. If it desirable to scale up the parts of that application that are a bottleneck, such that better performance is achieved, one KPI might be to look at the processing time in combination with the queue depth to ascertain which part of the application has to be scaled up in order to remove bottlenecks. This may be performed in a continuous fashion.

[0090] As mentioned before, an underlay node may be able to host multiple overlay nodes, e.g., if the underlay node is a cloud server. While adding underlay nodes requires physically connecting the underlay nodes to the network, adding cloud nodes does not. Cloud nodes are typically spun up on demand in a cloud provider. Because the cloud server is already physically connected to the network, adding (virtual) cloud nodes does not require a change in the physical network connection. The SDI controller assures that certain characteristics of the applications that run in a Trusted Execution Environment (TEE) on these cloud nodes are verified with the chip vendor, to gain assurance that the software or virtual machine is not altered before running the application on the device.

[0091] After bootup of the systems, both systems that include a CPUF chip 31, like system 21, and systems that include commodity hardware, like system 41, may be controlled by the SDI controller. The SDI controller is then typically responsible for the Infrastructure Lifecycle Management (ILP). This includes starting, stopping and rebooting nodes in the network, (re)starting and stopping applications on the systems, and sending and sharing data over the network. Each cloud node has its own address in the higher-level address space, similar to a non-cloud node. A cloud server typically does not comprise a CPUF chip 31.

[0092] A first implementation of the methods of managing a secure overlay network and hosting an overlay node of the secure overlay network is shown in Fig. 2. The secure overlay network comprises a plurality of overlay nodes and overlays an underlay network. The underlay network comprises a collection of underlay nodes. The plurality of overlay nodes is hosted on a subset of the collection of underlay nodes. Thus, not all underlay nodes host an overlay node and an underlay node may be able to host multiple overlay nodes, e.g. if the underlay node is a cloud server.

[0093] The underlay network and the secure overlay network may both use internet addressing and routing protocols. The secure overlay network may use the same or different addressing and routing protocols than the underlay network. The underlay network may be the internet, for example. The underlay nodes may comprise systems 21 and 41 of Fig. 1, for example. Steps 101, 103, and 105 may be performed by system 51 of Fig. 1, for example. Steps 111 and 113 may be performed by systems 21 and 41 of Fig. 1, for example.

[0094] Step 101 comprises receiving one or more signals. The one or more signals are indicative of link information relating to links between the collection of underlay nodes in the underlay network. The link information may be received from the underlay nodes themselves or from another system which collects the link information from the underlay nodes. Step 103 comprises determining, based on the link information indicated in the one or more signals received in step 101, a plurality of node pairs of the plurality of overlay nodes which are to form links in the overlay network.

[0095] Step 105 comprises transmitting instructions to the subset of underlay nodes to form the links in the secure overlay network between the plurality of node pairs determined in step 103. The instructions instruct the subset of underlay nodes to establish secure channels between a first group of the subset of underlay nodes (e.g., the first node of the pair) and a second group of the subset of underlay nodes (e.g., the second node of the pair) by using challenge -response pairs associated with the second group of the subset of underlay nodes. The second group of the subset of underlay nodes comprises a physically unclonable function. The instructions may specify weights for the links.

[0096] If an underlay node comprises a physically unclonable function, it may be included in the first group with respect to a first node pair and included in the second group with respect to a second pair. Step 103 may comprise determining the node pairs of the plurality of overlay nodes such that each of the node pairs comprises an overlay node that is hosted on an underlay node of the second group. In this case, there are no links that are not formed by a PUF-based secure channel.

[0097] Alternatively, the overlay network may comprise links that are not formed by a PUF-based secure channel, e.g. by a non-PUF-based secure channel. For a non-PUF-based secure channel, the SDI controller may set the correct cryptographic keys, and both nodes may then use them to set up a non-PUF-based secure channel between them. However, this is less secure. If both overlay nodes of a node pair are hosted on underlay nodes which comprise a physically unclonable function, the challenge-response pair of one of the underlay nodes may be selected. This underlay node is considered to be part of the second group.

[0098] Step 111 comprises receiving instructions to form one or more links in the secure overlay network between one or more of the plurality of node pairs determined in step 103 at a system which performs steps 111 and 113, e.g., systems 21 and 41. The one or more node pairs include an overlay node hosted by the system and at least one other overlay node hosted by at least one other underlay node.

[0099] Step 113 comprises establishing, based on the instructions received in step 111, at least one secure channel with the at least one other underlay node by using one or more challenge-response pairs associated with a first one or more of the at least one underlay node and / or by providing one or more second challenges to a physically unclonable function comprised in the system to cause the physically unclonable function to determine one or more second responses based on one or more second challenges. The one or more challengeresponse pairs comprise one or more first challenges and one or more corresponding first responses. The one or more second challenges are received from a second one or more of the at least one underlay node.

[0100] Thus, at least one secure channel is established between the system and the at least one other underlay node in step 113. Optionally, the one or more node pairs comprise one or more additional overlay nodes hosted by one or more additional underlay nodes and no CPUF-based secure channel is established between the system and these one or more additional underlay nodes. In this case, there are links that are not formed by a CPUF-based secure channel. However, the secure overlay network is most secure if the one or more node pairs include only the overlay node hosted by the system and the at least one other overlay node hosted by the at least one other underlay node.

[0101] A second implementation of the methods of managing a secure overlay network and hosting an overlay node of the secure overlay network is shown in Fig. 3. The implementation of Fig. 3 is an extension of the implementation of Fig. 2. The method of Fig. 3 may be performed by the system 21 of Fig. 1, for example. In the implementation of Fig. 3, step 113 is implemented by steps 131 and 133. Step 131 comprises using the one or more challenge-response pairs associated with the first one or more of the at least one underlay node.

[0102] Step 131 is implemented by steps 141, 143, and 145. Step 141 comprises transmitting the one or more first challenges, e.g. received in step 111, to the first one or more of the at least one underlay node. Step 143 comprises generating one or more first shared secrets based on the one or more first responses, e.g. received in step 111. Step 145 comprises providing the one or more secure channels to the first one or more of the at least one underlay node by encrypting communication to be transmitted to the first one or more of the at least one underlay node with the one or more first shared secrets generated in step 143 and / or decrypting communication received from the first one or more of the at least one underlay node with the one or more first shared secrets generated in step 143.

[0103] Step 133 is implemented by steps 151, 153, 155, and 157. Step 151 comprises receiving, from one or more other underlay nodes, one or more requests to establish one or more secure channels. These one or more requests comprise the one or more second challenges and may further comprise helper data. The helper data allows a reproduce function to reconstruct original output of a PUF from the new noisy output data of the PUF. The helper data is generated based on the original noisy output data of the PUF when the original output is generated. These one or more requests may be transmitted by these one or more other underlay nodes when they are performing step 141 themselves.

[0104] Step 153 comprises providing the one or more second challenges received in step 151 to the physically unclonable function comprised in the system to cause the physically unclonable function to determine the one or more second responses based on the one or more second challenges.

[0105] Step 155 comprises generating one or more second shared secrets based on the one or more second responses determined by the physically unclonable function in step 153 and optionally the helper data received in step 151. Step 155 may comprise producing one or more keys based on these one or more second responses and optionally the helper data, determining one or more inputs for a hash function based on the produced one or more keys, and generating the one or more second shared secrets by applying the hash function to the determined one or more inputs. Each input may consist of only the key. By using a hash function, machine language attacks to the PUF may be prevented.

[0106] Step 157 comprises providing the one or more secure channels to the second one or more of the at least one underlay node by encrypting communication to be transmitted to the second one or more of the at least one underlay node with the one or more second shared secrets generated in step 155 and / or decrypting communication received from the second one or more of the at least one underlay node with the one or more second shared secrets generated in step 155. This process of setting up a secure channel is also described in the paper “Flowchart description of security primitives for controlled physical unclonable functions” in relation to figure 3 of this paper.

[0107] Fig. 4 illustrates steps 151, 153, 155, and 157 of Fig. 5. The system comprises CPUF chip 31. The CPUF chip 31 comprises a PUF 73, a reproduce (“Rep”) function 74 of a regeneration function, a cryptographic hash function 75, and a secure channel (SC) handler 76. The functions 74 and 75 and the handler 76 may be performed by one or more processors.

[0108] A request to establish a secure channel (which is received in step 151 of Fig.

[0109] 3) comprises a challenge cl and helper data wl. The challenge cl is provided to the PUF 73 to cause the PUF 73 to determine a response rl based on the challenge cl (in step 153 of Fig. 3). Then, the reproduce function 74 produces a key k based on the response rl and the helper data wl (in step 155 of Fig. 3). Next, a shared secret R is generated by applying cryptographic hash function 75 to the key k (also in step 155). The shared secret R is used by the SC handler 36 to handle the secure communication channel with the other underlay node (in step 157 of Fig. 3).

[0110] A third implementation of the methods of managing a secure overlay network and hosting an overlay node of the secure overlay network is shown in Fig. 5. The implementation of Fig. 5 is a variation on the implementation of Fig. 3. The method of Fig. 5 may be performed by the system 41 of Fig. 1, for example. In the implementation of Fig. 3, step 113 is implemented by step 131 of Fig. 3 but not by step 133 of Fig. 3, e.g. because the system which performs the method of Fig. 5 does comprise a PUF.

[0111] A fourth implementation of the methods of managing a secure overlay network and hosting an overlay node of the secure overlay network is shown in Fig. 6. The method of Fig. 6 may be performed by the systems 21 and 41 of Fig. 1, for example. The implementation of Fig. 6 is an extension of the implementation of Fig. 2. Steps 161, 163, and 165 are performed after step 113 of Fig. 2. Step 161 comprises receiving data from a first overlay node included in the one or more node pairs. The first overlay node is different from the system which performs the method.

[0112] Step 163 comprises selecting a second overlay node included in the one or more node pairs. The second overlay node is different from the first overlay node and the system which performs the method. There may be multiple overlay nodes to select the second overlay node from. If the overlay network comprises links that are not formed by a secure channel, it is most secure if the data is received from the first overlay node over a secure channel and transmitted to the second overlay node over a CPUF -based secure channel.

[0113] The originating node may even be able to specify that the data may only be transmitted over a CPUF-based secure channel. In this case, step 163 may comprise selecting an overlay node with which a CPUF-based secure channel can be established. The system which performs steps 101, 103, and 105 of Fig. 2 may take this into account when determining node pairs in step 103. Step 165 comprises transmitting the data received in step 161 to the second overlay node.

[0114] A fifth implementation of the methods of managing a secure overlay network and hosting an overlay node of the secure overlay network is shown in Fig. 7. The implementation of Fig. 7 is an extension of the implementation of Fig. 2. Steps 101, 103, 105, 171, 173, and 175 may be performed by system 51 of Fig. 1 , for example. Steps 111, 113, 181, and 183 may be performed by systems 21 and 41 of Fig. 1, for example.

[0115] Step 171 comprises receiving at least one further signal when the secure overlay network is operational. The at least one further signal is indicative of updated link information relating to at least one of the links in the underlay network. Step 173 comprises determining, based on the updated link information, a change to the plurality of node pairs. The change involves at least two of the plurality of overlay nodes.

[0116] Step 175 comprises transmitting further instructions to at least two of the subset of underlay nodes to modify at least one of their links in the secure overlay network. The at least two underlay nodes host the at least two overlay nodes. Steps 171, 173, and 175 may be repeated one or more times.

[0117] Step 181 comprises receiving the further instructions. Step 183 comprises terminating secure channels which are no longer needed and establishing new secure channels which are needed. The further instructions received in step 181 may comprise, for example, a new challenge-response pair of another underlay node with which the system did not establish a secure channel before and step 183 may comprise, for example, establishing a new secure channel with this other underlay node in the manner described in relation to step 113 of Fig. 3. Steps 181 and 183 may be repeated one or more times.

[0118] Fig. 8 shows an example of an underlay network comprising implementations of the systems of Fig. 1. The underlay network comprises a backbone network 63 with routers 201, 202, 203, 204, 205, and 206. The underlay network further comprises routers 207, 208, 209, 210, 211,212, 213, and 214, controller 241, a first set of systems 221, 222, and 223, a second set of systems 231, 232, and 233, and a third set of systems 251, 252, 253, 254, 255, 256, 257, 258, and 259. The systems of the first and second sets are hosting overlay nodes, i.e., are participating in the realization of the overlay network.

[0119] Each system of the first set comprises a PUF, e.g. like system 21 of Fig. 1. None of the systems of the second set comprises a PUF, e.g. like system 41 of Fig. 1. The systems of the third set are not hosting overlay nodes, i.e., are not participating in the realization of the overlay network. The controller 241 may be similar to system 41 of Fig. 1. Systems 231 and 222 are connected to two routers, e.g. one router in a local area network and one router in a mobile communication network. Systems 223 and 232 are connected to each other, e.g. wirelessly. In the example of Fig. 8, the routers do not host overlay nodes, but in another example, one or more of the routers do.

[0120] Fig. 9 shows an example of a path in the underlay network of Fig. 8 between two overlay nodes hosted on underlay nodes 221 and 233. These overlay nodes may form a node pair and a secure channel may therefore be established between underlay nodes 221 and 233. The path comprises routers 208, 203, 201, 202, 206, and 214. If the cable between routers 208 and 203 fails (or if router 203 or router 208 fails) and the overlay node hosted by underlay node 221 is only linked to the overlay node hosted by underlay node 233, then these overlay nodes are not able to communicate with each other. In this case, the controller 241 may receive updated link information in step 171 of Fig. 7 and determine a change to the node pairs in step 173 of Fig. 7.

[0121] Fig. 10 shows an example of an alternative path between the two overlay nodes of Fig. 9, i.e., hosted on underlay nodes 221 and 233, after the node pairs have been changed. The alternative path comprises router 208, system 231, and routers 209, 204, 201, 202, 206, and 214. For example, the overlay nodes hosted on underlay nodes 221 and 231 may form a new node pair and the overlay nodes hosted on underlay nodes 231 and 233 may form another new node pair.

[0122] While the example of Fig. 10 is a relatively static and simple example, the SDI controller and firmware executed on the nodes may be able to handle far more sophisticated scenarios. In combination with continuous monitoring, the SDI controller may be supplied with information, and may take action based on events that happen in both the underlay and overlay network as well as every node that is governed.

[0123] Moreover, preventive measures may be taken e.g., by ensuring that each overlay node is linked to at least two other overlay nodes. Fig. 11 shows an example of a secure overlay network which comprises the six overlay nodes of Fig. 8 hosted on the six underlay nodes 221, 222, 223, 231, 232, and 233. Each of the six overlay nodes is linked to two other overlay nodes, which may allow data to be transmitted via an alternative path without establishing new secure channels. If the cable between routers 208 and 203 fails (or if router 203 or router 208 fails), the cost of the link between overlay nodes 221 and 233 may be increased such that data is transmitted via node 231 instead of via node 233.

[0124] The secure overlay network of Fig. 11 may be referred to as a mesh overlay network, although the secure overlay network is not decentralized as mesh networks typically are. The advantage of a mesh overlay network is that traffic can easily be rerouted in case of transmission delays and failures. The advantage of using a CPUF-based mesh overlay network (in which direct neighbors of the mesh network are connected via secure channels) compared to a conventional mesh overlay network is that a higher level of security is obtained, because every used route in the overlay network only involves authorized nodes (unauthorized nodes are not able to determine the shared key used for encrypting and decrypting communications). There is therefore no risk that nodes that encrypt and / or decrypt communications are unauthorized.

[0125] While the underlay network may also be able to adapt to failures in cables and routers, the overlay network can normally adapt quicker. An overlay node may be connected to more than two other overlay nodes for a higher resilience. Fig. 12 shows an example of a secure overlay network with 50 overlay nodes in which each overlay node is connected to three other overlay nodes. However, different links between different pairs of overlay nodes may involve the same underlay node. The node pairs and the costs of the links may be determined such that a node failure or cable failure isolates as few overlay nodes as possible. If a node failure or cable failure isolates one or more overlay nodes, the node pairs and the costs may be changed if this causes one or more isolated overlay nodes to reconnect to the other part of the overlay network.

[0126] Fig. 13 depicts a block diagram illustrating an exemplary data processing system that may perform the method as described with reference to the flow charts.

[0127] As shown in Fig. 13, the data processing system 1300 may include at least one processor 1302 coupled to memory elements 1304 through a system bus 1306. As such, the data processing system may store program code within memory elements 1304. Further, the processor 1302 may execute the program code accessed from the memory elements 1304 via a system bus 1306. In one aspect, the data processing system may be implemented as a computer that is suitable for storing and / or executing program code. It should be appreciated, however, that the data processing system 1300 may be implemented in the form of any system including a processor and a memory that is capable of performing the functions described within this specification. The data processing system may be an Internet / cloud server, for example.

[0128] The memory elements 1304 may include one or more physical memory devices such as, for example, local memory 1308 and one or more bulk storage devices 1310. The local memory may refer to random access memory or other non-persistent memory device(s) generally used during actual execution of the program code. A bulk storage device may be implemented as a hard drive or other persistent data storage device. The processing system 1300 may also include one or more cache memories (not shown) that provide temporary storage of at least some program code in order to reduce the quantity of times program code must be retrieved from the bulk storage device 1310 during execution. The processing system 1300 may also be able to use memory elements of another processing system, e.g. if the processing system 1300 is part of a cloud-computing platform. Input / output (I / O) devices depicted as an input device 1312 and an output device 1314 optionally can be coupled to the data processing system. Examples of input devices may include, but are not limited to, a keyboard, a pointing device such as a mouse, a microphone (e.g. for voice and / or speech recognition), or the like. Examples of output devices may include, but are not limited to, a monitor or a display, speakers, or the like. Input and / or output devices may be coupled to the data processing system either directly or through intervening I / O controllers.

[0129] The input and the output devices may be implemented as a combined input / output device (illustrated in Fig. 13 with a dashed line surrounding the input device 1312 and the output device 1314). An example of such a combined device is a touch sensitive display, also sometimes referred to as a “touch screen display” or simply “touch screen”. In such an implementation, input to the device may be provided by a movement of a physical object, such as e.g. a stylus or a finger of a user, on or near the touch screen display.

[0130] A network adapter 1316 may also be coupled to the data processing system to enable it to become coupled to other systems, computer systems, remote network devices, and / or remote storage devices through intervening private or public networks. The network adapter may comprise a data receiver for receiving data that is transmitted by the systems, devices and / or networks to the data processing system 1300, and a data transmitter for transmitting data from the data processing system 1300 to the systems, devices and / or networks. Modems, cable modems, and Ethernet cards are examples of different types of network adapter that may be used with the data processing system 1300.

[0131] As pictured in Fig. 13, the memory elements 1304 may store an application 1318. The application 1318 may be stored in the local memory 1308, the one or more bulk storage devices 1310, or separate from the local memory and the bulk storage devices. It should be appreciated that the system 1300 may further execute an operating system (not shown in Fig. 13) that can facilitate execution of the application 1318. The application 1318, being implemented in the form of executable program code, can be executed by the data processing system 1300, e.g., by the processor 1302. Responsive to executing the application, the data processing system 1300 may be configured to perform one or more operations or method steps described herein.

[0132] Various embodiments of the invention may be implemented as a program product for use with a computer system, where the program(s) of the program product define functions of the embodiments (including the methods described herein). In one embodiment, the program(s) can be contained on a variety of non-transitory computer-readable storage media, where, as used herein, the expression “non-transitory computer readable storage media” comprises all computer -readable media, with the sole exception being a transitory, propagating signal. In another embodiment, the program(s) can be contained on a variety of transitory computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, ROM chips or any type of solid-state non-volatile semiconductor memory) on which information is permanently stored; and (ii) writable storage media (e.g., flash memory, floppy disks within a diskette drive or hard-disk drive or any type of solid-state random-access semiconductor memory) on which alterable information is stored. The computer program may be run on the processor described herein.

[0133] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0134] The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of embodiments of the present invention has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the implementations in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the present invention. The embodiments were chosen and described in order to best explain the principles and some practical applications of the present invention, and to enable others of ordinary skill in the art to understand the present invention for various embodiments with various modifications as are suited to the particular use contemplated.

Claims

CLAIMS:

1. A system (51,241) for managing a secure overlay network, the secure overlay network comprising a plurality of overlay nodes, the secure overlay network overlaying an underlay network, the underlay network comprising a collection of underlay nodes, (201-215,221-223.231-233,251-259) the plurality of overlay nodes being hosted on a subset (221-223,231- 233) of the collection of underlay nodes, the system (51,241) comprising at least one input interface (53), at least one output interface (54), and at least one processor (55) configured to receive one or more signals via the at least one input interface (53), the one or more signals being indicative of link information relating to links between the collection of underlay nodes (201-215,221-223,231-233,251- 259) in the underlay network, determine, based on the link information, a plurality of node pairs of the plurality of overlay nodes which are to form links in the overlay network, and transmit, via the at least one output interface (54), instructions to the subset of underlay nodes (221-223,231-233) to form the links in the secure overlay network between the plurality of node pairs, the instructions instructing the subset of underlay nodes (221-223.231-233) to establish secure channels between a first group of the subset of underlay nodes (221-223,231-233) and a second group of the subset of underlay nodes (221-223,231- 233) by using challenge-response pairs associated with the second group of the subset of underlay nodes (221-223,231-233), the second group of the subset of underlay nodes (221-223,231-233) comprising a physically unclonable function (26).

2. A system (51,241) as claimed in claim 1, wherein the at least one processor (55) is configured to determine the node pairs of the plurality of overlay nodes such that each of the node pairs comprises an overlay node that is hosted on an underlay node of the second group.

3. A system (51,241) as claimed in claim 1 or 2, wherein the at least one processor (55) is configured to receive, via the at least one input interface (53), at least one further signal when the secure overlay network is operational, the at least one further signal beingindicative of updated link information relating to at least one of the links in the underlay network, determine, based on the updated link information, a change to the plurality of node pairs, the change involving at least two of the plurality of overlay nodes, and transmit, via the at least one output interface (54), further instructions to at least two of the subset of underlay nodes (221-223,231-233) to modify at least one of their links in the secure overlay network, the at least two underlay nodes hosting the at least two overlay nodes.

4. A system (51,241) as claimed in any one of claims 1-3, wherein the underlay network is the internet and / or the instructions specify weights for the links.

5. A system (21,41,221-223,231-233) for hosting an overlay node of a secure overlay network, the secure overlay network comprising a plurality of overlay nodes, the secure overlay network overlaying an underlay network, the underlay network comprising a collection of underlay nodes (201-215,221-223,231-233,251-259), the plurality of overlay nodes being hosted on a subset (221-223,231-233) of the collection of underlay nodes, the system (21,41,221-223,231-233) comprising at least one input interface (23,43), and at least one processor (25,45) configured to receive, via the at least one input interface (23,43), from a further system (51), instructions to form one or more links in the secure overlay network between one or more node pairs of the plurality of overlay nodes, the one or more node pairs including an overlay node hosted by the system (21,41,221-223,231- 233) and at least one other overlay node hosted by at least one other underlay node, and establish, based on the instructions, at least one secure channel with the at least one other underlay node by providing one or more second challenges to a physically unclonable function (26) comprised in the system (21,221-223) to cause the physically unclonable function (26) to determine one or more second responses based on one or more second challenges, the one or more second challenges being received from a second one or more of the at least one underlay node.

6. A system (21,41,221-223,231-233) as claimed in claim 5, wherein the one or more node pairs include only the overlay node hosted by the system and the at least one other overlay node hosted by the at least one other underlay node.

7. A system (21,41,221-223,231-233) as claimed in claim 5 or 6, wherein the at least one processor (25,45) is configured to receive data from a first overlay node included in the one or more node pairs, the first overlay node being different from the system, select a second overlay node included in the one or more node pairs, the second overlay node being different from the first overlay node and the system, and transmit the data to the second overlay node.

8. A system (21,41,221-223,231-233) as claimed in claim 7, wherein the first overlay node is included in the at least one overlay node and the at least one processor (25,45) is configured to select the second overlay node such that the second overlay node is also included in the at least one overlay node.

9. A system (21,41,221-223,231-233) as claimed in any one of claims 5-8, wherein and the at least one processor (25,45) is configured to use the one or more challenge-response pairs associated with the first one or more of the at least one underlay node by transmitting the one or more first challenges to the first one or more of the at least one underlay node, generating one or more first shared secrets based on the one or more first responses, and providing the one or more secure channels to the first one or more of the at least one underlay node by encrypting communication to be transmitted to the first one or more of the at least one underlay node with the one or more first shared secrets and / or decrypting communication received from the first one or more of the at least one underlay node with the one or more first shared secrets.

10. A system (21,41,221-223,231-233) as claimed in any one of claims 5-9, wherein the at least one processor (25,45) is configured to generate one or more second shared secrets based on the one or more second responses determined by the physically unclonable function (26) and provide the one or more secure channels to the second one or more of the at least one underlay node by encrypting communication to be transmitted to the second one or more of the at least one underlay node with the one or more second shared secrets and / or decrypting communication received from the second one or more of the at least one underlay node with the one or more second shared secrets.

11. A system (21,41,221-223,231-233) as claimed in any one of claims 5-10, wherein the underlay network and the secure overlay network both use internet addressing and routing protocols.

12. A system (21,41,221-223,231-233) as claimed in any one of claims 5-11, wherein the secure overlay network uses different addressing and routing protocols than the underlay network.

13. A method of managing a secure overlay network, the secure overlay network comprising a plurality of overlay nodes, the secure overlay network overlaying an underlay network, the underlay network comprising a collection of underlay nodes, the plurality of overlay nodes being hosted on a subset of the collection of underlay nodes, the method comprising receiving (101) one or more signals, the one or more signals being indicative of link information relating to links between the collection of underlay nodes in the underlay network, determining (103), based on the link information, a plurality of node pairs of the plurality of overlay nodes which are to form links in the overlay network, and transmitting (105) instructions to the subset of underlay nodes to form the links in the secure overlay network between the plurality of node pairs, the instructions instructing the subset of underlay nodes to establish secure channels between a first group of the subset of underlay nodes and a second group of the subset of underlay nodes by using challenge-response pairs associated with the second group of the subset of underlay nodes, the second group of the subset of underlay nodes comprising a physically unclonable function.

14. A method of hosting an overlay node of a secure overlay network at a system, the secure overlay network comprising a plurality of overlay nodes, the secure overlay network overlaying an underlay network, the underlay network comprising a collection of underlay nodes, the plurality of overlay nodes being hosted on a subset of the collection of underlay nodes, the method comprising receiving (111) from a further system, instructions to form one or more links in the secure overlay network between one or more node pairs of the plurality of overlay nodes, the one or more node pairs including an overlay node hosted by the system and at least one other overlay node hosted by at least one other underlay node, and establishing (113), based on the instructions, at least one secure channel with the at least one other underlay node by providing one or more second challenges to a physically unclonable function comprised in the system to cause the physically unclonable function to determine one or more second responses based on one or more secondchallenges, the one or more second challenges being received from a second one or more of the at least one underlay node.

15. A computer program or suite of computer programs comprising at least one software code portion or a computer program product storing at least one software code portion, the software code portion, when run on a computer system, being configured for performing the method of claim 13 or 14.

Citation Information

Patent Citations

  • On-demand overlay routing for computer-based communication networks

    US6275470B1

  • Security mapping method and device for edge computing virtual network and terminal equipment

    CN117692335A

  • Network without Abuse of a Private Key

    US20180076957A1

  • Liveness detection and route convergence in software-defined networking distributed system

    US20210385149A1