System and method for notifying potential attacks on contactless cards - Patents.com

JP7633150B2Active Publication Date: 2025-02-19CAPITAL ONE SERVICES LLC
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2021506494
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-03-12
Filing Date
2019-10-01
Publication Date
2025-02-19
Estimated Expiration
2039-10-01

Smart Images

  • Figure 0007633150000006
    Figure 0007633150000006
  • Figure 0007633150000007
    Figure 0007633150000007
  • Figure 0007633150000008
    Figure 0007633150000008
Patent Text Reader

Abstract

[0009] Exemplary embodiments of a system and method for transmitting data between a transmitting device and a receiving device are provided. In one embodiment, the transmitting device can notify of an attack or potential attack via a counter value. The notification of the attack can further include information related to the attack or potential attack.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Patent Application No. 16 / 351,379, filed March 12, 2019. It is a continuation-in-part of, and claims priority to, U.S. Patent Application No. 16 / 205,119, filed November 29, 2018, which claims priority from U.S. Provisional Patent Application No. 62 / 740,352, filed October 2, 2018, the disclosure of which is incorporated herein by reference in its entirety.

[0002] TECHNICAL FIELD The present 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, and 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 it is prone 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 security 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 gain access to the user's account.

[0006] These and other deficiencies exist. Therefore, there is a need to provide users with appropriate solutions that overcome 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 and notification of attacks on encrypted devices such as contactless cards. 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 an attack notification system comprising: a contactless card including a substrate, one or more processors, and a memory; and one or more servers in data communication with the contactless card, wherein the contactless card is configured to create a one-time password (OTP) value that is transmitted to the one or more servers upon detecting a potential attack, the OTP value indicating a potential attack, and the one or more servers are configured to perform one or more protective actions upon receiving the OTP value.

[0009] An embodiment of the present disclosure provides a method for notifying of a potential attack by a contactless card in data communication with a server, the method including the steps of the server receiving one or more codes from the contactless card, the server determining that the one or more codes indicate the detection of a potential attack on the contactless card, and the server performing one or more protective actions in response to the one or more codes.

[0010] An embodiment of the present disclosure provides a contactless card comprising a substrate, one or more processors, and a memory, wherein the memory includes at least one key, and wherein the contactless card is configured to: upon detecting a potential attack, generate a one-time password, transmit the one-time password, receive one or more protective action requests based on the one-time password, and destroy one or more of the at least one key in response to the one or more protective action requests.

[0011] Further features of the disclosed design and advantages offered thereby will be described in more detail below with reference to specific exemplary embodiments illustrated in the accompanying drawings, in which like elements are designated with like reference designators. [Brief explanation of the drawings]

[0012] [Figure 1A] 1 is a diagram of a data transmission system according to an exemplary embodiment. [Figure 1B] FIG. 1 illustrates a sequence for providing authenticated access according to an exemplary embodiment. [Figure 2] 1 is a diagram of a data transmission system according to an exemplary embodiment. [Figure 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 for key diversification according to an example embodiment. [Figure 5A]1 is a diagram of a contactless card according to an exemplary embodiment; [Figure 5B] 1 is a diagram of a contact pad of a contactless card according to an exemplary embodiment. [Figure 6] FIG. 10 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 key operations 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] 10 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] 1 is an illustration of an attack notification system according to an exemplary embodiment. [Figure 14] 1 is a flowchart illustrating a method for notifying an attack according to an example embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0013] The following description of the embodiments provides non-limiting representative examples that refer to numerals to particularly explain the features and teachings of different aspects of the present invention. It should be recognized from the description of the embodiments that the described embodiments can be implemented separately or in combination with other 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 not specifically covered but within the knowledge of those skilled in the art who read the description of the embodiments will be 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 would 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 method for interacting and communicating 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 limited in its use of near-field communication (NFC) because it can only be used read-only. 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 contactless card 105, client device 110, network 115, and server 120. Although FIG. 1A illustrates a single instance of the components, system 100 may include any number of components.

[0016] System 100 may include one or more contactless cards 105, which are further described below with reference to Figures 5A-5B. In some embodiments, contactless card 105 can communicate wirelessly with client device 110, in one example utilizing NFC.

[0017] System 100 may include 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 communications 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. Client device 110 may also be a mobile device. For example, a 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] It is understood that the client device 110 device may include a processor and memory, and 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 tamper-proof 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 touchscreen, keyboard, mouse, cursor control device, touchscreen, microphone, digital camera, video recorder, or camcorder. 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] 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 server 120. Client device 110 can send one or more requests to server 120, for example, from a mobile device application executing on client device 110. The one or more requests can be associated with retrieving data from server 120. Server 120 can receive one or more requests from client device 110. Based on the one or more requests from client device 110, server 120 can be configured to retrieve the requested data from one or more databases (not shown). Based on receiving the requested data from the one or more databases, server 120 can be configured to transmit the received data to client device 110, the received data responding 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 devices 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, 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, etc.

[0022] Additionally, network 115 may include, but is not limited to, a telephone line, optical fiber, IEEE Ethernet 902.3, a wide area network, a wireless personal area network, a LAN, or a global network such as the Internet. Furthermore, network 115 may support an Internet network, a wireless communication network, a cellular network, or the like, or any combination thereof. Network 115 may further include one or more of the exemplary types of networks listed above, operating as a standalone network or in cooperation with one another. Network 115 may utilize one or more protocols of one or more network elements to which it is communicatively coupled. Network 115 may convert one or more protocols of network devices to or from other protocols. While network 115 is illustrated as a single network, it should be understood that, according to one or more examples, network 115 may include multiple interconnected networks, such as the Internet, a service provider network, a cable television network, an enterprise network such as a credit card association network, and a home network.

