System and method for notifying potential attack on contactless card

JP2025016511A5Pending Publication Date: 2025-10-09CAPITAL ONE SERVICES LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024178302
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-03-12
Filing Date
2024-10-10
Publication Date
2025-10-09

AI Technical Summary

Technical Problem

Existing non-contact cards face vulnerabilities in data security and authentication, with issues such as time-consuming activation processes, reliance on insecure login credentials, and susceptibility to hacking, particularly in electronic transactions.

Method used

A system and method for encryption authentication of non-contact cards that includes a non-contact card with a processor, memory, and a substrate, capable of generating a one-time password (OTP) upon detecting a potential attack, and an attack notification system involving servers to respond with protection actions.

Benefits of technology

Enhances data security by providing real-time attack notification and improved authentication, reducing the risk of unauthorized access and ensuring secure transactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide a system for notifying a potential attack on an encrypted device, such as a contactless card.SOLUTION: An attack detection system 1300 is provided with a contactless card, a client device, one or more networks, and at least one server. When the contactless card detects a potential attack on the contactless card, it may send a special code OTP value over the network, such as a one-time password, which is recognized by at least one server as an indication that a potential attack has occurred. The contactless card is provided with a key that can be used with one or more encryption algorithms to generate the OTP value. When at least one server recognizes a special OTP code indicating an attack on a contactless card, at least one server performs at least one or more protective actions.SELECTED DRAWING: Figure 13
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] FIELD OF THE DISCLOSURE This disclosure relates to cryptography, and more particularly, to systems and methods for cryptographic authentication of contactless cards. [Background technology]

[0003] Data security and transaction integrity are critical to businesses and consumers. This need continues to grow as electronic transactions comprise an ever-larger share of commercial activity.

[0004] Email can be used as a tool to verify transactions, but email is open to attacks and vulnerable to hacking and other unauthorized access. Short Message Service (SMS) messages can also be used, but they can also be compromised. Additionally, data encryption algorithms such as the triple DES algorithm have similar vulnerabilities.

[0005] Activating many cards, including financial cards (e.g., credit cards and other payment cards), requires a time-consuming process in which the cardholder calls a telephone number, visits a website, and enters or provides card information. Additionally, while the increasing use of chip-based financial cards offers more secure features than previous technologies for in-person purchases (e.g., magnetic strip cards), access to an account may rely on login credentials (e.g., username and password) to verify the cardholder's identity. However, if the login credentials are compromised, another person may gain access to the user's account.

[0006] These and other deficiencies exist. Thus, 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 being indicative of a potential attack, and the one or more servers 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 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, the memory including at least one key, the contactless card being 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 indicated with like reference designators. [Brief description of the drawings]

[0012] [Figure 1A] 1 is a diagram of a data transmission system according to an exemplary embodiment. [Figure 1B] FIG. 2 illustrates a sequence for providing authenticated access according to an exemplary embodiment. [Diagram 2] 1 is a diagram of a data transmission system according to an exemplary embodiment. [Diagram 3] FIG. 1 is a diagram of a system using contactless cards according to an exemplary embodiment. [Figure 4] 1 is a flowchart illustrating a method of key diversification according to an example embodiment. [Figure 5A]1 is a diagram of a contactless card according to an exemplary embodiment. [Figure 5B] 2 is a diagram of a contact pad of a contactless card according to an exemplary embodiment. [Figure 6] FIG. 1 illustrates a message for communicating with a device according to an exemplary embodiment. [Figure 7] FIG. 2 illustrates messages and message formats according to an exemplary embodiment. [Figure 8] 10 is a flowchart illustrating a key operation according to an exemplary embodiment. [Figure 9] FIG. 1 is a diagram of a key system according to an exemplary embodiment. [Figure 10] 1 is a flowchart of a method for generating a cryptogram according to an example embodiment. [Figure 11] 1 is a flowchart illustrating a process of key diversification according to an example embodiment. [Figure 12] 1 is a flowchart illustrating a method for card activation according to an exemplary embodiment. [Figure 13] 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 exemplary embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] The following description of the embodiments provides non-limiting representative examples that refer to numbers to specifically describe the features and teachings of different aspects of the present invention. It should be recognized that the described embodiments can be implemented separately or in combination with other embodiments from the description of the embodiments. Those skilled in the art who review the description of the embodiments should be able to learn and understand the different described aspects of the present invention. The description of the embodiments should facilitate understanding of the present invention to the extent that other embodiments that are not specifically covered but are within the knowledge of those skilled in the art who read the description of the embodiments are understood to be consistent with the application of the present invention.

[0014] An objective of some embodiments of the present disclosure is to incorporate one or more keys into one or more contactless cards. In these embodiments, the contactless card can perform authentication and many other functions that may otherwise require the user to carry a separate physical token in addition to the contactless card. By employing a contactless interface, the contactless card can be provided with a way to interact and communicate between the user's device (such as a mobile phone) and the card itself. For example, the EMV protocol underlying many credit card transactions includes an authentication process sufficient for the Android® operating system, but presents challenges for iOS®, which is more restricted in its use of Near Field Communication (NFC), since it can only be used in a read-only manner. Exemplary embodiments of contactless cards described herein utilize NFC technology.

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

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

[0017] The system 100 may include a client device 110, which may be a network-enabled computer. As referred to herein, a network-enabled computer may include a computing device or a communication device, including, for example, but not limited to, a server, a network appliance, a personal computer, a workstation, a telephone, a handheld PC, a personal digital assistant, a thin client, a fat client, an Internet browser, or other device. The client device 110 may also be a mobile device. For example, the mobile device may include an Apple® iPhone®, iPod®, iPad®, or other mobile device running Apple's iOS® operating system, a device running Microsoft's Windows® Mobile operating system, a device running Google's Android® operating system, and / or other smartphones, tablets, or similar wearable mobile devices.

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

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

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

[0021] The system 100 may include one or more networks 115. In some examples, the networks 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 networks 115 may include one or more of a fiber optic network, a passive optical network, a cable network, an Internet network, a satellite network, a wireless local area network (LAN), a global system for mobile communications, a personal communication service, a personal area network, a wireless application protocol, a multimedia messaging service, an enhanced messaging service, a short message service, a time division multiplex based system, a code division multiple access based system, a D-AMPS, Wi-Fi, fixed wireless data, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, radio frequency identification (RFID), Wi-Fi, and the like.

[0022] Further, the 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. Further, the network 115 may support an Internet network, a wireless communication network, a cellular network, or the like, or any combination thereof. The network 115 may further include one network, or any number of the exemplary types of networks listed above, operating as a standalone network or in cooperation with one another. The network 115 may utilize one or more protocols of one or more network elements to which they are communicatively coupled. The network 115 may convert to and from one or more protocols of the network devices. Although the network 115 is shown as a single network, it should be understood that, according to one or more examples, the network 115 may include multiple interconnected networks, such as, for example, the Internet, a service provider's network, a cable television network, an enterprise network such as a credit card association network, and a home network.

[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 calling 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 close proximity to contactless card 105). Communication between application 122 and contactless card 105 may involve contactless card 105 being sufficiently close to a card reader (not shown) of client device 110 to enable NFC data transfer between application 122 and contactless card 105.

[0026] In step 104, after communication is established between the client device 110 and the contactless card 105, the contactless card 105 generates a message authentication code (MAC) cryptogram. In some examples, this may occur when the contactless card 105 is read by the application 122. In particular, this may occur upon a read, such as an NFC read of a Near Field Wireless Data Exchange (NDEF) tag, which may be created according to the NFC data exchange format. For example, a reader, such as the application 122, may send a message, such as an applet selection message, with the applet ID of the NDEF generating applet. Once the selection is confirmed, a series of select file messages followed by read file messages may be sent. For example, the sequence may include "select feature file", "read feature file", and "select NDEF file". At this point, a counter value maintained by the contactless card 105 may be updated or incremented, followed by "read NDEF file". At this point, a message may be generated that includes a header and a shared secret. A session key may then be generated. A MAC cryptogram may be created from the message. The message may include a header and a shared secret. The MAC ciphertext may then be concatenated with one or more blocks of random data, and the MAC ciphertext and the random number (RND) may be encrypted with a session key. The ciphertext and the header may then be concatenated, encoded as ASCII hex, and returned in the NDEF message format (in response to a "read NDEF file" message).

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

