IP Library Granted Patent US 7,646,872
Granted Patent B2
US 7,646,872 · App. 11/118,236 · Granted Jan 12, 2010

Systems and methods to securely generate shared keys

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,646,872
App. No.
11/118,236
Granted
Jan 12, 2010
Kind
B2
Abstract

A method for secure bidirectional communication between two systems is described. A first key pair and a second key pair are generated, the latter including a second public key that is generated based upon a shared secret. First and second public keys are sent to a second system, and third and fourth public keys are received from the second system. The fourth public key is generated based upon the shared secret. A master key for encrypting messages is calculated based upon a first private key, a second private key, the third public key and the fourth public key. For re-keying, a new second key pair having a new second public key and a new second private key is generated, and a new fourth public key is received. A new master key is calculated using elliptic curve calculations using the new second private key and the new fourth public key.

Claims (55)

1. 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, 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 shared 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 shared secret;

calculating a first master key based upon the first private key, the second private key, the third public key and the fourth public key, wherein the first master key is configured to be used in encryption of one or more messages;

generating a new second key pair having a new second public key and a new second private key;

receiving a new fourth public key from the second system, and calculating a new master key based upon the first private key, the new second private key, the third public key, and the new fourth public key using an elliptic curve calculation.

2. The method of claim 1 , further comprising:

generating a first test string;

sending the first test string to the second system;

receiving a second test string generated by the second system; and

authenticating the second system with the second test string and either the first master key or the new master key.

3. The method of claim 2 , further comprising a step of receiving a data payload having a Universal Description, Discovery and Integration (UDDI) service entry prior to the step of receiving a second test string generated by the second system.

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 shared secret is communicated over a secure out-of-band channel.

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

8. The method of claim 6 , wherein the shared 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 the exchange of one or more messages 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 an elliptic curve calculation is used in calculating the first 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 , wherein calculating the first master key utilizes a secure hash algorithm (SHA).

14. The method of claim 1 , wherein calculating the new master key utilizes a Menezes-Qu-Vanstone (MQV) algorithm.

15. The method of claim 2 , wherein generating the first test string utilizes a hashed message authentication code (HMAC).

16. The method of claim 1 , further comprising encrypting one or messages using either the first master key or the new master key.

17. A first system for establishing a secure bidirectional communication path to a second system for exchanging one or more messages, 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 shared 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 shared secret;

means for calculating a first master key based upon the first private key, the second private key, the third public key and the fourth public key, wherein the first master key is configured to be used in encryption of one or more messages;

means for generating a new second key pair having a new second public key and a new second private key;

means for receiving a new fourth public key from the second system, and

means for calculating a new master key based upon the first private key, the new second private key, the third public key, and the new fourth public key using an elliptic curve calculation.

18. A first system for establishing a secure bidirectional communication path to a second system for exchanging one or more messages, 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 shared 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 shared secret;

calculating a first master key based upon the first private key, the second private key, the third public key and the fourth public key, wherein the first master key is configured to be used in encryption of one or more messages;

generating a new second key pair having a new second public key and a new second private key;

receiving a new fourth public key from the second system, and

calculating a new master key based upon the first private key, the new second private key, the third public key, and the new fourth public key using an elliptic curve calculation.

19. Computer-readable storage medium or mediums encoded with instructions that cause a device with a processor to perform 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, 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 shared 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 shared secret;

calculating a first master key based upon the first private key, the second private key, the third public key and the fourth public key, wherein the first master key is configured to be used in encryption of one or more messages;

generating a new second key pair having a new second public key and a new second private key; and

receiving a new fourth public key from the second system, and calculating a new master key based upon the first private key, the new second private key, the third public key, and the new fourth public key using an elliptic curve calculation.

Assignments (10)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDRESS OF ASSIGNEE, SPECIFICALLY THE ZIP CODE (MISSING) PREVIOUSLY RECORDED ON REEL 016567 FRAME 0847. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNOR'S INTEREST. Recorded Oct 8, 2005
From: BROWN, MICHAEL K.; MACFARLANE, DAVID VICTOR; DAVIS, DINAH LEA MARIE; LITTLE, HERBERT A.; BROWN, MICHAEL S.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 016628/0444 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2005
From: BROWN, MICHAEL K.; MACFARLANE, DAVID VICTOR; DAVIS, DINAH LEA MARIE; LITTLE, HERBERT A.; BROWN, MICHAEL S.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 016815/0696 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2005
From: BROWN, MICHAEL K.; MACFARLANE, DAVID VICTOR; DAVIS, DINAH LEA MARIE; LITTLE, HERBERT A.; BROWN, MICHAEL S.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 016567/0847 →
Continuity (5)
Continuation In Part 1109395400 · Mar 30, 2005
Provisional Application 6055909200 · Apr 2, 2004
Provisional Application 6055964600 · Apr 5, 2004
Provisional Application 6056679000 · Apr 30, 2004
Related Publication 20050251680A1 · Nov 10, 2005