System and method for cryptographic authentication of contactless cards

Cryptographic authentication systems with diversified keys and encryption algorithms address data security and activation challenges in contactless cards, ensuring secure and efficient transaction processes.

JP7770186B2Active Publication Date: 2025-11-14CAPITAL ONE SERVICES LLC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021513971
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-10-02
Filing Date
2019-10-02
Publication Date
2025-11-14
Estimated Expiration
2039-10-02

AI Technical Summary

Technical Problem

Existing contactless cards face challenges in data security, authentication, and activation processes, which are prone to hacking and require time-consuming verification methods, compromising transaction integrity and user identity verification.

Method used

Implement cryptographic authentication systems using diversified keys generated from master keys and encryption algorithms, such as asymmetric and symmetric encryption, to secure data transmission and card activation, reducing the need for separate physical tokens and enhancing security.

Benefits of technology

Enhances data security and authentication for contactless cards by providing secure, efficient, and user-friendly activation processes, minimizing the risk of unauthorized access and improving transaction integrity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007770186000004
    Figure 0007770186000004
  • Figure 0007770186000005
    Figure 0007770186000005
  • Figure 0007770186000006
    Figure 0007770186000006
Patent Text Reader

Abstract

[0009] Exemplary embodiments of a system and method for data transmission between a sending device and a receiving device are provided. In one embodiment, the sending device and the receiving device each may include a master key. The sending device may use the master key to generate a diversified key to protect a counter value and encrypt data before sending it to the receiving device. The receiving device may generate a diversified key based on the master key and use the diversified key to decrypt the data and verify the protected counter value.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation-in-part of U.S. Patent Application No. 16 / 205,119, filed November 29, 2018, and claims priority from U.S. Provisional Application No. 62 / 740,352, filed October 2, 2018, and U.S. Patent Application No. 16 / 591,309, filed October 2, 2019, the disclosures of which are incorporated herein by reference in their entireties.

[0002] TECHNICAL FIELD The present disclosure relates to cryptography, and more particularly to systems and methods for cryptographic authentication of contactless cards. [Background technology]

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

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

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

[0006] These and other deficiencies exist. Therefore, there is a need to provide users with an appropriate solution that overcomes these deficiencies to provide data security, authentication, and verification for contactless cards. Additionally, there is a need for both improved methods for activating cards and improved authentication for account access. Summary of the Invention

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

[0008] A data transmission system may include, for example, a transmitting device having a transmitting device processor and a transmitting device memory, the transmitting device memory including a first master key, transmission data, and a counter value; and a receiving device having a receiving device processor and a receiving device memory, the receiving device memory including a second master key, the transmitting device generating a first diversified key using the first master key and a first encryption algorithm, storing the first diversified key in the transmitting device memory, the first master key being a secret key, and generating a counter value using the second encryption algorithm and the first diversified key. the second master key is a public key; and the receiving device is configured to: generate a second diversified key based on the second master key and the counter value; store the second diversified key in receiving device memory; and decrypt the encrypted transmission data and verify the protected counter value using a fourth encryption algorithm and the second diversified key.

[0009] In some exemplary embodiments of the present disclosure, the first, second, third, and fourth encryption algorithms may each include (i) an asymmetric encryption algorithm, (ii) a digital signature algorithm, (iii) an ElGamal encryption algorithm, (iv) an elliptic curve algorithm, or (v) a Paillier cryptosystem algorithm. The counter value may include a one-time passcode. The sending device may be further configured to sign the counter value using the private key and encrypt the signed counter value using the additional public key. The receiving device may be further configured to decrypt the signed counter value using the additional private key. A first diversified key or a second diversified key may be generated for each transmission between the sending device and the receiving device. The first diversified key or the second diversified key may be generated using the counter value or a portion of the counter value.

[0010] In certain exemplary embodiments of the present disclosure, the sending device may be further configured to send a public key to the receiving device. The public key may include a signed certificate to authenticate the issuer of the public key. The transmitted data may be smart card activation data.

