Systems and methods for performing transactions with contactless cards

Information

  • Patent Grant
  • 11182784
  • Patent Number
    11,182,784
  • Date Filed
    Monday, October 21, 2019
    5 years ago
  • Date Issued
    Tuesday, November 23, 2021
    3 years ago
Abstract
Example embodiments of systems and methods for data transmission system between transmitting and receiving devices are provided. In an embodiment, each of the transmitting and receiving devices can contain a master key. The transmitting device can generate a diversified key using the master key, protect a counter value and encrypt data prior to transmitting to the receiving device, which can generate the diversified key based on the master key and can decrypt the data and validate the protected counter value using the diversified key.
Description
FIELD OF THE INVENTION

The present disclosure relates to cryptography, and more particularly, to systems and methods for the cryptographic authentication of contactless cards.


BACKGROUND

Data security and transaction integrity are of critical importance to businesses and consumers. This need continues to grow as electronic transactions constitute an increasingly large share of commercial activity.


Email may be used as a tool to verify transactions, but email is susceptible to attack and vulnerable to hacking or other unauthorized access. Short message service (SMS) messages may also be used, but that is subject to compromise as well. Moreover, even data encryption algorithms, such as triple DES algorithms, have similar vulnerabilities.


Activating many cards, including for example financial cards (e.g., credit cards and other payment cards), involves the time-consuming process of cardholders calling a telephone number or visiting a website and entering or otherwise providing card information. Further, while the growing use of chip-based financial cards provides more secure features over the previous technology (e.g., magnetic strip cards) for in-person purchases, account access still may rely on log-in credentials (e.g., username and password) to confirm a cardholder's identity. However, if the log-in credentials are compromised, another person could have access to the user's account.


These and other deficiencies exist. Accordingly, there is a need to provide users with an appropriate solution that overcomes these deficiencies to provide data security, authentication, and verification for contactless cards. Further, there is a need for both an improved method of activating a card and an improved authentication for account access.


SUMMARY

Aspects of the disclosed technology include systems and methods for cryptographic authentication of contactless cards. Various embodiments describe systems and methods for implementing and managing cryptographic authentication of contactless cards.


Embodiments of the present disclosure provide a data transmission system comprising: a transmitting device having a processor and memory, the memory of the transmitting device containing a master key, transmission data and a counter value; a receiving device having a processor and memory, the memory of the receiving device containing the master key, wherein the receiving device is in data communication with the transmitting device; wherein the transmitting device is configured to: generate a diversified key using the master key and one or more cryptographic algorithms and store the diversified key in the memory of the transmitting device, protect the counter value using one or more cryptographic algorithms and the diversified key to yield a cryptographic result including the counter value, encrypt the transmission data using one or more cryptographic algorithms and the diversified key to yield encrypted transmission data, and transmit the protected counter value and encrypted transmission data to the receiving device; and wherein the receiving device is configured to: generate the diversified key based on the master key and the counter value, and store the diversified key in the memory of the receiving device; and decrypt the encrypted transmission data and validate the protected counter value using one or more cryptographic algorithms and the diversified key; and wherein the receiving device is further configured to: transmit a communication to a server and the communication is configured to cause the server to process a payment; and receive a second communication from the server indicating that the payment was processed.


Embodiments of the present disclosure provide a method for transmitting data by a contactless card having a processor and a memory containing two master keys, an identification number, a sequence number, and a counter, the method comprising: creating two card keys by combining two master keys with the identification number and the sequence number; generating two session keys based on the two card keys and the counter; and generating a cryptogram based on the session keys, the cryptogram comprising one or more of the identification number, the counter, a version number, and a shared secret; wherein the data is transmitted to a receiving device which is configured to: transmit a communication to a server and the communication is configured to cause the server to process a payment; and receive a second communication from the server indicating that the payment was processed.


Further features of the disclosed design, and the advantages offered thereby, are explained in greater detail hereinafter with reference to specific example embodiments illustrated in the accompanying drawings, wherein like elements are indicated be like reference designators.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1A is a diagram of a data transmission system according to an example embodiment.



FIG. 1B is a diagram illustrating a sequence for providing authenticated access according to an example embodiment.



FIG. 2 is a diagram of a data transmission system according to an example embodiment.



FIG. 3 is a diagram of a system using a contactless card according to an example embodiment.



FIG. 4 is a flowchart illustrating a method of key diversification according to an example embodiment.



FIG. 5A is an illustration of a contactless card according to an example embodiment.



FIG. 5B is an illustration of a contact pad of the contactless card according to an example embodiment.



FIG. 6 is an illustration depicting a message to communicate with a device according to an example embodiment.



FIG. 7 is an illustration depicting a message and a message format according to an example embodiment.



FIG. 8 is a flowchart illustrating key operations according to an example embodiment.



FIG. 9 is a diagram of a key system according to an example embodiment.



FIG. 10 is a flowchart of a method of generating a cryptogram according to an example embodiment.



FIG. 11 is a flowchart illustrating a process of key diversification according to an example embodiment.



FIG. 12 is a flowchart illustrating a method for card activation according to an example embodiment.



FIG. 13 is a flowchart illustrating a method of making a payment using a contactless card according to an example embodiment.



FIG. 14 is a flowchart illustrating a method of processing a payment using a terminal according to an example embodiment.





DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

The following description of embodiments provides non-limiting representative examples referencing numerals to particularly describe features and teachings of different aspects of the invention. The embodiments described should be recognized as capable of implementation separately, or in combination, with other embodiments from the description of the embodiments. A person of ordinary skill in the art reviewing the description of embodiments should be able to learn and understand the different described aspects of the invention. The description of embodiments should facilitate understanding of the invention to such an extent that other implementations, not specifically covered but within the knowledge of a person of skill in the art having read the description of embodiments, would be understood to be consistent with an application of the invention.


An objective of some embodiments of the present disclosure is to build one or more keys into one or more contactless cards. In these embodiments, the contactless card can perform authentication and numerous other functions that may otherwise require the user to carry a separate physical token in addition to the contactless card. By employing a contactless interface, contactless cards may be provided with a method to interact and communicate between a user's device (such as a mobile phone) and the card itself. For example, the EMV protocol, which underlies many credit card transactions, includes an authentication process which suffices for operating systems for Android® but presents challenges for iOS®, which is more restrictive regarding near field communication (NFC) usage, as it can be used only in a read-only manner. Exemplary embodiments of the contactless cards described herein utilize NFC technology.



FIG. 1A illustrates a data transmission system according to an example embodiment. As further discussed below, system 100 may include contactless card 105, client device 110, network 115, and server 120. Although FIG. 1A illustrates single instances of the components, system 100 may include any number of components.


System 100 may include one or more contactless cards 105, which are further explained below with reference to FIGS. 5A-5B. In some embodiments, contactless card 105 may be in wireless communication, utilizing NFC in an example, with client device 110.


System 100 may include client device 110, which may be a network-enabled computer. As referred to herein, a network-enabled computer may include, but is not limited to a computer device, or communications device including, e.g., a server, a network appliance, a personal computer, a workstation, a phone, a handheld PC, a personal digital assistant, a thin client, a fat client, an Internet browser, or other device. Client device 110 also may be a mobile device; for example, a mobile device may include an iPhone, iPod, iPad from Apple® or any other mobile device running Apple's iOS® operating system, any device running Microsoft's Windows® Mobile operating system, any device running Google's Android® operating system, and/or any other smartphone, tablet, or like wearable mobile device.


The client device 110 device can include a processor and a memory, and it is understood that the processing circuitry may contain additional components, including processors, memories, error and parity/CRC checkers, data encoders, anticollision algorithms, controllers, command decoders, security primitives and tamperproofing hardware, as necessary to perform the functions described herein. The client device 110 may further include a display and input devices. The display may be any type of device for presenting visual information such as a computer monitor, a flat panel display, and a mobile device screen, including liquid crystal displays, light-emitting diode displays, plasma panels, and cathode ray tube displays. The input devices may include any device for entering information into the user's device that is available and supported by the user's device, such as a touch-screen, keyboard, mouse, cursor-control device, touch-screen, microphone, digital camera, video recorder or camcorder. These devices may be used to enter information and interact with the software and other devices described herein.


In some examples, client device 110 of system 100 may execute one or more applications, such as software applications, that enable, for example, network communications with one or more components of system 100 and transmit and/or receive data.


Client device 110 may be in communication with one or more servers 120 via one or more networks 115, and may operate as a respective front-end to back-end pair with server 120. Client device 110 may transmit, for example from a mobile device application executing on client device 110, one or more requests to server 120. The one or more requests may be associated with retrieving data from server 120. Server 120 may receive the one or more requests from client device 110. Based on the one or more requests from client device 110, server 120 may be configured to retrieve the requested data from one or more databases (not shown). Based on receipt of the requested data from the one or more databases, server 120 may be configured to transmit the received data to client device 110, the received data being responsive to one or more requests.


System 100 may include one or more networks 115. In some examples, network 115 may be one or more of a wireless network, a wired network or any combination of wireless network and wired network, and may be configured to connect client device 110 to server 120. For example, network 115 may include one or more of a fiber optics network, a passive optical network, a cable network, an Internet network, a satellite network, a wireless local area network (LAN), a Global System for Mobile Communication, a Personal Communication Service, a Personal Area Network, Wireless Application Protocol, Multimedia Messaging Service, Enhanced Messaging Service, Short Message Service, Time Division Multiplexing based systems, Code Division Multiple Access based systems, D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, Radio Frequency Identification (RFID), Wi-Fi, and/or the like.


In addition, network 115 may include, without limitation, telephone lines, fiber optics, IEEE Ethernet 902.3, a wide area network, a wireless personal area network, a LAN, or a global network such as the Internet. In addition, network 115 may support an Internet network, a wireless communication network, a cellular network, or the like, or any combination thereof. Network 115 may further include one network, or any number of the exemplary types of networks mentioned above, operating as a stand-alone network or in cooperation with each other. Network 115 may utilize one or more protocols of one or more network elements to which they are communicatively coupled. Network 115 may translate to or from other protocols to one or more protocols of network devices. Although network 115 is depicted as a single network, it should be appreciated that according to one or more examples, network 115 may comprise a plurality of interconnected networks, such as, for example, the Internet, a service provider's network, a cable television network, corporate networks, such as credit card association networks, and home networks.


System 100 may include one or more servers 120. In some examples, server 120 may include one or more processors, which are coupled to memory. Server 120 may be configured as a central system, server or platform to control and call various data at different times to execute a plurality of workflow actions. Server 120 may be configured to connect to the one or more databases. Server 120 may be connected to at least one client device 110.



FIG. 1B is a timing diagram illustrating an example sequence for providing authenticated access according to one or more embodiments of the present disclosure. System 100 may comprise contactless card 105 and client device 110, which may include an application 122 and processor 124. FIG. 1B may reference similar components as illustrated in FIG. 1A.


At step 102, the application 122 communicates with the contactless card 105 (e.g., after being brought near the contactless card 105). Communication between the application 122 and the contactless card 105 may involve the contactless card 105 being sufficiently close to a card reader (not shown) of the client device 110 to enable NFC data transfer between the application 122 and the contactless card 105.


At step 104, after communication has been established between client device 110 and contactless card 105, the contactless card 105 generates a message authentication code (MAC) cryptogram. In some examples, this may occur when the contactless card 105 is read by the application 122. In particular, this may occur upon a read, such as an NFC read, of a near field data exchange (NDEF) tag, which may be created in accordance with the NFC Data Exchange Format. For example, a reader, such as application 122, may transmit a message, such as an applet select message, with the applet ID of an NDEF producing applet. Upon confirmation of the selection, a sequence of select file messages followed by read file messages may be transmitted. For example, the sequence may include “Select Capabilities file”, “Read Capabilities file”, and “Select NDEF file”. At this point, a counter value maintained by the contactless card 105 may be updated or incremented, which may be followed by “Read NDEF file.” At this point, the message may be generated which may include a header and a shared secret. Session keys may then be generated. The MAC cryptogram may be created from the message, which may include the header and the shared secret. The MAC cryptogram may then be concatenated with one or more blocks of random data, and the MAC cryptogram and a random number (RND) may be encrypted with the session key. Thereafter, the cryptogram and the header may be concatenated, and encoded as ASCII hex and returned in NDEF message format (responsive to the “Read NDEF file” message).


In some examples, the MAC cryptogram may be transmitted as an NDEF tag, and in other examples the MAC cryptogram may be included with a uniform resource indicator (e.g., as a formatted string).


In some examples, application 122 may be configured to transmit a request to contactless card 105, the request comprising an instruction to generate a MAC cryptogram.


At step 106, the contactless card 105 sends the MAC cryptogram to the application 122. In some examples, the transmission of the MAC cryptogram occurs via NFC, however, the present disclosure is not limited thereto. In other examples, this communication may occur via Bluetooth, Wi-Fi, or other means of wireless data communication.


At step 108, the application 122 communicates the MAC cryptogram to the processor 124.


At step 112, the processor 124 verifies the MAC cryptogram pursuant to an instruction from the application 122. For example, the MAC cryptogram may be verified, as explained below.


In some examples, verifying the MAC cryptogram may be performed by a device other than client device 110, such as a server 120 in data communication with the client device 110 (as shown in FIG. 1A). For example, processor 124 may output the MAC cryptogram for transmission to server 120, which may verify the MAC cryptogram.


In some examples, the MAC cryptogram may function as a digital signature for purposes of verification. Other digital signature algorithms, such as public key asymmetric algorithms, e.g., the Digital Signature Algorithm and the RSA algorithm, or zero knowledge protocols, may be used to perform this verification.



FIG. 2 illustrates a data transmission system according to an example embodiment. System 200 may include a transmitting or sending device 205, a receiving or recipient device 210 in communication, for example via network 215, with one or more servers 220. Transmitting or sending device 205 may be the same as, or similar to, client device 110 discussed above with reference to FIG. 1A. Receiving or recipient device 210 may be the same as, or similar to, client device 110 discussed above with reference to FIG. 1A. Network 215 may be similar to network 115 discussed above with reference to FIG. 1A. Server 220 may be similar to server 120 discussed above with reference to FIG. 1A. Although FIG. 2 shows single instances of components of system 200, system 200 may include any number of the illustrated components.


When using symmetric cryptographic algorithms, such as encryption algorithms, hash-based message authentication code (HMAC) algorithms, and cipher-based message authentication code (CMAC) algorithms, it is important that the key remain secret between the party that originally processes the data that is protected using a symmetric algorithm and the key, and the party who receives and processes the data using the same cryptographic algorithm and the same key.


It is also important that the same key is not used too many times. If a key is used or reused too frequently, that key may be compromised. Each time the key is used, it provides an attacker an additional sample of data which was processed by the cryptographic algorithm using the same key. The more data which the attacker has which was processed with the same key, the greater the likelihood that the attacker may discover the value of the key. A key used frequently may be comprised in a variety of different attacks.


Moreover, each time a symmetric cryptographic algorithm is executed, it may reveal information, such as side-channel data, about the key used during the symmetric cryptographic operation. Side-channel data may include minute power fluctuations which occur as the cryptographic algorithm executes while using the key. Sufficient measurements may be taken of the side-channel data to reveal enough information about the key to allow it to be recovered by the attacker. Using the same key for exchanging data would repeatedly reveal data processed by the same key.


However, by limiting the number of times a particular key will be used, the amount of side-channel data which the attacker is able to gather is limited and thereby reduce exposure to this and other types of attack. As further described herein, the parties involved in the exchange of cryptographic information (e.g., sender and recipient) can independently generate keys from an initial shared master symmetric key in combination with a counter value, and thereby periodically replace the shared symmetric key being used with needing to resort to any form of key exchange to keep the parties in sync. By periodically changing the shared secret symmetric key used by the sender and the recipient, the attacks described above are rendered impossible.


Referring back to FIG. 2, system 200 may be configured to implement key diversification. For example, a sender and recipient may desire to exchange data (e.g., original sensitive data) via respective devices 205 and 210. As explained above, although single instances of transmitting device 205 and receiving device 210 may be included, it is understood that one or more transmitting devices 205 and one or more receiving devices 210 may be involved so long as each party shares the same shared secret symmetric key. In some examples, the transmitting device 205 and receiving device 210 may be provisioned with the same master symmetric key. Further, it is understood that any party or device holding the same secret symmetric key may perform the functions of the transmitting device 205 and similarly any party holding the same secret symmetric key may perform the functions of the receiving device 210. In some examples, the symmetric key may comprise the shared secret symmetric key which is kept secret from all parties other than the transmitting device 205 and the receiving device 210 involved in exchanging the secure data. It is further understood that both the transmitting device 205 and receiving device 210 may be provided with the same master symmetric key, and further that part of the data exchanged between the transmitting device 205 and receiving device 210 comprises at least a portion of data which may be referred to as the counter value. The counter value may comprise a number that changes each time data is exchanged between the transmitting device 205 and the receiving device 210.


System 200 may include one or more networks 215. In some examples, network 215 may be one or more of a wireless network, a wired network or any combination of wireless network and wired network, and may be configured to connect one or more transmitting devices 205 and one or more receiving devices 210 to server 220. For example, network 215 may include one or more of a fiber optics network, a passive optical network, a cable network, an Internet network, a satellite network, a wireless LAN, a Global System for Mobile Communication, a Personal Communication Service, a Personal Area Network, Wireless Application Protocol, Multimedia Messaging Service, Enhanced Messaging Service, Short Message Service, Time Division Multiplexing based systems, Code Division Multiple Access based systems, D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, RFID, Wi-Fi, and/or the like.


