Continuous authentication for digital service based on contactless card positioning
The system uses a contactless card to provide continuous authentication by maintaining authorization as long as the card is in proximity, addressing the issue of frequent re-authentication in digital services and enhancing user experience and security.
Patent Information
- Application Number
- JP2024147139
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-07-18
- Filing Date
- 2024-08-29
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2040-07-10
AI Technical Summary
Existing authentication methods for digital services require frequent re-authentication, which can be cumbersome and degrade the user experience, while continuous authentication solutions are not effectively addressed.
A system utilizing a contactless card that provides continuous authentication based on proximity to a computing device, using periodic status messages to maintain authorization as long as the card remains in proximity, and deauthorizing when it is removed.
Enhances user experience by reducing the need for frequent re-authentication and improving security through continuous authentication based on contactless card proximity.
Smart Images

Figure 2024178192000001_ABST
Abstract
Description
[Technical field]
[0001] CROSS REFERENCE TO RELATED APPLICATIONS. This application claims priority to U.S. patent application Ser. No. 16 / 516,243, entitled “CONTINUOUS AUTHENTICATION FOR DIGITAL SERVICES BASED ON CONTACTLESS CARD POSITIONING,” filed July 18, 2019, the entire contents of which are incorporated herein by reference.
[0002] Technical field. FIELD OF THE DISCLOSURE Embodiments of the present application relate generally to computing platforms and, more particularly, to providing continuous authentication to digital services when a contactless card is located in proximity to a computing device. [Background technology]
[0003] User authentication is typically required when accessing services such as digital wallets, websites, networks, applications, etc. Commonly deployed authentication methods include password authentication, iris recognition, face recognition, voice recognition, fingerprint recognition, vein recognition, predefined gestures, etc. Summary of the Invention [Problem to be solved by the invention]
[0004] For security reasons, these authentication methods impose limitations on the length of time that an authenticated user may remain logged into the service, however, requiring a user to continually re-authenticate in order to avoid being logged out of the service may require undue caution and effort by the user, which may degrade the user experience. [Means for solving the problem]
[0005] The disclosed embodiments provide a system, method, product, and computer readable medium for providing continuous authentication to digital services based on the proximity of a contactless card to a computing device. According to one example, the system may include a processor circuit and a memory storing instructions that, when executed by the processor circuit, cause the processor circuit to: receive, by an application running on the processor circuit, a request to access a digital service; receive, by the application, a first authentication based on verification of a first set of encrypted data associated with a user account; request, by the application, a second authentication from the contactless card; and receive, by a card reader of the client device, in response to activation of the contactless card, the second set of encrypted data from a communication interface of the contactless card. The second set of encrypted data is generated based on a cryptographic algorithm and a derived key. The derived key is stored in a memory of the contactless card. The contactless card is activated by the client device when the contactless card is located in the vicinity of the client device. The second set of encrypted data is associated with the user account. The system further includes instructions that, when executed by the processor circuit, cause the processor circuit to receive, by the application, from the server, a second verification of the user account based on the second set of encrypted data, authorize, by the application, access to the digital services in response to the first and second verifications of the user account, and verify, by the application, whether the contactless card remains active by continually providing a series of periodic status messages between the client device and the contactless card, whereby authorization to access the digital services continues while the contactless card is active and authorization to access the digital services terminates when the contactless card is inactive.
[0006] According to another embodiment, the method may include receiving, by an application executing on the processor circuit, a request to access a digital service, receiving, by the application, a first authentication based on verification of a first set of encrypted data associated with a user account, and requesting, by the application, a second authentication from the contactless card. The method may further include receiving, by a card reader of the client device, a second set of encrypted data from a communication interface of the contactless card in response to activation of the contactless card. The second set of encrypted data is generated based on a cryptographic algorithm and a derived key. The derived key is stored in a memory of the contactless card. The contactless card is activated by the client device when the contactless card is located in proximity to the client device. The second set of encrypted data is associated with the user account. The method may further include receiving, by the application, from the server a second verification of the user account based on the second set of encrypted data, authorizing, by the application, access to the digital services in response to the first and second verification of the user account, and verifying, by the application, whether the contactless card remains active by continually providing a series of periodic status messages between the client device and the contactless card. While the contactless card is active, authorization to access the digital services continues and when the contactless card is inactive, authorization to access the digital services terminates.
[0007] According to another embodiment, a non-transitory computer-readable storage medium having computer-readable program code embodied therein, the computer-readable program code executable by a processor circuit may cause the processor circuit to receive, by an application executing on the processor circuit, a request to access a digital service, receive, by the application, a first authentication based on verification of a first set of encrypted data associated with a user account, and request, by the application, a second authentication from the contactless card. The computer-readable program code executable by the processor circuit may further cause the processor circuit to receive, by a card reader of the client device, a second set of encrypted data from a communication interface of the contactless card in response to activation of the contactless card. The second set of encrypted data is generated based on a cryptographic algorithm and a derived key. The derived key is stored in a memory of the contactless card. The contactless card is activated by the client device when the contactless card is located in proximity to the client device. The second set of encrypted data is associated with the user account. The computer readable program code executable by the processor circuit may further cause the processor circuit to: receive, by the application, from the server, a second verification of the user account based on the second set of encrypted data; authorize, by the application, access to the digital services in response to the first and second verification of the user account; and verify, by the application, whether the contactless card remains active by continually providing a series of periodic status messages between the client device and the contactless card. While the contactless card is active, authorization to access the digital services continues and when the contactless card is inactive, authorization to access the digital services terminates. [Brief description of the drawings]
[0008] [Figure 1]1 illustrates an embodiment of a system for providing continuous authentication to digital services. [Diagram 2] 1 illustrates an embodiment for providing continuous authentication to digital services based on the proximity of a contactless card to a computing device. [Diagram 3] 1 illustrates an embodiment for providing continuous authentication to digital services based on the proximity of a contactless card to a computing device. [Figure 4A] 1 shows an embodiment of a contactless card. [Figure 4B] 1 shows an embodiment of a contactless card. [Figure 5A] 1 illustrates a side view of an embodiment of a cover for a client device. [Figure 5B] 5B illustrates an end view of an embodiment of a cover for the client device of FIG. 5A. [Figure 6] 1 illustrates an embodiment of a logic flow for providing continuous authentication to digital services. [Figure 7] 1 illustrates an embodiment of a computing architecture. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] The drawings are not necessarily to scale. The drawings are merely representational and are not intended to portray specific parameters of the present disclosure. The drawings are intended to illustrate example embodiments of the present disclosure and therefore should not be considered as limiting the scope. Certain components in some of the drawings may be omitted or illustrated at a different scale for clarity of illustration. Additionally, some reference numbers may be omitted in certain drawings.
[0010] The present disclosure will now be described more fully with reference to the accompanying drawings, which show several embodiments. The subject matter of the present disclosure may be implemented in many different forms and should not be construed as being limited to the embodiments set forth herein. These embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the subject matter to those skilled in the art. Like numbers refer to like elements throughout the drawings.
[0011] The embodiments disclosed herein provide continuous authentication of a contactless card based on its proximity to a client device, such as a mobile device or a personal computer. In some embodiments, continuous activation may enable the contactless card to provide authentication with digital services as long as the contactless card is located in proximity to a card reader of the client device. For example, a series of periodic "heartbeat" or status messages may be provided between the client device and the contactless card to verify whether the contactless card remains active. Authorization to access digital services continues while the contactless card is active, and authorization terminates if the contactless card is inactive.
[0012] In some embodiments, a device or enclosure on the client device may be used to receive and position the contactless card relative to the client device. In particular, the enclosure may include a slot or receptacle located near a card reader of the mobile device. The contactless card may be continuously activated by the electromagnetic field of the client device while held within the enclosure. This continuous activation may then enable the contactless card to provide authentication with digital services as long as the contactless card remains within the enclosure. Removing the contactless card from the enclosure may result in a loss of the electromagnetic field, thereby terminating the authentication with digital services.
[0013] Advantageously, providing continuous authentication using "heartbeat" or status messaging improves the ease with which a user can interact with digital services. For example, once a user is authenticated, they can remain logged into digital services based on their authentication as long as the contactless card remains active. By reducing the number of times a user must enter authentication information, security of card data may be improved.
[0014] To generally refer to the notation and nomenclature used herein, one or more portions of the detailed description set forth hereinafter may be presented in terms of program procedures executed on a computer or computer network. These procedure descriptions and representations are used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art. In this application, and generally, a procedure is conceived of as a self-consistent sequence of operations leading to a desired result. These operations require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It proves convenient at times, primarily for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be noted, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
[0015] Further, these operations are often expressed in terms, such as adding or comparing, that are commonly associated with mental activities performed by a human operator. However, no such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein that form part of one or more of the embodiments. Rather, these operations are machine operations. Useful machines for performing the operations of the various embodiments include digital computers as selectively activated or configured by a computer program written in accordance with the disclosure herein and stored therein, and / or include apparatus or digital computers specially constructed for the required purposes. Various embodiments also relate to apparatus or systems for performing these operations. These apparatus may be specially constructed for the required purposes. The required structure for a variety of these machines will be apparent from the description provided.
[0016] Referring now to the drawings, like reference numerals are used throughout the drawings to denote like components. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding thereof. However, it may be apparent that novel embodiments may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate description thereof. It is intended to cover all modifications, equivalents, and alternatives within the scope of the claims.
[0017] FIG. 1 illustrates a schematic diagram of an exemplary system 100 according to a disclosed embodiment. As illustrated, the system 100 includes one or more contactless cards 101, one or more client devices 110, and one or more servers 120. The contactless card 101 represents any type of identification and / or 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 shown), such as a radio frequency identification (RFID) chip, configured to communicate with the client device 110 via NFC, EMV standard, or other short-range protocols in wireless communication. Although NFC is used as an exemplary communication protocol, the present disclosure is equally applicable to other types of wireless communication, such as EMV standard, Bluetooth, and / or Wi-Fi. The client device 110 represents any type of computing device with network capabilities, such as a smartphone, a tablet computer, a wearable device, a laptop, a portable gaming device, etc. 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, and the like.
[0018] As shown, the contactless card memory 102 may include card data 103, counter 104, master key 105, diversified key 106, unique customer identifier 107, and data storage 108 of an account number. The card data 103 generally includes account-related information, such as information used to process payments with the contactless card 101. For example, the card data 103 may include an account number, an expiration date, a billing address, and a card verification value (CVV). The account number may be any type of account number, such as a primary account number (PAN), a virtual account number, and / or a token generated based on a PAN. Other types of account numbers are contemplated, and the use of an account number or other types of card data 103 should not be considered limiting of this disclosure. The card data 103 may further include a name, a billing address, a shipping address, and other account-related information. As described in more detail herein, the contactless card 101 may provide records from the card data 103 and / or account number 108 to an account application 113 to provide authentication / access to digital services 114 .
[0019] As shown, the memory 111 of the client device 110 includes an instance of an operating system (OS) 112. Exemplary operating systems 112 include Android® OS, iOS®, Linux®, and Windows® operating systems. As shown, the OS 112 may include an account application 113, a digital service 114, one or more other applications 115, and a clipboard 116. In an embodiment, the digital service is a banking application or website, and the account application 113 may allow a user to perform various account-related operations, such as viewing an account balance, purchasing items, and processing payments. Initially, a user must authenticate with authentication credentials to access the account application 113. For example, the authentication credentials may include a username and password, a biometric credential, etc. As will be described in more detail below, to access the account application 113 and / or the digital service 114, the user must also satisfy a secondary authentication based on data exchanged between the client device 110 and the contactless card 101.
[0020] Digital services 114 may include one or more services, including, but not limited to, client device applications (e.g., banking, social media, music streaming, gaming, etc.), websites, messaging services (e.g., email, text, etc.), and many others. Embodiments of the present application are not limited in this context. In some embodiments, digital services 114 are associated with account applications 113. For example, digital services 114 are installed on client device 110 and operable with account applications 113.
[0021] As shown, server 120 includes data storage 124 for account data and memory 122. Account data 124 may include account related data for one or more users and / or accounts. Account data 124 may include at least master key 105, counter 104, customer ID 107, associated contactless card 101, account holder name, account billing address, one or more shipping addresses, one or more card numbers, and historical information for each account. Memory 122 may include management application 123 and instances of card data 103, counter 104, master key 105, and derived keys 106 for one or more accounts from account data 124.
[0022] The system 100 is configured to perform key diversification to ensure data security, which may also be referred to herein as key derivation technology. In general, the server 120 (or another computing device) and the contactless card 101 may 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 separate master key 105 with a corresponding pair in the server 120. For example, when the contactless card 101 is manufactured, a unique master key 105 may be programmed into the memory 102 of the contactless card 101. Similarly, the unique master key 105 may be stored in the customer record associated with the contactless card 101 in the account data 124 of the server 120 (and / or may be stored in a different secure location). The master key 105 is kept secret from all parties other than the contactless card 101 and the server 120, thereby improving the security of the system 100.
[0023] The master key 105 may be used in conjunction with the counter 104 to improve security using key derivation. The counter 104 includes a value that is synchronized between the contactless card 101 and the server 120. The counter 104 value may include a number that changes each time data is exchanged between the contactless card 101 and the server 120 (and / or between the contactless card 101 and the client device 110). To enable NFC data transfer between the contactless card 101 and the client device 110, the account application 113 may communicate with the contactless card 101 when the contactless card 101 is in sufficient proximity to the card reader 118 of the client device 110. The card reader 118 may be configured to read from (and / or communicate with) the contactless card 101 (e.g., via NFC, Bluetooth, RFID, etc.). Thus, an exemplary card reader 118 may include an NFC communication module, a Bluetooth communication module, and / or an RFID communication module.
[0024] For example, a user may move the contactless card 101 to the location of the client device 110, thereby bringing the contactless card 101 close enough to the card reader 118 of the client device 110 to enable NFC data transfer between the contactless card 101 and the card reader 118 of the client device 110. In some embodiments, the client device 110 may trigger the card reader 118 via an application programming interface (API) call. Additionally or alternatively, the client device 110 may trigger the card reader 118 based on periodically polling the card reader 118. More generally, the client device 110 may trigger the card reader 118 to engage in communication using any feasible method. In some embodiments, the contactless card 101 may be powered / activated in response to a magnetic field of the client device 110.
[0025] After communication is established between the client device 110 and the contactless card 101, the contactless card 101 may generate a message authentication code (MAC) cryptogram. In some embodiments, this may be performed when the contactless card 101 is read by the account application 113. In particular, this may be performed upon reading, e.g., an NFC read, of a near field data exchange (NDEF) tag, which may be generated according to an NFC data compatible format. For example, the account application 113 and / or a reader such as the card reader 118 may send a message, e.g., an applet selection message, with an applet ID of an NDEF generating applet. Upon confirming the selection, a sequence may be sent in which a file selection message is followed by a file read message. For example, the sequence may include "function file selection", "function file read", "NDEF file selection". At this point, a counter 104 value maintained by the contactless card 101 may be updated or incremented, followed by "NDEF file read". 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 ciphertext may be generated from the message, which may include the header and the shared secret. The MAC ciphertext may then be concatenated with random data over one or more blocks, and the MAC ciphertext and random number (RND) may be encrypted with the session key. The ciphertext and header may then be concatenated, encoded as ASCII hexadecimal, and sent back in the NDEF message format (in response to the "read NDEF file" message). In some embodiments, the MAC ciphertext may be sent as an NDEF tag, while in other embodiments, the MAC ciphertext may be included with the uniform resource indicator (e.g., as a formatted string).Contactless card 101 may then transmit the MAC cryptogram to client device 110, which may then forward the MAC cryptogram to server 120 for verification, as described below. However, in some embodiments, client device 110 may verify the MAC cryptogram. Embodiments of the present application are not limited in this context.
[0026] More generally, when preparing to transmit data (e.g., to server 120 and / or client device 110), contactless card 101 may increment counter 104 value. Contactless card 101 may then provide master key 105 and counter 104 value as input to a cryptographic algorithm, which generates derived key 106 as output. The cryptographic algorithm may include an encryption algorithm, a hash-based message authentication code (HMAC) algorithm, a cipher-based message authentication code (CMAC) algorithm, etc. Non-limiting examples of cryptographic 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. Contactless card 101 may then encrypt data (e.g., customer identifier 107 and any other data) using derived key 106. The contactless card 101 may then transmit the encrypted data (e.g., encrypted customer ID 109) to the account application 113 of the client device 110 (e.g., via an NFC connection, a Bluetooth connection, etc.). The account application 113 of the client device 110 may then transmit the encrypted data to the server 120 over the network 130. In at least one embodiment, the contactless card 101 transmits the counter 104 value along with the encrypted data. In such an embodiment, the contactless card 101 may transmit the encrypted counter 104 value or an unencrypted counter 104 value.
[0027] Upon receiving the encrypted customer ID 109, the management application 123 of the server 120 may perform the same symmetric encryption using the counter 104 value as input for the encryption and the master key 105 as the key for the encryption. As described above, the counter 104 value may be specified in the data received from the client device 110, or the counter 104 value may be retained by the server 120 to perform key derivation for the contactless card 101. The output of the encryption may be the same derived key value 106 generated by the contactless card 101. The management application 123 may then decrypt the encrypted customer ID 109 received over the network 130 using the derived key 106. This reveals the data (e.g., at least the customer identifier 107) transmitted by the contactless card 101. Doing so allows the management application 123 to verify the data transmitted by the contactless card 101 via the client device 110 (e.g., by comparing the decrypted customer ID 107 with the customer ID in the account data 124 for the account).
[0028] Although the counter 104 is used as an example, other data may be used to secure communications between the contactless card 101, the client device 110, and / or the server 120. For example, the counter 104 may be replaced with a random nonce, a new derived key 106 may be generated each time it is needed, the entire counter value may be sent from the contactless card 101 and the server 120, a portion of the counter value may be sent from the contactless card 101 and the server 120, the counter may be kept independently by the contactless card 101 and the server 120 but not sent between the two, a one-time passcode may be exchanged between the contactless card 101 and the server 120, or it may be a cryptographic hash of the data. In some embodiments, one or more portions of the derived key 106 may be used by the parties to generate multiple derived keys 106.
[0029] As shown, server 120 may include one or more hardware security modules (HSMs) 125. For example, one or more HSMs 125 may be configured to perform one or more cryptographic operations as disclosed herein. In some embodiments, one or more HSMs 125 may be configured as special purpose security devices configured to perform one or more cryptographic operations. HSMs 125 may be configured such that keys are never revealed outside of HSMs 125, but instead are kept within HSMs 125. For example, one or more HSMs 125 may be configured to perform at least one of key derivation, decryption, and MAC operations. One or more HSMs 125 may be included within server 120 or may be in data communication with server 120.
[0030] As discussed above, key derivation techniques may be used to perform secure operations with the contactless card 101. For example, once the management application 123 verifies the encrypted customer ID 109 via key derivation, the management application 123 may send the account number, expiration date, and / or CVV associated with the account to the account application 113 on the client device 110. The management application 123 may also include other information (e.g., first name, last name, shipping address, billing address, other account information, etc.). The account number may be a PAN, a virtual account number, and / or a token generated based on the PAN. The account application 113 may decrypt the received data (if encrypted) and provide the account number, expiration date, billing address, and / or CVV to an API of the digital service 114.
[0031] In another embodiment, the card data 103 is read directly from the contactless card 101. This may be useful if the client device 110 does not have a connection to the server 120. For example, the account application 113 and / or the digital service 114 may output an indication to move the contactless card 101 closer to the client device 110. In one embodiment, once the contactless card 101 is moved closer to the client device 110, the contactless card 101 transmits the card data 103 to the client device 110. In another embodiment, once the contactless card 101 is moved closer to the client device 110, the account application 113 may instruct the contactless card 101 to transmit the card data 103 to the client device 110. In one embodiment, contactless card 101 transmits card data 103 (including one or more of an account number, an expiration date, a CVV value, and an account holder's name) to client device 110 as an NDEF file (e.g., via NFC, Bluetooth, and / or RFID). In another embodiment, contactless card 101 transmits card data 103 using the EMV protocol. In an embodiment in which the EMV protocol is used, card data 103 transmitted using the EMV protocol includes an account number, an expiration date, and an account holder's name. Contactless card 101 may then transmit card data 103 to account application 113 using the EMV protocol. In an embodiment in which the EMV protocol is used, account application 113 may receive the CVV value from contactless card 101 (e.g., receive the CVV in an NDEF file via an NFC read) and / or from management application 123 of server 120. However, in some embodiments, the EMV protocol may be used to transmit the CVV value directly from contactless card 101. The account application 113 may then provide the card data 103 (e.g., account number, expiration date, and / or CVV) to an API of the digital service 114.
[0032] Regardless of the technology used to provide the card data 103 and / or account number 108 to the digital service 114, the account application 113 and / or OS 112 may manage the data provided to the digital service 114. For example, the card data 103 and / or account number 108 may be retained at the digital service 114 for as long as the contactless card 101 is active, e.g., located adjacent to the client device 110, and thus access / authorization to the digital service 114 is maintained. In another embodiment, the card data 103 and / or account number 108 may be retained at the digital service 114 after the card data 103 and / or account number 108 are used to make a purchase.
[0033] Additionally, the account application 113 and / or the digital service 114 may copy the account number to the OS clipboard 116. The clipboard 116 stores data that can be copied and / or pasted into the OS 112. For example, the clipboard 116 may store data locally for pasting into fields on the client device 110, and the user may input / paste the data stored in the clipboard 116 using commands and / or gestures available in the OS 112. For example, copying the account number to the clipboard 116 may enable the user to paste the account number into a corresponding form field using commands and / or gestures available in the OS 112. Furthermore, the digital service 114 may output a notification specifying the expiration date and CVV while the account number is being copied to the clipboard 116. The user may then manually enter the expiration date and CVV into the corresponding form fields while the notification is visible. In some embodiments, the account application 113 and / or digital service 114 may copy the expiration date, billing address, and / or CVV to the clipboard 116, allowing the expiration date, billing address, and / or CVV to be pasted into corresponding form fields.
[0034] 2 is a schematic diagram 200 illustrating an example embodiment that provides continuous authentication to digital services 214 based on the proximity of a contactless card 201 to a client device, such as a mobile device 210. Without limitation, the mobile device 210 may be a smartphone or a tablet computer. In other embodiments, the client device may be a laptop, desktop computer, or transaction kiosk. For example, the client device may be a laptop computer equipped with an internal or external reader for communicating with the contactless card 201. The embodiments of the present application are not limited in this context.
[0035] In this non-limiting example, the digital service 214 may be a banking application stored in the memory of the mobile device 210. The user may move the contactless card 201 into close physical proximity to the mobile device 210. One or more chips and / or chip modules (not shown) of the contactless card 201 may then be activated by power derived from the electromagnetic field 227 of the mobile device 210. More specifically, the contactless card 201 is operable to receive the electromagnetic field 227 and convert it to a voltage appropriate for powering other circuit components of the contactless card 201. For example, the electromagnetic field 227 may be converted to power an RFID chip configured to communicate with the mobile device 210 via, for example, NFC, EMV standards, or other short-range protocols for wireless communication.
[0036] When a user first attempts to log into his / her account, the login credentials received by the API 221 of the digital service 214 are sent to the server 220 as a first set of encrypted data 216. The first set of encrypted data 216 may be associated with the user account 228, which is then associated with the data store of the account data 224.
[0037] The server 220, for example via the management application 123 (FIG. 1), may then compare the first set of encrypted data 216 against the customer identifier in the account data 224 associated with the user account 228 and verify the validity or invalidity of the data accordingly. If there is a match, a first authentication / verification 230 is provided to the mobile device 210.
[0038] The digital service 214 may then request a second authentication 232 from the contactless card 201. In some embodiments, the contactless card 201 may have been pre-activated based on the electromagnetic field 227 received from the client device 201. In other embodiments, the contactless card 201 may be inactive, in which case the contactless card 201 must be activated to complete the request for the second authentication 232. For example, the user may not have pre-located the contactless card 201 in proximity to the mobile device 210, or the position of the contactless card 201 relative to the card reader 218 of the mobile device 210 results in inadequate communication signal strength emanating from the contactless card 201. In either case, the mobile device 210 may prompt the user via a graphical user interface (GUI). For example, the notification may instruct the user to physically touch the contactless card 201 to the back of the mobile device 210. In other embodiments, the notification may provide feedback regarding the strength of the electromagnetic field 227 and / or the signal strength of the contactless card 201 .
[0039] Once the contactless card 201 is activated, the card reader 218 of the mobile device 201 may receive the second set of encrypted data 234 from the communication interface 236 of the contactless card 201. In some embodiments, the second set of encrypted data 234 may be generated based on a cryptographic algorithm and a derived key stored in the memory of the contactless card 201. The second set of encrypted data 234 is associated with the user account 228.
[0040] The server 220 may then receive the second set of encrypted data 234 from the mobile device 210 and compare it to the customer identifier in the account data 224 for the user account 228 to verify the validity or invalidity of the data accordingly. If there is a match, a second authentication / verification 238 is provided to the mobile device 210. Access to the digital services 214 may then be provided by the account application 213, for example, in response to the first verification 230 and the second verification 238 of the user account 228.
[0041] Once a user has successfully logged into the digital service 214, authorization to access the digital service 214 continues while the contactless card 201 is active. To accomplish this, the account application 213 may verify whether the contactless card 201 is still active by having a series of periodic heartbeat or status messages 250 provided between the mobile device 210 and the contactless card 201. In some embodiments, the status messages 250 may be a series of requests or "pings" to the contactless card 201, which result in a communication response via the antenna 229 of the contactless card 201. For example, the status messages 250 may trigger the card reader 218 of the contactless card 201 via an application programming interface (API) call. However, the status messages 250 may trigger the card reader to engage in communication using any feasible method. If the contactless card 201 is determined to be inactive, for example if no communication response is received by the contactless card 201, authorization to access the digital service 214 may be terminated.
[0042] Without limitation, the status message 250 can be transmitted unencrypted or encrypted, signed, or otherwise secure. In some embodiments, the status message 250 may include one or more validation messages, including, for example, reporting on the active / inactive status of the contactless card 201. Additionally, the status message 250 may relate to the first validation 230 and / or the second validation 238.
[0043] In some embodiments, the status message 250 may include sending any type of command or query, sent securely or openly, receiving a response from the contactless card 201, and then evaluating the response to determine whether the response is within expected parameters. In yet other embodiments, the mobile device 210 may include a timer 252 configured to periodically send the status message 250. Access to the digital services 214 may continue until the account application 213 determines that the signal strength of the contactless card 201 is below a predetermined threshold. This may occur, for example, when the contactless card 201 is removed from the mobile device 210 or when the mobile device 210 enters a sleep mode. In some embodiments, the account application 213 may prevent the mobile device 210 from entering a sleep mode if the contactless card 201 is active.
[0044] 3 is a diagram 300 illustrating an example embodiment that provides continuous authentication to digital services 314 based on the proximity of a contactless card 301 to a mobile device 310. Diagram 300 may be similar to diagram 200 described above. As such, for brevity, only certain aspects of diagram 300 are described below.
[0045] As shown, diagram 300 may include a second client device 311, such as a personal computer. In this non-limiting example, digital service 314 may be a banking website running / displayed on second client device 311. Account application 313 may be located on second client device 311. In other embodiments, account application 313 may be part of mobile device 310. In yet other embodiments, account application 313 may be split between mobile device 310 and second client device 311.
[0046] When a user first attempts to log into his / her account, the login credentials received by the digital service 314 are sent to the server 320 as a first set of encrypted data 316, which may be associated with the user's user account 328. The server 320 may then compare, for example by an administrative application, the first set of encrypted data 316 against a customer identifier in the account data 324 associated with the user account 328 and verify the validity or invalidity of the data accordingly. If there is a match, a first authentication / verification 330 is provided from the server 320 to the second client device 311.
[0047] The digital service 314 may then request a second authentication 332 from the contactless card 301. In some embodiments, the second authentication 332 request may be sent directly to the mobile device 310 or may be sent to the server 320 for later sending to the mobile device 310. The contactless card 301 may be pre-activated based on the magnetic field 327 received from the client device 301. In other embodiments, the contactless card 301 may be inactive, in which case the contactless card 301 needs to be activated to complete the second authentication 332 request.
[0048] Once the contactless card 301 is activated, the card reader 318 of the mobile device 301 may receive the second set of encrypted data 334 from the communication interface 336 of the contactless card 301. In some embodiments, the second set of encrypted data 334 may be generated based on a cryptographic algorithm and a derived key stored in the memory of the contactless card 301. The second set of encrypted data 334 is associated with the user account 328.
[0049] The server 320 may then receive the second set of encrypted data 334 from the mobile device 310 and compare it to the customer identifier in the account data 324 associated with the user account 328 to validate or invalidate the data accordingly. If there is a match, a second authentication / verification 338 may be provided to the second client device 311. Access to the digital service 314 may then be provided by the account application 313, for example, in response to the first verification 330 and the second verification 338 of the user account 328.
[0050] Once a user has successfully logged into the digital service 314, authorization to access the digital service 314 may continue while the contactless card 301 is active. To accomplish this, the account application 313 may verify whether the contactless card 301 is still active by having a series of periodic heartbeat or status messages 350 provided between the mobile device 310 and the contactless card 301. In some embodiments, the status message 350, or an output of a status message (e.g., contactless card active / inactive), may be sent to the server 320 and then to the second client device 311. In some embodiments, the status message 350 may be transmitted directly to the second client device 311. If the contactless card 301 is determined to be inactive, authorization to access the digital service 314 may be terminated.
[0051] FIG. 4A illustrates an exemplary contactless card 401, which may be a payment card such as a credit card, a debit card, and / or a gift card. As illustrated, the contactless card 401 may be issued by a service provider 405 that is displayed on the front or back of the card 401. In some embodiments, the contactless card 401 is not related to a payment card and may include, but is not limited to, an identification card. In some embodiments, the payment card may include a dual interface contactless payment card. The contactless card 401 may include a substrate 410, which may include a single layer or one or more laminated layers of plastic, metal, and other materials. Exemplary substrate materials include polyvinyl chloride, polyvinyl acetate chloride, acrylonitrile butadiene styrene, polycarbonate, polyester, anodized titanium, palladium, gold, carbon, paper, and biodegradable materials. In some embodiments, contactless card 401 may have physical characteristics that conform to the ID-1 format of the ISO / IEC 7810 standard, or contactless cards may conform to the ISO / IEC 14443 standard. However, it is understood that contactless card 401 according to the present disclosure may have different characteristics, and that the present disclosure does not require that a contactless card be implemented as a payment card.
[0052] The contactless card 401 may 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 one or more client devices 110 (FIG. 1), a user device, a smartphone, a laptop, a desktop, or a tablet computer. The contactless card 401 may include processing circuitry, an antenna, and other components not shown in FIG. 4A. These components may be provided behind the contact pad 420 or elsewhere on the substrate 410. The contactless card 401 may include a magnetic strip or tape, which may be provided on the back of the card (not shown in FIG. 4A).
[0053] 4B, contact pad 420 of contactless card 401 may include processing circuitry 425, including microprocessor 430 and memory 102, for storing and processing information. It will be understood that processing circuitry 425 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, required to perform the functions described herein.
[0054] The memory 102 may be a read-only memory, a write-once-read-many memory, or a read / write memory, such as RAM, ROM, and EEPROM, and the contactless card 401 may include one or more of these memories. Read-only memory is programmable, such as read-only or one-time programmable, such that it can only be read once. One-time programmability provides an opportunity to be written once and then read multiple times. Write-once / read-many memories may be programmed at a point after the memory chip leaves the factory. Once the memory 102 is programmed, it is not rewritten, but is read multiple times. Read / write memories may be programmed and reprogrammed multiple times after leaving the factory. Read / write memories may also be read multiple times after leaving the factory.
[0055] The memory 102 may be configured to store one or more applets 440, one or more counters 104, a customer identifier 107, and a virtual account number 108. The one or more applets 440 may include one or more software applications configured to run on one or more contactless cards, such as a Java Card applet. However, it is understood that the applet 440 is not limited to a Java Card applet, but may instead be any software application operable on a contactless card or other device having limited memory. The one or more counters 104 may comprise a numeric counter sufficient to store an integer number. The customer identifier 107 may include a unique alphanumeric identifier assigned to a user of the contactless card 401, which may distinguish the user of the contactless card from other contactless card users. In some embodiments, the customer identifier 107 may identify both the customer and the account assigned to the customer, and may further identify the contactless card 401 associated with the customer's account. In some embodiments, the account number 108 may include thousands of single-use virtual account numbers associated with the contactless cards 401 .
[0056] Although the processor and memory components of the exemplary embodiments described above are described with reference to contact pads, the disclosure is not so limited. These components may be implemented outside or completely separate from the pads 420, or may be implemented as additional components in addition to the processor 430 and memory 402 components provided within the contact pads 420.
[0057] In some examples, the contactless card 401 may include one or more antennas (not shown). In general, using the antenna, the processing circuitry 425, and / or the memory 102, the contactless card 401 may provide a communication interface for communicating via NFC, Bluetooth, and / or Wi-Fi communication. In some embodiments, the antenna may be located within the contactless card 401 around the processing circuitry 425 of the contact pad 420. For example, the antenna may be integrated into the processing circuitry 425, or one or more antennas may be used with an external booster coil. As another example, the antenna may be external to the contact pad 420 and the processing circuitry 425. As described above, the antenna may transmit a response to a status message indicating whether the contactless card 401 is active. If no communication response is received from the antenna, authorization to access one or more digital services may be terminated.
[0058] As described above, the contactless card 401 may be configured in a software platform that is operable in other smart cards or devices with limited memory, such as JavaCard, and one or more applications or applets may be securely executed. An applet 440 may be added to the contactless card to provide a one-time password (OTP) for multifactor authentication (MFA) in various mobile application-based use cases. The applet 440 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 (e.g., in the client device 110), and generate an NDEF message comprising a cryptographically secure OTP encoded as an NDEF text tag.
[0059] An example of an NDEF OTP is the NDEF Short Record Layout (SR=1). In such an embodiment, one or more applets 440 may be configured to encode the OTP as a text tag of the well-known type of NDEF Type 4. In some embodiments, an NDEF message may include one or more records. Applet 440 may be configured to add one or more static tag records in addition to the OTP record.
[0060] In some embodiments, one or more applets 440 may be configured to emulate an RFID tag. The RFID tag may include one or more multiple form tags. In some embodiments, each time the tag is read, different cryptographic data is presented that may indicate the authenticity of the contactless card. Based on one or more applications, the NFC read of the tag may be processed, the data may be sent to a server, such as server 120 (FIG. 1), and the data may be verified at the server.
[0061] In some embodiments, contactless card 401 and server 120 may include predefined data such that contactless card 401 may be properly identified. Contactless card 401 may include one or more unique identifiers. Each time a read operation is performed, counter 104 may be configured to increment based on recognition of the one or more unique identifiers. In some embodiments, each time data from contactless card 401 is read (e.g., by client device 110), counter 104 is sent to the server for verification to determine (e.g., as part of the verification) whether counter values 104 are equal.
[0062] In some embodiments, two cryptographic keys may be uniquely assigned to each card during the contactless card 401 creation process. The cryptographic keys may include symmetric keys that may be used to both encrypt and decrypt data. The Triple DES (3DES) algorithm may be used by EMV and is implemented by hardware in the contactless card 101. Using a key derivation process, one or more keys may be derived from a master key based on uniquely identifiable information for each entity that requires a key.
[0063] In some embodiments, to overcome the inadequacy of the 3DES algorithm that it may be susceptible to vulnerabilities, a session key (such as a unique key per session) may be derived, but rather than using a master key, a unique key and counter derived by the card may be used as the derived data. For example, each time the contactless card 401 is used during operation, a different key may be used to generate a Message Authentication Code (MAC) and perform encryption, resulting in three layers of encryption. The session key may be generated by one or more applets and derived using an application transaction counter with one or more algorithms (as defined in "EMV 4.3 Book 2 A1.3.1 Common Session Key Derivation").
[0064] Furthermore, the increments for the contactless card 401 may be unique, assigned by personalization, or algorithmically assigned by some identifying information. For example, cards with odd numbers may be incremented by 2, and cards with even numbers may be incremented by 5. In some embodiments, the increments may vary on successive reads, such that a card may be incremented in a repeating sequence of 1, 3, 5, 2, 2, .... A particular sequence or algorithmic sequence may be defined at the time of personalization or from one or more processes derived from a unique identifier. This may make it more difficult for a replay attacker to generalize from the small numbers of card instances.
[0065] The authentication message may be sent as the contents of a textual NDEF record having a hexadecimal ASCII format. In another embodiment, the NDEF record may be encoded in hexadecimal format.
[0066] 5A-5B illustrate a non-limiting embodiment of a cover 560 over a client device 510, such as a mobile device. The cover 560 may be a mobile device case that wraps around the client device 510. In some embodiments, the cover 560 may include an opening to allow user interaction with a screen 562 of the client device 510. As shown, the cover 560 may include a slot or receptacle 566 through an end wall 568 of the cover 560, the receptacle 566 operable to receive a contactless card 501 therein. Once held within the receptacle 566, the contactless card 501 may be pre-positioned to allow communication with a card reader (not shown) of the client device 510. It will be appreciated that the cover 560, including the size and location of the receptacle 566, may be altered depending on one or more characteristics of the client device 501 and / or the contactless card 501. As further shown, the receptacle 566 and contactless card 501 may be located along a rear surface 570 of the client device 510. In some embodiments, the cover 560 may be transparent or opaque, although embodiments of the present application are not limited in this context.
[0067] FIG. 6 illustrates an embodiment of a logic flow 600 for providing continuous authentication to a digital service. In block 601, logic flow 600 may include receiving, by an application executing on a processor circuit, a request to access a digital service. In some embodiments, the digital service may include one or more services, including but not limited to a client device application (e.g., banking, social media, music streaming, gaming, etc.), a website, or a messaging service (e.g., email, text, etc.). In block 603, logic flow 600 may include receiving, by the application, a first authentication based on verification of a first set of encrypted data associated with a user account. In some embodiments, the first set of encrypted data is generated based on login credentials provided by the user to the digital service. In block 605, logic flow 600 may include requesting, by the application, a second authentication from a contactless card.
[0068] At block 607, logic flow 600 may include receiving, by a card reader of the client device, a second set of encrypted data from a communication interface of the contactless card in response to activating the contactless card. The second set of encrypted data is generated based on a cryptographic algorithm and a derived key. The derived key is stored in a memory of the contactless card. The contactless card is activated by the client device when the contactless card is located in proximity to the client device. The second set of encrypted data is associated with a user account.
[0069] At block 609, the logic flow 600 may include receiving, by the application, from the server, a second verification of the user account based on the second set of encrypted data. At block 611, the logic flow may include authorizing access to the digital services, by the application, in response to the first and second verification of the user account. At block 613, the logic flow may include verifying, by the application, whether the contactless card remains active by continually providing a series of periodic status messages between the client device and the contactless card. Authorization to access digital services continues while the contactless card is active, and authorization to access digital services terminates if the contactless card is inactive.
[0070] In some embodiments, the contactless card described herein may be placed on a device, such as one or more computer kiosks or terminals, to verify identity to receive a transactional item in response to a purchase, such as coffee. By using the contactless card, a secure method of verifying identity in a loyalty program may be established. For example, securely verifying identity to obtain rewards, coupons, offers, etc., or to receive benefits may be established in a manner other than simply scanning a bar card. For example, an encrypted transaction may be conducted between the contactless card and the device, which may comprise processing one or more tap gestures. As described above, one or more applications may be configured to verify the user's identity. In some embodiments, data, such as bonus points, loyalty points, reward points, health care information, etc., may be written back to the contactless card.
[0071] In some embodiments, the exemplary authentication communication protocol may mimic the EMV standard offline, dynamic data validation protocol typically performed between a transaction card and a point-of-sale (POS) device, with some modifications. For example, since the exemplary authentication protocol is not used to complete a payment transaction with the card issuer / payment processor itself, some data values are not required and authentication may be performed without 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 value. Whether the issuer approves or rejects the transaction may be based on whether the card issuer recognizes the transaction value. On the other hand, in certain embodiments of the present disclosure, transactions originating from a client device lack a transaction value associated with the POS system. Thus, in some embodiments, a dummy transaction value (i.e., a value that is recognizable to the card issuer and sufficient to trigger) may be passed as part of the exemplary authentication communication protocol. POS-based transactions may reject transactions based on the number of transaction attempts (e.g., a transaction counter). A number of attempts exceeding a buffer value may result in a soft rejection. A soft rejection requires further validation before a transaction is accepted. In some implementations, a buffer value for a transaction counter may be changed to avoid rejecting legitimate transactions.
[0072] In some embodiments, the contactless card can selectively transmit information depending on the recipient device. Once brought into proximity, the contactless card can recognize the device to which it is aimed, and based on this recognition, the contactless card can provide the appropriate data for that device. This advantageously allows the contactless card to transmit only the information required to complete an immediate action or transaction, such as a payment or card authentication. Limiting the transmission of data and avoiding the transmission of unnecessary data can improve both efficiency and data security. The recognition and selective communication of information is applicable to a variety of scenarios, including card activation, balance transfers, account access attempts, commercial transactions, and reduction of step-up activations.
[0073] As another example, continuous authentication may be directed to a POS device, including but not limited to a kiosk, checkout register, payment station, or other terminal. The contactless card can recognize the POS device and transmit only the information necessary for the action or transaction. For example, upon recognizing the POS device used to complete a commercial transaction, the contactless card can transmit the payment information necessary to complete the transaction under the EMV standard.
[0074] In some embodiments, a POS device participating in a transaction can request or specify additional information to be provided by the contactless card, e.g., device-specific information, location-specific information, transaction-specific information, etc. For example, once a POS device receives a data communication from a contactless card, the POS device can request additional information necessary to recognize the contactless card and complete an action or transaction.
[0075] In some embodiments, the POS device may be affiliated with an authorized commercial or other entity familiar with certain contactless cards or accustomed to performing certain contactless card transactions, although it will be understood that such affiliation is not necessary for practice of the described methods.
[0076] In some embodiments, such as at a shopping store, grocery store, convenience store, etc., a contactless card may be placed at or near a client device without the need to open an application to indicate a desire or intent to cover one or more purchases using one or more of reward points, loyalty points, coupons, offers, etc. In this manner, the intent behind the purchase is provided.
[0077] FIG. 7 illustrates an embodiment of an exemplary computing architecture 800 comprising a computing system 802 that 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, the system 100 (FIG. 1) implementing one or more components of the system. In some embodiments, the computing system 802 may represent, for example, the client device 110 and the server 120 of the system 100. The embodiments of the present application are not limited in this context. More generally, the computing architecture 800 is configured to implement all logic, applications, systems, methods, apparatus, and functions described herein with reference to FIGS. 1-6.
[0078] As used herein, the terms "system" and "component" and "module" are intended to denote any computer-related entity, 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 may be, but is not limited to, a process running on a computer processor, a computer processor, a hard disk 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. By way of example, both an application running on a server and a server may be a component. One or more components may reside within a process / thread of execution, and a component may be localized in one computer and / or distributed among two or more computers. Furthermore, multiple components may be communicatively coupled to each other by various types of communication media to coordinate operations. The coordinated operations may involve unidirectional or bidirectional exchange of information. For example, components may transmit information in the form of signals transmitted over a communication medium. Information may be implemented as signals assigned to various signal lines. In such an assignment, each message is a signal. However, other embodiments may alternatively use data messages. Such data messages may be transmitted over a variety of connections. Exemplary connections include parallel interfaces, serial interfaces, and bus interfaces.
[0079] The computing system 802 includes various common computing elements, such as one or more processors, multi-core processors, co-processors, memory units, chipsets, controllers, peripherals, interfaces, oscillators, timing units, video cards, audio cards, multimedia input / output (I / O) components, power supplies, and the like. However, the embodiments are not limited to implementation by computing system 802 .
[0080] 7, computing system 802 includes processor 804, system memory 806, and system bus 808. Processor 804 may be any of a variety of commercially available computer processors, including, but not limited to, AMD® Athlon®, Duron®, and Opteron® processors, ARM® Application, Embedded, and Secure processors, IBM® and Motorola® DragonBall® and PowerPC® processors, IBM and Sony® Cell processors, Intel® Celeron®, Core®, Core(2)Duo®, Itanium®, Pentium®, Xeon®, and XScale® processors, and similar processors. Dual microprocessors, multi-core processors, and other multi-processor architectures may also be used as processor 804.
[0081] The system bus 808 provides an interface for system components including, but not limited to, the processor 804 from the system memory 806. The system bus 808 may be any of several types of bus structures that may further interconnect to a memory bus (with or separate from a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. Interface adapters may be connected to the system bus 808 via a slot architecture. Exemplary slot architectures may include, but are not limited to, Accelerated Graphics Port (AGP), CardBus, (Extended) Industry Standard Architecture (E)ISA), Micro Channel Architecture (MCA), NuBus, Peripheral Component Interconnect (Extended) (PCI(X)), PCI Express, Personal Computer Memory Card International Association (PCMCIA), and the like.
[0082] The system memory 806 may include various types of computer-readable storage media having the form of one or more faster memory units, such as read-only memory (ROM), random-access memory (RAM), dynamic RAM (DRAM), double-data-rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RA (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory (e.g., one or more flash arrays), polymer memory such as ferroelectric polymer memory, ovonic memory, phase-change or ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS) memory, magnetic or optical cards, array of devices 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. 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.
[0083] The computing system 802 may include various types of computer readable storage media in the form of one or more slower memory units, including an internal (or external) hard disk drive (HDD) 814, a magnetic floppy disk drive (FDD) 816 for reading from or writing to a removable magnetic disk 818, and an optical disk drive 820 for reading from or writing to a removable optical disk 822 (e.g., CD-ROM or DVD). The HDD 814, FDD 816, and optical disk drive 820 may be connected to the system bus 808 by 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 Universal Serial Bus (USB) and IEEE 1394 interface technologies. The computing system 802 is generally configured to implement all of the logic, systems, methods, devices, and functions described herein with reference to FIGS. 1-6.
[0084] The drives and associated computer-readable media provide volatile and / or nonvolatile storage of data, data structures, computer-executable instructions, etc. A number of program modules may be stored on the drives and memory units 810, 812, including, for example, an operating system 830, one or more application programs 832, other program modules 834, and program data 836. In one embodiment, the one or more application programs 832, other program modules 834, and program data 836 may include, for example, various applications and / or components of system 100, such as operating system 112, account application 113, digital services 114, other applications 115, clipboard 116, and management application 123.
[0085] A user can 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 pen, 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., capacitive, resistive, etc.), a track ball, a track pad, a sensor, a stylus, etc. These and other input devices are connected to the processor 804 through an input device interface 842 that is often connected to the system bus 808, but may also be connected by other interfaces, such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, etc.
[0086] 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, etc.
[0087] The computing system 802 may operate in a networked environment with logical connections via wired and / or wireless communications to one or more remote computers, such as a remote computer 848. The remote computer 848 may be a workstation, a server computer, a router, a personal computer, a portable computer, a microprocessor-based entertainment device, a peer device, or other common network node, and typically includes many or all of the components described in connection with the computing system 802, although only a memory / storage device 850 is illustrated for purposes of brevity. The illustrated logical connections include wired / wireless connections to a local area network (LAN) 852 and / or larger networks, such as a wide area network (WAN) 854). Such LAN and WAN networking environments are commonplace in offices and companies, facilitating enterprise-wide computer networks, such as an intranet, all of which may 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 the LAN 852 and the WAN 854.
[0088] When used in a LAN networking environment, the computing system 802 may be connected to the LAN 852 via a wired and / or wireless communication network interface or adapter 856. The adapter 856 may facilitate wired and / or wireless communication to the LAN 852, which may include a wireless access point disposed thereon for communicating with the wireless functionality of the adapter 856.
[0089] When used in a WAN networking environment, the computing system 802 may include a modem 858 or have other means for connecting to a communications server in the WAN 854 or for establishing communications over the WAN 854, for example, by means of the Internet. The modem 858 is connected to the system bus 808 via the input device interface 842. The modem 858 may be internal or external and may be a wired and / or wireless device. In a networked environment, the program modules depicted relative to the computing system 802, or portions thereof, may be stored in the remote memory / storage device 850. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
[0090] The computing system 802 is operable to communicate with wired and wireless devices or entities using the family of IEEE 802 standards, such as wireless devices operatively arranged for wireless communication (e.g., IEEE 802.16 wireless modulation technology). This includes at least, among others, Wi-Fi (Wireless Fidelity), WiMax, and Bluetooth wireless technologies. Thus, the communication may be of a predefined structure, such as including a conventional network, or may simply be ad-hoc communication between at least two devices. Wi-Fi networks use wireless technologies called IEEE 802.11x (a, b, g, n, etc.) to provide secure, reliable, and fast wireless connectivity. Wi-Fi networks can be used to connect multiple computers to each other, to the Internet, and to wired networks (using IEEE 802.3 related media and functions).
[0091] Various embodiments may be implemented using hardware components, software components, or a combination of both. Examples of hardware components may include a processor, a microprocessor, a circuit, a circuit element (e.g., a transistor, a resistor, a capacitor, an inductor, etc.), an integrated circuit, an application specific integrated circuit (ASIC), a programmable logic device (PLD), a digital signal processor (DSP), a field programmable gate array (FPGA), a logic gate, a register, a semiconductor device, a chip, a microchip, a chipset, etc. Examples of software may include a software component, a program, an application, a computer program, an application program, a system program, a machine program, an operating system software, a middleware, a firmware, a software module, a routine, a subroutine, a function, a method, a procedure, a software interface, an API, an instruction set, a computational code, a computer code, a code segment, a computer code segment, a word, a value, a symbol, or any combination thereof. The decision of whether an embodiment is implemented using hardware and / or software components may vary according to any number of factors, such as desired computation rates, power levels, thermal tolerances, processing cycle budgets, input data rates, output data rates, memory resources, data bus speeds, and other design or performance constraints.
[0092] One or more aspects of at least one embodiment may be implemented by exemplary instructions stored on a machine-readable medium that represent various logic within a processor that, when read by a machine, causes the machine to generate logic to perform the techniques described herein. Such representations, known as "IP cores," may be stored on tangible machine-readable media and delivered to various customers or manufacturing facilities to be loaded into manufacturing machines that create the logic or processors. Some embodiments may be implemented using a machine-readable medium or article of manufacture that may store, for example, an instruction or set of instructions that, when executed by a machine, may cause the machine to perform a method and / or operation 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 product may include, for example, any suitable type of memory unit, memory device, memory product, memory medium, storage device, storage product, storage medium and / or storage device, 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 Rewriteable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory cards or disks, various types of Digital Versatile Disks (DVDs), tapes, cassettes, and the like. 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.
[0093] The foregoing description of exemplary 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 this disclosure. It is intended that the scope of the disclosure be limited not by this detailed description, but rather by the claims appended hereto. Future applications claiming priority to this application may claim the disclosed subject matter in a different manner and may generally include any collection of one or more limitations as variously disclosed or otherwise exemplified in the present application.
Claims
1. 1. A system comprising a processor circuit and a memory for storing instructions, The instructions, when executed by the processor circuit, receiving a request to access a digital service by an application executing on the processor circuit; receiving, by the application, a first authentication based on verification of a first set of encrypted data associated with a user account; requesting a second authentication from a contactless card by the application; receiving, by a card reader of a client device, a second set of encrypted data from a communication interface of the contactless card in response to activation of the contactless card; receiving, by the application, from a server, a second verification of the user account based on the second set of encrypted data; authorizing, by the application, access to the digital service in response to first and second validation of the user account; verifying, by said application, whether said contactless card remains active by continually providing a series of periodic status messages between said client device and said contactless card; causing the processor to execute the a second set of encrypted data is generated based on a cryptographic algorithm and a derived key, the derived key being stored in a memory of the contactless card, the contactless card being activated by the client device when the contactless card is located in proximity to the client device, and the second set of encrypted data is associated with the user account; Authorization to access the digital service continues while the contactless card is active, and authorization to access the digital service terminates when the contactless card is inactive. system.
2. the memory storing instructions which, when executed by the processor circuit, cause the application to determine that the contactless card is inactive if the signal strength of the contactless card is below a predetermined threshold. The system of claim 1 .
3. the memory storing instructions which, when executed by the processor circuit, cause the contactless card to activate the application in response to a magnetic field of the client device. The system of claim 1 .
4. The system further comprises a second client device; the application runs on the second client device; The system of claim 1 .
5. the client device being one of a mobile device, a personal computer, and an external contactless card reader; The system of claim 1 .
6. The memory, when executed by the processor circuit, requesting the second authentication directly from the mobile device; receiving a second set of encrypted data from a communications interface of the contactless card in response to the second authentication request; transmitting the second set of encrypted data to the server and receiving a second verification of the user account based on the second set of encrypted data; storing instructions for causing said application to execute the The system of claim 5.
7. The system further comprises a physical covering over the client device; the housing includes a receptacle operable to receive the contactless card; the receptacle is located near a card reader of the client device; The system of claim 1 .
8. receiving a request to access a digital service by an application executing on the processor circuit; receiving, by the application, a first authentication based on verification of a first set of encrypted data associated with a user account; requesting a second authentication from a contactless card by the application; receiving, by a card reader of a client device, a second set of encrypted data from a communication interface of the contactless card in response to activation of the contactless card; receiving, by the application, from a server, a second verification of the user account based on the second set of encrypted data; authorizing, by the application, access to the digital service in response to first and second validation of the user account; and verifying, by said application, whether said contactless card remains active by continually providing a series of periodic status messages between said client device and said contactless card; a second set of encrypted data is generated based on a cryptographic algorithm and a derived key, the derived key being stored in a memory of the contactless card, the contactless card being activated by the client device when the contactless card is located in proximity to the client device, and the second set of encrypted data is associated with the user account; Authorization to access the digital service continues while the contactless card is active, and authorization to access the digital service terminates when the contactless card is inactive. method.
9. determining, by the application, that the contactless card is inactive if a signal strength of the contactless card is below a predetermined threshold. The method of claim 8.
10. and activating, by the application, the contactless card in response to a magnetic field of the client device. The method of claim 8.
11. The method further includes providing a second client device; the application runs on the second client device; The method of claim 8.
12. The memory, when executed by the processor circuit, requesting the second authentication directly from the client device, the client device being a mobile device; receiving a second set of encrypted data from a communications interface of the contactless card in response to the second authentication request; transmitting the second set of encrypted data to the server and receiving a second verification of the user account based on the second set of encrypted data; Let the application execute the above. The method of claim 8.
13. The method further includes receiving the contactless card within a receptacle of a physical enclosure; the receptacle is located adjacent to a card reader of the client device when the client device is connected to a physical enclosure; The method of claim 8.
14. A non-transitory computer readable storage medium having computer readable program code embodied therein, comprising: The computer readable program code is executable by a processor circuit, thereby receiving a request to access a digital service by an application executing on the processor circuit; receiving, by the application, a first authentication based on verification of a first set of encrypted data associated with a user account; requesting a second authentication from a contactless card by the application; receiving, by a card reader of a client device, a second set of encrypted data from a communication interface of the contactless card in response to activation of the contactless card; receiving, by the application, from a server, a second verification of the user account based on the second set of encrypted data; authorizing, by the application, access to the digital service in response to first and second validation of the user account; verifying, by said application, whether said contactless card remains active by continually providing a series of periodic status messages between said client device and said contactless card; causing the processor circuit to execute a second set of encrypted data is generated based on a cryptographic algorithm and a derived key, the derived key being stored in a memory of the contactless card, the contactless card being activated by the client device when the contactless card is located in proximity to the client device, and the second set of encrypted data is associated with the user account; Authorization to access the digital service continues while the contactless card is active, and authorization to access the digital service terminates when the contactless card is inactive. A non-transitory computer-readable storage medium.
15. and further comprising computer readable program code executable by the processor circuit to cause the processor circuit to determine that the contactless card is inactive if the signal strength of the contactless card is below a predetermined threshold, 15. The non-transitory computer-readable storage medium of claim 14.
16. and further comprising computer readable program code executable by the processor circuit to cause the processor circuit to activate the contactless card in response to a magnetic field of the client device according to the application.
15. The non-transitory computer-readable storage medium of claim 14.
17. and further comprising computer readable program code executable by the processor circuitry to cause the processor circuitry to run the application on a second client device.
15. The non-transitory computer-readable storage medium of claim 14.
18. the client device being one of a mobile device, a personal computer, and an external contactless card reader; 15. The non-transitory computer-readable storage medium of claim 14.
19. requesting, by the application, the second authentication directly from the client device; receiving, by the application, a second set of the encrypted data from a communications interface of the contactless card in response to the second authentication request; transmitting, by the application, a second set of the encrypted data to the server and receiving a second verification of the user account based on the second set of encrypted data. and further comprising computer readable program code executable by the processor circuit to cause the processor circuit to execute the 20. The non-transitory computer-readable storage medium of claim 18.
20. the communication interface of the contactless card is configured to support at least one of NFC (near field communication), Bluetooth (registered trademark), and Wi-Fi (registered trademark); the second set of encrypted data includes at least one of an encrypted expiration date, an encrypted billing address, and an encrypted card verification value (CVV) associated with the account; 15. The non-transitory computer-readable storage medium of claim 14.
Citation Information
Patent Citations
Computer automatic recognition system by IC card
JP2002157050A
Method for creating one-time password, method for authenticating one-time password, one-time password creation apparatus, IC card with function to create one-time password, one-time password authentication apparatus, IC card program, and computer program
JP2008176383A
Charging system
JP2015139038A
Settlement system, illegal acquisition prevention method, settlement method, information processor, server device, information processing program, and server program
JP2016110462A
Multi-factor authentication using a smartcard
US20070118745A1