[0011] Further, an exemplary system, method, and computer-accessible medium for transmitting encrypted data by a contactless card having a processor and a memory including two master keys, an identification number, a sequence number, and a counter may include generating a first diversified key using a secret encryption key and a first encryption algorithm, encrypting a counter value using a second encryption algorithm and the secret encryption key, encrypting transmitted data using a third encryption algorithm and the first diversified key, and transmitting the encrypted counter value and the encrypted transmitted data to a receiving device.

[0012] In some exemplary embodiments of the present disclosure, the second diversified key may be generated based on a public encryption key and a counter value. The encrypted transmission data and the encrypted counter value verification may be decrypted using an encryption algorithm and a public encryption key. The first, second, and third encryption algorithms may each include (i) an asymmetric encryption algorithm, (ii) a digital signature algorithm, (iii) an ElGamal encryption algorithm, (iv) an elliptic curve algorithm, or (v) a Paillier cryptosystem algorithm. The counter value may include a one-time passcode.

[0013] In certain exemplary embodiments of the present disclosure, the counter value may be signed using a private encryption key, and the signed counter value may be encrypted using a public encryption key. The signed counter value may be decrypted using a further private encryption key. The transmitted data may be smart card activation data. A first diversified key or a second diversified key may be generated for each transmission between the sending device and the receiving device. The first diversified key or the second diversified key may be generated using the counter value or a portion of the counter value.

[0014] A data transmission system may include a transmitting device having a transmitting device processor and a transmitting device memory, the transmitting device memory including a first private key and a first public key, transmitted data, and a counter value; and a receiving device having a receiving device processor and a receiving device memory, the receiving device memory including a second private key and a second public key, wherein the transmitting device is configured to protect the counter value using a first encryption algorithm and the first private key and generate an encryption result including the counter value, encrypt the transmitted data and the protected counter value using a second encryption algorithm and the first public key, generate encrypted transmitted data, and transmit the encrypted transmitted data to the receiving device, and wherein the receiving device is configured to decrypt the encrypted transmitted data using the second private key and decrypt and verify the protected counter value using the second public key.

[0015] 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 by like reference designators. [Brief explanation of the drawings]

[0016] [Figure 1A] 1 is a diagram of a data transmission system according to an exemplary embodiment. [Figure 1B] FIG. 1 illustrates a sequence for providing authenticated access according to an exemplary embodiment. [Figure 2] 1 is a diagram of a data transmission system according to an exemplary embodiment. [Figure 3] FIG. 1 is a diagram of a system using contactless cards according to an exemplary embodiment. [Figure 4] 1 is a flowchart illustrating a method for key diversification according to an example embodiment. [Figure 5A] 1 is a diagram of a contactless card according to an exemplary embodiment; [Figure 5B]1 is a diagram of a contact pad of a contactless card according to an exemplary embodiment. [Figure 6] FIG. 10 illustrates a message for communicating with a device according to an exemplary embodiment. [Figure 7] FIG. 2 illustrates messages and message formats according to an exemplary embodiment. [Figure 8] 10 is a flowchart illustrating key operations according to an exemplary embodiment. [Figure 9] FIG. 1 is a diagram of a key system according to an exemplary embodiment. [Figure 10] 1 is a flowchart of a method for generating a cryptogram according to an example embodiment. [Figure 11] 10 is a flowchart illustrating a process of key diversification according to an example embodiment. [Figure 12] 1 is a flowchart illustrating a method for card activation according to an exemplary embodiment. [Figure 13A] 1 is a flowchart illustrating the use of asymmetric encryption according to an exemplary embodiment. [Figure 13B] 1 is a flowchart illustrating the use of asymmetric encryption according to an exemplary embodiment. [Figure 14A] 10 is an additional flowchart illustrating the use of asymmetric encryption according to an exemplary embodiment. [Figure 14B] 10 is an additional flowchart illustrating the use of asymmetric encryption according to an exemplary embodiment. [Figure 15] 10 is another flowchart illustrating the use of asymmetric encryption according to an exemplary embodiment. DETAILED DESCRIPTION OF THE INVENTION

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

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

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

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

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

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

[0023] 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.

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