In addition, network 215 may include, without limitation, telephone lines, fiber optics, IEEE Ethernet 902.3, a wide area network, a wireless personal area network, a LAN, or a global network such as the Internet. In addition, network 215 may support an Internet network, a wireless communication network, a cellular network, or the like, or any combination thereof. Network 215 may further include one network, or any number of the exemplary types of networks mentioned above, operating as a stand-alone network or in cooperation with each other. Network 215 may utilize one or more protocols of one or more network elements to which they are communicatively coupled. Network 215 may translate to or from other protocols to one or more protocols of network devices. Although network 215 is depicted as a single network, it should be appreciated that according to one or more examples, network 215 may comprise a plurality of interconnected networks, such as, for example, the Internet, a service provider's network, a cable television network, corporate networks, such as credit card association networks, and home networks.


In some examples, one or more transmitting devices 205 and one or more receiving devices 210 may be configured to communicate and transmit and receive data between each other without passing through network 215. For example, communication between the one or more transmitting devices 205 and the one or more receiving devices 210 may occur via at least one of NFC, Bluetooth, RFID, Wi-Fi, and/or the like.


At block 225, when the transmitting device 205 is preparing to process the sensitive data with symmetric cryptographic operation, the sender may update a counter. In addition, the transmitting device 205 may select an appropriate symmetric cryptographic algorithm, which may include at least one of a symmetric encryption algorithm, HMAC algorithm, and a CMAC algorithm. In some examples, the symmetric algorithm used to process the diversification value may comprise any symmetric cryptographic algorithm used as needed to generate the desired length diversified symmetric key. Non-limiting examples of the symmetric algorithm may include a symmetric encryption algorithm such as 3DES or AES128; a symmetric HMAC algorithm, such as HMAC-SHA-256; and a symmetric CMAC algorithm such as AES-CMAC. It is understood that if the output of the selected symmetric algorithm does not generate a sufficiently long key, techniques such as processing multiple iterations of the symmetric algorithm with different input data and the same master key may produce multiple outputs which may be combined as needed to produce sufficient length keys.


At block 230, the transmitting device 205 may take the selected cryptographic algorithm, and using the master symmetric key, process the counter value. For example, the sender may select a symmetric encryption algorithm, and use a counter which updates with every conversation between the transmitting device 205 and the receiving device 210. The transmitting device 205 may then encrypt the counter value with the selected symmetric encryption algorithm using the master symmetric key, creating a diversified symmetric key.


In some examples, the counter value may not be encrypted. In these examples, the counter value may be transmitted between the transmitting device 205 and the receiving device 210 at block 230 without encryption.


At block 235, the diversified symmetric key may be used to process the sensitive data before transmitting the result to the receiving device 210. For example, the transmitting device 205 may encrypt the sensitive data using a symmetric encryption algorithm using the diversified symmetric key, with the output comprising the protected encrypted data. The transmitting device 205 may then transmit the protected encrypted data, along with the counter value, to the receiving device 210 for processing.


At block 240, the receiving device 210 may first take the counter value and then perform the same symmetric encryption using the counter value as input to the encryption, and the master symmetric key as the key for the encryption. The output of the encryption may be the same diversified symmetric key value that was created by the sender.


At block 245, the receiving device 210 may then take the protected encrypted data and using a symmetric decryption algorithm along with the diversified symmetric key, decrypt the protected encrypted data.


At block 250, as a result of the decrypting the protected encrypted data, the original sensitive data may be revealed.


The next time sensitive data needs to be sent from the sender to the recipient via respective transmitting device 205 and receiving device 210, a different counter value may be selected producing a different diversified symmetric key. By processing the counter value with the master symmetric key and same symmetric cryptographic algorithm, both the transmitting device 205 and receiving device 210 may independently produce the same diversified symmetric key. This diversified symmetric key, not the master symmetric key, is used to protect the sensitive data.


As explained above, both the transmitting device 205 and receiving device 210 each initially possess the shared master symmetric key. The shared master symmetric key is not used to encrypt the original sensitive data. Because the diversified symmetric key is independently created by both the transmitting device 205 and receiving device 210, it is never transmitted between the two parties. Thus, an attacker cannot intercept the diversified symmetric key and the attacker never sees any data which was processed with the master symmetric key. Only the counter value is processed with the master symmetric key, not the sensitive data. As a result, reduced side-channel data about the master symmetric key is revealed. Moreover, the operation of the transmitting device 205 and the receiving device 210 may be governed by symmetric requirements for how often to create a new diversification value, and therefore a new diversified symmetric key. In an embodiment, a new diversification value and therefore a new diversified symmetric key may be created for every exchange between the transmitting device 205 and receiving device 210.


In some examples, the key diversification value may comprise the counter value. Other non-limiting examples of the key diversification value include: a random nonce generated each time a new diversified key is needed, the random nonce sent from the transmitting device 205 to the receiving device 210; the full value of a counter value sent from the transmitting device 205 and the receiving device 210; a portion of a counter value sent from the transmitting device 205 and the receiving device 210; a counter independently maintained by the transmitting device 205 and the receiving device 210 but not sent between the two devices; a one-time-passcode exchanged between the transmitting device 205 and the receiving device 210; and a cryptographic hash of the sensitive data. In some examples, one or more portions of the key diversification value may be used by the parties to create multiple diversified keys. For example, a counter may be used as the key diversification value. Further, a combination of one or more of the exemplary key diversification values described above may be used.


In another example, a portion of the counter may be used as the key diversification value. If multiple master key values are shared between the parties, the multiple diversified key values may be obtained by the systems and processes described herein. A new diversification value, and therefore a new diversified symmetric key, may be created as often as needed. In the most secure case, a new diversification value may be created for each exchange of sensitive data between the transmitting device 205 and the receiving device 210. In effect, this may create a one-time use key, such as a single-use session key.



FIG. 3 illustrates a system 300 using a contactless card. System 300 may include a contactless card 305, one or more client devices 310, network 315, servers 320, 325, one or more hardware security modules 330, and a database 335. Although FIG. 3 illustrates single instances of the components, system 300 may include any number of components.


System 300 may include one or more contactless cards 305, which are further explained below with respect to FIGS. 5A-5B. In some examples, contactless card 305 may be in wireless communication, for example NFC communication, with client device 310. For example, contactless card 305 may comprise one or more chips, such as a radio frequency identification chip, configured to communication via NFC or other short-range protocols. In other embodiments, contactless card 305 may communicate with client device 310 through other means including, but not limited to, Bluetooth, satellite, Wi-Fi, wired communications, and/or any combination of wireless and wired connections. According to some embodiments, contactless card 305 may be configured to communicate with card reader 313 of client device 310 through NFC when contactless card 305 is within range of card reader 313. In other examples, communications with contactless card 305 may be accomplished through a physical interface, e.g., a universal serial bus interface or a card swipe interface.


System 300 may include client device 310, which may be a network-enabled computer. As referred to herein, a network-enabled computer may include, but is not limited to: e.g., a computer device, or communications device including, e.g., a server, a network appliance, a personal computer, a workstation, a mobile device, a phone, a handheld PC, a personal digital assistant, a thin client, a fat client, an Internet browser, or other device. One or more client devices 310 also may be a mobile device; for example, a mobile device may include an iPhone, iPod, iPad from Apple® or any other mobile device running Apple's iOS® operating system, any device running Microsoft's Windows® Mobile operating system, any device running Google's Android® operating system, and/or any other smartphone or like wearable mobile device. In some examples, the client device 310 may be the same as, or similar to, a client device 110 as described with reference to FIG. 1A or FIG. 1B.


Client device 310 may be in communication with one or more servers 320 and 325 via one or more networks 315. Client device 310 may transmit, for example from an application 311 executing on client device 310, one or more requests to one or more servers 320 and 325. The one or more requests may be associated with retrieving data from one or more servers 320 and 325. Servers 320 and 325 may receive the one or more requests from client device 310. Based on the one or more requests from client device 310, one or more servers 320 and 325 may be configured to retrieve the requested data from one or more databases 335. Based on receipt of the requested data from the one or more databases 335, one or more servers 320 and 325 may be configured to transmit the received data to client device 310, the received data being responsive to one or more requests.


System 300 may include one or more hardware security modules (HSM) 330. For example, one or more HSMs 330 may be configured to perform one or more cryptographic operations as disclosed herein. In some examples, one or more HSMs 330 may be configured as special purpose security devices that are configured to perform the one or more cryptographic operations. The HSMs 330 may be configured such that keys are never revealed outside the HSM 330, and instead are maintained within the HSM 330. For example, one or more HSMs 330 may be configured to perform at least one of key derivations, decryption, and MAC operations. The one or more HSMs 330 may be contained within, or may be in data communication with, servers 320 and 325.


System 300 may include one or more networks 315. In some examples, network 315 may be one or more of a wireless network, a wired network or any combination of wireless network and wired network, and may be configured to connect client device 315 to server 320 and 325. For example, network 315 may include one or more of a fiber optics network, a passive optical network, a cable network, a cellular network, an Internet network, a satellite network, a wireless LAN, a Global System for Mobile Communication, a Personal Communication Service, a Personal Area Network, Wireless Application Protocol, Multimedia Messaging Service, Enhanced Messaging Service, Short Message Service, Time Division Multiplexing based systems, Code Division Multiple Access based systems, D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, RFID, Wi-Fi, and/or any combination of networks thereof. As a non-limiting example, communications from contactless card 305 and client device 310 may comprise NFC communication, cellular network between client device 310 and a carrier, and Internet between the carrier and a back-end.


In addition, network 315 may include, without limitation, telephone lines, fiber optics, IEEE Ethernet 902.3, a wide area network, a wireless personal area network, a local area network, or a global network such as the Internet. In addition, network 315 may support an Internet network, a wireless communication network, a cellular network, or the like, or any combination thereof. Network 315 may further include one network, or any number of the exemplary types of networks mentioned above, operating as a stand-alone network or in cooperation with each other. Network 315 may utilize one or more protocols of one or more network elements to which they are communicatively coupled. Network 315 may translate to or from other protocols to one or more protocols of network devices. Although network 315 is depicted as a single network, it should be appreciated that according to one or more examples, network 315 may comprise a plurality of interconnected networks, such as, for example, the Internet, a service provider's network, a cable television network, corporate networks, such as credit card association networks, and home networks.


In various examples according to the present disclosure, client device 310 of system 300 may execute one or more applications 311, and include one or more processors 312, and one or more card readers 313. For example, one or more applications 311, such as software applications, may be configured to enable, for example, network communications with one or more components of system 300 and transmit and/or receive data. It is understood that although only single instances of the components of client device 310 are illustrated in FIG. 3, any number of devices 310 may be used. Card reader 313 may be configured to read from and/or communicate with contactless card 305. In conjunction with the one or more applications 311, card reader 313 may communicate with contactless card 305.


The application 311 of any of client device 310 may communicate with the contactless card 305 using short-range wireless communication (e.g., NFC). The application 311 may be configured to interface with a card reader 313 of client device 310 configured to communicate with a contactless card 305. As should be noted, those skilled in the art would understand that a distance of less than twenty centimeters is consistent with NFC range.


In some embodiments, the application 311 communicates through an associated reader (e.g., card reader 313) with the contactless card 305.


In some embodiments, card activation may occur without user authentication. For example, a contactless card 305 may communicate with the application 311 through the card reader 313 of the client device 310 through NFC. The communication (e.g., a tap of the card proximate the card reader 313 of the client device 310) allows the application 311 to read the data associated with the card and perform an activation. In some cases, the tap may activate or launch application 311 and then initiate one or more actions or communications with an account server 325 to activate the card for subsequent use. In some cases, if the application 311 is not installed on client device 310, a tap of the card against the card reader 313 may initiate a download of the application 311 (e.g., navigation to an application download page). Subsequent to installation, a tap of the card may activate or launch the application 311, and then initiate (e.g., via the application or other back-end communication) activation of the card. After activation, the card may be used in various transactions including commercial transactions.


According to some embodiments, the contactless card 305 may include a virtual payment card. In those embodiments, the application 311 may retrieve information associated with the contactless card 305 by accessing a digital wallet implemented on the client device 310, wherein the digital wallet includes the virtual payment card. In some examples, virtual payment card data may include one or more static or dynamically generated virtual card numbers.


Server 320 may comprise a web server in communication with database 335. Server 325 may comprise an account server. In some examples, server 320 may be configured to validate one or more credentials from contactless card 305 and/or client device 310 by comparison with one or more credentials in database 335. Server 325 may be configured to authorize one or more requests, such as payment and transaction, from contactless card 305 and/or client device 310.



FIG. 4 illustrates a method 400 of key diversification according to an example of the present disclosure. Method 400 may include a transmitting device and receiving device similar to transmitting device 205 and receiving device 210 referenced in FIG. 2.


For example, a sender and recipient may desire to exchange data (e.g., original sensitive data) via a transmitting device and a receiving device. As explained above, although these two parties may be included, it is understood that one or more transmitting devices and one or more receiving devices may be involved so long as each party shares the same shared secret symmetric key. In some examples, the transmitting device and receiving device may be provisioned with the same master symmetric key. Further, it is understood that any party or device holding the same secret symmetric key may perform the functions of the transmitting device and similarly any party holding the same secret symmetric key may perform the functions of the receiving device. In some examples, the symmetric key may comprise the shared secret symmetric key which is kept secret from all parties other than the transmitting device and the receiving device involved in exchanging the secure data. It is further understood that both the transmitting device and receiving device may be provided with the same master symmetric key, and further that part of the data exchanged between the transmitting device and receiving device comprises at least a portion of data which may be referred to as the counter value. The counter value may comprise a number that changes each time data is exchanged between the transmitting device and the receiving device.


At block 410, a transmitting device and receiving device may be provisioned with the same master key, such as the same master symmetric key. When the transmitting device is preparing to process the sensitive data with symmetric cryptographic operation, the sender may update a counter. In addition, the transmitting device may select an appropriate symmetric cryptographic algorithm, which may include at least one of a symmetric encryption algorithm, HMAC algorithm, and a CMAC algorithm. In some examples, the symmetric algorithm used to process the diversification value may comprise any symmetric cryptographic algorithm used as needed to generate the desired length diversified symmetric key. Non-limiting examples of the symmetric algorithm may include a symmetric encryption algorithm such as 3DES or AES128; a symmetric HMAC algorithm, such as HMAC-SHA-256; and a symmetric CMAC algorithm, such as AES-CMAC. It is understood that if the output of the selected symmetric algorithm does not generate a sufficiently long key, techniques such as processing multiple iterations of the symmetric algorithm with different input data and the same master key may produce multiple outputs which may be combined as needed to produce sufficient length keys.


The transmitting device may take the selected cryptographic algorithm, and using the master symmetric key, process the counter value. For example, the sender may select a symmetric encryption algorithm, and use a counter which updates with every conversation between the transmitting device and the receiving device.


At block 420, the transmitting device may then encrypt the counter value with the selected symmetric encryption algorithm using the master symmetric key, creating a diversified symmetric key. The diversified symmetric key may be used to process the sensitive data before transmitting the result to the receiving device. For example, the transmitting device may encrypt the sensitive data using a symmetric encryption algorithm using the diversified symmetric key, with the output comprising the protected encrypted data. The transmitting device may then transmit the protected encrypted data, along with the counter value, to the receiving device for processing. In some examples, a cryptographic operation other than encryption may be performed, and a plurality of cryptographic operations may be performed using the diversified symmetric keys prior to transmittal of the protected data.


In some examples, the counter value may not be encrypted. In these examples, the counter value may be transmitted between the transmitting device and the receiving device at block 420 without encryption.


At block 430, sensitive data may be protected using one or more cryptographic algorithms and the diversified keys. The diversified session keys, which may be created by the key diversification which uses the counter, may be used with one or more cryptographic algorithms to protect the sensitive data. For example, data may be processed by a MAC using a first diversified session key, and the resulting output may be encrypted using the second diversified session key producing the protected data.


At block 440, the receiving device may perform the same symmetric encryptions using the counter value as input to the encryptions and the master symmetric keys as the keys for the encryption. The output of the encryptions may be the same diversified symmetric key values that were created by the sender. For example, the receiving device may independently create its own copies of the first and second diversified session keys using the counter. Then, the receiving device may decrypt the protected data using the second diversified session key to reveal the output of the MAC created by the transmitting device. The receiving device may then process the resultant data through the MAC operation using the first diversified session key.


At block 450, the receiving device may use the diversified keys with one or more cryptographic algorithms to validate the protected data.


At block 460, the original data may be validated. If the output of the MAC operation (via the receiving device using the first diversified session key) matches the MAC output revealed by decryption, then the data may be deemed valid.


The next time sensitive data needs to be sent from the transmitting device to the receiving device, a different counter value may be selected, which produces a different diversified symmetric key. By processing the counter value with the master symmetric key and same symmetric cryptographic algorithm, both the transmitting device and receiving device may independently produce the same diversified symmetric key. This diversified symmetric key, not the master symmetric key, is used to protect the sensitive data.


