Routers and switches (in the following referred to generically as network devices) used in networking systems include slots for accepting modules and cards that allow a user to customize a network device, computer or server for specific environments to satisfy different requirements.
Users have a large investment in previously acquired network devices. When a new network device is introduced it may include features that are not backward compatible with previously acquired legacy network devices coupled to a network or internetwork. One important feature of a network device is encryption of data transmitted over switched (L2) or routed (L3) links. Since these links can be physically intercepted or sniffed, encryption of the data will help secure the link. Encryption can be accomplished utilizing software running on general purpose processors (e.g., CPUs) or specialized IC's (e.g., ASIC and/or FPGA) included in the network device at the end of the encrypted link, or via a separate device (e.g., a firewall or VPN appliance) placed next to the switch/router port or located between two network devices.
There are various problems associated with these solutions for encrypting data on a link.
Utilizing a separate encryption device, such as a firewall, requires additional rack space. Further, such devices are normally designed for more complex tasks than encrypting data over a link and thus do not provide an efficient solution.
The challenges in the field of data link encryption continue to increase as does the demand for more and better techniques having greater flexibility and adaptability. Therefore, a need has arisen for new methods and systems to preserve capital investment in existing network devices while allowing the use of encryption technology.
Reference will now be made in detail to various embodiments of the invention. Examples of these embodiments are illustrated in the accompanying drawings. While the invention will be described in conjunction with these embodiments, it will be understood that it is not intended to limit the invention to any embodiment. On the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the various embodiments. However, the present invention may be practiced without some or all of these specific details. In other instances, well known process operations have not been described in detail in order not to unnecessarily obscure the present invention.
In one embodiment of the invention, encryption capability is included in a module that is inserted into a slot of a network device, such as a switch or router. These modules have various form factors and include certain physical and media access layer devices depending on the functions performed by the module. These types of modules include, for example, the GBIC (Gigabit Interface Converter), SFP (Small Form-Factor Pluggable), XFP (10 Gigabit Form-Factor Pluggable), Xenpak, XPAK, and X2 modules, etc.
A first embodiment will be described by way of example, not limitation, implemented in an SFP module. The SFP module is widely utilized in legacy devices and SFP ports represent a large pre-installed base.
The hot-swappable, plug and play, single-port SFP (Small Form-Factor Pluggable) module is used in network devices implementing Gigabit-over-fiber and Gigabit-over-copper applications. The SFP module also offers several significant advantages over its predecessor, the GBIC (Gigabit Interface Converter), including lower cost, lower power, and smaller size. Thus, with the SFP form factor, fiber Gigabit systems may be developed featuring similar port densities as non-pluggable systems using fixed transceivers.
The Small Form-Factor Pluggable (SFP) Transceiver MultiSource Agreements (MSA) document puts forward a specification for the development of optical SFP modules supporting standards such as IEEE 802.3z, the Gigabit Ethernet Standard.
An embodiment of the invention will now be described with reference to
The SFP 12 is depicted in more detail in
A management serial interface 26 on the host 10 is a 2-wire serial interface, which provides the access to the SFP EEPROM 28 containing the SFP's generic ID data, specific ID data, and other information.
The Host/SFP SerDes interface 15 provides the data transfer over the 1.25 Gbps differential interface to the host board and controls and provides configuration functions through the serial management interface 27.
In this embodiment, the encryption engine 100 includes a set of input registers 102, a set of output registers 104, a set of key holding registers 106 for holding a key, and configuration registers 108. During encryption, transmit traffic output from the host PHY is written to the input registers 102 and encrypted by the encryption engine 100 prior to being output on the wire. When encrypted traffic is received on the wire it is written to the input registers of the encryption engine and decrypted prior to being output to the host PHY.
In this embodiment, the 2-wire serial bus 27 is coupled to the key holding registers 106 and the configuration registers 108 of the encryption engine by the microcontroller IC module 16 so that those registers can be programmed utilizing the 2-wire serial management bus 27 depicted in
The operation of the embodiment depicted in
If the SFP includes an encryption engine the host software enables the port so that standard authentication, security associations, and key management protocols, such as ISAKMP, can be enabled for the port. If the SFP does not include an encryption engine then all encryption protocols are disabled for the port.
To implement encryption on the port, the host utilizes the serial bus 27 to configure the encryption engine to provide encrypted data (transmission) or decrypted data (reception) at its output registers. The host can disable the encryption function utilizing the serial bus to configure the encryption engine to provide plaintext data at its output registers.
The host can use the 2-wire serial bus 27 to write key data into the key holding registers prior to enabling encryption or decryption or key data could be transferred over the data interface 15.
Other embodiments of the invention can be implemented in the various types of modules described above. Depending on the form factor, the encryption engine can be integrated into ICs already on the module or included as a separate IC. Some pluggable module have management interfaces with reserved pins that can be utilized to program the encryption engines, and in other cases the key and configuration data can be transmitted as additional data over the serial interface.
The invention has now been described with reference to the preferred embodiments. Alternatives and substitutions will now be apparent to persons of skill in the art. Accordingly, it is not intended to limit the invention except as provided by the appended claims.