[0025] The system 100 may include one or more networks 115. In some examples, the network 115 may be one or more of a wireless network, a wired network, or any combination of wireless and wired networks and may be configured to connect the client devices 110 to the server 120. For example, the network 115 may include one or more of an optical fiber network, a passive optical network, a cable network, an Internet network, a satellite network, a wireless local area network (LAN), a global system for mobile communications, a personal communication service, a personal area network, a wireless application protocol, a multimedia messaging service, an enhanced messaging service, a short message service, a time division multiplex-based system, a code division multiple access-based system, D-AMPS, Wi-Fi, fixed wireless data, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, radio frequency identification (RFID), Wi-Fi, etc.

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

[0027] The system 100 may include one or more servers 120. In some examples, the server 120 may include one or more processors coupled to a memory. The server 120 may be configured as a central system, server, or platform for controlling and retrieving various data at different times to perform multiple workflow actions. The server 120 may be configured to connect to one or more databases. The server 120 may be connected to at least one client device 110.

[0028] 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.

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

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

[0031] 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).

[0032] 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.

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

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

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

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

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

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

[0039] When using symmetric encryption algorithms, such as the Encryption Algorithm, the Hash-based Message Authentication Code (HMAC) algorithm, or the Cipher-based Message Authentication Code (CMAC) algorithm, it is important to keep the key secret between the party that initially processes data protected using the symmetric algorithm and key, and the party that receives and processes the data using the same encryption algorithm and the same key.

[0040] It is also important not to use the same key multiple times. If a key is used or reused frequently, it can be compromised. Each time a key is used, it provides an attacker with an additional sample of data that has been processed by the encryption algorithm using the same key. The more data that an attacker has that has been processed with the same key, the more likely the attacker is to discover the key's value. Frequently used keys can be included in a variety of attacks.

[0041] Additionally, each execution of a symmetric encryption algorithm can reveal information, such as side channel data, about the key used during the symmetric encryption operation. The side channel data can include slight power fluctuations that occur when the encryption algorithm is executed while the key is in use. Enough measurements of the side channel data can reveal enough information about the key to allow an attacker to recover the key. Exchanging data using the same key repeatedly reveals data processed with the same key.

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

[0043] As described above, public key encryption methods may be used. Public key encryption, or asymmetric encryption, uses a pair of keys, e.g., a public key that may be freely provided and a private key known only to the key owner. These keys may be generated using various exemplary encryption algorithms based on the system. In such a system, only the private key needs to be kept secret. The public key may be freely provided without compromising security. For example, anyone may encrypt a message using the recipient's public key, but the encrypted message can only be decrypted with the recipient's private key.

[0044] 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; however, 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 or one party has a private key and the other party has a corresponding public 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 holding the same private symmetric key can perform the functions of the sending device 205, and similarly, any party holding the same private symmetric key can perform the functions of the receiving device 210. Alternatively, if public / private key encryption is used, the sending device may hold the public key and the receiving device may hold the private key.

[0045] In some examples, the symmetric key may comprise a shared secret symmetric key that is kept secret from all parties other than the transmitting device 205 and the receiving device 210 involved in the secure data exchange. It is further understood that both the transmitting device 205 and the receiving device 210 may be provided with the same master symmetric key, and further, that a portion of the data exchanged between the transmitting device 205 and the receiving device 210 may comprise at least a portion of data that may be referred to as a counter value. The counter value may comprise a number that changes each time data is exchanged between the transmitting device 205 and the receiving device 210.

[0046] In some examples, when asymmetric encryption is used, the sending device may be provided with a public key and the receiving device may be provided with a private key, or the sending device may be provided with a private key and the receiving device may be provided with a public key.

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

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

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