As explained above, both the transmitting device and receiving device each initially possess the shared master symmetric key. The shared master symmetric key is not used to encrypt the original sensitive data. Because the diversified symmetric key is independently created by both the transmitting device and receiving device, it is never transmitted between the two parties. Thus, an attacker cannot intercept the diversified symmetric key and the attacker never sees any data which was processed with the master symmetric key. Only the small counter value is processed with the master symmetric key, not the sensitive data. As a result, reduced side-channel data about the master symmetric key is revealed. Moreover, the sender and the recipient may agree, for example by prior arrangement or other means, how often to create a new diversification value, and therefore a new diversified symmetric key. In an embodiment, a new diversification value and therefore a new diversified symmetric key may be created for every exchange between the transmitting device and receiving device.


In some examples, the key diversification value may comprise the counter value. Other non-limiting examples of the key diversification value include: a random nonce generated each time a new diversified key is needed, the random nonce sent from the transmitting device to the receiving device; the full value of a counter value sent from the transmitting device and the receiving device; a portion of a counter value sent from the transmitting device and the receiving device; a counter independently maintained by the transmitting device and the receiving device but not sent between the two; a one-time-passcode exchanged between the transmitting device and the receiving device; cryptographic hash of the sensitive data. In some examples, one or more portions of the key diversification value may be used by the parties to create multiple diversified keys. For example, a counter may be used as the key diversification value.


In another example, a portion of the counter may be used as the key diversification value. If multiple master key values are shared between the parties, the multiple diversified key values may be obtained by the system and processes described herein. A new diversification value, and therefore a new diversified symmetric key, may be created as often as needed. In the most secure case, a new diversification value may be created for each exchange of sensitive data between the transmitting device and the receiving device. In effect, this may create a one-time use key, such as a single session key.


In other examples, such as to limit the number of times of use of the master symmetric key, it may be agreed upon by the sender of transmitting device and recipient of the receiving device that a new diversification value, and therefore a new diversified symmetric key, will happen only periodically. In one example, this may be after a predetermined number of uses, such as every 10 transmissions between the transmitting device and the receiving device. In another example, this may be after a certain time period, a certain time period after a transmission, or on a periodic basis (e.g., daily at a designated time; weekly at a designated time on a designated day). In another example, this may be every time the receiving device signals to the transmitting device that it desires to change the key on the next communication. This may be controlled on policy and may be varied due to, for example, the current risk level perceived by the recipient of the receiving device.



FIG. 5A illustrates one or more contactless cards 500, which may comprise a payment card, such as a credit card, debit card, or gift card, issued by a service provider 505 displayed on the front or back of the card 500. In some examples, the contactless card 500 is not related to a payment card, and may comprise, without limitation, an identification card. In some examples, the payment card may comprise a dual interface contactless payment card. The contactless card 500 may comprise a substrate 510, which may include a single layer or one or more laminated layers composed of plastics, metals, and other materials. Exemplary substrate materials include polyvinyl chloride, polyvinyl chloride acetate, acrylonitrile butadiene styrene, polycarbonate, polyesters, anodized titanium, palladium, gold, carbon, paper, and biodegradable materials. In some examples, the contactless card 500 may have physical characteristics compliant with the ID-1 format of the ISO/IEC 7810 standard, and the contactless card may otherwise be compliant with the ISO/IEC 14443 standard. However, it is understood that the contactless card 500 according to the present disclosure may have different characteristics, and the present disclosure does not require a contactless card to be implemented in a payment card.


The contactless card 500 may also include identification information 515 displayed on the front and/or back of the card, and a contact pad 520. The contact pad 520 may be configured to establish contact with another communication device, such as a user device, smart phone, laptop, desktop, or tablet computer. The contactless card 500 may also include processing circuitry, antenna and other components not shown in FIG. 5A. These components may be located behind the contact pad 520 or elsewhere on the substrate 510. The contactless card 500 may also include a magnetic strip or tape, which may be located on the back of the card (not shown in FIG. 5A).


As illustrated in FIG. 5B, the contact pad 520 of FIG. 5A may include processing circuitry 525 for storing and processing information, including a microprocessor 530 and a memory 535. It is understood that the processing circuitry 525 may contain additional components, including processors, memories, error and parity/CRC checkers, data encoders, anticollision algorithms, controllers, command decoders, security primitives and tamperproofing hardware, as necessary to perform the functions described herein.


The memory 535 may be a read-only memory, write-once read-multiple memory or read/write memory, e.g., RAM, ROM, and EEPROM, and the contactless card 500 may include one or more of these memories. A read-only memory may be factory programmable as read-only or one-time programmable. One-time programmability provides the opportunity to write once then read many times. A write once/read-multiple memory may be programmed at a point in time after the memory chip has left the factory. Once the memory is programmed, it may not be rewritten, but it may be read many times. A read/write memory may be programmed and re-programed many times after leaving the factory. It may also be read many times.


The memory 535 may be configured to store one or more applets 540, one or more counters 545, and a customer identifier 550. The one or more applets 540 may comprise one or more software applications configured to execute on one or more contactless cards, such as Java Card applet. However, it is understood that applets 540 are not limited to Java Card applets, and instead may be any software application operable on contactless cards or other devices having limited memory. The one or more counters 545 may comprise a numeric counter sufficient to store an integer. The customer identifier 550 may comprise a unique alphanumeric identifier assigned to a user of the contactless card 500, and the identifier may distinguish the user of the contactless card from other contactless card users. In some examples, the customer identifier 550 may identify both a customer and an account assigned to that customer and may further identify the contactless card associated with the customer's account.


The processor and memory elements of the foregoing exemplary embodiments are described with reference to the contact pad, but the present disclosure is not limited thereto. It is understood that these elements may be implemented outside of the pad 520 or entirely separate from it, or as further elements in addition to processor 530 and memory 535 elements located within the contact pad 520.


In some examples, the contactless card 500 may comprise one or more antennas 555. The one or more antennas 555 may be placed within the contactless card 500 and around the processing circuitry 525 of the contact pad 520. For example, the one or more antennas 555 may be integral with the processing circuitry 525 and the one or more antennas 555 may be used with an external booster coil. As another example, the one or more antennas 555 may be external to the contact pad 520 and the processing circuitry 525.


In an embodiment, the coil of contactless card 500 may act as the secondary of an air core transformer. The terminal may communicate with the contactless card 500 by cutting power or amplitude modulation. The contactless card 500 may infer the data transmitted from the terminal using the gaps in the contactless card's power connection, which may be functionally maintained through one or more capacitors. The contactless card 500 may communicate back by switching a load on the contactless card's coil or load modulation. Load modulation may be detected in the terminal's coil through interference.


As explained above, the contactless cards 500 may be built on a software platform operable on smart cards or other devices having limited memory, such as JavaCard, and one or more or more applications or applets may be securely executed. Applets may be added to contactless cards to provide a one-time password (OTP) for multifactor authentication (MFA) in various mobile application-based use cases. Applets may be configured to respond to one or more requests, such as near field data exchange requests, from a reader, such as a mobile NFC reader, and produce an NDEF message that comprises a cryptographically secure OTP encoded as an NDEF text tag.



FIG. 6 illustrates NDEF short-record layout (SR=1) 600 according to an example embodiment. One or more applets may be configured to encode the OTP as an NDEF type 4 well known type text tag. In some examples, NDEF messages may comprise one or more records. The applets may be configured to add one or more static tag records in addition to the OTP record. Exemplary tags include, without limitation, Tag type: well known type, text, encoding English (en); Applet ID: D2760000850101; Capabilities: read-only access; Encoding: the authentication message may be encoded as ASCII hex; type-length-value (TLV) data may be provided as a personalization parameter that may be used to generate the NDEF message. In an embodiment, the authentication template may comprise the first record, with a well-known index for providing the actual dynamic authentication data.



FIG. 7 illustrates a message 710 and a message format 720 according to an example embodiment. In one example, if additional tags are to be added, the first byte may change to indicate message begin, but not end, and a subsequent record may be added. Because ID length is zero, ID length field and ID are omitted from the record. An example message may include: UDK AUT key; Derived AUT session key (using 0x00000050); Version 1.0; pATC=0x00000050; RND=4838FB7DC171B89E; MAC=<eight computed bytes>.


In some examples, data may be stored in the contactless card at personalization time by implementing STORE DATA (E2) under secure channel protocol 2. One or more values may be read by the personalization bureau from the EMBOSS files (in a section designated by the Applet ID) and one or more store data commands may be transmitted to the contactless card after authentication and secure channel establishment.


pUID may comprise a 16-digit BCD encoded number. In some examples, pUID may comprise 14 digits.
















Length




Item
(bytes)
Encrypted?
Notes


















pUID
8
No



AutKey
16
Yes
3DES Key for Deriving MAC





session keys


AutKCV
3
No
Key Check Value


DEKKey
16
Yes
3DES Key for deriving Encryption





session key


DEKKCV
3
No
Key Check Value


Card Shared
4 bytes
No
4 Byte True Random number (pre-


Random


generated)


NTLV
X Bytes
No
TLV data for NDEF message









In some examples, the one or more applets may be configured to maintain its personalization state to allow personalization only if unlocked and authenticated. Other states may comprise standard states pre-personalization. On entering into a terminated state, the one or more applets may be configured to remove personalization data. In the terminated state, the one or more applets may be configured to stop responding to all application protocol data unit (APDU) requests.


The one or more applets may be configured to maintain an applet version (2 bytes), which may be used in the authentication message. In some examples, this may be interpreted as most significant byte major version, least significant byte minor version. The rules for each of the versions are configured to interpret the authentication message: For example, regarding the major version, this may include that each major version comprise a specific authentication message layout and specific algorithms. For the minor version, this may include no changes to the authentication message or cryptographic algorithms, and changes to static tag content, in addition to bug fixes, security hardening, etc.


In some examples, the one or more applets may be configured to emulate an RFID tag. The RFID tag may include one or more polymorphic tags. In some examples, each time the tag is read, different cryptographic data is presented that may indicate the authenticity of the contactless card. Based on the one or more applications, an NFC read of the tag may be processed, the token may be transmitted to a server, such as a backend server, and the token may be validated at the server.


In some examples, the contactless card and server may include certain data such that the card may be properly identified. The contactless card may comprise one or more unique identifiers. Each time a read operation takes place, a counter may be configured to update. In some examples, each time the card is read, it is transmitted to the server for validation and determines whether the counter is equal (as part of the validation).


The one or more counters may be configured to prevent a replay attack. For example, if a cryptogram has been obtained and replayed, that cryptogram is immediately rejected if the counter has been read or used or otherwise passed over. If the counter has not been used, it may be replayed. In some examples, the counter that is updated on the card is different from the counter that is updated for transactions. In some examples, the contactless card may comprise a first applet, which may be a transaction applet, and a second applet. Each applet may comprise a counter.


In some examples, the counter may get out of sync between the contactless card and one or more servers. For example, the contactless card may be activated causing the counter to be updated and a new communication to be generated by the contactless card, but the communication may be not be transmitted for processing at the one or more servers. This may cause the counter of the contactless card and the counter maintained at the one or more servers to get out of sync. This may occur unintentionally including, for example, where a card is stored adjacent to a device (e.g., carried in a pocket with a device) and where the contactless card is read at an angle may include the card being misaligned or not positioned such that the contactless card is powered up an the NFC field but is not readable. If the contactless card is positioned adjacent to a device, the device's NFC field may be turned on to power the contactless card causing the counter therein to be updated, but no application on the device receives the communication.


To keep the counter in sync, an application, such as a background application, may be executed that would be configured to detect when the mobile device wakes up and synchronize with the one or more servers indicating that a read that occurred due to detection to then move the counter forward. Since the counters of the contactless card and the one or more servers may get out of sync, the one or more servers may be configured to allow the counter of the contactless card to be updated a threshold or predetermined number of times before it is read by the one or more servers and still be considered valid. For example, if the counter is configured to increment (or decrement) by one for each occurrence indicating activation of the contactless card, the one or more servers may allow any counter value it reads from the contactless card as valid, or any counter value within a threshold range (e.g., from 1 to 10). Moreover, the one or more servers may be configured to request a gesture associated with the contactless card, such as a user tap, if it reads a counter value which has advanced beyond 10, but below another threshold range value (such as 1000). From the user tap, if the counter value is within a desired or acceptance range, authentication succeeds.



FIG. 8 is a flowchart illustrating key operations 800 according to an example embodiment. As illustrated in FIG. 8, at block 810, two bank identifier number (BIN) level master keys may be used in conjunction with the account identifier and card sequence number to produce two unique derived keys (UDKs) per card. In some examples, a bank identifier number may comprise one number or a combination of one or more numbers, such as an account number or an unpredictable number provided by one or more servers, may be used for session key generation and/or diversification. The UDKs (AUTKEY and ENCKEY) may be stored on the card during the personalization process.


At block 820, the counter may be used as the diversification data, since it changes with each use and provides a different session key each time, as opposed to the master key derivation in which one unique set of keys per card is produced. In some examples, it is preferable to use the 4-byte method for both operations. Accordingly, at block 820, two session keys may be created for each transaction from the UDKs, i.e., one session key from AUTKEY and one session key from ENCKEY. In the card, for the MAC key (i.e., the session key created from AUTKEY), the low order of two bytes of the OTP counter may be used for diversification. For the ENC key (i.e., the session key created from ENCKEY), the full length of the OTP counter may be used for the ENC key.


At block 830, the MAC key may be used for preparing the MAC cryptogram, and the ENC key may be used to encrypt the cryptogram. For example, the MAC session key may be used to prepare the cryptogram, and the result may be encrypted with the ENC key before it is transmitted to the one or more servers.


At block 840, verification and processing of the MAC is simplified because 2-byte diversification is directly supported in the MAC authentication functions of payment HSMs. Decryption of the cryptogram is performed prior to verification of the MAC. The session keys are independently derived at the one or more servers, resulting in a first session key (the ENC session key) and a second session key (the MAC session key). The second derived key (i.e., the ENC session key) may be used to decrypt the data, and the first derived key (i.e., the MAC session key) may be used to verify the decrypted data.


For the contactless card, a different unique identifier is derived which may be related to the application primary account number (PAN) and PAN sequence number, which is encoded in the card. The key diversification may be configured to receive the identifier as input with the master key such that one or more keys may be created for each contactless card. In some examples, these diversified keys may comprise a first key and a second key. The first key may include an authentication master key (Card Cryptogram Generation/Authentication Key—Card-Key-Auth), and may be further diversified to create a MAC session key used when generating and verifying a MAC cryptogram. The second key may comprise an encryption master key (Card Data Encryption Key—Card-Key-DEK), and may be further diversified to create an ENC session key used when encrypting and decrypting enciphered data. In some examples, the first and the second keys may be created by diversifying the issuer master keys by combining them with the card's unique ID number (pUID) and the PAN sequence number (PSN) of a payment applet. The pUID may comprise a 16-digit numerical value. As explained above, pUID may comprise a 16 digit BCD encoded number. In some examples, pUID may comprise a 14-digit numerical value.


In some examples, since the EMV session key derivation method may wrap at 2{circumflex over ( )}16 uses, the counter such as the full 32-bit counter may be added to the initialization arrays of the diversification method.


In other examples, such as credit cards, a number, such as an account number or an unpredictable number provided by one or more servers, may be used for session key generation and/or diversification.



FIG. 9 illustrates a diagram of a system 900 configured to implement one or more embodiments of the present disclosure. As explained below, during the contactless card creation process, two cryptographic keys may be assigned uniquely for each card. The cryptographic keys may comprise symmetric keys which may be used in both encryption and decryption of data. Triple DES (3DES) algorithm may be used by EMV and it is implemented by hardware in the contactless card. By using a key diversification process, one or more keys may be derived from a master key based upon uniquely identifiable information for each entity that requires a key.


Regarding master key management, two issuer master keys 905, 910 may be required for each part of the portfolio on which the one or more applets is issued. For example, the first master key 905 may comprise an Issuer Cryptogram Generation/Authentication Key (Iss-Key-Auth) and the second master key 910 may comprise an Issuer Data Encryption Key (Iss-Key-DEK). As further explained herein, two issuer master keys 905, 910 are diversified into card master keys 925, 930, which are unique for each card. In some examples, a network profile record ID (pNPR) 915 and derivation key index (pDKI) 920, as back office data, may be used to identify which Issuer Master Keys 905, 910 to use in the cryptographic processes for authentication. The system performing the authentication may be configured to retrieve values of pNPR 915 and pDKI 920 for a contactless card at the time of authentication.


In some examples, to increase the security of the solution, a session key may be derived (such as a unique key per session) but rather than using the master key, the unique card-derived keys and the counter may be used as diversification data, as explained above. For example, each time the card is used in operation, a different key may be used for creating the message authentication code (MAC) and for performing the encryption. Regarding session key generation, the keys used to generate the cryptogram and encipher the data in the one or more applets may comprise session keys based on the card unique keys (Card-Key-Auth 925 and Card-Key-Dek 930). The session keys (Aut-Session-Key 935 and DEK-Session-Key 940) may be generated by the one or more applets and derived by using the application transaction counter (pATC) 945 with one or more algorithms. To fit data into the one or more algorithms, only the 2 low order bytes of the 4-byte pATC 945 is used. In some examples, the four byte session key derivation method may comprise: F1:=PATC(lower 2 bytes)∥‘F0’∥‘00’∥PATC (four bytes) F1:=PATC(lower 2 bytes)∥‘0F’∥‘00’∥PATC (four bytes) SK:={(ALG (MK) [F1])∥ALG (MK) [F2]}, where ALG may include 3DES ECB and MK may include the card unique derived master key.


