US-20260129030-A1 - SECURE ASSOCIATION SHARING IN MULTI-SOURCE AND MULTI-DESTINATION ENVIRONMENTS
Abstract
This disclosure describes techniques and mechanisms for providing initialization vector (IV) uniqueness and extending rekeying windows for network devices that perform secure association sharing in multi-source and multi-destination environments. The techniques may apply to existing hardware of the network devices. The techniques may enable the network devices to execute in a non-XPN mode and establish secure tunnels corresponding to secure association sessions. The techniques may utilize software to partition extra bits included in packet headers. The network devices may perform a process to update a loop count value utilizing a portion of the extra bits, thereby exponentially extending the rekeying windows. Further, by utilizing a portion of the extra bits, the system may ensure IV uniqueness for the secure association session between network devices in the multi-source and multi-destination environment.
Inventors
- Wanli Wu
- Scott Roy Fluhrer
Assignees
- CISCO TECHNOLOGY, INC.
Dates
- Publication Date
- 20260507
- Application Date
- 20241105
Claims (20)
- 1 . A method implemented by a network device in a network, the method comprising: establishing a secure tunnel with a security engine in the network, wherein the network device receives packets via the secure tunnel, the packets comprising an identifier of the security engine; setting, based on establishing the secure tunnel, a loop count value to a first initial value and a packet number value to a second initial value; masking, based on the identifier and in a first memory, an upper portion of bits in packet headers of the packets; and updating the loop count value in the first memory based at least in part on: determining that the packet number value is greater than a threshold value; updating, based on the determining, the packet number value to a specialized value; incrementing, based on updating the packet number value, the loop count value; and setting, based on incrementing the loop count value, the packet number value to the first initial value.
- 2 . The method of claim 1 , wherein the secure tunnel comprises a level 2 multi-source and a multi-destination tunnel.
- 3 . The method of claim 1 , wherein the network is implemented in a multi-source and multi-destination environment.
- 4 . The method of claim 1 , wherein the network device comprises a second security engine.
- 5 . The method of claim 1 , further comprising: causing the network device to operate in a non-XPN mode, wherein a SC bit is enabled in a packet header to carry additional bits as an SCI value, wherein the additional bits comprise the identifier associated with the security engine.
- 6 . The method of claim 5 , wherein the additional bits comprise up to 64 bits, a lower portion of the up to 64 bits comprises a sorted SCI value.
- 7 . The method of claim 5 , wherein the upper portion of bits comprises 48 bits, and wherein a first portion of the 48 bits comprise the identifier and a second portion of the 48 bits are used for the loop count value.
- 8 . The method of claim 1 , wherein determining that the packet number value exceeds the threshold value is based on one of: receiving a notification from hardware of the network device when the packet number value equals or is greater than the threshold value; or determining, at a fixed time interval, that the packet number value is greater than the threshold value.
- 9 . The method of claim 1 , wherein the loop count value is stored in a second memory, the first memory corresponding to a packet count memory in hardware of the network device and the second memory corresponding to an SCI memory of the hardware.
- 10 . The method of claim 1 , wherein a lower portion of bits is used to identify a SA session between the network device and the security engine.
- 11 . A system comprising: one or more processors; and one or more computer-readable media storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: establishing a secure tunnel between a network device and a security engine in a network, wherein the network device receives packets via the secure tunnel, the packets comprising an identifier of the security engine; setting, based on establishing the secure tunnel, a loop count value to a first initial value and a packet number value to a second initial value; masking, based on the identifier and in a first memory, an upper portion of bits in packet headers of the packets; and updating the loop count value in the first memory based at least in part on: determining that the packet number value is greater than a threshold value; updating, based on the determining, the packet number value to a specialized value; incrementing, based on updating the packet number value, the loop count value; and setting, based on incrementing the loop count value, the packet number value to the first initial value.
- 12 . The system of claim 11 , wherein the secure tunnel comprises a level 2 multi-source and a multi-destination tunnel.
- 13 . The system of claim 11 , wherein the network is implemented in a multi-source and multi-destination environment.
- 14 . The system of claim 11 , wherein the network device comprises a second security engine.
- 15 . The system of claim 11 , the operations further comprising: causing the network device to operate in a non-XPN mode, wherein a SC bit is enabled in a packet header to carry additional bits as an SCI value, wherein the additional bits comprise the identifier associated with the security engine.
- 16 . The system of claim 15 , wherein the additional bits comprise up to 64 bits, a lower portion of the up to 64 bits comprises a sorted SCI value.
- 17 . The system of claim 15 , wherein the upper portion of bits comprises 48 bits, and wherein a first portion of the 48 bits comprise the identifier and a second portion of the 48 bits are used for the loop count value.
- 18 . The system of claim 11 , wherein determining that the packet number value exceeds the threshold value is based on one of: receiving a notification from hardware of the network device when the packet number value equals or is greater than the threshold value; or determining, at a fixed time interval, that the packet number value is greater than the threshold value.
- 19 . The system of claim 11 , wherein the loop count value is stored in a second memory, the first memory corresponding to a packet count memory in hardware of the network device and the second memory corresponding to a SCI memory of the hardware.
- 20 . One or more non-transitory computer-readable media maintaining instructions that, when executed by one or more processors of a network device, program the one or more processors to perform operations comprising: establishing a secure tunnel with a security engine in a network, wherein the network device receives packets via the secure tunnel, the packets comprising an identifier of the security engine; setting, based on establishing the secure tunnel, a loop count value to a first initial value and a packet number value to a second initial value; masking, based on the identifier and in a first memory, an upper portion of bits in packet headers of the packets; and updating the loop count value in the first memory based at least in part on: determining that the packet number value is greater than a threshold value; updating, based on the determining, the packet number value to a specialized value; incrementing, based on updating the packet number value, the loop count value; and setting, based on incrementing the loop count value, the packet number value to the first initial value.
Description
TECHNICAL FIELD The present disclosure relates generally to the field of computer networking, and more particularly to utilizing hardware and software to provide initialization vector (IV) uniqueness and extend secure association re-keying windows in multi-source and multi-destination environments. BACKGROUND Computer networks are generally a group of computers or other devices that are communicatively connected and use one or more communication protocols to exchange data, such as by using packet switching. For instance, computer networking can refer to connected computing devices (such as laptops, desktops, servers, smartphones, and tablets) as well as an ever-expanding array of Internet-of-Things (IoT) devices (such as cameras, door locks, doorbells, refrigerators, audio/visual systems, thermostats, and various sensors) that communicate with one another. Modern-day networks deliver various types of networks, such as Local-Area Networks (LANs) that are in one physical location such as a building, Wide-Area Networks (WANs) that extend over a large geographic area to connect individual users or LANs, Enterprise Networks that are built for a large organization, Internet Threat and compliance data provider (ISP) Networks that operate WANs to provide connectivity to individual users or enterprises, software-defined networks (SDNs), wireless networks, core networks, cloud networks, and so forth. These networks often include specialized network devices to communicate packets representing various data from device-to-device, such as switches, routers, servers, access points, and so forth. Each of these devices is designed and configured to perform different networking functions. For instance, switches may allow devices in a network to communicate with each other. Routers connect multiple networks together, and also connect computers on those networks to the Internet, by acting as a dispatcher in networks by analyzing data being sent across a network and choosing an optimal route for the data to travel. Access points act like amplifiers for a network and serve to extend the bandwidth provided by routers so that the network can support many devices located further distances from each other. An example network may be a cloud network, a data center interconnect (DCI) network, and/or a multi-source and multi-destination network. In such networks, tunnels may be utilized to communicate between network devices. For security, tunnel security protocols such as MACSEC or any other security protocol may be used to secure a tunnel. However, existing tunnel security protocols have some limitations. A first limitation relates to secure authentication (SA) sharing between different network devices in the multi-source and multi-destination environments. For instance, existing network devices have limited SA table sizes, such that the size of the SA table may limit scalability of the entire network. Moreover, SA sharing in such environments may be performed using specific hardware modes of the network devices, resulting in shortened rekeying windows. Another limitation relates to encryption protocols used on traffic in the secure tunnels. In particular, existing tunnel security protocols may use initialization vectors (IVs) for encryption during SA sessions, where the IVs are not supposed to be reused for encrypting data, as reuse of the IV may introduce security vulnerabilities to the network. However, with existing hardware and the volume of data being transmitted in the SA session, rekeying windows are short, resulting in network devices having to rekey the IVs at a high rate, thereby consuming more resources on the network device and within the network, and resulting in a greater chance that an IV may be reused or a similar IV may be generated, which can result in security vulnerabilities to the network. Accordingly, there is a need for a simplified way to improve IV uniqueness, extend SA rekeying windows, and improve scalability that can be applied to existing hardware in networks and does not require changes to existing protocols. BRIEF DESCRIPTION OF THE DRAWINGS The detailed description is set forth below with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items. The systems depicted in the accompanying figures are not to scale and components within the figures may be depicted not to scale with each other. FIG. 1 illustrates a system-architecture diagram of an environment in which a system can ensure initialization vector (IV) uniqueness and extend secure association rekeying windows in multi-source and multi-destination environments. FIG. 2 illustrates an example environment showing exemplary processes of a hardware component associated with the system described in FIGS. 1 and 3. FIG. 3 illustrates an example environ