[0028] In some examples, the application 122 may be configured to send a request to the contactless card 105, the request comprising instructions to generate a MAC cryptogram.

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

[0030] In step 108 , the application 122 communicates the MAC ciphertext to the processor 124 .

[0031] In step 112, the processor 124 verifies the MAC ciphertext according to instructions from the application 122. For example, the MAC ciphertext may be verified as described below.

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

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

[0034] FIG. 2 illustrates a data transmission system according to an exemplary embodiment. The system 200 may include a transmitting or sending device 205, a receiving or receiving device 210, in communication with one or more servers 220, for example, via a network 215. The transmitting or sending device 205 may be the same as or similar to the client device 110 discussed above with reference to FIG. 1A. The receiving or receiving device 210 may be the same as or similar to the client device 110 discussed above with reference to FIG. 1A. The network 215 may be similar to the network 115 discussed above with reference to FIG. 1A. The server 220 may be similar to the server 120 discussed above with reference to FIG. 1A. Although FIG. 2 illustrates a single instance of the components of the system 200, the 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 first processes data protected with 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 may 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 has been processed with the same key that an attacker has, the more likely it is that the attacker will discover the value of the key. Frequently used keys may be included in a variety of attacks.

[0037] Additionally, each time a symmetric encryption algorithm is run, it may reveal information, such as side channel data, about the key used during the symmetric encryption operation. Side channel data may include slight power fluctuations that occur when the encryption algorithm is run while the key is in use. Enough of the side channel data can be measured to reveal enough information about the key to allow an attacker to recover the key. Exchanging data using the same key will repeatedly reveal data processed with the same key.

[0038] However, limiting the number of times a particular key is used limits the amount of side channel data an attacker can collect, thereby reducing exposure to this and other types of attacks. As described further herein, the parties involved in the exchange of cryptographic information (e.g., sender and receiver) should generate keys independently from an initial shared master symmetric key in combination with a counter value, thereby periodically replacing the shared symmetric keys in use and resorting to some form of key exchange to keep the parties synchronized. Periodically changing the shared secret symmetric keys used by the sender and receiver makes the above attack infeasible.

[0039] Returning to FIG. 2, the system 200 may be configured to implement key diversification. For example, a sender and a receiver may wish to exchange data (e.g., original confidential data) via their respective devices 205 and 210. As explained above, a single instance of a sending device 205 and a receiving device 210 may be included, but it is understood that one or more sending devices 205 and one or more receiving devices 210 may be involved so long as each party shares the same shared secret symmetric key. In some examples, the sending device 205 and the receiving device 210 may be provisioned with the same master symmetric key. Furthermore, it is understood that any party or device that holds the same secret symmetric key can perform the functions of the sending device 205, and similarly, any party that holds the same secret symmetric key can perform the functions of the receiving device 210. In some examples, the symmetric key may comprise a shared secret symmetric key that is kept secret from all parties other than the sending device 205 and the receiving device 210 involved in the exchange of secure data. It is further understood that both the transmitting device 205 and the receiving device 210 can be provided with the same master symmetric key, and further that a portion of the data exchanged between the transmitting device 205 and the receiving device 210 can comprise at least a portion of data that can be referred to as a counter value. The counter value can comprise a number that changes each time data is exchanged between the transmitting device 205 and the receiving device 210.

[0040] The system 200 may include one or more networks 215. In some examples, the network 215 may be one or more of a wireless network, a wired network, or any combination of wireless and wired networks and may be configured to connect the one or more transmitting devices 205 and the one or more receiving devices 210 to the server 220. For example, the network 215 may include one or more of an optical fiber network, a passive optical network, a cable network, an Internet network, a satellite network, a wireless LAN, a global system for mobile communications, a personal communication service, a personal area network, a wireless application protocol, a multimedia messaging service, an enhanced messaging service, a short message service, a time division multiplex based system, a code division multiple access based system, a D-AMPS, Wi-Fi, fixed wireless data, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, RFID, Wi-Fi, and the like.

[0041] Additionally, network 215 may include a global network, such as, but not limited to, telephone lines, optical fiber, IEEE Ethernet 902.3, wide area networks, wireless personal area networks, LANs, or the Internet. Additionally, network 215 may support an Internet network, a wireless communication network, a cellular network, or the like, or any combination thereof. Network 215 may further include one network, or any number of the exemplary types of networks listed above, operating as a standalone network or in cooperation with one another. Network 215 may utilize one or more protocols of one or more network elements to which they are communicatively coupled. Network 215 may translate to and from one or more protocols of a network device. Although network 215 is shown as a single network, it should be understood that, according to one or more examples, network 215 may comprise multiple interconnected networks, such as, for example, the Internet, a service provider's network, a cable television network, an enterprise network such as a credit card association network, and a home network.

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

[0043] At block 225, when the sending device 205 prepares to process the sensitive data in a symmetric encryption operation, the sender may update a counter. Additionally, the sending device 205 may select an appropriate symmetric cryptography algorithm, which may include at least one of a symmetric encryption algorithm, an HMAC algorithm, and a CMAC algorithm. In some examples, the symmetric algorithm used to process the diversification value may comprise any symmetric encryption algorithm used as needed to generate a diversified symmetric key of a desired length. Non-limiting examples of symmetric algorithms may include symmetric encryption algorithms such as 3DES or AES128, symmetric HMAC algorithms such as HMAC-SHA-256, symmetric CMAC algorithms such as AES-CMAC. It should be appreciated that if the output of the selected symmetric algorithm does not generate a sufficiently long key, techniques such as processing multiple iterations of the symmetric algorithm with different input data and the same master key may generate multiple outputs that can be combined as needed to generate a key of sufficient length.

[0044] In block 230, the sending device 205 can employ the selected encryption algorithm and process the counter value using a master symmetric key. For example, the sender can select a symmetric encryption algorithm and use a counter that updates with every conversation between the sending device 205 and the receiving device 210. The sending device 205 can then encrypt the counter value with the selected symmetric encryption algorithm using the master symmetric key to create a diversified symmetric key.

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

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

[0047] In block 240, the receiving device 210 can first obtain the counter value and then perform the same symmetric encryption using the counter value as input to the encryption and the master symmetric key as the key for the encryption. The output of the encryption can be the same diverse symmetric key value as that created by the sender.

[0048] Next, in block 245, the receiving device 210 may obtain the protected encrypted data and decrypt the protected encrypted data using a symmetric decryption algorithm along with the diversified symmetric key.

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

[0050] Next, when sensitive data needs to be transmitted from the sender to the recipient via the respective sending device 205 and receiving device 210, a different counter value can be selected to generate a different diverse symmetric key. By processing the counter value using the same symmetric cryptography algorithm as the master symmetric key, both the sending device 205 and the receiving device 210 can independently generate the same diverse symmetric key. This diverse symmetric key, rather than the master symmetric key, is used to protect the sensitive data.

[0051] As explained above, both the transmitting device 205 and the receiving device 210 initially each possess a shared master symmetric key. The shared master symmetric key is not used to encrypt the original secret data. The diversified symmetric keys are never transmitted between the transmitting device 205 and the receiving device 210 because they are created independently by both. Thus, an attacker cannot intercept the diversified symmetric keys, and the attacker never sees the data processed with the master symmetric key. Only the counter value, not the secret data, is processed with the master symmetric key. As a result, the reduction of side channel data with respect to the master symmetric key is revealed. Furthermore, the operation of the transmitting device 205 and the receiving device 210 may be governed by symmetric requirements regarding the frequency of creating new diversification values, and therefore new diversified symmetric keys. In one embodiment, a new diversification value, and therefore a new diversified symmetric key, may be created for every exchange between the transmitting device 205 and the receiving device 210.

[0052] In some examples, the key diversification value may constitute a counter value. Other non-limiting examples of key diversification values ​​include a random nonce generated each time a new diversified key is needed, a random nonce transmitted from the transmitting device 205 to the receiving device 210, the complete value of the counter value transmitted from the transmitting device 205 and the receiving device 210, a portion of the counter value transmitted from the transmitting device 205 and the receiving device 210, a counter maintained independently by the transmitting device 205 and the receiving device 210 but not transmitted between the two devices, a one-time passcode exchanged between the transmitting device 205 and the receiving device 210, a cryptographic hash of the secret data. In some examples, one or more portions of the key diversification value may be used by the parties to create multiple diversified keys. For example, a counter may be used as the key diversification value. Additionally, a combination of one or more of the above example key diversification values ​​may be used.

