Systems and methods for authentication using a cryptographic one-time passcode
Systems, apparatuses, methods, and computer program products are disclosed for authentication using a cryptographic one-time passcode (COTP). An example method includes receiving, via a first channel, a first authentication response associated with a user, and verifying the first authentication response based on stored data associated with the user. The example method also includes generating, in response to a successful verification of the first authentication response, a COTP token, wherein the COTP token is digitally signed with a first digital signature associated with the verification system. The example method also includes causing transmission, via a second channel, of an authentication request comprising the COTP token, and receiving, via the second channel, a second authentication response comprising an candidate COTP token. The example method further includes verifying the second authentication response.
1 . A method comprising:
receiving, by communications hardware of a verification system and via a first channel, a first authentication response associated with a user, wherein the first channel links the verification system and a first user device, wherein the first authentication response is associated with one or more requested actions to be performed with respect to the user;
performing, by verification circuitry of the verification system, one or more first verification operations on the first authentication response;
generating, by token generation circuitry of the verification system and in response to verification of the first authentication response, a cryptographic one-time-passcode (COTP) token, wherein the COTP token is digitally signed with a first digital signature associated with the verification system, wherein the COTP token comprises a COTP token payload indicative of the one or more requested actions;
providing, by the communications hardware and via a second channel, an authentication request comprising the COTP token, wherein the second channel links the same verification system and a second user device, wherein providing the authentication request causes display of an indication of the one or more requested actions on the second user device;
receiving, by the communications hardware and from the second user device via the second channel, a second authentication response comprising a candidate COTP token; and
performing, by the verification circuitry, one or more second verification operations on the second authentication response based on the received candidate COTP token.
2 . The method of claim 1 , further comprising:
receiving, by the communications hardware, a user action request, wherein the user action request is indicative of one or more requested actions to be performed with respect to the user; and
in an instance in which the second authentication response is verified, authorizing, by the verification circuitry, a computing device to perform the one or more requested actions.
3 . The method of claim 1 , further comprising:
receiving, by the communications hardware of the verification system, a user action request, wherein the user action request is indicative of one or more requested actions to be performed with respect to the user; and
in an instance in which the second authentication response is not verified, prohibiting, by the verification circuitry, a computing device to perform the one or more requested actions.
4 . The method of claim 3 , further comprising:
in an instance in which the second authentication response is not verified, determining, by the verification circuitry, whether the user has violated one or more security protocols defined by a security protocol ruleset; and
in an instance the user is determined to violate the one or more security protocols, performing, by the verification circuitry, one or more proactive security operations with respect to an associated user account.
5 . The method of claim 1 , wherein performing the one or more second verification operations on the second authentication response comprises:
verifying, by the verification circuitry, a third digital signature of the candidate COTP token based on the first digital signature associated with the verification system;
verifying, by the verification circuitry, whether a fourth digital signature of the candidate COTP token corresponds to a fifth digital signature associated with a user device associated with the received second authentication response; and
in an instance both the third digital signature and the fourth digital signature are verified, verifying the second authentication response.
6 . The method of claim 5 , further comprising:
in an instance in which the fourth digital signature fails to correspond to the fifth digital signature associated with the user device, generating one or more authentication failure alerts.
7 . The method of claim 1 , wherein:
the COTP token comprises a first time-to-live (TTL) parameter and a second TTL parameter,
the first TTL parameter describes a user time window value in which a user may interact with the COTP token, and
the second TTL parameter describes a COTP time window value in which the corresponding candidate COTP token is valid.
8 . The method of claim 1 , further comprising:
generating, by the token generation circuitry, the first digital signature according to one or more cryptographic algorithms.
9 . The method of claim 8 , wherein the one or more cryptographic algorithms includes one or more of a Rivest-Shamir-Adleman algorithm (RSA), a digital signature algorithm (DSA), an elliptic curve digital signature algorithm (ECDSA), a post-quantum cryptography (PQC) algorithm, or a hash-based message authentication (HlVlAC) algorithm.
10 . The method of claim 1 , wherein generating the COTP token further comprises:
receiving, by the communications hardware of the verification system, a user action request from a first computing device, wherein the user action request is indicative of the one or more requested actions to be performed with respect to the user;
generating, by the token generation circuitry, the COTP token payload, wherein the COTP token payload is at least indicative of one or more of the one or more requested actions; and
generating, by the token generation circuitry, the COTP token, wherein the COTP token comprises the COTP token payload.
11 . The method of claim 10 , further comprising:
encrypting, by the token generation circuitry, the COTP token payload using one or more encryption algorithms.
12 . The method of claim 1 , further comprising:
encrypting, by the token generation circuitry, the COTP token using one or more encryption algorithms.
13 . The method of claim 1 , further comprising:
storing, by the token generation circuitry, the COTP token on a distributed ledger.
14 . The method of claim 1 , wherein generating the COTP token further comprises:
determining, by the token generation circuitry, a randomizer value; and
generating, by the token generation circuitry, the COTP token based in part on the randomizer value.
15 . The method of claim 1 , wherein data belonging to the COTP is not displayed by the first user device or the second user device.
16 . An apparatus comprising:
communications hardware configured to:
receive, via a first channel, a first authentication response associated with a user, wherein the first channel links the apparatus and a first user device, wherein the first authentication response is associated with one or more requested actions to be performed with respect to the user,
provide, via a second channel, an authentication request comprising a COTP token, wherein the second channel links the same apparatus and a second user device, wherein providing the authentication request causes display of an indication of the one or more requested actions on the second user device, and
receive, via the second channel, a second authentication response from the second user device comprising a candidate COTP token;
verification circuitry configured to:
perform one or more first verification operations on the first authentication response, and
perform one or more second verification operations on the second authentication response based on the received candidate COTP token; and
token generation circuitry configured to:
generate, in response to verification of the first authentication response, the cryptographic one-time-passcode (COTP) token, wherein the COTP token is digitally signed with a first digital signature associated with the apparatus, wherein the COTP token comprises a COTP token payload indicative of the one or more requested actions.
17 . The apparatus of claim 16 , wherein:
the communications hardware is further configured to:
receive a user action request, wherein the user action request is indicative of one or more requested actions to be performed with respect to the user; and
the verification circuitry is further configured to:
in an instance in which the second authentication response is verified, authorize a computing device to perform the one or more requested actions.
18 . The apparatus of claim 16 wherein:
the communications hardware is further configured to:
receive a user action request, wherein the user action request is indicative of one or more requested actions to be performed with respect to the user; and
the verification circuitry is further configured to:
in an instance in which the second authentication response is not verified, prohibiting, a computing device to perform the one or more requested actions.
19 . The apparatus of claim 16 , wherein the verification circuitry is further configured to:
in an instance in which the second authentication response is not verified, determine whether the user has violated one or more security protocols defined by a security protocol ruleset; and
in an instance the user is determined to violate the one or more security protocols, perform one or more proactive security operations with respect to an associated user account.
20 . The apparatus of claim 16 , wherein the verification circuitry is further configured to, when performing the one or more second verification operations on the second authentication response:
verify a third digital signature of the candidate COTP token based on the first digital signature associated with the apparatus;
verify whether a fourth digital signature of the candidate COTP token corresponds to a fifth digital signature associated with a user device associated with the received second authentication response; and
in an instance both the third digital signature and the fourth digital signature are verified, verify the second authentication response.
21 . A computer program product, the computer program product comprising at least one non-transitory computer-readable storage medium storing software instructions that, when executed, cause an apparatus to:
receive, via a first channel, a first authentication response associated with a user, wherein the first channel links the apparatus and a first user device, wherein the first authentication response is associated with one or more requested actions to be performed with respect to the user;
perform one or more first verification operations on the first authentication response;
generate, in response to verification of the first authentication response, a cryptographic one-time-passcode (COTP) token, wherein the COTP token is digitally signed with a first digital signature associated with the apparatus, wherein the COTP token comprises a COTP token payload indicative of the one or more requested actions;
provide, via a second channel, an authentication request comprising the COTP token, wherein the second channel links the same apparatus and a second user device, wherein providing the authentication request causes display of an indication of the one or more requested actions on the second user device;
receive, via the second channel, a second authentication response from the second user device comprising a candidate COTP token, wherein the COTP token is digitally signed with a first digital signature associated with the apparatus; and
perform one or more second verification operations on the second authentication response based on the received candidate COTP token.