[0050] At block 225, when the sending device 205 prepares to process the sensitive data with a cryptographic operation (e.g., a symmetric or asymmetric cryptographic 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. Alternatively, the sending device 205 may select an appropriate asymmetric encryption algorithm, a digital signature algorithm, an ElGamal encryption algorithm, an elliptic curve algorithm, a Paillier cryptosystem algorithm, etc.

[0051] In some examples, the symmetric or asymmetric algorithm used to process the diversification value may comprise any symmetric encryption algorithm used as needed to generate a diversified symmetric key of the desired length. Non-limiting examples of symmetric algorithms may include symmetric encryption algorithms such as 3DES or AES128, symmetric HMAC algorithms such as HMAC-SHA-256, and symmetric CMAC algorithms such as AES-CMAC. It should be understood that if the output of the selected symmetric algorithm does not generate a sufficiently long key, techniques such as processing multiple iterations of the symmetric algorithm with different input data and the same master key may generate multiple outputs that can be combined as needed to generate a key of sufficient length. Non-limiting examples of asymmetric algorithms may include the Diffie-Hellman key exchange protocol, the Digital Signature Standard (DSS) incorporating the digital signature algorithm, ElGamal, various elliptic curve techniques, various password-authenticated key agreement techniques, the Paillier cryptosystem, the RSA encryption algorithm, the Cramer-Shoup encryption system, and the YAK authenticated key agreement protocol.

[0052] In block 230, the sending device 205 can employ the selected encryption algorithm and process the counter value using a master symmetric or asymmetric key. For example, the sender can select a symmetric or asymmetric 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 use the master symmetric key to encrypt the counter value with the selected symmetric or asymmetric encryption algorithm to create a diversified symmetric key.

[0053] 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.

[0054] At block 235, the diversified symmetric or asymmetric key may be used to process the sensitive data before transmitting the results to the receiving device 210. For example, the sending device 205 may encrypt the sensitive data using a symmetric encryption algorithm that uses the diversified symmetric key or using an asymmetric algorithm, 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.

[0055] In block 240, the receiving device 210 can first obtain the counter value and then perform the same symmetric or asymmetric encryption using the counter value as input to the encryption and the master symmetric or asymmetric 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.

[0056] Next, in block 245, the receiving device 210 can obtain the protected encrypted data and decrypt the protected encrypted data using a symmetric or asymmetric decryption algorithm together with the diversified symmetric or asymmetric key (e.g., private key).

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

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

[0059] As described above, both the transmitting device 205 and the receiving device 210 initially possess a shared master symmetric key or their respective asymmetric keys (e.g., public and private keys). The shared master symmetric key is not used to encrypt the original secret data. The diversified symmetric keys are created independently by both the transmitting device 205 and the receiving device 210 and are therefore never transmitted between them. Therefore, an attacker cannot intercept the diversified symmetric keys, and the attacker does not see the data processed with the master symmetric key. Only the counter value, not the secret data, is processed with the master symmetric key. As a result, the reduction of side channel data with respect to the master symmetric key is revealed. Furthermore, the operation of the transmitting device 205 and the receiving device 210 may be governed by symmetric requirements regarding the frequency of creating a new diversification value, and therefore a new diversified symmetric key. In one embodiment, a new diversification value, and therefore a new diversified symmetric key, may be created for every exchange between the transmitting device 205 and the receiving device 210.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0075] 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.

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

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

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

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

[0080] 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.

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

[0082] 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0102] The pUID consists of a 16-digit BCD encoded number. In some examples, the pUID may consist of 14 digits. [Table 1]

[0103] In some examples, one or more applets may be configured to maintain their personalized state and allow personalization only when unlocked and authenticated. Other states may comprise a standard state pre-personalization. Upon entering the end state, one or more applets may be configured to delete personalized data. In the end state, one or more applets may be configured to stop responding to all application protocol data unit (APDU) requests.

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

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

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

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

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

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

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

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

[0112] 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.

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

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

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

[0116] 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.

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

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

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

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

[0121] Additionally, each card's updates are unique, assigned either through personalization or algorithmically through a pUID or other identifying information. For example, odd-numbered cards can increment or decrement by 2, while even-numbered cards can increment or decrement by 5. In some instances, updates may also vary by sequential read, with one card incrementing by 1, 3, 5, 2, 2, ... repeatedly. The specific sequence or algorithmic sequence may be defined during personalization or from one or more processes derived from a unique identifier. This may make it difficult for a replay attacker to generalize from a small number of card instances.

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

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

[0124] 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.

[0125] The following format represents an example embodiment of the binary version: Additionally, in some examples, the first byte may be set to an ASCII "A." [Table 2]

