IP Library Granted Patent US 9,294,473
Granted Patent B1
US 9,294,473 · App. 14/662,600 · Granted Mar 22, 2016

Server methods and apparatus for processing passcodes generated by configurable one-time authentication 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 9,294,473
App. No.
14/662,600
Granted
Mar 22, 2016
Kind
B1
Abstract

Server methods and apparatus are provided for processing passcodes generated by configurable one-time authentication tokens. An authentication server is configured to process an original passcode generated by a configurable one-time authentication token by configuring the authentication server to have a server configuration that is compatible with a selected configuration of the configurable one-time authentication token; receiving a candidate passcode based on the original passcode generated by the configurable one-time authentication token; and processing the Is candidate passcode based on the server configuration. The selected configuration of the configurable one-time authentication token must always enable a forward-secure pseudorandom number generation feature for the one-time authentication token and at least one additional selected token feature.

Claims (35)

1. A method for configuring at least one authentication server for processing an original passcode generated by a configurable one-time authentication token, comprising the steps of:

configuring said at least one authentication server to have a server configuration that is compatible with a selected configuration of said configurable one-time authentication token, wherein said selected configuration of said configurable one-time authentication token must always enable a forward-secure pseudorandom number generation feature for said one-time authentication token and at least one additional selected token feature selected from a group comprising a split-server passcode verification feature, a silent alarms feature, a drifting keys feature, a token randomness generation feature used for the generation of passcodes, a randomized state transitions feature, a data-transaction signing feature, an auxiliary channel feature and a time synchronization feature used to maintain synchronization between said one-time authentication token and said at least one authentication server, wherein said time synchronization feature communicates that a forward clock attack has occurred;

receiving a candidate passcode based on said original passcode generated by said configurable one-time authentication token; and

processing said candidate passcode based on said server configuration.

2. The method of claim 1 , wherein said step of processing said candidate passcode further comprises the step of verifying that said candidate passcode is related to said original passcode generated by said configurable one-time authentication token.

3. The method of claim 2 , wherein said step of verifying said candidate passcode further comprises the step of comparing said candidate passcode to a target passcode in a slack window of size s corresponding to a current epoch, wherein said target passcode is computed by said at least one authentication server based on a state corresponding to a current leaf node in a hierarchical tree in correspondence to said original passcode.

4. The method of claim 3 , wherein said original passcode comprises a protocode P based on a forward-secure pseudorandom key K, a current time epoch T of said configurable one-time authentication token and optionally additional data input D, and wherein said target passcode is computed by said at least one authentication server based on said forward-secure pseudorandom key K, said current time epoch T and optionally said additional data input D.

5. The method of claim 2 , wherein said original passcode comprises a plurality of original protocodes for use with a plurality of said authentication servers and wherein said step of verifying that said candidate passcode is related to said original passcode further comprises the step of said plurality of authentication servers comparing said candidate passcode to a plurality of target protocodes, wherein each of said target protocodes corresponds to a slack window of size s corresponding to a current epoch, wherein each of said plurality of target protocodes is computed individually by said plurality of authentication servers in correspondence to said original protocodes.

6. The method of claim 2 , further comprising the step of receiving additional transactional data for a current epoch corresponding to said candidate passcode and wherein said step of verifying said candidate passcode further comprises the step of evaluating said additional transactional data.

7. The method of claim 1 , further comprising the step of ensuring said selected configuration satisfies one or more dependency rules relating at least two of said token features.

8. The method of claim 7 , wherein said one or more dependency rules comprise requiring that said drifting keys feature and said silent alarms feature require said auxiliary channel feature.

9. The method of claim 1 , wherein said split-server passcode verification feature, said silent alarms feature and said drifting keys feature comprise high-layer protection that provides one or more of intrusion-detection, instruction-resilience and resistance to cloning of said one-time authentication token.

10. The method of claim 1 , wherein said forward-secure pseudorandom number generation feature, said token randomness generation feature and said randomized state transitions feature comprise low-layer protection that provides one or more of tamper-resistance and leakage resistance by said one-time authentication token of a secret state of said one-time authentication token.

11. The method of claim 1 , wherein said data-transaction signing feature, said auxiliary channel feature and said time synchronization feature comprise intermediate-layer protection that provides one or more of token-visibility and allowing said one-time authentication token to communicate an assessment of said one-time authentication token to said at least one authentication server.

12. The method of claim 1 , wherein said original passcode comprises one or more bits encoded into an original codeword to embed auxiliary information and said processing of said candidate passcode by said at least one authentication server further comprises the steps of extracting a candidate codeword based on one or more target passcodes that are computed by said at least one authentication server in correspondence to said original passcode and said original codeword, decoding one or more bits from said candidate codeword, wherein said bits comprise auxiliary information, and verifying said candidate passcode by comparing said candidate codeword to one or more target codewords that are related to said one or more target passcodes.

