Reader bound with computer and encryption device
By establishing a mutual key encryption tunnel between the reader and the communication device, the security vulnerability problem of the communication interface is solved, the security and privacy of data transmission are achieved, and the credentials are prevented from being stolen and impersonated.
Patent Information
- Application Number
- CN202480014959.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-02-28
- Filing Date
- 2024-02-26
- Publication Date
- 2025-10-03
AI Technical Summary
The communication interfaces of existing communication devices have security vulnerabilities, and data can be easily intercepted and stolen during transmission. In particular, when credentials are transmitted between the reader and the communication device, malicious entities can steal and impersonate legitimate users through sniffing software.
By establishing a mutual key between the reader and the communication device, data is transmitted encrypted using a security element, forming an encrypted tunnel to prevent data from being intercepted in plain text.
This effectively prevents credentials from being stolen within the communication device, ensures the security and privacy of data transmission, and prevents malicious entities from impersonating legitimate users.
Smart Images

Figure CN120752637A_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This application is a PCT application claiming priority to U.S. Provisional Application No. 63 / 487,511, filed on February 28, 2023, which is incorporated herein by reference in its entirety. Background Art
[0003] Generally, improvements in computer systems, including communication devices (e.g., network-connected devices such as smartphones, laptops, tablets, desktop computer systems, etc.), have resulted in a significant expansion in the functionality of these devices, as well as an increase in the number of peripheral devices, communication interfaces, and integrated components or devices. Twenty years ago, a cell phone might have included a cellular antenna as its only communication interface. Today, a smartphone may have a cellular antenna, a Bluetooth antenna, a near-field communication (NFC) antenna, a USB port, an optical scanner (implemented using, for example, an integrated camera), a biometric scanner, and countless other interfaces that the smartphone can use to receive data from around the world.
[0004] These improvements make it easier for individuals and organizations to perform tasks that previously might have required specialized hardware. For example, entertainment venues (e.g., concert halls, stadiums, etc.) no longer need specialized ticket scanning hardware to verify a customer's ticket before admitting them. Instead, employees can use an integrated camera and an associated ticket scanning application to scan tickets using an off-the-shelf smartphone (which might even be the employee's personal property). As another example, small business owners may be able to use a compact and inexpensive credit card reader add-on to use their personal tablet or smartphone as a point-of-sale (POS) terminal, eliminating the need for a dedicated POS terminal.
[0005] However, these improvements also introduce new data security risks. Communication interfaces of communication devices, including internal communication interfaces such as the system bus, can be vulnerable to security vulnerabilities. Because data is transmitted between device components or peripheral devices on these communication interfaces (e.g., between a Bluetooth receiver and a processor), it can be easily intercepted. For example, packet analysis malware can be used to intercept data sent over the Universal Serial Bus (USB) between a peripheral device and the device driver used by the computer system to communicate with the peripheral device. Using such software, an eavesdropper or other malicious entity can extract and steal this potentially sensitive data.
[0006] This interception risk is particularly problematic for access systems that include a communication device and an integrated reader device. For example, a property management team might use a communication device (e.g., a computer system) with an integrated smart card reader to control access to an apartment building. Residents of the apartment building can swipe their ID card through the reader to supply credentials to the communication device. The communication device can verify the credentials to determine whether the user has access rights to the building (e.g., using a resident database). After verifying the credentials, the communication device can, for example, unlock an electronic lock on a building door, allowing the user entry.
[0007] However, if a malicious entity can intercept the credentials (e.g., using malware that intercepts data transmitted over the communication device's internal system bus), the malicious entity can steal the credentials and later use them to impersonate the resident, for example, by loading the stolen user credentials onto a counterfeit ID card and using the counterfeit ID card to impersonate the resident and gain access to their apartment.
[0008] The embodiments individually and collectively address this and other problems. Summary of the Invention
[0009] Embodiments of the present disclosure relate to methods and systems for establishing a cryptographic binding between a reader and a driver application on a communication device (e.g., a network-connected communication device such as a smartphone, laptop, tablet, wearable device, etc.). As described above, cryptographic binding enables secure transmission of data between the reader and the driver, thereby preventing potential interception and theft.
[0010] Generally, a driver may include software that can be used by a communication device to communicate, interface, or otherwise control other connected devices, which may include integrated components of the communication device. For example, a communication device with an integrated NFC reader may use a device driver to receive and interpret data from the NFC reader via a system bus or other communication interface.
[0011] However, in conventional communication devices, data (such as credentials) is transmitted between the reader and the communication device in clear text. Therefore, such data can be easily intercepted. For example, USB sniffing malware, USB protocol analyzers, and USB over IP systems can be used to surreptitiously obtain USB payloads and, thereby, steal any data contained in those USB payloads.
[0012] In contrast, embodiments of the present disclosure provide methods and systems (including a communication device and a reader) for enabling secure cryptographic communication between the reader and the communication device by binding the reader and a security element (e.g., a secure cryptographic processor) to a host communication device, thereby creating an encrypted tunnel between the two devices. This can be achieved by establishing a mutual key between the driver of the communication device and the security element of the reader. The reader can encrypt data using the mutual key and transmit the encrypted data to the driver. The driver can decrypt the data using the mutual key and then process the data.
[0013] For example, the reader may comprise an NFC smart card reader that uses near field communication to read credentials (e.g., user identifiers) stored on cards such as ID cards. Such readers may be directly integrated into the communication device (e.g., connected to other components of the communication device via an integrated I2C bus), or may comprise a removable device (e.g., via a USB port) that is inserted into the communication device. The reader may encrypt this credential using a mutual key. The reader may transfer the encrypted credential to a driver running on the communication device, e.g., as a payload on a communication interface (e.g., a USB interface) of the communication device. The driver may then decrypt the credential using a mutual key and process the credential (e.g., to verify the identity of the cardholder) to allow them to enter an access-controlled location (e.g., a secure building).
[0014] Encrypting the credentials using a mutual key prevents the credentials from being intercepted within the communication device itself. An eavesdropper could conceivably compromise the communication device by secretly installing "sniffing" malware (e.g., USB sniffing software or a USB protocol analyzer) on the communication device. In conventional communication devices, such malware can be used to intercept and steal credentials, potentially enabling an eavesdropper to, for example, clone the credentials to a new smart card user device and impersonate the legitimate user device owner. However, in an embodiment, because the credentials are encrypted using a mutual key, any potential eavesdropper will obtain the encrypted credentials, rather than the credentials themselves. Therefore, embodiments of the present disclosure protect potentially sensitive data (e.g., credentials) from being stolen when transmitted from a device (e.g., a reader) to the communication device.
[0015] In more detail, one embodiment relates to a method performed by a communication device. The communication device may establish a mutual key between a driver and a secure element. The communication device may then use the driver to receive an encrypted credential from a reader associated with the communication device. This encrypted credential may include a credential received by the reader from a user device, encrypted using the mutual key. The communication device may use the driver to decrypt the credential using the mutual key, thereby generating the credential in plain text. The communication device may then use the driver to process the credential.
[0016] Another embodiment relates to a method performed by a reader. The reader may use a secure element to establish a mutual key between a driver and the secure element of a communication device. The reader may then receive a credential from a user device. The reader may use the secure element to encrypt the credential using the mutual key, thereby generating an encrypted credential. The reader may use the secure element to transmit the encrypted credential to the communication device. The communication device may use the driver and the mutual key to decrypt the encrypted credential, thereby generating a credential. The communication device may then use the driver to process the credential.
[0017] In some embodiments, the reader and the communication device can perform a mutual authentication process to establish a mutual key, which can be stored in its corresponding security element (e.g., a security cryptographic processing chip) and can be used by these security elements to perform encryption and decryption operations. In such embodiments, the communication device can retrieve information (such as digital signatures and public keys) from the security element of the reader. This information can be provided by the communication device to an online authoritative computer, which can verify the security element of the reader based on this information. Such an online authoritative computer can correspond to the device manufacturer of the reader or the security element of the reader. After verifying the security element of the reader, the security element of the reader and the driver can establish a mutual key, for example, using a key exchange method such as Diffie-Hellman key exchange.
[0018] Some other embodiments relate to computer systems or other devices (e.g., communication devices) that can be configured to perform the methods described above or other methods. For example, one embodiment relates to a communication device comprising one or more processors and a non-transitory computer-readable medium coupled to the one or more processors. The non-transitory computer-readable medium may include instructions that, when executed by one or more processors, cause the one or more processors to perform the methods described above (or other methods described in the detailed description below).
[0019] the term
[0020] A "server computer" may include a powerful computer or computer cluster. For example, a server computer may include a mainframe, a minicomputer cluster, or a group of servers operating as a unit. In one example, a server computer may include a database server coupled to a network server. A server computer may include one or more computing devices and may use any of a variety of computing structures, arrangements, and compilations to service requests from one or more client computers.
[0021] "Memory" may include any suitable device or devices that can store electronic data. Suitable memory may include non-transitory computer-readable media that stores instructions executable by one or more processors to implement the desired method. Examples of memory include one or more memory chips, disk drives, and the like. Such memory may operate using any suitable electrical, optical, and / or magnetic operating modes. A "memory buffer" may include an area of memory used for temporary storage of data.
[0022] A "processor" may include any suitable data computing device or devices. A processor may include one or more microprocessors working together to perform a desired function. A processor may include a CPU comprising at least one high-speed data processor sufficient to execute program components for executing user and / or system-generated requests. A CPU may be a microprocessor such as AMD's Athlon, Duron, and / or Opteron; IBM and / or Motorola's PowerPC; IBM and Sony's Cell processor; Intel's Celeron, Itanium, Pentium, Xenon, and / or XScale; and / or similar processors.
[0023] A “user” may include an entity that uses something for a certain purpose. An example of a user is a person using a “user device” or a “mobile device.” A user device may include any device operated by a user, such as a smartphone, a smart card (including payment cards such as credit cards), a wearable device, a laptop computer, a tablet computer, a desktop computer, and the like. A “mobile device” may include a mobile device, such as a smartphone, a smart card, a smart watch, other wearable devices, and the like. A user may also use a mobile device. Many mobile devices may be user devices, and similarly, many user devices may be mobile devices. Typically, when two devices are present in a system or used in a method, the terms user device and mobile device are generally used herein to distinguish between the two devices. User devices and mobile devices may include “electronic components,” such as integrated circuit chips, capacitors, resistors, and the like.
[0024] A "resource provider" may include an entity that provides a "resource." A "resource" may include something that can be provided. Examples of resources include material resources (such as iron), monetary resources (such as US dollars), and consumables (such as cleaning supplies, clothing, food, etc.). Resources may also include services, such as cleaning services. Access to something may also be considered a resource, for example, access to a secure building. Examples of resource providers include merchants, government entities, security guards, etc. A resource provider may operate a "resource provider computer"
[0025] A "transport computer" may include a computer that transports data from one computer to another. A transport computer may include an intermediary in a computer network, such as the Internet. In some cases, a transport computer may be operated by an "acquirer" or "acquiring bank," an entity that provides banking services on behalf of a resource provider (e.g., a merchant).
[0026] An "authorization computer" may include a computer system used to authorize certain operations or interactions between entities. For example, an authorization computer may be used to authorize transactions between a user and a (merchant) resource provider. In some cases, the authorization computer may be operated by a "card issuer" or "issuing bank" (i.e., the entity that provides banking services on behalf of the user). The owner or operator of the authorization computer may be referred to as an authorized entity. For example, an issuing bank may include an authorized entity.
[0027] An "authorization request message" may include a message sent to an authorization computer requesting authorization for some operation or interaction. For example, an authorization request message may request authorization for a transaction between a (merchant) resource provider and a user. As another example, an authorization request message may request authorization to grant a user access to a secure facility (e.g., a government laboratory). An "authorization response message" may include a message sent by the authorization computer in response to an authorization request message. For example, an authorization response message may confirm or deny authorization. Authorization request and response messages may conform to any suitable communication protocol or standard, including ISO 8583, a standard for exchanging payment card information.
[0028] A "processing computer" may include a computer system that processes data or messages transmitted between computers in a network. For example, a processing computer may receive messages, determine their intended recipients, and transmit these received messages to their intended recipients. A processing computer may include part of a "processing network," such as a payment processing network.
[0029] A “communication device” may include a computer system or other device that performs communication as one of its functions. For example, a communication device may include a hardware device that is capable of transmitting analog or digital signals wirelessly or over a wired network. Examples of communication devices include smartphones, wearable devices, laptops, tablet computers, desktop computers, etc. A communication device may communicate with other devices directly or over a “communication network” (e.g., the Internet, a cellular network, a local area network, etc.). A communication device may communicate with other devices using one or more “communication interfaces.” A communication interface may include electronic circuitry or other hardware components that enable machines, devices, and computers to communicate with other machines, devices, and computers (typically wirelessly or using wired interconnects). USB, I2C, SATA, Ethernet, Bluetooth, near-field communication (NFC) receivers, etc. are all examples of communication interfaces.
[0030] An "integrated device" may include a device that is part of another device and that may contribute to the operation of the other device. For example, a computer system may include an integrated graphics card, which is a computing chip dedicated to graphics processing. In some cases, an integrated device may be housed within or otherwise attached to the device into which it is integrated. For example, an integrated graphics card may be mounted on the motherboard of a laptop computer, and an integrated NFC reader may be housed in the case of a smartphone.
[0031] A "reader" may include a device that "reads" data (e.g., from another device or from other data sources). For example, a QR code reader may include a camera or optical sensor capable of reading data from a printed QR code. As another example, an NFC reader may include an NFC interface that may be used to read data from an NFC-enabled smart card. As yet another example, a reader may include a "chip card reader" that includes conductive contacts for interfacing with conductive contacts on a smart card user device. In some cases, a reader may be part of an "access device," which may include a device for accessing something (such as a network or computer system). For example, a point of sale terminal may include access devices for obtaining access to a payment processing network.
[0032] "Credentials" may include any data (e.g., an identifier) that can be used to qualify or identify something (e.g., an entity, computer, device, account, etc.). Examples of credentials include name, social security number, serial number, SIM number, credit card number, account number, username, etc. User device credentials may include an identifier that can be used to identify a particular user device. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Figure 1A block diagram of an exemplary system including a communication device, a reader, and a user device is shown in accordance with some embodiments.
[0034] Figure 2 A diagram illustrating a first exemplary user device in accordance with some embodiments.
[0035] Figure 3 A diagram illustrating a second exemplary user device in accordance with some embodiments.
[0036] Figure 4 A block diagram of an exemplary communication device and reader is shown in accordance with some embodiments.
[0037] Figure 5 A block diagram of an exemplary communication device with an integrated reader is shown in accordance with some embodiments.
[0038] Figure 6 A sequence diagram corresponding to an exemplary method according to some embodiments is shown. DETAILED DESCRIPTION
[0039] refer to Figure 1 Systems according to embodiments may be better understood by the diagram illustrating an exemplary system 100 including a communication device 102 , a reader 104 , and a user device 106 .
[0040] In system 100, communication device 102 can use reader 104 to read data 108 (e.g., credentials) from user device 106 and process the data for some purpose. By establishing a cryptographic binding, reader 104 and communication device 102 can create a secure channel 128 over which encrypted data can be transmitted, thereby preventing potential eavesdroppers 126 from intercepting the data through operating system 118 or communication interface 120. System 100 also includes several other computers and entities, including an authorization computer 124 and an online authority computer 130, which will be described in more detail below.
[0041] The devices and computers in the system 100 can communicate with each other using a communication network (not shown) such as a cellular communication network or the Internet. For example, the communication device 102 can communicate with the intermediary computer 122, the authorization computer 124, and the online authority computer 130 via the Internet. However, it should be understood that such a communication network can take any suitable form and can include any one and / or a combination of the following: direct interconnection; the Internet; a local area network (LAN); a metropolitan area network (MAN); an operating mission as a node on the Internet (OMNI); a secure custom connection; a wide area network (WAN); a wireless network (e.g., using protocols such as, but not limited to, the Wireless Application Protocol (WAP), I-mode, etc.), etc. Messages between computers and devices in the system 100 can be transmitted using communication protocols such as, but not limited to, the following: File Transfer Protocol (FTP); Hypertext Transfer Protocol (HTTP); Secure Hypertext Transfer Protocol (HTTPS); Secure Sockets Layer (SSL), ISO (e.g., ISO 8583), etc. When communicating over a network such as the Internet, messages or other data sent between two computers or devices in the system 100 are transmitted in a secure manner. Figure 1 A reasonable probability of routing between an indefinite number of intermediary computers 122 is illustrated.
[0042] In some embodiments, the communication device 102 and the reader 104 may be operated by a resource provider or a user of the user device 108. As an example, a resource provider operating the communication device 102 and the reader 104 may use the communication device 102 and the reader 104 to securely receive and process credentials (e.g., data 108) from the user device 106 to verify whether the user corresponding to the user device 106 is eligible to receive a resource. If the user is successfully authorized to receive the resource, the resource provider may provide the resource to the user.
[0043] One example of a resource is access to a secure or otherwise access-controlled location. An example of such a location is a government facility. In this example, user device 106 may include a smart ID card, and reader 104 may include a device that interfaces with the smart ID card. Reader 104 may be connected to communication device 102, which may include a computer system operated by a resource provider (e.g., a security guard guarding an entrance to an access-controlled location), and intermediary computer 122 or authorization computer 124 may include part of the building's computer network. In this example, system 100 (e.g., using authorization computer 124) may be used to authenticate a user based on credentials from user device 106 and thereby verify whether the user has access to the government facility. If the user is successfully authenticated, the security guard may grant the user access (e.g., by unlocking the door). If the user is unsuccessful in authentication, the security guard may take any appropriate steps, such as requiring the user to leave, offering the user an opportunity to retry authentication, etc.
[0044] Another example of a resource is a good or service provided by a merchant resource provider. In such a case, the system 100 can be used to authenticate the user to verify whether the user is authorized to conduct a transaction with the merchant. In this example, the user device 106 may include an NFC-enabled payment card that stores payment credentials (e.g., data used to conduct a payment transaction, such as a primary account number (PAN), a card verification value (CVV or CVV2), an EMV cryptogram, etc.), the reader 104 may include an NFC reader for retrieving the credentials from the user device 106, and the communication device 102 may include a merchant device (e.g., a smartphone, laptop, or tablet computer owned by the merchant) connected to the reader 104.
[0045] In this example, intermediary computer 122 may comprise a computer associated with a four-party network, which is a system for conducting credit card transactions and may include, for example, a shipping computer and a processing computer. In such cases, the shipping computer may comprise a computer system that transmits messages, request messages, and authorization request messages to the processing computer. In some embodiments, the shipping computer may comprise an acquirer computer associated with an acquiring bank, which may maintain an account with a merchant resource provider (e.g., the operator of communication device 102 and reader 104). Thereafter (assuming the transaction between the user of user device 106 and the resource provider operator of communication device 102 and reader 104 is authorized), the shipping computer may involve clearing and settlement processes for transferring funds from the user of user device 106 to the resource provider associated with communication device 102. Alternatively, the shipping computer may comprise a merchant gateway server, or any other suitable computer system for transmitting messages, request messages, and / or authorization request messages to the processing computer.
[0046] A processing computer (sometimes referred to as a processing server) may include a computer system that performs various message and data processing functions. Specifically, the processing computer may route data and messages (including request messages and / or authentication request messages) to their intended recipients. As an example, the processing computer may identify an intended authorization computer recipient of an authorization request message and transmit the authorization request message to the authorization computer. In some embodiments, the processing computer may communicate with a payment processing network (such as VisaNet TM ) and can assist in processing credit and debit card transactions by routing authorization request messages to the card issuer's bank computers.
[0047] Continuing with the example, the communication device 102 may generate or initiate the generation of an authorization request message (including credentials) and transmit the authorization request message to the authorization computer 124 via the intermediary computer 122 using the driver 116. The authorization computer 124 may analyze the authorization request message and determine whether to authorize the transaction between the merchant operator of the communication device 102 and the user of the user device 106. Such analysis may include a risk assessment and may include evaluating the transaction amount, the time of the transaction, the frequency of recent transactions, etc. The authorization computer 124 may generate an authorization response message indicating whether the transaction has been approved or denied. This authorization response message may be returned to the communication device 102 via the intermediary computer 122.
[0048] Many of the entities, computers, and devices in system 100 are described in more detail with reference to other figures. Furthermore, many of these computers and devices can be understood from the context based on the above description. However, for the sake of completeness, these entities, computers, and devices are summarized below.
[0049] The communication device 102 may include a security element 114, which may include a secure cryptographic processor, which itself may include a trusted platform module (TPM), a dedicated cryptographic microcontroller that can be found in some communication devices. In some embodiments, the communication device 102 may use the security element 114 to store the mutual key established between the security element 110 of the reader 104 and the driver 116 of the communication device. In such embodiments, the security element 114 (the security element may be referred to as a "second security element") may include a secure memory (sometimes referred to as a "second secure memory"), and the secure memory may store the mutual key. The security element 114 may store other cryptographic keys or perform other cryptographic operations associated with the methods described herein. For example, the communication device 102 may use the security element 114 to store the cryptographic key associated with the authorized computer 124. After decrypting the encrypted credentials using the mutual key, the communication device 102 may use the security element 114 to retrieve the cryptographic key associated with the authorized computer 124, and use the cryptographic key to re-encrypt the credentials before transmitting the cryptographic key to the authorized computer 124.
[0050] The communication device 102 may additionally operate a driver 116 (sometimes referred to as a "device driver" or "driver application") that the communication device 102 may use to communicate with and control the reader 104. For example, the communication device 102 may use the driver 116 to receive data, including encrypted credentials, from the reader 104. In addition, the communication device 102 may use the driver 116 to perform various method steps according to embodiments, as described below with reference to Figure 6 As described in more detail below, for example, the communication device 102 may use the driver 116 to establish a mutual key between the secure element 110 of the reader 104 and the driver 116. To accomplish this, the communication device 102 may use the driver 116 to communicate with the online authority computer 130, for example, by providing information (e.g., a public key, a secure element identifier, a digital signature, etc.) to the online authority computer 130, which may be used by the online authority computer 130 to verify the secure element 110 as part of establishing the mutual key.
[0051] The operating system 118 may include system software that the communication device 102 may use to manage the hardware and software resources of the communication device 102. The communication device 102 may use the operating system 118 to operate the driver 116 and other software modules operated by the communication device 102 (e.g., general computing software such as a web browser), for example, by scheduling processor time for these software modules and allocating memory to these software modules. The operating system 118 may have access to components of the communication device 102, including the communication interface 120 and the secure element 114.
[0052] The communication interface 120 may include any number of interfaces through which the communication device 102 can communicate with other computers, devices, or hardware components (such as the reader 104). Examples of communication interfaces include wired interfaces (such as USB, I2C, SPI, SATA, PCI, PCIe, Ethernet, or FireWire) and wireless interfaces (such as Bluetooth, Wi-Fi, or cellular receivers). The communication device 102 may have multiple communication interfaces 120.
[0053] Conventional communication interfaces (e.g., USB, I2C, SPI, etc.) do not provide binding or encryption between computers, devices, components, or peripherals. Therefore, a malicious entity (such as a potential eavesdropper 126) may secretly install malware that enables the potential eavesdropper to intercept data through the operating system 118 and the communication interface 120. For example, USB sniffing software or a USB protocol analyzer can be used to capture data sent by the reader 104 to the communication device 102 via the USB communication interface. However, in an embodiment of the present disclosure, a mutual key can be established between the secure element 110 of the reader 104 and the driver 116 of the communication device 102, thereby enabling these components and software to encrypt messages and other data (e.g., credentials) before transmitting this data to each other through the communication interface 120 and the operating system 118, effectively establishing a secure channel 128 between the secure element 110 and the driver 116. Because such data is encrypted, a potential eavesdropper 126 cannot obtain this data in plain text, even if they have managed to install sniffing software (or other equivalent software) on the communication device 102.
[0054] The reader 104 may include any device or system capable of interfacing with the user device 106 (e.g., via a reader interface 112) and connecting to the communication device 102. In some embodiments, the reader 104 may also be part of an "access device." An example of a reader 104 is a USB-connected, NFC-enabled point-of-sale terminal that can interface with the user device 106 (e.g., an NFC-enabled credit card) to enable credit card transactions between the user and a resource provider associated with the communication device 102. The reader 104 may include one or more reader interfaces 112, such as a magnetic stripe reader, an EMV chip interface, a near-field communication interface, a USB interface, an Ethernet interface, and the like. The reader 104 may use these interfaces to interface with the user device 106 and communicate with the communication device 102.
[0055] In general, the reader 104 can collect (e.g., "read") data 108 from the user device 106, including data including credentials. The reader 104 can use the secure element 110 to encrypt the received credentials using a mutual key, thereby generating an encrypted credential. The reader 104 can provide this encrypted credential to the driver 116 of the communication device 102, for example, via the communication interface 120 and operating system 118 of the communication device 102.
[0056] As described above, some personal communication devices include an integrated reader (e.g., an integrated NFC reader) that can allow a user to interface with their user device via near field communication, for example, by "tapping" a contactless card user device on the reader to complete a payment transaction (e.g., a remote e-commerce transaction). Thus, in some embodiments, reader 104 can include an integrated reader and can include components of communication device 102. In some embodiments, reader 104 and communication device 102 can include a single system, and reader 104 can be connected to the other components of communication device 102 via an internal system bus communication interface. Figure 5 Such integrated readers are further described.
[0057] The reader 104 may have a security element 110 (sometimes referred to as a "first security element" to distinguish it from the security element 114 of the communication device 102). The security element 110 may include a secure cryptographic processor (e.g., a trusted platform module). As described above, the communication device 102 and the reader 104 may establish a mutual key between the security element 110 and the driver 116 to facilitate secure communication between the security element 110 and the driver 116. For this purpose, the reader 104 may use the security element 110. For example, the reader 104 may use the security element 110 to provide a security element identifier, a public key, and a digital signature to the communication device 102 so that the communication device 102 can verify the security element 110 (e.g., using an online authoritative computer 130). The security element 110 may also be used to verify the driver 116 by a verification token received from the communication device 102, and perform a key exchange with the driver 116 to establish a mutual key. Additionally, the reader 104 may use the secure element 110 to encrypt data (e.g., credentials) received from the user device 106 using a mutual key for secure transmission of the data to the communication device 102. In some embodiments, the secure element 110 may include secure memory (e.g., such as Figure 4 and Figure 5 The secure memory is depicted and sometimes referred to as a “first secure memory” to distinguish it from a “second secure memory” (e.g., a secure memory associated with secure element 114). The secure memory may store a mutual key established between driver 116 and secure element 110.
[0058] The reader interface 112 may include any number of interfaces through which the reader 104 can communicate with other computers, devices, or hardware components, such as the user device 106 and the communication device 102. Examples of reader interfaces include wired interfaces (such as USB, I2C, SPI, SATA, PCI, PCIe, Ethernet, or FireWire) and wireless interfaces (such as Bluetooth, Wi-Fi, or cellular receivers). The reader 104 may have multiple reader interfaces 112. For example, the reader 104 may read a credential (or other data 108) from the user device 106 via an NFC interface and may communicate with the communication device 102 via a USB interface.
[0059] The user device 106 may include a device operated by a user, such as a smart card, a smartphone, a wearable device (e.g., a smart watch), a laptop computer, a tablet computer, a desktop computer, etc. In some embodiments, the user device 106 may be in the form of a card, such as a smart card or a payment card. The user device 106 may store data 108, which may include credentials. Such credentials may be processed by the communication device 102 as part of some interactions. For example, as described above, the credentials may be processed by the communication device 102 to verify whether the user of the user device 106 has access to a secure building. Alternatively, the credentials may include payment credentials, which may be used to conduct payment transactions between the user of the user device 106 and the merchant operator of the communication device 102 and the reader 104. Figure 2 and Figure 3 The user device is described in more detail.
[0060] Intermediary computers 122 may include any number of computers through which messages from communication device 102 may be routed to authorization computer 124 (e.g., computer systems on the Internet). Alternatively or in addition, intermediary computers 122 may include computer systems in a four-way network, such as a shipping computer and a processing computer, as described above.
[0061] Authorization computer 124 may comprise a computer system that authorizes authorization request messages received from communication device 102 via a processing computer (or any other communication channel). In a transaction processing system, authorization computer 124 may comprise an issuer computer associated with an issuing bank, which may have issued user device 106 (e.g., a credit card) to the user. Authorization computer 124 may use the contents of the received authorization request message to generate an authorization response message. These authorization response messages may indicate whether the user is authorized to perform some action (e.g., complete a transaction) or access some resource. The authorization response message may be transmitted from authorization computer 124 back to communication device 102 via intermediary computer 122.
[0062] The online authority computer 130 (sometimes referred to as an "online control authority") may include a computer system that can verify the legitimacy of the security element 110. In some embodiments, the online authority computer 130 may include a computer system associated with the manufacturer of the reader 104 and / or the security element 110. For example, the online authority computer 130 may include a network server that maintains a database of security element identifiers (e.g., serial numbers) and other information that can be used to verify readers and / or security elements (such as the reader 104 and / or the security element 110). After verifying the security element 110, the online authority computer may then provide a token (sometimes referred to as a "verification token" or "authentication token") that is returned to the reader 104 via the communication device 102. Such a token can be used to establish a mutual key between the security element 110 and the drive 116.
[0063] Reference below Figure 2-5 The user device, communication device and reader are described in more detail.As described above, the user device 106 may be in the form of a card, for example a smart card or a payment card such as a credit card. Figure 2 An exploded view of a smart card user device 200 according to some embodiments is shown. User device 200 may include a substrate 202 (e.g., plastic) into which other components are embedded. These components may include an embedded element 204, electrical contacts 206, and a contactless element 208, which may be more generally referred to as "electrical components." Substrate 202 may include a first cavity 210 and a second cavity 212, which may accommodate the components listed above.
[0064] Embedded element 204 may include embedded components of user device 200, which may be embedded within substrate 202. For example, embedded element 204 may include a smart card embedded microcontroller. Such a smart card embedded microcontroller may include various computing components, including (as examples) a CPU core, memory (such as ROM, RAM, EEPROM, FLASH, etc.), an EEPROM oscillator, a charge pump, a modular arithmetic processor, control logic, an interrupt controller, a phase-locked loop (PLL), a random number generator, a time base, and a watchdog, as well as any other suitable components. Embedded element 204 may also include a cryptographic coprocessor that can be used to perform cryptographic operations. The memory of embedded element 204 may store data such as credentials, which may be used in some methods according to embodiments. These credentials may include, for example, a user device identifier (e.g., an account number associated with the user device), a user identifier, or a payment account number (e.g., a 15- to 19-digit credit card number). Such credentials may be used, for example, to authorize interactions (e.g., transactions) between a user of the user device and a merchant operator of a reader and communication device. In some cases, embedded component 204 may be powered by power transfer from a reader or access device that interfaces with user device 200 .
[0065] Electrical contacts 206 and contactless element 208 may include a user device interface, and user device 200 may use the user device interface to communicate or interface with other devices (such as a reader). Using electrical contacts 206 and / or contactless element 208, a reader may communicate with embedded element 204 (e.g., to read data (such as a certificate) from the memory of embedded element 204). In some embodiments, contactless element 208 may include a near-field communication antenna, through which a reader may communicate with user device 200 via near-field communication. These user device interfaces and embedded element 204 may include a part of an "integrated chip circuit," a "chip circuit," or a "smart chip." Therefore, user device 200 may be referred to as a "chip card."
[0066] Similarly, Figure 3 Shown are two sides of an external view of an exemplary user device according to some embodiments. Figure 3 In the example user device, a credit card (a payment card) may include an issuer identifier 302 that provides an indication of the authorized entity supporting the user device. In some embodiments, the issuer identifier 302 may include the name or logo of the authorized entity, which may include the issuing bank.
[0067] The user device may include an integrated circuit chip 304 (sometimes referred to as a "smart chip"). The surface metal contacts of the integrated chip circuit 304 may serve as a user device interface. Using this interface, the user device may interface with a reader. User devices with integrated circuit chips may include Europay, Mastercard, and Visa (EMV) cards. EMV cards may include smart cards (also known as chip cards or IC cards) that may store their data (e.g., credentials that may be used to authenticate the user and authorize credit card transactions) on the integrated circuit chip 304 in addition to a magnetic strip (which may provide backward compatibility). These include cards that are physically inserted (or "poked") into a reader or access device, as well as contactless cards that may be read at short distances using near field communication or radio frequency identification (RFID) technology. With Figure 2 Like the user device 200 in FIG. 1 , the user device may include a contactless element (e.g., contactless element 322), which may be embedded in the user device. The contactless element 322 may include, for example, an NFC antenna or other suitable component to enable contactless transmission of data from the user device to a reader or access device. Payment cards that comply with the EMV standard are often referred to as "chip and PIN" or "chip and signature" cards, depending on the authentication method used by the card issuer. The integrated circuit chip 304 may include a processor and / or memory (which may include components of a smart card's embedded microcontroller) containing preloaded instructions. When powered on (e.g., by interfacing with a reader or access device), the processor of the integrated circuit chip 304 may begin executing the preloaded instructions, including transmitting or otherwise providing data (including credentials) to the reader or access device. This memory may also include verification data, which may be provided to the reader when the integrated circuit chip 304 is powered on.
[0068] The user device may include a user device identifier 306 (e.g., an account number). The user device identifier 306 may include credentials. The user device identifier 306 may include 15 to 19 digits. In some embodiments, the user device identifier 306 may be assigned according to International Standard Organization (ISO) standard 7812. In this standard, the first six digits of the user device identifier 306 may be an "Issuer Identification Number (IIN)," sometimes referred to as a "Bank Identification Number (BIN)." Except for the last digit, the remaining digits of the user device identifier 306 may be a personal account identification number. The last digit is typically a check digit (e.g., a Luhn check digit). The processing network may use the IIN or BIN to identify the appropriate authorized entity to which transactions using the user device should be routed.
[0069] The user device may include an expiration date 308, which indicates the date when the user device is no longer valid. In some cases, the user may be required to provide expiration data to complete a transaction. If the user provides an incorrect expiration date, the transaction may be rejected. For example, credit card transactions conducted online or over the phone often require the user to provide the correct expiration date 308 to verify that the user actually owns the credit card. If the user fails to provide the correct expiration date, these transactions may be rejected.
[0070] The user device may include an account holder name 310 that indicates a user or other entity associated with the user device. An authorized entity may maintain an account for the account holder indicated by the account holder name 310. In some embodiments, a transaction may be declined if the name associated with the account does not match the indicated account holder name 310.
[0071] The user device may include a processing network indicator 312 that indicates the transaction processing network used to route the authorization request message associated with the user device. In some embodiments, merchants may accept user devices associated with certain processing networks. For example, some merchants may only accept user devices associated with Visa.
[0072] The user device may include a magnetic stripe 314. Magnetic stripe 314 may include up to three tracks, referred to as Track 1, Track 2, and Track 3. In transactions, only Track 1 and Track 2 are used. The minimum cardholder account information required to complete a transaction is present on both tracks. Track 1 has a bit density of 210 bits per inch and is the only track that can contain alphanumeric text, and therefore the only track that contains the cardholder's name. Track 2 has a bit density of 75 bits per inch.
[0073] The user device may include a hologram 316 or other suitable authentication mechanism. A hologram is a mirror-like cross-section that depicts a three-dimensional image. The hologram is a security feature that helps merchants identify whether the user device is valid. Holograms typically require expensive equipment to produce and are used to verify the authenticity of the user device based on the likelihood that an unauthorized party cannot reproduce the hologram 316.
[0074] The user device may include a signature block 318. In some embodiments, the user device may be signed before it can be used for a transaction. During a transaction, the merchant typically checks the signature of the signature block 318 with the signature provided by the user who signs the receipt for the transaction.
[0075] The user device may also include a security code 320. The security code 320 may be a CVV, CVV2, CVC, CSC, CID, or any other suitable security code. In the case where the processing network associated with the user device is Visa, MasterCard, or Discover, the security code 320 may include a three-digit code on the back of the user device. In the case where the processing network associated with the user device is American Express, the security code 320 may include a four-digit code on the front of the card. The security code may be used to verify that the user possesses a valid user device.
[0076] refer to Figure 4 To better understand the communication devices and readers according to some embodiments of the present disclosure, the figure shows an exemplary communication device 402, which includes a processor 406, a communication interface 408, a computer-readable medium 410, and a security element 418. The computer-readable medium 410 can be non-transitory and coupled to the processor 406. The computer-readable medium 410 can contain instructions, data, code, and / or software modules that the communication device 402 can use to implement some methods according to the embodiments. These instructions, data, code, and / or software modules can include an operating system 412, a driver 414, and other software modules 416. Figure 4 Also shown is a reader 404 , which includes a processor 424 , a reader interface 426 , and a secure element 428 .
[0077] Processor 424 may include any suitable one or more data computing devices capable of interpreting code and executing instructions to perform the functions of reader 404. Processor 424 may include a CPU operating on a reduced instruction set and may include a single-core or multi-core processor.
[0078] Communication interface 408 may include any number of interfaces through which communication device 402 can communicate with other computers, devices, or hardware components (such as reader 404). Examples of communication interfaces include wired interfaces (such as USB, I2C, SPI, SATA, PCI, PCIe, Ethernet, or FireWire) and wireless interfaces (such as Bluetooth, Wi-Fi, or cellular receivers). Communication device 402 may have multiple communication interfaces 408. For example, communication device 402 may communicate with an online authority computer via a cellular interface. As another example, reader 404 may connect to communication device 402 via a USB interface.
[0079] The reader interface 426 may include any number of interfaces through which the reader 404 may communicate with other computers, devices, or hardware components, such as user devices (e.g., Figure 2 and Figure 3 404 communicates with the communication device 402. Examples of reader interfaces include wired interfaces (such as USB, I2C, SPI, SATA, PCI, PCIe, Ethernet, or FireWire) and wireless interfaces (such as Bluetooth, Wi-Fi, or cellular receivers). Reader 404 can have multiple reader interfaces 426. For example, reader 404 can read credentials from a user device via an NFC interface and can communicate with communication device 402 via a USB interface.
[0080] The security element 418 may include a security component of the communication device 402. In some embodiments, the security element 418 may include a tamper-resistant processor chip, such as a secure cryptographic processor (e.g., a trusted platform module). The security element 418 may include a secure operating system and may protect assets, including cryptographic keys such as mutual keys 422. The security element 418 may include a secure memory 420 that may store cryptographic assets including the mutual keys 422. The communication device 402 may also use the security element 418 to perform cryptographic operations, such as decrypting encrypted credentials received from the reader 404 using the mutual keys 422.
[0081] Likewise, the security element 428 may include a security component of the reader 404. In some embodiments, the security element 428 may include a tamper-resistant processor chip, such as a secure cryptographic processor (e.g., a trusted platform module). The security element 418 may include a secure operating system and may protect assets, including cryptographic keys such as mutual keys 432. The security element 428 may include a secure memory 430 that may store cryptographic assets including the mutual keys 432. The reader 404 may use the security element 428 to perform cryptographic operations, such as establishing a mutual key between the security element 428 and the driver 414 of the communication device 402, and encrypting credentials received from the user device using the mutual key 432.
[0082] The operating system 412 may include system software that manages the hardware and software resources of the communication device 402. The communication device 402 may use the operating system 412 to operate drivers 414 and other software modules 416, for example, by scheduling processor time for these software modules and allocating memory to these software modules. The operating system 412 may have access to components of the communication device 402, including the communication interface 408 and the secure element 418.
[0083] Driver 414 may include a device driver, i.e., a computer program that operates or controls a particular type of device (e.g., reader 404) attached to communication device 402, and thereby enables communication between communication device 402 and reader 404. Communication device 402 may use driver 414 to establish a mutual key 422 between driver 414 and secure element 428, thereby enabling secure communication between communication device 402 and reader 404. Additionally, communication device 402 may use driver 414 to receive encrypted credentials from secure element 428 and decrypt those credentials using mutual key 422.
[0084] Other software modules 416 may include any number of other software modules, codes, or instructions that communication device 402 may use to perform its functions, including both functions associated with methods according to embodiments and other general computing functions. As described above, communication device 402 may include devices such as laptop computers, tablet computers, smartphones, and the like, and thus may perform various general computing functions. For example, communication device 402 may include a laptop computer with a web browser, and the web browser may include one of the software modules in other software modules 416.
[0085] Figure 4A communication device 402 and a separate external reader 404 attached to the communication device 402 via, for example, an external communication interface are shown. However, as described above, many personal computing devices (including communication devices such as smartphones) may include integrated reader technology (including an integrated NFC reader). Thus, Figure 5 A communication device 502 (eg, communication device 502 ) is depicted including an integrated reader 504 , where the integrated reader 504 includes components of the communication device 502 .
[0086] For example, the integrated reader 504 may include, for example, an integrated USB device, an integrated I2C device, an integrated SPI device, etc. The integrated reader 504 may be connected to other components of the communication device 502 via an internal communication interface of the communication interface 508 (such as an I2C interface, an SPI interface, a SATA interface, a PCI or PCIe interface, or any other suitable interface for connecting integrated components). In some embodiments, the communication device 502 may include a near field communication (NFC) antenna, which may be used by the reader 504 as a reader interface for the reader interface 526 (e.g., to read credentials (or other data) from a user device). Figure 5 The integrated reader 504 includes components of the communication device 502 , which may further include components of the reader 504 , including a processor 524 , a reader interface 526 , and a secure element 528 .
[0087] Figure 5 Components, devices, software modules, etc. can usually refer to Figure 4 The functions of the processor 506 can generally be understood by referring to the similar components of Figure 4 4. The description of processor 406 in FIG. 4 is understood by reference to the description of processor 406 in FIG. 4, and also for communication interface 508, computer-readable medium 510, operating system 512, drivers 514, other software modules 516, secure element 518, secure memory 520, mutual key 522, processor 524, reader interface 526, secure element 528, secure memory 530, and mutual key 532. Therefore, the description of these components will not be repeated.
[0088] After describing the user device, reader, and communication device according to the embodiment, the following reference is made to Figure 6The sequence diagram of FIG600 is further described in some exemplary methods according to embodiments. In broad outline, steps S634-S650 generally include steps in which reader 604 can obtain a credential, encrypt the credential using a mutual key, and transmit the encrypted credential to communication device 608, and steps in which communication device 608 can decrypt the credential using the mutual key and process the decrypted credential. Steps S618-S632 generally include steps in which reader 604 and communication device 608 can perform mutual authentication and establish a mutual key for use in steps S634-S642.
[0089] At step S618, reader 604 can transmit public key, digital signature and security element identifier to communication device 608. This data can be stored in the security element 606 of reader 604 or be associated with the security element. In some embodiments, the reader may include a near field communication (NFC) reader, and the NFC reader is configured to receive data from a user device (such as user device 602) via NFC. Communication device 608 can use a device driver (i.e., driver 610) to receive this data from reader 604, for example, by reading public key, digital signature and security element identifier from the security element 606 of reader 604 using a software routine associated with driver 610. Reader 604 can be connected to communication device 608 via its communication interface, and public key, digital signature and security element identifier can be transmitted via the communication interface. In some embodiments, reader 604 may include a component of communication device 608. Thus, the communication interface may include an external communication interface or an internal communication interface, including a USB interface, an I2C interface, an SPI interface, a SATA interface, a PCI or PCIe interface, an Ethernet interface, a Bluetooth interface, an NFC interface, or any other suitable communication interface. Step S618 may occur at any appropriate time. For example, step S618 may be performed immediately after the communication device 608 first discovers the reader 604 (e.g., when the reader 604 is initially "plugged" into the communication device 608 via, for example, a USB interface). As another example, step S618 may be performed when the driver 610 is initially loaded or run on the communication device 608.
[0090] At step S620, the communication device 608 may use the driver 610 to provide the public key, digital signature, and secure element identifier to an online authority computer 614 (which may also be referred to as an "online control authority"). In some embodiments, the online authority computer 614 may include a computer system associated with the manufacturer of the reader 604 and / or secure element 606. The communication device 608 may provide the public key, digital signature, and secure element identifier to the online authority computer 614 via a network such as the Internet or by any other suitable means.
[0091] At step S622, the online authority computer 614 can verify the digital signature. In doing so, the online authority computer 614 can verify that the security element 606 is a legitimate security element that can be used to perform cryptographic operations. The online authority computer 614 can verify the digital signature in a variety of ways. For example, the online authority computer 614 can use a public key to verify whether the digital signature was generated using a key corresponding to the security element 606, thereby verifying the signature. In addition, the online authority computer 614 can search for a data record corresponding to the security element 606 in a security element database (e.g., using a security element identifier received from the communication device 608). The online authority computer 614 can use this data record to verify whether the public key received from the communication device 608 matches a known security element public key (e.g., recorded in the data record). After verifying the digital signature, the online authority computer 614 can generate a token (the token may include or be referred to as a "verification token"). This token can indicate that the security element 606 has been successfully verified and can be used by the reader 604 and the communication device 608. The verification token can be a specific string of data, or it can be a digital signature generated using the private key of an online authority computer.
[0092] At step S624, the online authority computer 614 may provide the token to the communication device 608 via the driver 610. In this manner, the communication device 608 may receive the token from the online authority computer 614. The token may be transmitted to the communication device 608 in any suitable form over any suitable network. For example, the token may be encrypted and transmitted to the communication device 608 over a network such as the Internet, and the communication device may decrypt the encrypted token to receive the token. The token may indicate to the communication device 608 that the reader 604 has been successfully authenticated by the online authority computer 614.
[0093] At step S626, communication device 608 may transmit the token to reader 604 using driver 610. Reader 604 may receive the token using secure element 606. Communication device 608 may transmit the token to reader 604 via reader 604 and / or a communication interface of communication device 608.
[0094] The token can indicate to the reader 604 (and / or the secure element 606) that the drive 610 is a valid drive participating in mutual authentication, and can indicate to the reader 604 (and / or the secure element 606) to continue the process of establishing a mutual key. Thus, at step S628, the reader 604 can use the secure element 606 to verify the drive 610 based on the verification token received at step S626, for example, by using, for example, a cryptographic key or other material corresponding to the secure element 606 and / or the online authority computer 614 (such as an online authority computer public key) to verify whether the verification token is a legitimate verification token.
[0095] At step S630, the reader 604 and the communication device 608 can use the secure element 606 and the driver 610, respectively, to establish a mutual key between the secure element 606 and the driver 610. This can be achieved, for example, by performing a key exchange (e.g., a Diffie-Hellman key exchange) between the secure element 606 and the driver 610, thereby establishing a mutual key. In some embodiments, the driver 610 can use a secure element 612 (e.g., a secure cryptographic processor such as a trusted platform module) to establish a mutual key between the secure element 606 and the driver 610.
[0096] After establishing the mutual key, at step S632, the reader 604 and the communication device 608 may store the mutual key in their respective secure elements 606 (which may be referred to as the "first secure element" and may include the "first secure cryptographic processor") and 612 (which may be referred to as the "second secure element" and may include the "second secure cryptographic processor"). The reader 604 and the communication device 608 may then use the mutual key to securely transmit data (e.g., credentials, as described below) between the secure element 606 and the drive 610, thereby preventing the data from being intercepted through the communication interface of the communication device 608.
[0097] As described above, steps S634-S642 describe steps by which reader 604 can obtain a credential, encrypt the credential, and transmit the credential to communication device 608, and communication device 608 can decrypt the encrypted credential using a mutual key and process the decrypted credential. Steps S644-S650 describe steps associated with processing operations involving authorization computer 616, for example, processing a payment credential to conduct a payment transaction.
[0098] In more detail, at step S634, reader 604 can receive credentials from user device 602. For this reason, reader 604 can interface with user device 602. The nature of this interface process can depend on the form of user device 602 and reader 604. In some embodiments, user device 602 can interface with reader 604 by near field communication or by establishing physical contact between user device interface and reader interface. For example, user device 602 can be in the form of a payment card, and the user device interface can include surface metal contacts, such as the surface metal contacts on the credit card supporting EMV. Point of sale (POS) terminal reader 604 can include its own surface metal contacts. By bringing these two groups of surface metal contacts into contact with each other, data (such as credentials) can be electronically transmitted between user device 602 and reader 604. As another alternative, for user device 602 including smart phone, physical contact can be achieved by using a cable (such as micro USB cable) to bridge user device 602 and reader 604. As another example, the user device interface and the reader interface may include an NFC antenna, and the reader 604 may receive the credential from the user device 602 via near field communication (NFC).
[0099] In some cases, user device 602 interfacing with reader 604 may involve user device 602 receiving a power transfer from reader 604. This may be relevant if user device 602 does not have any onboard power supply. For example, many near-field communication (NFC)-enabled smart cards rely on electromagnetic power from a NFC reader to power their circuitry. This power transfer can power a memory element located in user device 602, which can be used to access and provide credentials to reader 604.
[0100] At step S636, the reader 604 can encrypt the credential (received at step S634) using the mutual key using the secure element 606, thereby generating an encrypted credential. As described above, encrypting the credential using the established mutual key can prevent the credential from being intercepted when being transmitted or otherwise provided by the secure element 606 of the reader 604 to the driver 610 of the communication device 608 (e.g., using USB sniffing malware that observes transmissions over the USB communication interface between the reader 604 and the communication device 608).
[0101] At step S638, reader 604 may transmit the encrypted credentials to communication device 608 using secure element 606. In this manner, communication device 608 may receive the encrypted credentials using driver 610. As described above with reference to step S636, the encrypted credentials may include credentials received from user device 602 that are encrypted using a mutual key. Reader 604 may communicate with the communication device 608 by bridging the two devices via a communication interface (e.g., as described above with reference to FIG. Figure 1 、 4 6) (e.g., a USB interface) to transmit the encrypted credentials to the communication device 608. In some embodiments, the reader 604 may include a component of the communication device 608 (e.g., an integrated reader), and the reader 604 may transmit (or otherwise provide) the encrypted credentials to the driver 610 via a communication interface including an internal system bus (or other appropriate internal communication interface). As further described above, a driver such as the driver 610 may provide a software interface to a connected hardware device (e.g., the reader 604), thereby enabling the communication device 608 to access the hardware functions of the reader 604 and receive data (including credentials) from the reader 604.
[0102] At step S640, the communication device 608 can use the driver 610 to decrypt the encrypted credentials using the mutual key, thereby generating credentials. In certain embodiments, the driver 610 can retrieve the mutual key from the safety element (i.e., safety element 612) of the communication device 608 to decrypt the encrypted credentials. Alternatively, if the safety element 612 includes a secure cryptographic processor (such as a trusted platform module), the driver 610 can decrypt the encrypted credentials by providing the encrypted credentials to the safety element 612. The safety element 612 can then decrypt the encrypted credentials using the mutual key, and return the credentials to the driver 610.
[0103] At step S642, communication device 608 may process the credential using driver 610. This processing may depend on the purpose for transmitting the credential from user device 602 to communication device 608 and the nature of the system including user device 602, reader 604, and communication device 608. For example, if user device 602 includes an ID card for verifying the identity of a user and granting access to a secure building, the credential may include some form of digital identification (e.g., an ID number). In such a case, communication device 608 may process the credential (using driver 610) by comparing it to a "white list" of ID numbers corresponding to users with access to the secure building. If the credential is on an ID number on the white list, communication device 608 may send a signal to an electronically locked door, causing the door to unlock and granting the user access to the secure building.
[0104] Alternatively, if user device 602 includes a credit card owned by the user attempting to conduct a transaction with a merchant operator of communication device 608, processing credentials (which may include payment credentials) may include requesting authorization for the transaction from authorization computer 616. In such a case, at step S642, communication device 608 may use driver 610 to generate or initiate generation of an authorization request message based on the credentials.
[0105] Such an authorization request message can be used for payment card transactions to request authorization of the transaction. Credit card and transaction information (e.g., transaction amount, merchant name or identifier, transaction time, credit card number, card verification value (CVV), expiration date, etc.) can be included in the authorization request message by the communication device 608 and can be routed to the issuing bank via a payment processing network (including, for example, a processing computer, as described above) (e.g., Visa). The credentials can include some of this information (e.g., credit card number, CVV, EMV ciphertext, and expiration date). The authorization computer 616 operated by the issuing bank can evaluate the authorization request message and generate an authorization response message (e.g., at step S646), which can be routed back to the communication device 608 to indicate whether the transaction has been approved or denied.
[0106] In some embodiments, the authorization request message may include the credential. In some embodiments, the communication device 608 may encrypt the credential using a cryptographic key associated with the authorization computer 616 (e.g., a public key associated with the authorization computer 616), thereby generating a second encrypted credential (distinguished from the "first encrypted credential" (e.g., the encrypted credential transmitted to the communication device 608 by the reader 604 at step S638). The authorization request message may include this second encrypted credential (rather than the credential itself) to protect the credential while it is being transmitted to the authorization computer 616 over a potentially insecure communication network (e.g., the Internet).
[0107] The process of step S642 may further include steps S644-S650. At step S644, communication device 608 may transmit the authorization request message to authorization computer 616 using driver 610. In some embodiments, communication device 608 may transmit the authorization request message to authorization computer 616 somewhat directly (e.g., via a network such as the Internet). However, in other embodiments, authorization computer 616 may be part of a broader system, such as a four-party network for processing payment transactions. In such cases, at step S644, the authorization request message may be transmitted through a series of intermediary computers and devices before reaching authorization computer 616.
[0108] For example, the communication device 608 can transmit the authorization request message to a shipping computer, which can include a computer system associated with an acquiring bank that maintains a payment account for the merchant operator of the communication device 608. The shipping computer can then transmit the authorization request message to a processing computer. The processing computer can then transmit the authorization request message to the authorization computer 616.
[0109] The processing computer may include a server computer as part of a processing network that can regularly process a large number of payment card transactions. One function of the processing computer may include identifying the acquiring bank and the issuing bank and their corresponding computer systems (e.g., the shipping computer and the authorization computer 616). After identifying the intended recipient, the processing computer may forward the authorization request message to the corresponding authorization computer for authorization. In doing so, the processing computer may enable funds to be transferred from an account corresponding to the user to an account corresponding to the resource provider, thereby enabling the user and the resource provider to complete the transaction.
[0110] To perform this function, the processing computer may analyze the authorization request message and use the information contained therein to identify the relevant authorization computer (and shipping computer). For example, for a credential that includes a credit card number, the first few digits of the credential may include a "bank identification number" (BIN), which may identify the issuing bank, enabling the processing computer to route the authorization request message to the authorization computer associated with the issuing bank (e.g., authorization computer 616).
[0111] At step S646, authorization computer 616 may authorize or deny the authorization request message. Upon doing so, authorization computer 616 may generate an authorization response message that may indicate whether a certain interaction (e.g., a transaction) has been approved or denied. Authorization computer 616 may include its own logic or programming for authorizing interactions. For example, authorization computer 616 may calculate a risk score based on various data included in the authorization request message and then authorize or deny the interaction based on the risk score.
[0112] Authorization computer 616 may transmit the authorization response message back to communication device 608, either directly or, for example, via a processing computer and a shipping computer, as described above with reference to step S644. Any of the computers or devices in the "transmission chain" between authorization computer 616 and communication device 608 may interpret the authorization response message as needed. These transmissions may occur over any suitable communication network (e.g., the Internet) and may conform to any suitable communication protocol (e.g., ISO 8583, a protocol for communicating payment information). In any case, at step S648, communication device 608 may receive the authorization response message using driver 610.
[0113] As described above, the communication device 608 may be operated by a resource provider (e.g., a merchant or an employee of the merchant) who may wish to determine whether they should provide some resource (e.g., a consumable product) to the user of the user device 602 and, therefore, may wish to know whether an interaction (e.g., a transaction) has been approved or denied. The communication device 608 may interpret the authorization response message and display some message (e.g., on a screen of the communication device 608) indicating whether the interaction has been approved or denied.
[0114] Thereafter, at step S650, communication device 608 may perform (or otherwise proceed with) an interaction in response to receiving the authorization response message. Such interaction may depend largely on the context or use case of the system including reader 604 and communication device 608. For a system for processing credit card transactions, the resource provider merchant may provide the purchased goods or services to the user (e.g., if the authorization response message indicates that the transaction has been approved), or may not provide the purchased goods or services to the user (e.g., if the authorization response message indicates that the transaction has not been approved). As another example, for a building access control system, the resource provider may allow the user to access the building based on the authorization response message, or may prevent the user from accessing the building.
[0115] It should be understood that any embodiment of the present invention can be implemented in a modular or integrated manner using hardware (e.g., an application specific integrated circuit or a field programmable gate array) and / or using computer software with a general programmable processor in the form of control logic. As used herein, the processor includes a single-core processor, a multi-core processor on the same integrated chip, or a plurality of processing units on a single circuit board or networked. Based on the disclosure and teachings provided herein, those of ordinary skill in the art will understand and appreciate other ways and / or methods of implementing the embodiments of the present invention using hardware and a combination of hardware and software.
[0116] Any of the software components or functions described in this application can be implemented as software code executed by a processor using any suitable computer language, such as Java, C, C++, C#, Objective-C, Swift, or a scripting language such as Perl or Python, using, for example, conventional or object-oriented techniques. The software code can be stored as a series of instructions or commands on a computer-readable medium for storage and / or transmission, suitable media including random access memory (RAM), read-only memory (ROM), magnetic media such as a hard drive or floppy disk, or optical media such as a compact disc (CD) or digital versatile disc (DVD), flash memory, etc. The computer-readable medium can be any combination of such storage devices or transmission devices.
[0117] Any of the methods described herein can be performed in whole or in part by a computer system comprising one or more processors that can be configured to perform the steps. Therefore, an embodiment may relate to a computer system that is configured to perform the steps of any of the methods described herein, may have different components that perform the corresponding steps or corresponding step groups. Although presented in numbered steps, the steps of the methods herein can be performed at the same time or in different orders. In addition, the parts of these steps can be used together with the parts of other steps from other methods. Moreover, all or part of the steps can be optional. In addition, any of the steps of any of the methods in the method can be performed with a module, a circuit or other devices for performing these steps.
[0118] The specific details of a particular embodiment may be combined in any suitable manner without departing from the spirit and scope of the embodiments of the present invention. However, other embodiments of the present invention may relate to specific embodiments associated with each individual aspect or a specific combination of these individual aspects. For purposes of illustration and description, the above description of exemplary embodiments of the present invention has been presented. The above description is not intended to be exhaustive or to limit the present invention to the precise form described, and in view of the above teachings, many modifications and variations are possible. The embodiments have been selected and described in order to best explain the principles of the present invention and its practical application, and the embodiments have been selected and described so that others skilled in the art can best utilize the present invention in various embodiments and utilize various embodiments with various modifications suitable for the specific purposes under consideration.
[0119] The above description is illustrative and not restrictive. Many variations of the present invention will become apparent to those skilled in the art upon reading this disclosure. Therefore, the scope of the present invention should not be determined with reference to the above description, but rather with reference to the pending claims along with their full scope or equivalents.
[0120] One or more features from any embodiment may be combined with one or more features of any other embodiment without departing from the scope of the present invention.
[0121] Some descriptive statements in this application may be interpreted in terms of operating principles of a computer system and in terms of their relevance to methods according to embodiments. For example, a statement such as "driver 414 may receive an encrypted credential from secure element 428 of reader 404" may include the situation where communication device 402 now has access to the encrypted credential and may use driver 414 to operate on the encrypted credential (e.g., may use driver 414 to decrypt the encrypted credential using mutual key 422).
[0122] Unless expressly indicated to the contrary, the use of "a," "an," or "the" is intended to mean "one or more." Unless expressly indicated to the contrary, the use of "or" is intended to mean an inclusive or rather than an exclusive or.
[0123] All patents, patent applications, publications, and descriptions mentioned herein are incorporated by reference in their entirety for all purposes. No admission is made that they are prior art.
Claims
1. A method comprising: establishing, by a communication device, a mutual key between a driver of the communication device and a secure element of a reader associated with the communication device; receiving, by the driver of the communication device, an encrypted credential from the reader, wherein the reader receives the credential from a user device and encrypts the credential using the mutual key to generate the encrypted credential; decrypting the encrypted credential using the mutual key by the communication device using the driver, thereby generating the credential; as well as The credential is processed by the communication device using the driver.
2. The method of claim 1 , wherein the mutual key is established based on a token, and wherein the method further comprises, before establishing the mutual key between the driver and the secure element: reading, by the communication device using the driver, a public key, a digital signature, and a secure element identifier associated with the secure element; and The secure element identifier, the digital signature, and the public key are provided by the communication device to an online authority computer using the driver, wherein the online authority computer verifies the digital signature and provides a token to the communication device via the driver. 3 . The method of claim 2 , wherein the online authority computer is associated with a manufacturer of the reader and / or the secure element. 4 . The method of claim 1 , wherein the secure element comprises a component of the reader, wherein the secure element comprises a secure memory, and wherein the secure memory stores the mutual key.
5. The method of claim 4 , wherein the secure element is a first secure element, wherein the secure memory is a first secure memory, and wherein the method further comprises: The mutual key is stored by the communication device in a second secure memory of a second secure element.
6. The method of claim 5, wherein the second secure element comprises a secure cryptographic processor, and wherein the secure cryptographic processor comprises a trusted platform module (TPM). The method of claim 1 , wherein the reader is connected to the communication device through a communication interface of the communication device.
8. The method of claim 7, wherein the communication interface comprises one or more of the following: USB interface; I2C interface; SPI interface; SATA interface; PCI or PCIe interface; Ethernet interface; and Bluetooth interface. 9 . The method of claim 1 , wherein the reader comprises a near field communication (NFC) reader configured to receive data from a user device via NFC.
10. The method of claim 1, wherein the reader comprises a component of the communication device. The method of claim 1 , wherein the user device is in the form of a card.
12. The method of claim 1, wherein the communication device is a mobile phone.
13. The method of claim 1, wherein the credential is an account identifier. The method of claim 1 , wherein processing comprises initiating generation or generating an authorization request message with the credentials.
15. A method comprising: establishing, by the reader, a mutual key between a driver of the communication device and the secure element using the secure element; receiving, by the reader, a credential from a user device; encrypting, by the reader using the secure element, the credential using the mutual key, thereby generating an encrypted credential; as well as The encrypted credential is transmitted by the reader using the secure element to the communication device, wherein the communication device decrypts the encrypted credential using the driver and the mutual key, thereby generating the credential, and wherein the communication device processes the credential using the driver. The method of claim 15 , wherein the reader comprises a component of the communication device.
17. The method of claim 15, wherein: The reader establishes the mutual key between the driver and the secure element based on a token; The method further comprises: providing, by the reader, a public key, a digital signature, and a secure element identifier associated with the secure element to the driver using the secure element, wherein the communication device provides the public key, the digital signature, and the secure element identifier to an online authority computer using the driver, wherein the online authority computer verifies the digital signature and provides the token to the communication device via the driver, and receiving, by the reader, the token from the communication device using the secure element; and Wherein establishing the mutual key between the driver and the security element using the security element by the reader comprises: verifying the drive based on the token using the secure element by the reader, and A key exchange is performed by the reader with the drive using the secure element, thereby establishing the mutual key.
18. A communication device comprising: one or more processors; as well as A non-transitory computer-readable medium coupled to the one or more processors, the non-transitory computer-readable medium comprising instructions executable by the one or more processors to perform a method comprising: establishing a mutual key between a driver of the communication device and a secure element of a reader associated with the communication device; receiving, by the driver of the communication device, an encrypted credential from the reader, wherein the reader receives the credential from a user device and encrypts the credential using the mutual key to generate the encrypted credential; decrypting the encrypted credential using the mutual key using the driver, thereby generating the credential; and The credentials are processed using the driver.
19. The communication device according to claim 18, wherein: In the method, the mutual key is established between the driver and the secure element based on a token, and wherein the method further comprises, before establishing the mutual key between the driver and the secure element: reading, using the driver, a public key, a digital signature, and a secure element identifier associated with the secure element; and The secure element identifier, the digital signature, and the public key are provided to an online authority computer using the driver, wherein the online authority computer verifies the digital signature and provides a token to the communication device via the driver.
20. The communication device of claim 18, wherein the communication device further comprises the reader, the secure element, and a near field communication (NFC) antenna, wherein In the method, the reader receives the credential from the user device using the near field communication (NFC) antenna.