[0126] Another exemplary format is shown below: In this example, the tag can be encoded in hexadecimal format. [Table 3]

[0127] The UID field of the received message can be extracted to derive the card master keys (Card-Key-Auth 925 and Card-Key-DEK 930) for that particular card from the master keys Iss-Key-AUTH 905 and Iss-Key-DEK 910. Using the card master keys (Card-Key-Auth 925 and Card-Key-DEK 930), the counter (pATC) field of the received message can be used to derive the session keys (Aut-Session-Key 935 and DEK-Session-Key 940) for that particular card. Ciphertext B 960 can be decrypted using the DEK-Session-KEY. This produces ciphertext A 955 and RND, which can be discarded. The UID field can be used to look up the contactless card's shared secret. This, along with the Ver, UID, and pATC fields of the message, can be processed through a cryptographic MAC using the recreated Aut-Session-Key to produce a MAC output such as MAC'. If the MAC' is the same as the ciphertext A955, this indicates that the message decryption and MAC checks all passed. Next, read the pATC to determine if it is valid.

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

[0129] 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.

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

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

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

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

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

[0135] 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.

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

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

[0138] 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.

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

[0140] 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).

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

[0142] 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.

[0143] 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.

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

[0145] 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.

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

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

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

[0149] In some examples, a contactless card can be tapped against a device, such as one or more computer kiosks or terminals, to verify identity and receive a transaction item in response to a purchase, such as a coffee. Using a contactless card can establish a secure method of proving identity for loyalty programs. For example, securely proving identity to obtain rewards, coupons, offers, and the like or to receive benefits is established in a manner different from simply scanning a bar card. For example, encrypted transactions can occur between the contactless card and the device, which can be configured to process one or more tap gestures. As described above, one or more applications can be configured to verify the user's identity and then have the user act or respond thereto, for example, via one or more tap gestures. In some examples, data, such as bonus points, loyalty points, reward points, healthcare information, and the like, can be written back to the contactless card.

[0150] 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.

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

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

[0153] In some embodiments, the exemplary authentication communication protocol may mimic, with some modifications, the EMV-standard offline dynamic data authentication protocol commonly performed between transaction cards and point-of-sale devices. For example, the exemplary authentication protocol may not be used to complete a payment transaction with the card issuer / payment processor itself, and therefore some data values ​​are unnecessary, allowing authentication to be performed without requiring a real-time online connection to the card issuer / payment processor. As known in the art, a point-of-sale (POS) system submits a transaction to a card issuer, including a transaction amount. The issuer's approval or denial of the transaction may be based on whether the card issuer recognizes the transaction amount. In contrast, in certain embodiments of the present disclosure, transactions originating from a mobile device lack an associated transaction amount to the POS system. Thus, in some embodiments, a dummy transaction amount (i.e., a value recognizable to the card issuer and sufficient for activation to occur) may be passed as part of the exemplary authentication communication protocol. POS-based transactions may also reject transactions based on the number of transaction attempts (e.g., a transaction counter). A buffer value may be exceeded and a graceful decrement may occur if multiple attempts are made. The graceful decrement requires further validation before the transaction is accepted. In some implementations, the transaction counter buffer value may be modified to avoid the attrition of legitimate transactions.

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

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

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

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

[0158] 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.

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

[0160] In some examples, one or more applications may be configured to determine that they were launched via one or more tap gestures on a contactless card, resulting in the application being launched at 3:51 PM and the transaction being processed or executed at 3:56 PM to verify the user's identity.

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

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

[0163] 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.

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

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

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

[0167] 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.

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

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

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

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

[0172] As noted above, a symmetric key algorithm or an asymmetric key algorithm may be used / implemented. For example, the sending device may have (e.g., stored therein) a private key. The sending device may be provisioned with the private key, and an associated public key may be generated upon generation of the private key. The public key may be accessible by the receiving device (e.g., previously stored therein or provided by the sending device). If the public key is provided by the sending device, it may be separately encrypted. Alternatively, or additionally, the public key may be signed by an issuer, allowing the receiving device to verify the authenticity of the public key.