As described herein, one or more MAC session keys may be derived using the lower two bytes of pATC 945 counter. At each tap of the contactless card, pATC 945 is configured to be updated, and the card master keys Card-Key-AUTH 925 and Card-Key-DEK 930 are further diversified into the session keys Aut-Session-Key 935 and DEK-Session-KEY 940. pATC 945 may be initialized to zero at personalization or applet initialization time. In some examples, the pATC counter 945 may be initialized at or before personalization, and may be configured to increment by one at each NDEF read.


Further, the update for each card may be unique, and assigned either by personalization, or algorithmically assigned by pUID or other identifying information. For example, odd numbered cards may increment or decrement by 2 and even numbered cards may increment or decrement by 5. In some examples, the update may also vary in sequential reads, such that one card may increment in sequence by 1, 3, 5, 2, 2, . . . repeating. The specific sequence or algorithmic sequence may be defined at personalization time, or from one or more processes derived from unique identifiers. This can make it harder for a replay attacker to generalize from a small number of card instances.


The authentication message may be delivered as the content of a text NDEF record in hexadecimal ASCII format. In some examples, only the authentication data and an 8-byte random number followed by MAC of the authentication data may be included. In some examples, the random number may precede cryptogram A and may be one block long. In other examples, there may be no restriction on the length of the random number. In further examples, the total data (i.e., the random number plus the cryptogram) may be a multiple of the block size. In these examples, an additional 8-byte block may be added to match the block produced by the MAC algorithm. As another example, if the algorithms employed used 16-byte blocks, even multiples of that block size may be used, or the output may be automatically, or manually, padded to a multiple of that block size.


The MAC may be performed by a function key (AUT-Session-Key) 935. The data specified in cryptogram may be processed with javacard.signature method: ALG_DES_MAC8_ISO9797_1_M2_ALG3 to correlate to EMV ARQC verification methods. The key used for this computation may comprise a session key AUT-Session-Key 935, as explained above. As explained above, the low order two bytes of the counter may be used to diversify for the one or more MAC session keys. As explained below, AUT-Session-Key 935 may be used to MAC data 950, and the resulting data or cryptogram A 955 and random number RND may be encrypted using DEK-Session-Key 940 to create cryptogram B or output 960 sent in the message.


In some examples, one or more HSM commands may be processed for decrypting such that the final 16 (binary, 32 hex) bytes may comprise a 3DES symmetric encrypting using CBC mode with a zero IV of the random number followed by MAC authentication data. The key used for this encryption may comprise a session key DEK-Session-Key 940 derived from the Card-Key-DEK 930. In this case, the ATC value for the session key derivation is the least significant byte of the counter pATC 945.


The format below represents a binary version example embodiment. Further, in some examples, the first byte may be set to ASCII ‘A’.
















Message Format













1
2
4
8
8


0 × 43 (Message
Version
pATC
RND
Cryptogram A


Type ‘A’)



(MAC)


Cryptogram A
8 bytes





(MAC)






MAC of






2
8
4
4
18 bytes input data


Version
pUID
pATC
Shared Secret













Message Format





1
2
4
16


0 × 43 (Message
Version
pATC
Cryptogram B











Type ‘A’)






Cryptogram A
8 bytes





(MAC)






MAC of






2
8
4
4
18 bytes input data


Version
pUID
pATC
Shared Secret



Cryptogram B
16





Sym Encryption






of






8
8





RND
Cryptogram






A









Another exemplary format is shown below. In this example, the tag may be encoded in hexadecimal format.
















Message Format













2
8
4
8
8


Version
pUID
pATC
RND
Cryptogram A






(MAC)








8 bytes












8
8
4
4
18 bytes input data










pUID
pUID
pATC
Shared Secret





Message Format





2
8
4
16


Version
pUID
pATC
Cryptogram B


8 bytes














8

4
4
18 bytes input data


pUID
pUID
pATC
Shared Secret



Cryptogram B
16





Sym Encryption






of






8
8





RND
Cryptogram






A









The UID field of the received message may be extracted to derive, from master keys Iss-Key-AUTH 905 and Iss-Key-DEK 910, the card master keys (Card-Key-Auth 925 and Card-Key-DEK 930) for that particular card. Using the card master keys (Card-Key-Auth 925 and Card-Key-DEK 930), the counter (pATC) field of the received message may be used to derive the session keys (Aut-Session-Key 935 and DEK-Session-Key 940) for that particular card. Cryptogram B 960 may be decrypted using the DEK-Session-KEY, which yields cryptogram A 955 and RND, and RND may be discarded. The UID field may be used to look up the shared secret of the contactless card which, along with the Ver, UID, and pATC fields of the message, may be processed through the cryptographic MAC using the re-created Aut-Session-Key to create a MAC output, such as MAC′. If MAC′ is the same as cryptogram A 955, then this indicates that the message decryption and MAC checking have all passed. Then the pATC may be read to determine if it is valid.


During an authentication session, one or more cryptograms may be generated by the one or more applications. For example, the one or more cryptograms may be generated as a 3DES MAC using ISO 9797-1 Algorithm 3 with Method 2 padding via one or more session keys, such as Aut-Session-Key 935. The input data 950 may take the following form: Version (2), pUID (8), pATC (4), Shared Secret (4). In some examples, the numbers in the brackets may comprise length in bytes. In some examples, the shared secret may be generated by one or more random number generators which may be configured to ensure, through one or more secure processes, that the random number is unpredictable. In some examples, the shared secret may comprise a random 4-byte binary number injected into the card at personalization time that is known by the authentication service. During an authentication session, the shared secret may not be provided from the one or more applets to the mobile application. Method 2 padding may include adding a mandatory 0x‘80’ byte to the end of input data and 0x‘00’ bytes that may be added to the end of the resulting data up to the 8-byte boundary. The resulting cryptogram may comprise 8 bytes in length.


In some examples, one benefit of encrypting an unshared random number as the first block with the MAC cryptogram, is that it acts as an initialization vector while using CBC (Block chaining) mode of the symmetric encryption algorithm. This allows the “scrambling” from block to block without having to pre-establish either a fixed or dynamic IV.


By including the application transaction counter (pATC) as part of the data included in the MAC cryptogram, the authentication service may be configured to determine if the value conveyed in the clear data has been tampered with. Moreover, by including the version in the one or more cryptograms, it is difficult for an attacker to purposefully misrepresent the application version in an attempt to downgrade the strength of the cryptographic solution. In some examples, the pATC may start at zero and be updated by 1 each time the one or more applications generates authentication data. The authentication service may be configured to track the pATCs used during authentication sessions. In some examples, when the authentication data uses a pATC equal to or lower than the previous value received by the authentication service, this may be interpreted as an attempt to replay an old message, and the authenticated may be rejected. In some examples, where the pATC is greater than the previous value received, this may be evaluated to determine if it is within an acceptable range or threshold, and if it exceeds or is outside the range or threshold, verification may be deemed to have failed or be unreliable. In the MAC operation 936, data 950 is processed through the MAC using Aut-Session-Key 935 to produce MAC output (cryptogram A) 955, which is encrypted.


In order to provide additional protection against brute force attacks exposing the keys on the card, it is desirable that the MAC cryptogram 955 be enciphered. In some examples, data or cryptogram A 955 to be included in the ciphertext may comprise: Random number (8), cryptogram (8). In some examples, the numbers in the brackets may comprise length in bytes. In some examples, the random number may be generated by one or more random number generators which may be configured to ensure, through one or more secure processes, that the random number is unpredictable. The key used to encipher this data may comprise a session key. For example, the session key may comprise DEK-Session-Key 940. In the encryption operation 941, data or cryptogram A 955 and RND are processed using DEK-Session-Key 940 to produce encrypted data, cryptogram B 960. The data 955 may be enciphered using 3DES in cipher block chaining mode to ensure that an attacker must run any attacks over all of the ciphertext. As a non-limiting example, other algorithms, such as Advanced Encryption Standard (AES), may be used. In some examples, an initialization vector of 0x‘0000000000000000’ may be used. Any attacker seeking to brute force the key used for enciphering this data will be unable to determine when the correct key has been used, as correctly decrypted data will be indistinguishable from incorrectly decrypted data due to its random appearance.


In order for the authentication service to validate the one or more cryptograms provided by the one or more applets, the following data must be conveyed from the one or more applets to the mobile device in the clear during an authentication session: version number to determine the cryptographic approach used and message format for validation of the cryptogram, which enables the approach to change in the future; pUID to retrieve cryptographic assets, and derive the card keys; and pATC to derive the session key used for the cryptogram.



FIG. 10 illustrates a method 1000 for generating a cryptogram. For example, at block 1010, a network profile record ID (pNPR) and derivation key index (pDKI) may be used to identify which Issuer Master Keys to use in the cryptographic processes for authentication. In some examples, the method may include performing the authentication to retrieve values of pNPR and pDKI for a contactless card at the time of authentication.


At block 1020, Issuer Master Keys may be diversified by combining them with the card's unique ID number (pUID) and the PAN sequence number (PSN) of one or more applets, for example, a payment applet.


At block 1030, Card-Key-Auth and Card-Key-DEK (unique card keys) may be created by diversifying the Issuer Master Keys to generate session keys which may be used to generate a MAC cryptogram.


At block 1040, the keys used to generate the cryptogram and encipher the data in the one or more applets may comprise the session keys of block 1030 based on the card unique keys (Card-Key-Auth and Card-Key-DEK). In some examples, these session keys may be generated by the one or more applets and derived by using pATC, resulting in session keys Aut-Session-Key and DEK-Session-Key.



FIG. 11 depicts an exemplary process 1100 illustrating key diversification according to one example. Initially, a sender and the recipient may be provisioned with two different master keys. For example, a first master key may comprise the data encryption master key, and a second master key may comprise the data integrity master key. The sender has a counter value, which may be updated at block 1110, and other data, such as data to be protected, which it may secure share with the recipient.


At block 1120, the counter value may be encrypted by the sender using the data encryption master key to produce the data encryption derived session key, and the counter value may also be encrypted by the sender using the data integrity master key to produce the data integrity derived session key. In some examples, a whole counter value or a portion of the counter value may be used during both encryptions.


In some examples, the counter value may not be encrypted. In these examples, the counter may be transmitted between the sender and the recipient in the clear, i.e., without encryption.


At block 1130, the data to be protected is processed with a cryptographic MAC operation by the sender using the data integrity session key and a cryptographic MAC algorithm. The protected data, including plaintext and shared secret, may be used to produce a MAC using one of the session keys (AUT-Session-Key).


At block 1140, the data to be protected may be encrypted by the sender using the data encryption derived session key in conjunction with a symmetric encryption algorithm. In some examples, the MAC is combined with an equal amount of random data, for example each 8 bytes long, and then encrypted using the second session key (DEK-Session-Key).


At block 1150, the encrypted MAC is transmitted, from the sender to the recipient, with sufficient information to identify additional secret information (such as shared secret, master keys, etc.), for verification of the cryptogram.


At block 1160, the recipient uses the received counter value to independently derive the two derived session keys from the two master keys as explained above.


At block 1170, the data encryption derived session key is used in conjunction with the symmetric decryption operation to decrypt the protected data. Additional processing on the exchanged data will then occur. In some examples, after the MAC is extracted, it is desirable to reproduce and match the MAC. For example, when verifying the cryptogram, it may be decrypted using appropriately generated session keys. The protected data may be reconstructed for verification. A MAC operation may be performed using an appropriately generated session key to determine if it matches the decrypted MAC. As the MAC operation is an irreversible process, the only way to verify is to attempt to recreate it from source data.


At block 1180, the data integrity derived session key is used in conjunction with the cryptographic MAC operation to verify that the protected data has not been modified.


Some examples of the methods described herein may advantageously confirm when a successful authentication is determined when the following conditions are met. First, the ability to verify the MAC shows that the derived session key was proper. The MAC may only be correct if the decryption was successful and yielded the proper MAC value. The successful decryption may show that the correctly derived encryption key was used to decrypt the encrypted MAC. Since the derived session keys are created using the master keys known only to the sender (e.g., the transmitting device) and recipient (e.g., the receiving device), it may be trusted that the contactless card which originally created the MAC and encrypted the MAC is indeed authentic. Moreover, the counter value used to derive the first and second session keys may be shown to be valid and may be used to perform authentication operations.


Thereafter, the two derived session keys may be discarded, and the next iteration of data exchange will update the counter value (returning to block 1110) and a new set of session keys may be created (at block 1120). In some examples, the combined random data may be discarded.


Example embodiments of systems and methods described herein may be configured to provide security factor authentication. The security factor authentication may comprise a plurality of processes. As part of the security factor authentication, a first process may comprise logging in and validating a user via one or more applications executing on a device. As a second process, the user may, responsive to successful login and validation of the first process via the one or more applications, engage in one or more behaviors associated with one or more contactless cards. In effect, the security factor authentication may include both securely proving identity of the user and engaging in one or more types of behaviors, including but not limited to one or more tap gestures, associated with the contactless card. In some examples, the one or more tap gestures may comprise a tap of the contactless card by the user to a device. In some examples, the device may comprise a mobile device, a kiosk, a terminal, a tablet, or any other device configured to process a received tap gesture.


In some examples, the contactless card may be tapped to a device, such as one or more computer kiosks or terminals, to verify identity so as to receive a transactional item responsive to a purchase, such as a coffee. By using the contactless card, a secure method of proving identity in a loyalty program may be established. Securely proving the identity, for example, to obtain a reward, coupon, offer, or the like or receipt of a benefit is established in a manner that is different than merely scanning a bar card. For example, an encrypted transaction may occur between the contactless card and the device, which may configured to process one or more tap gestures. As explained above, the one or more applications may be configured to validate identity of the user and then cause the user to act or respond to it, for example, via one or more tap gestures. In some examples, data for example, bonus points, loyalty points, reward points, healthcare information, etc., may be written back to the contactless card.


In some examples, the contactless card may be tapped to a device, such as a mobile device. As explained above, identity of the user may be verified by the one or more applications which would then grant the user a desired benefit based on verification of the identity.


In some examples, the contactless card may be activated by tapping to a device, such as a mobile device. For example, the contactless card may communicate with an application of the device via a card reader of the device through NFC communication. The communication, in which a tap of the card proximate the card reader of the device may allow the application of the device to read data associated with the contactless card and activate the card. In some examples, the activation may authorize the card to be used to perform other functions, e.g., purchases, access account or restricted information, or other functions. In some examples, the tap may activate or launch the application of the device and then initiate one or more actions or communications with one or more servers to activate the contactless card. If the application is not installed on the device, a tap of the contactless card proximate the card reader may initiate a download of the application, such as navigation to a download page of the application). Subsequent to installation, a tap of the contactless card may activate or launch the application, and then initiate, for example via the application or other back-end communication), activation of the contactless card. After activation, the contactless card may be used in various activities, including without limitation commercial transactions.


In some embodiments, a dedicated application may be configured to execute on a client device to perform the activation of the contactless card. In other embodiments, a webportal, a web-based app, an applet, and/or the like may perform the activation. Activation may be performed on the client device, or the client device may merely act as a go between for the contactless card and an external device (e.g., account server). According to some embodiments, in providing activation, the application may indicate, to the account server, the type of device performing the activation (e.g., personal computer, smartphone, tablet, or point-of-sale (POS) device). Further, the application may output, for transmission, different and/or additional data to the account server depending on the type of device involved. For example, such data may comprise information associated with a merchant, such as merchant type, merchant ID, and information associated with the device type itself, such as POS data and POS ID.


In some embodiments, the example authentication communication protocol may mimic an offline dynamic data authentication protocol of the EMV standard that is commonly performed between a transaction card and a point-of-sale device, with some modifications. For example, because the example authentication protocol is not used to complete a payment transaction with a card issuer/payment processor per se, some data values are not needed, and authentication may be performed without involving real-time online connectivity to the card issuer/payment processor. As is known in the art, point of sale (POS) systems submit transactions including a transaction value to a card issuer. Whether the issuer approves or denies the transaction may be based on if the card issuer recognizes the transaction value. Meanwhile, in certain embodiments of the present disclosure, transactions originating from a mobile device lack the transaction value associated with the POS systems. Therefore, in some embodiments, a dummy transaction value (i.e., a value recognizable to the card issuer and sufficient to allow activation to occur) may be passed as part of the example authentication communication protocol. POS based transactions may also decline transactions based on the number of transaction attempts (e.g., transaction counter). A number of attempts beyond a buffer value may result in a soft decline; the soft decline requiring further verification before accepting the transaction. In some implementations, a buffer value for the transaction counter may be modified to avoid declining legitimate transactions.


In some examples, the contactless card can selectively communicate information depending upon the recipient device. Once tapped, the contactless card can recognize the device to which the tap is directed, and based on this recognition the contactless card can provide appropriate data for that device. This advantageously allows the contactless card to transmit only the information required to complete the instant action or transaction, such as a payment or card authentication. By limiting the transmission of data and avoiding the transmission of unnecessary data, both efficiency and data security can be improved. The recognition and selective communication of information can be applied to a various scenarios, including card activation, balance transfers, account access attempts, commercial transactions, and step-up fraud reduction.


