A method for authenticating a remote transaction between a service request computer or mobile device operated by a requesting user and a service provider computer hosting services remotely accessible via an Internet connection, the method including:
- generating, by a processor in an authentication computer, in a registration process for a registered user and a registered user device associated therewith, and wherein a user identifier is associated with the registered user for the services hosted by the service provider computer, a first modified user identifier based on the user identifier associated with the registered user and a first random number, and generating, by the processor in the authentication computer, in the registration process, a second modified user identifier that is different from the first modified user identifier based on the user identifier and a second random number that is different than the first random number;
- generating, by the processor in the authentication computer, in the registration process, a first bitwise distance associated with the registered user, wherein the first bitwise distance is calculated between the first modified user identifier and a modified user identifier that is based on the second modified user identifier generated in the registration process;
- storing, by the authentication computer, in the registration process, in a storage unit associated with the authentication computer, the first modified user identifier and the first bitwise distance generated in the registration process only in the authentication computer and not in the registered user device;
- storing, by the authentication computer, in the registration process, the second modified user identifier generated in the registration process only in the registered user device and not in the authentication computer;
- receiving, after the registration process, by the authentication computer via the service provider computer, a request for a transaction with the service provider computer from the requesting user, initiated via a user interface in the service request computer or mobile device, the request including the user identifier associated with the registered user for the services, wherein the service provider computer is in communication with the service request computer or mobile device via the Internet connection, and the authentication computer is in communication with the service provider computer via one of a hardware interface and an API;
- sending, via the authentication domain device, in response to receiving the request for the transaction from the service request computer or mobile device, a request to a user device that is purportedly the registered user device, using registration data associated with the registered user device for the registered user, to confirm that the request from the service request computer or mobile device operated by the requesting user is from the registered user, wherein the user device is in communication with the authentication computer via a communications link or over-the-air network;
- receiving, by the authentication computer, in a response confirming the request for the transaction from the user device, the second modified user identifier from the user device;
- calculating, by a processor in the authentication computer, after said receiving in the response confirming the request, a second bitwise distance between the first modified user identifier generated and stored in the authentication computer in the registration process, and the modified user identifier that is based on the second modified user identifier just received in the receiving step for confirming the transaction from the user device;
- comparing, by the processor in the authentication computer, the first bitwise distance and the second bitwise distance;
- determining, by the processor in the authentication computer, whether the transaction requested by the requesting user from the service request computer or mobile device is authentic and initiated by the registered user, based on said comparing, wherein the first bitwise distance equals the second bitwise distance in an authentic transaction with the registered user, and wherein a difference between the first bitwise distance and the second bitwise distance indicates anomalies in the second bitwise distance that indicate a type of fraudulent activity;
- and
- sending, by the authentication computer, to the service provider computer, a code corresponding to allowing or declining the remote transaction based on the presence or absence of said anomalies, and wherein the code identifies the type of fraudulent activity.