Authentication protocol using a one-time password
AssigneeUniversite De Picardie Jules Verne
InventorsGilles Dequen, Florian Legendre, Gael Le Mahec
Life of this patent
Estimating the term…
Abstract
Method of authenticating a client to a server, the client having beforehand registered on the server by storing therein a valid identifier (ID) and a hashed word (H0; Hn) generated by applying a hash function to a disposable random variable (RAND0; RANDn; Rn) possessed/known by both the client and the server and concatenated with a sequence (ISC0; ISCn) resulting from hashing the concatenation of a password (PWD) known from the client, said disposable random variable (RAND0; RANDn; Rn) and an initialization sequence (ISCinit) possessed by the client.
Claims14
A method of authenticating a client to a server, the client having beforehand registered on the server by storing therein a valid identifier and a hashed word generated by applying a hash function to a disposable random variable possessed known by both the client and the server and concatenated with a sequence resulting from hashing the concatenation of a password known from the client, said disposable random variable and an initialization sequence possessed by the client, comprising:
- a. the client requesting a connection session to the server by transmitting their identifier;
- b. the server checking the existence of the identifier and allowing the client to continue the authentication process;
- c. the client transmitting a backhash obtained by a modified hash function configured to conserve all bits of a last internal state computed from input data of said hash function;
- d. the server applying to the concatenation of the hashed word and the backhash an inverse hash function obtained by algebraically solving said hash function;
- e. the server comparing the result of the inversion to the disposable random variable it possesses or knows;
- and
- f. when there is a match in the comparison of previous step e, authentication is successful for this connection session and the client is allowed to store on the server a new hashed word corresponding to a different random variable and a possibly different password for a next connection session;
- otherwise, authentication fails.
A non-transitory computer readable medium comprising a computer program instructions that can be read by a client, these instructions controlling the client's authentication to a server on which is stored a valid identifier for the client and a hashed word generated by applying a hash function to a disposable random variable possessed or known by both the client and the server and concatenated with a sequence resulting from hashing the concatenation of a password known from the client, said disposable random variable and an initialization sequence possessed by the client, said instructions comprising:
- requesting a connection session to the server by transmitting the identifier and waiting for the server's acknowledgment;
- transmitting to the server a backhash obtained by a modified hash function configured to conserve all bits of a last internal state computed from input data of said hash function;
- and
- when authentication is allowed for this connection session, storing on the server a new hashed word corresponding to a different random variable and a possibly different password for a next connection session.
A non-transitory computer readable medium comprising a computer program instructions that can be read by a server, these instructions controlling a client's authentication to the server on which is stored a valid identifier for the client and a hashed word generated by applying a hash function to a disposable random variable possessed or known by both the client and the server and concatenated with a sequence resulting from hashing the concatenation of a password known from the client, said disposable random variable and an initialization sequence possessed by the client, said instructions comprising:
- allowing a connection session to the client when a right identifier is transmitted by the client after their connection request;
- waiting to receive from the client a backhash obtained by a modified hash function configured to conserve all bits of a last internal state computed from input data of said hash function;
- applying the concatenation of the hashed word and the backhash to an inverse hash function obtained by algebraically solving said hash function;
- comparing the result of the inversion to the disposable random variable possessed or known by the server;
- and
- when comparison matches, allowing authentication for this connection session, and allowing to store a new hashed word corresponding to a different random variable for a next connection session;
- otherwise rejecting authentication.
A non-transitory computer readable medium comprising a computer program instructions that can be read by both a client and a server, these instructions controlling the client's authentication to the server on which is stored a valid identifier and a hashed word generated by applying a hash function to a disposable random variable possessed or known by both the client and the server and concatenated with a sequence resulting from hashing the concatenation of a password known from the client, said disposable random variable and an initialization sequence possessed by the client, said instructions comprising:
- a. the client requesting a connection session to the server by transmitting their identifier;
- b. the server checking the existence of the identifier and allowing the client to continue the authentication process;
- c. the client transmitting to the server a backhash obtained by a modified hash function configured to conserve all bits of a last internal state computed from input data of said hash function;
- d. the server applying to the concatenation of the hashed word and the backhash an inverse hash function obtained by algebraically solving said hash function;
- e. the server comparing the result of the inversion to the disposable random variable it possesses/knows;
- and
- f. when there is a match in the comparison of previous step e, authentication is successful for this connection session and the client is allowed to store on the server a new hashed word corresponding to a different random variable and a possibly different password for a next connection session;
- otherwise, authentication fails.
Dependencies are inferred from the claim text.