[0053] In other examples, a portion of the counter can be used as the key diversification value. When multiple master key values ​​are shared between the parties, multiple diversified key values ​​can be obtained by the systems and processes described herein. New diversification values, and therefore new diversified symmetric keys, can be created as many times as necessary. In the most secure case, a new diversification value can be created for each exchange of sensitive data between the sending device 205 and the receiving device 210. In effect, this can create a one-time use key, such as a single-use session key.

[0054] Figure 3 illustrates a system 300 that uses contactless cards. System 300 may include a contactless card 305, one or more client devices 310, a network 315, servers 320, 325, one or more hardware security modules 330, and a database 335. Although Figure 3 illustrates a single instance of the components, system 300 may include any number of components.

[0055] The system 300 may include one or more contactless cards 305, which will be further described below with respect to FIGS. 5A-5B. In some examples, the contactless card 305 may be in wireless communication, e.g., NFC communication, with the client device 310. For example, the contactless card 305 may include one or more chips, such as radio frequency identification chips, configured to communicate via NFC or other short-range protocols. In other embodiments, the contactless card 305 may communicate with the client device 310 via other means, including, but not limited to, Bluetooth, satellite, Wi-Fi, wired communication, and / or any combination of wireless and wired connections. According to some embodiments, the contactless card 305 may be configured to communicate with the card reader 313 of the client device 310 via NFC when the contactless card 305 is within range of the card reader 313. In other examples, communication with the contactless card 305 may be achieved via a physical interface, e.g., a Universal Serial Bus interface or a card swipe interface.

[0056] The system 300 may include a client device 310, which may be a network-enabled computer. As referred to herein, a network-enabled computer may include, for example, a computing device or a communication device, including, for example, but not limited to, a server, a network appliance, a personal computer, a workstation, a mobile device, a telephone, a handheld PC, a personal digital assistant, a thin client, a fat client, an Internet browser, or other device. One or more of the client devices 310 may also be mobile devices. For example, the mobile devices may include an Apple® iPhone®, an iPod®, an iPad®, or other mobile devices running Apple's iOS® operating system, devices running Microsoft's Windows® Mobile operating system, devices running Google's Android® operating system, and / or other smartphones or similar wearable mobile devices. In some examples, the client device 310 may be the same as or similar to the client device 110, as described with reference to FIG. 1A or FIG. 1B.

[0057] The client device 310 can communicate with one or more servers 320 and 325 via one or more networks 315. The client device 310 can send one or more requests to the one or more servers 320 and 325, for example from an application 311 running on the client device 310. The one or more requests can be associated with retrieval of data from the one or more servers 320 and 325. The servers 320 and 325 can receive one or more requests from the client device 310. Based on the one or more requests from the client device 310, the one or more servers 320 and 325 can be configured to retrieve the requested data from one or more databases 335. Based on receiving the requested data from the one or more databases 335, the one or more servers 320 and 325 can be configured to transmit the received data to the client device 310, the received data being responsive to the one or more requests.

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

[0059] The system 300 may include one or more networks 315. In some examples, the network 315 may be one or more of a wireless network, a wired network, or any combination of wireless and wired networks and may be configured to connect the client devices 315 to the servers 320 and 325. For example, the network 315 may include one or more of a fiber optic network, a passive optical network, a cable network, a cellular network, an Internet network, a satellite network, a wireless LAN, a global system for mobile communications, a personal communication service, a personal area network, a wireless application protocol, a multimedia messaging service, an enhanced messaging service, a short message service, a time division multiplex based system, a code division multiple access based system, a D-AMPS, Wi-Fi, fixed wireless data, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, RFID, Wi-Fi, and / or any combination of those networks. As non-limiting examples, communications from the contactless card 305 and the client device 310 may include NFC communications, a cellular network between the client device 310 and the carrier, and the Internet between the carrier and a backend.

[0060] Further, the network 315 may include, but is not limited to, telephone lines, optical fiber, IEEE Ethernet 902.3, wide area networks, wireless personal area networks, local area networks, or global networks such as the Internet. Further, the network 315 may support an Internet network, a wireless communication network, a cellular network, or the like, or any combination thereof. The network 315 may further include one network, or any number of the exemplary types of networks listed above, operating as a standalone network or in cooperation with one another. The network 315 may utilize one or more protocols of one or more network elements to which they are communicatively coupled. The network 315 may convert to and from one or more protocols of the network device. Although the network 315 is shown as a single network, it should be understood that according to one or more examples, the network 315 may comprise multiple interconnected networks, such as, for example, the Internet, a service provider's network, a cable television network, an enterprise network such as a credit card association network, and a home network.

[0061] In various examples according to the present disclosure, the client device 310 of the system 300 can execute one or more applications 311 and includes one or more processors 312 and one or more card readers 313. The one or more applications 311, e.g., software applications, can be configured to enable network communication with, e.g., one or more components of the system 300, to transmit and / or receive data. Although only a single instance of the components of the client device 310 is shown in FIG. 3, it will be understood that any number of devices 310 can be used. The card reader 313 can be configured to read from and / or communicate with the contactless card 305. In conjunction with the one or more applications 311, the card reader 313 can communicate with the contactless card 305.

[0062] Any application 311 on the client device 310 can communicate with the contactless card 305 using short-range wireless communication (e.g., NFC). The application 311 can be configured to interface with a card reader 313 on the client device 310 configured to communicate with the contactless card 305. As should be noted, those skilled in the art will understand that a distance of less than 20 centimeters is consistent with an NFC range.

[0063] In some embodiments, the application 311 communicates with the contactless card 305 via an associated reader (eg, card reader 313).

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

[0065] According to some embodiments, the contactless card 305 may include a virtual payment card. In those embodiments, the application 311 may retrieve information related to the contactless card 305 by accessing a digital wallet implemented on the client device 310, the digital wallet including the virtual payment card. In some examples, the virtual payment card data may include one or more statically or dynamically generated virtual card numbers.

[0066] The server 320 may comprise a web server in communication with the database 335. The server 325 may comprise an account server. In some examples, the server 320 may be configured to verify one or more credentials from the contactless card 305 and / or the client device 310 by comparing with one or more credentials in the database 335. The server 325 may be configured to authorize one or more requests, such as payments and transactions, from the contactless card 305 and / or the client device 310.

[0067] 4 illustrates a method 400 of key diversification according to an example of this disclosure. The method 400 may include a transmitting device and a receiving device similar to the transmitting device 205 and the receiving device 210 referenced in FIG.

[0068] For example, a sender and a receiver may wish to exchange data (e.g., original confidential data) via a sending device and a receiving device. As described above, these two parties may be included, but it is understood that one or more sending devices and one or more receiving devices may be involved so long as each party shares the same shared secret symmetric key. In some examples, the sending device and the receiving device may be provisioned with the same master symmetric key. It is further understood that any party or device that holds the same secret symmetric key can perform the functions of a sending device, and similarly, any party that holds the same secret symmetric key can perform the functions of a receiving device. In some examples, the symmetric key may comprise a shared secret symmetric key that is kept secret from all parties other than the sending device and the receiving device involved in the secure data exchange. Furthermore, both the sending device and the receiving device may be provided with the same master symmetric key, and it is further understood that a portion of the data exchanged between the sending device and the receiving device comprises at least a portion of the data that may be referred to as a counter value. The counter value may comprise a number that changes each time data is exchanged between the sending device and the receiving device.

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

[0070] The sending device may use a selected encryption algorithm and process the counter value using a master symmetric key. For example, the sender may select a symmetric encryption algorithm and use a counter that is updated for each conversation between the sending device and the receiving device.

[0071] Next, at block 420, the sending device may use the master symmetric key to encrypt the counter value with a selected symmetric encryption algorithm to create a diversified symmetric key. The diversified symmetric key may be used to process the sensitive data before transmitting the result to the receiving device. For example, the sending device may encrypt the sensitive data using a symmetric encryption algorithm that uses the diversified symmetric key, and the output may comprise protected encrypted data. The sending device may then transmit the protected encrypted data along with the counter value to the receiving device for processing. In some examples, encryption operations other than encryption may be performed and multiple encryption operations may be performed using the diversified symmetric key before transmitting the protected data.

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

[0073] At block 430, the sensitive data may be protected using one or more encryption algorithms and diversified keys. A diversified session key, possibly created by diversifying the key using the counter, may be used with one or more encryption algorithms to protect the sensitive data. For example, the data may be processed by a MAC using a first diversified session key, and the resulting output may be encrypted using a second diversified session key to generate the protected data.

[0074] At block 440, the receiving device can perform the same symmetric encryption using the counter value as input to the encryption and the master symmetric key as the key for the encryption. The output of the encryption can be the same diversified symmetric key value created by the sender. For example, the receiving device can use the counter to independently create its own copies of the first and second diversified session keys. The receiving device can then decrypt the protected data using the second diversified session key, revealing the output of the MAC created by the sending device. The receiving device can then process the resulting data through a MAC operation using the first diversified session key.

[0075] At block 450, the receiving device may use the diversified key with one or more encryption algorithms to verify the protected data.

[0076] The original data may be verified at block 460. If the output of the MAC operation (via the receiving device using the first diversified session key) matches the MAC output revealed by decryption, the data may be considered valid.

[0077] Then, when sensitive data needs to be sent from the sending device to the receiving device, a different counter value can be selected, which generates a different diversified symmetric key. By processing the counter value with the same symmetric encryption algorithm as the master symmetric key, both the sending device and the receiving device can independently generate the same diversified symmetric key. This diversified symmetric key, rather than the master symmetric key, is used to protect the sensitive data.

[0078] As explained above, both the sending device and the receiving device initially each possess a shared master symmetric key. The shared master symmetric key is not used to encrypt the original secret data. The diversified symmetric keys are created independently by both the sending device and the receiving device and are therefore never transmitted between the two parties. Thus, an attacker cannot intercept the diversified symmetric key and the attacker does not see the data processed with the master symmetric key. Only a small counter value, not the secret data, is processed with the master symmetric key. As a result, a reduction in side channel data with respect to the master symmetric key is revealed. Furthermore, the sender and the receiver can agree, for example, by prior arrangement or other means, on how often to create a new diversification value and therefore a new diversified symmetric key. In one embodiment, a new diversification value and therefore a new diversified symmetric key may be created for every exchange between the sending device and the receiving device.

[0079] In some examples, the key diversification value may constitute a counter value. Other non-limiting examples of key diversification values ​​include a random nonce generated each time a new diversified key is needed, a random nonce transmitted from the sending device to the receiving device, the complete value of the counter value transmitted from the sending device and the receiving device, a portion of the counter value transmitted from the sending device and the receiving device, a counter maintained independently by the sending device and the receiving device but not transmitted between the two, a one-time passcode exchanged between the sending device and the receiving device, a cryptographic hash of the secret data. In some examples, one or more portions of the key diversification value may be used by the parties to create multiple diversified keys. For example, a counter may be used as a key diversification value.

[0080] In other examples, a portion of the counter can be used as the key diversification value. When multiple master key values ​​are shared between the parties, multiple diversified key values ​​can be obtained by the systems and processes described herein. New diversification values, and therefore new diversified symmetric keys, can be created as many times as necessary. In the most secure case, a new diversification value can be created every time sensitive data is exchanged between a sending device and a receiving device. In effect, this can create a one-time use key, such as a single session key.

[0081] In other examples, such as limiting the number of uses of the master symmetric key, the sender at the sending device and the receiver at the receiving device may agree that a new diversification value, and therefore a new diversified symmetric key, will only occur periodically. In one example, this may be after a predetermined number of uses, such as every 10 transmissions between the sending device and the receiving device. In other examples, this may occur after a specific period of time, a specific period of time after transmission, or periodically (e.g., daily at a specified time; weekly at a specified time on a specified day). In other examples, this may be every time the receiving device signals to the sending device that it wishes to change the key in the next communication. This may be controlled based on policy and may vary, for example, depending on the current risk level perceived by the receiver at the receiving device.

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

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

[0084] As shown in Figure 5B, the contact pad 520 of Figure 5A may include processing circuitry 525 for storing and processing information, including a microprocessor 530 and memory 535. It will be understood that the processing circuitry 525 may include additional components including processors, memory, error and parity / CRC checkers, data encoders, anti-collision algorithms, controllers, command decoders, security primitives and anti-tamper hardware as necessary to perform the functions described herein.

[0085] The memory 535 may be a read-only memory, a write-once read multiple memory, or a read / write memory, e.g., RAM, ROM, and EEPROM, and the contactless card 500 may include one or more of these memories. Read-only memory is programmable at the factory as read-only or one-time programmable. One-time programmability offers the opportunity to write once and then read many times. Write-once / read multiple memory can be programmed at some point after the memory chip leaves the factory. Once the memory is programmed, it cannot be rewritten, but it can be read many times. Read / write memory can be programmed and reprogrammed many times after leaving the factory. It may also be read many times.

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

[0087] Although the processor and memory elements of the foregoing exemplary embodiments are described with reference to contact pads, the disclosure is not limited thereto, and it will be understood that these elements may be implemented outside of the pad 520, completely separate from the pad 520, or as additional elements in addition to the processor 530 and memory 535 elements disposed within the contact pad 520.

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

[0089] In one embodiment, the coil of the contactless card 500 can function as the secondary of an air core transformer. The terminal can communicate with the contactless card 500 by interrupting the power or amplitude modulation. The contactless card 500 can infer the data transmitted from the terminal using a gap in the power connection of the contactless card, which can be functionally maintained via one or more capacitors. The contactless card 500 can communicate back by switching or load modulating the load of the coil of the contactless card. Load modulation can be detected at the coil of the terminal by interference.

[0090] As described above, the contactless card 500 may be built on a software platform operable on a smart card or other device with limited memory, such as a Java Card, on which one or more applications or applets may be securely executed. An applet may be added to the contactless card to provide a one-time password (OTP) for multi-factor authentication (MFA) in various mobile application-based use cases. The applet may be configured to respond to one or more requests, such as a near-field data exchange request, from a reader, such as a mobile NFC reader, and generate an NDEF message comprising the cryptographically secure OTP encoded as an NDEF text tag.

[0091] FIG. 6 illustrates an NDEF short record layout (SR=1) 600, according to an exemplary embodiment. One or more applets can be configured to encode the OTP as a text tag of NDEF type 4 well-known type. In some examples, the NDEF message can comprise one or more records. The applet can be configured to add one or more static tag records in addition to the OTP record. Exemplary tags include, but are not limited to: tag type: well-known type, text, English encoding (en); applet ID: D2760000850101; function: read-only access; encoding: 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, the 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. The ID length field and ID are omitted from the record because the ID length is zero. 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 upon 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 applet ID) and send one or more store data commands to the contactless card after authentication and establishment of a secure channel.

[0094] The pUID consists of a 16-digit BCD encoded number. In some examples, the pUID may consist of 14 digits. TIFF2025016511000002.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 exit state, one or more applets may be configured to delete personalized data. In the exit state, one or more applets may be configured to stop responding to all application protocol data unit (APDU) requests.

[0096] One or more applets can be configured to maintain an applet version (2 bytes) that can be used in authentication messages. In some examples, this can be interpreted as a major version in the most significant byte and a minor version in the least significant byte. Rules for each version are configured to interpret the authentication message. For example, for major versions, this can include that each major version has a specific authentication message layout and specific algorithms. For minor versions, this can include no changes to the authentication message or encryption algorithms, no changes to static tag content, in addition to bug fixes, security enhancements, etc.

[0097] In some examples, the one or more applets may be configured to emulate an RFID tag. The RFID tag may include one or more polymorphic tags. In some examples, each time the tag is read, various encrypted data is presented that may indicate the authenticity of the contactless card. Based on the one or more applications, an NFC read of the tag may be processed, a token may be sent to a server, such as a back-end server, and the token may be verified at the server.

[0098] In some examples, the contactless card and server may contain specific data so that the card may be properly identified. The contactless card may include one or more unique identifiers. Each time a read operation is performed, a counter may be configured to be updated. In some examples, each time the card is read, it is sent to the server for verification, and (as part of the verification) it is determined whether the counter is equal.

[0099] The counter or counters can be configured to prevent replay attacks. For example, if a ciphertext is captured and replayed, it will be immediately rejected if the counter is read, used, or otherwise passed on. If the counter is not in use, it may be replayed. In some examples, the counter updated on the card is different than the counter updated for the transaction. In some examples, the contactless card may include a first applet, which may be a transaction applet, and a second applet. Each applet may include a counter.

