IP Library Granted Patent US 8,307,210
Granted Patent B1
US 8,307,210 · App. 12/114,245 · Granted Nov 6, 2012

Method and apparatus for secure validation of tokens

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,307,210
App. No.
12/114,245
Granted
Nov 6, 2012
Kind
B1
Abstract

A method for validating a cryptographic token includes (a) operating the cryptographic token to generate a pseudo-random number for authentication purposes by using a cryptographic seed uniquely associated with the cryptographic token, the cryptographic seed having been cryptographically generated using a precursor value, (b) receiving a first value from the cryptographic token, the first value being the pseudo-random number generated by the cryptographic token, (c) inputting the first value and the precursor value into a trusted computing platform, and (d) operating the trusted computing platform to generate a validation signal if the first value can be derived using a specified algorithm from the precursor value, but to generate a failure signal if the first value cannot be derived using the specified algorithm from the precursor value. Accompanying methods and apparatus are also provided.

Claims (108)

1. A machine for verifying that a cryptographic token has been properly configured, the cryptographic token having been produced by a manufacturer in possession of the machine, the machine comprising:

tamper-resistant non-volatile memory, the non-volatile memory storing a first secret code;

an input/output device;

a processor, the processor being configured to:

receive a test value through the input/output device;

receive a precursor value through the input/output device;

calculate an expected cryptographic seed uniquely associated with the cryptographic token by using the precursor value and the first secret code stored in tamper-resistant non-volatile memory;

calculate an expected pseudo-random number by using the expected cryptographic seed and calculation parameters;

compare the expected pseudo-random number and the test value; and

if the expected pseudo-random number equals the test value, then output a signal verifying that the cryptographic token has been properly configured, otherwise output a signal to the manufacturer in possession of the machine indicating that the cryptographic token has not been properly configured;

wherein:

the precursor value received through the input/output device is received from the cryptographic token, the precursor value having been calculated by the cryptographic token; and

the test value received through the input/output device is received from the cryptographic token, the test value having been calculated by the cryptographic token using a secret cryptographic seed stored on the cryptographic token;

calculation of the precursor value by the cryptographic token includes:

the cryptographic token receiving a serial number uniquely assigned to the cryptographic token by the manufacturer not in possession of the first secret code; and

the cryptographic token mathematically combining the serial number with the first secret code; and

calculation of the test value by the cryptographic token includes the cryptographic token mathematically combining the precursor value with the secret cryptographic seed.

2. A machine as in claim 1 wherein:

the input/output device is a serial bus port for connecting to the cryptographic token; and

the output signal is sent over the serial bus port.

3. A machine as in claim 1 wherein:

the input/output device includes:

a keypad; and

a display screen; and

the processor is configured to:

receive the test value through the keypad, the test value being copied from a display of the cryptographic token upon the cryptographic token generating the test value;

receive the precursor value through the keypad, the precursor value being copied from a display of the cryptographic token upon the cryptographic token generating the precursor value;

output the signal verifying that the cryptographic token has been properly configured by displaying a verification signal on the display screen; and

output the signal indicating that the cryptographic token has not been properly configured by displaying a failure signal on the display screen.

4. A machine as in claim 1 wherein the machine is housed within a sealed flexible card.

5. A machine as in claim 1 wherein the processor is configured to calculate the expected cryptographic seed by encrypting the precursor value with the first secret code as encryption key according to a specified algorithm.

6. A machine as in claim 5 wherein:

the precursor value is a serial number associated with the cryptographic token; and

the specified algorithm is a secret cryptographic algorithm.

7. A method of validating a cryptographic token at a trusted computing module, the cryptographic token having been produced by a manufacturer in possession of the trusted computing module, the method comprising:

receiving a test value through an input/output device;

receiving a precursor value through the input/output device;

calculating an expected cryptographic seed uniquely associated with the cryptographic token by using the precursor value and a first secret code stored in tamper-resistant non-volatile memory;

calculating an expected pseudo-random number by using the expected cryptographic seed and calculation parameters;

comparing the expected pseudo-random number and the test value; and

if the expected pseudo-random number equals the test value, then outputting a signal verifying that the cryptographic token has been properly configured, otherwise outputting a signal to the manufacturer in possession of the trusted computing module indicating that the cryptographic token has not been properly configured;

wherein

receiving the precursor value through the input/output device includes receiving the precursor value from the cryptographic token, the precursor value having been calculated by the cryptographic token;

receiving the test value through the input/output device includes receiving the test value from the cryptographic token, the test value having been calculated by the cryptographic token using a secret cryptographic seed stored on the cryptographic token;

calculation of the precursor value by the cryptographic token includes:

the cryptographic token receiving a serial number uniquely assigned to the cryptographic token by the manufacturer not in possession of the first secret code; and

the cryptographic token mathematically combining the serial number with the first secret code; and

calculation of the test value by the cryptographic token includes the cryptographic token mathematically combining the precursor value with the secret cryptographic seed.

8. A method as in claim 7 wherein calculating the expected cryptographic seed includes encrypting the precursor value with the first secret code as encryption key according to a specified algorithm.

9. A method as in claim 8 wherein:

the precursor value is a serial number associated with the cryptographic token; and

the specified algorithm is a secret cryptographic algorithm.

10. A machine as in claim 1 wherein:

the cryptographic token mathematically combining the serial number with the first secret code includes the cryptographic token:

internally generating a first random number;

performing a bitwise exclusive-or operation on the first secret code, the serial number, and the first random number to generate a revised secret code;

receiving, from the manufacturer, a second random number; and

encrypting the second random number using the revised secret code as an encryption key, yielding the precursor value;

the cryptographic token mathematically combining the precursor value with the secret cryptographic seed includes the cryptographic token:

encrypting the precursor value using the first secret code as an encryption key, yielding the secret cryptographic seed;

storing the secret cryptographic seed on the cryptographic token; and

generating a pseudo-random number using the secret cryptographic seed as a seed value and a time value as a calculation parameter.

11. A method as in claim 7 wherein:

the cryptographic token mathematically combining the serial number with the first secret code includes the cryptographic token:

internally generating a first random number;

performing a bitwise exclusive-or operation on the first secret code, the serial number, and the first random number to generate a revised secret code;

receiving, from the manufacturer, a second random number; and

encrypting the second random number using the revised secret code as an encryption key, yielding the precursor value;

the cryptographic token mathematically combining the precursor value with the secret cryptographic seed includes the cryptographic token:

encrypting the precursor value using the first secret code as an encryption key, yielding the secret cryptographic seed;

storing the secret cryptographic seed on the cryptographic token; and

generating a pseudo-random number using the secret cryptographic seed as a seed value and a time value as a calculation parameter.

12. A method of validating, at a trusted computing module (TCM), a cryptographic token produced by a manufacturer in possession of the trusted computing module, the method comprising:

receiving, at the TCM, a precursor value from the cryptographic token, the precursor value being an intermediate value produced by the cryptographic token while internally generating a token cryptographic seed (TCS) from a secret code stored in the cryptographic token, the TCS and the secret code remaining unknown to the manufacturer;

receiving, at the TCM, a pseudo-randomly generated value under test (PRGVUT) from the cryptographic token, the PRGVUT being a number generated by the cryptographic token by applying a pseudo-random number generation algorithm to the TCS and another parameter, the other parameter being known to both the cryptographic token and the TCM;

calculating, at the TCM, a best-guess cryptographic seed (BGCS) by encrypting the precursor value using the secret code as an encryption key, the secret code being securely stored within tamper-resistant non-volatile memory of the TCM such that the secret code is not accessible to the manufacturer;

generating, at the TCM, a best-guess pseudo-randomly generated value (BGPRGV) by applying the pseudo-random number generation algorithm to the BGCS and the other parameter;

comparing, at the TCM, the BGPRGV to the PRGVUT; and

if and only if the BGPRGV is equal to the PRGVUT, then outputting a validation signal from the TCM to the manufacturer in possession of the TCM to inform the manufacturer that the cryptographic token has been properly configured.

13. The method of claim 12 wherein internally generating the TCS from the secret code stored in the cryptographic token includes:

generating a first random number at the cryptographic token;

receiving, at the cryptographic token, a second random number from the manufacturer, the second random number having been generated by the manufacturer;

receiving, at the cryptographic token, a unique serial number from the manufacturer, the unique serial number having been generated by the manufacturer;

mathematically combining, at the cryptographic token, the secret code, the first random number, and the serial number, to yield another secret code;

encrypting, at the cryptographic token, the second random number using the other secret code as an encryption key, to yield the intermediate value; and

encrypting, at the cryptographic token, the intermediate value using the secret code as an encryption key, to yield the TCS.

14. A method of producing cryptographic tokens, the method comprising:

providing, from a central encryption authority, a manufacturer with a machine for verifying that a cryptographic token has been properly configured with a secret cryptographic seed;

assigning, by the central encryption authority, a first secret code to the manufacturer, the first secret code being securely embedded in tamper-resistant pre-fabricated chips sent to the manufacturer, the first secret code being kept a secret unknown to the manufacturer;

receiving, at the central encryption authority, for each of a plurality of cryptographic tokens produced by the manufacturer using the pre-fabricated chips, a serial number uniquely assigned to that cryptographic token and a precursor value produced by that cryptographic token;

calculating, using a computer, at the central encryption authority, the secret cryptographic seed for each of the plurality of cryptographic tokens using the first secret code assigned to the manufacturer and the serial number and precursor value received for that cryptographic token;

wherein the machine for verifying that a cryptographic token has been properly configured with a secret cryptographic seed includes:

tamper-resistant non-volatile memory, the non-volatile memory storing the first secret code;

an input/output device;

a processor, the processor being configured to:

receive a test value through the input/output device;

receive the precursor value produced by the cryptographic token through the input/output device;

calculate an expected cryptographic seed uniquely associated with the cryptographic token by using the precursor value and the first secret code stored in tamper-resistant non- volatile memory;

calculate an expected pseudo-random number by using the expected cryptographic seed and calculation parameters;

compare the expected pseudo-random number and the test value; and

if the expected pseudo-random number equals the test value, then output a signal verifying that the cryptographic token has been properly configured, otherwise output a signal to the manufacturer in possession of the machine indicating that the cryptographic token has not been properly configured;

wherein:

the precursor value received through the input/output device is received from the cryptographic token, the precursor value having been calculated by the cryptographic token; and

the test value received through the input/output device is received from the cryptographic token, the test value having been calculated by the cryptographic token using a secret cryptographic seed stored on the cryptographic token;

calculation of the precursor value by the cryptographic token includes:

the cryptographic token receiving the serial number uniquely assigned to the cryptographic token by the manufacturer not in possession of the first secret code; and

the cryptographic token mathematically combining the serial number with the first secret code; and

calculation of the test value by the cryptographic token includes the cryptographic token mathematically combining the precursor value with the secret cryptographic seed.

Assignments (25)
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 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 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 →
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 →
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 →
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 (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 →
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 (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 →
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 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: RSA SECURITY LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 053666/0767 →
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: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/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 →
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 LLC
To: RSA SECURITY HOLDING, INC.
Reel/Frame 023824/0729 →
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 May 28, 2008
From: DUANE, WILLIAM M.
To: RSA SECURITY, INC.
Reel/Frame 021007/0611 →