IP Library Granted Patent US 8,437,475
Granted Patent B2
US 8,437,475 · App. 11/076,216 · Granted May 7, 2013

Packet-based and pseudo-packet-based cryptographic synchronization systems and methods

Inventors: Walter Clark Milliken (Dover, NH); Gregory Donald Troxel (Stow, MA)
Assignees: Verizon Corporate Services Group Inc.; Raytheon BBN Technologies Corp.
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,437,475
App. No.
11/076,216
Filed
Mar 9, 2005
Granted
May 7, 2013
Kind
B2
Art Unit
2432
USPC
380/260
Abstract

The disclosed technology provides a system and method of synchronizing cryptographic operation between a transmitter and a receiver. A transmitter can communicate encrypted data to a receiver according to a first communications protocol, and communicate a transmitter number and a portion of the encrypted data to the receiver according to a second communications protocol. The receiver can be in communication with a memory space containing locations that are each associated with an encrypted data and that can contain a previous receiver number. The receiver can receive transmitted encrypted data and an associated transmitter number and can search the memory space to find a location wherein the encrypted data associated with the location is entirely, or in part, the same as the transmitted encrypted data. When such a location is found, the receiver can compare the transmitter number with the previous receiver number stored in the location.

Claims (70)

1. A method of cryptographic synchronization between a transmitting end and a receiving end, the method comprising the steps of:

obtaining a first transmitter value and a plurality of second transmitter values, the first transmitted value being associated with a plurality of data and the second transmitter values being associated with corresponding portions of the data;

encrypting the data portions to produce encrypted data portions, the encryption of the data portions being based on the first transmitter value and corresponding ones of the second transmitter values;

communicating one or more of the encrypted data portions, to the receiving end according to a first communications protocol, the first communications protocol being associated with a first quality of service;

selecting one of the encrypted data portions; and

communicating the selected encrypted data portion and the first transmitter value to the receiving end according to a second communications protocol, the second communications protocol being associated with a second quality of service that differs from the first quality of service,

wherein the receiving end synchronizes with the transmitting end based on the selected encrypted data portion and the first transmitter value.

2. The method of claim 1 , wherein the one or more encrypted data portions are included within a packet, and wherein the first transmitter value corresponds to a number of previously transmitted packets.

3. The method of claim 2 , wherein the packet is one of: an Asynchronous Transfer Mode (ATM) cell, an ethernet packet, an Internet Protocol (IP) packet, a Multiprotocol Label Switching (MPLS) packet, an Optical Transport Network (OTN) frame, a Synchronous Optical Network (SONET) frame, or a SONET superframe.

4. The method of claim 1 , wherein the first communications protocol is a packet-based protocol.

5. The method of claim 1 , wherein the first communications protocol is a bit-streaming protocol.

6. The method of claim 1 , wherein the first communications protocol corresponds to a connection-oriented protocol.

7. The method of claim 1 , wherein the second communications protocol corresponds to a connectionless protocol.

8. The method of claim 7 , wherein the second communications protocol is Internet Protocol.

9. A method, comprising:

obtaining a current receiver number indicative of an amount of previously received encrypted data;

storing a plurality of encrypted data portions within a storage device having a plurality of locations, the encrypted data portions being associated with corresponding previous receiver numbers and with corresponding locations in the storage device;

receiving, at a receiver, encrypted data and a transmitter number from a transmitter, the encrypted data being associated with the transmitter number;

identifying at least one of the encrypted data portions stored in the storage device that corresponds to the received encrypted data;

retrieving, from the storage device, a previous receiver number corresponding to the identified portion;

computing a difference between a value of the transmitter number and a value of the previous receiver number corresponding to the identified portion, the previous receiver number being indicative of an amount of encrypted data received prior to the identified portion; and

adjusting a value of the current receiver number according to the computed difference to synchronize the receiver with the transmitter, the adjusting comprising:

identifying a threshold value corresponding to a difference between a previously received transmitted number and at least one of the previous receiver numbers;

determining whether a magnitude of the computed difference exceeds the threshold value; and

modifying the value of the current receiver number by the magnitude of the computed difference, when the magnitude exceeds the threshold value.

10. The method of claim 9 , wherein the value of the current receiver number corresponds to a packet number indicative of a number of previously received packets.

11. The method of claim 9 , wherein the value of the current receiver number corresponds to a pseudo-packet number indicative of a number of groups of encrypted data previously received from a bit-stream.

12. The method of claim 9 , wherein the locations in the storage device correspond to memory addresses.

13. The method of claim 12 , wherein the locations in the storage device are associated with the plurality of encrypted data by corresponding hash functions, the hash functions producing memory addresses as output.

