| CPC H04L 9/3228 (2013.01) [H04L 9/0643 (2013.01); H04L 9/0863 (2013.01); H04L 9/14 (2013.01); H04L 9/30 (2013.01); H04L 9/3231 (2013.01); H04L 9/0825 (2013.01); H04L 2209/56 (2013.01)] | 14 Claims |

|
1. A method for electronic device authentication, comprising:
receiving, at an authentication server and from a computer application executed by an electronic device, a public key, wherein the public key corresponds to a private key as a cryptographic keyset, wherein the cryptographic keyset is generated by the computer application, wherein the cryptographic keyset is generated from input that comprises a unique combination of the computer application, the electronic device, and a user of the electronic device, and wherein the public key is stored by the authentication server for decryption and verification of data encrypted by the computer application using the private key from the cryptographic keyset;
generating, by the authentication server comprising at least one computer processor, a one-time passcode;
communicating, by the authentication server over an out-of-band communication channel, the one-time passcode to the computer application, wherein the out-of-band communication channel is an SMS channel;
receiving, by the authentication server, from the computer application and over an in-band communication channel the one-time passcode encrypted with the private key;
receiving, by the authentication server, from the computer application over the in-band communication channel, an application specific verification key;
receiving, by the authentication server from the computer application over the in-band communication channel, device fingerprint data for the electronic device;
decrypting, by the authentication server, the application specific verification key to verify a source of the computer application;
decrypting, by the authentication server, the encrypted one-time passcode using the public key;
validating, by the authentication server, the one-time passcode;
generating, by the authentication server, a device identifier for the electronic device;
binding, by the authentication server, the device identifier and the electronic device to each other, including storing an indication that the application specific verification key was valid; and
communicating, by the authentication server and over the in-band communication channel, the device identifier for the electronic device to the computer application, wherein the computer application stores the device identifier.
|