IP Library Granted Patent US 8,660,269
Granted Patent B2
US 8,660,269 · App. 13/613,498 · Granted Feb 25, 2014

Method and system for securing data utilizing redundant secure key storage

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,660,269
App. No.
13/613,498
Granted
Feb 25, 2014
Kind
B2
Abstract

A system and method which protects a data processing system against encryption key errors by providing redundant encryption keys stored in different locations, and providing the software with the ability to select an alternate redundant key if there is any possibility that the encryption key being used may be corrupted. In the preferred embodiment, a memory control module in the data processing device is configured to accommodate the storage of multiple (for example up to four or more) independent password/key pairs, and the control module duplicates a password key at the time of creation. The redundant passwords and encryption keys are forced into different memory slots for later retrieval if necessary. The probability of redundant keys being corrupted simultaneously is infinitesimal, so the system and method of the invention ensures that there is always an uncorrupted encryption key available.

Claims (69)

1. A data processing device, comprising:

a processor, comprising:

a key generating module adapted to generate a first encryption key from a first password, a key seed, and a current key; and at least one redundant encryption key from the first password, the key seed, and the current key; and

a module adapted to encrypt data using the first encryption key, and to decrypt the data thus encrypted using a selected key,

wherein the selected key is selected from:

the first encryption key; or

upon determination that a particular event has occurred, one of the at least one redundant encryption key.

2. The data processing device of claim 1 , wherein the particular event is selected from one of: corruption of the first encryption key; detection of a faulty data signature; and detection of a faulty javascript execution.

3. The data processing device of claim 1 , wherein the data thus encrypted and decrypted comprises at least one script and the particular event comprises detection of faulty execution of the script when decrypted using the first encryption key.

4. The data processing device of claim 1 , wherein the particular event comprises detection of a faulty signature in the data when decrypted using the first encryption key.

5. The data processing device of claim 1 , wherein the key generating module is adapted to generate one redundant encryption key for the first encryption key.

6. The data processing device of claim 1 , wherein the key generating module is adapted to generate the first key encryption key by:

loading the current key from storage;

obtaining the first password and computing the first encryption key from the first password, the key seed, and the current key;

selecting a first storage location; and

storing the first password and the first encryption key at the storage location.

7. The data processing device of claim 6 , wherein the data processing device exits an insecure state when the current key is loaded and re-enters the insecure state once the first password and first encryption key are stored.

8. The data processing device of claim 6 , wherein the key generating module is adapted to generate the at least one redundant encryption key by:

loading the current key from storage;

obtaining the first password and computing the redundant encryption key from the first password, the key seed, and the current key;

selecting a further storage location other than the first storage location; and

storing the first password and the redundant encryption key in the further storage location.

9. The data processing device of claim 1 , further comprising an EEPROM memory adapted to store the first encryption key and the at least one redundant encryption key.

10. The data processing device of claim 9 , wherein the key generating module is comprised in an EEPROM control block in communication with the EEPROM memory.

11. A method of securing data in a data processing device, comprising:

generating a first encryption key from a first password, a key seed, and a current key;

generating at least one redundant encryption key from the first password, the key seed, and the current key;

encrypting data using the first encryption key; and

decrypting the data thus encrypted using a selected key,

wherein the selected key is selected from:

the first encryption key; or

upon determination that a particular event has occurred, one of the at least one redundant encryption key.

12. The method of claim 11 , wherein the event is selected from one of corruption of the first encryption key; detection of a faulty data signature; and detection of a faulty javascript execution.

13. The method of claim 11 , wherein the data thus encrypted and decrypted comprises at least one script and the particular event comprises detection of faulty execution of the script when decrypted using the first encryption key.

14. The method of claim 11 , wherein the particular event comprises detection of a faulty signature in the data when decrypted using the first encryption key.

15. The method of claim 11 , wherein generating the at least one redundant encryption key comprises generating one redundant encryption key for the first encryption key.

16. The method of claim 11 , wherein generating the first key encryption key comprises:

loading the current key from storage;

obtaining the first password and computing the first encryption key from the first password, the key seed, and the current key;

selecting a first storage location; and

storing the first password and the first encryption key at the storage location.

17. The method of claim 16 , wherein the data processing device exits an insecure state when the current key is loaded and re-enters the insecure state once the first password and first encryption key are stored.

18. The method of claim 16 , wherein generating the at least one redundant encryption key comprises:

loading the current key from storage;

obtaining the first password and computing the redundant encryption key from the first password, the key seed, and the current key;

selecting a further storage location other than the first storage location; and

storing the first password and the redundant encryption key in the further storage location.

19. A data processing device, comprising:

a processor, comprising:

at least one key generator for generating a first encryption key from a first password, a key seed, and a current key and at least one redundant encryption key from the first password, the key seed, and the current key;

an encryptor for encrypting data using the first encryption key; and

a decryptor for decrypting the data thus encrypted using a selected key,

wherein the selected key is selected from:

the first encryption key; or

upon determination that a particular event has occurred, one of the at least one redundant encryption key.

20. The data processing device of claim 19 , wherein the event is selected from one of corruption of the first encryption key; detection of a faulty data signature; and detection of a faulty javascript execution.

21. The data processing device of claim 19 , wherein the encrypted and decrypted data comprises at least one script and the particular event comprises detection of faulty execution of the script when decrypted using the first encryption key.

22. The data processing device of claim 19 , wherein the particular event comprises detection of a faulty signature in the data when decrypted using the first encryption key.

23. The data processing device of claim 19 , wherein the at least one key generator is configured to generate one redundant encryption key for the first encryption key.

24. The data processing device of claim 19 , wherein the at least one key generator is configured to:

load the current key from storage;

obtain the first password and compute the first encryption key from the first password, the key seed, and the current key;

select a first storage location; and

store the first password and the first encryption key at the storage location.

25. The data processing device of claim 24 , wherein the at least one key generator is configured to:

load the current key from storage;

obtain the first password and compute the redundant encryption key from the first password, the key seed, and the current key;

select a further storage location other than the first storage location; and

store the first password and the redundant encryption key in the further storage location.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Jan 1, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 031896/0305 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2012
From: RANDELL, JERROLD R.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 028953/0908 →