[0173] In some examples, a sending device may be provisioned with both a private key and a public key used for encryption. For example, the sending device may obtain a counter value and / or a user ID and sign it using the private key. The private key may be unique to the sending device, or a global private key may be used. This information may be encrypted using the public key and sent to the receiving device. The receiving device may then decrypt the information using the private key corresponding to the public key and verify the content (e.g., the counter value and user ID) using the public key, for example.

[0174] 13A and 13B are flowcharts illustrating a method 1300 for card activation according to an exemplary embodiment, which may refer to the same or similar components and functions as described above with respect to any of FIGS. 1-12. As shown in FIG. 13A, at block 1305, a first diversified key may be generated using a first master key and a first encryption algorithm. In some examples, a transmitting device may comprise a processor and memory, the memory including the diversified master key, transmission data, and a counter value. For example, the first diversified key may be generated using the diversified master key. At block 1310, the first diversified key may be stored in the memory of the transmitting device. At block 1315, the counter value may be protected using a second encryption algorithm and the first diversified key. The transmitting device may generate an encryption result including the counter value using the second encryption algorithm and the first diversified key. At block 1320, the counter value may be signed using a private key. At block 1325, the signed counter value may be encrypted using a public key. At block 1330, the transmission data may be encrypted using the third encryption algorithm and the first diversified key to generate encrypted transmission data.

[0175] As shown in FIG. 13B, at block 1335, the protected counter value and the encrypted transmission data may be sent to an application comprising instructions for execution on the receiving device. The encryption result and the encrypted transmission data may be sent from the sending device to the application on the receiving device. At block 1340, a public key may be sent to the receiving device. At block 1345, a second diversified key may be generated based on the second master key and the counter value. In some examples, the second diversified key may be generated based on the second master key and a unique identifier of the receiving device. At block 1350, the second diversified key may be stored in a memory of the receiving device. For example, a session key may be generated based on the second diversified key and the received encryption result. At block 1355, the encrypted transmission data may be decrypted and the encryption result may be verified using a session key based on the fourth encryption algorithm and the second diversified key. In some examples, the protected counter value may be verified.

[0176] 14A and 14B are flowcharts illustrating a method 1400 for using asymmetric encryption according to an example embodiment, which may refer to the same or similar components and functions as described above with respect to any of FIGS. 1-13. As shown in FIG. 14A, at block 1405, a first diversified key may be generated using a private encryption key and a first encryption algorithm. In some examples, a transmitting device may comprise a processor and memory, and the memory may include the private encryption key, transmission data, and a counter value. For example, at block 1410, the counter value may be encrypted using a second encryption algorithm and the private encryption key. At block 1415, the counter value may be signed using the private encryption key. At block 1420, the signed counter value may be encrypted using a public encryption key. At block 1425, the transmission data may be encrypted using a third encryption algorithm and the first diversified key to generate encrypted transmission data.

[0177] As shown in FIG. 14B, at block 1430, the encrypted counter value or the signed encrypted counter value and the encrypted transmission data may be sent to an application of the receiving device. At block 1435, a second diversified key may be generated based on the public encryption key and the counter value. At block 1440, the encrypted transmission data may be decrypted and the encrypted counter value may be verified using a fourth encryption algorithm and the public encryption key. In some examples, the encryption result may be verified using the fourth encryption algorithm and the public encryption key. For example, the encryption result that may be sent to and from the application from the sending device may include a counter value using the second encryption algorithm and the first diversified key. At block 1445, the signed counter value may be decrypted using an additional private encryption key.

[0178] FIG. 15 is another flowchart illustrating the use of asymmetric encryption according to an exemplary embodiment and may refer to the same or similar components and functions as described above with respect to any of FIGS. 1-14. As shown in FIG. 15, at block 1505, an encryption result including a counter value may be generated using a first encryption algorithm and a first secret key. In some examples, a transmitting device may include a processor and memory, and the memory may include the first secret key, transmission data, and the counter value. At block 1510, the transmission data may be encrypted using a second encryption algorithm and a first public key to generate encrypted transmission data. At block 1515, the encrypted transmission data and the encryption result may be sent to an application of the receiving device. At block 1520, the encrypted transmission data may be decrypted and the encryption result may be verified using the second secret key by the application of the receiving device. At block 1525, the protected counter value may be decrypted and verified using the second public key.

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

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

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

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

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

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

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