14. The method of claim 9 , wherein the identifying comprises:

providing the encrypted data to a hash function to produce a memory address indicative of a location in the storage device.

15. The method of claim 9 , wherein the modifying comprises:

increasing the value of the current receiver number by the magnitude of the computed difference, when the magnitude exceeds the threshold value.

16. The method of claim 9 , wherein the adjusting modifying comprises:

decreasing the value of the current receiver number by the magnitude of the computed, when the magnitude exceeds the threshold value.

17. The method of claim 9 , further comprising:

receiving a packet comprising encrypted data;

associating the current receiver number with the encrypted data in the packet;

associating a location in the storage device with the encrypted data in the packet;

storing the current receiver number in the location in the storage device; and

increasing the value of the current receiver number.

18. The method of claim 9 , further comprising:

receiving encrypted data from a bit-stream;

associating the current receiver number with the encrypted data received from the bit-stream;

associating a location in the storage device with the encrypted data received from said bit-stream;

storing the current receiver number in the location in the storage device; and

increasing the value of the current receiver number.

19. A method of cryptographic synchronization between a transmitting end and a receiving end, the method comprising the steps of:

obtaining a packet number and a plurality of sub-packet numbers, the packet number being associated with a plurality of data, and the sub packet numbers being associated with corresponding portions of the data;

encrypting the data portions to produce encrypted data portions, the encryption of the data portions being based on the packet number and corresponding ones of the sub-packet numbers;

communicating a packet comprising one or more of the encrypted data portions to the receiving end according to a first communications protocol, the first communications protocol being associated with a first quality of service;

selecting one of the encrypted data portions of the communicated packet; and

communicating the selected encrypted data portion and the packet number to the receiving end according to a second communications protocol, the communication of the selected portion and the packet number occurring periodically, and the second communications protocol being associated with a second quality of service that differs from the first quality of service,

wherein the receiving end synchronizes with the transmitting end based on the selected encrypted data portion and the packet number.

20. A method of cryptographic synchronization between a transmitter and a receiver, the method comprising the steps of:

receiving, from the transmitter, encrypted data and a transmitter number associated with the encrypted data;

generating a receiver number corresponding to the encrypted data;

determining that a value of the receiver number fails to match a value of the received transmitter number;

adjusting the value of the receiver number according to a magnitude of a difference between the receiver number and the transmitter number to synchronize the transmitter and the receiver, the receiver number being indicative of an amount of encrypted data previously received from the transmitter, the adjusting comprising:

determining whether the magnitude of the difference exceeds a threshold value, the threshold value being indicative of a discrepancy between transmitter and receiver numbers associated with the previously received encrypted data; and

modifying the value of the receiver number by the magnitude of the difference, when the magnitude exceeds the threshold value; and

decrypting the encrypted data using at least the adjusted receiver number.

21. The method of claim 20 , wherein:

the receiving comprises receiving a data portion associated with the transmitter, the transmitter data portion corresponding to a portion of the encrypted data;

the generating comprises generating a data portion based on the encrypted data; and

the determining comprises determining that the generated data portion matches the transmitter data portion.

22. The method of claim 20 , wherein:

the transmitter number comprises a transmitter packet number and the receiver packet comprises a receiver packet number;

the generating comprises computing a receiver sub-packet number based on the receiver packet number; and

the decrypting comprises decrypting the encrypted data based on the receiver packet number and the receiver sub-packet number.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2014
From: VERIZON CORPORATE SERVICES GROUP INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 033421/0403 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2013
From: TROXEL, GREGORY D.; MILLIKEN, WALTER C.
To: VERIZON CORPORATE SERVICES GROUP INC.; RAYTHEON BBN TECHNOLOGIES CORP.
Reel/Frame 030179/0042 →
CHANGE OF NAME Recorded Jun 11, 2010
From: BBN TECHNOLOGIES CORP.
To: RAYTHEON BBN TECHNOLOGIES CORP.
Reel/Frame 024523/0625 →
RELEASE OF SECURITY INTEREST Recorded Oct 27, 2009
From: BANK OF AMERICA, N.A. (SUCCESSOR BY MERGER TO FLEET NATIONAL BANK)
To: BBN TECHNOLOGIES CORP. (AS SUCCESSOR BY MERGER TO BBNT SOLUTIONS LLC)
Reel/Frame 023427/0436 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT SUPPLEMENT Recorded Dec 4, 2008
From: BBN TECHNOLOGIES CORP.
To: BANK OF AMERICA, N.A.
Reel/Frame 021926/0017 →
Continuity (2)
Provisional Application 60554789 · Mar 19, 2004
Related Publication 20050207580A1 · Sep 22, 2005