If the contactless card tap is directed to a device running Apple's iOS® operating system, e.g., an iPhone, iPod, or iPad, the contactless card can recognize the iOS® operating system and transmit data appropriate data to communicate with this device. For example, the contactless card can provide the encrypted identity information necessary to authenticate the card using NDEF tags via, e.g., NFC. Similarly, if the contactless card tap is directed to a device running the Android® operating system, e.g., an Android® smartphone or tablet, the contactless card can recognize the Android® operating system and transmit appropriate and data to communicate with this device (such as the encrypted identity information necessary for authentication by the methods described herein).


As another example, the contactless card tap can be directed to a POS device, including without limitation a kiosk, a checkout register, a payment station, or other terminal. Upon performance of the tap, the contactless card can recognize the POS device and transmit only the information necessary for the action or transaction. For example, upon recognition of a POS device used to complete a commercial transaction, the contactless card can communicate payment information necessary to complete the transaction under the EMV standard.


In some examples, the POS devices participating in the transaction can require or specify additional information, e.g., device-specific information, location-specific information, and transaction-specific information, that is to be provided by the contactless card. For example, once the POS device receives a data communication from the contactless card, the POS device can recognize the contactless card and request the additional information necessary to complete an action or transaction.


In some examples the POS device can be affiliated with an authorized merchant or other entity familiar with certain contactless cards or accustomed to performing certain contactless card transactions. However, it is understood such an affiliation is not required for the performance of the described methods.


In some examples, such as a shopping store, grocery store, convenience store, or the like, the contactless card may be tapped to a mobile device without having to open an application, to indicate a desire or intent to utilize one or more of reward points, loyalty points, coupons, offers, or the like to cover one or more purchases. Thus, an intention behind the purchase is provided.


In some examples, the one or more applications may be configured to determine that it was launched via one or more tap gestures of the contactless card, such that a launch occurred at 3:51 pm, that a transaction was processed or took place at 3:56 pm, in order to verify identity of the user.


In some examples, the one or more applications may be configured to control one or more actions responsive to the one or more tap gestures. For example, the one or more actions may comprise collecting rewards, collecting points, determine the most important purchase, determine the least costly purchase, and/or reconfigure, in real-time, to another action.


In some examples, data may be collected on tap behaviors as biometric/gestural authentication. For example, a unique identifier that is cryptographically secure and not susceptible to interception may be transmitted to one or more backend services. The unique identifier may be configured to look up secondary information about individual. The secondary information may comprise personally identifiable information about the user. In some examples, the secondary information may be stored within the contactless card.


In some examples, the device may comprise an application that splits bills or check for payment amongst a plurality of individuals. For example, each individual may possess a contactless card, and may be customers of the same issuing financial institution, but it is not necessary. Each of these individuals may receive a push notification on their device, via the application, to split the purchase. Rather than accepting only one card tap to indicate payment, other contactless cards may be used. In some examples, individuals who have different financial institutions may possess contactless cards to provide information to initiate one or more payment requests from the card-tapping individual.


The following example use cases describe examples of particular implementations of the present disclosure. These are intended solely for explanatory purposes and not for purposes of limitation. In one case, a first friend (payor) owes a second friend (payee) a sum of money. Rather than going to an ATM or requiring exchange through a peer-to-peer application, payor wishes to pay via payee's smartphone (or other device) using a contactless card. Payee logs-on to the appropriate application on his smartphone and selects a payment request option. In response, the application requests authentication via payee's contactless card. For example, the application outputs a display requesting that payee tap his contactless card. Once payee taps his contactless card against the screen of his smartphone with the application enabled, the contactless card is read and verified. Next, the application displays a prompt for payor to tap his contactless card to send payment. After the payor taps his contactless card, the application reads the card information and transmits, via an associated processor, a request for payment to payor's card issuer. The card issuer processes the transaction and sends a status indicator of the transaction to the smartphone. The application then outputs for display the status indicator of the transaction.


In another example case, a credit card customer may receive a new credit card (or debit card, other payment card, or any other card requiring activation) in the mail. Rather than activating the card by calling a provided telephone number associated with the card issuer or visiting a website, the customer may decide to activate the card via an application on his or her device (e.g., a mobile device such as a smartphone). The customer may select the card activation feature from the application's menu that is displayed on a display of the device. The application may prompt the customer to tap his or her credit card against the screen. Upon tapping the credit card against the screen of the device, the application may be configured to communicate with a server, such as a card issuer server which activates the customer's card. The application may then displays a message indicating successful activation of the card. The card activation would then be complete.



FIG. 12 illustrates a method 1200 for card activation according to an example embodiment. For example, card activation may be completed by a system including a card, a device, and one or more servers. The contactless card, device, and one or more servers may reference same or similar components that were previously explained above with reference to FIG. 1A, FIG. 1B, FIG. 5A, and FIG. 5B, such as contactless card 105, client device 110, and server 120.


In block 1210, the card may be configured to dynamically generate data. In some examples, this data may include information such as an account number, card identifier, card verification value, or phone number, which may be transmitted from the card to the device. In some examples, one or more portions of the data may be encrypted via the systems and methods disclosed herein.


In block 1220, one or more portions of the dynamically generated data may be communicated to an application of the device via NFC or other wireless communication. For example, a tap of the card proximate to the device may allow the application of the device to read the one or more portions of the data associated with the contactless card. In some examples, if the device does not comprise an application to assist in activation of the card, the tap of the card may direct the device or prompt the customer to a software application store to download an associated application to activate the card. In some examples, the user may be prompted to sufficiently gesture, place, or orient the card towards a surface of the device, such as either at an angle or flatly placed on, near, or proximate the surface of the device. Responsive to a sufficient gesture, placement and/or orientation of the card, the device may proceed to transmit the one or more encrypted portions of data received from the card to the one or more servers.


In block 1230, the one or more portions of the data may be communicated to one or more servers, such as a card issuer server. For example, one or more encrypted portions of the data may be transmitted from the device to the card issuer server for activation of the card.


In block 1240, the one or more servers may decrypt the one or more encrypted portions of the data via the systems and methods disclosed herein. For example, the one or more servers may receive the encrypted data from the device and may decrypt it in order to compare the received data to record data accessible to the one or more servers. If a resulting comparison of the one or more decrypted portions of the data by the one or more servers yields a successful match, the card may be activated. If the resulting comparison of the one or more decrypted portions of the data by the one or more servers yields an unsuccessful match, one or more processes may take place. For example, responsive to the determination of the unsuccessful match, the user may be prompted to tap, swipe, or wave gesture the card again. In this case, there may be a predetermined threshold comprising a number of attempts that the user is permitted to activate the card. Alternatively, the user may receive a notification, such as a message on his or her device indicative of the unsuccessful attempt of card verification and to call, email or text an associated service for assistance to activate the card, or another notification, such as a phone call on his or her device indicative of the unsuccessful attempt of card verification and to call, email or text an associated service for assistance to activate the card, or another notification, such as an email indicative of the unsuccessful attempt of card verification and to call, email or text an associated service for assistance to activate the card.


In block 1250, the one or more servers may transmit a return message based on the successful activation of the card. For example, the device may be configured to receive output from the one or more servers indicative of a successful activation of the card by the one or more servers. The device may be configured to display a message indicating successful activation of the card. Once the card has been activated, the card may be configured to discontinue dynamically generating data so as to avoid fraudulent use. In this manner, the card may not be activated thereafter, and the one or more servers are notified that the card has already been activated.


In another example case, a customer wants to access his financial accounts on his or her mobile phone. The customer launches an application (e.g., a bank application) on the mobile device and inputs a username and password. At this stage, the customer may see first-level account information (e.g., recent purchases) and be able to perform first-level account options (e.g., pay credit-card). However, if the user attempts to access second-level account information (e.g., spending limit) or perform a second-level account option (e.g., transfer to external system) he must have a second-factor authentication. Accordingly, the application requests that a user provide a transaction card (e.g., credit card) for account verification. The user then taps his credit card to the mobile device, and the application verifies that the credit card corresponds to the user's account. Thereafter, the user may view second-level account data and/or perform second-level account functions.


In some examples, a contactless card may be used to make a payment. For example, the contactless card may store a user's name and account information on the memory of the contactless card. A user may tap the contactless card at a terminal, which may read or modify the content or data stored on the contactless card using various techniques disclosed herein, e.g., NFC. The terminal may possess some or all the technical features disclosed herein for similar devices. In particular, the terminal may have a processor and memory and the processor may perform various encryption algorithms to facilitate secure transmission of information to other devices. The terminal may be in communication with a server. In one example, the terminal may read the data stored on the contactless card and transmit the data to the server, e.g., the terminal may transmit the account number to the server. The terminal may also transmit other information along with the data stored on the contactless card, e.g., an amount to be charged to the account. The amount to be charged to the account does not have to be stored on the card and it may be provided to the terminal separately.


The server may receive this information, e.g., the account number and the amount to be charged to the account. Subsequently, the server may process a payment, e.g., a payment from the account to a merchant account. If the server successfully processes the payment, the server may transmit a success message to the terminal. Otherwise, the server may transmit a failure message to the terminal. In one example, the failure message may indicate a reason why the payment was not processed, e.g., insufficient funds in the account, account closed or suspected fraudulent transaction. In the case of a suspected fraudulent transaction, the message may notify the merchant to ask for additional documentation before submitting the transaction again.



FIG. 13 shows an example flow chart 1300 for making a payment using a contactless card according to an example embodiment. In this example embodiment, in step 1310, a contactless card (or transmitting device) may be tapped on a terminal or receiving device.


In step 1320, the terminal may read the content of the contactless card. If the content of the contactless card is encrypted, the terminal may decrypt the content, as disclosed herein.


In step 1330, the terminal may optionally receive data from a source other than the contactless card. For example, a user may manually provide the data to the terminal.


In step, 1340, the terminal may transmit the information obtained in steps 1320 and 1330 to a server.


In step 1350, the server may use the information to make the payment or conduct a financial transaction. For example, using the bank account number obtained in step 1320 and an amount received in step 1330, the receiving device may debit the amount from the bank account and credit the amount to a different account (e.g., an account associated with the terminal).


In some examples, multiple contactless cards may be used to make a payment, e.g., in a restaurant, multiple contactless cards may be used to split a check.



FIG. 14 shows an example embodiment in which a terminal processes payments from multiple cards. In step 1410, a payment amount and/or a number of cards making the payment may be specified on the terminal.


Subsequently, in step 1420, the terminal may divide the payment amount by the number of cards to determine an individual amount for each card, i.e., how much each individual card has to be charged.


In step 1430, each contactless card may be tapped at the terminal, and the terminal may charge each card the individual amount.


Specifically, in step 1440, the terminal may transmit the information associated with each card to a server. This information may indicate how much each card should be charged.


In step 1450, the server may charge each card as specified by the terminal.


In another example, a number of cards and a percentage of payment for each card may be specified on the terminal. For example, an operator of the terminal may indicate that the payment has to be divided among three parties, the first party paying 50% of the payment and the remaining two parties each pay 25% of the payment. Each contactless card may be tapped at the terminal (e.g., in the order specified by the operator), and the terminal may charge each card the amount specified by the operator.


In another example, the terminal may determine how to split the payment based on how many contactless cards are scanned at the terminal. In other words, the terminal may count the number of cards scanned at the terminal. For example, an operator may scan five cards at a terminal. After scanning the last card, the terminal may wait for a predetermined time. If no other card is scanned at the terminal after the predetermined time passes, the terminal may decide that the payment will have to be divided among five cards because the terminal counted five cards.


In one example, the operator may specify the contactless card that will be scanned last. For example, the contactless card that is scanned first may be the contactless card that is scanned last. In this example, the operator may scan a number of cards first, and at the end, by scanning for a second time the card that was scanned first, the operator may indicate to the terminal that all the cards have been scanned. In yet another embodiment, if a contactless card is scanned twice, the terminal may determine that all the cards have been scanned, and thus, the payment amount has to be divided among the number of cards scanned.


In one example, the terminal may determine how to divide up the payment based on how many times a card is scanned at the terminal. For example, if a first card is scanned twice but a second card is scanned only once, the share of payment allocated to the first card is twice the share of payment allocated to the second card. In this embodiment, the terminal may determine the last card, for example, if no card is scanned for a predetermine time after the last card is scanned.


When multiple cards are scanned or tapped at a terminal, the terminal may use several techniques for transmitting the information to a server. For example, in one embodiment, the terminal may transmit the information each time a card is scanned at the terminal. In other words, each time a card is scanned at the terminal, the terminal may transmit the information relating to the scanned card to the server. In another embodiment, the terminal may transmit the information less frequently. For example, each time a communication is transmitted from the terminal to the server, the terminal may transmit the information relating to multiple cards, e.g., the terminal may transmit the information relating to two cards. In another example, after scanning all the cards, the terminal may transmit the information relating to all the cards all at once. One of the benefits of this embodiment is that it minimizes the terminal's connection to the network which connects the terminal to the server. In situations where the terminal has limited access to the network, this embodiment may be beneficial.


In some examples, a contactless card may be used to make a payment from one user to another user, e.g., from a cryptocurrency account of a first user to a cryptocurrency account of a second user. Each user can own an electronic wallet (or an address thereof). The cryptocurrency can be a distributed peer-to-peer digital currency that can be transferred instantly and securely between any two users.


The cryptocurrency can be regulated by cryptographic methods which manage and control the currency. For example, the cryptocurrency can have a public key and a private key. The public key can be seen by others to verify the quantity of the currency at a specific address. The currency at the address can only be transferred to a third party by disclosing the private key. The private key can be a secret number that allows the cryptocurrency to be spent. Every cryptocurrency address has a matching private key, which can be saved in the wallet file of the user who owns the balance. The private key can be mathematically related to the cryptocurrency address, and is designed so that the cryptocurrency address can be calculated from the private key. However, the same cannot be done in reverse. Private keys must be kept securely, for they authorize the release of cryptocurrencies at a specific address. Private keys can be kept on computer files (i.e., digital wallet), but they are also short enough that they can be printed on paper.


Private keys can also be kept on a virtual wallet, which can store a user's cryptocurrencies on a secure server where the cryptocurrencies can be accessed. Virtual wallets facilitate cryptocurrency transactions. Virtual wallets also reduce the amount of risk in storing the cryptocurrency because most virtual wallets store all or part of the user's cryptocurrency balance on a server and the user's account is password protected or protected with two-factor authentication.


In one embodiment, the supply of the cryptocurrency tokens can be fixed after the service provider issues the cryptocurrency tokens. For example, the service provider can issue and release all of the cryptocurrency tokens at the same time. In another embodiment, the supply of the cryptocurrency tokens can increase over time, but the ultimate number of the cryptocurrency tokens in circulation can be fixed. For example, the service provider can issue new cryptocurrency tokens until the supply of the tokens has reached its upper limit. In yet another embodiment, the supply of cryptocurrency tokens can increase overtime without ever reaching a limiting number. This increase in the supply of the tokens can occur at an increasing rate or a decreasing rate.


In one example, a first user may have a contactless card associated with the first user's cryptocurrency account on a virtual wallet managed by a third-party. A second user may also have a contactless card associated with the second user's cryptocurrency account on a virtual wallet managed by a third-party. The first user may make a payment to the second user using the first user contactless card and the second user's contactless card. In this regard, a cellphone may be used as a device which may scan or read contactless cards using a wireless technology, e.g., NFC. The cellphone may be in communication with a server of the third-party which may process payments for digital currency wallets. The cellphone may include an application which may facilitate various modes of operation of the cellphone to process payments.


For example, the user may specify on the application that the user intends to make a payment from one contactless card to another contactless card. After specifying this setting, a user may scan the first contactless card and the second contactless card at the cellphone. The cellphone may read the content of each card, respectively. The cellphone may also decrypt any encrypted data stored on each contactless card.


After reading the content of each card, the cellphone may transmit a message to the server of the third-party. The message may include certain information obtained from the first contactless card, e.g., the cryptocurrency account number of the first user; certain information obtained from the second contactless card, e.g., cryptocurrency account number of the second user; and certain information obtained from the user, e.g., how much to be transferred from the first cryptocurrency account to the second cryptocurrency account. Upon receiving the message, the server may process a payment from the first cryptocurrency account to the second cryptocurrency account.


In one example embodiment, a contactless card can be a cryptocurrency wallet, i.e., the contactless card can store the private key associated with a user's account. Using a client device such as a cellphone, the user can transmit a payment from the user's cryptocurrency account to another user's cryptocurrency account. Specifically, the user can scan the user's contactless card at the cellphone, which can transmit the user's private key to the wallet of the other user. Using the private key, the second user can process the payment.


In an example embodiment, a wearable device or another smart device (e.g., cellphone, music player, laptop, etc.) may be a terminal and receive payments from individuals. In this example embodiment, the user of the wearable device may set up an account for receiving payments. The account may be set up with a service provider. The wearable device is enabled to read contactless cards, e.g., using NFC technology. The wearable device may optionally include an application which may facilitate processing payments.


