← Back to Patent Explorer
US5592553A Expired / Lapsed US ⏱️ 0.0 years remaining

Authentication system using one-time passwords

Assignee: International Business Machines Corp
•
Filing: 1996-02-08
•
Granted: 1997-01-07
•
Expires: 2016-02-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system for authenticating a user located at a requesting node to a resource such as a host application located at an authenticating node using one-time passwords that change pseudorandomly with each request for authentication. At the requesting node a non-time-dependent value is generated from nonsecret information identifying the user and the host application, using a secret encryption key shared with the authenticating node. The non-time-dependent value is combined with a time-dependent value to generate a composite value that is encrypted to produce an authentication parameter. The authentication parameter is reversibly transformed into an alphanumeric character string that is transmitted as a one-time password to the authenticating node. At the authenticating node the received password is transformed back into the corresponding authentication parameter, which is decrypted to regenerate the composite value. The non-time-dependent value is replicated at the authenticating node using the same nonsecret information and encryption key shared with the requesting node. The locally generated non-time-dependent value is combined with the regenerated composite value to regenerate the time-dependent value. The user is authenticated if the regenerated time-dependent value is within a predetermined range of a time-dependent value that is locally generated at the authenticating node.

Inventors

  • 👤 Richard H. Guski
  • 👤 Raymond C. Larson
  • 👤 Stephen M. Matyas, Jr.
  • 👤 Donald B. Johnson
  • 👤 Don Coppersmith

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 21:59
CPC Classifications
H; H04; H04L; H04L63/00; H04L63/08; H04L63/083; H04L63/0838; G; G06; G06F; G06F21/00; G06F21/30; G06F21/31; H04L12/00; H04L12/02; H04L12/22; H04L63/0846; H04L9/00; H04L9/08; H04L9/0816; H04L9/0819; H04L9/0822; H04L9/088; H04L9/0894; H04L9/32; H04L9/3226; H04L9/3228; H04L2209/00; H04L2209/20; H04W; H04W12/00; H04W12/60; H04W12/61

Claims Analysis