[0100] In some instances, counters may become out of sync between the contactless card and the one or more servers. For example, a contactless card may be activated, a counter updated, and a new communication generated by the contactless card may not be sent for processing by the one or more servers. This may cause the counters of the contactless card and the counters maintained by the one or more servers to become out of sync. This may occur unintentionally, for example, if the card is stored adjacent to the device (e.g., carried in a pocket with the device), if the contactless card is read at an angle, if the card is misaligned or misplaced such that the NFC range of the device is powered but not readable. If the contactless card is placed adjacent to the device, the NFC range of the device may be turned on to power the contactless card and update the counters therein, but the application on the device does not receive the communication.

[0101] To keep the counters synchronized, an application, such as a background application, may be executed that detects when the mobile device wakes up and synchronizes with one or more servers to detect that a read has occurred and move the counter forward. Because the counters of the contactless card and the 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 as valid any counter value read from the contactless card or any counter value within a threshold range (e.g., 1 to 10). Additionally, the one or more servers may be configured to request a gesture associated with the contactless card, such as a user tap, if it reads a counter value that exceeds 10 but falls 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 flow chart 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) may be stored on the card during the personalization process.

[0103] In block 820, the counter can be used as diversification data since it changes with each use, providing a different session key each time, as opposed to the master key derivation where one unique set of keys is generated per card. In some instances, it may be desirable to use a 4-byte scheme for both operations. Thus, in block 820, two session keys may be created per transaction from the UDK: one session key from the AUTKEY and one session key from the ENCKEY. In the card, for MAC keys (i.e., session keys created from the AUTKEY), the lower two bytes of the OTP counter can be used for diversification. For ENC keys (i.e., session keys created from the ENCKEY), the full length of the OTP counter can be used for the ENC key.

[0104] At block 830, the MAC key may be used to prepare a MAC ciphertext, and the ENC key may be used to encrypt the ciphertext. For example, the MAC session key may be used to prepare the ciphertext, and the result may be encrypted with the ENC key before being sent to one or more servers.

[0105] At block 840, two-byte diversification is directly supported in the MAC authentication function of the payment HSM, thus simplifying MAC validation and processing. Decryption of the ciphertext is performed prior to MAC validation. Session keys are independently derived at one or more servers, resulting in a first session key (the ENC session key) and a second session key (the MAC session key). The second derived key (i.e., the ENC session key) can be used to decrypt data, and the first derived key (i.e., the MAC session key) can be used to validate the decrypted data.

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

[0107] In some cases, the EMV session key derivation method ∧ Since it may wrap around at 16 usage, a counter such as a full 32-bit counter can be added to the initialization array of the diversification method.

[0108] In other examples, such as credit cards, numbers such as account numbers, or unpredictable numbers provided by one or more servers, can be used to generate and / or diversify session keys.

[0109] FIG. 9 illustrates a diagram of a system 900 configured to implement one or more embodiments of the present disclosure. As described below, during the contactless card creation process, two encryption keys may be uniquely assigned to each card. The encryption keys may comprise symmetric keys that can be used to both encrypt and decrypt data. The Triple DES (3DES) algorithm may be used in EMV and is implemented by the contactless card's hardware. A key diversification process may be used to derive one or more keys from a master key based on uniquely identifiable information for each entity that requires a key.

[0110] With regard to master key management, two issuer master keys 905, 910 may be required for each portion of a portfolio in which one or more applets are issued. For example, the first master key 905 may comprise an issuer cryptogram generation / authentication key (Iss-Key-Auth) and the second master key 910 may comprise an issuer data encryption key (Iss-Key-DEK). As described further herein, the two issuer master keys 905, 910 are diversified into card master keys 925, 930 that are unique per card. In some examples, the network profile record ID (pNPR) 915 and derived key index (pDKI) 920 as back office data can be used to identify the issuer master key 905, 910 to use in the encryption process for authentication. The system performing the authentication can be configured to look up the pNPR 915 and pDKI 920 values ​​of the contactless card during authentication.

[0111] In some examples, to enhance the security of the solution, a session key (such as a unique key per session) can be obtained, but instead of using a master key, as explained above, a unique key and counter derived from the card can be used as diversification data. For example, a different key can be used to create a message authentication code (MAC) and perform encryption each time the card is used in operation. With regard to generating a session key, the key used to generate the ciphertext and encrypt data in one or more applets can comprise a session key based on the card's unique key (Card-Key-Auth 925 and Card-Key-Dek 930). The session keys (Aut-Session-Key 935 and DEK-Session-Key 940) are generated by one or more applets and are derived using an Application Transaction Counter (pATC) 945 in one or more algorithms. Only the lower two bytes of the four-byte pATC 945 are used to fit the data into one or more algorithms. In some examples, a 4-byte session key derivation method may comprise: F1:=PATC(lowest 2 bytes)||'F0'||'00'||PATC(4 bytes) F1:=PATC(lowest 2 bytes)||'0F'||'00'||PATC(4 bytes) SK:={(ALG(MK)[F1])||ALG(MK)[F2]}, where ALG may include 3DES ECB and MK may include a card unique derived master key.

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

[0113] Additionally, updates for each card are unique, assigned by personalization or algorithmically assigned by the pUID or other identifying information. For example, odd-numbered cards can increment or decrement by 2, and even-numbered cards can increment or decrement by 5. In some examples, updates may also differ in sequential reads, where one card may increment by 1, 3, 5, 2, 2, ... repeatedly. The specific sequence or algorithmic sequence may be defined at the time of personalization or from one or more processes derived from a unique identifier. This may make it difficult for a replay attacker to generalize from a small number of card instances.

[0114] The authentication message may be delivered as the contents of a text NDEF record in hex ASCII format. In some examples, it may include only the authentication data and an 8-byte random number followed by a MAC of the authentication data. In some examples, the random number precedes the ciphertext A and may be one block long. In other examples, there may be no limit to the length of the random number. In further examples, the total data (i.e., the random number and the ciphertext) may be a multiple of the block size. In these examples, an additional 8-byte block may be added to match the block produced by the MAC algorithm. As another example, if the algorithm employed used 16-byte blocks, a multiple of that block size may be used, or the output may be padded automatically or manually to a multiple of that block size.

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

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

[0117] The following format represents an example embodiment of the binary version: Additionally, in some examples, the first byte may be set to an ASCII "A." TIFF2025016511000003.tif78170 TIFF2025016511000004.tif80125

[0118] Another exemplary format is shown below: In this example, the tag can be encoded in hexadecimal format. TIFF2025016511000005.tif47145 TIFF2025016511000006.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. The Card Master Keys (Card-Key-Auth 925 and Card-Key-DEK 930) can be used to derive the Session Keys (Aut-Session-Key 935 and DEK-Session-Key 940) for that particular card using the Counter (pATC) field of the received message. Ciphertext B 960 can be decrypted using the DEK-Session-KEY. This produces ciphertext A 955 and RND, which can be discarded. The UID field can be used to look up the shared secret for the contactless card. This, along with the Ver, UID, and pATC fields of the message, can be processed through an encryption MAC using the recreated Aut-Session-Key to produce a MAC output such as MAC'. If the MAC' is the same as the ciphertext A955, this indicates that the message decryption and MAC checks all passed. Next, read the pATC to determine if it is valid.

[0120] During the authentication session, one or more ciphertexts may be generated by one or more applications. For example, the one or more ciphertexts may be generated as a 3DES MAC using ISO 9797-1 algorithm 3 and method 2 padding over one or more session keys, such as Aut-Session-Key 935. Input data 950 may take the following format: version (2), pUID (8), pATC (4), shared secret (4). In some examples, the numbers in parentheses may comprise the length in bytes. In some examples, the shared secret may be generated by one or more random number generators, which may be configured to ensure that the random numbers are unpredictable through one or more secure processes. In some examples, the shared secret may comprise a random 4-byte binary number injected into the card at personalization, known by the authentication service. During the authentication session, the shared secret may not be provided to the mobile application from one or more applets. Method 2 padding may include adding mandatory 0x'80' bytes to the end of the input data and adding optional 0x'00' bytes to the end of the result data up to an 8-byte boundary. The resulting ciphertext may be 8 bytes long.

