IP Library Granted Patent US 9,432,339
Granted Patent B1
US 9,432,339 · App. 14/500,135 · Granted Aug 30, 2016

Automated token renewal using OTP-based authentication codes

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 9,432,339
App. No.
14/500,135
Granted
Aug 30, 2016
Kind
B1
Abstract

One embodiment is described of a method performed by a computing device for renewing a remote token. The method includes (a) receiving an activation code from the remote token across a network, the activation code including an identification of the token, (b) verifying that the activation code was cryptographically generated with reference to a one-time passcode (OTP) generated by the identified token using an initial key assigned to the token, and (c) in response to verifying, negotiating a new key with the token, the new key to be assigned to the token for use in producing OTPs in the future. Related computer program products, systems, and apparatuses are also described.

Claims (57)

1. A method performed by a computing system for renewing a remote token, the method comprising:

receiving an activation code from the remote token across a network, the activation code including an identification of the remote token, the identification of the remote token within the activation code including an incomplete portion of a serial number of the remote token, the activation code serving to identify the remote token to the computing system;

verifying that the activation code was cryptographically generated with reference to a one-time passcode (OTP) generated by the identified remote token using an initial key assigned to the remote token, wherein verifying includes:

identifying a set of test tokens such that:

each identified test token has an expiration date within a fixed time period after receiving the activation code; and

each identified test token has a serial number containing the incomplete portion of the serial number;

calculating a plurality of OTPs based on an initial key assigned to various test tokens of the set of test tokens for a plurality of different time values; and

confirming that the activation code was generated with reference to the plurality of OTPs for the plurality of different time values for a particular test token of the set of test tokens; and

in response to verifying, negotiating a new key with the remote token, the new key to be assigned to the remote token for use in producing OTPs in the future, wherein negotiating the new key with the remote token includes using one of the Cryptographic Token Key Initialization Protocol (CT-KIP) and the Dynamic Symmetric Key Provisioning Protocol (DSK-PP).

2. The method of claim 1 wherein the method further comprises, prior to verifying, determining that the received activation code is not within a database of manually-created activation codes.

3. The method of claim 1 wherein:

the received activation code further includes a hashed value; and

confirming that the activation code was generated with reference to the plurality of OTPs for the plurality of different time values for the particular test token of the set of test tokens includes hashing a combination of the plurality of OTPs for the plurality of different time values for the particular test token using a predefined hashing algorithm and comparing the result to the hashed value within the received activation code.

4. The method of claim 1 wherein:

the received activation code further includes a salt value and a hashed value; and

confirming that the activation code was generated with reference to the plurality of OTPs for the plurality of different time values for the particular test token of the set of test tokens includes hashing a combination of the salt value and the plurality of OTPs for the plurality of different time values for the particular test token using a predefined hashing algorithm and comparing the result to the hashed value within the received activation code.

5. The method of claim 1 wherein the method further comprises, prior to verifying, determining that the received activation code is not within a database of previously-used activation codes.

6. A system comprising:

network interface circuitry for communicating with a remote token over a network;

processing circuitry configured to:

receive, via the network interface, an activation code from the remote token across the network, the activation code including an identification of the remote token, the identification of the remote token within the activation code including an incomplete portion of a serial number of the remote token, the activation code serving to identify the remote token to the system;

verify that the activation code was cryptographically generated with reference to a one-time passcode (OTP) generated by the identified remote token using an initial key assigned to the remote token, wherein verifying includes:

identifying a set of test tokens such that:

each identified test token has an expiration date within a fixed time period after receiving the activation code; and

each identified test token has a serial number containing the incomplete portion of the serial number;

calculating a plurality of OTPs based on an initial key assigned to various test tokens of the set of test tokens for a plurality of different time values; and

confirming that the activation code was generated with reference to the plurality of OTPs for the plurality of different time values for a particular test token of the set of test tokens; and

in response to verifying, negotiate, via the network interface, a new key with the remote token, the new key to be assigned to the remote token for use in producing OTPs in the future, wherein negotiating the new key with the remote token includes using one of the Cryptographic Token Key Initialization Protocol (CT-KIP) and the Dynamic Symmetric Key Provisioning Protocol (DSK-PP).

7. The system of claim 6 wherein:

the system includes a first computing device and a second computing device separate from the first computing device;

the first computing device includes:

the network interface circuitry for communicating with the remote token over the network;

the processing circuitry configured to receive the activation code from the remote token across the network;

the processing circuitry configured to, in response to verifying, negotiate the new key with the remote token; and

processing circuitry configured to:

send the received activation code to the second computing device for verification; and

receive a verification result from the second computing device in response to sending the received activation code to the second computing device; and

the second computing device includes the processing circuitry configured to verify that the activation code was cryptographically generated with reference to the OTP generated by the identified remote token using the initial key assigned to the remote token.

8. The system of claim 7 wherein the second computing device further includes processing circuitry configured to, prior to verifying, determine that the received activation code is not within a database of manually-created activation codes.

9. The system of claim 7 wherein the second computing device further includes processing circuitry configured to, prior to verifying, determine that the received activation code is not within a database of previously-used activation codes.

10. A computer program product comprising a non-transitory computer-readable storage medium that stores a set of instructions, which, when executed by a computing device, causes the computing device to renew a token operating thereon by:

cryptographically generating an activation code with reference to a one-time passcode (OTP) generated by the token using an initial key assigned to the token, wherein cryptographically generating the activation code includes:

calculating a plurality of OTPs based on the initial key assigned to the token for a plurality of different time values;

cryptographically combining the plurality of OTPs;

placing an incomplete portion of a serial number of the token within the activation code; and

placing the cryptographic combination of the plurality of OTPs within the activation code;

sending the generated activation code to a remote key negotiation service across a network, the activation code serving to identify the token to the remote key negotiation service;

in response to the activation code being verified by the remote key negotiation service, negotiating a new key with the remote key negotiation service, wherein negotiating the new key with the token includes using one of the Cryptographic Token Key Initialization Protocol (CT-KIP) and the Dynamic Symmetric Key Provisioning Protocol (DSK-PP); and

in response to negotiating the new key, assigning the new key to the token operating on the computing device for use in producing OTPs in the future.

11. The computer program product of claim 10 wherein:

cryptographically combining the plurality of OTPs includes hashing a combination of the plurality of OTPs using a predefined hashing algorithm to yield a hashed value; and

cryptographically generating the activation code further includes placing the hashed value within the activation code.

12. The computer program product of claim 10 wherein:

cryptographically combining the plurality of OTPs includes:

generating a salt value; and

hashing a combination of the salt value and the plurality of OTPs using a predefined hashing algorithm to yield a hashed value; and

cryptographically generating the activation code further includes placing the hashed value and the salt value within the activation code.

Assignments (22)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2024
From: RSA SECURITY LLC
To: RSA SECURITY LLC
Reel/Frame 069762/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2024
From: RSA SECURITY LLC
To: RSA SECURITY USA, LLC
Reel/Frame 069762/0529 →
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 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 →
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 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 (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 Nov 3, 2014
From: BOWNESS, PIERS
To: EMC CORPORATION
Reel/Frame 034087/0138 →