| CPC H04L 9/3234 (2013.01) [G06Q 20/204 (2013.01); G06Q 20/3226 (2013.01); G06Q 20/3278 (2013.01); G06Q 20/352 (2013.01); G06Q 20/40 (2013.01); H04L 9/0866 (2013.01); H04L 9/14 (2013.01); H04L 9/3228 (2013.01); H04L 9/3242 (2013.01); H04L 63/0853 (2013.01)] | 20 Claims |

|
1. A device comprising:
a near-field communication (NFC) interface configured to detect NFC signals;
a processor;
a non-volatile memory having contactless card emulation program code stored thereon, the contactless card emulation program code operable when executed upon by the processor to:
detect, via the NFC interface, an NFC signal including a contactless card authentication request;
retrieve, from the non-volatile memory, a user-identifier associated with the device, a counter value, a shared secret, and a master key associated with an emulated contactless card being emulated by the contactless card emulation program code in place of a contactless card associated with the contactless card authentication request;
generate a diversified key using at least the user-identifier, the counter value, the master key, and one or more cryptographic algorithms;
generate a response message including at least a portion of the shared secret, at least a portion of the counter value, or portions of both;
encode the response message using the diversified key and the one or more cryptographic algorithms to generate an encoded response message;
concatenate the encoded response message with a random number to create a concatenated encoded response message;
generate a session key based on a second master key and at least a portion of the counter value;
encipher the concatenated encoded response message using the session key to generate an enciphered response message; and
send, via the NFC interface, the enciphered response message in one or more NFC signals to a device.
|