IP Library Granted Patent US 7,843,910
Granted Patent B2
US 7,843,910 · App. 11/069,798 · Granted Nov 30, 2010

Deciphering encapsulated and enciphered UDP datagrams

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 7,843,910
App. No.
11/069,798
Granted
Nov 30, 2010
Kind
B2
Abstract

Deciphering and verification of the checksum of enciphered and encapsulated UDP datagrams, particularly those which enclose a tunneling protocol such as L2TP, are achieved by the provision of a checksum verifier in parallel with a decipher block. Checksum logic creates a pseudo UDP header needed for checksum verification using fields that would occur at the start of the packet that encapsulates the UDP datagram. The first part of the packet to be deciphered is the UDP header; checksum logic can latch the checksum field into a local register. As the rest of the packet is deciphered the checksum verifier processes the data at the same time. Eventually the checksum logic will acquire a complete checksum which can be compared with the checksum that had been previously latched, so as to verify the checksum.

Claims (38)

1. A method of decoding a data packet which conforms to an internetworking protocol and encapsulates by means of an encapsulation security protocol an enciphered UDP datagram which includes an UDP header and a payload, the data packet having an network protocol header and a security protocol header, comprising:

obtaining from said network protocol header an network protocol source address, an network protocol destination address and a network protocol identification;

commencing a decipher of said enciphered UDP datagram;

obtaining at the commencement of the decipher a length field from said UDP header;

establishing a pseudo-header for inclusion in a UDP checksum, said pseudo-header including said network protocol source address, said network protocol destination address, said network protocol identification and said length field;

continuing the decipher of said enciphered UDP datagram in parallel with computing said UDP checksum; and

accepting or rejecting said data packet after examination of said UDP checksum.

2. A method as in claim 1 wherein said enciphered UDP datagram includes a tunneling protocol header.

3. A method of decoding a data packet which conforms to IP and encapsulates by means of an ESP protocol an enciphered UDP datagram which includes an UDP header and a payload, said data packet having an IP header and an IP ESP header, comprising:

obtaining from said IP header an IP source address, an IP destination address and a protocol identification;

commencing a decipher of said UDP datagram;

obtaining at the commencement of said decipher a length field from said UDP header;

establishing a pseudo-header for inclusion in a UDP checksum from said IP source address, said IP destination address, said protocol identification and said length field;

continuing the decipher of said UDP datagram while in parallel with computing said UDP checksum on said UDP datagram and said pseudo-header; and

accepting or rejecting said data packet after an examination of said UDP checksum.

4. A method as in claim 3 wherein said enciphered UDP datagram includes a tunneling protocol header.

5. A method as in claim 4 wherein said tunneling protocol is Layer 2 Tunneling Protocol (L2TP).

6. A receiver for a data packet which conforms to an internetworking protocol and encapsulates by means of an encapsulation security protocol an enciphered UDP datagram which includes an UDP header and a payload, the data packet having an network protocol header and a security protocol header, comprising:

a memory for said data packet;

a decipher block;

a checksum verifier;

a controller which reads said data packet in segments to said decipher block;

wherein

said decipher block allows the passage of said network protocol header and a security protocol header before commencing a decipher;

said checksum verifier establishes a pseudo-header composed of fields partly from said network protocol header and partly from said UDP header as deciphered; and

said checksum verifier computes a checksum on the whole of said UDP datagram and said pseudo-header in parallel with said cipher block completes completing said decipher.

7. A receiver as in claim 6 wherein said controller inhibits said decipher by said decipher block until an enciphered portion corresponding to said UDP header is reached.

8. A receiver for a data packet which conforms to an internetworking protocol and encapsulates by means of an encapsulation security protocol an enciphered UDP datagram which includes an UDP header and a payload, the data packet having an network protocol header and a security protocol header, comprising:

a memory for said data packet;

a decipher block coupled to said memory;

a checksum verifier coupled to said decipher block; and

a controller which transfers said data packet in segments to said decipher block;

wherein

said decipher block is organized to allow the passage of said network protocol header and a security protocol header before commencing a decipher; and

said checksum verifier is operable in response to the reception of said UDP header as deciphered to compute a checksum in parallel with the deciphering of said UDP datagram by said decipher block.

9. A receiver as in claim 8 wherein said checksum verifier is organized:

(a) to establish a pseudo-header composed of fields partly from said network protocol header and partly from said UDP header as deciphered; and

(b) to compute said checksum on the whole of said UDP datagram and said pseudo-header while said cipher block completes said decipher.

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 →
CORRECTIVE ASSIGNMENT PREVIUOSLY RECORDED ON REEL 027329 FRAME 0001 AND 0044. Recorded May 1, 2012
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 028911/0846 →