[0121] In some instances, one advantage of using a MAC ciphertext to encrypt an unshared random number as the first block is that it acts as an initialization vector while using the CBC (blockchain) mode of a symmetric encryption algorithm, allowing for "scrambling" between blocks without the need to pre-establish a fixed or dynamic IV.

[0122] By including an application transaction counter (pATC) as part of the data included in the MAC ciphertext, the authentication service can be configured to determine whether values ​​communicated in the clear data have been tampered with. Additionally, by including the version in one or more ciphertexts, it is difficult for an attacker to intentionally misrepresent the version of an application in an attempt to reduce the strength of the encryption solution. In some examples, the pATC may start at zero and be updated by one each time one or more applications generate authentication data. The authentication service can be configured to track the pATC used during an authentication session. In some examples, if the authentication data uses a pATC that is less than or equal to a previous value received by the authentication service, this may be interpreted as an attempt to replay an old message and the authenticated one may be rejected. In some examples, if the pATC is greater than a previously received value, this may be evaluated to determine if it is within an acceptable range or threshold, and if it is above or outside the range or threshold, the verification may be deemed to have failed or unreliable. In MAC operation 936, the data 950 is processed through a MAC using the Aut-Session-Key 935 to produce an encrypted MAC output (ciphertext A) 955.

[0123] It is desirable for the MAC ciphertext A 955 to be encrypted to provide additional protection against brute force attacks that expose the keys on the card. In some examples, the data or ciphertext A 955 included in the ciphertext may comprise a random number (8), ciphertext(8). In some examples, the number in parentheses may comprise the length in bytes. In some examples, the random number may be generated by one or more random number generators, which may be configured to ensure that the random number is unpredictable through one or more secure processes. The key used to encrypt this data may comprise a session key. For example, the session key may comprise a DEK-Session-Key 940. In an encryption operation 941, the data or ciphertext A 955 and RND are processed using the DEK-Session-Key 940 to generate the encrypted data, ciphertext B 960. The data 955 is encrypted using 3DES in cipher block chaining mode to ensure that an attacker needs to perform an attack on all ciphertexts. Other algorithms may be used, such as the Advanced Encryption Standard (AES), as a non-limiting example. In some examples, an initialization vector of 0x'00000000000000000' can be used: correctly decrypted data will be indistinguishable from incorrectly decrypted data because it will appear random, and an attacker attempting to brute force the key used to encrypt this data will be unable to determine when the correct key was used.

[0124] In order for the authentication service to verify one or more cryptograms provided by one or more applets, the following data must be communicated in plaintext from the one or more applets to the mobile device during an authentication session: a version number to determine the cryptographic approach used and a message format for validation of the cryptography, so that the approach can be changed in the future; a pUID to look up the cryptographic asset and derive the card key; and a pATC to derive the session key used for the cryptograms.

[0125] 10 illustrates a method 1000 for generating a ciphertext. For example, at block 1010, a Network Profile Record ID (pNPR) and a Derived Key Index (pDKI) may be used to identify an Issuer Master Key to use in an encryption process for authentication. In some examples, the method may include performing authentication and looking up the values ​​of pNPR and pDKI of a contactless card upon authentication.

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

[0127] At block 1030, the Card-Key-Auth and Card-Key-DEK (Unique Card Key) may be created by diversifying the Issuer Master Key to generate a Session Key that may be used to generate a MAC ciphertext.

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

[0129] 11 shows an example process 1100 illustrating key diversification according to one example. First, the sender and the receiver may be provisioned with two different master keys. For example, the first master key may comprise a data encryption master key and the second master key may comprise a data integrity master key. The sender has other data, such as a counter value that may be updated in block 1110, and the data to be protected that it may ensure is shared with the receiver.

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

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

[0132] In block 1130, the data to be protected is processed in a cryptographic MAC operation by the sender using the data integrity session key and a cryptographic MAC algorithm. The protected data, including the plaintext and the shared secret, can be used to generate a MAC using one of the session keys (AUT-Session-Key).

[0133] At block 1140, the data to be protected may be encrypted by the sender using the Data Encryption Derived Session Key in combination with a symmetric encryption algorithm. In some examples, the MAC is combined with an equal amount of random data, e.g., each 8 bytes in length, and encrypted using a second session key (DEK-Session-Key).

[0134] At block 1150, the encrypted MAC is transmitted from the sender to the receiver along with sufficient information to identify additional secret information (eg, a shared secret, a master key, etc.) for verification of the ciphertext.

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

[0136] In block 1170, the data encryption derived session key is used in combination with a symmetric decryption operation to decrypt the protected data. Additional processing is then performed on the exchanged data. In some instances, after the MAC is extracted, it may be desirable to recreate and match the MAC. For example, when verifying the ciphertext, it may be decrypted using a properly generated session key. The protected data may be reconstructed for verification. A MAC operation may be performed using a properly generated session key to determine if it matches the decrypted MAC. Since the MAC operation is an irreversible process, the only way to verify is to attempt to recreate it from the source data.

[0137] At block 1180, the data integrity derived session key is used in combination with a cryptographic MAC operation to verify that the protected data has not been altered.

[0138] Some examples of the methods described herein can advantageously ascertain when successful authentication is determined when the following conditions are met: First, the ability to verify the MAC indicates that the derived session key is proper. The MAC can only be correct if decryption is successful, resulting in a proper MAC value. Successful decryption can indicate that a correctly derived encryption key was used to decrypt the encrypted MAC. Because the derived session key is created using a master key known only to the sender (e.g., the sending device) and the receiver (e.g., the receiving device), the contactless card that originally created and encrypted the MAC can be trusted to be in fact genuine. Additionally, the counter values ​​used to derive the first and second session keys can be shown to be valid and can be used to perform the authentication operation.

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

[0140] Exemplary embodiments of the systems and methods described herein may be configured to provide security element authentication. Security element authentication may comprise multiple processes. As part of security element authentication, a first process may comprise logging in and verifying a user via one or more applications running on the device. As a second process, the user may engage in one or more actions associated with one or more contactless cards in response to successful login and verification of the first process via the one or more applications. Effectively, security element authentication may include both securely proving the identity of the user and engaging in one or more types of actions, including but not limited to one or more tap gestures associated with the contactless card. In some examples, the one or more tap gestures may comprise a tap of the contactless card by the user to the device. In some examples, the device may comprise a mobile device, a kiosk, a terminal, a tablet, or any other device configured to process received tap gestures.

[0141] In some examples, the contactless card may be tapped to a device, such as one or more computer kiosks or terminals, to verify identity in order to receive a transaction item in response to a purchase, such as a coffee. The use of the contactless card may establish a secure way of proving identity in a loyalty program. For example, securely proving identity to obtain rewards, coupons, offers, etc., or to receive benefits is established in a manner different than simply scanning a bar card. For example, an encrypted transaction may occur between the contactless card and the device, which may be configured to process one or more tap gestures. As described above, one or more applications may be configured to verify the user's identity and then have the user act or respond thereto, for example, via one or more tap gestures. In some examples, data, such as, for example, bonus points, loyalty points, reward points, health care information, etc., may be written back to the contactless card.

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

[0143] In some examples, a contactless card may be activated by tapping a device, such as a mobile device. For example, the contactless card may communicate with an application on the device through a card reader on the device via NFC communication. In communication where the tap of the card is in proximity to the card reader on the device, the application on the device may read data associated with the contactless card and activate the card. In some examples, the activation may allow the card to be used to perform other functions, such as making purchases, accessing accounts or restricted information, or other functions. In some examples, the tap may activate or launch an application on the device, which may then initiate one or more actions or communications with one or more servers to activate the contactless card. If the application is not installed on the device, tapping the contactless card in proximity to the card reader may initiate a download of the application, such as navigation to a download page for the application. Following installation, tapping the contactless card may activate or launch the application, which may then initiate activation of the contactless card, for example, via the application or other back-end communications. After activation, the contactless card may be used in a variety of activities, including, but not limited to, commercial transactions.

[0144] In some embodiments, a dedicated application may be configured to run on the client device to perform the activation of the contactless card. In other embodiments, a web portal, a web-based app, an applet, etc. may perform the activation. The 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 the activation, the application may indicate to the account server the type of device performing the activation (e.g., a personal computer, a smartphone, a tablet, or a point of sale (POS) device). Additionally, 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, merchant ID, and information related to the device type itself, such as POS data and POS ID.