Total Claims: 37
Claim 1
Independent Claim 92 words
In an authentication system, a method of generating a time-dependent password for presentation to an authenticator, comprising the steps of: generating an authentication parameter as a function of time-dependent information using a predetermined first transformation having an inverse transformation, said time-dependent information being recoverable from said authentication parameter using said inverse transformation; generating a time-dependent password comprising a character string from said authentication parameter using a predetermined second transformation having an inverse transformation, said authentication parameter being recoverable from said password using said inverse transformation; and presenting said password to said authenticator.
Claim 2
Dependent Claim 92 words
In an authentication system, a method of generating a time-dependent password for presentation to an authenticator, comprising the steps of: generating an authentication parameter as a function of time-dependent information using a predetermined first transformation having an inverse transformation, said time-dependent information being recoverable from said authentication parameter using said inverse transformation; generating a time-dependent password comprising a character string from said authentication parameter using a predetermined second transformation having an inverse transformation, said authentication parameter being recoverable from said password using said inverse transformation; and presenting said password to said authenticator.
Claim 3
Dependent Claim 44 words
The method of claim 1, further comprising the steps of: regenerating said authentication parameter from the password presented to said authenticator using the inverse of said second transformation; and regenerating said time-dependent information from said authentication parameter using the inverse of said first transformation.
Claim 4
Dependent Claim 52 words
The method of claim 2 wherein said time-dependent information comprises a value, said method further comprising the steps of: comparing the regenerated time-dependent value with a reference time-dependent value; and validating said password if said regenerated time-dependent value is within a predetermined tolerance of said reference time-dependent value, otherwise, rejecting said password.
Claim 5
Dependent Claim 31 words
The method of claim 1 wherein said first transformation is a cryptographic transformation using an encryption key, said encryption key having a corresponding decryption key [shared with] held by said authenticator.
Claim 6
Dependent Claim 38 words
The method of claim 1 wherein said step of generating an authentication parameter comprises the steps of: combining said time-dependent information with non-time-dependent information to generate composite information; and encrypting said composite information to generate said authentication parameter.
Claim 7
Dependent Claim 20 words
The method of claim 5 wherein said non-time-dependent information is generated by encrypting nonsecret information identifying a request for authentication.
Claim 8
Dependent Claim 14 words
The method of claim 1 wherein said password comprises a string of alphanumeric characters.
Claim 9
Dependent Claim 47 words
The method of claim 1 wherein said authentication parameter is generated from a set of authentication parameters having a predetermined first number of members, said character string being generated from a set of character strings having a predetermined second number of members greater than said first number.
Claim 10
Dependent Claim 55 words
The method of claim 8, comprising the further steps of: determining whether there exists an authentication parameter in said set of authentication parameters from which the password presented to the authenticator is generated using said second transformation; further processing said password if there exists such an authentication parameter, otherwise, rejecting said password without further processing.
Claim 11
Dependent Claim 13 words
The method of claim 1 wherein said time-dependent information comprises time-of-day (TOD) information.
Claim 12
Dependent Claim 166 words
In a system in which a valid password is generated by generating an authentication parameter as a function of a time-dependent value using a predetermined first transformation having an inverse transformation and then generating a time-dependent password comprising a character string from said authentication parameter using a predetermined second transformation having an inverse transformation, said time-dependent value being recoverable from said authentication parameter using the inverse of said first transformation, said authentication parameter being recoverable from said password using the inverse of said second transformation, a method of validating a password presented to an authenticator comprising the steps of: regenerating said authentication parameter from the password presented to said authenticator using the inverse of said second transformation; regenerating said time-dependent value from said regenerated authentication parameter using the inverse of said first transformation; comparing the regenerated time-dependent value with a reference time-dependent value; and validating said password if said regenerated time-dependent value is within a predetermined tolerance of said reference time-dependent value, otherwise, rejecting said password.
Claim 13
Dependent Claim 166 words
In a system in which a valid password is generated by generating an authentication parameter as a function of a time-dependent value using a predetermined first transformation having an inverse transformation and then generating a time-dependent password comprising a character string from said authentication parameter using a predetermined second transformation having an inverse transformation, said time-dependent value being recoverable from said authentication parameter using the inverse of said first transformation, said authentication parameter being recoverable from said password using the inverse of said second transformation, a method of validating a password presented to an authenticator comprising the steps of: regenerating said authentication parameter from the password presented to said authenticator using the inverse of said second transformation; regenerating said time-dependent value from said regenerated authentication parameter using the inverse of said first transformation; comparing the regenerated time-dependent value with a reference time-dependent value; and validating said password if said regenerated time-dependent value is within a predetermined tolerance of said reference time-dependent value, otherwise, rejecting said password.
Claim 14
Dependent Claim 44 words
The method of claim 11 wherein said first transformation is a cryptographic transformation using an encryption key, said encryption key having a corresponding decryption key, said step of regenerating said time-dependent information comprising the step of decrypting said authentication parameter using said decryption key.
Claim 15
Dependent Claim 14 words
The method of claim 11 wherein said password comprises a string of alphanumeric characters.
Claim 16
Dependent Claim 13 words
The method of claim 13 wherein said time-dependent information comprises time-of-day (TOD) information.
Claim 17
Dependent Claim 47 words
The method of claim 11 wherein said character string is generated from a set of character strings having a predetermined first number of members, said authentication parameter being generated from a set of authentication parameters having a predetermined second number of members less than said first number.
Claim 18
Dependent Claim 50 words
The method of claim 15, comprising the further steps of: determining whether there exists an authentication parameter from which the password presented to the authenticator is generated using said second transformation; further processing said password if to there exists such an authentication parameter, otherwise, rejecting said password without further processing.
Claim 19
Dependent Claim 114 words
In an authentication system, a method of generating and preliminarily validating a password, comprising the steps of: generating an authentication parameter from a set of authentication parameters having a predetermined first number of members; generating a password from a set of passwords having a second number of members greater than said first number of members from said authentication parameter using a predetermined transformation; presenting said password to an authenticator; determining whether there exists an authentication parameter in said set of authentication parameters from which the password presented to said authenticator is generated using said transformation; and preliminarily validating said password if there exists such an authentication parameter, otherwise, rejecting said password without further processing.
Claim 20
Dependent Claim 114 words
In an authentication system, a method of generating and preliminarily validating a password, comprising the steps of: generating an authentication parameter from a set of authentication parameters having a predetermined first number of members; generating a password from a set of passwords having a second number of members greater than said first number of members from said authentication parameter using a predetermined transformation; presenting said password to an authenticator; determining whether there exists an authentication parameter in said set of authentication parameters from which the password presented to said authenticator is generated using said transformation; and preliminarily validating said password if there exists such an authentication parameter, otherwise, rejecting said password without further processing.
Claim 21
Dependent Claim 29 words
The method of claim 17 in which said authentication parameter comprises a first plurality of bits, said password comprising a second plurality of bits greater than said first plurality.
Claim 22
Dependent Claim 36 words
The method of claim 18 wherein said password contains a plurality of sets of bits, each of said sets of bits being generated as a function of a corresponding set of bits of said authentication parameter.
Claim 23
Dependent Claim 18 words
The method of claim 19 wherein each of said sets of bits in said password represents a character.
Claim 24
Dependent Claim 14 words
The method of claim 20 wherein each of said characters is an alphanumeric character.
Claim 25
Dependent Claim 18 words
The method of claim 19 wherein the corresponding sets of bits in said authentication parameter overlap one another.
Claim 26
Dependent Claim 116 words
In an authentication system, a method of generating a time-dependent authentication code for presentation to an authenticator at an authenticating node, comprising the steps of: generating time-dependent information at a requesting node; combining said time-dependent information with non-time-dependent information to generate composite information, said time-dependent information being combined with said non-time-dependent information in such a manner that said time-dependent information is recoverable from said composite information by combining said composite information with said non-time-dependent information; generating an authentication code from said composite information using a predetermined transformation having an inverse transformation, said composite information being recoverable from said authentication code using said inverse transformation; transmitting said authentication code to said authenticator located at said authenticating node.
Claim 27
Dependent Claim 116 words
In an authentication system, a method of generating a time-dependent authentication code for presentation to an authenticator at an authenticating node, comprising the steps of: generating time-dependent information at a requesting node; combining said time-dependent information with non-time-dependent information to generate composite information, said time-dependent information being combined with said non-time-dependent information in such a manner that said time-dependent information is recoverable from said composite information by combining said composite information with said non-time-dependent information; generating an authentication code from said composite information using a predetermined transformation having an inverse transformation, said composite information being recoverable from said authentication code using said inverse transformation; transmitting said authentication code to said authenticator located at said authenticating node.
Claim 28
Dependent Claim 48 words
The method of claim 23, further comprising the steps of: regenerating said composite information from the authentication code transmitted to said authenticator using the inverse of said transformation; and regenerating said time-dependent information from the regenerated composite information by combining said regenerated composite information with said non-time-dependent information.
Claim 29
Dependent Claim 56 words
The method of claim 23 wherein said time-dependent information comprises a value, said method further comprising the steps of: comparing the regenerated time-dependent value with a reference time-dependent value; and granting access to a resource if said regenerated time-dependent value is within a predetermined tolerance of said reference time-dependent value, otherwise denying access to said resource.
Claim 30
Dependent Claim 28 words
The method of claim 23 wherein said non-time-dependent information and said time-dependent information each comprise bit strings and are combined bitwise by the operation of modulo 2 addition.
Claim 31
Dependent Claim 29 words
The method of claim 23 wherein said predetermined transformation is a cryptographic transformation using an encryption key, said encryption key having a corresponding decryption key held by said authenticator.
Claim 32
Independent Claim 192 words
A method of transforming an input data block containing n bits into an output data block containing n bits, where n is an even integer, said method comprising the steps of: (a) partitioning the input data block into first and second halves each containing n/2 bits; (b) subjecting said halves of said input data block to a plurality of rounds of processing in which first and second input halves are transformed into first and second output halves serving as the corresponding input halves for the subsequent round, each of said rounds comprising the steps of: (1) generating a predetermined first function of the first input half; (2) generating the first output half as a predetermined second function of said predetermined first function and the second input half; and (3) generating the second output half as a predetermined third function of the first input half; at least one of said first, second and third functions involving a permutation of a set of n/2 input bits to yield n/2 output bits, said permutation being different for each of said rounds; and (c) recombining said first and second halves to produce said output data block.
Claim 33
Independent Claim 192 words
A method of transforming an input data block containing n bits into an output data block containing n bits, where n is an even integer, said method comprising the steps of: (a) partitioning the input data block into first and second halves each containing n/2 bits; (b) subjecting said halves of said input data block to a plurality of rounds of processing in which first and second input halves are transformed into first and second output halves serving as the corresponding input halves for the subsequent round, each of said rounds comprising the steps of: (1) generating a predetermined first function of the first input half; (2) generating the first output half as a predetermined second function of said predetermined first function and the second input half; and (3) generating the second output half as a predetermined third function of the first input half; at least one of said first, second and third functions involving a permutation of a set of n/2 input bits to yield n/2 output bits, said permutation being different for each of said rounds; and (c) recombining said first and second halves to produce said output data block.
Claim 34
Independent Claim 219 words
A method of transforming an input data block containing n bits into an output data block containing n bits, where n is an even integer, said method comprising the steps of: (a) partitioning the input data block into first and second halves each containing n/2 bits; (b) subjecting said halves of said input data block to a plurality of rounds of processing in which first and second input halves are transformed into first and second output halves, the output halves of a given round serving as the corresponding input halves for the subsequent round, each of said rounds comprising the steps of: (1) padding said first input half with padding bits to generate a m-bit input value, where m is greater than n/2; (2) encrypting said m-bit input value using a predetermined m-bit encryption procedure to generate an m-bit output value; (3) selecting predetermined bits of said m-bit output value to form an n/2-bit output value; (4) generating the first output half for said round as a function of the modulo 2 sum of said n/2-bit output value and the second input half for said round; and (5) setting the second output half for said round equal to the first input half for said round; and (c) recombining said first and second halves to produce said output data block.
Claim 35
Independent Claim 219 words
A method of transforming an input data block containing n bits into an output data block containing n bits, where n is an even integer, said method comprising the steps of: (a) partitioning the input data block into first and second halves each containing n/2 bits; (b) subjecting said halves of said input data block to a plurality of rounds of processing in which first and second input halves are transformed into first and second output halves, the output halves of a given round serving as the corresponding input halves for the subsequent round, each of said rounds comprising the steps of: (1) padding said first input half with padding bits to generate a m-bit input value, where m is greater than n/2; (2) encrypting said m-bit input value using a predetermined m-bit encryption procedure to generate an m-bit output value; (3) selecting predetermined bits of said m-bit output value to form an n/2-bit output value; (4) generating the first output half for said round as a function of the modulo 2 sum of said n/2-bit output value and the second input half for said round; and (5) setting the second output half for said round equal to the first input half for said round; and (c) recombining said first and second halves to produce said output data block.
Claim 36
Dependent Claim 19 words
The method of claim 29 wherein m is 64 and said predetermined encryption procedure is the DES encryption procedure.
Claim 37
Dependent Claim 26 words
The method of claim 29 wherein said predetermined m-bit encryption procedure has a key and wherein the same key is used for each of said rounds.

References Cited (Backward Citations)

US4078152A Cited
US4229818A Cited
US4885778A Cited
US4800590A Cited
US5163097A Cited
US5241594A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-01-07 2000-07-08 2001-01-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-01-07 2004-07-08 2005-01-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-01-07 2008-07-08 2009-01-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag