Tap to copy data to clipboard by NFC

Through NFC communication and key diversification technology, contactless cards securely copy encrypted data to the clipboard of mobile devices, solving the problem of users having difficulty correctly entering payment card account identifiers and achieving security and accuracy in data transmission.

CN119380459APending Publication Date: 2025-01-28CAPITAL ONE SERVICES LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411395804.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2019-03-20
Filing Date
2020-03-13
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

Users often struggle to correctly enter payment card account identifiers, and existing technologies suffer from frequent errors and insufficient security when manually entering them.

Method used

Encrypted data is generated using contactless cards via NFC communication, and key diversification technology is used to verify the data between the mobile device and the server, ensuring that the data is securely copied to the operating system's clipboard.

Benefits of technology

It improves the security and accuracy of payment card account data, reduces manual input errors, and enhances the security and efficiency of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119380459A_ABST
    Figure CN119380459A_ABST
Patent Text Reader

Abstract

The invention relates to tapping to copy data to a clipboard through NFC. Various embodiments are generally directed to copying data from a contactless card to a clipboard of a mobile device using NFC. The mobile device may issue a request to read data from the contactless card. The contactless card may generate encrypted data in response to the request. The mobile device may receive encrypted data via NFC and send the encrypted data to a server for verification. The server may verify the encrypted data and send an indication of the account of the contactless card to the mobile device. The mobile device may then copy the account to a clipboard of the mobile device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the application with application number 202080016116.8, application date March 13, 2020, and invention name “Tap to copy data to clipboard via NFC”. Technical Field

[0002] Embodiments herein relate generally to mobile computing platforms and, more particularly, to tapping to copy data to a clipboard via near field communication (NFC).

[0003] Related applications

[0004] This application claims priority to U.S. Patent Application Serial No. 16 / 359,966, entitled “TAP TO COPY DATA TO CLIPBOARD VIA NFC,” filed on March 20, 2019. The contents of the above application are incorporated herein by reference in their entirety. Background Art

[0005] The account identifiers of payment cards are typically long strings of numbers and / or characters. As a result, it is difficult for users to correctly enter the account identifier manually. In fact, users often make mistakes and enter incorrect account numbers into computing interfaces (e.g., payment interfaces). Furthermore, even if the user enters the correct account identifier, processes have been developed that allow the camera to capture the account identifier. Summary of the invention

[0006] Embodiments disclosed herein provide systems, methods, articles, and computer-readable media for tapping to copy data to a clipboard via NFC. According to one example, an application can receive encrypted data from a communication interface of a contactless card associated with an account, the encrypted data being generated based on one or more cryptographic algorithms and a diversified key, the diversified key being stored in a memory of the contactless card, and being generated based on a master key and a counter value stored in the memory of the contactless card. Then, the application can receive verification of the encrypted data from a server, the server decrypting the encrypted data based on one or more cryptographic algorithms and a diversified key stored in the memory of the server to verify the encrypted data, the diversified key stored in the memory of the server being generated based on a master key and a counter value stored in the memory of the server. The application can also receive an encrypted account number associated with the account from the server. The application can decrypt the encrypted account number to generate an account number. Then, the application can copy the account number to a clipboard of an operating system (OS) executed on a processor circuit. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Figure 1A to Figure 1B An embodiment of a system for tapping to copy data to a clipboard via NFC is shown.

[0008] Figure 2 An embodiment of tapping to copy data to the clipboard via NFC is shown.

[0009] FIG. 3A to FIG. 3C An embodiment of tapping to copy data to the clipboard via NFC is shown.

[0010] FIG. 4A to FIG. 4B An example contactless card is shown.

[0011] Figure 5 An embodiment of a first logic flow is shown.

[0012] Figure 6 An embodiment of a second logic flow is shown.

[0013] Figure 7 An embodiment of a third logic flow is shown.

[0014] Figure 8 An embodiment of a computing architecture is shown. DETAILED DESCRIPTION

[0015] Embodiments disclosed herein provide a secure technique for copying data (e.g., an account number) from a contactless card to a clipboard of a computing device using NFC. Typically, a user of a device can provide an application with input that specifies copying data from a contactless card. The contactless card can then enter the NFC communication range with the device, for example, by a tap gesture. The application can then instruct the contactless card to generate data and transmit the data to the application via NFC. The data generated by the contactless card can be encrypted using key diversification. The application can send the data received from the contactless card to a server for verification. Once the data is verified, the server can transmit the account data (e.g., an account number) to an application on the device, which can then copy the received account data to the clipboard of the operating system of the device. The account data can remain on the clipboard until a purchase is made or a time threshold expires, at which time the contents of the clipboard can be cleared, overwritten, or otherwise modified. Advantageously, this can improve the security of all devices and associated data.

[0016] Generally with reference to the symbols and nomenclature used in this article, one or more parts of the following detailed description can be presented according to the program process executed on a computer or a network of computers. These program descriptions and representations are used by those skilled in the art to most effectively convey the essence of their work to other technicians in the field. The program is here and is generally considered to be a self-consistent sequence of operations that leads to the desired result. These operations are those operations that require physical manipulation of physical quantities. Usually, although not necessarily, these quantities take the form of electrical, magnetic or optical signals that can be stored, transmitted, combined, compared and otherwise manipulated. Mainly for general reasons, it is sometimes proven to be convenient to refer to these signals as bits, values, elements, symbols, characters, items, numbers, etc. However, it should be noted that all of these and similar terms are associated with appropriate physical quantities and are merely convenient labels applied to these quantities.

[0017] In addition, these manipulations are often referred to as terms such as addition or comparison, which are often associated with mental operations performed by human operators. However, in any of the operations described herein that form a part of one or more embodiments, this ability of a human operator is not necessary, or is not desirable in most cases. Instead, these operations are machine operations. Useful machines for performing the operations of various embodiments include digital computers selectively activated or configured by computer programs stored therein, written according to the teachings of this article, and / or include devices or digital computers specially constructed for the desired purpose. Various embodiments also relate to devices or systems for performing these operations. These devices can be specially constructed for the desired purpose. From the description given, the required structures of various these machines will be apparent.

[0018] Reference is now made to the accompanying drawings, in which the same reference numerals are used to refer to the same elements throughout. In the following description, for the purpose of explanation, many specific details are set forth in order to provide a thorough understanding thereof. However, it is apparent that novel embodiments can be practiced without these specific details. In other cases, well-known structures and devices are shown in block diagram form in order to describe them. It is intended to cover all modifications, equivalents, and alternatives within the scope of the claims.

[0019] Figure 1AA schematic diagram of an exemplary system 100 consistent with the disclosed embodiments is depicted. As shown, the system 100 includes one or more contactless cards 101, one or more mobile devices 110, and a server 120. The contactless card 101 represents any type of payment card, such as a credit card, a debit card, an ATM card, a gift card, etc. The contactless card 101 may include one or more chips (not depicted), such as a radio frequency identification (RFID) chip, which is configured to communicate with the mobile device 110 via NFC, the EMV standard, or other short-range protocols in wireless communication, or using an NFC data exchange format (NDEF) tag. Although NFC is used as an example communication protocol, the present disclosure is equally applicable to other types of wireless communications, such as the EMV standard, Bluetooth, and / or Wi-Fi. The mobile device 110 represents any type of network-enabled computing device, such as a smartphone, a tablet, a wearable device, a laptop, a portable gaming device, etc. The server 120 represents any type of computing device, such as a server, a workstation, a computing cluster, a cloud computing platform, a virtualized computing system, etc.

[0020] As shown, the memory 102 of the contactless card 101 includes data 103, a counter 104, a master key 105, a diversified key 106, and a unique customer identifier 107. Data 103 generally includes any data that can be copied to a clipboard 114, such as a character, text, executable code, image, or other type of data object. In one embodiment, data 103 may include an account number, an expiration date, and a card verification value (CVV) associated with the contactless card 101. The account number may be any type of account number, such as a master account number (PAN), a virtual account number, and / or a token generated based on a PAN. Other types of account numbers are considered, and using any specific type of account number as an example of this article should not be considered to limit the present disclosure. Data 103 may also include a name, a billing address, a shipping address, a username and / or a password, a one-time use code for multi-factor authentication, a personalized uniform resource locator (URL), a gift card number, a driver's license information, a passport information, a loyalty program information, a loyalty points, a phone number, an email address, contact information, access information, etc. Other types of data 103 are contemplated, and the use of any type of data 103 as an example herein should not be considered a limitation of the present disclosure.

[0021] As shown, the memory 111 of the mobile device 110 includes an instance of an operating system (OS) 112. The example operating system 112 includes OS, and Operating system. As shown, OS112 includes account application 113, clipboard 114 and one or more other applications 115. Account application 113 allows users to perform various account-related operations, such as viewing account balances and processing payments described in more detail below. Initially, the user must authenticate using authentication credentials to access the account application. For example, authentication credentials may include a username and password, biometric credentials, etc. Clipboard 114 stores data that can be copied and / or pasted within OS112. For example, as discussed in more detail below, the account number (e.g., a portion of data 103) of an account associated with contactless card 101 can be programmatically copied to clipboard 114 in a secure manner using commands and / or gestures available within OS112. Then, the account number can be pasted from clipboard 114 to account application 113, other applications 115 and / or other components of OS112 using commands and / or gestures available within OS112. In at least one embodiment, clipboard 114 includes a single data field for all elements of data 103. In other embodiments, clipboard 114 includes multiple data fields, having at least one field for each element of data 103 (e.g., a field for an account number, a field for an expiration date, a field for a CVV number, a field for a first name, a field for a last name, etc.).

[0022] As shown, server 120 includes a data storage device 124 and memory 122 for account data. Account data 124 includes account-related data for multiple users and / or accounts. Account data 124 may include at least master key 105, counter 104, customer ID 107, associated contactless card 101, and biographical information for each account. Memory 122 includes management application 123 and data 103, counter 104, master key 105, and instances of diversified keys 106 for one or more accounts from account data 124.

[0023] Typically, the system 100 is configured to implement key diversification to protect data. The server 120 (or another computing device) and the contactless card 101 can be provided with the same master key 105 (also referred to as a master symmetric key). More specifically, each contactless card 101 is programmed with a different master key 105, which has a corresponding pair in the server 120. For example, when the contactless card 101 is manufactured, a unique master key 105 can be programmed into the memory 102 of the contactless card 101. Similarly, the unique master key 105 can be stored in the record of the customer associated with the contactless card 101 in the account data 124 of the server 120 (or stored in a different secure location). The master key can be kept confidential to all parties other than the contactless card 101 and the server 120, thereby enhancing the security of the system 100. Other examples of key diversification techniques are described in U.S. patent application 16 / 205,119 filed on November 29, 2018. The above patent application is incorporated herein by reference in its entirety.

[0024] The master key 105 can be used in conjunction with the counter 104 to enhance security using key diversification. The counter 104 includes a value synchronized between the contactless card 101 and the server 120. The counter value 104 can include a number that changes whenever data is exchanged between the contactless card 101 and the server 120 (and / or the contactless card 101 and the mobile device 110). In order to achieve NFC data transmission between the contactless card 101 and the mobile device 110, when the contactless card 101 is close enough to the card reader 118 of the mobile device 110, the account application 113 can communicate with the contactless card 101. The card reader 118 can be configured to read from the contactless card 101 and / or communicate with the contactless card 101 (e.g., via NFC, Bluetooth, RFID, etc.). Therefore, the example card reader 118 includes an NFC communication module, a Bluetooth communication module, and / or an RFID communication module.

[0025] For example, the user may tap the contactless card 101 against the mobile device 110 so that the contactless card 101 is close enough to the card reader 118 of the mobile device 110 to enable NFC data transfer between the contactless card 101 and the card reader 118 of the mobile device 110. After communication has been established between the client device 110 and the contactless card 101, the contactless card 101 generates a message authentication code (MAC) password. In some examples, this may occur when the contactless card 101 is read by the account application 113. In particular, this may occur when reading (such as NFC reading) a near field data exchange (NDEF) tag, which may be created according to the NFC data exchange format. For example, a reader such as the account application 113 and / or the card reader 118 may transmit a message (such as an applet selection message) having an applet ID of an applet that generates NDEF. After confirming the selection, a sequence of selected file messages followed by a read file message may be transmitted. For example, the sequence may include "select function file", "read function file" and "select NDEF file". At this point, the counter value 104 maintained by the contactless card 101 may be updated or incremented, followed by a "read NDEF file". At this point, a message may be generated that may include a header and a shared secret. A session key may then be generated. A MAC password may be created based on the message, which may include a header and a shared secret. The MAC password may then be concatenated with one or more random data blocks, and the MAC password and random number (RND) may be encrypted with the session key. Thereafter, the password and header may be concatenated and encoded as ASCII hexadecimal and returned in an NDEF message format (in response to a "read NDEF file" message). In some examples, the MAC password may be transmitted as an NDEF tag, and in other examples, the MAC password may be included with a uniform resource indicator (e.g., as a formatted string). The contactless card 101 may then transmit the MAC password to the mobile device 110, which may then forward the MAC password to the server 120 for verification, as explained below. However, in some embodiments, the mobile device 110 may verify the MAC password.

[0026] More generally, when preparing to send data (e.g., to the server 120 and / or the mobile device 110), the contactless card 101 can increment the counter value 104. The contactless card 101 can then provide the master key 105 and the counter value 104 as inputs to a cryptographic algorithm that produces a diversified key 106 as output. The cryptographic algorithm can include an encryption algorithm, a hash-based message authentication code (HMAC) algorithm, a password-based message authentication code (CMAC) algorithm, etc. Non-limiting examples of cryptographic algorithms can include symmetric encryption algorithms (such as 3DES or AES128), symmetric HMAC algorithms (such as HMAC-SHA-256 algorithms), and symmetric CMAC algorithms (such as AES-CMAC). The contactless card 101 can then encrypt the data (e.g., the customer identifier 107 and any other data) using the diversified key 106. The contactless card 101 can then transmit the encrypted data to the account application 113 of the mobile device 110 (e.g., via an NFC connection, a Bluetooth connection, etc.). The account application 113 of the mobile device 110 may then transmit the encrypted data to the server 120 via the network 130. In at least one embodiment, the contactless card 101 transmits the counter value 104 with the encrypted data. In such an embodiment, the contactless card 101 may transmit the encrypted counter value 104, or the unencrypted counter value 104.

[0027] Once the data is received, the management application 123 of the server 120 can perform the same symmetric encryption using the counter value 104 as an input for encryption and the master key 105 as a key for encryption. As stated, the counter value 104 can be specified in the data received from the mobile device 110, or in a counter value 104 maintained by the server 120 to implement key diversification for the contactless card 101. The output of the encryption can be the same diversified key value 106 created by the contactless card 101. The management application 123 can then decrypt the encrypted data received via the network 130 using the diversified key 106, which reveals the data transmitted by the contactless card 101 (e.g., at least the customer identifier 107). Doing so allows the management application 123 to verify the data transmitted by the contactless card 101 via the mobile device 110, for example by comparing the decrypted customer ID 107 with the customer ID in the account data 124 of the account.

[0028] Although counter 104 is used as an example, other data may be used to protect communications between contactless card 101, mobile device 110, and / or server 120. For example, counter 104 may be replaced with a random number generated each time a new diversified key 106 is needed, a full value of a counter value sent from contactless card 101 and server 120, a portion of a counter value sent from contactless card 101 and server 120, a counter independently maintained by contactless card 101 and server 120 but not sent between the two, a one-time passcode exchanged between contactless card 101 and server 120, and a cryptographic hash of data. In some examples, multiple diversified keys 106 may be created by each party using one or more portions of a diversified key 106.

[0029] As shown, the server 120 may include one or more hardware security modules (HSM) 125. For example, one or more HSM 125 may be configured to perform one or more cryptographic operations disclosed herein. In some examples, one or more HSM 125 may be configured as a dedicated security device that is configured to perform one or more cryptographic operations. The HSM 125 may be configured so that the key is never revealed outside the HSM 125, but is instead kept within the HSM 125. For example, one or more HSM 125 may be configured to perform at least one of key derivation, decryption, and MAC operations. One or more HSM 125 may be included in the server 120, or may be in data communication with the server.

[0030] As stated, data 103, such as contactless card 101 and / or server 120, may be securely copied to clipboard 114. In some embodiments, one or more data elements of data 103 are received directly from contactless card 101 and copied to clipboard. For example, the account number, expiration date, and CVV of contactless card 101 may be received from data 103 in one or more data packets of contactless card 101. In some embodiments, contactless card 101 may encrypt the requested element of data 103 and send a data packet containing encrypted data 103, which may be parsed and copied to clipboard 114 by account application 113 in response to receiving an indication of successful authentication of encrypted data generated by contactless card 101 (e.g., by server 120). In other embodiments, server 120 may authenticate the encrypted data generated by contactless card 101 and send data 103 stored in server 120 in one or more data packets to account application 113, which may copy data 103 received from server 120 to clipboard 114. In embodiments where data 103 is transmitted to mobile device 110 in a single packet (e.g., from card 101 and / or server 120), the single data packet may include delimiters and / or metadata that allows account application 113 to parse and extract each element of data 103 (e.g., account number, expiration date, CVV, billing address, and / or shipping address).

[0031] For example, a user of the account application 113 may specify that the data be copied to the clipboard 114. In response, the account application 113 may instruct the user to tap the contactless card 101 against the mobile device 110. Doing so causes the account application 113 to generate and send an instruction to the contactless card 101 to generate encrypted data 108. In response, the contactless card 101 increments the counter value 104 and provides the master key 105 and the counter value 104 as inputs to a cryptographic algorithm that produces a diversified key 106 as an output. The contactless card 101 may then encrypt the customer identifier 107 using the diversified key 106 to generate encrypted data 108. As stated, in some embodiments, the contactless card 101 may also encrypt the data 103 and include the encrypted data 103 as part of the encrypted data 108. The contactless card 101 may then transmit the encrypted data 108 to the account application 113 of the mobile device 110 (e.g., via an NFC connection, a Bluetooth connection, etc.). The account application 113 of the mobile device 110 may then transmit the encrypted data 108 to the server 120 via the network 130. In at least one embodiment, the contactless card 101 transmits the counter value 104 along with the encrypted data 108.

[0032] Once the encrypted data 108 is received, the management application 123 of the server 120 can verify the encrypted data 108 using key diversification. As stated, the management application 123 of the server 120 can perform the same symmetric encryption using the counter value 104 as an input for encryption and the master key 105 as a key for encryption to generate a diversified key 106. The management application 123 can then decrypt the encrypted data 108 received via the network 130 using the diversified key 106, which reveals the data transmitted by the contactless card 101 (e.g., at least the customer identifier 107). Doing so allows the management application 123 to verify the data transmitted by the contactless card 101 via the mobile device 110, for example by comparing the decrypted customer ID 107 with the customer ID in the account data 124 of the account, where a match of the customer ID values ​​verifies the encrypted data received from the contactless card 101.

[0033] If the management application 123 successfully verifies the encrypted data 108, the management application 123 may send an indication of the verification to the account application 113. As described, in some embodiments, the encrypted data 108 generated by the contactless card 101 may include the data 103. Therefore, in response to receiving the verification indication from the management application 123, the account application 113 decrypts and parses the encrypted data 108 received from the contactless card 101 to copy the decrypted data 103 to the clipboard 114. As described, in some embodiments, the management application 123 may further send the request data 103 from the server 120 to the account application 113. In such an embodiment, the account application 113 may copy the data 103 received from the server 120 to the clipboard 114.

[0034] In at least one embodiment, a time threshold may be applied to the request to copy data to the clipboard 114. In such an embodiment, the account application 113 may notify the server 120 that a request to copy data to the clipboard 114 has been initiated. The server 120 may then start a timer. If the timer value exceeds the time threshold, the server 120 may refrain from verifying the encrypted data 108, refrain from transmitting a verification indication of the encrypted data 108, and / or refrain from sending the data 103 from the server 120 to the account application 113. For example, if the server 120 receives the encrypted data 108 from the contactless card 101 via the mobile device 110 15 seconds after the timer is started, and the time threshold is 30 seconds, the server 120 may verify the encrypted data 108 and send the data 103 from the server 120 to the mobile device 110. However, if server 120 receives encrypted data 108 from contactless card 101 via mobile device 110 45 seconds after starting the timer, server 120 may avoid verifying encrypted data 108 and send a failure status to account application 113 , which may avoid copying the data to clipboard 114 .

[0035] Figure 1B The result of the verification process performed by the management application 123 is depicted. As shown, after verifying the encrypted data 108, the management application 123 of the server 120 sends the data 103 from the server 120 to the mobile device 110. In at least one embodiment, the management application 123 encrypts the data 103 before sending it to the account application 113. As described, the data 103 may include the account number, CVV, expiration date and / or billing address of the contactless card 101. In addition, as described, the account number may include a single-use virtual account number. Then, if the data 103 has been encrypted, the account application 113 may receive the data 103 and decrypt the received data 103. Then, the account application 113 may programmatically write the data 103 to the clipboard 114 without user input and without exposing the data 103. For example, the OS 112 may provide an application programming interface (API) for copying data to the clipboard 114. Therefore, the account application 113 may call the API, and the API includes the data 103 to be copied to the clipboard 114. The result of the API call may copy the provided data 103 to the clipboard 114. As another example, the account application 113 may copy the data 103 directly to the clipboard using one or more code statements supported by the OS 112. Once copied to the clipboard 114, the user may easily paste the data 103 from the clipboard 114 to other targets within the OS 112 using commands and / or gestures available within the OS 112.

[0036] In some embodiments, the data 103 copied to the clipboard 114 includes all relevant information required to make a purchase using the account associated with the contactless card 101 (e.g., account number, expiration date, CVV, billing address, and / or shipping address). However, in other embodiments, various elements of the data 103 may be incrementally copied to the clipboard 114 using one or more taps of the contactless card 101 and the mobile device 110. For example, a first tap of the contactless card 101 and the mobile device 110 may copy the account number of the data 103 to the clipboard 114, while a second tap of the contactless card 101 and the mobile device 110 may copy the expiration date to the clipboard 114, a third tap of the contactless card 101 and the mobile device 110 may copy the CVV to the clipboard 114, a fourth tap of the contactless card 101 may copy the shipping address to the clipboard 114, and a fifth tap of the contactless card 101 may copy the billing address to the clipboard 114. In one embodiment, the contactless card 101 generates a separate encrypted data 108 packet in response to each tap, and the server 120 verifies each encrypted data 108 packet before copying the corresponding data 103 to the clipboard 114. In some embodiments, a single encrypted data 108 packet is generated in response to the initial tap, and the server 120 verifies the single encrypted data 108 packet. In some such embodiments, the account application 113 can receive the data 103 from the server 120 in a single packet with separators and / or metadata identifying each data element in the data 103 (e.g., account number, expiration date, CVV, billing address, and / or shipping address). The account application 113 can parse the data elements using the separators and / or metadata to extract each element of the data from the single data 103 packet received from the server. The account application 113 can then copy the parsed data to the clipboard in response to each tap of the contactless card 101 and the mobile device 110. In some such embodiments, account application 113 may parse data 103 based on current fields displayed on device 110. For example, if an account number field is currently selected and / or displayed on device 110, account application 113 may parse the account number from data 103 and copy the account number to clipboard 114.

[0037] In addition, in some embodiments, the clipboard 114 can be based on Hypertext Markup Language (HTML). In such an embodiment, the data 103 can be wrapped in HTML. For example, the account number can be wrapped in HTML, indicating the existence of the account number. The expiration date, CVV, and address can also be wrapped in HTML. Therefore, when pasted from the clipboard 114, the HTML and data 103 are pasted to the target (e.g., a table in OS112, account application 113, and / or other application 115). In at least one embodiment, the clipboard 114 and / or OS112 can parse the table based on the data 103 and / or the generated HTML to associate the data 103 and / or the generated HTML with the fields of the table. For example, this can paste the account number, expiration date, CVV, billing address, and shipping address into the correct fields of the table, even if the table may use different HTML tags for the fields.

[0038] Furthermore, the account application 113 and / or the OS 112 may manage the data 103 copied to the clipboard 114. For example, after the data 103 has been stored in the clipboard 114 for a predefined amount of time, the data 103 may be deleted from the clipboard 114. As another example, after the data 103 has been used to make a purchase (e.g., after a threshold amount of time has passed since the data 103 was used to make a purchase), the data 103 may be deleted from the clipboard 114. Additionally and / or alternatively, the clipboard 114 may be modified to remove the data 103, for example, by copying random data to the clipboard 114.

[0039] Figure 2 2 is a schematic diagram 200 depicting an example embodiment of tapping to copy data to a clipboard via NFC. In general, the schematic diagram 200 depicts an embodiment in which the account application 113 reads the data 103 directly from the contactless card 101 (e.g., via the card reader 118). As shown, for example, in response to receiving a user input specifying that data is to be copied from the contactless card 101 to the clipboard 114, the account application 113 on the mobile device 110 can specify that the contactless card 101 is tapped to the mobile device 110. Once the contactless card 101 is tapped to the mobile device 110, the account application 113 sends an indication to the contactless card 101 via the NFC card reader 118 to send the data 103. The contactless card 101 can then send the data 103 to the account application 113 via NFC. The account application 113 can then copy the received data 103 to the clipboard 114. As described, the data 103 can include one or more of an account number, an expiration date, and a CVV. Data 103 may then be pasted from clipboard 114 to any number and types of targets within OS 112 .

[0040] Figure 3A3 is a schematic diagram 300 depicting an example embodiment of tapping to copy data to a clipboard via NFC. Figure 3A An embodiment of an account number in which a single tap is used to copy data 103 is reflected. As shown, for example, in response to receiving user input specifying that data 103 is to be copied to a clipboard 114, an account application 113 on a mobile device 110 can specify that the contactless card 101 is to be tapped to the mobile device 110. Once the contactless card 101 is tapped to the mobile device 110, the account application 113 sends an instruction to the contactless card 101 via the NFC reader 118 to transfer the data. In one embodiment, the contactless card 101 sends the account number directly to the mobile device 110 via NFC, wherein the reader 118 provides the received data to the account application 113, which then copies the account number to the clipboard 114. In such an embodiment, an applet (e.g., Figure 4B The applet 440 of the embodiment can maintain counter values ​​to determine the sending account and increase the counter value in response to each tap. In such an embodiment, at least one counter value is associated with the sending account, at least one other counter value is associated with the sending deadline, and at least one other counter value is associated with the transmission CVV.

[0041] In another embodiment, the contactless card 101 can perform encryption using key diversification as described above to generate encrypted data (e.g., encrypted data 108), and send the encrypted data to the account application 113. The account application 113 can then send the encrypted data to the server 120, where the management application 123 verifies the encrypted data using key diversification as described above. The management application 123 can then send the account number to the account application 113, which then copies the account number to the clipboard 114.

[0042] Regardless of the technique used to copy the account number of the contactless card 101 to the clipboard 114, the user can then paste the account number as desired. In addition, if desired, the user can additionally tap the contactless card 101 against the mobile device 110 to copy the expiration date of the contactless card 101 to the clipboard 114.

[0043] Figure 3B310 is a diagram depicting an example embodiment in which a user has tapped a contactless card 101 against a mobile device 110 to copy the expiration date of the contactless card 101 to a clipboard 114. Once the contactless card 101 is tapped against the mobile device 110, the account application 113 sends an instruction to the contactless card 101 to send data via the NFC reader 118. In one embodiment, the contactless card 101 sends the expiration date directly to the mobile device 110 via NFC, and the account application 113 copies the expiration date to the clipboard 114. In such an embodiment, the applet of the contactless card 101 can increment a counter value in response to the tap and reference the counter value to determine the sending expiration date.

[0044] In another embodiment, the contactless card 101 may perform encryption using key diversification as described above to generate encrypted data (e.g., encrypted data 108), and send the encrypted data to the account application 113. The account application 113 may then send the encrypted data to the server 120, where the management application 123 verifies the encrypted data using key diversification as described above. The management application 123 may then send the expiration date to the account application 113, which then copies the expiration date to the clipboard 114. Doing so allows the user to paste the expiration date as desired. In addition, if desired, the user may additionally tap the contactless card 101 against the mobile device 110 to copy the CVV of the contactless card 101 to the clipboard 114.

[0045] Figure 3C 320 is a diagram depicting an example embodiment in which a user has tapped a contactless card 101 against a mobile device 110 to copy the CVV of the contactless card 101 to a clipboard 114. Once the contactless card 101 is tapped against the mobile device 110, the account application 113 sends an instruction to the contactless card 101 via the NFC reader 118 to send data. In one embodiment, the contactless card 101 sends the CVV directly to the mobile device 110 via NFC. The reader 118 can then provide the CVV to the account application 113, which then copies the CVV to the clipboard 114. In such an embodiment, the applet of the contactless card 101 can increment a counter value in response to the tap and reference the counter value to determine to send the CVV.

[0046] In another embodiment, the contactless card 101 may perform encryption using key diversification as described above to generate encrypted data (e.g., encrypted data 108), and send the encrypted data to the account application 113. The account application 113 may then send the encrypted data to the server 120, where the management application 123 verifies the encrypted data using key diversification as described above. The management application 123 may then send the CVV to the account application 113, which then copies the CVV to the clipboard 114. Doing so allows the user to paste the CVV as needed.

[0047] In some embodiments, the initial tap of the contactless card 101 against the mobile device 110 (e.g., Figure 3A ) causes the contactless card 101 and / or server 120 to transmit the account number, expiration date, and CVV to the account application 113 (e.g., in an NDEF file). In such an embodiment, the account application 113 copies the account number from the NDEF file to the clipboard 114 in response to the first tap. In response to the second tap, the account application 113 copies the expiration date from the NDEF file to the clipboard 114 without receiving any additional data from the contactless card 101 and / or server 120. In response to the third tap, the account application 113 copies the CVV from the NDEF file to the clipboard 114 without receiving any additional data from the contactless card 101 and / or server 120.

[0048] Figure 4A A contactless card 101 is shown, which may include a payment card, such as a credit card, a debit card, and / or a gift card. As shown, the contactless card 101 may be issued by a service provider 405 displayed on the front or back of the card 101. In some examples, the contactless card 101 is unrelated to the payment card and may include, but is not limited to, an identification card. In some examples, the payment card may include a dual-interface contactless payment card. The contactless card 101 may include a substrate 410, which may include a single layer or one or more laminated layers consisting of plastic, metal, and other materials. Exemplary substrate materials include polyvinyl chloride, polyvinyl chloride acetate, acrylonitrile butadiene styrene, polycarbonate, polyester, anodized titanium, palladium, gold, carbon, paper, and biodegradable materials. In some examples, the contactless card 101 may have physical properties that conform to the ID-1 format of the ISO / IEC 7810 standard, and the contactless card may additionally conform to the ISO / IEC 14443 standard. However, it should be understood that a contactless card 101 according to the present disclosure may have different characteristics and the present disclosure does not require the implementation of a contactless card in a payment card.

[0049] The contactless card 101 may also include identification information 415 displayed on the front and / or back of the card, and a contact pad 420. The contact pad 420 may be configured to establish contact with another communication device (such as a user device, a smart phone, a laptop, a desktop computer, or a tablet computer). The contactless card 101 may also include a processing circuit system, an antenna, and a Figure 4A Other components not shown in the figure. These components may be located behind the contact pad 420 or elsewhere on the substrate 410. The contactless card 101 may also include a back side of the card ( Figure 4A A magnetic strip or tape (not shown).

[0050] like Figure 4B As shown, Figure 4A The contact pads 420 may include a processing circuit system 425 for storing and processing information, the processing circuit system including a microprocessor 430 and memory 102. It should be understood that the processing circuit 425 may contain additional components necessary to perform the functions described herein, including processors, memories, error and parity / CRC checkers, data encoders, anti-collision algorithms, controllers, command decoders, security primitives, and anti-tampering hardware.

[0051] The memory 102 may be a read-only memory, a write-once read-many memory, or a read / write memory, such as a RAM, a ROM, and an EEPROM, and the contactless card 101 may include one or more of these memories. The read-only memory may be a factory-programmable read-only memory or a one-time programmable memory. One-time programmability provides an opportunity to write once and then read multiple times. The write-once / read-many memory may be programmed at a certain point in time after the memory chip has been shipped. Once the memory is programmed, it may not be rewritten, but it may be read multiple times. The read / write memory may be programmed and reprogrammed multiple times after shipping. The read / write memory may also be read multiple times after shipping.

[0052] Memory 102 can be configured to store one or more applets 440, one or more elements of data 103, one or more counters 104, master key 105, diversified key 106, and customer identifier 107. One or more applets 440 may include one or more software applications configured to be executed on one or more contactless cards, such as Java card applets. However, it should be understood that applets 440 are not limited to Java card applets, and may instead be any software application that can operate on contactless cards or other devices with limited memory. One or more counters 104 may include a digital counter sufficient to store integers. Customer identifier 107 may include a unique alphanumeric identifier assigned to a user of contactless card 101, and the identifier may distinguish the user of the contactless card from other contactless card users. In some examples, customer identifier 107 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.

[0053] The processor and memory elements of the foregoing exemplary embodiments are described with reference to the contact pads, but the present disclosure is not limited thereto. It should be understood that these elements may be implemented outside of the pad 420, or completely separate from the pad, or as other elements outside of the processor 430 and memory 102 elements located within the contact pad 420.

[0054] In some examples, contactless card 101 may include one or more antennas 455. One or more antennas 455 may be placed within contactless card 101 and around processing circuitry 425 of contact pad 420. For example, one or more antennas 455 may be integral with processing circuitry 425, and one or more antennas 455 may be used with an external booster coil. As another example, one or more antennas 455 may be external to contact pad 420 and processing circuitry 425.

[0055] In an embodiment, the coil of the contactless card 101 can act as the secondary coil of an air-core transformer. The terminal can communicate with the contactless card 101 by cutting off power or amplitude modulation. The contactless card 101 can use the gap in the power connector of the contactless card to infer the data transmitted from the terminal, and the power connection can be maintained in terms of function by one or more capacitors. The contactless card 101 can communicate by switching the load or load modulation on the coil of the contactless card. The load modulation can be detected in the terminal coil by interference. More generally, using the antenna 455, the processing circuit system 425 and / or the memory 102, the contactless card 101 provides a communication interface to communicate by NFC, Bluetooth and / or Wi-Fi communication.

[0056] As explained above, the contactless card 101 can be built on a software platform that can operate on a smart card or other device with limited memory (e.g., JavaCard), and can securely execute one or more applications or applets. Applets can be added to contactless cards to provide one-time passwords (OTPs) for multi-factor authentication (MFA) in various mobile application-based use cases. The applet can be configured to respond to one or more requests (such as near field data exchange requests) from a reader (such as (e.g., a mobile device 110) mobile NFC reader) and generate an NDEF message including an encrypted and secure OTP encoded as an NDEF text tag.

[0057] Figure 5 An embodiment of a logic flow 500 is shown. The logic flow 500 may represent some or all of the operations performed by one or more embodiments described herein. For example, the logic flow 500 may include some or all of the operations for securely copying data associated with the contactless card 101 using key diversification. The embodiments are not limited in this context.

[0058] As shown, the logic flow 500 begins at block 505, where the contactless card 101 and the server 120 are provided with the same master key 105. At block 510, the user taps the contactless card 101 against the mobile device to cause the contactless card 101 to generate and transmit encrypted data (e.g., encrypted data 108). The user may tap the contactless card 101 in response to providing an input to the account application 113 specifying that the data 103 is copied to the clipboard. The account application 113 may transmit an indication to the contactless card 101 via the NFC reader 118 specifying the generation and transmission of encrypted data. In response to receiving the indication to generate encrypted data, the contactless card 101 may increment the counter value 104 in the memory 102. At block 515, the contactless card 101 generates a diversified key 106 using the counter value 104 and the master key 105 in the memory 102 and the cryptographic algorithm. At block 520 , the contactless card 101 encrypts data (eg, the customer identifier 107 ) using the diversified key 106 and a cryptographic algorithm to generate encrypted data (eg, encrypted data 108 ).

[0059] At box 525, the contactless card 101 may transmit the encrypted data to the account application 113 of the mobile device 110 using NFC. In at least one embodiment, the contactless card 101 also includes an indication of the counter value 104 along with the encrypted data. At box 530, the account application 113 of the mobile device 110 may transmit the data received from the contactless card 101 to the management application 123 of the server 120. At box 535, the management application 123 of the server 120 may generate a diversified key 106 using the master key 105 and the counter value 104 as inputs to a cryptographic algorithm. In one embodiment, the management application 123 uses the counter value 104 provided by the contactless card 101. In another embodiment, the management application 123 increments the counter value 104 in the memory 122 to synchronize the state of the counter value 104 in the memory 122 with the counter value 104 in the memory 102 of the contactless card 101.

[0060] At block 540, the management application 123 uses the diversified key 106 and the cryptographic algorithm to decrypt the encrypted data received from the contactless card 101 via the mobile device 110. This may generate at least the customer identifier 107. With the customer identifier 107 generated, at block 545, the management application 123 may verify the data received from the contactless card 101. For example, the management application 123 may compare the customer identifier 107 with the customer identifier of the account associated in the account data 124 and verify the data based on a match.

[0061] At box 550, the management application 123 can send the data 103 associated with the contactless card 101 to the account application 113 of the mobile device 110. For example, the management application 123 can send the account number, expiration date, and CVV. In one embodiment, the management application 123 generates a virtual account number that is sent to the account application 113 of the mobile device 110. At box 555, the account application 113 of the mobile device 110 copies the data 103 received from the server 120 to the clipboard of the OS 112. At box 560, the data 103 that has been copied to the clipboard 114 can be pasted into a form. The form can be a component of the account application 113, other applications 115, and / or the OS 112.

[0062] Figure 6 An embodiment of a logic flow 600 is shown. The logic flow 600 may represent some or all operations performed by one or more embodiments described herein. For example, the logic flow 600 may include some or all operations of pasting data from the clipboard 114 to an application form. The embodiments are not limited in this context.

[0063] As shown, the logic flow 600 begins at box 610, where the account application 113 and / or OS112 identifies a table containing table fields in an application. The application may be one or more of the account application 113 and / or other applications 115. For example, the account application 113 and / or OS112 may parse the source code of the table to identify the fields of the table. At box 620, the account application 113 and / or OS112 may map the elements of the data 103 copied to the clipboard 114 (e.g., account number, expiration date, and / or CVV) to the corresponding table fields. For example, the account application 113 and / or OS112 may use fuzzy matching and / or rules to map the account number, expiration date, and CVV to the appropriate fields of the table.

[0064] At box 630, the account application 113 and / or OS112 can selectively generate HTML for the data 103 stored in the clipboard 114, thereby adding the HTML to the data 103 in the clipboard 114. Doing so can allow the account application 113 and / or OS112 to inject the data 103 into the form. At box 640, the account application 113 and / or OS112 copies the data 103 to the mapped form field. At box 650, the account application 113 and / or OS112 can modify and / or delete the contents of the clipboard 114 after the purchase is made using the data 103 of the contactless card 101. At box 660, the account application 113 and / or OS112 can modify and / or delete the contents of the clipboard 114 after the time limit for storing the data 103 in the clipboard 114 expires. Doing so enhances the security of the data 103 (e.g., account number, identification information, account information, etc.).

[0065] Figure 7 An embodiment of a logic flow 700 is shown. The logic flow 700 may represent some or all of the operations performed by one or more embodiments described herein. For example, the logic flow 700 may include some or all of the operations of copying the data 103 to the clipboard 114 using multiple taps of the contactless card 101 to the mobile device 110. The embodiments are not limited in this context.

[0066] As shown, the logic flow 700 begins at box 710, where the user taps the contactless card 101 against the mobile device 110. This causes the account application 113 to send an instruction to the contactless card 101 to generate encrypted data using key diversification. The account application 113 can further increase the tap counter in response to the tap. At box 720, the contactless card 101 increases the counter value 104 as described above and generates encrypted data 108. At box 730, the account application 113 receives the encrypted data 108 from the contactless card 101 via NFC and sends the encrypted data 108 to the server 120. The server 120 can then verify the encrypted data 108 using key diversification as described above. At box 740, after the server 120 verifies the encrypted data 108, the account application 113 receives the data 103 from the server 120. The data 103 may include one or more of an account number, an expiration date, and a CVV associated with the contactless card 101.

[0067] At block 750, the account application 113 may copy the data 103 to the clipboard 114. As described, the account application 113 may paste one data element based on the current value of the tap counter. For example, the counter value associated with the first tap of the contactless card 101 on the mobile device 110 may be associated with copying the account number to the clipboard 114. Similarly, the counter value associated with the second tap may be associated with copying the expiration date to the clipboard 114, and the counter value associated with the third tap may be associated with copying the CVV to the clipboard 114. At block 760, the account application 113 determines whether more data 103 remains. For example, if the tap counter indicates that the account number has been copied to the clipboard 114, the account application 113 may determine that the expiration date and / or CVV are still copied to the clipboard 114. Thus, the logic flow 700 returns to block 710. Otherwise, the logic flow 700 ends.

[0068] In some examples, the contactless card 101 can be tapped against a device (such as one or more computer kiosks or terminals) to verify identity, thereby receiving a transaction item in response to a purchase, such as coffee. By using the contactless card 101, a secure method for proving identity in a loyalty program can be established. Establishing secure identity proof in a manner different from simply scanning a barcode card, such as to obtain a reward, coupon, discount, etc. or the receipt of a benefit. For example, an encrypted transaction can occur between the contactless card 101 and a device, which can be configured to process one or more tap gestures. As explained above, one or more applications can be configured to verify the identity of the user, and then enable the user to act or respond to it, for example, by one or more tap gestures. In some examples, data such as bonus points, loyalty points, reward points, health care information, etc. can be written back to the contactless card.

[0069] In some examples, the contactless card 101 may be tapped against a device, such as the mobile device 110. As explained above, the identity of the user may be verified by one or more applications, which may then grant the user desired benefits based on the verification of the identity.

[0070] In some embodiments, the example authentication communication protocol can mimic the offline dynamic data authentication protocol of the EMV standard with some modifications that is typically performed between a transaction card and a point-of-sale device. For example, because the example authentication protocol itself is not used to complete a payment transaction with a card issuer / payment processor, some data values ​​are not required, and authentication can be performed without involving a real-time online connection with the card issuer / payment processor. Some point-of-sale (POS) systems submit transactions including transaction values ​​to card issuers. Whether the issuer approves or denies the transaction may be based on whether the issuer recognizes the transaction value. At the same time, in certain embodiments of the present disclosure, transactions originating from mobile devices lack transaction values ​​associated with the POS system. Therefore, in some embodiments, a pseudo transaction value (i.e., a value that is recognizable to the card issuer and sufficient to allow activation to occur) can be passed as part of the example authentication communication protocol. POS-based transactions can also reject transactions based on the number of transaction attempts (e.g., a transaction counter). The number of attempts exceeding the buffer value may result in a soft decline; a soft decline requires further verification before accepting the transaction. In some implementations, the buffer value of the transaction counter can be modified to avoid rejecting legitimate transactions.

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

[0072] If the contactless card 101 tap is running Apple If you have a device running the same operating system, such as an iPhone, iPod or iPad, contactless cards can be recognized The contactless card 101 may provide encrypted identity information required to authenticate the card using an NDEF tag, such as NFC. Similarly, if the contactless card is tapped against the operating system and transmits appropriate data to communicate with this device. Operating system devices, e.g. smartphone or tablet, the contactless card can be recognized operating system and transmits appropriate data (such as encrypted identity information required for authentication via the methods described herein) to communicate with this device.

[0073] As another example, the contactless card tap can be directed to a POS device, including but not limited to a kiosk, a checkout register, a payment station, or other terminal. When performing the tap, the contactless card 101 can identify the POS device and transmit only the information required for the action or transaction. For example, after identifying the POS device used to complete a commercial transaction, the contactless card 101 can communicate the payment information required to complete the transaction in accordance with the EMV standard.

[0074] In some examples, a POS device participating in a transaction may require or specify additional information to be provided by the contactless card, such as device-specific information, location-specific information, and transaction-specific information. For example, once the POS device receives data communications from a contactless card, the POS device may identify the contactless card and request additional information required to complete the action or transaction.

[0075] In some examples, the POS device may be affiliated with an authorized merchant or other entity familiar with certain contactless cards or accustomed to performing certain contactless card transactions. However, it should be understood that performance of the described methods does not require such an affiliation.

[0076] In some examples, such as shopping stores, grocery stores, convenience stores, etc., contactless card 101 may be tapped against a mobile device without opening an application to indicate a desire or intent to cover one or more purchases with one or more of reward points, loyalty points, coupons, offers, etc. Thus, the intent behind the purchase is provided.

[0077] In some examples, one or more applications may be configured to determine that it was initiated via one or more tap gestures of contactless card 101 such that the initiation occurred at 3:51 pm and the transaction was processed or conducted at 3:56 pm in order to verify the user's identity.

[0078] In some examples, one or more applications can be configured to control one or more actions in response to one or more tap gestures. For example, the one or more actions can include collecting rewards, collecting points, determining the most important purchases, determining the cheapest purchases, and / or reconfiguring to another action in real time.

[0079] In some examples, data about the tapping behavior can be collected as a biometric / gesture authentication. For example, a unique identifier that is cryptographically secure and not easily intercepted can be transmitted to one or more backend services. The unique identifier can be configured to look up secondary information about the individual. The secondary information can include personally identifiable information about the user. In some examples, the secondary information can be stored in a contactless card.

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

[0081] In some examples, the present disclosure relates to the tapping of a contactless card. However, it should be understood that the present disclosure is not limited to tapping, and the present disclosure includes other gestures (e.g., swiping or other movement of a card).

[0082] Figure 8 An embodiment of an exemplary computing architecture 800 including a computing system 802 is shown, which may be suitable for implementing various embodiments as described above. In various embodiments, the computing architecture 800 may include or be implemented as part of an electronic device. In some embodiments, the computing architecture 800 may represent, for example, a system that implements one or more components of the system 100. In some embodiments, the computing system 802 may represent, for example, a mobile device 110 and a server 120 of the system 100. The embodiments are not limited in this regard. More generally, the computing architecture 800 is configured to implement the various embodiments described herein with reference to FIGS. 1 to 11 . Figure 6 All logic, applications, systems, methods, devices and functions described.

[0083] As used in this application, the terms "system" and "component" and "module" are intended to refer to computer-related entities, hardware, a combination of hardware and software, software, or software in execution, examples of which are provided by the exemplary computing architecture 800. For example, a component can be, but is not limited to, a process running on a computer processor, a computer processor, a hard drive, multiple storage drives (optical and / or magnetic storage media), an object, an executable file, a thread of execution, a program, and / or a computer. For example, both an application running on a server and a server can be a component. One or more components can reside in a process and / or a thread of execution, and a component can be located on a computer and / or distributed between two or more computers. Further, components can be communicatively coupled to each other through various types of communication media to coordinate operations. Coordination can include unidirectional or bidirectional information exchange. For example, a component can communicate information in the form of a signal transmitted through a communication medium. The information can be implemented as a signal assigned to various signal lines. In this assignment, each message is a signal. However, other embodiments can alternatively use data messages. Such data messages can be sent through various connections. Exemplary connections include parallel interfaces, serial interfaces, and bus interfaces.

[0084] The computing system 802 includes various common computing elements, such as one or more processors, multi-core processors, coprocessors, memory units, chipsets, controllers, peripherals, interfaces, oscillators, timing devices, video cards, sound cards, multimedia input / output (I / O) components, power supplies, etc. However, embodiments are not limited to implementation by the computing system 802.

[0085] like Figure 8 As shown, computing system 802 includes processor 804, system memory 806, and system bus 808. Processor 804 can be any of a variety of commercially available computer processors, including but not limited to and processor; Application, embedded and security processors; and and Processors; IBM and Cell processor; Core(2) and Dual microprocessors, multi-core processors, and other multi-processor architectures may also be used as processor 804 .

[0086] The system bus 808 provides an interface for system components, including but not limited to the interface of the system memory 806 to the processor 804. The system bus 808 can be any of several types of bus structures, which can also interconnect to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. Interface adapters can be connected to the system bus 808 through a slot architecture. Example slot architectures can include but are not limited to accelerated graphics port (AGP), card bus, (extended) industry standard architecture ((E)ISA), micro channel architecture (MCA), peripheral component interconnect (extended) (PCI (X)), PCI Express, personal computer memory card international association (PCMCIA), etc.

[0087] The system memory 806 may include various types of computer-readable storage media in the form of one or more high-speed memory cells, such as read-only memory (ROM), random access memory (RAM), dynamic random access memory (DRAM), double data rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEROM), flash memory (e.g., one or more flash memory arrays), polymer memory such as ferroelectric polymer memory, bidirectional memory, phase change or ferroelectric memory, silicon oxide nitride oxide silicon (SONOS) memory, magnetic or optical cards, device arrays such as redundant array of independent disks (RAID) drives, solid-state memory devices (e.g., USB memory, solid-state drive (SSD)), and any other type of storage medium suitable for storing information. Figure 8 In the illustrated embodiment shown in FIG. 8 , system memory 806 may include non-volatile memory 810 and / or volatile memory 812 . A basic input / output system (BIOS) may be stored in non-volatile memory 810 .

[0088] The computing system 802 may include various types of computer-readable storage media in the form of one or more low-speed storage units, including an internal (or external) hard disk drive (HDD) 814, a magnetic floppy disk drive (FDD) 816 that reads from or writes to a removable magnetic disk 818, and an optical drive 820 that reads from or writes to a removable optical disk 822 (e.g., a CD-ROM or DVD). The HDD 814, FDD 816, and optical drive 820 may be connected to the system bus 808 via a HDD interface 824, a FDD interface 826, and an optical drive interface 828, respectively. The HDD interface 824 for external drive implementations may include at least one or both of a universal serial bus (USB) and IEEE 1394 interface technologies. The computing system 802 is typically configured to implement the computer systems described herein with reference to FIGS. 1 to 13. Figure 7 All logic, systems, methods, devices and functions described herein.

[0089] The drives and associated computer-readable media provide volatile and / or nonvolatile storage of data, data structures, computer-executable instructions, etc. For example, a number of program modules may be stored in the drives and memory units 810, 812, including an operating system 830, one or more applications 832, other program modules 834, and program data 836. In one embodiment, the one or more applications 832, other program modules 834, and program data 836 may include, for example, various applications and / or components of the system 100, such as the OS 112, the account application 113, the clipboard 114, other applications 115, and the management application 123.

[0090] A user may enter commands and information into the computing system 802 through one or more wired / wireless input devices, such as a keyboard 838 and a pointing device, such as a mouse 840. Other input devices may include a microphone, an infrared (IR) remote control, a radio frequency (RF) remote control, a game pad, a stylus, a card reader, a dongle, a fingerprint reader, a glove, a graphics tablet, a joystick, a keyboard, a retina reader, a touch screen (e.g., a capacitive touch screen, a resistive touch screen, etc.), a trackball, a trackpad, a sensor, a stylus, etc. These and other input devices are typically connected to the processor 804 through an input device interface 842 coupled to the system bus 808, but may also be connected through other interfaces, such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR port, etc.

[0091] A monitor 844 or other type of display device is also connected to the system bus 808 via an interface, such as a video adapter 846. The monitor 844 may be internal or external to the computing system 802. In addition to the monitor 844, computers typically include other peripheral output devices, such as speakers, printers, and the like.

[0092] The computing system 802 can operate in a networked environment using logical connections to one or more remote computers (e.g., remote computers 848) via wired and / or wireless communications. The remote computer 848 can be a workstation, server computer, router, personal computer, portable computer, microprocessor-based entertainment appliance, peer-to-peer device, or other public network node, and typically includes many or all of the elements described relative to the computing system 802, although only a memory / storage device 850 is shown for simplicity. The depicted logical connections include wired / wireless connections to a local area network (LAN) 852 and / or a larger network (e.g., a wide area network (WAN) 854). Such LAN and WAN networking environments are common in offices and companies, and facilitate enterprise-wide computer networks, such as intranets, all of which can be connected to a global communications network, such as the Internet. In an embodiment, the network 130 of FIG. 1 is one or more of a LAN 852 and a WAN 854.

[0093] When used in a LAN networking environment, the computing system 802 is connected to the LAN 852 through a wired and / or wireless communication network interface or adapter 856. The adapter 856 can facilitate wired and / or wireless communication to the LAN 852, which can also include a wireless access point disposed thereon for communicating with the wireless functionality of the adapter 856.

[0094] When used in a WAN networking environment, the computing system 802 may include a modem 858, or be connected to a communications server on the WAN 854, or have other means for establishing communications over the WAN 854, such as through the Internet. The modem 858 (which may be internal or external, and a wired and / or wireless device) is connected to the system bus 808 via the input device interface 842. In a networked environment, program modules depicted relative to the computing system 802, or portions thereof, may be stored in the remote memory / storage device 850. It should be appreciated that the network connections shown are exemplary, and other means of establishing a communications link between the computers may be used.

[0095] The computing system 802 is operable to communicate with wired and wireless devices or entities using the IEEE 802 family of standards, such as wireless devices that are operatively arranged to be in wireless communication (e.g., IEEE 802.16 over-the-air modulation technology). This includes at least Wi-Fi (or Wireless Fidelity), WiMax, and Bluetooth wireless technologies, among others. Thus, the communication may be a predefined structure like a conventional network, or simply an ad hoc communication between at least two devices. Wi-Fi networks use radio technologies called IEEE 802.11x (a, b, g, n, etc.) to provide secure, reliable, and fast wireless connections. Wireless networks can be used to connect computers to each other, to the Internet, and to wired networks (which use media and functions associated with IEEE 802.3).

[0096] Various embodiments can be implemented using hardware elements, software elements or a combination of the two. The example of hardware elements can include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, etc.), integrated circuits, application specific integrated circuits (ASICs), programmable logic devices (PLDs), digital signal processors (DSPs), field programmable gate arrays (FPGAs), logic gates, registers, semiconductor devices, chips, microchips, chipsets, etc. The example of software can include software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, processes, software interfaces, application interfaces (APIs), instruction sets, computing codes, computer codes, code segments, computer code segments, words, values, symbols or any combination thereof. Determining whether an embodiment is implemented using hardware elements and / or software elements can vary according to many factors, such as desired computing rate, power level, heat resistance, processing cycle budget, input data rate, output data rate, memory resources, data bus speed and other design or performance constraints.

[0097] One or more aspects of at least one embodiment may be implemented by representative instructions representing various logics within a processor stored on a machine-readable medium, which, when read by a machine, cause the machine to manufacture logic to perform the techniques described herein. Such a representative, referred to as an "IP core", may be stored on a tangible machine-readable medium and supplied to various customers or manufacturing facilities to be loaded into a manufacturing machine that manufactures logic or a processor. Some embodiments may be implemented, for example, using a machine-readable medium or article, which may store an instruction or a set of instructions that, if executed by a machine, may cause the machine to perform methods and / or operations according to an embodiment. Such a machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, etc., and may be implemented using any suitable combination of hardware and / or software. The machine-readable medium or article may include, for example, any suitable type of memory unit, memory device, memory article, storage medium, storage device, storage article, storage medium and / or storage unit, such as memory, removable or non-removable media, erasable or non-erasable media, writable or rewritable media, digital or analog media, hard disk, floppy disk, compact disk read only memory (CD-ROM), compact disk recordable (CD-R), compact disk rewritable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory cards or disks, various types of digital versatile disks (DVDs), magnetic tapes, cassettes, etc. The instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, etc., implemented using any suitable high-level, low-level, object-oriented, visual, compiled and / or interpreted programming language.

[0098] The foregoing description of example embodiments has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise form disclosed. Many modifications and variations are possible in light of the disclosure. The scope of the disclosure is not intended to be limited by this detailed description, but rather by the appended claims. Future filed applications claiming priority to the present application may claim the disclosed subject matter in different ways, and may generally include any set of one or more limitations variously disclosed or otherwise presented herein.

Claims

1. A device comprising: processor circuit; and a memory storing instructions for at least a first application and an operating system, the instructions, when executed by the processor circuit, causing the processor circuit to: performing, by the first application via the communication interface and the operating system, a short range communication exchange with a contactless card to receive data from the contactless card, wherein the contactless card is associated with an account; receiving, by the first application, the data from the contactless card via the communication interface and the operating system; and The data is provided by the first application to a clipboard of the operating system, wherein the data is stored in a memory associated with the clipboard and configured to be copied into at least one field.

2. The device according to claim 1, wherein: The data includes an expiration date of the contactless card, a card verification value (CVV) of the contactless card, an account number of the contactless card, or a combination thereof.

3. The device according to claim 1, wherein: The operating system is further configured to cause the processor circuit to: detecting a request to copy the data to the at least one field; and The data is copied from the clipboard into the at least one field.

4. The device according to claim 3, wherein: The at least one field is included in a table.

5. The device according to claim 4, wherein: The form includes Hypertext Markup Language (HTML) tags, and the processor circuit copies the data to the at least one field based on the HTML tags.

6. The device according to claim 1, wherein: The at least one field includes an expiration date field, a CVV field, an account number field, or any combination thereof.

7. The device according to claim 1, wherein: The data is received from the contactless card in a message in a Near Field Communication (NFC) Data Exchange Format (NDEF).

8. The device according to claim 1, wherein: The data is received in a message in a format according to the International Organization for Standardization (ISO) / International Electrotechnical Commission (IEC) 14443 format.

9. The device according to claim 1, comprising: Display devices; and The instructions are further configured to cause the processor circuit to: Instructions are presented on the display device to tap the contactless card on the surface of the apparatus.

10. The device according to claim 9, wherein: The instructions are also configured to: detecting, by the operating system, the contactless card in response to the contactless card coming within a short-range wireless communication range of the device and based on an indication of a tap; and The short range communication exchange is performed by the first application based on detection of the contactless card.

11. A computer-implemented method comprising: initiating, by an application executing on a computing device, a short-range wireless communication exchange with a contactless card via a short-range wireless communication interface of the computing device; receiving, by the application, data from the contactless card via the short-range wireless communication interface in the short-range wireless communication exchange; as well as The data is sent by the application to an operating system of the computing device to be stored in a clipboard application for the operating system, wherein the data is configured for copying to at least one or more fields of one or more applications.

12. The method according to claim 11, wherein: The data includes an expiration date of the contactless card, a card verification value (CVV) of the contactless card, an account number of the contactless card, or a combination thereof.

13. The method according to claim 11, comprising: detecting, by the operating system, a request to copy the data to a field of one of the one or more applications; as well as The data is copied from the clipboard into the field by the operating system.

14. The method of claim 13, comprising identifying, by the operating system, a Hypertext Markup Language (HTML) tag associated with the field to copy the data.

15. The method according to claim 11, wherein: The data is received from the contactless card in a message in a Near Field Communication (NFC) Data Exchange Format (NDEF).

16. The method according to claim 11, wherein: The data is received in a message in a format according to the International Organization for Standardization (ISO) / International Electrotechnical Commission (IEC) 14443 format.

17. The method of claim 11, comprising presenting, by the application, an indication on a display device of the computing device to tap the contactless card on a surface of the computing device, the short-range wireless exchange being initiated based on the tap.

18. A computer readable storage medium having a computer readable program code executable by a processor circuit to cause the processor circuit to: initiating a short-range wireless communication exchange with a contactless card via a short-range wireless communication interface; requesting data from the contactless card in the short-range wireless communication exchange; receiving the data from the contactless card; and The data is copied to a clipboard of the operating system to store at least the one or more fields for copying to one or more applications.

19. The computer-readable storage medium of claim 18, wherein: The computer readable program code executable by the processor circuit is further configured to cause the processor circuit to: detecting a request to copy the data to a field of one of the one or more applications; and Copies the data from the clipboard into the field.

20. The computer-readable storage medium of claim 18, wherein: The data includes an expiration date of the contactless card, a card verification value (CVV) of the contactless card, an account number of the contactless card, or a combination thereof.

Citation Information

Patent Citations

  • Systems and methods for cryptographic authentication of contactless cards

    US10581611B1