For example, the user of the wearable device may specify the user's account information with the service provider. The application may communicate with a server of the service provider and transmit or receive information to or from the server. In this example, an individual's contactless card may be scanned at the wearable device. The wearable device may receive certain information stored on the memory of the contactless card, e.g., account information. The application may also determine a payment amount to be debited from the individual's account. The application may transmit the account information as well as the payment amount to the server. The server may process the payment. For example, the server may debit the payment amount from the individual's account and credit the payment amount to the user's account.


The application may use various techniques for determining the payment amount. In one example, the user of the wearable device may specify the payment amount to the application of the wearable device. In another example, the wearable device may scan a product or barcode to determine the payment amount. In yet another example, the application of a wearable device may receive a message indicating the payment amount.


In some examples, the manner by which a contactless card is tapped on a terminal or receiving device may indicate a message to the terminal. For example, the terminal may determine how many times and how long a contactless card is tapped on the terminal. Using this concept, a user may set up a tap password for a contactless card. The tap password may be a password that may be conveyed to the terminal based on how many times (and how long) the contactless card is tapped on the terminal. For example, taps lasting less than one second may be short taps and taps lasting longer than one second may be long taps. One exemplary tap password may include two short taps and one long tap. In some embodiments, the password is sensitive to the sequence of the taps, but in some other embodiments, the sequence of taps does not matter.


In one embodiment, the tap password may be stored in the memory of the contactless card. In another example embodiment, the tap password may be stored in a server in communication with the terminal. The user may set the password by, e.g., visiting a bank and setting the password by tapping the contactless card on a terminal. The user may also set the password by, e.g., describing the password on a website associated with the institution which issued the contactless card to the user, e.g., two long taps and one short tap.


When a contactless card is tapped on a terminal to authorize a transaction, the terminal may detect the manner by which the contactless card is tapped on the terminal. In one example, the terminal may store or transmit this information (i.e., the manner) to a server in communication with the terminal. The server may compare this information with the tap password already on file for the contactless card. If the information matches the previously stored tap password, the server may authorize the transaction. Otherwise, the server may reject the transaction.


In another example, the tap password may be stored on the contactless card. Before transmitting any information to the server, the terminal may detect the manner by which the user taps the contactless card. The terminal may also read the tap password stored on the contactless card. If the tap password matches the manner, the terminal may transmit the transaction to the server for authorization.


In one example, the user may set transaction specific requirements for the contactless card. The user may provide these requirements through a website operated by the issuer of the contactless card. These requirements may be stored on a server owned by the issuer or they may be stored on the contactless card. For example, the user may ask the user's bank to require a tap password for every transaction that exceeds a threshold dollar value. If the user is conducting a transaction that exceeds the threshold value, the terminal may prompt the user to enter the user's tap password. The terminal may prompt the user, for example, by reading the contactless card (which requires a tap password). As another example, the terminal may transmit certain information from the user's contactless card, and based on the information, the server may prompt the terminal to ask the user enter the user's tap password.


In some examples, a contactless card may be locked, which means that the card cannot be used for any other transactions. There may be various techniques for locking or unlocking the contactless card. In one example, a user of the contactless card may visit a local facility associated with the issuer of the contactless card. The user may tap the card on a terminal and the terminal may lock the card. In another example, the user may tap the card on a cellphone and the cellphone may lock the card. The cellphone may include an application, which when run on a locking mode may facilitate locking the contactless card. The unlocking process may be similar to the locking process, e.g., tapping on a terminal or cellphone.


In one example, a terminal or cellphone may lock the contactless card by storing certain data or information on the memory of the card. In this example, after locking the card, every time the card is scanned at other terminals, the terminals may detect the stored information, i.e., that the card is locked. Therefore, the terminals may refuse to transmit the card information to the server (and thereby reject the transaction). Alternatively, the terminal transmits the card information (including the locking data) to the server, but the server rejects the transaction.


In another example, a terminal or cellphone may lock the contactless card by transmitting a locking message to the server. In this example, after locking the card, every time the card is scanned at other terminals, the terminals may seek authorization for the transaction from the server. However, the server may reject the transaction.


In other examples, these techniques may be applied to other accounts, e.g., related accounts or other accounts associated with the user. For example, if a user detects potentially fraudulent activity has occurred in one account, the user may seek to lock his or her other accounts. By the same processes, the user can lock other accounts and more effectively deter future instances of potentially fraudulent activity.


In some examples, the contactless card may be used to order products using a button. A button may be a receiving device including a processor and a memory. The button may send order or reorder signals to a server. A button may be programed to order a specific product from a particular online retailer. For example, a button may be programmed to order toilet paper from an online retailer. The button may also be programmed to order the specific product only when a contactless card is tapped on the button. For example, when a user taps a contactless card at the button, the button reads the content of the contactless card. The button may relay this information to the server. The button may also send other information to the server.


For example, the button may transmit a code to the server which identifies the product to be ordered and name and address of the person who ordered the product. In one example, the name and address of the person who ordered the product is pre-stored in the button and the button transmits this pre-stored information to the server. In another example, the name and address of the person is stored on the contactless card, and the button obtains this information when the contactless card is tapped on the button. In a further example, the server stores certain information about the user, e.g., name, address and card number. When the user taps the contactless card at the button, the button obtains the user's card number and transmits the card number to the server. Based on the card number, the server determines the user's name and address (and optionally the product to be ordered). Subsequently, the server processes the order.


In another example, the button may be configured to operate only with a specific contactless card. In this case, an identification number unique to a contactless card may be stored in the button. If the contactless card scanned at the button has the unique identification number, the button may transmit certain information to the server to process an order. Otherwise, the button may simply ignore the tapping of the contactless card.


In an example embodiment, a user may receive access to a product or service when the user taps the contactless card which paid for the product or service. For example, a user may pay for a concert ticket at a ticket office using the user's contactless card. Specifically, the user may tap the user's contactless card on a terminal located at the ticket office. The terminal may scan the card and obtain a unique identification number stored on the card. The terminal may transmit the unique identification number to a server. The server may store the unique identification number for future access. When the user arrives at the concert, the user may tap the user's contactless card on a terminal located at the entrance of the concert. The terminal may obtain the unique identification number of the card and transmit it to the server. The server may compare this unique identification number to previously stored unique identification numbers. If there is a match, the server may transmit a signal to the terminal to allow access to the user. Otherwise, the server may transmit a signal to the terminal to deny access to the user.


In one example, the user may purchase the product or service online. Specifically, when paying for the product, the user may tap the user's contactless card on the user's cellphone (or other smart device). The cell phone may transmit the contactless card's unique identification number to the server and the server may store the unique identification number for future use. In another example, the user may manually enter the unique identification number on the user's cellphone (or other smart device). The cellphone may transmit the unique identification number to the server for future use.


Throughout the specification, reference is made to various accounts, e.g., a banking account, a credit card account, and a debit account. However, it is understood that the present disclosure is not limited to a particular banking account, and may include any financial account, as well as accounts related to entertainment, loyalty programs, utilities, and other services.


In some examples, the present disclosure refers to a tap of the contactless card. However, it is understood that the present disclosure is not limited to a tap, and that the present disclosure includes other gestures (e.g., a wave or other movement of the card).


Throughout the specification and the claims, the following terms take at least the meanings explicitly associated herein, unless the context clearly dictates otherwise. The term “or” is intended to mean an inclusive “or.” Further, the terms “a,” “an,” and “the” are intended to mean one or more unless specified otherwise or clear from the context to be directed to a singular form.


In this description, numerous specific details have been set forth. It is to be understood, however, that implementations of the disclosed technology may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description. References to “some examples,” “other examples,” “one example,” “an example,” “various examples,” “one embodiment,” “an embodiment,” “some embodiments,” “example embodiment,” “various embodiments,” “one implementation,” “an implementation,” “example implementation,” “various implementations,” “some implementations,” etc., indicate that the implementation(s) of the disclosed technology so described may include a particular feature, structure, or characteristic, but not every implementation necessarily includes the particular feature, structure, or characteristic. Further, repeated use of the phrases “in one example,” “in one embodiment,” or “in one implementation” does not necessarily refer to the same example, embodiment, or implementation, although it may.


As used herein, unless otherwise specified the use of the ordinal adjectives “first,” “second,” “third,” etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.


While certain implementations of the disclosed technology have been described in connection with what is presently considered to be the most practical and various implementations, it is to be understood that the disclosed technology is not to be limited to the disclosed implementations, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.


This written description uses examples to disclose certain implementations of the disclosed technology, including the best mode, and also to enable any person skilled in the art to practice certain implementations of the disclosed technology, including making and using any devices or systems and performing any incorporated methods. The patentable scope of certain implementations of the disclosed technology is defined in the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.

Claims
  • 1. A data transmission system comprising: a contactless card having a processor and a memory, the memory of the contactless card containing a card key and transmission data;an application comprising instructions for execution on a receiving device having a processor and a memory, the memory of the receiving device containing an application key;wherein the contactless card is configured to: encrypt the transmission data using one or more cryptographic algorithms and the card key to yield encrypted transmission data, andtransmit the encrypted transmission data; andwherein the application is configured to: decrypt the encrypted transmission data using the one or more cryptographic algorithms and the application key, andvalidate a tap password, wherein: the tap password comprises a plurality of taps of the contactless card on the receiving device, andthe tap password is requested by the application for a transaction that exceeds a threshold value.
  • 2. The data transmission system of claim 1, wherein: the receiving device comprises at least one selected from the group of a mobile device, a smart device, a terminal, a server, and a wearable device, andthe taps comprising the plurality of taps are at least one selected from the group of a tap directly on the receiving device and a tap directly on an intermediary device that is transmitted to the receiving device.
  • 3. The data transmission system of claim 1, wherein the tap password is associated with a sequence of at least one selected from the group of a first set of taps and a second set of taps.
  • 4. The data transmission system of claim 3, wherein the first set of taps comprises one or more taps having a first duration and the set second of taps comprises one or more taps having a second duration.
  • 5. The data transmission system of claim 1, wherein the tap password is stored in the memory of the contactless card and read by the application for validation by comparison with a reference tap password.
  • 6. The data transmission system of claim 1, wherein the tap password is generated based on a receipt of an input to a uniform resource locator.
  • 7. The data transmission system of claim 1, wherein the application is configured to, based on one or more taps received from the contactless card, select at least one from the group of lock the contactless card and unlock the contactless card.
  • 8. The data transmission system of claim 1, wherein the application is configured to determine an allocation of a payment based on a number of scans associated with a plurality of contactless cards.
  • 9. A method for transmitting data by a contactless card having a processor and a memory, the memory containing a card key and an identification number, the method comprising: generating a cryptogram, the cryptogram comprising the identification number;encrypting the cryptogram using the card key;transmitting the encrypted cryptogram; andtransmitting a tap password, wherein: the tap password comprises a plurality of taps of the contactless card on a receiving device, andthe tap password is requested by an application comprising instructions for execution on the receiving device for a transaction that exceeds a threshold value.
  • 10. The method of claim 9, wherein: the receiving device comprises at least one selected from the group of a mobile device, a smart device, a terminal, a server, and a wearable device, andthe taps comprising the plurality of taps are at least one selected from the group of a tap directly on the receiving device and a tap directly on an intermediary device that is transmitted to the receiving device.
  • 11. The method of claim 9, wherein the tap password is associated with a sequence of at least one selected from the group of a first set of taps and a second set of taps.
  • 12. The method of claim 11, wherein the first set of taps includes one or more taps having a first duration and the second set of taps includes one or more taps having a second duration.
  • 13. The method of claim 12, wherein the first duration exceeds the second duration.
  • 14. The method of claim 9, further comprising: storing the tap password in the memory;reading, by the application, the tap password; andtransmitting, by the application, the tap password for validation based on comparison with a reference tap password.
  • 15. The method of claim 14, further comprising receiving, at the application, one or more messages indicating that the tap password is correct based on the comparison.
  • 16. The method of claim 9, further comprising generating the tap password based on one or more inputs to a uniform resource locator.
  • 17. The method of claim 9, further comprising locking the contactless card based on one or more taps received from the contactless card.
  • 18. A computer readable non-transitory medium comprising computer-executable instructions that are executed on a processor, the instructions comprising the steps of: generating a cryptogram, the cryptogram comprising an identification number;encrypting the cryptogram using a card key;transmitting the encrypted cryptogram; andtransmitting a tap password, wherein: the tap password comprises a plurality of taps of a contactless card on a receiving device, andthe tap password is requested by an application for a transaction that exceeds a threshold value, the application comprising instructions for execution on the receiving device.
  • 19. The computer readable non-transitory medium of claim 18, wherein the tap password is associated with a sequence of at least one selected from the group of a first set of taps and a second set of taps.
  • 20. The computer readable non-transitory medium of claim 19, wherein the first set of taps comprises one or more taps having a first duration and the set second of taps comprises one or more taps having a second duration.
  • 21. The computer readable non-transitory medium of claim 20, wherein the second duration exceeds the first duration.
  • 22. The computer readable non-transitory medium of claim 18, wherein the tap password is generated based on a receipt of an input to a uniform resource locator.
CROSS REFERENCE TO RELATED APPLICATIONS

The subject application is a continuation of U.S. patent application Ser. No. 16/351,401 filed Mar. 12, 2019, which is a continuation in part of U.S. patent application Ser. No. 16/205,119 filed Nov. 29, 2018, which claims the benefit of U.S. Provisional Patent Application No. 62/740,352 filed Oct. 2, 2018, the contents of which are hereby incorporated by reference in their entireties.

