IP Library Granted Patent US 10,063,524
Granted Patent B2
US 10,063,524 · App. 14/470,364 · Granted Aug 28, 2018

Method and apparatus for encoding security status information

Inventor: Marinus Struik (Toronto, CA)
Assignee: Certicom Corp.
H04L63/0428H04L1/1803H04L1/1812H04L1/1867H04L29/06H04L47/34H04L63/0435H04L63/06H04L67/04H04L67/12H04W12/02H04W12/04H04W56/0015H04L69/329H04L2209/80H04W4/12H04W24/00H04W28/04H04W28/06
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,063,524
App. No.
14/470,364
Granted
Aug 28, 2018
Kind
B2
Abstract

A method of transmitting messages from a sender to a recipient over a wireless channel, the messages including a sequence counter and a frame counter. The method comprises establishing initial values of the sequence counter and the frame counter at the sender. Initial values of the frame counter and the sequence counter are provided to the recipient. The sender sends compressed messages including the value of the sequence counter and not the frame counter and monitors for an acknowledgement of receipt by the recipient. When no acknowledgment is received, the sender sends uncompressed messages until an acknowledgement of receipt is received from the recipient. The sequence counter is incremented and the next value of the frame counter is established as the integer next larger than previous value of the frame counter which is congruent to the sequence counter modulo 256.

Claims (47)

1. A wireless device comprising:

one or more processors; and

a non-transitory computer-readable storage medium coupled to the one or more processors and storing programming instructions for execution by the one or more processors, the programming instructions instruct the one or more processors to:

store a local value of a frame counter, wherein the local value of the frame counter was used to decrypt data in a first message;

receive a second message after a first message over a wireless network, the second message including a sequence counter value identifying the second message relative to other messages in a stream of messages and data encrypted by a correspondent using a secret key;

determine, by the wireless device, a new value of the frame counter from the local value of the frame counter and the sequence counter value in the second message; and

decrypt, by the wireless device, the second message based on the new value of the frame counter.

2. The wireless device of claim 1 , wherein the new value of the frame counter is an integer that is next larger than the local value of the frame counter and congruent to the sequence counter value modulo a specified integer.

3. The wireless device of claim 1 , wherein the sequence counter value comprises a compressed representation of the new value of the frame counter.

4. The wireless device of claim 1 , wherein the one or more processors are further configured to send the correspondent an acknowledgement message in response to receiving the second message.

5. The wireless device of claim 4 , wherein the acknowledgment message includes the sequence counter value.

6. The wireless device of claim 1 , the one or more processors further operable to:

detect a decryption error based on a loss of synchronization of the frame counter with the correspondent; and

set an error flag based on the detecting of the decryption error, the error flag indicating the loss of synchronization of the frame counter with the correspondent.

7. The wireless device of claim 6 , the one or more processors further operable to remove the error flag upon receiving from the correspondent a third message that includes a current value of the frame counter.

8. A wireless device comprising:

one or more processors; and

a non-transitory computer-readable storage medium coupled to the one or more processors and storing programming instructions for execution by the one or more processors, the programming instructions instruct the one or more processors to:

store a local value of a frame counter of a recipient, wherein the local value of the frame counter was used to encrypt data in a first message;

compute, by the wireless device, a new value of the frame counter from the local value of the recipient and a sequence counter value identifying a second message relative to other messages in a stream of messages;

encrypt, by the wireless device, data in the second message using a secret key and the new value of the frame counter; and

send the second message to the recipient over a wireless network, the second message including the sequence counter value and the encrypted data.

9. The wireless device of claim 8 , wherein the new value of the frame counter is an integer that is next larger than the local value of the frame counter and congruent to the sequence counter value modulo a specified integer.

10. The wireless device of claim 8 , wherein the sequence counter value comprises a compressed representation of the new value of the frame counter.

11. The wireless device of claim 8 , wherein the one or more processors are further configured to receive an acknowledgement message from the recipient.

12. The wireless device of claim 11 , wherein the acknowledgment message includes the sequence counter value.

13. The wireless device of claim 8 , wherein sending the new value of the frame counter to the recipient resynchronizes the frame counter with the recipient.

14. A method, comprising:

storing a local value of a frame counter, wherein the local value of the frame counter was used to decrypt data in a first message;

receiving a second message after a first message over a wireless network, the second message including a sequence counter value identifying the second message relative to other messages in a stream of messages and data encrypted by a correspondent using a secret key;

determining, by a wireless device, a new value of the frame counter from the local value of the frame counter and the sequence counter value in the second message; and

decrypting, by the wireless device hardware processor, the second message based on the new value of the frame counter.

15. A non-transitory computer readable medium storing instructions to cause a processor to perform operations comprising:

storing a local value of a frame counter, wherein the local value of the frame counter was used to decrypt data in a first message;

receiving a second message after a first message over a wireless network, the second message including a sequence counter value identifying the second message relative to other messages in a stream of messages and data encrypted by a correspondent using a secret key;

determining, by a wireless device, a new value of the frame counter from the local value of the frame counter and the sequence counter value in the second message; and

decrypting, by the wireless device, the second message based on the new value of the frame counter.

16. A method, comprising:

storing a local value of a frame counter of a recipient, wherein the local value of the frame counter was used to encrypt data in a first message;

computing, by a wireless device, a new value of the frame counter from the local value of the recipient and a sequence counter value identifying a second message relative to other messages in a stream of messages;

encrypting, by the wireless device, data in the second message using a secret key and the new value of the frame counter; and

sending the second message to the recipient over a wireless network, the second message including the sequence counter value and the encrypted data.

17. A non-transitory computer readable medium storing instructions to cause a processor to perform operations comprising:

storing a local value of a frame counter of a recipient, wherein the local value of the frame counter was used to encrypt data in a first message;

computing, by a wireless device, a new value of the frame counter from the local value of the recipient and a sequence counter value identifying a second message relative to other messages in a stream of messages;

encrypting, by the wireless device, data in the second message using a secret key and the new value of the frame counter; and

sending the second message to the recipient over a wireless network, the second message including the sequence counter value and the encrypted data.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2019
From: CERTICOM CORP.
To: BLACKBERRY LIMITED
Reel/Frame 050610/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2017
From: STRUIK, MARINUS
To: CERTICOM CORP.
Reel/Frame 042509/0236 →
Continuity (5)
Continuation 12549075 · Aug 27, 2009
Division 10726493 · Dec 4, 2003
Provisional Application 60431078 · Dec 4, 2002
Provisional Application 60431645 · Dec 5, 2002
Related Publication 20160366103A1 · Dec 15, 2016