[0023] The system 100 may include one or more servers 120. In some examples, the server 120 may include one or more processors coupled to a memory. The server 120 may be configured as a central system, server, or platform for controlling and retrieving various data at different times to perform multiple workflow actions. The server 120 may be configured to connect to one or more databases. The server 120 may 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 proximity with 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 during a read, such as an NFC read of a Near Field Communication (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 select message, using the applet ID of an NDEF generation 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 can then be concatenated with one or more blocks of random data, and the MAC ciphertext and random number (RND) can be encrypted with a session key. The ciphertext and header can 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, 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, processor 124 verifies the MAC ciphertext according to instructions from 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 client device 110 (as shown in FIG. 1A), such as a server 120 in data communication with client device 110. For example, processor 124 may output the MAC ciphertext for transmission to server 120, which can verify the MAC ciphertext.

[0033] In some examples, the MAC ciphertext can act as a digital signature for purposes of verification. To perform this verification, a public key asymmetric algorithm can be used, for example, the Digital Signature Algorithm and the RSA algorithm, or other digital signature algorithms such as zero-knowledge protocols.

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

[0035] When using symmetric encryption algorithms, such as the Encryption Algorithm, the Hash-based Message Authentication Code (HMAC) algorithm, or the Cipher-based Message Authentication Code (CMAC) algorithm, it is important to keep the key secret between the party that initially processes 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, it can be compromised. Each time a key is used, it provides an attacker with an additional sample of data that has been processed by the encryption algorithm using the same key. The more data that an attacker has that has been processed with the same key, the more likely the attacker is to discover the key's value. Frequently used keys can be included in a variety of attacks.

[0037] Additionally, each execution of a symmetric encryption algorithm can reveal information, such as side channel data, about the key used during the symmetric encryption operation. The side channel data can include slight power fluctuations that occur when the encryption algorithm is executed while the key is in use. Enough measurements of the side channel data can reveal enough information about the key to allow an attacker to recover the key. Exchanging data using the same key repeatedly reveals 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 gather, thereby reducing exposure to this and other types of attacks. As explained further herein, the parties involved in exchanging 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 relying on 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 impossible.

[0039] Returning to FIG. 2 , the system 200 may be configured to implement key diversification. For example, a sender and a receiver may desire to exchange data (e.g., original confidential data) via their respective devices 205 and 210. As explained above, a single instance of a transmitting device 205 and a receiving device 210 may be included, but it is understood that one or more transmitting devices 205 and one or more receiving devices 210 may be involved so long as each party shares the same shared secret symmetric key. In some examples, the transmitting device 205 and the receiving device 210 may be provisioned with the same master symmetric key. Furthermore, it is understood that any party or device holding the same secret symmetric key can perform the functions of the transmitting device 205, and similarly, any party holding 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 transmitting device 205 and the receiving device 210 involved in the secure data exchange. It is further understood that both the sending device 205 and the receiving device 210 may be provided with the same master symmetric key, and further, that a portion of the data exchanged between the sending device 205 and the receiving device 210 may comprise at least a portion of 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 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 communications 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, etc.

[0041] Additionally, network 215 may include a global network such as, but not limited to, telephone lines, optical fiber, IEEE Ethernet 902.3, a wide area network, a wireless personal area network, a LAN, or the Internet. Furthermore, 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 it is communicatively coupled. Network 215 may translate to or from one or more protocols of network devices. While 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 network, a cable television network, an enterprise network such as a credit card association network, and a home network.

[0042] In some examples, one or more transmitting devices 205 and one or more receiving devices 210 may be configured to communicate with each other and send and receive data without going through a network 215. For example, communication between one or more transmitting devices 205 and 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, a symmetric HMAC algorithm such as HMAC-SHA-256, or a symmetric CMAC algorithm such as AES-CMAC. It should be 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.

[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 that uses 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 can obtain the protected encrypted data and decrypt the protected encrypted data using a symmetric decryption algorithm in conjunction 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 a sender to a receiver 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 described above, both the transmitting device 205 and the receiving device 210 initially possess a shared master symmetric key. The shared master symmetric key is not used to encrypt the original secret data. The diversified symmetric key is never transmitted between the transmitting device 205 and the receiving device 210 because it is created independently by both. Therefore, an attacker cannot intercept the diversified symmetric key, and the attacker does not see 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 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 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 a counter value transmitted from the transmitting device 205 and the receiving device 210, a portion of a 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, and a cryptographic hash of sensitive data. In some examples, one or more portions of the key diversification value may be used by the parties to create multiple diversified keys. For example, a counter may be used as the key diversification value. 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 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 needed. 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 a component, system 300 may include any number of components.

[0055] The system 300 may include one or more contactless cards 305, which are 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 a radio frequency identification chip, 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 client devices 310 may also be mobile devices. For example, mobile devices may include an Apple® iPhone®, iPod®, iPad®, or other mobile devices 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 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 over 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 retrieving 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 responding to the one or more requests.

[0058] System 300 may include one or more hardware security modules (HSMs) 330. For example, one or more HSMs 330 may be configured to perform one or more cryptographic operations as disclosed herein. In some examples, one or more HSMs 330 may be configured as special-purpose security devices configured to perform one or more cryptographic operations. HSMs 330 may be configured such that keys are never revealed outside of HSMs 330, but instead are maintained within HSMs 330. For example, one or more HSMs 330 may be configured to perform at least one of key derivation, decryption, and MAC operations. One or more HSMs 330 may be included within or in data communication with 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 an optical fiber 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 communications 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 these networks. As non-limiting examples, communications from the contactless card 305 and the client device 310 may comprise NFC communications, a cellular network between the client device 310 and the carrier, and the Internet between the carrier and a backend.

[0060] Additionally, 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. Furthermore, network 315 may support an Internet network, a wireless communication network, a cellular network, or the like, or any combination thereof. Network 315 may further include one network or any number of the exemplary types of networks listed above, operating as a standalone network or in cooperation with one another. Network 315 may utilize one or more protocols of one or more network elements to which it is communicatively coupled. Network 315 may translate to or from one or more protocols of network devices. While network 315 is shown as a single network, it should be understood that, according to one or more examples, network 315 may comprise multiple interconnected networks, such as the Internet, a service provider 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 this 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, for example, one or more components of the system 300, to transmit and / or receive data. While only a single instance of a component 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 that is configured to communicate with the contactless card 305. Note that those skilled in the art will understand that a distance of less than 20 centimeters corresponds to 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 can 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 activation. In some cases, the tap can activate or launch the application 311, which can 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 can initiate a download of the application 311 (e.g., navigation to an application download page). Following installation, tapping the card can activate or launch the application 311, which can then initiate card activation (e.g., via application or other back-end communication). After activation, the card can be used in various transactions, including commerce.

[0065] According to some embodiments, contactless card 305 may include a virtual payment card. In those embodiments, application 311 may retrieve information related to contactless card 305 by accessing a digital wallet implemented on 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 them 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 desire to exchange data (e.g., original confidential data) via a sending device and a receiving device. As described above, these two parties may be involved, 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. Furthermore, it is understood that any party or device holding the same secret symmetric key can perform the functions of a sending device, and similarly, any party holding 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 and receiving devices involved in the secure data exchange. Furthermore, both the sending and receiving devices may be provided with the same master symmetric key, and it is further understood that a portion of the data exchanged between the sending and receiving devices comprises at least a portion of 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 and receiving devices.

[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 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, and symmetric CMAC algorithms such as AES-CMAC. It will 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.

[0070] The sending device may use a selected cryptography 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 and receiving devices.

[0071] Next, at block 420, the sending device may use the master symmetric key to encrypt the counter value with the 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 key diversification using a 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 can 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 can 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 using the same symmetric encryption algorithm as the master symmetric key, both the sending and receiving devices 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 described above, both the sending device and the receiving device initially possess a shared master symmetric key. The shared master symmetric key is not used to encrypt the original secret data. The diversified symmetric key is created independently by both the sending device and the receiving device and is therefore never transmitted between the two parties. Therefore, 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, the reduction of side channel data with respect to the master symmetric key is revealed. Furthermore, the sender and receiver can agree, for example, by prior agreement 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 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, and a cryptographic hash of sensitive data. In some examples, one or more portions of the key diversification value may be used by the parties to create multiple diversified keys. For example, a counter may be used as the key diversification value.

[0080] In other examples, a portion of a counter can be used as the key diversification value. When multiple master key values ​​are shared between 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 needed. In the most secure case, a new diversification value can be created each 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 a 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 and receiving devices. In other examples, this may occur after a specific period of time, a specific period of time after a 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 whenever the receiving device signals to the sending device that it wishes to change the key in its 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, which may comprise a payment card, such as a credit card, debit card, or gift card, issued by a service provider 505, displayed on the front or back of the card 500. In some examples, the contactless card 500 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, which may include a single layer or one or more laminated layers composed of plastic, metal, and other materials. Exemplary substrate materials include polyvinyl chloride, polyvinyl chloride acetate, acrylonitrile butadiene styrene, polycarbonate, polyester, anodized titanium oxide, palladium, gold, carbon, paper, and biodegradable materials. In some examples, the contactless card 500 may have physical characteristics conforming to the ID-1 format of the ISO / IEC 7810 standard; otherwise, the contactless card may 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] Contactless card 500 may also include identification information 515 displayed on the front and / or back of the card, and contact pad 520. Contact pad 520 may be configured to establish contact with a user device or other communication device, such as a smartphone, laptop, desktop, or tablet computer. Contactless card 500 may also include processing circuitry, an antenna, and other components not shown in FIG. 5A. These components may be located behind contact pad 520 or elsewhere on substrate 510. Contactless card 500 may also include a magnetic strip or tape (not shown in FIG. 5A) that may be located on the back of the card.

[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 needed to perform the functions described herein.

[0085] The memory 535 may be read-only memory, write-once read-multiple memory, or read / write memory, such as RAM, ROM, and EEPROM, and the contactless card 500 may include one or more of these memories. Read-only memory can be programmed at the factory as read-only or one-time programmable. One-time programmability provides the opportunity to write once and then read multiple 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 can be read multiple times. Read / write memory can be programmed and reprogrammed multiple times after leaving the factory and may also be read multiple times.

[0086] Memory 535 may be configured to store one or more applets 540, one or more counters 545, and a customer identifier 550. 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 applet 540 is not limited to a Java Card applet and may instead be any software application capable of operating on a contactless card or other device with limited memory. One or more counters 545 may comprise a numeric counter sufficient to store an integer. Customer identifier 550 may comprise a unique alphanumeric identifier assigned to a user of contactless card 500, which identifier may distinguish the contactless card user from other contactless card users. In some examples, customer identifier 550 may identify both the customer and the account assigned to the customer, and may further identify the 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 present disclosure is not limited thereto, and it is understood that these elements may be implemented outside of the pads 520, completely separate from the pads 520, or as additional elements in addition to the processor 530 and memory 535 elements located within the contact pads 520.

[0088] In some examples, contactless card 500 may include one or more antennas 555. The one or more antennas 555 may be disposed within contactless card 500 around processing circuit 525 of contact pad 520. For example, one or more antennas 555 may be integral with processing circuit 525, or one or more antennas 555 may be used with an external booster coil. As another example, one or more antennas 555 may be external to contact pad 520 and 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 power or amplitude modulation. The contactless card 500 can infer data transmitted from the terminal using a gap in the contactless card's power connection, which can be maintained functionally via one or more capacitors. The contactless card 500 can communicate back by switching or load modulating the load on the contactless card's coil. Load modulation can be detected in the terminal's coil by interference.

[0090] As described above, 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 one-time passwords (OTPs) 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] FIG. 6 illustrates an NDEF short record layout (SR=1) 600 according to an example embodiment. One or more applets can be configured to encode the OTP as an NDEF Type 4 well-known type text tag. In some examples, an NDEF message may comprise one or more records. The applet can be configured to add one or more static tag records in addition to the OTP record. Example tags include, but are not limited to: tag type: well-known type, text, English encoding (en); applet ID: D2760000850101; function: read-only access; encoding: authentication message can be encoded as ASCII hex; type-length-value (TLV) data can be provided as personalization parameters that can be used to generate the NDEF message. In one embodiment, an authentication template can comprise a first record with a known index to provide the actual dynamic authentication data.

[0092] 7 illustrates a message 710 and message format 720 according to an example embodiment. In one example, if an additional tag is added, the first byte is changed to indicate the start of the message but not the end, and subsequent records can be added. Because the ID length is zero, the ID length field and ID are omitted from the record. An example message includes: UDK AUT key; derived AUT session key (using 0x00000050); version 1.0; pATC=0x00000050; RND=4838FB7DC171B89E; MAC=<calculated 8 bytes>.

[0093] In some examples, data may be stored on the contactless card at the time of personalization by implementing STORE DATA (E2) under Secure Channel Protocol 2. The personalization bureau can read one or more values ​​from the EMBOSS file (section specified by the applet ID) and, after authentication and secure channel establishment, send one or more STORE DATA commands to the contactless card.

[0094] The pUID consists of a 16-digit BCD encoded number. In some examples, the pUID may consist of 14 digits. TIFF0007633150000001.tif73147

[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 end state, one or more applets may be configured to delete personalized data. In the end 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 each major version having a specific authentication message layout and specific algorithms. For minor versions, this can include bug fixes, security enhancements, etc., as well as changes to the authentication message or encryption algorithm, changes to static tag content, etc.

[0097] In some examples, 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 may be presented that may indicate the authenticity of the contactless card. Based on 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 can 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, the ciphertext will be immediately rejected if the counter is read, used, or otherwise passed on. If the counter is not in use, it can be replayed. In some examples, the counter updated on the card is different from 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 a contactless card and 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 one or more servers. This may cause the counters on the contactless card and the counters maintained by 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, or if the card is misaligned or misplaced such that the NFC range of the device is powered on but not readable. When the contactless card is placed adjacent to the device, the NFC range of the device may be turned on and power the contactless card, updating the counter therein, but the application on the device may not receive the communication.

[0101] To keep the counters synchronized, an application, such as a background application, can be executed that detects when the mobile device wakes up and synchronizes with one or more servers, detecting that a read has occurred and moving the counter forward. Because the counters of the contactless card and one or more servers may become out of sync, the one or more servers may be configured to allow the counter of the contactless card to be updated a threshold or predetermined number of times before being read by the one or more servers and still considered valid. For example, if the counter is configured to increment (or decrement) by one for each occurrence indicating activation of the contactless card, the one or more servers may accept any counter value read from the contactless card as valid, or any counter value within a threshold range (e.g., 1 to 10). Furthermore, the one or more servers may be configured to require a gesture associated with the contactless card, such as a user tap, if they read a counter value above 10 but below another threshold range value (e.g., 1000). If the counter value is within a desired or acceptable range from the user tap, authentication is successful.

[0102] FIG. 8 is a flowchart illustrating key operations 800 according to an example embodiment. As shown in FIG. 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) per card. In some examples, the bank identifier numbers may comprise a number or a combination of one or more numbers, such as an account number or an unpredictable number provided by one or more servers, and may be used to generate and / or diversify session keys. 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 because it changes with each use, providing a different session key each time, as opposed to master key derivation, where one unique set of keys is generated per card. In some instances, it may be desirable to use a four-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 entire 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, simplifying MAC verification and processing. Decryption of the ciphertext is performed before MAC verification. Session keys are independently derived at one or more servers, resulting in a first session key (ENC session key) and a second session key (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 verify the decrypted data.

[0106] For contactless cards, another unique identifier is derived, which may be related to the application's primary account number (PAN) and the PAN sequence number encoded on the card. Key diversification can be configured to receive the identifier as input to a master key, allowing for the creation of one or more keys per 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 an 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 instances, the EMV session key derivation method ∧ Since it may wrap around to use 16, 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] 9 shows 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 needing a key.

[0110] With regard to master key management, two issuer master keys 905, 910 may be required for each portion of a portfolio to which one or more applets are issued. For example, the first master key 905 may comprise an issuer cryptographic 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, back-office data such as a network profile record ID (pNPR) 915 and a derived key index (pDKI) 920 can be used to identify the issuer master keys 905, 910 to use in the encryption process for authentication. Systems performing authentication can be configured to look up the values ​​of pNPR 915 and pDKI 920 for a contactless card during authentication.

[0111] In some examples, to enhance the security of the solution, a session key (e.g., a unique key per session) can be obtained, but instead of using a master key, as described 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 during operation. Regarding session key generation, the key used to generate ciphertext and encrypt data within 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 (Auth-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 with one or more algorithms. Only the lower two bytes of the four-byte pATC 945 are used to adapt the data to 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. Each time the contactless card is tapped, 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 during personalization or applet initialization. In some examples, the pATC counter 945 can be initialized during or before personalization and configured to increment by one with each NDEF read.

[0113] Additionally, each card's updates are unique, assigned either through personalization or algorithmically through a pUID or other identifying information. For example, odd-numbered cards can increment or decrement by 2, while even-numbered cards can increment or decrement by 5. In some instances, updates may also vary by sequential read, with one card incrementing by 1, 3, 5, 2, 2, ... repeatedly. The specific sequence or algorithmic sequence may be defined during 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 hexadecimal ASCII format. In some examples, it may contain 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 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 the 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 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." TIFF0007633150000002.tif78170 TIFF0007633150000003.tif80125

[0118] Another exemplary format is shown below: In this example, the tag can be encoded in hexadecimal format. TIFF0007633150000004.tif47145 TIFF0007633150000005.tif88170

[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. Using the card master keys (Card-Key-Auth 925 and Card-Key-DEK 930), the counter (pATC) field of the received message can be used to derive the session keys (Aut-Session-Key 935 and DEK-Session-Key 940) for that particular card. 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 contactless card's shared secret. This, along with the Ver, UID, and pATC fields of the message, can be processed through a cryptographic 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 an 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 via 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 number 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 number is unpredictable through one or more secure processes. In some examples, the shared secret may comprise a random 4-byte binary number known by the authentication service that is injected into the card during personalization. The shared secret may not be provided to the mobile application by one or more applets during the authentication session. Method 2 padding may include adding a required 0x'80' byte to the end of the input data and 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 have been tampered with. Additionally, including the version in one or more ciphertexts makes it difficult for an attacker to intentionally misrepresent the version of an application in an attempt to weaken 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 authentication data uses a pATC that is equal to or less than a previous value received by the authentication service, this may be interpreted as an attempt to replay an old message, and the authentication may be rejected. In some examples, if the pATC is greater than a previously received value, it may be evaluated to determine whether it is within an acceptable range or threshold; if it is above or outside the range or threshold, the verification may fail or be deemed unreliable. In MAC operation 936, 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 MAC ciphertext A 955 to be encrypted to provide additional protection against brute force attacks that expose the key 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 encryption operation 941, data or ciphertext A 955 and RND are processed using the DEK-Session-Key 940 to generate encrypted data, ciphertext B 960. 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, such as the Advanced Encryption Standard (AES), may be used, as a non-limiting example. In some instances, an initialization vector of 0x'00000000000000000' can be used: correctly decrypted data will be indistinguishable from incorrectly decrypted data because they 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 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 verifying the cryptography, allowing for future changes to the approach; a pUID to look up the cryptographic asset and derive the card key; and a pATC to derive the session key used for the cryptogram.

[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 the encryption process for authentication. In some examples, the method may include performing authentication and looking up the values ​​of pNPR and pDKI on the contactless card at the time of authentication.

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

[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] In block 1040, the keys used to generate ciphertext and encrypt 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. Initially, two different master keys may be provisioned for the sender and the receiver. 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 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 instances, the counter value may not be encrypted. In these instances, 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] 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 at block 1140. 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 can be decrypted using a properly generated session key. The protected data can then be reconstructed for verification. A MAC operation can be performed using a properly generated session key to determine if it matches the decrypted MAC. Because the MAC operation is an irreversible process, the only way to verify it 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 determine 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 the 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., sending device) and receiver (e.g., receiving device), they can trust that the contactless card that originally created and encrypted the MAC is indeed authentic. Furthermore, the counter values ​​used to derive the first and second session keys can be shown to be valid and can be used to perform authentication operations.

[0139] The two derived session keys may then be discarded, and 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 factor authentication. Security factor authentication may comprise multiple processes. As part of security factor 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 factor authentication may include both securely proving the user's identity 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 user tapping a contactless card against 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, a contactless card can be tapped against a device, such as one or more computer kiosks or terminals, to verify identity and receive a transaction item in response to a purchase, such as a coffee. Using a contactless card can establish a secure method of proving identity for loyalty programs. For example, securely proving identity to obtain rewards, coupons, offers, and the like or to receive benefits is established in a manner different from simply scanning a bar card. For example, encrypted transactions can occur between the contactless card and the device, which can be configured to process one or more tap gestures. As described above, one or more applications can 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 bonus points, loyalty points, reward points, healthcare information, and the like, can 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 via a card reader on the device via NFC communication. In communication, tapping the card in proximity to the card reader on the device may cause the application on the device to read data associated with the contactless card and activate the card. In some examples, activation may allow the card to be used to perform other functions, such as making purchases, accessing account 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 communication with one or more servers to activate the contactless card. If the application is not installed on the device, tapping the contactless card near the card reader may initiate download of the application, such as navigation to a download page for the application. Following installation, tapping the contactless card activates or launches the application, which then initiates activation of the contactless card, for example, via the application or other back-end communication. After activation, the contactless card may be used in various activities, including, but not limited to, commercial transactions.

[0144] In some embodiments, a dedicated application may be configured to run on the client device to perform contactless card activation. In other embodiments, a web portal, web-based app, applet, or the like may perform the activation. Activation may be performed on the client device, or the client device may act as an intermediary between the contactless card and an external device (e.g., an account server). According to some embodiments, when providing activation, the application may indicate to the account server the type of device performing the activation (e.g., a personal computer, smartphone, tablet, or point-of-sale (POS) device). Furthermore, the application may output different and / or additional data to the account server for transmission depending on the type of device involved. For example, such data may comprise information related to the merchant, such as merchant type and 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 commonly performed between transaction cards and point-of-sale devices. For example, the exemplary authentication protocol may not require certain data values ​​because they are not used to complete a payment transaction with the card issuer / payment processor itself, 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. The issuer's approval or denial of the transaction may be based on whether the card issuer recognizes the transaction amount. In contrast, in certain embodiments of the present disclosure, transactions originating from a mobile device lack an associated transaction amount to the POS system. Thus, in some embodiments, a dummy transaction amount (i.e., a value 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). A buffer value may be exceeded and a graceful decrement may occur if multiple attempts are made. The graceful decrement requires further validation before the transaction is accepted. In some implementations, the transaction counter buffer value may be modified to avoid the attrition of legitimate transactions.

[0146] In some examples, contactless cards can selectively communicate information depending on the recipient's device. When tapped, a contactless card can recognize the device it is tapped on, and based on this recognition, the contactless card can provide the appropriate data for that device. This allows contactless cards to advantageously transmit only the information necessary to complete an immediate action or transaction, such as a payment or card authentication. Limiting data transmission and avoiding the transmission of unnecessary data can improve both efficiency and data security. Information recognition and selective communication can be applied in a variety of scenarios, including card activation, balance transfers, account access attempts, commercial transactions, and reducing step-up fraud.

[0147] When a 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 appropriate data to communicate with the device. For example, the contactless card can provide encrypted identity information necessary to authenticate the card using an NDEF tag, for example, via NFC. Similarly, when a 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 appropriate data to communicate with the device (such as encrypted identity information necessary 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 necessary for the action or transaction. For example, upon recognizing the point-of-sale device used to complete a commerce transaction, the contactless card can communicate the payment information necessary 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 needed to recognize the contactless card and complete the 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 at shopping stores, grocery stores, convenience stores, etc., a contactless card can be tapped to a mobile device without opening 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 on a contactless card, resulting in the application being launched at 3:51 PM and the transaction being processed or executed at 3:56 PM to verify the user's identity.

[0153] In some examples, 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, 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 example use cases describe specific implementations of the present disclosure. They are for illustrative purposes only and not limiting. In one case, a first friend (the payer) owes a second friend (the payee) an amount. Rather than visiting an ATM or requesting a transaction through a peer-to-peer application, the payer makes the payment via the payee's smartphone (or other device) using a contactless card. The payee logs on to the appropriate application on their smartphone and selects the 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 their contactless card. With the application enabled, when the payee taps their contactless card against the smartphone screen, the contactless card is read and verified. The application then displays a prompt asking the payer to tap their contactless card to send the payment. When the payer taps their 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 transaction status indicator to the smartphone. The application then outputs the transaction status indicator 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 through an application on their device (e.g., a mobile device such as a smartphone). The customer can select a card activation function from a menu in 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 contactless card 105, client device 110, and 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 for activating 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 by pointing it at an angle, flat, close to, or in close proximity to the surface of the device, toward the surface of the device. In response to sufficient gesture, positioning, 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, one or more encrypted portions of the data may be sent from the device to the card issuer server for card activation.

[0162] At block 1240, one or more servers may decrypt one or more encrypted portions of the data via the systems and methods disclosed herein. For example, one or more servers may receive encrypted data from the device and decrypt it to compare the received data and record the data accessible to one or more servers. If the resulting comparison of one or more decrypted portions of the data by one or more servers results in a successful match, the card may be activated. If the resulting comparison of one or more decrypted portions of the data by one or more servers results in an unsuccessful match, one or more processes may be performed. For example, in response to determining 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 the user is allowed to make 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 call, email, or text message an associated service for assistance in activating the card; or receive other notification on the device, such as a phone call indicating that the card verification attempt has failed, and call, email, or text message 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 call, email, or text message 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 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 way, 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 their financial account on their mobile phone. The customer launches an application (e.g., a banking application) on the mobile device and enters their 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., a credit card) for account verification. The user then taps their 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] Exemplary embodiments of the present disclosure include systems and methods configured to notify of potential attacks on cryptographic devices, such as contactless cards.

[0166] One way a cryptographic device responds to the detection of a potential attack is to render itself inoperable. This can be accomplished in a variety of ways, including erasing the keys within the device or entering a state in which the device becomes unresponsive to requests for cryptographic services. For example, if a cryptographic device detects a potential attempt to configure it—e.g., a code-modifying attack, a fuzzing attack, a code-tampering attack, a clock signal jitter attack to induce failure, extreme temperature conditions to induce failure, or an optical sensor that detects the removal of a protective coating, which indicates an attempt to probe or tamper with a chip contained in the cryptographic device—it will delete the internal security keys stored therein. While this may prevent an attacker from accessing the details of the keys or algorithms, it may confuse end users if the device simply ceases operation. Furthermore, because the device is incommunicable, any information that the device has been compromised is lost and cannot be revealed.

[0167] An improved approach is for the cryptographic device to send a false, or "spoofed," signal upon detection of a potential attack. In this approach, the spoofed information appears as a genuine cryptographic artifact, e.g., a MAC, an encrypted block, etc., but includes indications that the device was potentially under attack. Given information that a device has been potentially compromised, the device's communications and interactions can provide useful forensic information, including, but not limited to, its internal state at the time of the intrusion, its IP address, identification of information (e.g., keys) the potential attacker was attempting to access, attempts to modify counter values, and attempts to modify shared secrets. As another example, depending on how the attack was detected, the forensic information may include an indication of the type of attack that was performed (e.g., a clock jitter attack or a code modification attack).

[0168] FIG. 13 illustrates an attack detection system 1300 according to an example embodiment. As described further below, the system 1300 may include a contactless card 1310, a device 1320, such as a client device, one or more networks 1330, and at least one server 1340. While FIG. 13 illustrates a single instance of the components, the system 1300 may include any number of components. While FIG. 13 illustrates the device 1320, in some examples, the device 1320 may be optional, such that the system 1300 includes the contactless card 1310 configured to communicate with at least one server 1340 via one or more networks 1330.

[0169] The system 1300 may include one or more contactless cards 1310. In some examples, the contactless card 1310 may be in wireless communication, e.g., NFC communication, with the device 1320. The contactless card 1310 may refer to the same or similar components of the contactless card shown in Figures 5A and 5B. The contactless card 1310 may include a substrate, a counter, a processor, and a memory including at least one applet. The contactless card 1310 may be an OTP generation device or an encryption device.

[0170] Upon detecting a potential attack on the card 1310, the contactless card 1310 can transmit a special code, such as a one-time password, over the network 1330, which can be recognized by at least one server 1340 as an indication that a potential attack has occurred. The contactless card 1310 can include a key that can be used with one or more encryption algorithms to create the OTP value. The one or more encryption algorithms can include, but are not limited to, a symmetric or asymmetric encryption algorithm, a digital signature algorithm, an HMAC algorithm, and a CMAC algorithm.

[0171] In some examples, the attack may comprise one or more of tampering with the contactless card, interference with data communications associated with the contactless card, physical or attempted physical intrusion of the contactless card, a code modification attack, a fuzzing attack, or any combination thereof.

[0172] Examples of processes for creating OTP values ​​may include, but are not limited to, counter-based OTP values, time-based OTP values, and challenge-response mechanism-based OTP values, or combinations thereof. For example, if the OTP value is counter-based, upon detection of an attack, the key may be destroyed to prevent the attacker from accessing the key, and the contactless card 1310 may be forced into a state that generates an OTP value indicative of the attack. For example, if the OTP value is counter-based, an OTP counter value that may be indicative of an attack may be transmitted to at least one server 1340 via one or more networks 1330. An OTP counter value indicative of an attack cannot occur during normal operation of the contactless card 1310; otherwise, it would accidentally or erroneously signal an attack. In some examples, the OTP counter value comprises a counter value of zero, which may be used to indicate an attack when an OTP counter value of zero is not valid. In some examples, the OTP counter value may be the maximum value of the counter before wrapping. In other examples, a range of OTP counter values ​​may be reserved to indicate various attack information. For example, one OTP counter value may indicate that a first key has been attacked, another OTP counter value may indicate that a second key has been attacked, and another OTP counter value may indicate that the counter has been attacked. As another example, a particular OTP counter value may indicate a type of attack, e.g., one OTP counter value may indicate a fuzzing attack, and another OTP counter value may indicate a code modification attack.

[0173] If an attack is detected, the OTP counter value of the contactless card 1310 may be configured to destroy all keys and set them to all zero. The contactless card 1310 may be configured to transition to a state where the OTP counter value is no longer incremented and remains fixed at a maximum value. The contactless card 1310 may continue to generate OTP values ​​using one or more OTP generation algorithms, but using a key value of zero and a fixed maximum counter value. Upon detecting that the contactless card 1310 has switched to a key value of zero and a fixed maximum counter value, the at least one server 1340 may determine that an attack on the contactless card 1310 has occurred and may thereby perform one or more actions, as further described herein.

[0174] In some examples, if the OTP value is time-based, the contactless card 1310 may be configured to send an OTP based on a time value that may indicate an attack to at least one server 1340 over one or more networks 1330. This OTP time value cannot occur during normal operation of the contactless card 1310 and would otherwise erroneously signal an attack. In some examples, a time value of zero may be used to signal an attack. In some examples, a time value before the contactless card 1310 came into existence may be used to signal an attack. In some examples, a time value that exceeds the maximum possible lifetime of the contactless card 1310 or a time value before activation of the contactless card 1310 may be used to signal an attack.

[0175] In some examples, if the OTP value is based on a challenge-response mechanism, the contactless card may be configured to transmit an OTP value based on the challenge-response mechanism to at least one server 1340 over one or more networks 1330 that may indicate a potential attack. This OTP challenge-response mechanism cannot occur during normal operation of the contactless card 1310 or would erroneously signal an attack. In some examples, the contactless card 1310 may be configured to transmit a response OTP value that is identical to the challenge value to signal an attack. In some examples, a response OTP value that is longer than the possible response OTP values ​​for that OTP algorithm may be returned.

[0176] According to some examples, notifying an attack may be accomplished through various processes. For example, one method of notifying an attack may comprise replacing a user's unique OTP key with a special key reserved for notifying an attack, rather than destroying the key. At this point, OTP generation proceeds as normal, but using the special attack key. The at least one server 1340 may first attempt to verify the returned OTP using the user's OTP key. If this process fails, the returned OTP may be verified using the special attack key rather than the user's OTP key. If this process is successful, this indicates that the contactless card 1310 is under attack. In some examples, the special key reserved for notifying an attack may be of the same format or structure as the user's unique OTP key to reduce the likelihood that a potential attacker will recognize the key substitution.

[0177] In other examples, other methods of notifying an attack may be similar to switching to a special key that notifies an attack as described above, but instead, the contactless card 1310 may switch to a different OTP generation algorithm if an attack is detected. The at least one server 1340 may recognize that the contactless card 1310 is under attack when it detects that the contactless card 1310 has switched to an OTP generation algorithm. In some examples, the output of the different OTP generation algorithm may be in the same format or structure as the OTP generation algorithm used to reduce the likelihood that a potential attacker will recognize the change in algorithm.

[0178] In some examples, if the contactless card 1310 detects that OTP values ​​are being requested at a rate that exceeds the rate available to the end user, this may indicate that an attacker is attempting to clone a copy of the contactless card 1310. In this case, a notification may indicate that a cloning attempt was being made. Switching to a cloning notification will corrupt the OTP value that the attacker attempted to copy, rendering the cloning attempt ineffective.

[0179] According to an exemplary embodiment, when an attack on the contactless card 1310 is detected, the contactless card 1310 does not simply destroy and mute the key, but enters a special state in which the contactless card 1310 creates an OTP value via one or more encryption algorithms so that the OTP value can be recognized by at least one server 1340 attempting to validate the OTP.

[0180] In some examples, if system 1300 includes device 1320, contactless card 1310 may be configured to generate and send a one-time password to client device 1320, such that a counter is adjusted each time a password is generated. Client device 1320 may be configured to receive the OTP from contactless card 1310 over network 1330 and then send the OTP to at least one server 1340, which may be configured to receive the one-time password for authentication.

[0181] The system 1300 may include a client device 1320, 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 (PC), a workstation, a mobile device, a telephone, a handheld PC, a personal digital assistant (PDA), a thin client, a fat client, an Internet browser, or other device. The client device 1320 may also be a mobile device. For example, the mobile device may include an Apple® iPhone®, iPod®, iPad®, or other device running Apple's iOS operating system, a device running Google's Android® operating system, a device running Microsoft's Windows® Mobile operating system, and / or other smartphones or similar wearable mobile devices. The device 1320 may be in data communication with the contactless card 1310, for example, via one or more networks 1330.

[0182] The system 1300 may include one or more networks 1330. In some examples, the network 1330 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 device 1320 to at least one server 1340 and / or connect the contactless card 1310 to at least one server 1340.

[0183] The system 1300 may include at least one server 1340. The server 1340 may be configured as a central system, server, or platform for controlling and calling various data at different times to perform multiple workflow actions to perform one or more functions described herein. The server 1340 may be configured to connect to one or more databases (not shown). The server 1340 may be connected to at least one device 1320. In some examples, the server 1340 may be configured to receive and validate a one-time password from the device 1320.

[0184] In some examples, at least one server 1340 may be configured to, upon receiving a special code, such as an OTP, from the contactless card 1310 via the network 1330, initiate a series of processes or actions to respond to the attack, thereby assisting the end user.

[0185] When the at least one server 1340 recognizes a special OTP code indicative of an attack on the contactless card 1310, the at least one server 1340 may be configured to perform at least one or more of the following protective actions: generating multiple event logs including details of which contactless card is being attacked; sending a notification to threat response personnel that an attack has been detected; muting the contactless card; initiating a replacement of the contactless card 1310 to facilitate replacement of the compromised device 1310; initiating a communication session with a user of the contactless card 1310, such as via the client device 1320, to notify the user that the contactless card 1310 may be potentially compromised or under attack, or establishing data communication with a risk-based analysis engine to adjust the user's risk level based on the detection of the attack. In some examples, the risk-based analysis engine may be in internal or external communication with the at least one server 1340. In some examples, the contactless card 1310 may be configured to perform or participate in one or more protective actions, such as muting, upon receiving instructions transmitted by at least one server 1340.

[0186] In some examples, the at least one server 1340 may be configured to detect whether multiple contactless cards have been attacked over or during a predetermined time range. For example, the at least one server 1340 may be configured to detect whether several contactless cards 1310 have been attacked within a short period of time. Thus, the at least one server 1340 may be configured to receive an indication of an attack from a contactless card 1310, which then notifies the risk-based analysis engine to change or update the user's risk level.

[0187] 14 is a flowchart illustrating the operation of a method 1400 for notifying of an attack using a contactless card in data communication with at least one server, according to an exemplary embodiment. The components for performing steps 1410-1440 may be the same or similar components as those shown in FIG. 13, including, but not limited to, a contactless card 1310, a device 1320, such as a client device or an OTP device, one or more networks 1330, and at least one server 1340.

[0188] The contactless card may enter a mode upon detecting a potential attack at block 1410. For example, the contactless card may create an OTP value that may be recognized as indicative of a potential attack by at least one server attempting to validate the OTP.

[0189] At block 1420, in response to entering the mode described in block 1410, the contactless card may transmit one or more codes to at least one server. For example, if the contactless card detects an attack on the contactless card, it may transmit a special code, such as an OTP, over the network that is recognized by the at least one server as indicating a potential attack. If the special OTP is transmitted, the at least one server may first attempt to verify the OTP value as part of normal operation. If the verification fails, the at least one server may check whether the OTP value is an attack indication.

[0190] At least one server may be configured to receive one or more codes at block 1430. In some examples, the at least one server may receive the one or more codes from a contactless card.

[0191] In another example, the at least one server may receive one or more codes from a client device that receives one or more codes from a contactless card. If the system includes a client device, the contactless card may be configured to generate and send a one-time password to the client device such that a counter is adjusted each time a password is generated. The client device may be configured to receive the OTP from the contactless card over a network and then send the OTP to the at least one server, and the at least one server may be configured to receive the one-time password for authentication.

[0192] At block 1440, the at least one server may perform one or more actions based on the one or more codes. In some examples, upon receiving one or more special codes, such as one or more OTPs, the at least one server may be configured to initiate a series of processes or actions that respond to the potential attack, thereby assisting the end user.

[0193] In some examples, the present disclosure refers to tapping a contactless card, however, it will be understood that the present disclosure is not limited to tapping and includes other gestures (e.g., waving or other movements of the card).

[0194] In some examples, the present disclosure refers to one or more types of potential attacks, such as code-modifying attacks or fuzzing attacks. However, the present disclosure is not limited to any particular attack, and it is understood that the present disclosure includes detectable attacks or notification of potential attacks on cryptographic devices, including, but not limited to, code-modifying attacks, fuzzing attacks, code-tampering attacks, fault-inducing attacks (e.g., clock signal jitter and extreme temperature conditions), or probing or tampering attacks.

[0195] Throughout the specification and claims, the following terms shall have at least the meaning expressly associated therewith, unless the context clearly dictates otherwise. The term "or" is intended to mean an inclusive "or." Furthermore, the terms "a," "an," and "the" are intended to mean one or more unless otherwise specified or clearly directed to the singular from the context.

[0196] In this description, many specific details have been set forth. 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," etc., indicate that implementations of the disclosed technology so described may include particular features, structures, or characteristics, 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.

[0197] As used herein, unless otherwise specified, the use of ordinal adjectives "first," "second," "third," etc. to describe a common object merely indicates that different instances of a similar object are being referred to, and does not imply that the objects so described need be in any particular order, whether temporally, spatially, ranked, or otherwise.

[0198] While particular implementations of the disclosed technology have been described in connection with what are presently considered 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, 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.

[0199] This written description uses examples to disclose particular implementations of the disclosed technology, including the best mode, and also enables any person skilled 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 skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements that are substantially different from the literal language of the claims.

Claims

1. A processor receiving a one-time password (OTP) value; determining, by the processor, that the OTP value is indicative of a potential attack on a contactless card; Based on the OPT value, the processor: an attempt to authenticate the OTP value using a unique key associated with the contactless card and an attack key fails; and a successful attempt to authenticate the OTP value using the attack key; determining the occurrence of the potential attack on the contactless card by said processor initiating a protective action in response to said potential attack; A method comprising:

2. The method comprises: The method of claim 1 , further comprising the processor determining whether a plurality of contactless cards have been subjected to the potential attack during a predetermined period of time.

3. The protective action is: generating a plurality of event logs associated with the attack of the contactless card; Sending notifications to threat response personnel; muting said contactless card; initiating a request to replace the contactless card; initiating a communications session with a device to indicate a compromise of said contactless card; establishing data communication with an engine to adjust a risk level of a user based on the detection of the potential attack; The method of claim 1 , comprising at least one selected from the group consisting of:

4. The method comprises: The method of claim 1 , further comprising the processor determining when a first OTP generation algorithm is switched to a second OTP generation algorithm to generate the OTP value.

5. The method of claim 4 , wherein the output of the second OTP generation algorithm is in the same format as the output of the first OTP generation algorithm.

6. A server, a memory containing a unique key associated with the contactless card and the attack key; a processor, the processor comprising: receiving a one-time password (OTP) value, the OTP value indicating a potential attack on the contactless card; Based on the OPT value, an attempt to authenticate the OTP value using the unique key fails; and a successful attempt to authenticate the OTP value using the attack key; determining the occurrence of the potential attack on the contactless card by initiating a protective action in response to the potential attack; A server configured to:

7. The server of claim 6 , wherein the OTP value comprises at least one selected from the group of a counter-based OTP value, a time-based OTP value, and a challenge-response scheme-based OTP value.

8. The server of claim 6 , wherein the processor is further configured to determine whether a plurality of contactless cards have been subjected to the potential attack during a predetermined period of time.

9. The OTP value is generated using an OTP generation algorithm; The server of claim 6 , wherein the processor is further configured to determine when a first OTP generation algorithm is switched to a second OTP generation algorithm to generate the OTP value.

10. The server of claim 6 , wherein the processor is further configured to receive the OTP value from a contactless card via an intermediate device.

11. The server of claim 6 , wherein the potential attacks comprise at least one selected from the group of code modification attacks, fuzzing attacks, clock jitter attacks, code tampering attacks, extreme temperatures, and removal of protective coatings.

Citation Information

Patent Citations

  • One-time password generator, authentication method and recording medium with one-time password generating program recorded therein

    JP2001352324A

  • One-time password authentication system

    JP2008299386A

  • Authentication device, authentication program, authentication system, password generation device, portable type security device, and password generation program

    JP2010244191A

  • Portable electronic device and termination method

    JP2010257122A

  • Security management system, information processor, offline device, security management method, and program

    JP2012043208A