IP Library Granted Patent US 8,090,107
Granted Patent B2
US 8,090,107 · App. 12/973,485 · Granted Jan 3, 2012

Key agreement and re-keying over a bidirectional communication path

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,090,107
App. No.
12/973,485
Granted
Jan 3, 2012
Kind
B2
Abstract

A key agreement method is carried out by a first system in conjunction with a second system over a bidirectional communication path, including generating a first key pair having a first public key and a first private key, sending the first public key to the second system, receiving a second public key generated by the second system, and calculating a master key based upon the first private key, the second public key, a long-term private key, and a long-term public key. The long-term private key was generated by the first system during a previous key-agreement method as part of a long-term key pair. The long-term public key was generated by the second system and received during the previous key-agreement method. The previous key-agreement method required a secret to be known to the first system and the second system, thus conferring authentication based on the secret to the long-term public key.

Claims (73)

1. A key agreement method carried out by a first system in conjunction with a second system over a bidirectional communication path between the first system and the second system, the method comprising:

generating a first key pair having a first public key and a first private key;

sending the first public key to the second system;

receiving a second public key generated by the second system; and

calculating a master key based upon the first private key, the second public key, a long-term private key, and a long-term public key,

wherein the long-term private key was generated by the first system during a previous key-agreement method as part of a long-term key pair,

wherein the long-term public key was generated by the second system and was received during the previous key-agreement method,

wherein the previous key-agreement method required a secret to be known to the first system and to the second system, thus conferring authentication based on the secret to the long-term public key, and

wherein the first public key, the second public key, the long-term public key, and a public key of the long-term key pair are all independent of the secret.

2. The method of claim 1 , wherein calculating the master key comprises:

calculating a first value based upon the first private key and the second public key;

calculating a second value based upon the long-term private key and the long-term public key;

creating a concatenation of the first value with the second value; and

calculating the master key as a hash of the concatenation.

3. The method of claim 1 , further comprising:

receiving from the second system a key confirmation value generated by the second system in a known manner using what the second system considers to be the master key;

calculating a value in the known manner using the master key; and

where the calculated value is identical to the key confirmation value received from the second system, determining that the second system is in possession of the master key.

4. The method of claim 1 , further comprising using the master key to encrypt one or more messages to be exchanged between the first system and the second system over the bidirectional communication path.

5. The method of claim 4 , wherein the messages comprise one or more e-mail messages, http-based XML messages, or http-based WML messages.

6. The method of claim 4 , wherein the first system and the second system are addressed with e-mail addresses or IP addresses.

7. The method of claim 1 , wherein one of the first system and the second system comprises a wireless mobile device.

8. The method of claim 7 , wherein the other of the first system and the second system comprises a wireless mobile device.

9. The method of claim 7 , wherein the other of the first system and the second system comprises a host system offering services.

10. The method of claim 1 , wherein one of the first system and the second system comprises a host system offering services.

11. The method of claim 10 , wherein the secret comprises a personal identification number (PIN) automatically generated by the host system.

12. The method of claim 1 , wherein the secret is communicated over a secure out-of-band channel.

13. The method of claim 12 , wherein the secret is received from the second system through a web interface following a request by the first system.

14. The method of claim 1 , wherein the secret is communicated between the first system and the second system indirectly through an intermediary.

15. The method of claim 1 , wherein the secret is unique to the communications between the first system and the second system.

16. A first system for carrying out a key agreement method in conjunction with a second system over a bidirectional communication path between the first system and the second system, comprising:

means for generating a first key pair having a first public key and a first private key;

means for sending the first public key to the second system;

means for calculating a master key based upon the first private key, the second public key, a long-term private key, and a long-term public key,

wherein the long-term private key was generated by the first system during a previous key-agreement method as part of a long-term key pair,

wherein the long-term public key was generated by the second system and was received during the previous key-agreement method,

wherein the previous key-agreement method required a secret to be known to the first system and to the second system, thus conferring authentication based on the secret to the long-term public key, and

wherein the first public key, the second public key, the long-term public key, and a public key of the long-term key pair are all independent of the secret.

17. The first system of claim 16 , wherein the means for calculating the master key comprises:

means for calculating a first value based upon the first private key and the second public key;

means for calculating a second value based upon the long-term private key and the long-term public key;

means for creating a concatenation of the first value with the second value; and

means for calculating the master key as a hash of the concatenation.

18. A first system, comprising:

a memory; and

a processing unit coupled to the memory, wherein the processing unit is configured to carry out a key agreement method in conjunction with a second system by:

generating a first key pair having a first public key and a first private key;

sending the first public key to the second system;

receiving a second public key generated by the second system; and

calculating a master key based upon the first private key, the second public key, a long-term private key, and a long-term public key,

wherein the long-term private key was generated by the first system during a previous key-agreement method as part of a long-term key pair,

wherein the long-term public key was generated by the second system and was received during the previous key-agreement method,

wherein the previous key-agreement method required a secret to be known to the first system and to the second system, thus conferring authentication based on the secret to the long-term public key, and

wherein the first public key, the second public key, the long-term public key, and a public key of the long-term key pair are all independent of the secret.

19. The first system of claim 18 , wherein the processing unit is further configured to calculate the master key by:

calculating a first value based upon the third private key and the fourth public key;

calculating a second value based upon the first long-term private key and the second long-term public key;

creating a concatenation of the first value with the second value; and

calculating the master key as a hash of the concatenation.

20. Computer-readable non-transitory storage medium or mediums encoded with instructions that cause a device with a processor to perform a key agreement method carried out by a first system in conjunction with a second system over a bidirectional communication path between the first system and the second system, said method comprising:

generating a first key pair having a first public key and a first private key;

sending the first public key to the second system;

receiving a second public key generated by the second system; and

calculating a master key based upon the first private key, the second public key, a long-term private key, and a long-term public key,

wherein the long-term private key was generated by the first system during a previous key-agreement method as part of a long-term key pair,

wherein the long-term public key was generated by the second system and was received during the previous key-agreement method,

wherein the previous key-agreement method required a secret to be known to the first system and to the second system, thus conferring authentication based on the secret to the long-term public key, and

wherein the first public key, the second public key, the long-term public key, and a public key of the long-term key pair are all independent of the secret.

21. Computer-readable non-transitory storage medium or mediums of claim 20 , wherein calculating the master key comprises:

calculating a first value based upon the third private key and the fourth public key;

calculating a second value based upon the first long-term private key and the second long-term public key;

creating a concatenation of the first value with the second value; and

calculating the master key as a hash of the concatenation.

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 →
CHANGE OF NAME Recorded Oct 24, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034045/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2011
From: LITTLE, HERBERT A.; BROWN, MICHAEL K.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 025626/0241 →