Endpoint devices of a network may communicate via nodes (e.g., network devices, such as routers, gateways, switches, hubs, etc.) included in the network. For example, a first endpoint device may transmit data to a node, and the node may use routing information to identify one or more other nodes to carry the data to a second endpoint device. In some cases, endpoint devices may be associated with different networks and/or different node groups. In such cases, the routing information corresponding to two endpoint devices may identify a path, along nodes of two or more different node groups, on which the data is to be carried.
According to some possible implementations, a network node may include one or more processors. The one or more processors may receive a message that is associated with one or more signatures. The one or more signatures may have been validated by a particular node. The one or more processors may determine that the particular node is a trusted node. The network node may be configured not to validate signatures that have been validated by a trusted node. The one or more processors may determine that the one or more signatures have been validated by the particular node. The one or more processors may sign or provide the message, without validating the one or more signatures, based on determining that the one or more signatures have been validated by the particular node.
According to some possible implementations, a non-transitory computer-readable medium may store one or more instructions that, when executed by one or more processors of a network node, may cause the one or more processors to receive a message that is associated with one or more first signatures and one or more second signatures. The one or more first signatures may be validated by a particular node. The one or more instructions, when executed by one or more processors of the network node, may cause the one or more processors to determine that the particular node is a trusted node. The network node may be configured not to validate signatures that are validated by a trusted node. The one or more instructions, when executed by one or more processors of a network node, may cause the one or more processors to determine that the one or more first signatures have been validated by the particular node and that the one or more second signatures have not been validated by the particular node. The one or more instructions, when executed by one or more processors of the network node, may cause the one or more processors to validate the one or more second signatures and not the one or more first signatures based on determining that the one or more first signatures have been validated by the particular node and that the one or more second signatures have not been validated by the particular node. The one or more instructions, when executed by one or more processors of a network node, may cause the one or more processors to sign or provide the message based on validating the one or more second signatures.
According to some possible implementations, a method may include receiving, by a network node, a route update message that is associated with one or more signatures corresponding to routing information. The one or more signatures may be validated by a particular node to validate the routing information. The method may include determining, by the network node, that the particular node is a trusted node. The network node may be configured not to validate signatures that have been validated by a trusted node. The method may include determining, by the network node, that the one or more signatures correspond to the routing information that the particular node has validated based on validating the one or more signatures. The method may include signing or providing, by the network node, the route update message without validating the one or more signatures.
The following detailed description of example implementations refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
Groups of network nodes (hereinafter referred to as node groups) may carry network traffic between endpoint devices of a network. As described herein, a node group is a collection of network nodes that may be administrated by a single network provider based on a particular protocol (e.g., an interior or exterior gateway protocol) and that may be associated with internal routing or switching rules. A node of a first node group may receive network traffic en route to a node of a second node group, and may identify a route of nodes to carry the network traffic to the second node group based on a routing table and/or a forwarding table. The nodes on the route may be part of the first node group, the second node group, or one or more intermediate node groups.
To advertise or update a route between node groups, a node may transmit a route update message. The route update message may include a network address identifying one or more nodes, such as a prefix, or the like. A prefix is a network address (e.g., an IPv4 network address, an IPv6 network address, etc.) and a bit mask, a mask length, or the like, that identifies one or more nodes, node groups, or devices. A prefix is sometimes used to route or forward network traffic to a set of devices associated with the prefix.
When a node group receives the route update message, the node group may add, to the route update message, information identifying the node group. In some cases, the node group may update a routing table based on the route update message. The node group may transmit the route update message to other downstream node groups, which may perform similar operations. In this way, routing tables of the node groups may be updated based on connections between node groups. One example of a protocol to perform this routing table update process is the border gateway protocol (BGP).
However, when security processes are not implemented, route update messages may be easy to modify or forge. For example, based on a man-in-the-middle attack, or the like, an entity may generate or modify a route update message to cause network traffic to be routed to a malicious device, to be blocked, or the like.
To improve security of the routing table update process, the node groups may implement a security process that permits the node groups to validate or authenticate a route update message based on a source of the route update message. One such security process may include BGP Security (BGPsec). When using BGPsec, each node group that receives and forwards a route update message may digitally sign the route update message using a corresponding private key. The set of signatures attached to a route update message may be referred to herein as a “signature chain.” When a downstream node group receives the message, the recipient node group may validate each signature of the signature chain using a public key associated with the corresponding private key to determine whether the path of the route update message is authentic. The downstream node group may add a signature to the signature chain, and may transmit the route update message, as an upstream node group, to one or more other downstream node groups. Thus, security of the routing table update process is improved.
However, validation of every link of the signature chain by every node group may be processor-intensive. This may reduce or eliminate adoption of such a security process, thus reducing network security. Further, the processing load associated with such a process may be significant for nodes and node groups at the edge of a network, such as the Internet, based on the nodes and node groups at the edge of the network receiving route update messages that identify routes with longer paths and, therefore, more signatures than other nodes and node groups at the core of the network.
Implementations described herein permit selective validation of signatures of a signature chain based on whether a trusted device (e.g., a trusted node or a trusted node group) has previously validated part of, or all of, the signature chain. Thus, processor resources are conserved that would otherwise be used to validate every signature of the signature chain in every case.
Furthermore, implementations described herein may permit selective signing of a route update message based on whether a downstream recipient of the route update message is permitted to receive a route update message with a valid signature chain. Thus, a provider of the route update message may provide a route update message that the downstream recipient is capable of successfully validating (e.g., based on one or more security processes between the provider and the downstream recipient), and that the downstream recipient is not capable of providing to a further downstream node group with a verifiable signature chain. For example, the provider may want to provide the ability to transmit a valid signature chain as a service, thereby preventing the downstream recipient from providing secured routing information without authorization or subscription to the service. Thus, network congestion may be reduced by preventing unauthorized node groups from advertising verifiable routing information. Further, network security may be improved by exerting control over which node groups are permitted to access the signature chain service (e.g., by preventing suspected malicious parties from receiving a valid signature chain, etc.). Still further, processor resources are conserved that would otherwise be used to sign the route update message.
As shown in
As shown by reference number 104, the route update message may include a first signature that is generated by node group 1. The first signature may correspond to a first “hop” of a route corresponding to the route update message, and may be generated by an edge node of node group 1 that transmitted the message, across a node group boundary of node group 1, to node group 2. For example, node group 1 may generate the route update message, and may sign the route update message or attach the first signature to the route update message. As further shown, the route update message may include a network address or prefix identifying node group 1 (e.g., NG 1 route update).
As shown by reference number 106, node group 2 may validate each signature associated with the route update message (e.g., the first signature). Assume that node group 2 determines that the first signature is valid. As further shown, based on determining that the first signature is valid, node group 2 may sign the route update message. In some implementations, node group 2 may add, to a routing table, information that identifies the route from node group 2 to node group 1 (e.g., based on the network address or prefix of node group 1).
As shown by reference number 108, node group 2, as an upstream node group, may provide the route update message to node group 3 as a downstream node group. As further shown, the route update message may include the first signature corresponding to the route between node group 1 and node group 2, and a second signature corresponding to the route between node group 2 and node group 3. As shown by reference number 110, node group 3 may validate the first signature and the second signature, and may add a third signature to the route update message when validation of the first signature and the second signature is successful. In some implementations, node group 3 may add information to a routing table of node group 3 identifying the route to node group 1.
As shown by reference number 112, node group 3, as an upstream node group, may provide the route update message to node group 4 as a downstream node group, and node group 4 may perform operations similar to those performed by node groups 2 and 3. In this way, node groups 1 through 4 perform a security process (e.g., BGPsec, etc.) to improve security of the route update message. However, as the quantity of node groups in the path of a route update message increases, processor usage when validating signatures of the node groups may increase.
As shown by reference number 120, node group 6 may receive a second route update message. Assume that node group 6 receives the second route update message after the first route update message. As shown by reference number 122, the second route update message may include a signature chain of signatures generated by node groups 1, 2, 3, and 5, based on the second route update message being validated and/or transmitted by node groups 1, 2, 3, and 5. As further shown, the second route update message may identify node group 1 (e.g., based on the network address or prefix, and based on the second route update message originating from node group 1).
As shown by reference number 124, node group 6 may determine that a portion of the signature chain has previously been validated (e.g., NG 1-NG 2 and NG 2-NG 3). For example, based on the first route update message and the second route update message being associated with the network address or prefix that identifies node group 1, and based on the signatures of NG 1-NG 2 (e.g., the origin node group) and NG 2-NG 3 being included in the first route update message and the second route update message, node group 6 may determine that node group 6 has previously validated the signatures of NG 1-NG 2 and NG 2-NG 3.
As shown by reference number 126, based on the signatures of NG 1-NG 2 and NG 2-NG 3 having previously been validated and based on the first route update message and the second route update message originating from node group 1, node group 6 may not re-validate the signatures of NG 1-NG 2 and NG 2-NG 3. Thus, node group 6 conserves processor resources that otherwise would have been used to re-validate the signatures of NG 1-NG 2 and NG 2-NG 3.
As shown by reference number 130, node 1 may successfully validate the signature chain. As shown by reference number 132, based on successfully validating the signature chain, node 1 may provide, to node 2 of node group 6, information indicating that the signature chain of the first route update message is valid. Here, node 1 is a trusted node of node 2 based on node 1 and node 2 being associated with the same node group. For example, an administrator of node group 6 may be capable of ensuring the security of internal communication such that nodes, of node group 6, can trust communications with other nodes of node group 6. Therefore, when node 2 receives a signature chain that is associated with a particular prefix and a particular origin node group, and when node 1 has previously validated one or more adjacent signatures of another signature chain that originates from the particular origin node group and includes the particular prefix, node 2 may not validate the one or more signatures. Thus, processor resources of node 2 are conserved.
As shown by reference number 134, node 2 may receive a second route update message from node group 5. Assume that the second route update message originates from the same origin node group as the first route update message, and assume that the second route update message is associated with the same prefix as the first route update message. As shown, the second route update message includes a signature chain with signatures of NG 1-NG 2, NG 2-NG 3, NG 3-NG 5, and NG 5-NG 6. As shown by reference number 136, node 2 may determine, based on the signature chain of the first route update message being valid, that the signatures of NG 1-NG 2 and NG 2-NG 3 need not be re-validated. Accordingly, node 2 may not re-validate the signatures of NG 1-NG 2 and NG 2-NG 3, thereby conserving processor resources of node 2.
As shown by reference number 140, node group 5 may determine that node group 3 is a trusted node group. Therefore, node group 5 may validate only the signatures, of the signature chain received from node group 4, that have not previously been validated by node group 3 (e.g., NG 3-NG 4 and NG 4-NG 5). In some implementations, node group 3 may provide information, to node group 5, that identifies portions of the signature chain that node group 3 has successfully validated. For example, node group 3 may provide flags, particular bits, or the like, corresponding to portions of the signature chain that node group 3 has successfully validated. As another example, node group 3 may drop all unverifiable signature chains (and corresponding route update messages), and node group 5 may trust node group 3 based on node group 3 dropping all unverifiable signature chains.
In this way, node group 5 conserves processor resources that would otherwise have been used to re-validate each signature in the signature chain.
As shown, node group 2 may receive a route update message en route to node group 3 from node group 1. As shown by reference number 148, node group 2 may determine whether node group 3 is permitted to receive valid signature chains based on a subscription status of a customer (e.g., an entity associated with node group 3). When node group 2 determines that node group 3 is permitted to receive valid signature chains, node group 2 may sign the route update message, and may provide the route update message to node group 3. As shown, node group 2 may determine that node group 3 is not permitted to receive valid signature chains. For example, the customer associated with node group 3 may not be subscribed to a service to receive valid signature chains, may be associated with a malicious entity that is not to receive valid signature chains, or the like.
As shown by reference number 150, based on node group 3 not being permitted to receive valid signature chains, node group 2 provides the route update message without signing the route update message. As shown by reference number 152, when node group 3 signs and provides the route update message to node group 4, node group 4 may fail to validate the route update message. In some implementations, node group 3 may fail to validate the route update message, and may therefore not provide the route update message. In some implementations, node group 3 may provide an unsigned route update message (e.g., based on receiving the unsigned route update message on a secure session, and therefore not validating the signature associated with node group 2).
In some implementations, node group 3 may not validate the route update message. For example, in some cases, node group 3 may receive the route update message via a secure session with node group 2, thus ensuring that the route update message is not compromised between node group 2 and node group 3. In such a case, node group 3 may not validate the route update message, or may validate a signature other than the signature associated with node group 2. For example, node group 3 may not validate the route update message based on receiving the route update message via a secure session. Thus, node group 3 conserves processor resources and successfully validates the signature chain despite the signature chain not including a signature corresponding to node group 2.
In this way, node group 2 prevents node group 3 from advertising routing information with a valid signature chain and conserves processor resources that would otherwise be used to sign the route update message. Further, by preventing node group 3 from advertising routing information with a valid signature chain, node group 2 may reduce network congestion based on network traffic being routed to node group 2 due to the route update message.
As indicated above,
Node 210 includes one or more network devices (e.g., one or more traffic transfer devices) capable of processing and/or transferring traffic between endpoint devices. For example, node 210 may include a firewall, a router, a gateway, a switch, a hub, a bridge, a reverse proxy, a server (e.g., a proxy server), a security device, an intrusion detection device, a load balancer, or a similar device.
Node group 220 includes one or more nodes 210 (e.g., one or more edge nodes 210 that facilitate communication between different node groups 220 and/or one or more core nodes 210 that facilitate communication between nodes 210 of a particular node group 220). In some implementations, node group 220 may be administered or managed by a particular entity (e.g., a service provider). In some implementations, node group 220 may be associated with one or more internal gateway protocols that specify rules for routing network traffic within node group 220. In some implementations, node group 220 may be associated with one or more external gateway protocols that specify rules for routing network traffic between different node groups 220 (e.g., a border gateway protocol, etc.). In some implementations, node group 220 may include an autonomous system (AS).
Network 230 includes one or more wired and/or wireless networks. For example, network 230 may include a cellular network (e.g., a long-term evolution (LTE) network, a 3G network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, a cloud computing network, or the like, and/or a combination of these or other types of networks. In some implementations, network 230 may include one or more node groups 220.
The number and arrangement of devices and networks shown in
Input component 305 includes a point of attachment for a physical link connected to device 300, and may be a point of entry for incoming traffic (e.g., packets) received by device 300. Input component 305 may process incoming traffic, such as by performing data link layer encapsulation or decapsulation. In some implementations, input component 305 may send and/or receive packets. In some implementations, input component 305 may include an input line card that includes one or more packet processing components (e.g., in the form of integrated circuits), such as one or more interface cards (IFCs), packet forwarding components, line card controller components, input ports, processors, memories, and/or input queues.
Switching component 310 interconnects input components 305 and output components 315. In some implementations, switching component 310 may be implemented via one or more crossbars, via one or more busses, and/or using shared memory. The shared memory may act as a temporary buffer to store packets from input components 305 before the packets are eventually scheduled for delivery to output components 315. In some implementations, switching component 310 may enable input components 305, output components 315, and/or controller 320 to communicate.
Output component 315 includes a point of attachment for a physical link connected to device 300, and may be a point of exit for outgoing traffic (e.g., packets) transmitted by device 300. Output component 315 may store packets and/or may schedule packets for transmission on output physical links. Output component 315 may support data link layer encapsulation or decapsulation, and/or a variety of higher-level protocols. In some implementations, output component 315 may send packets and/or receive packets. In some implementations, output component 315 may include an output line card that includes one or more packet processing components (e.g., in the form of integrated circuits), such as one or more IFCs, packet forwarding components, line card controller components, output ports, processors, memories, and/or output queues. In some implementations, input component 305 and output component 315 may be implemented by the same set of components (e.g., an input/output component may be a combination of input component 305 and output component 315).
Controller 320 includes a processor in the form of, for example, a central processing unit (CPU), a microprocessor, a microcontroller, a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), and/or another type of processor that can interpret and/or execute instructions. The processor is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, controller 320 may include one or more processors that can be programmed to perform a function.
In some implementations, controller 320 may include a random access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, an optical memory, etc.) that stores information and/or instructions for use by controller 320.
In some implementations, controller 320 may communicate with other devices, networks, and/or systems connected to device 300 to exchange information regarding network topology. Controller 320 may create routing tables based on the network topology information, may create forwarding tables based on the routing tables, and may forward the forwarding tables to input components 305 and/or output components 315. Input components 305 and/or output components 315 may use the forwarding tables to perform route lookups for incoming and/or outgoing packets.
Controller 320 may perform one or more processes described herein. Controller 320 may perform these processes in response to executing software instructions stored by a non-transitory computer-readable medium. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
Software instructions may be read into a memory and/or a storage component associated with controller 320 from another computer-readable medium or from another device via a communication interface. When executed, software instructions stored in a memory and/or a storage component associated with controller 320 may cause controller 320 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
The number and arrangement of components shown in
As shown in
Origin node group 220 may provide the route update message to a second node group 220 (e.g., a downstream node group). Second node group 220 may determine whether the first signature is valid and, when the signature is valid, may add the network prefix to a routing table. The first signature may be valid when routing information associated with the first signature has not been altered en route from origin node group 220 to second node group 220. The routing table may indicate that the network prefix can be reached at origin node group 220 via second node group 220. When second node group 220 determines that the first signature is invalid, second node group 220 may drop the route update message, may store information indicating that the first signature is invalid, may provide the route update message without signing the route update message, or the like.
Second node group 220 may generate a second signature, and may add the second signature to a signature chain of the route update message. Thus, the signature chain may include the first signature and the second signature. Second node group 220 may provide the route update message and the signature chain to a third node group 220, which may perform similar operations. For example, third node group 220 may determine whether routing information associated with the first signature and the second signature has been altered based on validating the first signature and the second signature. In this way, the signature chain is generated based on node groups 220 that receive the route update message.
In some implementations, node group 220 may receive multiple route update messages corresponding to an origin node group 220, and including a particular prefix, on multiple, different paths. For example, node group 220 may receive multiple route update messages, originating from origin node group 220 and including a particular prefix, from two or more different node groups 220. As another example, node group 220 may receive multiple route update messages from a particular node group 220, and the multiple route update messages may have traversed different routes to reach the particular node group 220. As yet another example, different nodes 210 of a particular node group 220 may provide corresponding route update messages to one or more nodes 210 of node group 220 (e.g., the same node 210, different nodes 210) via two or more different sessions.
As further shown in
In some implementations, two or more different signatures may correspond to the same routing information. For example, a first node 210 may use a first signature algorithm to sign routing information, and a second node 210 may use a second signature algorithm to sign the same routing information. In such a case, after verifying routing information of a first route update message using the first signature algorithm, a downstream node group 220 may determine that the routing information is valid in a second route update message that is associated with the routing information, irrespective of whether the routing information in the second route update message is signed using the first signature algorithm or the second signature algorithm.
For example, assume that the downstream node group 220 receives a first route update message that includes routing information signed using a first signature algorithm, and assume that the downstream node group 220 validates the routing information based on the signatures of the first route update message. Assume further that the downstream node group 220 receives a second route update message that includes the routing information signed using a second signature algorithm. The downstream node group 220 may determine that the routing information is valid without validating the signatures of the second route update message, based on having validated the routing information with regard to the signatures of the first route update message. Thus, node group 220 improves efficiency of the routing verification process when using a different signature algorithm.
In some implementations, a trusted node 210 may be trusted based on being included in a particular node group 220. For example, when two nodes 210 are part of the same node group 220, the two nodes may be trusted nodes of each other. As another example, a node 210 that is part of a trusted node group 220 may be a trusted node 210. In some implementations, a trusted node group 220 may be trusted based on being associated with a particular network administrator or entity. For example, when a first node group 220 is associated with a particular service provider (e.g., an Internet service provider, etc.) and a second node group 220 is associated with a customer of the particular service provider, the first node group 220 may be a trusted node group of the second node group 220. In some implementations, a trusted node group 220 may be trusted based on being associated with a particular certificate, protocol, or the like, that indicates that the trusted node group 220 is to be trusted.
As further shown in
In some implementations, node group 220 may not validate a particular signature of a route update message based on receiving the route update message via a secure session. For example, when a sending node group 220 transmits the route update message, the sending node group 220 may sign the route update message to indicate that the route update message has traveled directly from the sending node group 220 to a recipient node group 220. When the sending node group 220 is associated with a secure session with the recipient node group 220, the route update message may be protected from tampering, re-routing, man-in-the-middle attacks, or the like, based on the secure session. Thus, the recipient node group 220 may conserve processor resources by not validating a signature generated by the sending node group 220.
In some cases, node group 220 may validate signatures to determine whether routing information associated with the signatures is valid. Additionally, or alternatively, node group 220 may determine whether routing information, that is associated with particular signatures, has been validated, irrespective of whether the particular signatures have been validated. For example, the routing information may have been validated and signed by a trusted node group 220 using a first signature algorithm, then later signed by another node group 220 using a second signature algorithm (e.g., in a different route update message). When a downstream node group 220 determines that the routing information has been validated by the trusted node group 220, the downstream node group 220 may skip verification of the signatures associated with the other node group 220 irrespective of the signature algorithm used by the other node group 220.
As used herein, validation of signatures and validation of routing information may be used interchangeably. For example, when a signature is referred to as being validated, this may indicate that the corresponding routing information has been validated. Similarly, when node group 220 determines that a signature has been validated, node group 220 may additionally, or alternatively, determine that the corresponding routing information has been validated. In other words, when implementations, described herein, are described in the context of validating signatures and determining whether signatures have been validated, implementations described herein are equally applicable to determining whether corresponding routing information has been validated. Similarly, where implementations, described herein, are described in the context of validating routing information and determining whether routing information has been validated, implementations described herein are equally applicable to validating corresponding signatures and determining whether the corresponding signatures have been validated.
As further shown in
In this way, node group 220 conserves processor resources and network resources that may otherwise be used to validate every signature of a signature chain each time a route update message is received.
Although
As shown in
The route update message may be provided to recipient node group 220, or may be en route to recipient node group 220. In some implementations, recipient node group 220 may be associated with a different network administrator, a different entity, or the like, than provider node group 220. Additionally, or alternatively, recipient node group 220 may be associated with a customer of an entity associated with provider node group 220.
As further shown in
In some implementations, provider node group 220 may store or obtain information indicating whether recipient node group 220 is permitted to receive a valid signature chain. For example, provider node group 220 may obtain this information from a network administrator device or another device. In some implementations, provider node group 220 may determine whether recipient node group 220 is permitted to receive a valid signature chain based on subscriber information associated with recipient node group 220. For example, when recipient node group 220 is required to subscribe to a particular service to be permitted to receive a valid signature chain, provider node group 220 may determine whether recipient node group 220 is permitted to receive a valid signature chain based on subscription information indicating whether recipient node group 220 subscribes to the particular service.
In some implementations, provider node group 220 may determine whether recipient node group 220 is permitted to receive a valid signature chain based on information identifying recipient node group 220, based on information identifying a network administrator associated with recipient node group 220, based on information indicating that recipient node group 220 is associated with a malicious device or entity, based on whether provider node group 220 is capable of establishing a secure session with recipient node group 220, based on whether provider node group 220 is capable of authenticating recipient node group 220, based on whether recipient node group 220 has previously received a route update message with a valid signature chain, or the like.
As further shown in
As further shown in
In some implementations, provider node group 220 may add an invalid signature to the signature chain. Additionally, or alternatively, provider node group 220 may add, to the signature chain, a signature that some node groups 220 consider valid and that other node groups 220 do not consider valid. For example, assume that a first set of node groups 220 consider a particular signature type valid and assume that a second set of node groups 220 consider the particular signature type invalid. Assume further that provider node group 220 determines that recipient node group 220 is not permitted to provide a valid signature chain to the second set of node groups 220. In such a case, provider node group 220 may sign a route update message with a signature of the particular signature type. Thus, provider node group 220 prevents recipient node group 220 from advertising a valid route with regard to the second set of node groups 220.
In this way, provider node group 220 conserves processor resources that would otherwise be used to sign route update messages. Further, provider node group 220 may reduce network congestion by preventing unauthorized parties from advertising route information with a valid signature chain. Still further, provider node group 220 may improve security of node groups 220 based on preventing malicious parties from obtaining valid signature chains.
Although
The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.
As used herein, the term component is intended to be broadly construed as hardware, firmware, and/or a combination of hardware and software.
It will be apparent that systems and/or methods, described herein, may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and/or methods were described herein without reference to specific software code—it being understood that software and hardware can be designed to implement the systems and/or methods based on the description herein.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.
No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items, and may be used interchangeably with “one or more.” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, etc.), and may be used interchangeably with “one or more.” Where only one item is intended, the term “one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
Number | Name | Date | Kind |
---|---|---|---|
6625734 | Marvit | Sep 2003 | B1 |
20060268838 | Larsson | Nov 2006 | A1 |
20070277225 | Rits | Nov 2007 | A1 |
20130159703 | Himawan et al. | Jun 2013 | A1 |
Number | Date | Country |
---|---|---|
WO 2016096005 | Jun 2016 | WO |
Entry |
---|
Wikipedia, “Border Gateway Protocol,” https://en.wikipedia.org/wiki/Border_Gateway_Protocol, Jun. 19, 2016, 15 pages. |
Rekhter et al., “A Border Gateway Protocol 4 (BGP-4),” http://www.rfc-base.org/txt/rfc-4271.txt, Jan. 2006, 104 pages. |
Lepinski et al., “BGPsec Protocol Specification,” https://tools.ietf.org/pdf/draft-ietf-sidr-bgpsec-protocol-17.pdf, Jun. 23, 2016, 34 pages. |
Kent et al., “Secure Border Gateway Protocol (S-BGP)”, IEEE Journal on Selected Areas in Communications, vol. 18, No. 4, Apr. 2000, 11 pages, XP011449965. |
T. Freeman et al., “Server-Based Certificate Validation Protocol (SCVP)”, Network Working Group RFC 5055, Dec. 2007, 88 pages, XP015055127. |
Extended European Search Report corresponding to EP 16 19 3854, dated May 16, 2017, 10 pages. |
Number | Date | Country | |
---|---|---|---|
20180007063 A1 | Jan 2018 | US |