System and method for cryptographic authentication of contactless cards - Patents.com
The described system addresses vulnerabilities in contactless card authentication and activation by using NFC technology and cryptographic methods, providing enhanced security and streamlined processes for data transmission and card alignment.
Patent Information
- Application Number
- JP2021515477
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-10-02
- Filing Date
- 2019-10-02
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2039-10-02
AI Technical Summary
Existing systems for cryptographic authentication of contactless cards face challenges such as vulnerability to hacking, compromised login credentials, and inefficient card activation processes.
The implementation of a data transmission system that includes a transmitting device and a receiving application, utilizing NFC technology to establish communication and perform cryptographic authentication, while also guiding the contactless card into ideal alignment for data transmission.
This solution enhances data security and authentication for contactless cards, streamlines the card activation process, and improves account access validation by leveraging NFC technology and cryptographic methods.
Smart Images

Figure 0007682093000004 
Figure 0007682093000005 
Figure 0007682093000006
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation-in-part of U.S. Patent Application No. 16 / 205,119, filed November 29, 2018, and claims priority from U.S. Provisional Application No. 62 / 740,352, filed October 2, 2018, and U.S. Patent Application No. 16 / 591,010, filed October 2, 2019, the disclosures of which are incorporated herein by reference in their entireties.
[0002] FIELD OF THE DISCLOSURE This disclosure relates to cryptography, and more particularly, to systems and methods for cryptographic authentication of contactless cards. [Background technology]
[0003] Data security and transaction integrity are critical to businesses and consumers. This need continues to grow as electronic transactions comprise an ever-larger share of commercial activity.
[0004] Email can be used as a tool to verify transactions, but email is open to attacks and vulnerable to hacking and other unauthorized access. Short Message Service (SMS) messages can also be used, but they can also be compromised. Additionally, data encryption algorithms such as the triple DES algorithm have similar vulnerabilities.
[0005] Activating many cards, including financial cards (e.g., credit cards and other payment cards), requires a time-consuming process in which the cardholder calls a phone number, visits a website, and enters or provides card information. Additionally, while the increasing use of chip-based financial cards offers more secure features than previous technologies for in-person purchases (e.g., magnetic strip cards), access to an account may rely on login credentials (e.g., username and password) to verify the cardholder's identity. However, if the login credentials are compromised, another person may access the user's account.
[0006] These and other deficiencies exist. Thus, there is a need to provide users with an appropriate solution that overcomes these deficiencies to provide data security, authentication, and validation for contactless cards. Additionally, there is a need for both improved methods for activating cards and improved authentication for account access. Summary of the Invention
[0007] 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.
[0008] An embodiment of the present disclosure provides a data transmission system comprising: a transmitting device having a processor, memory, and a communication interface; and a receiving application comprising instructions for execution on a receiving device having a processor, memory, a communication interface configured to create a communication range, and one or more sensors, wherein upon movement of the transmitting device, the receiving application is configured to receive feedback information associated with the transmitting device via the one or more sensors and display one or more indications regarding the position of the transmitting device relative to the receiving device until the transmitting device is within communication range, at which point the transmitting device is configured to transmit data to the receiving device.
[0009] An embodiment of the present disclosure provides a method for guiding a transmitting device into ideal alignment with a receiving device, the method including the steps of: providing a transmitting device having a processor, a memory, and a communications interface; providing a receiving application comprising instructions for execution on the receiving device; the receiving application generating a communication range for data communication with the transmitting device; the receiving application receiving feedback information associated with the transmitting device, the feedback information relating to a position of the transmitting device relative to the receiving device; the receiving application displaying one or more guidance instructions on the receiving device regarding the position of the transmitting device relative to the receiving device until the transmitting device is within communication range; and the transmitting device transmitting data to the receiving application.
[0010] An embodiment of the present disclosure provides a receiving application comprising instructions for execution on a communication device, where upon execution of the instructions the receiving application generates a near field communication (NFC) range and utilizes one or more sensors to detect a position of a contactless card, where upon detecting the position of the contactless card, the receiving application is configured to continuously track a position of the contactless card relative to the communication device using the one or more sensors and obtain location information regarding the position of the contactless card relative to the communication device, display one or more guidance instructions based on the location information, and continuously update the one or more guidance instructions until the contactless card enters the NFC range, where upon the contactless card enters the NFC range the receiving application is configured to establish NFC communication with the contactless card and monitor a signal strength of the NFC communication, where upon detecting that the signal strength is below a threshold level the receiving device application is configured to resume continuously tracking the position of the contactless card relative to the communication device, obtaining the location information, and displaying the one or more instructions based on the location information until the receiving application detects a signal strength above the threshold level.
[0011] Further features of the disclosed design and advantages offered thereby are described in more detail below with reference to specific exemplary embodiments that are illustrated in the accompanying drawings. [Brief description of the drawings]
[0012] [Figure 1A] 1 is a diagram of a data transmission system according to an exemplary embodiment. [Figure 1B] FIG. 2 illustrates a sequence for providing authenticated access according to an exemplary embodiment. [Diagram 2] 1 is a diagram of a data transmission system according to an exemplary embodiment. [Diagram 3] FIG. 1 is a diagram of a system using contactless cards according to an exemplary embodiment. [Figure 4] 1 is a flowchart illustrating a method of key diversification according to an example embodiment. [Figure 5A] 1 is a diagram of a contactless card according to an exemplary embodiment. [Figure 5B] 2 is a diagram of a contact pad of a contactless card according to an exemplary embodiment. [Figure 6] FIG. 1 illustrates a message for communicating with a device according to an exemplary embodiment. [Figure 7] FIG. 2 illustrates messages and message formats according to an exemplary embodiment. [Figure 8] 10 is a flowchart illustrating a key operation according to an exemplary embodiment. [Figure 9] FIG. 1 is a diagram of a key system according to an exemplary embodiment. [Figure 10] 1 is a flowchart of a method for generating a cryptogram according to an example embodiment. [Figure 11] 1 is a flowchart illustrating a process of key diversification according to an example embodiment. [Figure 12] 1 is a flowchart illustrating a method for card activation according to an exemplary embodiment. [Figure 13] FIG. 1 is an illustration of a sensor system according to an illustrative embodiment. [Figure 14] 1 is an illustration of a client device displaying an application according to an exemplary embodiment. [Figure 15] 1 is a flowchart illustrating operation of a sensor system according to an exemplary embodiment. [Figure 16] 1 is a diagram of a contactless card according to an exemplary embodiment. [Figure 17] 1 is a flowchart illustrating a method for guiding alignment using a contactless card antenna according to an exemplary embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] The following description of the embodiments provides non-limiting representative examples that refer to numbers to specifically describe the features and teachings of different aspects of the present invention. It should be recognized that the described embodiments can be implemented separately or in combination with other embodiments from the description of the embodiments. Those skilled in the art who review the description of the embodiments should be able to learn and understand the different described aspects of the present invention. The description of the embodiments should facilitate understanding of the present invention to the extent that other embodiments that are not specifically covered but are within the knowledge of those skilled in the art who read the description of the embodiments are understood to be consistent with the application of the present invention.
[0014] An objective of some embodiments of the present disclosure is to incorporate one or more keys into one or more contactless cards. In these embodiments, the contactless card can perform authentication and many 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, the contactless card can be provided with a way to interact and communicate between the user's device (such as a mobile phone) and the card itself. For example, the EMV protocol underlying many credit card transactions includes an authentication process sufficient for the Android® operating system, but presents challenges for iOS®, which is more restricted in its use of Near Field Communication (NFC), since it can only be used in a read-only manner. Exemplary embodiments of contactless cards described herein utilize NFC technology.
[0015] 1A illustrates a data transmission system according to an exemplary embodiment. As described further below, system 100 may include a contactless card 105, a client device 110, a network 115, and a server 120. Although FIG. 1A illustrates a single instance of the components, system 100 may include any number of components.
[0016] The system 100 may include one or more contactless cards 105, which are described further below with reference to Figures 5A-5B. In some embodiments, the contactless cards 105 can wirelessly communicate with the client device 110, in one example utilizing NFC.
[0017] The system 100 may include a client device 110, which may be a network-enabled computer. As referred to herein, a network-enabled computer may include a computing device or a communication device, including, for example, but not limited to, a server, a network appliance, a personal computer, a workstation, a telephone, a handheld PC, a personal digital assistant, a thin client, a fat client, an Internet browser, or other device. The client device 110 may also be a mobile device. For example, the mobile device may include an Apple® iPhone®, iPod®, iPad®, or other mobile device running Apple's iOS® operating system, a device running Microsoft's Windows® Mobile operating system, a device running Google's Android® operating system, and / or other smartphones, tablets, or similar wearable mobile devices.
[0018] The client device 110 device may include a processor and memory, and it is understood that the processing circuitry may include additional components including processors, memory, error and parity / CRC checkers, data encoders, anti-collision algorithms, controllers, command decoders, security primitives and anti-tamper 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 inputting information into a user's device that is available and supported by the user's device, such as a touch screen, a keyboard, a mouse, a cursor control device, a touch screen, a microphone, a digital camera, a video recorder or camcorder, etc. These devices can be used to input information and interact with the software and other devices described herein.
[0019] In some examples, a client device 110 of system 100 may execute one or more applications, such as software applications, that enable network communication with one or more components of system 100 and transmit and / or receive data, for example.
[0020] The client device 110 can communicate with one or more servers 120 via one or more networks 115 and can operate as a respective front-end to back-end pair with the server 120. The client device 110 can send one or more requests to the server 120, for example from a mobile device application executing on the client device 110. The one or more requests can be associated with retrieval of data from the server 120. The server 120 can receive one or more requests from the client device 110. Based on the one or more requests from the client device 110, the server 120 can 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, the server 120 can be configured to transmit the received data to the client device 110, the received data being responsive to the one or more requests.
[0021] The system 100 may include one or more networks 115. In some examples, the network 115 may be one or more of a wireless network, a wired network, or any combination of wireless and wired networks and may be configured to connect the client device 110 to the server 120. For example, the network 115 may include one or more of an optical fiber 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 communications, a personal communication service, a personal area network, a wireless application protocol, a multimedia messaging service, an enhanced messaging service, a short message service, a time division multiplex based system, a code division multiple access based system, a 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 the like.
[0022] Furthermore, network 115 includes, but is not limited to, a telephone line, optical fiber, IEEE Ethernet 902.3, wide area network, wireless personal area network, LAN, or a global network such as the Internet. Further, network 115 can support an Internet network, a wireless communication network, a cellular network, etc., or any combination thereof. Network 115 can further include one network, or any number of the exemplary types of networks described above, operating as a stand-alone network or cooperating with each other. Network 115 can utilize one or more protocols of one or more network elements to which they are communicatively coupled. Network 115 can convert one or more protocols of network devices to other protocols. Although network 115 is shown as a single network, according to one or more examples, network 115 can include, for example, a plurality of interconnected networks such as the Internet, a service provider's network, a cable television network, a corporate network such as a credit card association network, and a home network.
[0023] System 100 can include one or more servers 120. In some examples, server 120 can include one or more processors coupled to memory. Server 120 can be configured as a central system, server, or platform for controlling and invoking various data at different times to execute multiple workflow actions. Server 120 can be configured to connect to one or more databases. Server 120 can be connected to at least one client device 110.
[0024] 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 include contactless card 105 and client device 110, which may include application 122 and processor 124. FIG. 1B may reference similar components as shown in FIG. 1A.
[0025] In step 102, application 122 communicates with contactless card 105 (e.g., after being brought into close proximity to contactless card 105). Communication between application 122 and contactless card 105 may involve contactless card 105 being sufficiently close to a card reader (not shown) of client device 110 to enable NFC data transfer between application 122 and contactless card 105.
[0026] In step 104, after communication is established between the client device 110 and the 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 Wireless Data Exchange (NDEF) tag, which may be created according to the NFC data exchange format. For example, a reader, such as the application 122, may send a message, such as an applet selection message, with the applet ID of the NDEF generating applet. Once the selection is confirmed, a series of select file messages followed by read file messages may be sent. For example, the sequence may include "select feature file", "read feature file", and "select NDEF file". At this point, a counter value maintained by the contactless card 105 may be updated or incremented, followed by "read NDEF file". At this point, a message may be generated that includes a header and a shared secret. A session key may then be generated. A MAC cryptogram may be created from the message. The message may include a header and a shared secret. The MAC ciphertext may then be concatenated with one or more blocks of random data, and the MAC ciphertext and the random number (RND) may be encrypted with a session key. The ciphertext and the header may then be concatenated, encoded as ASCII hex, and returned in the NDEF message format (in response to a "read NDEF file" message).
[0027] In some examples, the MAC cryptogram may be transmitted as an NDEF tag, and in other examples, the MAC cryptogram may be included with the uniform resource indicator (eg, as a formatted string).
[0028] In some examples, the application 122 may be configured to send a request to the contactless card 105, the request comprising instructions to generate a MAC cryptogram.
[0029] In step 106, contactless card 105 transmits the MAC cryptogram to application 122. In some examples, the transmission of the MAC cryptogram occurs via NFC, although this disclosure is not limited thereto. In other examples, this communication may occur via Bluetooth, Wi-Fi, or other wireless data communication means.
[0030] In step 108 , the application 122 communicates the MAC ciphertext to the processor 124 .
[0031] In step 112, the processor 124 verifies the MAC ciphertext according to instructions from the application 122. For example, the MAC ciphertext may be verified as described below.
[0032] In some examples, verification of the MAC ciphertext may be performed by a device other than the client device 110 (as shown in FIG. 1A ), such as a server 120 in data communication with the client device 110. For example, the processor 124 may output the MAC ciphertext for transmission to the server 120, which can verify the MAC ciphertext.
[0033] In some examples, the MAC ciphertext may act as a digital signature for purposes of verification. To perform this verification, a public key asymmetric algorithm may be used, such as the Digital Signature Algorithm and the RSA algorithm, or other digital signature algorithms such as zero-knowledge protocols.
[0034] Figure 2 shows a data transmission system according to an exemplary embodiment. System 200 may include one or more servers 220 and a transmitting or transmitting device 205 and a receiving or receiving device 210 that communicate, for example, via network 215. The transmitting or transmitting device 205 may be the same as or similar to the client device 110 discussed above with reference to FIG. 1A. The receiving or receiving device 210 may be the same as or similar to the 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. FIG. 2 shows a single instance of the components of system 200, but system 200 may include any number of the illustrated components.
[0035] When using symmetric encryption algorithms such as encryption algorithms, hash-based message authentication code (HMAC) algorithms, and cipher-based message authentication code (CMAC) algorithms, it is important to keep the key secret between the party that first processes the data protected using the symmetric algorithm and key and the party that receives and processes the data using the same encryption algorithm and the same key.
[0036] It is also important not to use the same key multiple times. If a key is used or reused frequently, the key can be jeopardized. Each time a key is used, additional samples of data processed by the encryption algorithm using the same key are provided to an attacker. The more data processed with the same key the attacker has, the higher the likelihood that the attacker will discover the key value. Frequently used keys can be involved in various attacks.
[0037] Additionally, each time a symmetric encryption algorithm is run, it may reveal information, such as side channel data, about the key used during the symmetric encryption operation. Side channel data may include slight power fluctuations that occur when the encryption algorithm is run while the key is in use. Enough of the side channel data can be measured to reveal enough information about the key to allow an attacker to recover the key. Exchanging data using the same key will repeatedly reveal data processed with the same key.
[0038] However, limiting the number of times a particular key is used limits the amount of side channel data an attacker can collect, thereby reducing exposure to this and other types of attacks. As described further herein, the parties involved in the exchange of cryptographic information (e.g., sender and receiver) should generate keys independently from an initial shared master symmetric key in combination with a counter value, thereby periodically replacing the shared symmetric keys in use and resorting to some form of key exchange to keep the parties synchronized. Periodically changing the shared secret symmetric keys used by the sender and receiver makes the above attack infeasible.
[0039] Returning to FIG. 2, the system 200 may be configured to implement key diversification. For example, a sender and a receiver may wish to exchange data (e.g., original confidential data) via their respective devices 205 and 210. As explained above, a single instance of a sending device 205 and a receiving device 210 may be included, but it is understood that one or more sending 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 sending device 205 and the receiving device 210 may be provisioned with the same master symmetric key. Furthermore, it is understood that any party or device that holds the same secret symmetric key can perform the functions of the sending device 205, and similarly, any party that holds the same secret symmetric key can perform the functions of the receiving device 210. In some examples, the symmetric key may comprise a shared secret symmetric key that is kept secret from all parties other than the sending device 205 and the receiving device 210 involved in the exchange of secure data. It is further understood that both the transmitting device 205 and the receiving device 210 can be provided with the same master symmetric key, and further that a portion of the data exchanged between the transmitting device 205 and the receiving device 210 can comprise at least a portion of data that can be referred to as a counter value. The counter value can comprise a number that changes each time data is exchanged between the transmitting device 205 and the receiving device 210.
[0040] The system 200 may include one or more networks 215. In some examples, the network 215 may be one or more of a wireless network, a wired network, or any combination of wireless and wired networks and may be configured to connect the one or more transmitting devices 205 and the one or more receiving devices 210 to the server 220. For example, the network 215 may include one or more of an optical fiber network, a passive optical network, a cable network, an Internet network, a satellite network, a wireless LAN, a global system for mobile communications, a personal communication service, a personal area network, a wireless application protocol, a multimedia messaging service, an enhanced messaging service, a short message service, a time division multiplex based system, a code division multiple access based system, a D-AMPS, Wi-Fi, fixed wireless data, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, RFID, Wi-Fi, and the like.
[0041] Additionally, network 215 may include a global network, such as, but not limited to, telephone lines, optical fiber, IEEE Ethernet 902.3, wide area networks, wireless personal area networks, LANs, or the Internet. Additionally, 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 listed above, operating as a standalone network or in cooperation with one another. 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 and from one or more protocols of a network device. Although network 215 is shown as a single network, it should be understood that, according to one or more examples, network 215 may comprise multiple interconnected networks, such as, for example, the Internet, a service provider's network, a cable television network, an enterprise network such as a credit card association network, and a home network.
[0042] In some examples, the one or more transmitting devices 205 and the one or more receiving devices 210 may be configured to communicate with each other and transmit and receive data without going through the 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, etc.
[0043] At block 225, when the sending device 205 prepares to process the sensitive data in a symmetric encryption operation, the sender may update a counter. Additionally, the sending device 205 may select an appropriate symmetric cryptography algorithm, which may include at least one of a symmetric encryption algorithm, an HMAC algorithm, and a CMAC algorithm. In some examples, the symmetric algorithm used to process the diversification value may comprise any symmetric encryption algorithm used as needed to generate a diversified symmetric key of a desired length. Non-limiting examples of symmetric algorithms may include symmetric encryption algorithms such as 3DES or AES128, symmetric HMAC algorithms such as HMAC-SHA-256, symmetric CMAC algorithms such as AES-CMAC. It should be appreciated 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 generate multiple outputs that can be combined as needed to generate a key of sufficient length.
[0044] In block 230, the sending device 205 can employ the selected encryption algorithm and process the counter value using a master symmetric key. For example, the sender can select a symmetric encryption algorithm and use a counter that updates with every conversation between the sending device 205 and the receiving device 210. The sending device 205 can then encrypt the counter value with the selected symmetric encryption algorithm using the master symmetric key to create a diversified symmetric key.
[0045] 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 in block 230 without encryption.
[0046] At block 235, the diversified symmetric key may be used to process the sensitive data before transmitting the results to the receiving device 210. For example, the sending 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 sending device 205 may then transmit the protected encrypted data, along with the counter value, to the receiving device 210 for processing.
[0047] In block 240, the receiving device 210 can first obtain 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 can be the same diverse symmetric key value as that created by the sender.
[0048] Next, in block 245, the receiving device 210 may obtain the protected encrypted data and decrypt the protected encrypted data using a symmetric decryption algorithm along with the diversified symmetric key.
[0049] At block 250, the original sensitive data may be revealed as a result of decrypting the protected encrypted data.
[0050] Next, when sensitive data needs to be transmitted from the sender to the recipient via the respective sending device 205 and receiving device 210, a different counter value can be selected to generate a different diverse symmetric key. By processing the counter value using the same symmetric cryptography algorithm as the master symmetric key, both the sending device 205 and the receiving device 210 can independently generate the same diverse symmetric key. This diverse symmetric key, rather than the master symmetric key, is used to protect the sensitive data.
[0051] As explained above, both the transmitting device 205 and the receiving device 210 initially each possess a shared master symmetric key. The shared master symmetric key is not used to encrypt the original secret data. The diversified symmetric keys are never transmitted between the transmitting device 205 and the receiving device 210 because they are created independently by both. Thus, an attacker cannot intercept the diversified symmetric keys, and the attacker never sees the data processed with the master symmetric key. Only the counter value, not the secret data, is processed with the master symmetric key. As a result, the reduction of side channel data with respect to the master symmetric key is revealed. Furthermore, the operation of the transmitting device 205 and the receiving device 210 may be governed by symmetric requirements regarding the frequency of creating new diversification values, and therefore new diversified symmetric keys. In one embodiment, a new diversification value, and therefore a new diversified symmetric key, may be created for every exchange between the transmitting device 205 and the receiving device 210.
[0052] In some examples, the key diversification value may constitute a counter value. Other non-limiting examples of key diversification values include a random nonce generated each time a new diversified key is needed, a random nonce transmitted from the transmitting device 205 to the receiving device 210, the complete value of the counter value transmitted from the transmitting device 205 and the receiving device 210, a portion of the counter value transmitted from the transmitting device 205 and the receiving device 210, a counter maintained independently by the transmitting device 205 and the receiving device 210 but not transmitted between the two devices, a one-time passcode exchanged between the transmitting device 205 and the receiving device 210, a cryptographic hash of the secret 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. Additionally, a combination of one or more of the above example key diversification values may be used.
[0053] In other examples, a portion of the counter can be used as the key diversification value. When multiple master key values are shared between the parties, multiple diversified key values can be obtained by the systems and processes described herein. New diversification values, and therefore new diversified symmetric keys, can be created as many times as necessary. In the most secure case, a new diversification value can be created for each exchange of sensitive data between the sending device 205 and the receiving device 210. In effect, this can create a one-time use key, such as a single-use session key.
[0054] Figure 3 illustrates a system 300 that uses contactless cards. System 300 may include a contactless card 305, one or more client devices 310, a network 315, servers 320, 325, one or more hardware security modules 330, and a database 335. Although Figure 3 illustrates a single instance of the components, system 300 may include any number of components.
[0055] The system 300 may include one or more contactless cards 305, which will be further described below with respect to FIGS. 5A-5B. In some examples, the contactless card 305 may be in wireless communication, e.g., NFC communication, with the client device 310. For example, the contactless card 305 may include one or more chips, such as radio frequency identification chips, configured to communicate via NFC or other short-range protocols. In other embodiments, the contactless card 305 may communicate with the client device 310 via other means, including, but not limited to, Bluetooth, satellite, Wi-Fi, wired communication, and / or any combination of wireless and wired connections. According to some embodiments, the contactless card 305 may be configured to communicate with the card reader 313 of the client device 310 via NFC when the contactless card 305 is within range of the card reader 313. In other examples, communication with the contactless card 305 may be achieved via a physical interface, e.g., a Universal Serial Bus interface or a card swipe interface.
[0056] The system 300 may include a client device 310, which may be a network-enabled computer. As referred to herein, a network-enabled computer may include, for example, a computing device or a communication device, including, for example, but not limited to, a server, a network appliance, a personal computer, a workstation, a mobile device, a telephone, a handheld PC, a personal digital assistant, a thin client, a fat client, an Internet browser, or other device. One or more of the client devices 310 may also be mobile devices. For example, the mobile devices may include an Apple® iPhone®, an iPod®, an iPad®, or other mobile devices running Apple's iOS® operating system, devices running Microsoft's Windows® Mobile operating system, devices running Google's Android® operating system, and / or other smartphones or similar wearable mobile devices. In some examples, the client device 310 may be the same as or similar to the client device 110, as described with reference to FIG. 1A or FIG. 1B.
[0057] The client device 310 can communicate with one or more servers 320 and 325 via one or more networks 315. The client device 310 can send one or more requests to the one or more servers 320 and 325, for example from an application 311 running on the client device 310. The one or more requests can be associated with retrieval of data from the one or more servers 320 and 325. The servers 320 and 325 can receive one or more requests from the client device 310. Based on the one or more requests from the client device 310, the one or more servers 320 and 325 can be configured to retrieve the requested data from one or more databases 335. Based on receiving the requested data from the one or more databases 335, the one or more servers 320 and 325 can be configured to transmit the received data to the client device 310, the received data being responsive to the one or more requests.
[0058] The system 300 may include one or more hardware security modules (HSMs) 330. For example, the one or more HSMs 330 may be configured to perform one or more cryptographic operations as disclosed herein. In some examples, the one or more HSMs 330 may be configured as special purpose security devices configured to perform one or more cryptographic operations. The HSMs 330 may be configured such that keys are never revealed outside of the HSMs 330, but instead are maintained within the HSMs 330. For example, the one or more HSMs 330 may be configured to perform at least one of key derivation, decryption, and MAC operations. The one or more HSMs 330 may be included within the servers 320 and 325 or in data communication with the servers 320 and 325.
[0059] The system 300 may include one or more networks 315. In some examples, the network 315 may be one or more of a wireless network, a wired network, or any combination of wireless and wired networks and may be configured to connect the client devices 315 to the servers 320 and 325. For example, the network 315 may include one or more of a fiber optic 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 communications, a personal communication service, a personal area network, a wireless application protocol, a multimedia messaging service, an enhanced messaging service, a short message service, a time division multiplex based system, a code division multiple access based system, a 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 those networks. As non-limiting examples, communications from the contactless card 305 and the client device 310 may include NFC communications, a cellular network between the client device 310 and the carrier, and the Internet between the carrier and a backend.
[0060] Further, the network 315 may include, but is not limited to, telephone lines, optical fiber, IEEE Ethernet 902.3, wide area networks, wireless personal area networks, local area networks, or global networks such as the Internet. Further, the network 315 may support an Internet network, a wireless communication network, a cellular network, or the like, or any combination thereof. The network 315 may further include one network, or any number of the exemplary types of networks listed above, operating as a standalone network or in cooperation with one another. The network 315 may utilize one or more protocols of one or more network elements to which they are communicatively coupled. The network 315 may convert to and from one or more protocols of the network device. Although the network 315 is shown as a single network, it should be understood that according to one or more examples, the network 315 may comprise multiple interconnected networks, such as, for example, the Internet, a service provider's network, a cable television network, an enterprise network such as a credit card association network, and a home network.
[0061] In various examples according to the present disclosure, the client device 310 of the system 300 can execute one or more applications 311 and includes one or more processors 312 and one or more card readers 313. The one or more applications 311, e.g., software applications, can be configured to enable network communication with, e.g., one or more components of the system 300, to transmit and / or receive data. Although only a single instance of the components of the client device 310 is shown in FIG. 3, it will be understood that any number of devices 310 can be used. The card reader 313 can be configured to read from and / or communicate with the contactless card 305. In conjunction with the one or more applications 311, the card reader 313 can communicate with the contactless card 305.
[0062] Any application 311 on the client device 310 can communicate with the contactless card 305 using short-range wireless communication (e.g., NFC). The application 311 can be configured to interface with a card reader 313 on the client device 310 configured to communicate with the contactless card 305. As should be noted, those skilled in the art will understand that a distance of less than 20 centimeters is consistent with an NFC range.
[0063] In some embodiments, the application 311 communicates with the contactless card 305 via an associated reader (eg, card reader 313).
[0064] In some embodiments, card activation may occur without user authentication. For example, the contactless card 305 may communicate with the application 311 via the card reader 313 of the client device 310 via NFC. The communication (e.g., tapping the card in proximity to the card reader 313 of the client device 310) allows the application 311 to read data associated with the card and perform the activation. In some cases, the tap may activate or launch the application 311, which may then initiate one or more actions or communications with the account server 325 to activate the card for subsequent use. In some cases, if the application 311 is not installed on the client device 310, tapping the card against the card reader 313 may initiate a download of the application 311 (e.g., navigation to an application download page). Following installation, tapping the card may activate or launch the application 311, which may then initiate activation of the card (e.g., via application or other back-end communications). After activation, the card may be used in a variety of transactions, including commercial transactions.
[0065] According to some embodiments, the contactless card 305 may include a virtual payment card. In those embodiments, the application 311 may retrieve information related to the contactless card 305 by accessing a digital wallet implemented on the client device 310, the digital wallet including the virtual payment card. In some examples, the virtual payment card data may include one or more statically or dynamically generated virtual card numbers.
[0066] The server 320 may comprise a web server in communication with the database 335. The server 325 may comprise an account server. In some examples, the server 320 may be configured to verify one or more credentials from the contactless card 305 and / or the client device 310 by comparing with one or more credentials in the database 335. The server 325 may be configured to authorize one or more requests, such as payments and transactions, from the contactless card 305 and / or the client device 310.
[0067] 4 illustrates a method 400 of key diversification according to an example of this disclosure. The method 400 may include a transmitting device and a receiving device similar to the transmitting device 205 and the receiving device 210 referenced in FIG.
[0068] For example, a sender and a receiver may wish to exchange data (e.g., original confidential data) via a sending device and a receiving device. As described above, these two parties may be included, but it is understood that one or more sending 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 sending device and the receiving device may be provisioned with the same master symmetric key. It is further understood that any party or device that holds the same secret symmetric key can perform the functions of a sending device, and similarly, any party that holds the same secret symmetric key can perform the functions of a receiving device. In some examples, the symmetric key may comprise a shared secret symmetric key that is kept secret from all parties other than the sending device and the receiving device involved in the secure data exchange. Furthermore, both the sending device and the receiving device may be provided with the same master symmetric key, and it is further understood that a portion of the data exchanged between the sending device and the receiving device comprises at least a portion of the data that may be referred to as a counter value. The counter value may comprise a number that changes each time data is exchanged between the sending device and the receiving device.
[0069] At block 410, the sending device and the receiving device may be provisioned with the same master key, such as the same master symmetric key. When the sending device prepares to process the sensitive data in a symmetric encryption operation, the sender may update a counter. Additionally, the sending device may select an appropriate symmetric cryptography algorithm, which may include at least one of a symmetric encryption algorithm, an HMAC algorithm, and a CMAC algorithm. In some examples, the symmetric algorithm used to process the diversification value may comprise any symmetric cryptography algorithm used as needed to generate a diversified symmetric key of a desired length. Non-limiting examples of symmetric algorithms may include symmetric encryption algorithms such as 3DES or AES128, symmetric HMAC algorithms such as HMAC-SHA-256, symmetric CMAC algorithms 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 generate multiple outputs that can be combined as needed to generate a key of sufficient length.
[0070] The sending device may use a selected encryption algorithm and process the counter value using a master symmetric key. For example, the sender may select a symmetric encryption algorithm and use a counter that is updated for each conversation between the sending device and the receiving device.
[0071] Next, at block 420, the sending device may use the master symmetric key to encrypt the counter value with a selected symmetric encryption algorithm to create 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 sending device may encrypt the sensitive data using a symmetric encryption algorithm that uses the diversified symmetric key, and the output may comprise protected encrypted data. The sending device may then transmit the protected encrypted data along with the counter value to the receiving device for processing. In some examples, encryption operations other than encryption may be performed and multiple encryption operations may be performed using the diversified symmetric key before transmitting the protected data.
[0072] In some examples, the counter value may not be encrypted. In these examples, the counter value may be transmitted between the sending device and the receiving device at block 420 without encryption.
[0073] At block 430, the sensitive data may be protected using one or more encryption algorithms and diversified keys. A diversified session key, possibly created by diversifying the key using the counter, may be used with one or more encryption algorithms to protect the sensitive data. For example, the data may be processed by a MAC using a first diversified session key, and the resulting output may be encrypted using a second diversified session key to generate the protected data.
[0074] At block 440, the receiving device can 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 can be the same diversified symmetric key value created by the sender. For example, the receiving device can use the counter to independently create its own copies of the first and second diversified session keys. The receiving device can then decrypt the protected data using the second diversified session key, revealing the output of the MAC created by the sending device. The receiving device can then process the resulting data through a MAC operation using the first diversified session key.
[0075] At block 450, the receiving device may use the diversified key with one or more encryption algorithms to verify the protected data.
[0076] The original data may be verified at block 460. If the output of the MAC operation (via the receiving device using the first diversified session key) matches the MAC output revealed by decryption, the data may be considered valid.
[0077] Then, when sensitive data needs to be sent from the sending device to the receiving device, a different counter value can be selected, which generates a different diversified symmetric key. By processing the counter value with the same symmetric encryption algorithm as the master symmetric key, both the sending device and the receiving device can independently generate the same diversified symmetric key. This diversified symmetric key, rather than the master symmetric key, is used to protect the sensitive data.
[0078] As explained above, both the sending device and the receiving device initially each possess a shared master symmetric key. The shared master symmetric key is not used to encrypt the original secret data. The diversified symmetric keys are created independently by both the sending device and the receiving device and are therefore never transmitted between the two parties. Thus, an attacker cannot intercept the diversified symmetric key and the attacker does not see the data processed with the master symmetric key. Only a small counter value, not the secret data, is processed with the master symmetric key. As a result, a reduction in side channel data with respect to the master symmetric key is revealed. Furthermore, the sender and the receiver can agree, for example, by prior arrangement or other means, on how often to create a new diversification value and therefore a new diversified symmetric key. In one embodiment, a new diversification value and therefore a new diversified symmetric key may be created for every exchange between the sending device and the receiving device.
[0079] In some examples, the key diversification value may constitute a counter value. Other non-limiting examples of key diversification values include a random nonce generated each time a new diversified key is needed, a random nonce transmitted from the sending device to the receiving device, the complete value of the counter value transmitted from the sending device and the receiving device, a portion of the counter value transmitted from the sending device and the receiving device, a counter maintained independently by the sending device and the receiving device but not transmitted between the two, a one-time passcode exchanged between the sending device and the receiving device, a cryptographic hash of the secret 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 a key diversification value.
[0080] In other examples, a portion of the counter can be used as the key diversification value. When multiple master key values are shared between the parties, multiple diversified key values can be obtained by the systems and processes described herein. New diversification values, and therefore new diversified symmetric keys, can be created as many times as necessary. In the most secure case, a new diversification value can be created every time sensitive data is exchanged between a sending device and a receiving device. In effect, this can create a one-time use key, such as a single session key.
[0081] In other examples, such as limiting the number of uses of the master symmetric key, the sender at the sending device and the receiver at the receiving device may agree that a new diversification value, and therefore a new diversified symmetric key, will only occur periodically. In one example, this may be after a predetermined number of uses, such as every 10 transmissions between the sending device and the receiving device. In other examples, this may occur after a specific period of time, a specific period of time after transmission, or periodically (e.g., daily at a specified time; weekly at a specified time on a specified day). In other examples, this may be every time the receiving device signals to the sending device that it wishes to change the key in the next communication. This may be controlled based on policy and may vary, for example, depending on the current risk level perceived by the receiver at the receiving device.
[0082] FIG. 5A illustrates one or more contactless cards 500 that 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 may comprise, but is not limited to, an identification card unrelated to a payment card. In some examples, the payment card may comprise a dual-interface contactless payment card. The contactless card 500 may comprise a substrate 510 that may include a single layer or one or more laminate layers composed of plastic, metal, and other materials. Exemplary substrate materials include polyvinyl chloride, polyvinyl chloride acetate, acrylonitrile butadiene styrene, polycarbonate, polyester, anodized titanium, palladium, gold, carbon, paper, and biodegradable materials. In some examples, the contactless card 500 may have physical characteristics that conform to the ID-1 format of the ISO / IEC 7810 standard, or the contactless card may otherwise conform to the ISO / IEC 14443 standard. However, it is understood that contactless cards 500 according to the present disclosure may have different characteristics, and the present disclosure does not require that the contactless card be embodied in a payment card.
[0083] 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 other communication devices, such as a user device, a smartphone, a laptop, desktop, or a tablet computer. The contactless card 500 may also include processing circuitry, an 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 that may be located on the back of the card (not shown in FIG. 5A).
[0084] As shown in Figure 5B, the contact pad 520 of Figure 5A may include processing circuitry 525 for storing and processing information, including a microprocessor 530 and memory 535. It will be understood that the processing circuitry 525 may include additional components including processors, memory, error and parity / CRC checkers, data encoders, anti-collision algorithms, controllers, command decoders, security primitives and anti-tamper hardware as necessary to perform the functions described herein.
[0085] The memory 535 may be a read-only memory, a write-once read multiple memory, or a read / write memory, e.g., RAM, ROM, and EEPROM, and the contactless card 500 may include one or more of these memories. Read-only memory is programmable at the factory as read-only or one-time programmable. One-time programmability offers the opportunity to write once and then read many times. Write-once / read multiple memory can be programmed at some point after the memory chip leaves the factory. Once the memory is programmed, it cannot be rewritten, but it can be read many times. Read / write memory can be programmed and reprogrammed many times after leaving the factory. It may also be read many times.
[0086] 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 run on one or more contactless cards, such as a Java Card applet. However, it is understood that the applet 540 is not limited to a Java Card applet, but may instead be any software application operable on a contactless card or other device having limited memory. The one or more counters 545 may comprise a numeric counter sufficient to store an integer number. The customer identifier 550 may comprise a unique alphanumeric identifier assigned to a user of the contactless card 500, the identifier may distinguish a 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 the customer, and may further identify a contactless card associated with the customer's account.
[0087] Although the processor and memory elements of the foregoing exemplary embodiments are described with reference to contact pads, the disclosure is not limited thereto, and it will be understood that these elements may be implemented outside of the pad 520, completely separate from the pad 520, or as additional elements in addition to the processor 530 and memory 535 elements disposed within the contact pad 520.
[0088] In some examples, the contactless card 500 may include one or more antennas 555. The one or more antennas 555 may be disposed within the contactless card 500 around the processing circuit 525 of the contact pad 520. For example, the one or more antennas 555 may be integral with the processing circuit 525, or 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 circuit 525.
[0089] In one embodiment, the coil of the contactless card 500 can function as the secondary of an air core transformer. The terminal can communicate with the contactless card 500 by interrupting the power or amplitude modulation. The contactless card 500 can infer the data transmitted from the terminal using a gap in the power connection of the contactless card, which can be functionally maintained via one or more capacitors. The contactless card 500 can communicate back by switching or load modulating the load of the coil of the contactless card. Load modulation can be detected at the coil of the terminal by interference.
[0090] As described above, the contactless card 500 may be built on a software platform operable on a smart card or other device with limited memory, such as a Java Card, on which one or more applications or applets may be securely executed. An applet may be added to the contactless card to provide a one-time password (OTP) for multi-factor authentication (MFA) in various mobile application-based use cases. The applet may be configured to respond to one or more requests, such as a near-field data exchange request, from a reader, such as a mobile NFC reader, and generate an NDEF message comprising the cryptographically secure OTP encoded as an NDEF text tag.
[0091] Figure 6 shows an NDEF Short Record Layout (SR=1) 600 according to an exemplary embodiment. One or more applets can be configured to encode the OTP as a well-known type of text tag of NDEF type 4. In some examples, the NDEF message can comprise one or more records. The applet can be configured to add one or more static tag records in addition to the OTP record. Exemplary tags include, but are not limited to, tag type: well-known type, text, English encoding (en); applet ID: D2760000850101; function: read-only access; encoding: the authentication message can be encoded as ASCII hexadecimal; type-length-value (TLV) data can be provided as personalization parameters for generating the NDEF message. In one embodiment, the authentication template can comprise a first record with a known index for providing the actual dynamic authentication data.
[0092] Figure 7 shows a message 710 and a message format 720 according to an exemplary embodiment. In one example, when an additional tag is added, the first byte is changed to indicate the start of the message but does not indicate the end, and subsequent records can be added. Since the ID length is zero, the ID length field and the ID are omitted from the record. Examples of the message include UDK AUT key; derived AUT session key (using 0x00000050); version 1.0; pATC = 0x00000050; RND = 4838FB7DC171B89E; MAC = <calculated 8 bytes>.
[0093] In some examples, the data can be stored on the contactless card during personalization by performing STORE DATA (E2) under the secure channel protocol 2. The personalization bureau can read one or more values from the EMBOSS file (section specified by the applet ID) and send one or more store data commands to the contactless card after authentication and establishment of the secure channel.
[0094] The pUID consists of a 16-digit BCD encoded number. In some examples, the pUID may consist of 14 digits. [Table 1]
[0095] In some examples, one or more applets may be configured to maintain their personalized state and allow personalization only when unlocked and authenticated. Other states may comprise a standard state pre-personalization. Upon entering the exit state, one or more applets may be configured to delete personalized data. In the exit state, one or more applets may be configured to stop responding to all application protocol data unit (APDU) requests.
[0096] One or more applets can be configured to maintain an applet version (2 bytes) that can be used in authentication messages. In some examples, this can be interpreted as a major version in the most significant byte and a minor version in the least significant byte. Rules for each version are configured to interpret the authentication message. For example, for major versions, this can include that each major version has a specific authentication message layout and specific algorithms. For minor versions, this can include no changes to the authentication message or encryption algorithms, no changes to static tag content, in addition to bug fixes, security enhancements, etc.
[0097] 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, various encrypted 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, a token may be sent to a server, such as a back-end server, and the token may be verified at the server.
[0098] In some examples, the contactless card and server may contain specific data so that the card may be properly identified. The contactless card may include one or more unique identifiers. Each time a read operation is performed, a counter may be configured to be updated. In some examples, each time the card is read, it is sent to the server for verification, and (as part of the verification) it is determined whether the counter is equal.
[0099] The counter or counters can be configured to prevent replay attacks. For example, if a ciphertext is captured and replayed, it will be immediately rejected if the counter is read, used, or otherwise passed on. If the counter is not in use, it may be replayed. In some examples, the counter updated on the card is different than the counter updated for the transaction. In some examples, the contactless card may include a first applet, which may be a transaction applet, and a second applet. Each applet may include a counter.
[0100] In some instances, counters may become out of sync between the contactless card and the one or more servers. For example, a contactless card may be activated, a counter updated, and a new communication generated by the contactless card may not be sent for processing by the one or more servers. This may cause the counters of the contactless card and the counters maintained by the one or more servers to become out of sync. This may occur unintentionally, for example, if the card is stored adjacent to the device (e.g., carried in a pocket with the device), if the contactless card is read at an angle, if the card is misaligned or misplaced such that the NFC range of the device is powered but not readable. If the contactless card is placed adjacent to the device, the NFC range of the device may be turned on to power the contactless card and update the counters therein, but the application on the device does not receive the communication.
[0101] To maintain the synchronization of the counter, an application such as a background application can be executed that is configured to detect that the mobile device has woken up, synchronize with one or more servers to indicate that a read has occurred due to the detection, and move the counter forward. Since the counters of the contactless card and one or more servers can become unsynchronized, one or more servers can be configured to allow the counter of the contactless card to be updated by a threshold or a predetermined number of times before the counter of the contactless card is read by one or more servers and still considered valid. For example, if the counter is configured to increment (or decrement) by one each time an occurrence indicating the activation of the contactless card occurs, one or more servers can permit any counter value read from the contactless card as valid, or permit any counter value within a threshold range (e.g., 1 to 10). Further, if one or more servers read a counter value that exceeds 10 but is below another threshold range value (such as 1000), the one or more servers can be configured to require a gesture associated with the contactless card, such as a user tap. If, from the user tap, the counter value is within the target range or the acceptable range, authentication is successful.
[0102] Figure 8 is a flowchart showing a key operation 800 according to an exemplary embodiment. As shown in Figure 8, at block 810, two bank identifier number (BIN) level master keys can be used in combination with an account identifier and a card sequence number to generate two unique derived keys (UDKs) for each card. In some examples, the bank identifier number can comprise one number or a combination of one or more numbers, such as an account number or a non-predictable number provided by one or more servers, and can be used for the generation and / or diversification of the session key. The UDKs (AUTKEY and ENCKEY) can be stored on the card during the personalization process.
[0103] In block 820, the counter can be used as diversification data since it changes with each use, providing a different session key each time, as opposed to the master key derivation where one unique set of keys is generated per card. In some instances, it may be desirable to use a 4-byte scheme for both operations. Thus, in block 820, two session keys may be created per transaction from the UDK: one session key from the AUTKEY and one session key from the ENCKEY. In the card, for MAC keys (i.e., session keys created from the AUTKEY), the lower two bytes of the OTP counter can be used for diversification. For ENC keys (i.e., session keys created from the ENCKEY), the full length of the OTP counter can be used for the ENC key.
[0104] At block 830, the MAC key may be used to prepare a MAC ciphertext, and the ENC key may be used to encrypt the ciphertext. For example, the MAC session key may be used to prepare the ciphertext, and the result may be encrypted with the ENC key before being sent to one or more servers.
[0105] At block 840, two-byte diversification is directly supported in the MAC authentication function of the payment HSM, thus simplifying MAC validation and processing. Decryption of the ciphertext is performed prior to MAC validation. Session keys are independently derived at 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) can be used to decrypt data, and the first derived key (i.e., the MAC session key) can be used to validate the decrypted data.
[0106] In the case of contactless cards, another unique identifier is derived that may be related to the application's Primary Account Number (PAN) and the PAN sequence number encoded on the card. Key diversification may be configured to receive the identifier as an input to 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 MAC ciphers. 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 encrypted data. In some examples, the first and second keys may be created by diversifying the issuer master key by combining them with the card's unique ID number (pUID) and the payment applet's PAN sequence number (PSN). The pUID may comprise a 16-digit number. As explained above, the pUID may comprise a 16-digit BCD encoded number. In some examples, the pUID may comprise a 14-digit number.
[0107] In some cases, the EMV session key derivation method ∧ Since it may wrap around at 16 usage, a counter such as a full 32-bit counter can be added to the initialization array of the diversification method.
[0108] In other examples, such as credit cards, numbers such as account numbers, or unpredictable numbers provided by one or more servers, can be used to generate and / or diversify session keys.
[0109] FIG. 9 illustrates a diagram of a system 900 configured to implement one or more embodiments of the present disclosure. As described below, during the contactless card creation process, two encryption keys may be uniquely assigned to each card. The encryption keys may comprise symmetric keys that can be used to both encrypt and decrypt data. The Triple DES (3DES) algorithm may be used in EMV and is implemented by the contactless card's hardware. A key diversification process may be used to derive one or more keys from a master key based on uniquely identifiable information for each entity that requires a key.
[0110] With regard to master key management, two issuer master keys 905, 910 may be required for each portion of a portfolio in which one or more applets are 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 described further herein, the two issuer master keys 905, 910 are diversified into card master keys 925, 930 that are unique per card. In some examples, the network profile record ID (pNPR) 915 and derived key index (pDKI) 920 as back office data can be used to identify the issuer master key 905, 910 to use in the encryption process for authentication. The system performing the authentication can be configured to look up the pNPR 915 and pDKI 920 values of the contactless card during authentication.
[0111] In some examples, to enhance the security of the solution, a session key (such as a unique key per session) can be obtained, but instead of using a master key, as explained above, a unique key and counter derived from the card can be used as diversification data. For example, a different key can be used to create a message authentication code (MAC) and perform encryption each time the card is used in operation. With regard to generating a session key, the key used to generate the ciphertext and encrypt data in one or more applets can comprise a session key based on the card's unique key (Card-Key-Auth 925 and Card-Key-Dek 930). The session keys (Aut-Session-Key 935 and DEK-Session-Key 940) are generated by one or more applets and are derived using an Application Transaction Counter (pATC) 945 in one or more algorithms. Only the lower two bytes of the four-byte pATC 945 are used to fit the data into one or more algorithms. In some examples, a 4-byte session key derivation method may comprise: F1:=PATC(lowest 2 bytes)||'F0'||'00'||PATC(4 bytes) F1:=PATC(lowest 2 bytes)||'0F'||'00'||PATC(4 bytes) SK:={(ALG(MK)[F1])||ALG(MK)[F2]}, where ALG may include 3DES ECB and MK may include a card unique derived master key.
[0112] As described herein, one or more MAC session keys can be derived using the lower two bytes of the pATC 945 counter. After each tap of the contactless card, the 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 session keys Aut-Session-Key 935 and DEK-Session-Key 940. The pATC 945 can be initialized to zero upon personalization or upon initialization of the applet. In some examples, the pATC counter 945 can be initialized upon or before personalization and configured to increment by one with each NDEF read.
[0113] Additionally, updates for each card are unique, assigned by personalization or algorithmically assigned by the pUID or other identifying information. For example, odd-numbered cards can increment or decrement by 2, and even-numbered cards can increment or decrement by 5. In some examples, updates may also differ in sequential reads, where one card may increment by 1, 3, 5, 2, 2, ... repeatedly. The specific sequence or algorithmic sequence may be defined at the time of personalization or from one or more processes derived from a unique identifier. This may make it difficult for a replay attacker to generalize from a small number of card instances.
[0114] The authentication message may be delivered as the contents of a text NDEF record in hex ASCII format. In some examples, it may include only the authentication data and an 8-byte random number followed by a MAC of the authentication data. In some examples, the random number precedes the ciphertext A and may be one block long. In other examples, there may be no limit to the length of the random number. In further examples, the total data (i.e., the random number and the ciphertext) 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 algorithm employed used 16-byte blocks, a multiple of that block size may be used, or the output may be padded automatically or manually to a multiple of that block size.
[0115] The MAC may be performed by a function key (AUT-Session-Key) 935. The data specified in the ciphertext may be processed with the javacard.signature method:ALG_DES_MAC8_ISO9797_1_M2_ALG3 to associate with the EMV ARQC verification method. The key used for this calculation may comprise a session key AUT-Session-Key 935, as described above. As described above, the lower two bytes of the counter may be used to diversify one or more MAC session keys. As described below, the AUT-Session-Key 935 may be used to MAC data 950, and the resulting data or ciphertext A 955 and the random number RND may be encrypted using the DEK-Session-Key 940 to create the ciphertext B or output 960 that is sent in the message.
[0116] In some examples, one or more HSM commands may be processed for decryption such that the last 16 (binary, 32 hex) bytes comprise a 3DES symmetric encryption using CBC mode with a random zero IV followed by MAC authentication data. The key used for this encryption may comprise a session key DEK-Session-Key 940 derived from Card-Key-DEK 930. In this case, the ATC value for the session key derivation is the least significant byte of counter pATC 945.
[0117] The following format represents an example embodiment of the binary version: Additionally, in some examples, the first byte may be set to an ASCII "A." [Table 2]
[0118] Another exemplary format is shown below: In this example, the tag can be encoded in hexadecimal format. [Table 3]
[0119] The UID field of the received message can be extracted to derive the Card Master Keys (Card-Key-Auth 925 and Card-Key-DEK 930) for that particular card from the master keys Iss-Key-AUTH 905 and Iss-Key-DEK 910. The Card Master Keys (Card-Key-Auth 925 and Card-Key-DEK 930) can be used to derive the Session Keys (Aut-Session-Key 935 and DEK-Session-Key 940) for that particular card using the Counter (pATC) field of the received message. Ciphertext B 960 can be decrypted using the DEK-Session-KEY. This produces ciphertext A 955 and RND, which can be discarded. The UID field can be used to look up the shared secret for the contactless card. This, along with the Ver, UID, and pATC fields of the message, can be processed through an encryption MAC using the recreated Aut-Session-Key to produce a MAC output such as MAC'. If the MAC' is the same as the ciphertext A955, this indicates that the message decryption and MAC checks all passed. Next, read the pATC to determine if it is valid.
[0120] During the authentication session, one or more ciphertexts may be generated by one or more applications. For example, the one or more ciphertexts may be generated as a 3DES MAC using ISO 9797-1 algorithm 3 and method 2 padding over one or more session keys, such as Aut-Session-Key 935. Input data 950 may take the following format: version (2), pUID (8), pATC (4), shared secret (4). In some examples, the numbers in parentheses may comprise the 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 that the random numbers are unpredictable through one or more secure processes. In some examples, the shared secret may comprise a random 4-byte binary number injected into the card at personalization, known by the authentication service. During the authentication session, the shared secret may not be provided to the mobile application from one or more applets. Method 2 padding may include adding mandatory 0x'80' bytes to the end of the input data and adding optional 0x'00' bytes to the end of the result data up to an 8-byte boundary. The resulting ciphertext may be 8 bytes long.
[0121] In some instances, one advantage of using a MAC ciphertext to encrypt an unshared random number as the first block is that it acts as an initialization vector while using the CBC (blockchain) mode of a symmetric encryption algorithm, allowing for "scrambling" between blocks without the need to pre-establish a fixed or dynamic IV.
[0122] By including an application transaction counter (pATC) as part of the data included in the MAC ciphertext, the authentication service can be configured to determine whether values communicated in the clear data have been tampered with. Additionally, by including the version in one or more ciphertexts, it is difficult for an attacker to intentionally misrepresent the version of an application in an attempt to reduce the strength of the encryption solution. In some examples, the pATC may start at zero and be updated by one each time one or more applications generate authentication data. The authentication service can be configured to track the pATC used during an authentication session. In some examples, if the authentication data uses a pATC that is less than or equal to a previous value received by the authentication service, this may be interpreted as an attempt to replay an old message and the authenticated one may be rejected. In some examples, if the pATC is greater than a previously received value, this may be evaluated to determine if it is within an acceptable range or threshold, and if it is above or outside the range or threshold, the verification may be deemed to have failed or unreliable. In MAC operation 936, the data 950 is processed through a MAC using the Aut-Session-Key 935 to produce an encrypted MAC output (ciphertext A) 955.
[0123] It is desirable for the MAC ciphertext A 955 to be encrypted to provide additional protection against brute force attacks that expose the keys on the card. In some examples, the data or ciphertext A 955 included in the ciphertext may comprise a random number (8), ciphertext(8). In some examples, the number in parentheses may comprise the 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 that the random number is unpredictable through one or more secure processes. The key used to encrypt this data may comprise a session key. For example, the session key may comprise a DEK-Session-Key 940. In an encryption operation 941, the data or ciphertext A 955 and RND are processed using the DEK-Session-Key 940 to generate the encrypted data, ciphertext B 960. The data 955 is encrypted using 3DES in cipher block chaining mode to ensure that an attacker needs to perform an attack on all ciphertexts. Other algorithms may be used, such as the Advanced Encryption Standard (AES), as a non-limiting example. In some examples, an initialization vector of 0x'00000000000000000' can be used: correctly decrypted data will be indistinguishable from incorrectly decrypted data because it will appear random, and an attacker attempting to brute force the key used to encrypt this data will be unable to determine when the correct key was used.
[0124] In order for the authentication service to verify one or more cryptograms provided by one or more applets, the following data must be communicated in plaintext from the one or more applets to the mobile device during an authentication session: a version number to determine the cryptographic approach used and a message format for validation of the cryptography, so that the approach can be changed in the future; a pUID to look up the cryptographic asset and derive the card key; and a pATC to derive the session key used for the cryptograms.
[0125] 10 illustrates a method 1000 for generating a ciphertext. For example, at block 1010, a Network Profile Record ID (pNPR) and a Derived Key Index (pDKI) may be used to identify an Issuer Master Key to use in an encryption process for authentication. In some examples, the method may include performing authentication and looking up the values of pNPR and pDKI of a contactless card upon authentication.
[0126] At block 1020, the issuer master keys can 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.
[0127] At block 1030, the Card-Key-Auth and Card-Key-DEK (Unique Card Key) may be created by diversifying the Issuer Master Key to generate a Session Key that may be used to generate a MAC ciphertext.
[0128] At block 1040, the keys used to generate the ciphertext and encrypt the data in one or more applets may comprise the session keys of block 1030 that are based on the card-unique keys (Card-Key-Auth and Card-Key-DEK). In some examples, these session keys are generated by one or more applets and derived using the pATC, resulting in the session keys Aut-Session-Key and DEK-Session-Key.
[0129] 11 shows an example process 1100 illustrating key diversification according to one example. First, the sender and the receiver may be provisioned with two different master keys. For example, the first master key may comprise a data encryption master key and the second master key may comprise a data integrity master key. The sender has other data, such as a counter value that may be updated in block 1110, and the data to be protected that it may ensure is shared with the receiver.
[0130] At block 1120, the counter value may be encrypted by the sender using a data encryption master key to generate a data encryption derived session key, and the counter value may also be encrypted by the sender using a data integrity master key to generate a data integrity derived session key. In some examples, the entire counter value or a portion of the counter value may be used during both encryptions.
[0131] In some examples, the counter value may not be encrypted. In these examples, the counter may be transmitted between the sender and receiver in the clear, i.e., without encryption.
[0132] In block 1130, the data to be protected is processed in a cryptographic MAC operation by the sender using the data integrity session key and a cryptographic MAC algorithm. The protected data, including the plaintext and the shared secret, can be used to generate a MAC using one of the session keys (AUT-Session-Key).
[0133] At block 1140, the data to be protected may be encrypted by the sender using the Data Encryption Derived Session Key in combination with a symmetric encryption algorithm. In some examples, the MAC is combined with an equal amount of random data, e.g., each 8 bytes in length, and encrypted using a second session key (DEK-Session-Key).
[0134] At block 1150, the encrypted MAC is transmitted from the sender to the receiver along with sufficient information to identify additional secret information (eg, a shared secret, a master key, etc.) for verification of the ciphertext.
[0135] At block 1160, the recipient uses the received counter value to independently derive two derived session keys from the two master keys, as described above.
[0136] In block 1170, the data encryption derived session key is used in combination with a symmetric decryption operation to decrypt the protected data. Additional processing is then performed on the exchanged data. In some instances, after the MAC is extracted, it may be desirable to recreate and match the MAC. For example, when verifying the ciphertext, it may be decrypted using a properly generated session key. The protected data may be reconstructed for verification. A MAC operation may be performed using a properly generated session key to determine if it matches the decrypted MAC. Since the MAC operation is an irreversible process, the only way to verify is to attempt to recreate it from the source data.
[0137] At block 1180, the data integrity derived session key is used in combination with a cryptographic MAC operation to verify that the protected data has not been altered.
[0138] Some examples of the methods described herein can advantageously ascertain when successful authentication is determined when the following conditions are met: First, the ability to verify the MAC indicates that the derived session key is proper. The MAC can only be correct if decryption is successful, resulting in a proper MAC value. Successful decryption can indicate that a correctly derived encryption key was used to decrypt the encrypted MAC. Because the derived session key is created using a master key known only to the sender (e.g., the sending device) and the receiver (e.g., the receiving device), the contactless card that originally created and encrypted the MAC can be trusted to be in fact genuine. Additionally, the counter values used to derive the first and second session keys can be shown to be valid and can be used to perform the authentication operation.
[0139] The two derived session keys may then be discarded, the next iteration of the data exchange may 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.
[0140] Exemplary embodiments of the systems and methods described herein may be configured to provide security element authentication. Security element authentication may comprise multiple processes. As part of security element authentication, a first process may comprise logging in and verifying a user via one or more applications running on the device. As a second process, the user may engage in one or more actions associated with one or more contactless cards in response to successful login and verification of the first process via the one or more applications. Effectively, security element authentication may include both securely proving the identity of the user and engaging in one or more types of actions, 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 the device. In some examples, the device may comprise a mobile device, a kiosk, a terminal, a tablet, or any other device configured to process received tap gestures.
[0141] In some examples, the contactless card may be tapped to a device, such as one or more computer kiosks or terminals, to verify identity in order to receive a transaction item in response to a purchase, such as a coffee. The use of the contactless card may establish a secure method of proving identity in a loyalty program. For example, securely proving identity to obtain rewards, coupons, offers, etc., or to receive benefits is established in a manner different than simply scanning a bar card. For example, an encrypted transaction may occur between the contactless card and the device, which may be configured to process one or more tap gestures. As described above, one or more applications may be configured to verify the user's identity and then have the user act or respond thereto, for example, via one or more tap gestures. In some examples, data, such as, for example, bonus points, loyalty points, reward points, health care information, etc., may be written back to the contactless card.
[0142] In some examples, the contactless card may be tapped to a device, such as a mobile device. As described above, the user's identity may be verified by one or more applications, which will then grant the user a desired benefit based on the verification of identity.
[0143] In some examples, a contactless card may be activated by tapping a device, such as a mobile device. For example, the contactless card may communicate with an application on the device through a card reader on the device via NFC communication. In communication where the tap of the card is in proximity to the card reader on the device, the application on the device may read data associated with the contactless card and activate the card. In some examples, the activation may allow the card to be used to perform other functions, such as making purchases, accessing accounts or restricted information, or other functions. In some examples, the tap may activate or launch an application on the device, which may 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, tapping the contactless card in proximity to the card reader may initiate a download of the application, such as navigation to a download page for the application. Following installation, tapping the contactless card may activate or launch the application, which may then initiate activation of the contactless card, for example, via the application or other back-end communications. After activation, the contactless card may be used in a variety of activities, including, but not limited to, commercial transactions.
[0144] In some embodiments, a dedicated application can be configured to execute on a client device to perform the activation of a contactless card. In other embodiments, a web portal, a web-based application, an applet, etc. can execute the activation. The activation can be performed on the client device or the client device can function as an intermediary between the contactless card and an external device (e.g., an account server). According to some embodiments, when providing the activation, the application can indicate to the account server the type of device (e.g., a personal computer, a smartphone, a tablet, or a point-of-sale (POS) device) on which the activation is being performed. Further, the application can output different and / or additional data to the account server for transmission depending on the type of device involved. For example, such data can include information related to the merchant such as merchant type, merchant ID, and information related to the device type itself such as POS data and POS ID.
[0145] In some embodiments, the exemplary authentication communication protocol may mimic, with some modifications, the EMV standard offline dynamic data authentication protocol typically performed between a transaction card and a point-of-sale device. For example, the exemplary authentication protocol may not be used to complete a payment transaction with the card issuer / payment processor itself, and therefore some data values are unnecessary, and may perform authentication without requiring a real-time online connection to the card issuer / payment processor. As known in the art, a point-of-sale (POS) system submits a transaction to a card issuer, including a transaction amount. Whether the issuer approves or rejects the transaction may be based on whether the card issuer recognizes the transaction amount. On the other hand, in certain embodiments of the present disclosure, transactions originating from a mobile device lack a transaction amount associated with the POS system. Thus, in some embodiments, a dummy transaction amount (i.e., a value that is recognizable to the card issuer and sufficient for activation to occur) may be passed as part of the exemplary authentication communication protocol. POS-based transactions may also reject transactions based on the number of transaction attempts (e.g., a transaction counter). Multiple attempts beyond a buffer value may result in a gradual decay. A gradual decay requires further validation before accepting the transaction. In some implementations, a buffer value of the transaction counter may be altered to avoid attrition of legitimate transactions.
[0146] In some examples, contactless cards can selectively communicate information depending on the recipient's device. When a contactless card is tapped, it can recognize the device that the tap is directed to, and based on this recognition, the contactless card can provide the appropriate data for that device. This makes it advantageous for the contactless card to transmit only the information necessary to complete an immediate 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. Recognizing and selectively communicating information can be applied in a variety of scenarios, including card activation, balance transfers, account access attempts, commerce transactions, and reducing step-up fraud.
[0147] If the contactless card tap is directed at a device running Apple's iOS® operating system, such as an iPhone®, iPod®, or iPad®, the contactless card can recognize the iOS® operating system and transmit the appropriate data to communicate with the device. For example, the contactless card can provide the encrypted identity information required to authenticate the card using an NDEF tag, for example, via NFC. Similarly, if the contactless card tap is directed at a device running the Android® operating system, such as an Android® smartphone or tablet, the contactless card can recognize the Android® operating system and transmit the appropriate data to communicate with the device (such as the encrypted identity information required for authentication according to the methods described herein).
[0148] As another example, a contactless card tap can be directed to a point-of-sale device, including, but not limited to, a kiosk, checkout register, payment station, or other terminal. Upon performing the tap, the contactless card can recognize the point-of-sale device and transmit only the information required for the action or transaction. For example, upon recognizing the point-of-sale device used to complete a commercial transaction, the contactless card can communicate the payment information required to complete the transaction under the EMV standard.
[0149] In some examples, a POS device participating in a transaction can request or specify additional information provided by the contactless card, such as device-specific information, location-specific information, and transaction-specific information. For example, when a POS device receives a data communication from a contactless card, the POS device can request additional information necessary to recognize the contactless card and complete an action or transaction.
[0150] In some examples, the POS device may be affiliated with an authorized merchant or other entity familiar with particular contactless cards or accustomed to performing particular contactless card transactions, although it will be understood that such an affiliation is not required for performance of the described methods.
[0151] In some instances, such as shopping stores, grocery stores, convenience stores, etc., a contactless card can be tapped to a mobile device without having to open an application to indicate a desire or intent to redeem one or more reward points, loyalty points, coupons, offers, etc. to cover one or more purchases, thus providing the intent behind the purchase.
[0152] In some examples, one or more applications may be configured to determine that they were launched via one or more tap gestures of a contactless card, such that they were launched at 3:51 PM and a transaction was processed or performed at 3:56 PM to verify the identity of a user.
[0153] In some examples, the one or more applications may be configured to control one or more actions in response to one or more tap gestures. For example, the one or more actions may comprise collecting rewards, collecting points, determining the most important purchases, determining the least expensive purchases, and / or reconfiguring to other actions in real time.
[0154] In some examples, data may be collected about tapping behavior as biometric / gesture authentication. For example, a cryptographically secure and hard to intercept unique identifier may be transmitted to one or more backend services. The unique identifier may be configured to retrieve secondary information about the individual. The secondary information may comprise personally identifiable information about the user. In some examples, the secondary information may be stored within a contactless card.
[0155] In some examples, the device may include an application to split a bill or check a payment among multiple individuals. For example, each individual may own a contactless card and be a customer of the same issuing financial institution, but this is not required. Each of these individuals may receive a push notification on the 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 with different financial institutions may own contactless cards to provide information to initiate one or more payment requests from the individual tapping the card.
[0156] The following use case examples describe examples of specific implementations of the present disclosure. They are for illustrative purposes only and not for limitation. In one case, a first friend (payer) owes an amount to a second friend (payee). The payer makes the payment via the payee's smartphone (or other device) using a contactless card, rather than visiting an ATM or requesting an exchange via a peer-to-peer application. The payee logs onto an appropriate application on the smartphone and selects a payment request option. In response, the application requests authentication via the payee's contactless card. For example, the application outputs a display requesting the payee to tap the contactless card. With the application enabled, when the payee taps the contactless card against the smartphone screen, the contactless card is read and verified. The application then displays a prompt requesting the payer to tap the contactless card to send the payment. When the payer taps the contactless card, the application reads the card information and, via an associated processor, sends a payment request to the payer's card issuer. The card issuer processes the transaction and sends a status indicator of the transaction to the smartphone. The application then outputs a status indicator of the transaction for display.
[0157] In another example, a credit card customer may receive a new credit card (or debit card, other payment card, or other card that needs to be activated) in the mail. Rather than activating the card by calling a provided phone number associated with the card issuer or visiting a website, the customer may decide to activate the card via an application on their device (e.g., a mobile device such as a smartphone). The customer may select a card activation function from a menu of the application that appears on the device's display. The application may prompt the customer to tap the credit card against the screen. Upon tapping the credit card against the device's screen, the application may be configured to communicate with a server, such as a card issuing server, that activates the customer's card. The application may then display a message indicating that the card activation was successful. Card activation is now complete.
[0158] 12 illustrates a method 1200 for card activation according to an exemplary embodiment. For example, card activation can be completed by a system including a card, a device, and one or more servers. The contactless card, device, and one or more servers can refer to the same or similar components as those described above with reference to FIGS. 1A, 1B, 5A, and 5B, such as the contactless card 105, the client device 110, and the server 120.
[0159] At block 1210, the card may be configured to dynamically generate data. In some examples, this data may include information such as an account number, a card identifier, a card verification value, or a 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.
[0160] At block 1220, one or more portions of the dynamically generated data may be communicated to an application on the device via NFC or other wireless communication. For example, tapping the card in proximity to the device may enable an application on the device to read one or more portions of data associated with the contactless card. In some examples, if the device does not include an application to assist with card activation, tapping the card may prompt the customer to a software application store to download an associated application to activate the card, or to direct the device. In some examples, the user may be prompted to sufficiently gesture, position, or orient the card, such as to point the card at an angle or flat, close to, or in close proximity to the surface of the device, toward the surface of the device. In response to sufficient gesture, position, and / or orientation of the card, the device may begin transmitting one or more encrypted portions of the data received from the card to one or more servers.
[0161] At 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, the one or more encrypted portions of the data may be sent from the device to a card issuer server for card activation.
[0162] At 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 decrypt it to compare the received data and record the data accessible to the one or more servers. If the comparison of the results of the one or more decrypted portions of the data by the one or more servers results in a successful match, the card may be activated. If the comparison of the results of the one or more decrypted portions of the data by the one or more servers results in a failed match, one or more processes may be performed. For example, in response to a determination of a failed match, the user may be prompted to tap, swipe, or wave the card again. In this case, there may be a predetermined threshold comprising the number of attempts that the user is allowed to activate the card. Alternatively, the user may receive a notification on the device, such as a message indicating that the card verification attempt has failed, and send a call, email, or text message to an associated service for assistance in activating the card, or receive other notification on the device, such as a call indicating that the card verification attempt has failed, and send a call, email, or text message to an associated service for assistance in activating the card, or receive other notification, such as an email indicating that the card verification attempt has failed, and send a call, email, or text message to an associated service for assistance in activating the card.
[0163] At block 1250, the one or more servers may send a return message based on successful activation of the card. For example, the device may be configured to receive an output from the one or more servers indicating 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 is activated, the card may be configured to cease dynamic generation of data to avoid fraudulent use. In this manner, the card may not be subsequently activated and the one or more servers are notified that the card has already been activated.
[0164] In another example case, a customer wants to access his / her financial account on his / her mobile phone. The customer launches an application (e.g., a banking application) on the mobile device and enters a username and password. At this stage, the customer may review first level account information (e.g., recent purchases) and perform first level account options (e.g., credit card payments). However, if the user wants to access second level account information (e.g., spending limits) or perform second level account options (e.g., transfer to an external system), second factor authentication is required. Thus, the application requests that the user provide a transaction card (e.g., credit card) for account validation. The user then taps his / her credit card to the mobile device and the application verifies that the credit card corresponds to the user's account. The user may then view second level account data and / or perform second level account functions.
[0165] The challenge in achieving communication between two devices via NFC is ensuring that the devices are close enough together and that their respective antennas are properly positioned for communication. Improper card alignment may result in partial communication, interrupted communication, and / or a complete failure of the communication attempt. The systems and methods disclosed herein may be configured to utilize proximity-based receive feedback and display a signal strength indicator based on the receive feedback to the user to guide the contactless card to a proper location for NFC communication. In some examples, the systems and methods may use the NFC signal strength indication between the contactless card and a communication device, such as a mobile phone, to guide one or more contactless consumer interactions, including but not limited to activating the contactless card.
[0166] When an NFC-enabled device, such as a contactless card, is brought into one or more magnetic fields of a mobile phone or other communication device, the magnetic field may be distorted and energy may be consumed. In some examples, the systems and methods disclosed herein describe how to use this information to estimate the proximity of a contactless card or other NFC-enabled device to a mobile phone. As described below, in the context of an NFC-restricted device, including but not limited to an iOS® device, a contactless card may be placed on the front of the phone to perform one or more reads of the NDEF tag generated by the contactless card. The phone may obtain data such as directional information regarding distortions to the magnetic field and the power drawn from the magnetic field. This data may be used to estimate the position of the contactless card in three-dimensional space relative to the phone.
[0167] 13 illustrates a sensor system 1300 configured to utilize received feedback and display a signal strength indicator to a user via a user interface of the device to guide the contactless card based on the feedback, according to an exemplary embodiment. As described further below, the system 1300 may include a contactless card 1310, a client device 1320, and one or more networks 1340. Although FIG. 13 illustrates a single instance of the components, the system 1300 may include any number of components.
[0168] The system 1300 may include one or more contactless cards 1310. In some examples, the contactless cards 1310 may be in wireless communication, e.g., NFC communication, with a client device 1320. The contactless cards 1310 may refer to the same or similar components of the contactless cards shown in Figures 5A and 5B. In some examples, the contactless cards 1310 may include a substrate, a processor, and a memory including at least one applet.
[0169] The system 1300 may include a client device 1320. The client device 1320 may refer to the same or similar components of the client devices shown in Figures 1A and 1B. The client device 1320 may also include one or more sensors 1325 that communicate with one or more applications 1330. The one or more sensors 1325 may include one or more proximity sensors.
[0170] The system 1300 may include one or more networks 1340. The one or more networks 1340 may refer to the same or similar components of the networks shown in FIG. 1A. The one or more networks 1340 may include direct communication between the contactless card 1310 and the client device 1320 via NFC, for example.
[0171] The client device 1320 may be configured to include one or more applications 1330 that visually guide the user as to where and how to place the contactless card 1310 relative to one or more surfaces of the client device 1320 to enable communication over one or more networks 1340 between the contactless card 1310 and the client device 1320. In some examples, the visual guidance may be based on at least one of distance information and direction information. For example, the client device 1320 may be placed parallel, sufficiently parallel, flat, or sufficiently flat on a surface of an object, including, but not limited to, a table, desk, chair, or the user's hand. Although not required, the user may preferably be prompted, via the one or more applications 1330, to place the contactless card 1310 sufficiently flat on the surface of the client device 1320 to obtain a reading of the NDEF tag of the contactless card 1310. The client device 1320 may be configured to display, via a user interface associated with one or more applications 1330, how close or how far the contactless card 1310 should be placed relative to one or more surfaces of the client device 1320 in response to receiving feedback from the contactless card 1310, such as proximity information via one or more proximity sensors 1325. In some examples, the proximity information may comprise a tilt angle between one or more planes of the contactless card 1310 and one or more planes of the client device 1320. In other examples, three-dimensional alignment information (e.g., pitch, roll, yaw) describing a relationship between one or more planes of the contactless card 1310 and one or more planes of the client device 1320 may be included in the proximity information.
[0172] In some examples, the NFC strength signal received by the client device 1320 may be categorized and displayed as one of a number of types. For example, the received signal strength may comprise a first type that may indicate no signal. In this case, it may be uncertain whether an interaction between the contactless card 1310 and the client device 1320 has begun. In other examples, the received signal strength may comprise a second type that may indicate a weak signal, which may indicate that the contactless card 1310 is in the process of moving it closer to the client device 1320. In other examples, the received signal strength may comprise a third type that may indicate a strong signal, which may indicate a contactless card 1310 that has been placed sufficiently flat on one or more surfaces of the client device 1320. Each type of signal strength may be represented by text, an icon, a color, and / or any combination thereof.
[0173] In some examples, the signal strength reading may not be an instantaneous reading, but rather a transition from a first type to a second type, or from a second type to a third type, or from a third type to a second type, or from a first type to a third type, or from a third type to a first type. For example, a history of signal strength, such as a frequency reading, may be analyzed to effect one or more transitions.
[0174] In some examples, one or more haptic feedback parameters may be utilized during placement and / or orientation of the contactless card 1310 relative to the client device 1320. For example, the one or more haptic feedback parameters may comprise audible feedback and / or kinetic feedback, such as a sound and / or vibration, indicating how close the contactless card 1310 is relative to the client device 1320 and / or where and how to place the contactless card 1310 relative to the client device 1320. The vibration feedback may include a stronger buzz or vibration when the contactless card 1310 is placed closer to the client device 1320, which may facilitate movement for sufficient placement and orientation of the contactless card 1310. Conversely, the vibration feedback may include a weaker buzz or vibration when the contactless card 1310 is placed further away from the client device 1320, which may facilitate movement or adjustment for sufficient placement and orientation of the contactless card 1310. In other examples, a contactless card 1310 touching at least a portion or the entire screen of a client device 1320 may be registered as a touch event, similar to when a finger touches the screen of a client device 1320.
[0175] In some examples, the orientation and / or positioning of the contactless card 1310 may be derived by sensor fusion via one or more sensors 1325.
[0176] In some examples, the client device 1320 may be configured to read the contactless card 1310 in either a horizontal or vertical manner based on whether the client device 1320 has a lock screen display on the client device 1320, enabled or disabled.
[0177] FIG. 14 illustrates a client device 1400 displaying one or more applications, according to an exemplary embodiment. In some examples, the client device 1400 may be the same as or similar to at least one of the one or more client devices 1320 of FIG. 13, and the one or more applications may be similar to at least one of the one or more applications 1330 of FIG. 13. The one or more applications of the client device may be configured to visually guide how and where to place a contactless card relative to one or more surfaces of the client device to enable communication over one or more networks. The contactless card described with reference to FIG. 14 may be the same as or similar to the contactless card 1310 of FIG. 13. The one or more networks described with reference to FIG. 14 may be the same as or similar to the one or more networks 1340 of FIG. 13.
[0178] The one or more applications on the client device may be configured to display one or more icons and / or one or more text segments, each of which may be dynamically generated and modified in real time in response to the placement, distance, and / or orientation of the contactless card relative to the client device. In some examples, the one or more icons may include a bar, such as a growing bar, that indicates the placement and location of the contactless card relative to the screen of the client device. In some examples, the animation and / or appearance of the bar may indicate sufficient placement and location relative to the client device.
[0179] Depending on the placement of the contactless card, the bar may dynamically change appearance or color. For example, if the contactless card is placed insufficiently close to the client device, the bar may animate and / or comprise a red color. When the contactless card is placed closer to the client device, the bar may animate again and / or comprise a yellow color. This may indicate insufficient placement of the contactless card, but closer than the red indication. When the contactless card is placed even closer to the client device, the bar may animate again and / or comprise a green color. This may indicate successful or sufficient placement of the contactless card. Other colors, arrows, icons, text, shades may be used.
[0180] In some examples, the one or more icons may indicate the status of the contactless card in the process of being read, such as a read in progress and / or a do not disturb notification, in which case the one or more icons may be dynamically generated and changed in real time depending on the placement, distance, and / or orientation of the contactless card relative to the client device 1400.
[0181] Returning to FIG. 14, the client device 1400 may display one or more applications including a targeting box 1410 that may be indicated with one or more dashed lines, although it is understood that other lines or shapes may be used instead of dashed lines (e.g., solid lines, circles, triangles, squares, ovals, ellipses). The targeting box 1410 may comprise a perimeter or displayed area of the screen of the client device such that the box indicates where to place the contactless card including one or more edges of the contactless card. In some examples, the targeting box 1410 may visually indicate all edges and a boundary for placing the contactless card on or within it. In other examples, the targeting box 1410 may visually indicate a boundary for placing less than all edges of the contactless card, for example, one edge, two edges, or three edges. For example, the targeting box 1410 may display one edge of a contactless card at a time, multiple edges at a time (e.g., two parallel lengthwise edges, two parallel widthwise edges, and / or two edges forming a corner), or all edges at a time. The targeting box 1410 may have a rectangular or square shape, but other shapes may be used, including but not limited to an oval or elliptical shape, or any other shape that corresponds to the shape of a contactless card.
[0182] In some examples, the targeting box 1410 may not include text placed therein. In other examples, as shown in FIG. 14, the targeting box 1410 may include text or a graphic, such as text 1420. For example, the screenshot 1400 may include additional text or a graphic, such as text 1430, or guidance to guide the user how to place the card, such as "Place the card flat against the top guide" and "Then press the button to read the card." In some examples, one or more of the text or graphic 1420 and the text or graphic 1430 may include directional information, such as one or more arrows, icons, or text represented in different colors and / or shading, indicating that the contactless card will move down, up, left, right, in, out, or combinations thereof, as part of a desired or required sequence. In some examples, the contactless card may be facing forward when placed on the screen of the client device so that the chip mark 1440 and logo 1450 of the institution issuing the contactless card may be displayed within the targeting box 1410 to assist in guidance and indication of placement and / or positioning of the contactless card.
[0183] In some examples, one or more applications of the client device 1400 may include a button or soft button, such as button 1460, to trigger one or more reads, such as an NFC read, of the NDEF tag of the contactless card. In some examples, the button 1460 may be grayed out or not clickable if the contactless card is not in sufficient proximity to the client device. In other examples, the button 1460 may be grayed out or not clickable when the contactless card has reached or exceeded a maximum number of attempts to place it on the client device. Thus, the button 1460 may also provide feedback regarding the positioning, gesture, and / or adjustment of the contactless card in relation to the text 1420, 1430 and / or logo 1450. In response to clicking the button 1460, one or more interactions may be processed, including, but not limited to, activation of the contactless card or a transaction involving the contactless card.
[0184] In some examples, the targeting box may be generated by ideal alignment based on information of the contactless card / mobile device combination. For example, the targeting box 1410 may be generated based on the type of client device and the type of contactless card. Initially, the device type may be known to the client device 1400 or may be established during installation or execution of one or more applications. The client device 1400 may further determine the type of contactless card by searching a database of contactless card types using the antenna configuration of the client device 1400 and signals received by the antenna of the device. This may be performed using one or more antenna beacon applets configured to generate a custom NDEF request signal that the client device 1400 may query. Once the contactless card type and device type are identified, the optimal reading direction of the contactless card may be determined.
[0185] 14 shows an application presenting a particular visual design and format, but the disclosure is not limited thereto. It is understood that the application may present any visual design and format, provided that the design is accompanied by the features and functionality described herein. Exemplary decorative visual designs include, but are not limited to, the card communication displays shown in U.S. Design Patent Application Nos. 29 / 665,233 and 29 / 678,464, the contents of which are incorporated herein by reference in their entirety.
[0186] Additionally, the present disclosure is not limited to placement of a contactless card in front of a client device, or gestures with a contactless card. It is understood that a contactless card may be placed or gestured in front, behind, and to the side of a client device, or a combination of such positions or gestures. In some examples, a client device may be configured to read a contactless card in either a horizontal or vertical manner based on whether the client device has, enabled, or disabled a client device lock screen display.
[0187] 15 illustrates a method 1500 for utilizing received feedback and displaying a signal strength indicator to a user via a user interface of a device for positioning a contactless card based on the feedback, according to an exemplary embodiment. In some examples, FIG. 15 may reference one or more components of the system of FIG. 13, including one or more of the same or similar contactless cards, client devices, and networks of FIG. 13, as well as one or more applications of the client device of FIG. 14.
[0188] At block 1510, the contactless card may be placed near the client device to initiate an NDEF read of the contactless card's tag. For example, communication may be established between the contactless card and the client device over one or more networks.
[0189] At block 1520, the proximity information may be received via one or more sensors of the client device. The client device may be configured to display via a user interface associated with one or more applications in response to receiving feedback from the contactless card, such as the proximity information via the one or more proximity sensors, how close or far the contactless card needs to be placed relative to one or more surfaces of the client device. In some examples, the interface may be the same as or similar to that described above with reference to FIGS. 13 and 14.
[0190] In some examples, the signal strength reading may not be an instantaneous reading, but rather a transition from a first type to a second type, or from a second type to a third type, or from a third type to a second type, or from a first type to a third type, or from a third type to a first type. For example, a history of signal strength, such as a frequency reading, may be analyzed to effect one or more transitions.
[0191] At block 1530, one or more instructions may be dynamically generated based on the received proximity information of block 1520. One or more applications on the client device may be configured to visually guide or instruct the location and method of the contactless card. For example, the guidance and instructions may be provided in the same or similar manner as discussed above with reference to Figures 13 and 14.
[0192] At block 1540, the position and / or orientation of the contactless card may be adjusted based on one or more dynamically generated instructions. For example, one or more applications on the client device may present a targeting box, which may be indicated with one or more dashed lines, as described above with reference to Figures 13 and 14, although other shapes may be used in place of the dashed lines.
[0193] At block 1550, an NDEF read of the contactless card's tag may be performed after determining a sufficient position and / or orientation of the contactless card. In some examples, one or more applications on the client device may include a button, such as a button, to trigger one or more reads, such as an NFC read, of the contactless card's NDEF tag. In some examples, the button may provide guidance or instructions, such as those described above with reference to FIGS. 13 and 14.
[0194] In some examples, the method 1500 may repeat blocks 1520, 1530, and 1540 as the contactless card is placed or gestured. This repetition may continue throughout the placement and gesture of the contactless card.
[0195] The NFC antenna is a coil inductor, connected to ground along with a capacitor to form a parallel resonant circuit. Maximum power transfer occurs when the resonant frequencies of the active and passive device antennas are the same. Since active NFC devices (e.g. mobile devices) operate at 13.56MHz, the antenna of the passive device (e.g. contactless card) must also resonate at that frequency. In addition to the resonant frequency, the size and shape of the antenna are also important. For example, two similarly shaped antennas will result in more power transfer than two different antennas.
[0196] As a result, an ideal alignment of the contactless card and the client device is achieved based on the relative sizes and shapes of the mobile device antenna and the contactless card antenna, and the power transfer that occurs between the two is also maximized, improving the stability of data reading and data communication between the two. In various exemplary embodiments, the contactless card may include two antennas that may be used to position the contactless card according to the ideal alignment. In these examples, the two antennas may be different types of antennas and / or have different ranges. For example, one of the antennas may be integrated into and / or located near the contact pad of the contactless card in a manner similar to that shown and described in Figures 5A and 5B. In some embodiments, a second antenna may also be integrated into and / or located near the contact pad of the contactless card or elsewhere on the card to improve the triangulation of the position between the contactless card and the mobile device by providing a second perspective. According to these embodiments, the first and second antennas may be separated by a distance. These first and second antennas may also have different shapes and sizes, which may affect the power transfer and data communication between the contactless card antenna and the mobile device antenna.
[0197] Using information regarding the type and range of the contactless card antenna and the device antenna, the device may be pre-programmed with an ideal read alignment between the contactless card and a particular mobile device antenna. As an example, each of the first and second antennas may have several loops, the number of loops of which may affect the distance and orientation of the contactless card relative to the mobile device, as well as the recognition of signals transmitted between the contactless card and the mobile device. It is understood that the sensitivity of the antenna with respect to distance, orientation, and signal recognition may increase as the number of loops increases, and the number of loops that make up each antenna is taken into consideration when pre-programming the device with the ideal read alignment.
[0198] In various embodiments, the ideal read alignment may be preprogrammed into an application (e.g., application 122) of a client device (e.g., client device 110) in such a way that, for example, when the application is installed on the client device, the ideal alignment is also installed. As described above, the client device may comprise a mobile device. For example, if the mobile device is an iPhone and the mobile application is associated with an entity that issues contactless cards, the entity's iPhone application may include antenna types for various iPhones with NFC capabilities (e.g., iPhone 6, iPhone X, etc.) and the antenna types for each contactless card issued by the entity. When a user logs into the application, the application may obtain the user's particular card antenna and use the card antenna to determine the ideal alignment based on the particular iPhone on which the application runs. As described in more detail below, when a user brings a contactless card close to the mobile device, the application may use the ideal alignment, alone or in combination with other software on the mobile device, to determine whether the card is in the correct position. If not, the application may use the ideal alignment information of the contactless card / mobile device combination to guide the user to the correct location.
[0199] In some exemplary embodiments, one or more cameras integrated into the mobile device may also be used to guide the contactless card to its ideal position. For example, the front and / or rear cameras of the mobile device may be used to triangulate the position of the contactless card relative to the mobile device. In such embodiments, the front and / or rear cameras may be active when the contactless card is placed in a predetermined position and may calculate the position of the card, for example, by calculating the proportions and size of the card in the image and a pre-programmed size of the actual card that can be used as a reference to estimate the distance. The front and / or rear cameras may be used to visually inspect the image of the card to understand its orientation and, for example, match the key markers of the contactless card with the stored image of the card.
[0200] Returning to the figures, FIG. 16 illustrates a contactless card 1600, which may be similar to the contactless card shown and described in FIGS. 5A and 5B. For example, the contactless card 1600 may include a contact pad 1620, which may include an antenna 1655, which may be similar to the antenna 555 and disposed around the processing circuitry of the contact pad 1620. The contactless card may also include one or more additional antennas 1660, which may be disposed within other layers of the contactless card 16000 than the antenna 1655. In various embodiments, the antenna 1660 may be similar in size and shape to the antenna 1655, for example, but may be disposed elsewhere on the contactless card 1660. The antenna 1660 may also be different in size and shape, for example, disposed within a portion of the contactless card 1600 and / or around one or more edges of the contactless card 1600.
[0201] In various embodiments, antenna 1655 and antenna 1660 may be different types of antennas and / or have different ranges. Additionally, one of the antennas, 1655, may function as a primary antenna used to communicate data with a mobile device. When one antenna functions as a primary antenna, the other antenna may be used to guide the contactless card 1600 to the correct position in a manner that creates an ideal alignment for communicating with the mobile device via the primary antenna. Each of the antennas may have a different range, and by reading the signal strength of both antennas, such as a high-power antenna and a low-power antenna, the mobile device may guide the contactless card, for example, by indicating on the mobile device that the card is too close or too far away and / or not oriented correctly.
[0202] 17 illustrates an example method 1700 for using a contactless card antenna to guide a contactless card into an ideal alignment with a client device. Based on the relative size and shape of the mobile device antenna and the contactless card antenna, there is an ideal alignment of the contactless card to the mobile device that maximizes the power transfer that occurs between the contactless card and the client device. Using information about the type and range of the contactless card antenna and the device antenna, the device can be pre-programmed with an ideal read alignment between the contactless card and a particular mobile device antenna that can be used to guide the contactless card into an ideal position to maximize power transfer.
[0203] Method 1700 may begin at block 1702. At block 1704, ideal alignment parameters for a contactless card and client device combination may be stored. In various embodiments, the ideal read alignment may be pre-programmed into an application (e.g., application 122) of a client device (e.g., client device 110) in such a way that, for example, when the application is installed on the mobile device, the ideal alignment is also installed. For example, if the mobile device is an iPhone and the mobile application is associated with an entity that issues contactless cards, the entity's iPhone application may include antenna types for various iPhones with NFC capabilities (e.g., iPhone 6, iPhone X, etc.) and antenna types for each contactless card issued by the entity. When a user logs into the application on a client device, the application may obtain the user's particular card antenna and use the card antenna to determine the ideal alignment based on the particular iPhone on which the application is executed. Other methods for storing the ideal alignment parameters may be used. For example, an application on a client device may store information about antennas included in contactless cards associated with a user of the client device and antennas of multiple client devices. Once the client device determines which cards are coupled to the client device, this information may be used by the client device to determine ideal alignment parameters for a particular card.
[0204] At block 1706, the client device detects a signal from at least one of the contactless card antennas. In some embodiments, the client device may use an NFC reader to detect a signal from one of the antennas on the contactless card. In some examples, the presence of a signal strength from one of the contactless card antennas may help indicate that the card is within range but not in an ideal alignment position for maximizing power transfer. In some examples, as described in more detail below, the application may use the signal strength from one antenna to guide the contactless card to an ideal alignment position. If the client device detects a signal from at least one of the contactless card antennas at block 1706, method 1700 may proceed to block 1708. If the client device does not detect a signal from at least one of the contactless card antennas at block 1706, method 1700 may return to block 1706.
[0205] At block 1708, the client device may initiate a guidance application to guide the contactless card to its ideal alignment position. In some examples, the guidance application may guide the contactless card in a manner similar to the guidance model shown and described in FIG. 14. The client device continues to detect the signal strength from the antenna of the contactless card and may use the ideal alignment parameters of the combination of the contactless card and the client device to guide the contactless card to an ideal alignment position as described herein.
[0206] At block 1710, the client device detects a signal from the second contactless card antenna. In some embodiments, the client device may use an NFC reader to detect a signal from the second antenna on the contactless card. In some examples, the presence of signal strength from the second antenna on the contactless card may help indicate that the card is close to an ideal alignment position, but is not yet at an ideal alignment position for maximizing power transfer. In some examples, the signal strength from the second antenna, along with or in combination with signals from other antennas, may be used by an application to guide the contactless card to its ideal alignment position. If the client device detects a signal from the second contactless card antenna at block 1710, the method 1700 may proceed to block 1712. If the client device does not detect a signal from the second contactless card antenna at block 1710, the method 1700 may return to block 1710.
[0207] At block 1712, the client device can guide the contactless card to an ideal alignment position, for example, using the respective signal strengths from the first and second antennas on the contactless card. In some examples, the guidance application can guide the contactless card in a manner similar to the guidance model shown and described in FIG. 14. The client device can continue to detect the signal strength from the antenna of the contactless card and use the ideal alignment parameters of the combination of the contactless card and the client device to guide the contactless card to an ideal alignment position as described herein. In some embodiments, the first and second antennas can be different types of antennas and / or can have different ranges. Further, one of the antennas can function as a primary antenna used to communicate data with the client device. When one antenna functions as the primary antenna, the other antenna can be used to guide the contactless card to an ideal alignment position in a way that generates an ideal alignment for communicating with the client device via the primary antenna. Each of the antennas can have a different range, and by reading the signal strengths of both antennas such as a high-power antenna and a low-power antenna, the mobile device can guide the contactless card, for example, by indicating on the mobile that the card is too close or too far and / or not correctly oriented. In some exemplary embodiments, one or more cameras integrated into the mobile device can also be used to guide the contactless card to its ideal position. For example, the front and / or rear cameras of the mobile device can be used to triangulate the position of the contactless card relative to the mobile device. In such embodiments, the front and / or rear cameras can be active when the contactless card is placed in a predetermined position, and the position of the card can be calculated, for example, by calculating the ratio and size of the card in the image and the pre-programmed size of the actual card that can be used as a reference to estimate the distance.The front and / or rear cameras may be used to visually inspect an image of the card to understand its orientation, for example, matching a key marker on a contactless card with a stored image of the card. The front and / or rear cameras may further determine whether the card is in front of or behind the phone. In some examples, the front and / or rear cameras may capture an image of the card and utilize image recognition to determine the orientation of the card, including whether the front of the card or the back of the card is facing the phone, and any rotation of the card that may occur.
[0208] Additionally, in some embodiments, the client device may use information it receives from the contactless card regarding the signal strength of the antennas on the client device. Thus, if the client device is able to communicate through one of the antennas on the contactless card to which it is connected, the client device may query the contactless card to obtain signal strength information regarding the antennas on the client device. Doing so may enable the client device to compare the strength of the signal transmitted by the client device to the strength of the signal received by the contactless card, which may further improve the client device's ability to guide the contactless card into an ideal alignment position.
[0209] In some examples, the orientation of a contactless card may be determined using placing the antennas in different locations along with the signal strength received from each antenna. For example, if one of the antenna loop coils (e.g., a higher loop coil) receives a higher quality signal than the other antenna loop coil (e.g., a lower loop coil), the placement and orientation of the card relative to the coils may be determined. The client device may use this information to provide guidance regarding the placement of the contactless card. In some cases, only one of the antennas, or only a few of the antennas, may optimally receive the signal based on the signal strength received by each antenna.
[0210] At block 1714, when the contactless card is in the ideal aligned position, the client device may interact with the contactless card in a manner that allows for maximum power transfer between the contactless card and the client device. The method 1700 may end at block 1716.
[0211] In some examples, the disclosure refers to tapping a contactless card, however, it will be understood that the disclosure is not limited to tapping and includes other gestures (e.g., waving or other movements of the card).
[0212] Throughout the specification and claims, the following terms shall take at least the meaning explicitly associated therewith, unless the context clearly dictates otherwise. The term "or" is intended to mean an inclusive "or." Additionally, the terms "a," "an," and "the" are intended to mean one or more, unless otherwise specified or clearly directed from the context to the singular.
[0213] In this description, many specific details are described. However, it should be understood 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 so as not to obscure an understanding of this description. References to "some examples," "other examples," "one example," "examples," "various examples," "one embodiment," "embodiments," "some embodiments," "exemplary embodiments," "various embodiments," "one implementation," "implementation," "exemplary implementation," "various implementations," "some implementations," and the like, indicate that implementations of the disclosed technology so described may include a particular feature, structure, or characteristic, but not all implementations necessarily include the particular feature, structure, or characteristic. Furthermore, repeated use of the phrase "in one example," "in one embodiment," or "in one implementation" does not necessarily refer to the same example, embodiment, or implementation, although it may.
[0214] As used herein, unless otherwise indicated, the use of the ordinal adjectives "first," "second," "third," etc. to describe a common object is intended only to indicate that different instances of a similar object are being referred to, and does not imply that the objects so described need to be in a particular order, whether in time, space, ranking, or otherwise.
[0215] While particular implementations of the disclosed technology have been described in connection with what are presently believed to be the most practical various implementations, it is to be understood that the disclosed technology is not to be limited to the disclosed implementations, but on the contrary, it 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.
[0216] This written description uses examples to disclose particular implementations of the disclosed technology, including the best mode, and also enables one of ordinary skill in the art to practice particular implementations of the disclosed technology, including making and using any device or system, and performing any incorporated methods. The patentable scope of particular implementations of the disclosed technology is defined in the claims, and may include other examples that occur to those of ordinary skill 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 that are substantially different from the literal language of the claims.
Claims
1. A data transmission system, comprising: a receiving application comprising instructions for execution on a receiving device having a processor, a memory, a communication interface configured to create a communication range, and one or more sensors to determine a distance and an orientation of the transmitting device; The receiving application: receiving, via the one or more sensors, feedback information corresponding to one or more types of signal strength detected during movement of the transmitting device relative to the receiving device; determining a location of the transmitting device relative to a surface of the receiving device based on the one or more types of signal strength, where the location of the transmitting device is related to a distance and an orientation of the transmitting device relative to the surface of the receiving device; The receiving application: providing one or more instructions regarding placement of the transmitting device relative to the receiving device; configured to display the one or more types of signal strength between the transmitting device and the receiving device. Data transmission system.
2. The data transmission system of claim 1 , wherein the receiving application is configured to present the one or more instructions until the transmitting device is within communication range.
3. The data transmission system of claim 1 , wherein the receiving application is configured to continuously detect the position of the transmitting device relative to the receiving device and the orientation of the transmitting device relative to the receiving device.
4. The data transmission system of claim 1 , wherein the one or more instructions include at least one selected from the group of: textual guidance, audible guidance, and tactile guidance.
5. The data transmission system of claim 1 , wherein the receiving application is configured to display the one or more indications within a targeting box for positioning of the transmitting device.
6. the receiving device includes a screen; The data transmission system of claim 5 , wherein the targeting box includes a display area of the screen that indicates a location of the transmitting device.
7. The data transmission system of claim 5 , wherein the one or more instructions are continually updated based on the position of the transmitting device relative to the targeting box.
8. the transmitting device comprises a contactless card; The data transmission system of claim 1 , wherein the receiving device comprises at least one selected from the group of a smartphone, a tablet, and a wearable mobile device.
9. 1. A method for establishing a data transmission, the method comprising: a receiving application having instructions for execution on the receiving device generating a communication range for data communication with the transmitting device; receiving, by the receiving application, feedback information corresponding to one or more types of signal strength detected upon movement of a transmitting device relative to the receiving device; determining a position of a transmitting device relative to a surface of the receiving device based on the one or more types of signal strength, the position of the transmitting device being related to a distance and an orientation of the transmitting device relative to the surface of the receiving device; the receiving application presenting to the receiving device one or more guidance instructions regarding placement of the transmitting device relative to the receiving device; the receiving application displaying the one or more types of signal strength between the transmitting device and the receiving device; The method includes:
10. The method of claim 9 , wherein the feedback information includes data related to movement of the transmitting device.
11. The method of claim 9 , wherein the receiving application generates the one or more guidance instructions until the transmitting device is within communication range.
12. the receiving application ceasing to present the one or more guidance instructions after the transmitting device comes into communication range; The method of claim 9 , wherein the receiving application continues to receive feedback information after the transmitting device comes into communication range.
13. The method of claim 12 , wherein the receiving application resumes presenting the one or more guidance instructions after the transmitting device leaves the communication range.
14. The method of claim 9 , wherein presenting the one or more guidance instructions includes displaying an animation that tracks the position of the transmitting device relative to the receiving device.
15. The method of claim 9 , wherein the receiving application dynamically generates the one or more guidance instructions in response to the feedback information.
16. The method comprises: the receiving application displaying the one or more guidance instructions within a targeting box for locating the transmitting device; Further comprising: The method of claim 9 , wherein the targeting box visually indicates a boundary for placing at least one edge of the transmitting device.
17. The method of claim 16 , wherein the boundary comprises a visual representation of two parallel edges of the transmitting device.
18. A non-transitory computer-accessible medium containing computer-executable instructions that, when executed by a processor, perform: Generating a communication range; utilizing one or more sensors to detect a transmitting device; receiving, via one or more sensors, feedback information corresponding to one or more types of signal strength detected during movement of the transmitting device relative to a receiving device; determining a position of the transmitting device relative to a surface of the receiving device based on one or more types of signal strength, the position of the transmitting device being related to a distance and an orientation of the transmitting device relative to the surface of the receiving device; generating one or more guidance instructions regarding at least one selected from the group of: the position of the transmitting device relative to the receiving device and the orientation of the transmitting device relative to the receiving device; presenting one or more guidance instructions regarding placement of the transmitting device relative to a surface of the receiving device until the transmitting device is within communication range; indicating a type of the one or more signal strengths between the transmitting device and the receiving device; ceasing presentation of the one or more guidance indications and one or more signal strength types after the transmitting device enters the communication range; A non-transitory computer-accessible medium for carrying out instructions including:
19. 20. The non-transitory computer-accessible medium of claim 18, wherein the one or more types of signal strength are displayed for a placement of the transmitting device relative to one or more surfaces of the receiving device.
20. the targeting box includes a graphic; The data transmission system of claim 6 , wherein the graphic includes directional information indicating a movement of the transmitting device.
Citation Information
Patent Citations
Portable terminal, data communication system, data communication method and program
CN107111735A
Mobile terminal
JP2005354300A
Communication terminal, communication method, and program
JP2012208771A
Method, electronic apparatus, and computer program that make touch operation for radio communication easy
JP2016024746A
Electronic apparatus and control method thereof
JP2016177470A