IP Library Granted Patent US 10,230,698
Granted Patent B2
US 10,230,698 · App. 14/773,187 · Granted Mar 12, 2019

Routing a data packet to a shared security engine

Inventors: Shaun Wakumoto (Roseville, CA); Craig Joseph Mills (Roseville, CA); Parvez Syed Mohamed (Roseville, CA)
Assignee: Hewlett Packard Enterprise Development LP
H04L63/0485H04L63/162
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,230,698
App. No.
14/773,187
Granted
Mar 12, 2019
Kind
B2
Abstract

Examples disclose a system comprising an integrated circuit to determine whether a data packet should be processed by a shared security engine associated with a secure link. Additionally, the examples disclose a first media access control (MAC), associated with the shared security engine, to receive the data packet for transmission on the secure link based on the determination the data packet should be processed by the shared security engine.

Claims (56)

1. A system comprising:

an integrated circuit, coupled to a first media access control (MAC), to determine that a data packet should be processed by a security engine shared among multiple communication links including a secure link;

the first media access control (MAC), coupled to the security engine, te in response to the determination that the data packet should be processed by the security engine, receive the data packet for transmission on the secure link; and

the security engine specific to the first MAC to perform on a security function on the data packet prior to transmission on the secure link, wherein the integrated circuit is to:

determine that the shared security engine is operating with a maximum number of secure associations:

in response to the determination that the security engine is operating with a maximum number of secure associations, identify a second security engine, shared among the multiple communication links, with an available secure association:

route the data packet from the security engine to the second security engine;

a second media access control (MAC), associated with the second security engine, to receive the data packet for processing through the second security engine; and perform, at the second security engine, a cryptographic function on the data packet prior to transmission.

2. The system of claim 1 wherein the integrated circuit is to:

identify that the data packet is encrypted;

route the data packet to the first media access control (MAC) associated with the shared security engine for decryption.

3. The system of claim 1 comprising:

a hashing engine to in response to the determination that the data packet should not be processed by the security engine, receive the data packet; and

determine which non-secure link to transmit the data packet.

4. The system of claim 1 wherein the security engine is a media access control security engine specific to the first MAC and associated with a physical interface.

5. The system of claim 1 comprising:

the security engine, including a table of secure associations to specify a key for encryption of the data packet, to process the data packet by encrypting upon egress of the data packet to the secure link.

6. The system of claim 1 comprising:

the second MAC, specific to the second security engine, to encrypt the data packet prior to transmission.

7. The system of claim 6 wherein the integrated circuit is to:

track a number of secure associations at the first security engine and the second security engine.

8. A non-transitory machine-readable storage medium encoded with instructions executable by a processor of a computing device, the storage medium comprising instructions to:

determine, by processing a header of a data packet, that the data packet should be processed by a security engine specific to a first media access control (MAC) and shared among multiple communication links that include a secure link;

route the data packet to the security engine for transmission on the secure link;

determine that the shared security engine is operating with a maximum number of secure associations upon ingress of the data packet;

identify a second security engine, specific to a second MAC, with an available secure association;

based on the identification of the second security engine, route the data packet from the security engine to the second security engine; and

perform, at the second security engine, a cryptographic function on the data packet prior to transmission.

9. The non-transitory machine-readable storage medium including the instructions of claim 8 to determine that the data packet should be processed by the security engine is comprising instructions to:

identify that the data packet is encrypted;

route the data packet to the first MAC specific to the security engine; and

decrypt, at the security engine, the data packet.

10. The non-transitory machine-readable storage medium including the instructions of claim 8 wherein based on the determination that the data packet should not be processed by the security engine, the non-transitory machine-readable storage medium comprises instructions to:

route the data packet to a non-secure link among the multiple communication links for transmission.

11. The non-transitory machine-readable storage medium including the instructions of claim 8 wherein to determine that the data packet should be processed by the security engine comprises instructions to:

determine that the data packet includes sensitive data; and

encrypt, at the security engine, the data packet.

12. The non-transitory machine-readable storage medium including the instructions of claim 8 wherein to determine that the data packet should be processed by the security engine is comprising instructions to:

in response to a determination that the data packet includes sensitive data, route the data packet to the first MAC; and

encrypt the data packet prior to transmission on the secure link.

13. A method, executed by a networking device, the method comprising:

receiving a data packet;

determining that the data packet should be processed by a security engine shared among multiple communication links including a secure link and specific to a first media access control (MAC);

in response to the determination, routing the data packet to the security engine;

performing a cryptographic function on the data packet prior to transmission on the secure link;

determining that the shared security engine is operating with a maximum number of secure associations according to a table;

identify a second security engine, specific to a second MAC, with an available secure association:

based on the identification of the second security engine, route the data packet from the security engine to the second security engine; and

perform, at the second security engine, the cryptographic function on the data packet prior to transmission.

14. The method of claim 13 wherein determining that the data packet should be processed by the security engine comprises: further comprising:

processing a header of the data packet to determine that the data packet is encrypted;

based upon the determination the data packet is encrypted, routing the data packet to the first MAC.

15. The method of claim 13 wherein if the determination is the data packet should not be processed by the shared security engine, the method is further comprising:

routing the data packet to the non-secure link for transmission.

16. The method of claim 13 comprising:

tracking a number of secure associations at the security engine.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2015
From: WAKUMOTO, SHAUN; MILLS, CRAIG JOSEPH; SYED MOHAMED, PARVEZ
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 036498/0131 →
Continuity (1)
Related Publication 20160014098A1 · Jan 14, 2016