CPC H04L 9/3234 (2013.01) [H04L 9/0822 (2013.01); H04L 9/3215 (2013.01); H04W 4/20 (2013.01); H04W 12/06 (2013.01); H04W 12/08 (2013.01); H04W 12/35 (2021.01); H04L 2209/80 (2013.01)] | 20 Claims |
1. A non-transitory computer readable medium storing computer-executable instructions that, when executed by a computer comprising a processor, cause the computer to perform procedures comprising:
receiving, by the processor via a first channel, an encrypted cryptographic key from a client application of a client device, the encrypted cryptographic key being generated by encrypting a cryptographic key by the client application;
decrypting, by the processor using a first stored key of a plurality of stored keys, the encrypted cryptographic key;
responsive to an unsuccessful decryption of the encrypted cryptographic key, decrypting, by the processor, the encrypted cryptographic key using one or more additional stored keys from the plurality of stored keys until a successful decryption of the encrypted cryptographic key to generate a decrypted cryptographic key;
upon the successful decryption of the encrypted cryptographic key, encrypting, by the processor, an authorization token using the decrypted cryptographic key to generate an encrypted authorization token;
transmitting, by the processor via a second channel independent of the first channel, the encrypted authorization token to the client application of the client device, wherein the client application of the client device decrypts the encrypted authorization token using the cryptographic key to generate an decrypted authorization token; and
authorizing, by the processor based on the decrypted authorization token, the client application of the client device to access one or more services associated with the computer.
|