IP Library Granted Patent US 8,191,133
Granted Patent B2
US 8,191,133 · App. 12/002,729 · Granted May 29, 2012

Anti-replay protection with quality of services (QoS) queues

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 8,191,133
App. No.
12/002,729
Granted
May 29, 2012
Kind
B2
Abstract

An embodiment of the present invention includes a technique to provide anti-replay protection with QoS queues. A single global anti-replay window is maintained to have global lowest and highest sequence numbers for an Internet protocol security (IPSec) security association (SA). The single global anti-replay window is associated with individual differentiated services code point (DSCP) or DSCP group, the individual DSCP or DSCP group corresponding to individual per-DSCP anti-replay windows. A received packet having a sequence number is pre-processed before packet processing using the single global anti-replay window. The received packet is post-processed after packet processing using the individual per-DSCP anti-replay windows.

Claims (79)

1. A method comprising:

maintaining a single global anti-replay window having global lowest and highest sequence numbers for an Internet protocol security (IPSec) security association (SA), the single global anti-replay window being associated with individual differentiated services code point (DSCP) or DSCP group, the individual DSCP or DSCP group corresponding to individual per-DSCP anti-replay windows;

pre-processing a received packet having a sequence number before packet processing using the single global anti-replay window; and

post-processing the received packet after packet processing using the individual per-DSCP anti-replay windows, wherein post-processing comprises:

identifying a DSCP from header of the received packet;

retrieving start and end pointers of the individual per-DSCP group corresponding to the identified DSCP; and

checking the sequence number with the individual lowest and highest sequence numbers in the individual per-DSCP window.

2. The method of claim 1 wherein maintaining the single global anti-replay window comprises:

maintaining the individual per-DSCP anti-replay window for which at least one packet has been received for the IPSec SA, maintaining the individual per-DSCP anti-replay window comprising maintaining start and end pointers corresponding to individual lowest and highest sequence numbers;

storing received sequence numbers corresponding to accepted packets; and

advancing the single global anti-replay window when the sequence number is greater than a global maximum sequence number.

3. The method of claim 2 wherein advancing the single global anti-replay window comprises:

truncating the single global anti-replay window from a side toward the global lowest sequence number.

4. The method of claim 1 wherein pre-processing comprises:

authenticating the received packet to ensure that the sequence number is trusted;

discarding the received packet if the sequence number is lower than the global lowest sequence number;

comparing the sequence number with received sequence numbers in the single global anti-replay window; and

discarding the received packet if the sequence number matches with one of the received sequence numbers.

5. The method of claim 1 wherein checking the sequence number comprises:

if the sequence number is within the individual lowest and highest sequence numbers or higher than the individual highest sequence number, accepting the received packet and marking the sequence number as received in the received sequence numbers;

if the sequence number is lower than the individual lowest sequence number, discarding the received packet; and

if the sequence number is higher than the individual highest sequence number, advancing the individual per-DSCP window.

6. The method of claim 5 wherein advancing the individual per-DSCP window comprises:

modifying start and end pointers of the individual per-DSCP group;

updating the individual lowest and highest sequence numbers of the individual per-DSCP window; and

modifying the global lowest and highest sequence numbers of the single global window if necessary.

7. The method of claim 1 wherein said packet processing comprises decrypting said packet.

8. The method of claim 1 wherein said received packet is mis-ordered.

9. A article of manufacture comprising:

a non-transitory machine-accessible storage medium including information that, when accessed by a machine, cause the machine to perform operations comprising:

maintaining a single global anti-replay window having global lowest and highest sequence numbers for an Internet protocol security (IPSec) security association (SA), the single global anti-replay window being associated with individual differentiated services code point (DSCP) or DSCP group, the individual DSCP or DSCP group corresponding to individual per-DSCP anti-replay windows;

pre-processing a received packet having a sequence number before packet processing using the single global anti-replay window; and

post-processing the received packet after packet processing using the individual per-DSCP anti-replay windows, wherein post-processing comprises:

identifying a DSCP from header of the received packet;

retrieving start and end pointers of the individual per-DSCP group corresponding to the identified DSCP; and

checking the sequence number with the individual lowest and highest sequence numbers in the individual per-DSCP window.

10. The article of manufacture of claim 9 wherein the information causing the machine to perform maintaining the single global anti-replay window comprises information that, when accessed by the machine, causes the machine to perform operations comprising:

maintaining the individual per-DSCP anti-replay window for which at least one packet has been received for the IPSec SA, maintaining the individual per-DSCP anti-replay window comprising maintaining start and end pointers corresponding to individual lowest and highest sequence numbers;

storing received sequence numbers corresponding to accepted packets; and

advancing the single global anti-replay window when the sequence number is greater than a global maximum sequence number.

11. The article of manufacture of claim 10 wherein the information causing the machine to perform advancing the single global anti-replay window comprises information that, when accessed by the machine, causes the machine to perform operations comprising:

truncating the single global anti-replay window from a side toward the global lowest sequence number.

12. The article of manufacture of claim 9 wherein the information causing the machine to perform pre-processing comprises information that, when accessed by the machine, causes the machine to perform operations comprising:

authenticating the received packet to ensure that the sequence number is trusted;

discarding the received packet if the sequence number is lower than the global lowest sequence number;

comparing the sequence number with received sequence numbers in the single global anti-replay window; and

discarding the received packet if the sequence number matches with one of the received sequence numbers.

13. The article of manufacture of claim 9 wherein the information causing the machine to perform checking the sequence number comprises information that, when accessed by the machine, causes the machine to perform operations comprising:

if the sequence number is within the individual lowest and highest sequence numbers or higher than the individual highest sequence number, accepting the received packet and marking the sequence number as received in the received sequence numbers;

if the sequence number is lower than the individual lowest sequence number, discarding the received packet; and

if the sequence number is higher than the individual highest sequence number, advancing the individual per-DSCP window.

14. The article of manufacture of claim 13 wherein the information causing the machine to perform advancing the individual per-DSCP window comprises information that, when accessed by the machine, causes the machine to perform operations comprising:

modifying start and end pointers of the individual per-DSCP group;

updating the individual lowest and highest sequence numbers of the individual per-DSCP window; and

modifying the global lowest and highest sequence numbers of the single global window if necessary.

15. The article of manufacture of claim 9 wherein said packet processing comprises decrypting said packet.

16. The article of manufacture of claim 9 wherein said received packet is mis-ordered.

17. A computer system comprising:

a global window maintaining module to maintain a single global anti-replay window having global lowest and highest sequence numbers for an Internet protocol security (IPSec) security association (SA), the single global anti-replay window being associated with individual differentiated services code point (DSCP) or DSCP group, the individual DSCP or DSCP group corresponding to individual per-DSCP anti-replay windows;

a pre-processor coupled to the global window maintaining module to pre-process a received packet having a sequence number before packet processing by a packet processor using the single global anti-replay window; and

a post-processor coupled to the packet processor to post-process the received packet after packet processing using the individual per-DSCP anti-replay windows wherein post-processing comprises:

identifying a DSCP from header of the received packet;

retrieving start and end pointers of the individual per-DSCP group corresponding to the identified DSCP; and

checking the sequence number with the individual lowest and highest sequence numbers in the individual per-DSCP window.

18. The system of claim 17 wherein the global window maintaining module comprises:

an individual window maintaining module to maintain the individual per-DSCP anti-replay window for which at least one packet has been received for the IPSec SA, the individual window maintaining module maintaining start and end pointers corresponding to individual lowest and highest sequence numbers; and

a memory to store received sequence numbers corresponding to accepted packets; and

wherein the single global anti-replay window is advanced when the sequence number is greater than a global maximum sequence number.

19. A system comprising:

a sending server coupled to a network to send a packet through a virtual private network; and

a receiving server coupled to the VPN to receive the packet, the receiving server having a VPN gateway, the VPN gateway including a QoS anti-replay processor, the QoS anti-replay processor comprising:

a global window maintaining module to maintain a single global anti-replay window having global lowest and highest sequence numbers for an Internet protocol security (IPSec) security association (SA), the single global anti-replay window being associated with individual differentiated services code point (DSCP) or DSCP group, the individual DSCP or DSCP group corresponding to individual per-DSCP anti-replay windows, a pre-processor is coupled to the global window maintaining module to pre-process a received packet having a sequence number before packet processing by a packet processor using the single global anti-replay window, and a post-processor coupled to the packet processor to post-process the received packet after packet processing using the individual per-DSCP anti-replay windows, wherein post-processing comprises:

identifying a DSCP from header of the received packet;

retrieving start and end pointers of the individual per-DSCP group corresponding to the identified DSCP; and

checking the sequence number with the individual lowest and highest sequence numbers in the individual per-DSCP window.

20. The system of claim 19 wherein the global window maintaining module comprises:

an individual window maintaining module to maintain the individual per-DSCP anti-replay window for which at least one packet has been received for the IPSec SA, the individual window maintaining module maintaining start and end pointers corresponding to individual lowest and highest sequence numbers; and

a memory to store received sequence numbers corresponding to accepted packets; and

wherein the single global anti-replay window is advanced when the sequence number is greater than a global maximum sequence number.

Assignments (22)
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2018
From: CITICORP USA, INC.
To: AVAYA, INC.; SIERRA HOLDINGS CORP.
Reel/Frame 045045/0564 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST, NA
To: AVAYA INC.
Reel/Frame 044892/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Feb 22, 2011
From: AVAYA INC., A DELAWARE CORPORATION
To: BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE
Reel/Frame 025863/0535 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2010
From: NORTEL NETWORKS LIMITED
To: AVAYA INC.
Reel/Frame 023998/0878 →
SECURITY AGREEMENT Recorded Feb 5, 2010
From: AVAYA INC.
To: CITICORP USA, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 023905/0001 →
SECURITY AGREEMENT Recorded Feb 4, 2010
From: AVAYA INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 023892/0500 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2007
From: KHANNA, BAKUL; MILLER, III, WILLIAM A.; BABIARZ, JOZEF
To: NORTEL NETWORKS LIMITED
Reel/Frame 020315/0251 →