IP Library Granted Patent US 8,059,814
Granted Patent B1
US 8,059,814 · App. 11/864,001 · Granted Nov 15, 2011

Techniques for carrying out seed or key derivation

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,059,814
App. No.
11/864,001
Granted
Nov 15, 2011
Kind
B1
Abstract

A technique carries out seed (or key) derivation within an electronic apparatus (e.g., a hand holdable electronic apparatus such as a token, an authentication server, etc.). The technique involves acquiring a stored representation of a derived seed, the stored representation of the derived seed resulting from an earlier-performed cryptographic operation based on a higher-level seed. The technique further involves (i) performing a current cryptographic operation based on a stored representation of the higher-level seed, the current cryptographic operation resulting in a current representation of the derived seed, and (ii) providing a corruption detection signal indicating whether the current representation of the derived seed matches the stored representation of the derived seed.

Claims (61)

1. In an electronic apparatus, a method of carrying out key derivation, comprising:

acquiring, by the electronic apparatus, a stored representation of a derived key, the stored representation of the derived key resulting from an earlier-performed cryptographic operation based on a higher-level key;

performing a current cryptographic operation based on a stored representation of the higher-level key, the current cryptographic operation resulting in a current representation of the derived key;

providing a corruption detection signal indicating whether the current representation of the derived key matches the stored representation of the derived key; and

in response to the corruption detection signal indicating that the current representation of the derived key does not match the stored representation of the derived key, (i) deriving a current representation of the higher-level key and (ii) providing a signal indicating whether the current representation of the higher-level key matches the stored representation of the higher-level key.

2. A method as in claim 1 , further comprising:

in response to the corruption detection signal indicating that the current representation of the derived key matches the stored representation of the derived key, deriving a new key based on the stored representation of the higher-level key.

3. A method as in claim 2 wherein the electronic apparatus is arranged to supply a nonce parameter whose value changes over time;

wherein the earlier-performed cryptographic operation inputted, as the nonce parameter, a particular value; and

wherein performing the current cryptographic operation includes inputting the particular value to generate the current representation of the derived key.

4. A method as in claim 3 wherein deriving the new key includes:

performing a new cryptographic operation which inputs, as the nonce parameter, a new value which is different than the particular value.

5. A method as in claim 4 , further comprising:

updating the nonce parameter to change its value at regular intervals over time, the delta between the particular value and the new value being a predetermined amount.

6. A method as in claim 1 wherein the stored representation of the higher-level key results from a prior-performed cryptographic operation based on a next-higher-level key; and wherein deriving the current representation of the higher-level key includes:

performing a present cryptographic operation based on a stored representation of the next-higher-level key, the present cryptographic operation resulting in the current representation of the higher-level key.

7. A method as in claim 6 , further comprising:

in response to the signal indicating that the current representation of the higher-level key matches the stored representation of the higher-level key, deriving a new key based on the higher-level key.

8. A method as in claim 6 , further comprising:

in response to the signal indicating that the current representation of the higher-level key does not match the stored representation of the higher-level key, (i) deriving a current representation of the next-higher-level key and (ii) providing a signal indicating whether the current representation of the next-higher-level key matches the stored representation of the next-higher-level key.

9. In an electronic apparatus, a method of carrying out key derivation, comprising:

acquiring, by the electronic apparatus, a stored representation of a derived key, the stored representation of the derived key resulting from an earlier-performed cryptographic operation based on a higher-level key;

performing a current cryptographic operation based on a stored representation of the higher-level key, the current cryptographic operation resulting in a current representation of the derived key;

providing a corruption detection signal indicating whether the current representation of the derived key matches the stored representation of the derived key;

in response to the corruption detection signal indicating that the current representation of the derived key matches the stored representation of the derived key, deriving a new key based on the stored representation of the higher-level key; and

in response to the corruption detection signal indicating that the current representation of the derived key does not match the stored representation of the derived key, determining whether the stored representation of the higher-level key is corrupted and, if so, replacing the stored representation of the higher-level key with a current representation of the higher-level key prior to deriving the new key based on the higher-level key.

10. A method as in claim 9 wherein the electronic apparatus is a portable token device having an output; and wherein the method further comprises:

outputting, on the output of the portable token device, an authentication code based on the new key to enable a user to remotely authenticate to an authentication server.

11. A method as in claim 9 wherein the electronic apparatus is an authentication server; and wherein the method further comprises:

using the new key to authenticate an authentication code outputted by a portable token device attempting to remotely authenticate to the authentication server.

12. A method as in claim 1 , further comprising:

selecting, as a current representation of a master key, a predominant value among master key values stored in separate master key storage locations of a memory of the electronic apparatus.

13. A method as in claim 12 wherein selecting the predominant value among the master key values includes:

in response to the corruption detection signal indicating that the current representation of the derived key does not match the stored representation of the derived key, (i) reading the master key values from the memory of the electronic apparatus, and (ii) choosing, as the predominant value, the master key value which occurs most often among the master key values.

14. A method as in claim 13 wherein choosing the master key value includes:

polling at least three master key values read from the memory of the electronic apparatus.

15. A method as in claim 14 wherein the memory of the electronic apparatus includes static random access memory (SRAM); and wherein reading the master key values from the memory includes:

loading the master key values from the SRAM, the master key values having been stored in the SRAM prior to acquiring, performing and providing.

16. A hardware authenticator, comprising:

an electronic controller;

memory coupled to the electronic controller; and

a hand holdable casing having a set of peripheral walls which defines an internal space, the electronic controller and the memory being disposed within the internal space;

the electronic controller being arranged to:

acquire a stored representation of a derived key from the memory, the stored representation of the derived key resulting from an earlier-performed cryptographic operation based on a higher-level key;

perform a current cryptographic operation based on a stored representation of the higher-level key, the current cryptographic operation resulting in a current representation of the derived key; and

provide a corruption detection signal indicating whether the current representation of the derived key matches the stored representation of the derived key;

wherein, in response to the corruption detection signal indicating that the current representation of the derived key matches the stored representation of the derived key, the electronic controller is arranged to derive a new key based on the stored representation of the higher-level key; and

wherein, in response to the corruption detection signal indicating that the current representation of the derived key does not match the stored representation of the derived key, the electronic controller is arranged to determine whether the stored representation of the higher-level key is corrupted and, if so, replace the stored representation of the higher-level key with a current representation of the higher-level key prior to deriving the new key based on the higher-level key.

17. An authentication server to perform authentication, comprising:

a network interface;

memory; and

a processing circuit coupled to the network interface and the memory, the processing circuit being arranged to:

acquire a stored representation of a derived key from the memory, the stored representation of the derived key resulting from an earlier-performed cryptographic operation based on a higher-level key,

perform a current cryptographic operation based on a stored representation of the higher-level key, the current cryptographic operation resulting in a current representation of the derived key,

provide a corruption detection signal indicating whether the current representation of the derived key matches the stored representation of the derived key, and

using the derived key, respond to an authentication request received from a hardware authenticator through the network interface, the authentication request attempting to authenticate with the authentication server;

wherein, in response to the corruption detection signal indicating that the current representation of the derived key matches the stored representation of the derived key, the processing circuit is arranged to derive a new key based on the stored representation of the higher-level key; and

wherein, in response to the corruption detection signal indicating that the current representation of the derived key does not match the stored representation of the derived key, the processing circuit is arranged to determine whether the stored representation of the higher-level key is corrupted and, if so, replace the stored representation of the higher-level key with a current representation of the higher-level key prior to deriving the new key based on the higher-level key.

18. A method as in claim 1 wherein the electronic apparatus is a hardware authenticator, the hardware authenticator including an electronic controller, memory coupled to the electronic controller, and a hand holdable casing having a set of peripheral walls which defines an internal space, the electronic controller and the memory being disposed within the internal space; and

wherein the method further comprises:

after acquiring, performing, and providing are accomplished by the electronic controller in combination with the memory while the electronic controller and the memory reside within the internal space defined by the casing to enable, providing a password to authenticate the hardware authenticator with an authentication server, the password being based, at least in part, on the higher-level key.

Assignments (25)
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 56096/0525 Recorded Mar 5, 2026
From: JPMORGAN CHASE BANK, N.A.
To: RSA SECURITY LLC; RSA SECURITY USA LLC
Reel/Frame 075030/0744 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 56098/0534 Recorded Mar 5, 2026
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: RSA SECURITY LLC
Reel/Frame 075041/0175 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 29, 2021
From: RSA SECURITY LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 056096/0525 →
TERMINATION AND RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT REEL 053666, FRAME 0767 Recorded Apr 29, 2021
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: RSA SECURITY LLC
Reel/Frame 056095/0574 →
TERMINATION AND RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT REEL 054155, FRAME 0815 Recorded Apr 29, 2021
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: RSA SECURITY LLC
Reel/Frame 056104/0841 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 29, 2021
From: RSA SECURITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 056098/0534 →
PARTIAL RELEASE OF SECURITY INTEREST Recorded Nov 24, 2020
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXRESS, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 054511/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2020
From: EMC IP HOLDING COMPANY LLC
To: RSA SECURITY LLC
Reel/Frame 053717/0020 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (049452/0223) Recorded Sep 3, 2020
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS AGENT
To: DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 054250/0372 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Sep 3, 2020
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS AGENT
To: DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 054191/0287 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Sep 3, 2020
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS AGENT
To: ASAP SOFTWARE EXPRESS; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 054163/0416 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: RSA SECURITY LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 053666/0767 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: RSA SECURITY LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 054155/0815 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2010
From: RSA SECURITY LLC
To: RSA SECURITY HOLDING, INC.
Reel/Frame 023975/0453 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2010
From: RSA SECURITY HOLDING, INC.
To: EMC CORPORATION
Reel/Frame 023975/0151 →
MERGER Recorded Jan 27, 2010
From: RSA SECURITY INC
To: RSA SECURITY LLC
Reel/Frame 023852/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2010
From: RSA SECURITY HOLDING, INC.
To: EMC CORPORATION
Reel/Frame 023825/0109 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2010
From: RSA SECURITY LLC
To: RSA SECURITY HOLDING, INC.
Reel/Frame 023824/0729 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2007
From: DUANE, WILLIAM M.
To: RSA SECURITY INC.
Reel/Frame 019903/0474 →