Claims

1. A contactless card, the contactless card comprising: a processor; a memory including a first card master key, transmission data, and a counter value; The contactless card is generating a first diversified key using the first card master key, the counter value, and at least one first encryption algorithm in response to a client device entering communication range; encrypting the counter value using at least one second encryption algorithm and the first card master key to generate a protected counter value; encrypting the transmission data using at least one third encryption algorithm different from the second encryption algorithm and the first diversified key to generate encrypted transmission data; transmitting the protected counter value and the encrypted transmission data to a server; configured to change the counter value each time communication is established between the contactless card and the client device; Contactless card.

2. 2. The contactless card of claim 1, wherein the at least one first, second, and third encryption algorithms each include at least one selected from the group of an asymmetric encryption algorithm, a digital signature algorithm, an ElGamal encryption algorithm, an elliptic curve algorithm, and a Paillier cryptosystem algorithm.

3. The contactless card of claim 1 , wherein the counter value includes a one-time passcode.

4. 2. The contactless card of claim 1, wherein the first diversified key is generated for each transmission between the contactless card and the server.

5. 4. The contactless card of claim 3, wherein the first diversified key is generated using at least one of the counter values ​​or a portion of the counter value.

6. The contactless card of claim 1 , wherein the contactless card is further configured to transmit a public key associated with the first card master key to the server.

7. 7. The contactless card of claim 6, wherein the public key includes a signed certificate authenticating the issuer of the public key.

8. The contactless card of claim 1 , wherein the transmitted data includes activation data for the contactless card.

9. 1. A method for transmitting data by a contactless card having a processor and a memory containing transmission data and a counter, the method comprising: generating a first diversified key using a first secret key, a counter value, and at least one first encryption algorithm in response to the contactless card entering communication range of a client device; the contactless card encrypting the counter value using at least one second encryption algorithm and the first private key; the contactless card encrypting the transmitted data using at least one third encryption algorithm and the first diversified key; transmitting the encrypted counter value and the encrypted transmission data to a server via the client device; changing the counter value each time communication is established between the contactless card and the client device; A method comprising:

10. The method comprises:

10. The method of claim 9, further comprising transmitting a public key associated with the first private key to the server.

11. 10. The method of claim 9, wherein the first diversified key is generated using at least one of the counter values ​​or a portion of the counter values.

12. A server communicatively coupled to a contactless card via a client device, the server comprising: a processor; a memory containing a public key associated with a private key stored on the contactless card; The server receiving from the contactless card the encrypted transmission data and an encryption result corresponding to the protected counter value; using the public key to decrypt the encrypted result and verify a counter value obtained from the encrypted result; generating a first diversified public key based on the public key and the counter value; decrypting the encrypted transmitted data using at least one first encryption algorithm and the first diversified public key; configured to verify the transmitted data; the counter value included in the encryption result includes a value that is changed every time communication is established between the contactless card and the client device; server.

13. The server of claim 12 , wherein the first diversified key is generated for each reception of the encryption result and encrypted transmission data from the contactless card.

14. The server of claim 13 , wherein the first diversified key is generated using at least one of the counter values ​​or a portion of the counter values.

15. the counter value is signed with a second private key stored on the contactless card and encrypted with a further public key; The server of claim 12 , wherein the server is further configured to decrypt the signed counter value using a further private key.

16. the transmitted data includes activation data for the contactless card; The server of claim 12 , wherein the server is further configured to activate the contactless card using the activation data.

17. The server of claim 12 , wherein the server is further configured to receive an encrypted public key from the contactless card.

18. 7. The contactless card of claim 6, wherein the public key is transmitted to the server via an encryption result corresponding to the protected counter value.

19. The server of claim 12 , wherein the counter value comprises a one-time passcode.

Citation Information

Patent Citations

  • Authentication method and information system

    JP1999205308A

  • Communication system, communication terminal and IC card

    JP2004040660A

  • Information processing apparatus and method, recording medium, program, and information processing system

    JP2009100394A

  • IC card and computer program

    JP2018148387A