IP Library › Granted Patent US 7,885,411
Granted Patent B2
US 7,885,411 · App. 11/093,954 · Granted Feb 8, 2011

Key agreement and re-keying over a bidirectional communication path

Assignee: Research In Motion Limited
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,885,411
App. No.
11/093,954
Granted
Feb 8, 2011
Kind
B2
Abstract

A method carried out by a first system for establishing a secure bidirectional communication path between the first system and a second system for an exchange of one or more messages is described. A first key pair having a first public key and a first private key is generated, and a second key pair having a second public key and a second private key is generated. The second public key is generated based upon a shared secret known to the first system and the second system. The second public key and the first public key are sent to the second system. A third public key and a fourth public key generated by the second system are received, wherein the fourth public key is generated based upon the shared secret. A master key is calculated based upon the first private key, the second private key, the third public key and the fourth public key, wherein the master key is configured to be used in encryption of one or more messages.

Claims (67)

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;

generating a second key pair having a second public key and a second private key, the second public key being generated based upon a secret known to the first system and the second system;

sending the second public key and the first public key to the second system;

receiving a third public key and a fourth public key generated by the second system, the fourth public key being generated based upon the secret; and

calculating a master key based upon the first private key, the second private key, the third public key and the fourth public key,

wherein the first key pair and the third public key are independent of the secret.

2. 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.

3. The method of claim 2 , further comprising receiving a data payload having a Universal Description, Discovery and Integration (UDDI) service entry prior to receiving the key confirmation value.

4. The method of claim 1 , wherein the first system comprises a wireless mobile device.

5. The method of claim 4 , wherein the second system comprises a host system offering services.

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

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

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

9. The method of claim 5 , wherein an exchange of one or more messages over the bidirectional communication path comprises an exchange of e-mail messages, http-based XML messages, or http-based WML messages.

10. The method of claim 5 , wherein the wireless mobile device and the host system are addressed with e-mail addresses or IP addresses.

11. The method of claim 5 , wherein a modified Simple Password Exponential Key Exchange (SPEKE) method is used in calculating the master key.

12. The method of claim 1 , wherein the first system is a host system offering services, and wherein the second system is a mobile wireless device.

13. 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.

14. The method of claim 1 , wherein the secret that is used in generating the second public key and that is used in generating the fourth public key is communicated between the first system and the second system indirectly through an intermediary.

15. The method of claim 1 , wherein the secret that is used in generating the second public key and that is used in generating the fourth public key is unique to the communications between the first system and the second system.

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

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

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

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

calculating the master key as the hash of the concatenation.

17. 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 generating a second key pair having a second public key and a second private key, the second public key being generated based upon a secret known to the first system and the second system;

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

means for receiving a third public key and a fourth public key generated by the second system, the fourth public key being generated based upon the secret; and

means for calculating a master key based upon the first private key, the second private key, the third public key and the fourth public key,

wherein the first key pair and the third public key are independent of the secret.

18. A first system, comprising:

a memory; and

a processing unit coupled to the memory, wherein the processing unit is configured to execute steps of:

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

generating a second key pair having a second public key and a second private key, the second public key being generated based upon a secret known to the first system and the second system;

sending the second public key and the first public key to the second system;

receiving a third public key and a fourth public key generated by the second system, the fourth public key being generated based upon the secret; and

calculating a master key based upon the first private key, the second private key, the third public key and the fourth public key,

wherein the first key pair and the third public key are independent of the secret.

19. 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;

generating a second key pair having a second public key and a second private key, the second public key being generated based upon a secret known to the first system and the second system;

sending the second public key and the first public key to the second system;

receiving a third public key and a fourth public key generated by the second system, the fourth public key being generated based upon the secret; and

calculating a master key based upon the first private key, the second private key, the third public key and the fourth public key,

wherein the first key pair and the third public key are independent of the secret.

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

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

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

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

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

21. The first system of claim 18 , wherein the processing unit is further configured to execute steps of:

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

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

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

calculating the master key as the hash of the concatenation.

22. Computer-readable storage medium or mediums of claim 19 , wherein calculating the master key comprises:

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

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

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

calculating the master key as the hash of the concatenation.

Assignments (9)
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 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 →
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 →
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 Jun 27, 2005
From: LITTLE, HERBERT A.; BROWN, MICHAEL K.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 016741/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2005
From: LITTLE, HERBERT A.; BROWN, MICHAEL K.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 016410/0178 →
Continuity (3)
Provisional Application 60559092 · Apr 2, 2004
Provisional Application 60559646 · Apr 5, 2004
Related Publication 20050232428A1 · Oct 20, 2005