[0145] In some embodiments, the exemplary authentication communication protocol may mimic, with some modifications, the EMV standard offline dynamic data authentication protocol typically performed between a transaction card and a point-of-sale device. For example, the exemplary authentication protocol may not require some data values ​​since 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. Whether the issuer approves or rejects the transaction may be based on whether the card issuer recognizes the transaction amount. On the other hand, in certain embodiments of the present disclosure, transactions originating from a mobile device lack a transaction amount associated with the POS system. Thus, in some embodiments, a dummy transaction amount (i.e., a value that is recognizable to the card issuer and sufficient for activation to occur) may be passed as part of the exemplary authentication communication protocol. POS-based transactions may also reject transactions based on the number of transaction attempts (e.g., a transaction counter). Multiple attempts beyond a buffer value may result in a gradual decay. A gradual decay requires further validation before accepting the transaction. In some implementations, a buffer value of the transaction counter may be altered to avoid attrition of legitimate transactions.

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

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

[0148] As another example, a contactless card tap can be directed to a point-of-sale device, including, but not limited to, a kiosk, checkout register, payment station, or other terminal. Upon performing the tap, the contactless card can recognize the point-of-sale device and transmit only the information required for the action or transaction. For example, upon recognizing the point-of-sale device used to complete a commercial transaction, the contactless card can communicate the payment information required to complete the transaction under the EMV standard.

[0149] In some examples, a POS device participating in a transaction can request or specify additional information provided by the contactless card, such as device-specific information, location-specific information, and transaction-specific information. For example, when a POS device receives a data communication from a contactless card, the POS device can request additional information necessary to recognize the contactless card and complete an action or transaction.

[0150] In some examples, the POS device may be affiliated with an authorized merchant or other entity familiar with particular contactless cards or accustomed to performing particular contactless card transactions, although it will be understood that such an affiliation is not required for performance of the described methods.

[0151] In some instances, such as shopping stores, grocery stores, convenience stores, etc., a contactless card can be tapped to a mobile device without having to open an application to indicate a desire or intent to redeem one or more reward points, loyalty points, coupons, offers, etc. to cover one or more purchases, thus providing the intent behind the purchase.

[0152] In some examples, one or more applications may be configured to determine that they were launched via one or more tap gestures of a contactless card, such that they were launched at 3:51 PM and a transaction was processed or performed at 3:56 PM to verify the identity of a user.

[0153] In some examples, the one or more applications may be configured to control one or more actions in response to one or more tap gestures. For example, the one or more actions may comprise collecting rewards, collecting points, determining the most important purchases, determining the least expensive purchases, and / or reconfiguring to other actions in real time.

[0154] In some examples, data may be collected about tapping behavior as biometric / gesture authentication. For example, a cryptographically secure and hard to intercept unique identifier may be transmitted to one or more backend services. The unique identifier may be configured to retrieve secondary information about the individual. The secondary information may comprise personally identifiable information about the user. In some examples, the secondary information may be stored within a contactless card.

[0155] In some examples, the device may include an application to split a bill or check a payment among multiple individuals. For example, each individual may own a contactless card and be a customer of the same issuing financial institution, but this is not required. Each of these individuals may receive a push notification on the device via the application to split the purchase. Rather than accepting only one card tap to indicate payment, other contactless cards may be used. In some examples, individuals with different financial institutions may own contactless cards to provide information to initiate one or more payment requests from the individual tapping the card.

[0156] The following use case examples describe examples of specific implementations of the present disclosure. They are for illustrative purposes only and not for limitation. In one case, a first friend (payer) owes an amount to a second friend (payee). The payer makes the payment via the payee's smartphone (or other device) using a contactless card, rather than visiting an ATM or requesting an exchange via a peer-to-peer application. The payee logs onto an appropriate application on the smartphone and selects a payment request option. In response, the application requests authentication via the payee's contactless card. For example, the application outputs a display requesting the payee to tap the contactless card. With the application enabled, when the payee taps the contactless card against the smartphone screen, the contactless card is read and verified. The application then displays a prompt requesting the payer to tap the contactless card to send the payment. When the payer taps the contactless card, the application reads the card information and, via an associated processor, sends a payment request to the payer's card issuer. The card issuer processes the transaction and sends a status indicator of the transaction to the smartphone. The application then outputs a status indicator of the transaction for display.

[0157] In another example, a credit card customer may receive a new credit card (or debit card, other payment card, or other card that needs to be activated) in the mail. Rather than activating the card by calling a provided phone number associated with the card issuer or visiting a website, the customer may decide to activate the card via an application on their device (e.g., a mobile device such as a smartphone). The customer may select a card activation function from a menu of the application that appears on the device's display. The application may prompt the customer to tap the credit card against the screen. Upon tapping the credit card against the device's screen, the application may be configured to communicate with a server, such as a card issuing server, that activates the customer's card. The application may then display a message indicating that the card activation was successful. Card activation is now complete.

[0158] 12 illustrates a method 1200 for card activation according to an exemplary embodiment. For example, card activation can be completed by a system including a card, a device, and one or more servers. The contactless card, device, and one or more servers can refer to the same or similar components as those described above with reference to FIGS. 1A, 1B, 5A, and 5B, such as the contactless card 105, the client device 110, and the server 120.

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

[0160] At block 1220, one or more portions of the dynamically generated data may be communicated to an application on the device via NFC or other wireless communication. For example, tapping the card in proximity to the device may enable an application on the device to read one or more portions of data associated with the contactless card. In some examples, if the device does not include an application to assist with card activation, tapping the card may prompt the customer to a software application store to download an associated application to activate the card, or to direct the device. In some examples, the user may be prompted to sufficiently gesture, position, or orient the card, such as to point the card at an angle or flat, close to, or in close proximity to the surface of the device, toward the surface of the device. In response to sufficient gesture, position, and / or orientation of the card, the device may begin transmitting one or more encrypted portions of the data received from the card to one or more servers.

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

[0162] At block 1240, the one or more servers may decrypt the one or more encrypted portions of the data via the systems and methods disclosed herein. For example, the one or more servers may receive the encrypted data from the device and decrypt it to compare the received data and record the data accessible to the one or more servers. If the comparison of the results of the one or more decrypted portions of the data by the one or more servers results in a successful match, the card may be activated. If the comparison of the results of the one or more decrypted portions of the data by the one or more servers results in a failed match, one or more processes may be performed. For example, in response to a determination of a failed match, the user may be prompted to tap, swipe, or wave the card again. In this case, there may be a predetermined threshold comprising the number of attempts that the user is allowed to activate the card. Alternatively, the user may receive a notification on the device, such as a message indicating that the card verification attempt has failed, and send a call, email, or text message to an associated service for assistance in activating the card, or receive other notification on the device, such as a call indicating that the card verification attempt has failed, and send a call, email, or text message to an associated service for assistance in activating the card, or receive other notification, such as an email indicating that the card verification attempt has failed, and send a call, email, or text message to an associated service for assistance in activating the card.

[0163] At block 1250, the one or more servers may send a return message based on successful activation of the card. For example, the device may be configured to receive an output from the one or more servers indicating successful activation of the card by the one or more servers. The device may be configured to display a message indicating successful activation of the card. Once the card is activated, the card may be configured to cease dynamic generation of data to avoid fraudulent use. In this manner, the card may not be subsequently activated and the one or more servers are notified that the card has already been activated.

[0164] In another example case, a customer wants to access his / her financial account on his / her mobile phone. The customer launches an application (e.g., a banking application) on the mobile device and enters a username and password. At this stage, the customer may review first level account information (e.g., recent purchases) and perform first level account options (e.g., credit card payments). However, if the user wants to access second level account information (e.g., spending limits) or perform second level account options (e.g., transfer to an external system), second factor authentication is required. Thus, the application requests that the user provide a transaction card (e.g., credit card) for account validation. The user then taps his / her credit card to the mobile device and the application verifies that the credit card corresponds to the user's account. The user may then view second level account data and / or perform second level account functions.

[0165] Exemplary embodiments of the present disclosure include systems and methods configured to provide notification of potential attacks on cryptographic devices, such as contactless cards.