US Referenced Citations (546)
Number Name Date Kind
4683553 Mollier Jul 1987 A
4827113 Rikuna May 1989 A
4910773 Hazard et al. Mar 1990 A
5036461 Elliott et al. Jul 1991 A
5363448 Koopman, Jr. et al. Nov 1994 A
5377270 Koopman, Jr. et al. Dec 1994 A
5533126 Hazard Jul 1996 A
5537314 Kanter Jul 1996 A
5592553 Guski et al. Jan 1997 A
5616901 Crandall Apr 1997 A
5666415 Kaufman Sep 1997 A
5764789 Pare, Jr. et al. Jun 1998 A
5768373 Lohstroh et al. Jun 1998 A
5778072 Samar Jul 1998 A
5796827 Coppersmith et al. Aug 1998 A
5832090 Raspotnik Nov 1998 A
5883810 Franklin et al. Mar 1999 A
5901874 Deters May 1999 A
5929413 Gardner Jul 1999 A
5960411 Hartman et al. Sep 1999 A
6021203 Douceur et al. Feb 2000 A
6049328 Vanderheiden Apr 2000 A
6058373 Blinn et al. May 2000 A
6061666 Do et al. May 2000 A
6105013 Curry et al. Aug 2000 A
6199114 White et al. Mar 2001 B1
6199762 Hohle Mar 2001 B1
6216227 Goldstein et al. Apr 2001 B1
6227447 Campisano May 2001 B1
6282522 Davis et al. Aug 2001 B1
6324271 Sawyer et al. Nov 2001 B1
6342844 Rozin Jan 2002 B1
6367011 Lee et al. Apr 2002 B1
6402028 Graham, Jr. et al. Jun 2002 B1
6438550 Doyle et al. Aug 2002 B1
6501847 Helot et al. Dec 2002 B2
6631197 Taenzer Oct 2003 B1
6641050 Kelley et al. Nov 2003 B2
6655585 Shinn Dec 2003 B2
6662020 Aaro et al. Dec 2003 B1
6721706 Strubbe et al. Apr 2004 B1
6731778 Oda et al. May 2004 B1
6779115 Naim Aug 2004 B1
6792533 Jablon Sep 2004 B2
6829711 Kwok et al. Dec 2004 B1
6834271 Hodgson et al. Dec 2004 B1
6834795 Rasmussen et al. Dec 2004 B1
6852031 Rowe Feb 2005 B1
6865547 Brake, Jr. et al. Mar 2005 B1
6873260 Lancos et al. Mar 2005 B2
6877656 Jaros et al. Apr 2005 B1
6889198 Kawan May 2005 B2
6905411 Nguyen et al. Jun 2005 B2
6910627 Simpson-Young et al. Jun 2005 B1
6971031 Haala Nov 2005 B2
6990588 Yasukura Jan 2006 B1
7006986 Sines et al. Feb 2006 B1
7085931 Smith et al. Aug 2006 B1
7127605 Montgomery et al. Oct 2006 B1
7128274 Kelley et al. Oct 2006 B2
7140550 Ramachandran Nov 2006 B2
7152045 Hoffman Dec 2006 B2
7165727 de Jong Jan 2007 B2
7175076 Block et al. Feb 2007 B1
7202773 Oba et al. Apr 2007 B1
7206806 Pineau Apr 2007 B2
7232073 de Jong Jun 2007 B1
7246752 Brown Jul 2007 B2
7254569 Goodman et al. Aug 2007 B2
7263507 Brake, Jr. et al. Aug 2007 B1
7270276 Vayssiere Sep 2007 B2
7278025 Saito et al. Oct 2007 B2
7287692 Patel et al. Oct 2007 B1
7290709 Tsai et al. Nov 2007 B2
7306143 Bonneau, Jr. et al. Dec 2007 B2
7319986 Praisner et al. Jan 2008 B2
7325132 Takayama et al. Jan 2008 B2
7373515 Owen et al. May 2008 B2
7374099 de Jong May 2008 B2
7375616 Rowse et al. May 2008 B2
7380710 Brown Jun 2008 B2
7424977 Smets et al. Sep 2008 B2
7453439 Kushler et al. Nov 2008 B1
7472829 Brown Jan 2009 B2
7487357 Smith et al. Feb 2009 B2
7568631 Gibbs et al. Aug 2009 B2
7584153 Brown et al. Sep 2009 B2
7597250 Finn Oct 2009 B2
7628322 Hohmanns et al. Dec 2009 B2
7652578 Braun et al. Jan 2010 B2
7689832 Talmor et al. Mar 2010 B2
7703142 Wilson et al. Apr 2010 B1
7748609 Sachdeva et al. Jul 2010 B2
7748617 Gray Jul 2010 B2
7748636 Finn Jul 2010 B2
7762457 Bonalle et al. Jul 2010 B2
7789302 Tame Sep 2010 B2
7793851 Mullen Sep 2010 B2
7796013 Murakami et al. Sep 2010 B2
7801799 Brake, Jr. et al. Sep 2010 B1
7801829 Gray et al. Sep 2010 B2
7805755 Brown et al. Sep 2010 B2
7809643 Phillips et al. Oct 2010 B2
7827115 Weller et al. Nov 2010 B2
7828214 Narendra et al. Nov 2010 B2
7848746 Juels Dec 2010 B2
7882553 Tuliani Feb 2011 B2
7900048 Andersson Mar 2011 B2
7908216 Davis et al. Mar 2011 B1
7922082 Muscato Apr 2011 B2
7933589 Mamdani et al. Apr 2011 B1
7949559 Freiberg May 2011 B2
7954716 Narendra et al. Jun 2011 B2
7954723 Charrat Jun 2011 B2
7962369 Rosenberg Jun 2011 B2
7993197 Mamdani et al. Aug 2011 B2
8005426 Huomo et al. Aug 2011 B2
8010405 Bortolin et al. Aug 2011 B1
RE42762 Shin Sep 2011 E
8041954 Plesman Oct 2011 B2
8060012 Sklovsky et al. Nov 2011 B2
8074877 Mullen et al. Dec 2011 B2
8082450 Frey et al. Dec 2011 B2
8095113 Kean et al. Jan 2012 B2
8099332 Lemay et al. Jan 2012 B2
8103249 Markison Jan 2012 B2
8108687 Ellis et al. Jan 2012 B2
8127143 Abdallah et al. Feb 2012 B2
8135648 Oram et al. Mar 2012 B2
8140010 Symons et al. Mar 2012 B2
8141136 Lee et al. Mar 2012 B2
8150321 Winter et al. Apr 2012 B2
8150767 Wankmueller Apr 2012 B2
8186602 Itay et al. May 2012 B2
8196131 von Behren et al. Jun 2012 B1
8215563 Levy et al. Jul 2012 B2
8224753 Atef et al. Jul 2012 B2
8232879 Davis Jul 2012 B2
8233841 Griffin et al. Jul 2012 B2
8245292 Buer Aug 2012 B2
8249654 Zhu Aug 2012 B1
8266451 Leydier et al. Sep 2012 B2
8285329 Zhu Oct 2012 B1
8302872 Mullen Nov 2012 B2
8312519 Bailey et al. Nov 2012 B1
8316237 Felsher et al. Nov 2012 B1
8332272 Fisher Dec 2012 B2
8365988 Medina, III et al. Feb 2013 B1
8369960 Tran et al. Feb 2013 B2
8371501 Hopkins Feb 2013 B1
8381307 Cimino Feb 2013 B2
8391719 Alameh et al. Mar 2013 B2
8417231 Sanding et al. Apr 2013 B2
8439271 Smets et al. May 2013 B2
8475367 Yuen et al. Jul 2013 B1
8489112 Roeding et al. Jul 2013 B2
8511542 Pan Aug 2013 B2
8559872 Butler Oct 2013 B2
8566916 Vernon et al. Oct 2013 B1
8567670 Stanfield et al. Oct 2013 B2
8572386 Takekawa et al. Oct 2013 B2
8577810 Dalit et al. Nov 2013 B1
8583454 Beraja et al. Nov 2013 B2
8589335 Smith et al. Nov 2013 B2
8594730 Bona et al. Nov 2013 B2
8615468 Varadarajan Dec 2013 B2
8620218 Awad Dec 2013 B2
8667285 Coulier et al. Mar 2014 B2
8723941 Shirbabadi et al. May 2014 B1
8726405 Bailey et al. May 2014 B1
8740073 Vijayshankar et al. Jun 2014 B2
8750514 Gallo et al. Jun 2014 B2
8752189 De Jong Jun 2014 B2
8794509 Bishop et al. Aug 2014 B2
8799668 Cheng Aug 2014 B2
8806592 Ganesan Aug 2014 B2
8807440 Von Behren et al. Aug 2014 B1
8811892 Khan et al. Aug 2014 B2
8814039 Bishop et al. Aug 2014 B2
8814052 Bona et al. Aug 2014 B2
8818867 Baldwin et al. Aug 2014 B2
8850538 Vernon et al. Sep 2014 B1
8861733 Benteo et al. Oct 2014 B2
8880027 Darringer Nov 2014 B1
8888002 Marshall Chesney et al. Nov 2014 B2
8898088 Springer et al. Nov 2014 B2
8934837 Zhu et al. Jan 2015 B2
8977569 Rao Mar 2015 B2
8994498 Agrafioti et al. Mar 2015 B2
9004365 Bona et al. Apr 2015 B2
9038894 Khalid May 2015 B2
9042814 Royston et al. May 2015 B2
9047531 Showering et al. Jun 2015 B2
9069976 Toole et al. Jun 2015 B2
9081948 Magne Jul 2015 B2
9104853 Mathur et al. Aug 2015 B2
9118663 Bailey et al. Aug 2015 B1
9122964 Krawczewicz Sep 2015 B2
9129280 Bona et al. Sep 2015 B2
9152832 Royston et al. Oct 2015 B2
9203800 Izu et al. Dec 2015 B2
9209867 Royston Dec 2015 B2
9251330 Boivie et al. Feb 2016 B2
9251518 Levin et al. Feb 2016 B2
9258715 Borghei Feb 2016 B2
9270337 Zhu et al. Feb 2016 B2
9306626 Hall et al. Apr 2016 B2
9306942 Bailey et al. Apr 2016 B1
9324066 Archer et al. Apr 2016 B2
9324067 Van Os et al. Apr 2016 B2
9332587 Salahshoor May 2016 B2
9338622 Bjontegard May 2016 B2
9373141 Shakkarwar Jun 2016 B1
9379841 Fine et al. Jun 2016 B2
9413430 Royston et al. Aug 2016 B2
9413768 Gregg et al. Aug 2016 B1
9420496 Indurkar Aug 2016 B1
9426132 Alikhani Aug 2016 B1
9432339 Bowness Aug 2016 B1
9455968 Machani et al. Sep 2016 B1
9473509 Arsanjani et al. Oct 2016 B2
9491626 Sharma et al. Nov 2016 B2
9553637 Yang et al. Jan 2017 B2
9619952 Zhao et al. Apr 2017 B1
9635000 Muftic Apr 2017 B1
9665858 Kumar May 2017 B1
9674705 Rose et al. Jun 2017 B2
9679286 Colnot et al. Jun 2017 B2
9680942 Dimmick Jun 2017 B2
9710804 Zhou et al. Jul 2017 B2
9740342 Paulsen et al. Aug 2017 B2
9740988 Levin et al. Aug 2017 B1
9763097 Robinson et al. Sep 2017 B2
9767329 Forster Sep 2017 B2
9769662 Quern Sep 2017 B1
9773151 Mil'shtein et al. Sep 2017 B2
9780953 Gaddam et al. Oct 2017 B2
9891823 Feng et al. Feb 2018 B2
9940571 Herrington Apr 2018 B1
9953315 Collinge et al. Apr 2018 B2
9953323 Candelore et al. Apr 2018 B2
9961194 Wiechman et al. May 2018 B1
9965756 Davis et al. May 2018 B2
9965911 Wishne May 2018 B2
9978058 Wurmfeld et al. May 2018 B2
10043164 Dogin et al. Aug 2018 B2
10075437 Costigan et al. Sep 2018 B1
10129648 Hernandez et al. Nov 2018 B1
10133979 Eidam et al. Nov 2018 B1
10217105 Sangi et al. Feb 2019 B1
20010010723 Pinkas Aug 2001 A1
20010029485 Brody et al. Oct 2001 A1
20010034702 Mockett et al. Oct 2001 A1
20010054003 Chien et al. Dec 2001 A1
20020078345 Sandhu et al. Jun 2002 A1
20020093530 Krothapalli et al. Jul 2002 A1
20020100808 Norwood et al. Aug 2002 A1
20020120583 Keresman, III et al. Aug 2002 A1
20020152116 Yan et al. Oct 2002 A1
20020153424 Li Oct 2002 A1
20020165827 Gien et al. Nov 2002 A1
20030023554 Yap et al. Jan 2003 A1
20030034873 Chase et al. Feb 2003 A1
20030055727 Walker et al. Mar 2003 A1
20030078882 Sukeda et al. Apr 2003 A1
20030167350 Davis et al. Sep 2003 A1
20030208449 Diao Nov 2003 A1
20040015958 Veil et al. Jan 2004 A1
20040039919 Takayama et al. Feb 2004 A1
20040127256 Goldthwaite et al. Jul 2004 A1
20040215674 Odinak et al. Oct 2004 A1
20040230799 Davis Nov 2004 A1
20050044367 Gasparini et al. Feb 2005 A1
20050075985 Cartmell Apr 2005 A1
20050081038 Arditti Modiano et al. Apr 2005 A1
20050138387 Lam et al. Jun 2005 A1
20050156026 Ghosh et al. Jul 2005 A1
20050160049 Lundholm Jul 2005 A1
20050195975 Kawakita Sep 2005 A1
20050247797 Ramachandran Nov 2005 A1
20060006230 Bear et al. Jan 2006 A1
20060040726 Szrek et al. Feb 2006 A1
20060041402 Baker Feb 2006 A1
20060044153 Dawidowsky Mar 2006 A1
20060047954 Sachdeva et al. Mar 2006 A1
20060085848 Aissi et al. Apr 2006 A1
20060136334 Atkinson et al. Jun 2006 A1
20060173985 Moore Aug 2006 A1
20060174331 Schuetz Aug 2006 A1
20060242698 Inskeep et al. Oct 2006 A1
20060280338 Rabb Dec 2006 A1
20070033642 Ganesan et al. Feb 2007 A1
20070055630 Gauthier et al. Mar 2007 A1
20070061266 Moore et al. Mar 2007 A1
20070061487 Moore et al. Mar 2007 A1
20070116292 Kurita et al. May 2007 A1
20070118745 Buer May 2007 A1
20070197261 Humbel Aug 2007 A1
20070224969 Rao Sep 2007 A1
20070241182 Buer Oct 2007 A1
20070256134 Lehtonen et al. Nov 2007 A1
20070258594 Sandhu et al. Nov 2007 A1
20070278291 Rans et al. Dec 2007 A1
20080008315 Fontana et al. Jan 2008 A1
20080011831 Bonalle et al. Jan 2008 A1
20080014867 Finn Jan 2008 A1
20080035738 Mullen Feb 2008 A1
20080071681 Khalid Mar 2008 A1
20080072303 Syed Mar 2008 A1
20080086767 Kulkarni et al. Apr 2008 A1
20080103968 Bies et al. May 2008 A1
20080109309 Landau et al. May 2008 A1
20080110983 Ashfield May 2008 A1
20080120711 Dispensa May 2008 A1
20080156873 Wilhelm et al. Jul 2008 A1
20080162312 Sklovsky et al. Jul 2008 A1
20080164308 Aaron et al. Jul 2008 A1
20080207307 Cunningham, II et al. Aug 2008 A1
20080209543 Aaron Aug 2008 A1
20080223918 Williams et al. Sep 2008 A1
20080285746 Landrock et al. Nov 2008 A1
20080308641 Finn Dec 2008 A1
20090037275 Pollio Feb 2009 A1
20090048026 French Feb 2009 A1
20090132417 Scipioni et al. May 2009 A1
20090143104 Loh et al. Jun 2009 A1
20090171682 Dixon et al. Jul 2009 A1
20090210308 Toomer et al. Aug 2009 A1
20090235339 Mennes et al. Sep 2009 A1
20090249077 Gargaro et al. Oct 2009 A1
20090282264 Amiel et al. Nov 2009 A1
20100023449 Skowronek et al. Jan 2010 A1
20100023455 Dispensa et al. Jan 2010 A1
20100029202 Jolivet et al. Feb 2010 A1
20100033310 Narendra et al. Feb 2010 A1
20100036769 Winters et al. Feb 2010 A1
20100078471 Lin et al. Apr 2010 A1
20100082491 Rosenblatt et al. Apr 2010 A1
20100094754 Bertran et al. Apr 2010 A1
20100095130 Bertran et al. Apr 2010 A1
20100100480 Altman et al. Apr 2010 A1
20100114731 Kingston et al. May 2010 A1
20100192230 Steeves et al. Jul 2010 A1
20100207742 Buhot et al. Aug 2010 A1
20100211797 Westerveld et al. Aug 2010 A1
20100240413 He et al. Sep 2010 A1
20100257357 McClain Oct 2010 A1
20100312634 Cervenka Dec 2010 A1
20100312635 Cervenka Dec 2010 A1
20110028160 Roeding et al. Feb 2011 A1
20110035604 Habraken Feb 2011 A1
20110060631 Grossman et al. Mar 2011 A1
20110068170 Lehman Mar 2011 A1
20110084132 Tofighbakhsh Apr 2011 A1
20110101093 Ehrensvard May 2011 A1
20110113245 Varadrajan May 2011 A1
20110125638 Davis et al. May 2011 A1
20110131415 Schneider Jun 2011 A1
20110153437 Archer et al. Jun 2011 A1
20110153496 Royyuru Jun 2011 A1
20110208658 Makhotin Aug 2011 A1
20110208965 Machani Aug 2011 A1
20110211219 Bradley Sep 2011 A1
20110218911 Spodak Sep 2011 A1
20110238564 Lim et al. Sep 2011 A1
20110246780 Yeap et al. Oct 2011 A1
20110258452 Coulier et al. Oct 2011 A1
20110280406 Ma et al. Nov 2011 A1
20110282785 Chin Nov 2011 A1
20110294418 Chen Dec 2011 A1
20110312271 Ma et al. Dec 2011 A1
20120024947 Naelon Feb 2012 A1
20120030047 Fuentes et al. Feb 2012 A1
20120030121 Grellier Feb 2012 A1
20120047071 Mullen et al. Feb 2012 A1
20120079281 Lowenstein et al. Mar 2012 A1
20120109735 Krawczewicz et al. May 2012 A1
20120109764 Martin et al. May 2012 A1
20120143754 Patel Jun 2012 A1
20120150737 Rottink Jun 2012 A1
20120178366 Levy et al. Jul 2012 A1
20120196583 Kindo Aug 2012 A1
20120207305 Gallo et al. Aug 2012 A1
20120209773 Ranganathan Aug 2012 A1
20120238206 Singh et al. Sep 2012 A1
20120239560 Pourfallah et al. Sep 2012 A1
20120252350 Steinmetz et al. Oct 2012 A1
20120254394 Barras Oct 2012 A1
20120284194 Liu et al. Nov 2012 A1
20120290472 Mullen et al. Nov 2012 A1
20120296818 Nuzzi et al. Nov 2012 A1
20120316992 Oborne Dec 2012 A1
20120317035 Royyuru et al. Dec 2012 A1
20120317628 Yeager Dec 2012 A1
20130005245 Royston Jan 2013 A1
20130008956 Ashfield Jan 2013 A1
20130026229 Jarman et al. Jan 2013 A1
20130048713 Pan Feb 2013 A1
20130054474 Yeager Feb 2013 A1
20130065564 Conner et al. Mar 2013 A1
20130080228 Fisher Mar 2013 A1
20130080229 Fisher Mar 2013 A1
20130099587 Lou Apr 2013 A1
20130104251 Moore et al. Apr 2013 A1
20130106576 Hinman et al. May 2013 A1
20130119130 Braams May 2013 A1
20130130614 Busch-Sorensen May 2013 A1
20130144793 Royston Jun 2013 A1
20130171929 Adams et al. Jul 2013 A1
20130179351 Wallner Jul 2013 A1
20130185772 Jaudon et al. Jul 2013 A1
20130191279 Caiman et al. Jul 2013 A1
20130200999 Spodak et al. Aug 2013 A1
20130216108 Hwang et al. Aug 2013 A1
20130226791 Springer et al. Aug 2013 A1
20130226796 Jiang et al. Aug 2013 A1
20130232082 Krawczewicz et al. Sep 2013 A1
20130238894 Ferg et al. Sep 2013 A1
20130282360 Shimota et al. Oct 2013 A1
20130303085 Boucher et al. Nov 2013 A1
20130304651 Smith Nov 2013 A1
20130312082 Izu et al. Nov 2013 A1
20130314593 Reznik et al. Nov 2013 A1
20130344857 Berionne et al. Dec 2013 A1
20140002238 Taveau et al. Jan 2014 A1
20140019352 Shrivastava Jan 2014 A1
20140027506 Heo et al. Jan 2014 A1
20140032409 Rosano Jan 2014 A1
20140032410 Georgiev et al. Jan 2014 A1
20140040120 Cho et al. Feb 2014 A1
20140040139 Brudnicki et al. Feb 2014 A1
20140040147 Varadarakan et al. Feb 2014 A1
20140047235 Lessiak et al. Feb 2014 A1
20140067690 Pitroda et al. Mar 2014 A1
20140074637 Hammad Mar 2014 A1
20140074655 Lim et al. Mar 2014 A1
20140081720 Wu Mar 2014 A1
20140138435 Khalid May 2014 A1
20140171034 Aleksin et al. Jun 2014 A1
20140171039 Bjontegard Jun 2014 A1
20140172700 Teuwen et al. Jun 2014 A1
20140180851 Fisher Jun 2014 A1
20140208112 McDonald et al. Jul 2014 A1
20140214674 Narula Jul 2014 A1
20140229375 Zaytzsev et al. Aug 2014 A1
20140245391 Adenuga Aug 2014 A1
20140256251 Caceres et al. Sep 2014 A1
20140258099 Rosano Sep 2014 A1
20140258113 Gauthier et al. Sep 2014 A1
20140258125 Gerber et al. Sep 2014 A1
20140274179 Zhu et al. Sep 2014 A1
20140279479 Maniar et al. Sep 2014 A1
20140337235 Van Heerden et al. Nov 2014 A1
20140339315 Ko Nov 2014 A1
20140346860 Aubry et al. Nov 2014 A1
20140365780 Movassaghi Dec 2014 A1
20140379361 Mahadkar et al. Dec 2014 A1
20150012444 Brown et al. Jan 2015 A1
20150032635 Guise Jan 2015 A1
20150071486 Rhoads et al. Mar 2015 A1
20150088757 Zhou et al. Mar 2015 A1
20150089586 Ballesteros Mar 2015 A1
20150134452 Williams May 2015 A1
20150140960 Powell et al. May 2015 A1
20150154595 Collinge et al. Jun 2015 A1
20150170138 Rao Jun 2015 A1
20150178724 Ngo et al. Jun 2015 A1
20150186871 Laracey Jul 2015 A1
20150205379 Mag et al. Jul 2015 A1
20150302409 Malek Oct 2015 A1
20150317626 Ran et al. Nov 2015 A1
20150332266 Friedlander et al. Nov 2015 A1
20150339474 Paz et al. Nov 2015 A1
20150371234 Huang et al. Dec 2015 A1
20160012465 Sharp Jan 2016 A1
20160026997 Tsui et al. Jan 2016 A1
20160048913 Rausaria et al. Feb 2016 A1
20160055480 Shah Feb 2016 A1
20160057619 Lopez Feb 2016 A1
20160065370 Le Saint et al. Mar 2016 A1
20160078210 Lymberopoulos Mar 2016 A1
20160087957 Shah et al. Mar 2016 A1
20160092696 Guglani et al. Mar 2016 A1
20160148193 Kelley et al. May 2016 A1
20160232523 Venot et al. Aug 2016 A1
20160239672 Khan et al. Aug 2016 A1
20160253651 Park et al. Sep 2016 A1
20160255072 Liu Sep 2016 A1
20160267486 Mitra et al. Sep 2016 A1
20160277383 Guyomarc'h et al. Sep 2016 A1
20160277388 Lowe et al. Sep 2016 A1
20160307187 Guo et al. Oct 2016 A1
20160307189 Zarakas et al. Oct 2016 A1
20160314472 Ashfield Oct 2016 A1
20160330027 Ebrahimi Nov 2016 A1
20160335531 Mullen et al. Nov 2016 A1
20160379217 Hammad Dec 2016 A1
20170004502 Quentin et al. Jan 2017 A1
20170011395 Pillai et al. Jan 2017 A1
20170011406 Tunnell et al. Jan 2017 A1
20170017957 Radu Jan 2017 A1
20170017964 Janefalkar et al. Jan 2017 A1
20170024716 Jiam et al. Jan 2017 A1
20170039566 Schipperheijn Feb 2017 A1
20170041759 Gantert et al. Feb 2017 A1
20170068950 Kwon Mar 2017 A1
20170103388 Pillai et al. Apr 2017 A1
20170104739 Lansler et al. Apr 2017 A1
20170109509 Baghdasaryan Apr 2017 A1
20170109730 Locke et al. Apr 2017 A1
20170116447 Cimino et al. Apr 2017 A1
20170124568 Moghadam May 2017 A1
20170140379 Deck May 2017 A1
20170154328 Zarakas et al. Jun 2017 A1
20170154333 Gleeson et al. Jun 2017 A1
20170180134 King Jun 2017 A1
20170230189 Toll et al. Aug 2017 A1
20170237301 Elad et al. Aug 2017 A1
20170289127 Hendrick Oct 2017 A1
20170295013 Claes Oct 2017 A1
20170316696 Bartel Nov 2017 A1
20170317834 Smith et al. Nov 2017 A1
20170330173 Woo et al. Nov 2017 A1
20170374070 Shah et al. Dec 2017 A1
20180034507 Wobak et al. Feb 2018 A1
20180039986 Essebag et al. Feb 2018 A1
20180068316 Essebag et al. Mar 2018 A1
20180129945 Saxena et al. May 2018 A1
20180160255 Park Jun 2018 A1
20180191501 Lindemann Jul 2018 A1
20180205712 Versteeg et al. Jul 2018 A1
20180240106 Garrett et al. Aug 2018 A1
20180254909 Hancock Sep 2018 A1
20180268132 Buer et al. Sep 2018 A1
20180270214 Caterino et al. Sep 2018 A1
20180294959 Traynor et al. Oct 2018 A1
20180300716 Carlson Oct 2018 A1
20180302396 Camenisch et al. Oct 2018 A1
20180315050 Hammad Nov 2018 A1
20180316666 Koved et al. Nov 2018 A1
20180322486 Deliwala et al. Nov 2018 A1
20180359100 Gaddam et al. Dec 2018 A1
20190014107 George Jan 2019 A1
20190019375 Foley Jan 2019 A1
20190036678 Ahmed Jan 2019 A1
20190238517 D'Agostino et al. Aug 2019 A1
Foreign Referenced Citations (41)
Number Date Country
3010336 Jul 2017 CA
101192295 Jun 2008 CN
103023643 Apr 2013 CN
103417202 Dec 2013 CN
1 085 424 Mar 2001 EP
1 223 565 Jul 2002 EP
1 265 186 Dec 2002 EP
1 783 919 May 2007 EP
2 852 070 Jan 2009 EP
2 139 196 Dec 2009 EP
1 469 419 Feb 2012 EP
3364363 Aug 2018 EP
2 457 221 Aug 2009 GB
2 516 861 Feb 2015 GB
2 551 907 Jan 2018 GB
101508320 Apr 2015 KR
WO 0049586 Aug 2000 WO
WO 2006070189 Jul 2006 WO
WO 2008055170 May 2008 WO
WO 2009025605 Feb 2009 WO
WO 2010049252 May 2010 WO
WO 2011112158 Sep 2011 WO
WO 2012001624 Jan 2012 WO
WO 2013039395 Mar 2013 WO
WO 2013155562 Oct 2013 WO
WO 2013192358 Dec 2013 WO
WO 2014043278 Mar 2014 WO
WO 2014170741 Oct 2014 WO
WO 2015179649 Nov 2015 WO
WO 2015183818 Dec 2015 WO
WO 2016097718 Jun 2016 WO
2016122035 Aug 2016 WO
WO 2016160816 Oct 2016 WO
WO 2016168394 Oct 2016 WO
WO 2017042375 Mar 2017 WO
WO 2017042400 Mar 2017 WO
WO 2017157859 Sep 2017 WO
WO 2017208063 Dec 2017 WO
WO 2018063809 Apr 2018 WO
2018096559 May 2018 WO
WO 2018137888 Aug 2018 WO
Non-Patent Literature Citations (44)
Entry
Nguyen et al. (Tap-based User Authentication for Smartwatches, ArXiv, Aug. 5, 2018, 11 pages) (Year: 2018).
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority issued in PCT/US2019/053794, dated Dec. 19, 2019.
Batina, Lejla and Poll, Erik, “SmartCards and RFID”, Course PowerPoint Presentation for IPA Security Course, Digital Security at University of Nijmegen, Netherlands (date unknown) 75 pages.
Haykin M. and Wamar, R., “Smart Card Technology: New Methods for Computer Access Control,” Computer Science and Technology NIST Special Publication 500-157:1-60 (1988).
Lehpamer, Harvey, “Component of the RFID System,” RFID Design Principles, 2nd edition pp. 133-201 (2012).
Pourghomi, Pardis et al., “A Proposed NFC Payment Application,” International Journal of Advanced Computer Science and Applications, vol. 4, No. 8, 2013.
Author Unknown, “CardrefresherSM from American Express®,” [online] 2019 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://merchant-channel.americanexpress.com/merchant/en_US/cardrefresher, 2 pages.
Author Unknown, “Add Account Updater to your recurring payment tool,” [online] 2018-19 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://www.authorize.net/our-features/account-updater/, 5 pages.
Author Unknown, “Visa® Account Updater for Merchants,” [online] 2019 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://usa.visa.com/dam/VCOM/download/merchants/visa-account-updater-product-information-fact-sheet-for-merchants.pdf, 2 pages.
Author Unknown, “Manage the cards that you use with Apple Pay,” Apple Support [online] 2019 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://support.apple.com/en-us/HT205583, 5 pages.
Author Unknown, “Contactless Specifications for Payment Systems,” EMV Book B—Entry Point Specification [online] 2016 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://www.emvco.com/wp-content/uploads/2017/05/BookB_Entry_Point_Specification_v2_6_20160809023257319.pdf, 52 pages.
Author Unknown, “EMV Integrated Circuit Card Specifications for Payment Systems, Book 2, Security and Key Management,” Version 3.4, [online] 2011 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://www.emvco.com/wp-content/uploads/2017/05/EMV_v4.3_Book_2_Security_and_Key_Management_20120607061923900.pdf, 174 pages.
Author unknown, “NFC Guide: All You Need to Know About Near Field Communication” Square Guide [online] 2018[retrieved on Nov. 13, 2018], Retrieved from Internet URL: https://squareup.com/guides/nfc, 8 pages.
Profis, S., “Everything you need to know about NFC and mobile payments” CNET Directory [online], 2014 [retrieved on Mar. 25, 2019], Retrieved from the Internet URL: https://www.cnet.com/how-to/how-nfc-works-and-mobile-payments/, 6 pages.
Cozma, N., “Copy data from other devices in Android 5.0 Lollipop setup” CNET Directory [online] 2014 [retrieved on Mar. 25, 2019], Retrieved from the Internet URL: https://www.cnet.com/how-to/copy-data-from-other-devices-in-android-5-0-lollipop-setup/, 5 pages.
Kevin, Android Enthusiast, “How to copy text string from nfc tag” StackExchange [online] 2013 [retrieved on Mar. 25, 2019], Retrieved from the Internet URL: https://android.stackexchange.com/questions/55689/how-to-copy-text-suing-from-nfc-tag, 11 pages.
Author unknown, “Tap & Go Device Setup” Samsung [online] date unknown [retrieved on Mar. 25, 2019], Retrieved from the Internet URL: https://www.samsung.com/us/switch-me/switch-to-the-galaxy-s-5/app/partial/setup-device/tap-go.html, 1 page.
Author Unknown, “Multiple encryption”, Wikipedia [online] 2019 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://en.wikipedia.org/wiki/Multiple_encryption, 4 pages.
Krawczyk, et al., “HMAC: Keyed-Hashing for Message Authentication”, Network Working Group RFC:2104 memo [online] 1997 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://tools.ietf.org/html/rfc2104, 12 pages.
Song, et al., “The AES-CMAC Algorithm”, Network Working Group RFC: 4493 memo [online] 2006 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://tools.ietf.org/html/rfc4493, 21 pages.
Katz, J., and Lindell, Y., “Aggregate Message Authentication Codes”, Topics in Cryptology [online] 2008 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://www.cs.umd.edu/˜jkatz/papers/aggregateMAC.pdf, 11 pages.
Adams, D., and Maier, A-K, “Goldbug Big Seven open source crypto-messengers to be compared—: or Comprehensive Confidentiality Review & Audit of GoldBug Encrypting E-Mail-Client & Secure Instant Messenger”, Big Seven Study 2016 [online] [retrieved on Mar. 25, 2018], Retrieved from Internet URL: https://sf.net/projects/goldbug/files/bigseven-crypto-audit.pdf, 309 pages.
Author Unknown, “Triple DES”, Wikipedia [online] 2018 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://simple.wikipedia.org/wiki/Triple_DES, 2 pages.
Song, F., and Yun, A.l, “Quantum Security of NMAC and Related Constructions—PRF domain extension against quantum attacks”, IACR Cryptology ePrint Archive [online] 2017 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://eprint.iacr.org/2017/509.pdf, 41 pages.
Saxena, N., “Lecture 10: NMAC, HMAC and Number Theory”, CS 6903 Modern Cryptography [online] 2008 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: http://isis.poly.edu/courses/cs6903/Lectures/lecture10.pdf, 8 pages.
Berg, Guy, “Fundamentals of EMV” Smart Card Alliance [online] date unknown [retrieved on Mar. 27, 2019], Retrieved from Internet URL: https://www.securetechalliance.org/resources/media/scapl3_preconference/02.pdf, 37 pages.
Pierce, Kevin, “Is the amazon echo NFC compatible,?” Amazon.com Customer Q&A [online] 2016 [retrieved on Mar. 26, 2019]. Retrieved from Internet URL: https://www.amazon.com/ask/questions/Tx1RJXYSPE6XLJD? encodi . . . , 2 pages.
Author Unknown, “Multi-Factor Authentication”, idaptive [online] 2019 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://www.centrify.com/products/application-services/adaptive-multi-factor-authentication/risk-based-mfa/, 10 pages.
Author Unknown, “Adaptive Authentication”, Secure Auth [online] 2019 [retrieved on Mar. 25, 2019}. Retrieved from Internet URL: https://www.secureauth.com/products/access-management/adaptive-authentication, 7 pages.
Van den Breekel, J., et al., “EMV in a nutshell”, Technical Report, 2016 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://www.cs.ru.n1/E.Poll/papers/EMVtechreport.pdf, 37 pages.
Author Unknown, “Autofill”, Computer Hope [online] 2018 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://www.computerhope.eom/jargon/a/autofill.htm, 2 pages.
Author Unknown, “Fill out forms automatically”, Google Chrome Help [online] 2019 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://support.google.com/chrome/answer/142893?co=GENIE.Platform%3DDesktop&h1=en, 3 pages.
Author unknown, “Autofill credit cards, contacts, and passwords in Safari on Mac”, Apple Safari User Guide [online] 2019 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://support.apple.com/guide/safari/use-autofill-ibrwl1103/mac, 3 pages.
Menghin, M.J., “Power Optimization Techniques for Near Field Communication Systems” 2014 Dissertation at Technical University of Graz [online]. Retrieved from Internet URL: https://diglib.tugraz.at/download.php?id=576a7b910d2d6&location=browse, 135 pages.
Mareli, M., et al., “Experimental evaluation of NFC reliability between an RFID tag and a smartphone” Conference paper (2013) IEEE Africon At Mauritius [online] [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://core.ac.uk/download/pdf/54204839.pdf, 5 pages.
Davison, A., et al., “MonoSLAM: Real-Time Single Camera Slam”, IEEE Transactions on Pattern Analysis and Machine Intelligence 29(6): 1052-1067 (2007).
Barba, R., “Sharing your location with your bank sounds creepy, but it's also useful”, Bankrate, LLC [online] 2017 [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://www.bankrate.com/banking/banking-app-location-sharing/, 6 pages.
Author unknown: “onetappayment™”, [online] Jan. 24, 2019, [retrieved on Mar. 25, 2019], Retrieved from Internet URL: https://www.payubiz.in/onetap, 4 pages.
Vu et al., (2012). “Distinguishing users with capacitive touch communication” Proceedings of the Annual International Conference on Mobile Computing and Networking, MOBICOM. 10.1145/2348543.2348569.
EMVCo (EMV Card Personalization Specification, version 1.0, Jun. 2003, 81 pages).
Ullmann et al., (2012). “On-Card” User Authentication for Contactless Smart Cards based on Gesture Recognition, LNI, 223-234, 12 pages.
Faraj et al. (2008). “Investigation of Java Smart Card Technology for Multi-Task Applications” J. of Al-Anbar University for Pure Science, vol. 2: No. 1: 2008, 11 pages.
Dhamdhere (2017) “Key Benefits of a Unified Platform for Loyalty, Referral Marketing, and UGC” Annex Cloud [retrieved on Jul. 3, 2019], Retrieved from Internet URL: https://www.annexcloude.com/blog/benefits-unified-platform/, 13 pages.
Notification Concerning Transmittal of International Preliminary Report on Patentability from related PCT Application No. PCT/US2019/053794 dated Apr. 15, 2021.
Related Publications (1)
Number Date Country
20200234295 A1 Jul 2020 US
Provisional Applications (1)
Number Date Country
62740352 Oct 2018 US
Continuations (1)
Number Date Country
Parent 16351401 Mar 2019 US
Child 16658946 US
Continuation in Parts (1)
Number Date Country
Parent 16205119 Nov 2018 US
Child 16351401 US