13. The method of claim 12 , wherein said original codeword embeds one or more of a mapping of one or more silent alarm bits corresponding to a silent alarm state, computed by said silent alarm feature, and a mapping of one or more drifting keys bits corresponding to a drifting keys state, wherein said drifting keys state comprises an updated set of keys K t for time t by applying said token randomness generation feature over the previous set of keys K t−1 for time t−1 and is computed by said drifting keys feature, wherein said auxiliary information of said decoding step comprises said one or more mappings corresponding to said silent alarm state and said drifting keys state, and wherein said processing of said candidate passcode by said at least one authentication server further comprises updating one or more of a corresponding target silent alarm state and a target drifting keys state based on said auxiliary information and checking the consistency of said one or more of said updated target silent alarm state and said updated target drifting keys state.

14. The method of claim 1 , wherein at least two forward secure pseudo random number generators of said at least one authentication server exchange hashes of partial states that lie at a higher level of a hierarchy.

15. The method of claim 1 , further comprising the step of extracting one or more auxiliary information bits from said candidate passcode.

16. The method of claim 1 , further comprising the step of generating one or more forward secure pseudorandom numbers of a length that defines a slack window that matches a length that is based on said original passcode generated by said configurable one-time authentication token.

17. A non-transitory machine-readable recordable storage medium for configuring at least one authentication server for processing an original passcode generated by a configurable one-time authentication token, wherein one or more software programs when executed by one or more processing devices implement the following steps:

configuring said at least one authentication server to have a server configuration that is compatible with a selected configuration of said configurable one-time authentication token, wherein said selected configuration of said configurable one-time authentication token must always enable a forward-secure pseudorandom number generation feature for said one-time authentication token and at least one additional selected token feature selected from a group comprising a split-server passcode verification feature, a silent alarms feature, a drifting keys feature, a token randomness generation feature used for the generation of passcodes, a randomized state transitions feature, a data-transaction signing feature, an auxiliary channel feature and a time synchronization feature used to maintain synchronization between said one-time authentication token and said at least one authentication server, wherein said time synchronization feature communicates that a forward clock attack has occurred;

receiving a candidate passcode based on said original passcode generated by said configurable one-time authentication token; and

processing said candidate passcode based on said server configuration.

18. An apparatus for configuring at least one authentication server for processing an original passcode generated by a configurable one-time authentication token, the apparatus comprising:

a memory; and

at least one hardware device, coupled to the memory, configured to implement the following steps:

configure said authentication server to have a server configuration that is compatible with a selected configuration of said configurable one-time authentication token, wherein said selected configuration of said configurable one-time authentication token must always enable a forward-secure pseudorandom number generation feature for said one-time authentication token and at least one additional selected token feature selected from a group comprising a split-server passcode verification feature, a silent alarms feature, a drifting keys feature, a token randomness generation feature used for the generation of passcodes, a randomized state transitions feature, a data-transaction signing feature, an auxiliary channel feature and a time synchronization feature used to maintain synchronization between said one-time authentication token and said at least one authentication server, wherein said time synchronization feature communicates that a forward clock attack has occurred;

receive said candidate passcode based on said original passcode generated by said configurable one-time authentication token; and

process said candidate passcode based on said server configuration.

19. The apparatus of claim 18 , wherein said candidate passcode is processed by verifying that said candidate passcode is related to said original passcode generated by said configurable one-time authentication token by comparing said candidate passcode to a target passcode in a slack window of size s corresponding to a current epoch, wherein said target passcode is computed by said at least one authentication server based on a state corresponding to a current leaf node in a hierarchical tree in correspondence to said original passcode.

20. The apparatus of claim 19 , wherein said original passcode comprises a plurality of original protocodes for use with a plurality of said authentication servers and wherein said step of verifying that said candidate passcode is related to said original passcode further comprises the step of said plurality of authentication servers comparing said candidate passcode to a plurality of target protocodes, wherein each of said target protocodes corresponds to a slack window of size s corresponding to a current epoch, wherein each of said plurality of target protocodes is computed individually by said plurality of authentication servers in correspondence to said original protocodes.

21. The apparatus of claim 19 , wherein said original passcode comprises a protocode P based on a forward-secure pseudorandom key K, a current time epoch T of said configurable one-time authentication token and optionally additional data input D, and wherein said target passcode is computed by said at least one authentication server based on said forward-secure pseudorandom key K, said current time epoch T and optionally said additional data input D.

22. The apparatus of claim 18 , wherein said original passcode comprises one or more bits encoded into an original codeword to embed auxiliary information and said processing of said candidate passcode by said at least one authentication server further comprises extracting a candidate codeword based on one or more target passcodes that are computed by said at least one authentication server in correspondence to said original passcode and said original codeword, decoding one or more bits from said candidate codeword, wherein said bits comprise auxiliary information, and verifying said candidate passcode by comparing said candidate codeword to one or more target codewords that are related to said one or more target passcodes.

23. The apparatus of claim 18 , wherein at least two forward secure pseudo random number generators of said at least one authentication server exchange hashes of partial states that lie at a higher level of a hierarchy.

24. The apparatus of claim 18 , wherein said at least one authentication server extracts one or more auxiliary information bits from said candidate passcode.

Assignments (17)
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 →
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 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2020
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053979/0287 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2020
From: JUELS, ARI; TRIANDOPOULOS, NIKOLAOS; DIJK, MARTEN VAN; BRAINARD, JOHN; RIVEST, RONALD; BOWERS, KEVIN
To: EMC CORPORATION
Reel/Frame 053971/0457 →
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 →
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 →