[0166] One way that 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 in 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 a fault, extreme temperature conditions to induce a fault, or an optical sensor that detects the removal of a protective coating that indicates an attempt to probe or tamper with a chip contained in the cryptographic device, the internal security keys stored therein are deleted. This may prevent an attacker from accessing the details of the keys or algorithms, but may confuse end users if the device simply stops working. Furthermore, because the device is incommunicative, any information that the device had been compromised is lost and never becomes apparent.

[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 genuine cryptographic artifacts, e.g., MACs, encrypted blocks, etc., but includes indications that the device was potentially being attacked. With information that a device was 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) that 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 as to 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 exemplary 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. Although FIG. 13 illustrates a single instance of the components, the system 1300 may include any number of components. Although 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 OTP values ​​based on a challenge-response mechanism, or combinations thereof. For example, if the OTP value is counter-based, when an attack is detected, the key may be destroyed to prevent the attacker from accessing the key, and the contactless card 1310 is 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 that would otherwise accidentally or erroneously signal an attack. In some examples, the OTP counter value comprises a counter value of zero that 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] When an attack is detected, the OTP counter value of the contactless card 1310 may be configured to destroy all keys and set them all to 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 counter value fixed at the maximum. Upon detecting that the contactless card 1310 has switched to a key value of zero and a counter value fixed at the maximum, 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 transmit an OTP based on a time value that may be indicative of 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 exists may be used to signal an attack. In some examples, a time value that exceeds the maximum possible lifespan 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 a possible response OTP value for that OTP algorithm may be returned.

[0176] According to some examples, notifying the attack may be accomplished through various processes. For example, one method of notifying the attack may comprise replacing the user's unique OTP key with a special key reserved for notifying the attack, rather than destroying the key. At this point, generation of the OTP 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 the attack may be of the same format or structure as the user's unique OTP key to reduce the likelihood that a potential attacker would 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 upon detecting 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 an end user can use, 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 occurring. Switching to a cloning notification will corrupt the OTP value that the attacker was attempting 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 the key and mute it, but enters a special state in which the contactless card 1310 creates an OTP value, via one or more cryptographic algorithms, such that the OTP value can be recognized by at least one server 1340 attempting to validate the OTP.

[0180] In some examples, if the system 1300 includes a device 1320, the contactless card 1310 may be configured to generate and send a one-time password to the client device 1320 such that a counter is adjusted each time a password is generated. The client device 1320 may be configured to receive the OTP from the contactless card 1310 over the 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®, an iPod®, an 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 potentially be compromised or is 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 in a short period of time. Thus, the at least one server 1340 may be configured to receive an indication from a contactless card 1310 that it has been attacked, which then notifies the risk-based analysis engine to change or update the user's risk level.

[0187] 14 is a flow chart illustrating the operation of a method 1400 for notifying 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 the 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 at block 1410, the contactless card may transmit one or more codes to the at least one server. For example, upon detecting an attack on the contactless card, the contactless card may transmit over the network a special code, such as an OTP, that is recognized by the at least one server as indicative of 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 the 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, which 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 to respond to a potential attack, thereby assisting an end user.

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

[0194] In some examples, the disclosure refers to one or more types of potential attacks, such as code-modifying attacks or fuzzing attacks. However, the disclosure is not limited to a particular attack, and it is understood that the disclosure includes detectable attacks or notification of potential attacks on a cryptographic device, 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 take at least the meaning explicitly associated therewith, unless the context clearly dictates otherwise. The term "or" is intended to mean an inclusive "or." Additionally, the terms "a," "an," and "the" are intended to mean one or more, unless otherwise specified or clearly directed from the context to the singular.

[0196] In this description, many specific details are described. However, it should be understood that implementations of the disclosed technology may be practiced without these specific details. In other instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure an understanding of this description. References to "some examples," "other examples," "one example," "examples," "various examples," "one embodiment," "embodiments," "some embodiments," "exemplary embodiments," "various embodiments," "one implementation," "implementation," "exemplary implementation," "various implementations," "some implementations," and the like, indicate that implementations of the disclosed technology so described may include a particular feature, structure, or characteristic, but not all implementations necessarily include the particular feature, structure, or characteristic. Furthermore, repeated use of the phrase "in one example," "in one embodiment," or "in one implementation" does not necessarily refer to the same example, embodiment, or implementation, although it may.

[0197] As used herein, unless otherwise indicated, the use of the ordinal adjectives "first," "second," "third," etc. to describe a common object is intended only to indicate that different instances of a similar object are being referred to, and does not imply that the objects so described need to be in a particular order, whether in time, space, ranking, or otherwise.

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

[0199] This written description uses examples to disclose particular implementations of the disclosed technology, including the best mode, and also enables one of ordinary skill in the art to practice particular implementations of the disclosed technology, including making and using any device or system, and performing any incorporated methods. The patentable scope of particular implementations of the disclosed technology is defined in the claims, and may include other examples that occur to those of ordinary skill in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements that are substantially different from the literal language of the claims.

Claims

1. A contactless card comprising a processor and memory, generating a one-time password (OTP) value upon detecting a potential attack on the contactless card; sending the OTP value to a server; wherein the OTP value indicates the potential attack on the contactless card. Contactless card.

2. The contactless card is further configured to create the OTP value using an OTP generation algorithm; the OTP value is based on at least one selected from the group of a counter, a time, and a challenge-response scheme; 2. The contactless card according to claim 1.

3. The OTP value is based on a counter, the contactless card is further configured to set a key of the contactless card to a zero value.

3. The contactless card according to claim 2.

4. A contactless card as described in claim 2, further configured to create the OTP value by switching from a first OTP generation algorithm to a second OTP generation algorithm upon detecting a potential attack.

5. The OTP value is based on time, the OTP value comprises at least one selected from the group of a time value of zero, a time value before activation of the contactless card, and a time value exceeding the maximum possible lifespan of the contactless card; 3. The contactless card according to claim 2.

6. The OTP value is determined based on a challenge-response scheme, the OTP value comprises a value configured to exceed the value of a response associated with the OTP generation algorithm.

3. The contactless card according to claim 2.

7. A contactless card as described in claim 1, wherein multiple counter-based OTP values ​​indicate different potential attacks.

8. A contactless card as described in claim 1, further configured to transmit the OTP value to the server via an intermediate device.

9. A contactless card as described in claim 1, wherein the potential attacks include at least one selected from the group of code modification attacks, fuzzing attacks, clock jitter attacks, and code tampering attacks.

10. A contactless card as described in claim 1, wherein the potential attack includes an attempt to physically intrude into the contactless card.

11. A contactless card as described in claim 1, wherein the potential attacks include at least one selected from the group of extreme temperatures and removal of protective coatings.

12. The memory stores a first key and a second key; The contactless card is creating a first OTP value that indicates that the first key has potentially been attacked; creating a second OTP value that indicates that the second key has potentially been attacked; 10. The contactless card of claim 1 further configured to:

13. A contactless card having a processor and memory, generating a one-time password (OTP) value upon detecting a potential attack on the contactless card; the contactless card transmitting the OTP value to a server; wherein the OTP value indicates the potential attack on the contactless card. method.

14. The memory stores a key; The method further includes the contactless card setting the key to a zero value. The method of claim 13.

15. The method of claim 14, wherein the server determines that the OTP value indicates the potential attack; the server determining that the potential attack has occurred; the server initiating protective actions against the potential attack; 14. The method of claim 13, comprising:

16. The occurrence of the potential attack is an unsuccessful attempt to verify the OTP value using an attack key and a unique key associated with the contactless card; a successful attempt to verify the OTP value using the attack key; and The method of claim 15 , wherein the determination is made by:

17. The protective action is: generating a plurality of event logs associated with attacks on the contactless card; sending a notification to threat response personnel; and muting the contactless card; Initiating a request to replace the contactless card; initiating a communication session with a device to indicate 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; 16. The method of claim 15, comprising at least one selected from the group consisting of:

18. The method of claim 13, further comprising: a server determining when the first OTP generation algorithm switches to the second OTP generation algorithm to generate the OTP value.

19. A non-transitory computer-readable medium containing instructions that are executed by a contactless card, the instructions, when executed, causing the contactless card to generating a one-time password (OTP) value upon detecting a potential attack on the contactless card; sending the OTP value to a server; wherein the OTP value indicates the potential attack on the contactless card. Non-transitory computer-readable medium.

20. The non-transitory computer-readable medium of claim 19, wherein the processing further comprises setting a key stored on the contactless card to a zero value.