Authentication method and device for matrix pattern authentication
AssigneeV-Auth Limited
InventorSteven Jonathan Brittan
Life of this patent
Estimating the term…
Abstract
A method of encoding and/or decoding data is described, having the steps of: generating a challenge code, the challenge code being based on a pattern associated with at least one challenge arrangement having duplicated signs, encrypting the challenge code using a one-way hashing function to obtain a temporary encryption key, generating encoded data by encoding the data using a two-way transcoding function using the obtained temporary encryption key, wherein data is decoded using the two-way transcoding function and a subsequently obtained user temporary encryption key when the subsequently obtained user temporary encryption key matches the previously obtained temporary encryption key used to encode the data.
Claims33
A method of encoding data, comprising:
- generating a challenge code,
- wherein the challenge code is a one-time code (OTC) that changes on each authentication operation,
- the challenge code being based on a secret, user-defined memorable identification pattern (MIP) that appears in at least one challenge arrangement comprising duplicated signs;
- wherein the challenge arrangement includes a challenge matrix populated with a randomized set of the duplicated signs and the randomized set of the challenge matrix changes on each authentication operation;
- wherein the generating of the challenge code includes obtaining the challenge code from a user;
- wherein the obtaining of the challenge code includes receiving, from the user in a dedicated space of an interface, signs corresponding to the secret memorable identification pattern (MIP) that appear in the challenge matrix;
- wherein the dedicated space is separate from the challenge matrix in the interface;
- encrypting the challenge code using a one-way hashing function to obtain a temporary encryption key, wherein the encrypting includes:
- using the one-way hashing function to obtain the temporary encryption key, wherein the one-way hashing function uses a salt and a user device identification, and using the temporary encryption key to encrypt an authentication code corresponding to the challenge code and to further encrypt a data encryption key;
- generating encoded data by encoding the data using a two-way transcoding function using the obtained temporary encryption key, the encoded data comprising the encrypted authentication code and the encrypted data encryption key;
- creating a blockchain of encoding and decoding data, wherein the creating the blockchain includes encrypting the temporary encryption key and a timestamp of the temporary encryption key, wherein the blockchain creates a history of iterations of authentication operations for encoding and decoding data by logging every obtained temporary encryption key and its associated time stamp for each iteration of authentication;
- storing the encoded data in a memory of a device, for use in an authentication of the user;
- and deleting the data, the temporary encryption key and the challenge code after the encoded data is stored in the memory of the device.
The method of claim further comprising:
- storing the salt in the memory of the device;
- or
- deleting the salt from the memory of the device after the encoded data is stored in the memory of the device.
A method of sequentially encoding and decoding data, comprising:
- generating a current challenge code for a current encoding of the data, the current challenge code being based on a user defined, secret memorable identification pattern (MIP) associated with at least one current challenge arrangement comprising duplicated signs;
- encrypting the current challenge code using a one-way hashing function to obtain a current temporary encryption key, wherein the encrypting includes using the one-way hashing function to obtain the current temporary encryption key, wherein the one-way hashing function uses a salt and a user device identification, and using the current temporary encryption key to encrypt an authentication code corresponding to the current challenge code and to further encrypt a data encryption key,
- creating a blockchain of encoding data and decoding data, wherein the creating the blockchain includes encrypting the current temporary encryption key and a timestamp of the current temporary encryption key, wherein the blockchain creates a history of iterations of authentication operations for encoding and decoding data by logging every obtained temporary encryption key and its associated time stamp for each iteration of authentication;
- generating encoded data by encoding the data using a two-way transcoding function using the obtained current temporary encryption key, the encoded data comprising the encrypted authentication code and the encrypted data encryption key;
- storing the encoded data in a memory of a device, for use in an authentication of the user and deleting the data, the current temporary encryption key and the current challenge code after the encoded data is stored in the memory of the device;
- obtaining a user challenge code from a user, wherein the user challenge code is a one-time code (OTC) that changes on each authentication operation,
- the user challenge code being based on a pattern associated with the least one current challenge arrangement comprising the duplicated signs, wherein the challenge arrangement includes a challenge matrix populated with a randomized set of the duplicated signs;
- wherein the obtaining of the user challenge code includes receiving from the user in a dedicated space of an interface signs corresponding to the secret memorable identification pattern (MIP) that appear in the challenge matrix, wherein the dedicated space is separate from the challenge matrix in the interface;
- encrypting the user challenge code using the one-way hashing function, the salt and the user device identification to obtain a user temporary encryption key;
- and
- decoding the encoded data using the two-way transcoding function and the user temporary encryption key when the user temporary encryption key matches the obtained current temporary encryption key used to encode the data.
A method of authentication of a user of a device, comprising:
- obtaining a challenge code from the user,
- wherein the challenge code is a one-time code (OTC) that changes on each authentication operation,
- the challenge code being based on a secret, user defined memorable identification pattern (MIP) associated with at least one challenge arrangement comprising duplicated signs,
- wherein the challenge arrangement includes a challenge matrix populated with a randomized set of the duplicated signs and the randomized set of the challenge matrix changes on each authentication operation;
- wherein the obtaining of the challenge code includes receiving from the user in a dedicated space of an interface signs corresponding to the secret memorable identification pattern (MIP) that appear in the challenge matrix, wherein the MIP is only known to the user;
- wherein the dedicated space is separate from the challenge matrix in the interface;
- encrypting the challenge code using a one-way hashing function to obtain a temporary encryption key, wherein the encrypting includes using the one-way hashing function to obtain the temporary encryption key, wherein the one-way hashing function uses a salt and a user device identification,
- storing the temporary encryption key in memory of the device, and using the temporary encryption key to encrypt an authentication code corresponding to the challenge code and to further encrypt a data encryption key;
- validating the challenge code when the obtained temporary encryption key matches the temporary encryption key used to encode data using a two-way transcoding function,
- creating a blockchain of the encoded data, wherein the creating the blockchain includes encrypting the temporary encryption key and a timestamp of the temporary encryption key, wherein the blockchain creates a history of iterations of authentication operations by logging every obtained temporary encryption key and its associated time stamp for each iteration of authentication;
- decoding an encoded data using the two-way transcoding function and the obtained temporary encryption key when the obtained temporary encryption key matches a previously obtained temporary encryption key used to encode the data, wherein the decoded data comprises the authentication code and the data encryption key;
- and
- deleting the temporary encryption key from the memory of the device after the validating the challenge code.
A method of sequentially decoding and encoding data, comprising:
- obtaining a current challenge code from a user for a current decoding of encoded data stored in memory of a device,
- wherein the current challenge code is a one-time code (OTC) that changes on each authentication operation,
- the current challenge code being based on a pattern associated with at least one current challenge arrangement comprising duplicated signs, wherein the current challenge arrangement includes a challenge matrix populated with a randomized set of the duplicated signs and the randomized set of the challenge matrix changes on each authentication operation;
- wherein the obtaining the current challenge code includes receiving from the user in a dedicated space of an interface signs corresponding to a secret memorable identification pattern (MIP) that appear in the challenge matrix, wherein the dedicated space is separate from the challenge matrix in the interface, wherein the MIP is only known to the user;
- encrypting the current challenge code using a one-way hashing function to obtain a current temporary encryption key, wherein the encrypting includes using the one-way hashing function to obtain the current temporary encryption key, wherein the one-way hashing function uses a salt and a user device identification, storing the current temporary encryption key in memory of a device, and
- using the current temporary encryption key to encrypt an authentication code corresponding to the current challenge code and to further encrypt a data encryption key,
- creating a blockchain of the encoding and decoding data, wherein the creating the blockchain includes encrypting the current temporary encryption key and a timestamp of the current temporary encryption key, wherein the blockchain creates a history of iterations of authentication operations by logging every obtained temporary encryption key and its associated time stamp for each iteration of authentication;
- validating the current challenge code when the current temporary encryption key matches a previous temporary encryption key used to encode the data using the two-way transcoding function;
- decoding the encoded data using the two-way transcoding function and the current temporary encryption key, wherein the encoded data comprising the encrypted authentication code and the encrypted data encryption key;
- deleting the current temporary encryption key from the memory after the decoding the encoded data;
- generating a subsequent challenge code for a subsequent encoding of the decoded data, the subsequent challenge code being based on a pattern associated with at least one subsequent challenge arrangement comprising duplicated signs;
- encrypting the subsequent challenge code using the one-way hashing function, the salt and the user device identification to obtain a subsequent temporary encryption key;
- and
- generating subsequent encoded data by encoding the data using the two-way transcoding function using the obtained subsequent temporary encryption key.
Dependencies are inferred from the claim text.