ONLINE PAYMENTS USING A SECURE ELEMENT OF AN ELECTRONIC DEVICE
Systems, methods, and computer-readable media for securely conducting online payments with a secure element of an electronic device are provided. In one example embodiment, a method includes, inter alia, at an electronic device, generating first data that includes payment card data, generating second data by encrypting the first data and merchant information with a first key, transmitting to a commercial entity subsystem the generated second data, receiving third data that includes the first data encrypted with a second key that is associated with the merchant information, and transmitting the received third data to a merchant subsystem that is associated with the merchant information, where the first key is not accessible to the merchant subsystem, and where the second key is not accessible to the electronic device. Additional embodiments are also provided.
This application claims the benefit of prior filed U.S. Provisional Patent Application No. 61/884,926, filed Sep. 30, 2013, of prior filed U.S. Provisional Patent Application No. 61/989,107, filed May 6, 2014, of prior filed U.S. Provisional Patent Application No. 62/002,721, filed May 23, 2014, and of prior filed U.S. Provisional Patent Application No. 62/004,182, filed May 28, 2014, each of which is hereby incorporated by reference herein in its entirety.
TECHNICAL FIELDThis disclosure relates to using a secure element of an electronic device for online payments.
BACKGROUND OF THE DISCLOSUREPortable electronic devices (e.g., cellular telephones) may be provided with near field communication (“NFC”) components for enabling contactless proximity-based communications with another entity. Often times, these communications are associated with financial transactions or other secure data transactions that require the electronic device to access and share a commerce credential, such as a credit card credential, with the other entity in a contactless proximity-based communication. However, secure use of such a commerce credential by the electronic device for an online transaction has heretofore been infeasible.
SUMMARY OF THE DISCLOSUREThis document describes systems, methods, and computer-readable media for using a secure element of an electronic device for online payments.
As an example, a method may include, at an electronic device, generating first data that includes payment card data, generating second data by encrypting the first data and merchant information with a first key, transmitting to a commercial entity subsystem the generated second data, receiving third data that includes the first data encrypted with a second key that is associated with the merchant information, and transmitting the received third data to a merchant subsystem that is associated with the merchant information, where the first key is not accessible to the merchant subsystem, and where the second key is not accessible to the electronic device.
As another example, an electronic device may include a communication component, an application processor configured to access an online resource of a merchant server, and a secure element configured to store credential data, a credential key, and an access key. The secure element is configured to generate first data including the credential data encrypted with the credential key. The secure element is configured to generate second data including the first data encrypted with the access key. The application processor is configured to identify merchant information from the accessed online resource. The communication component is configured to transmit to a commercial entity server the generated second data and the identified merchant information.
As another example, a method may include, at a commercial entity subsystem, receiving first data from an electronic device, wherein the first data includes credential information and merchant information indicative of a merchant subsystem, decrypting the first data using an access key, identifying a merchant key based on the merchant information from the first data, encrypting the credential information using the identified merchant key, and transmitting second data to at least one of the merchant subsystem and the electronic device, wherein the second data includes the credential information encrypted with the identified merchant key.
As yet another example, a method may include, at an electronic device, generating first data by encrypting credential data with a credential key, generating second data by encrypting the first data with an access key, accessing an online resource of a merchant server, identifying merchant information indicative of the merchant server from the accessed online resource, and transmitting to a commercial entity server the generated second data and the identified merchant information.
As yet another example, a method may include receiving, with an electronic device, first potential transaction data from an online resource of a merchant, automatically identifying, with the electronic device, additional information local to the electronic device based on the received first potential transaction data, and providing, with the electronic device, the identified additional information and at least a portion of the received first potential transaction data to a user of the electronic device.
As yet another example, a method may include, at an electronic device, receiving transaction data from an online resource of a merchant server, accessing first data that includes credential data, and generating second data by encrypting the first data and a merchant identifier of the received transaction data with an access key.
As yet another example, a method may include receiving, with a commercial entity server, first data and second data from an electronic device, wherein the first data may include credential information and a first merchant identifier encrypted by an access key, and wherein the second data may include a second merchant identifier. The method may also include identifying, with the commercial entity server, a merchant key based on at least one of the first merchant identifier and the second merchant identifier.
As another example, a method may include generating, with an electronic device, first data that includes credential data, generating, with the electronic device, second data by encrypting the first data with an access key, transmitting, with the electronic device, to a commercial entity server the generated second data and merchant information, receiving, with the electronic device, third data that includes the first data encrypted with a merchant key that is associated with the merchant information, and transmitting, with the electronic device, the received third data to a merchant server that is associated with the merchant information, where the merchant key is not accessible to the electronic device.
As another example, a method may include accessing credit card information from a secure element of an electronic device and facilitating an online payment transaction using the accessed credit card information.
As another example, a method may include accessing payment information from a secure element of an electronic device and communicating the accessed payment information from the electronic device to a server over the internet.
This Summary is provided merely to summarize some example embodiments, so as to provide a basic understanding of some aspects of the subject matter described in this document. Accordingly, it will be appreciated that the features described in this Summary are merely examples and should not be construed to narrow the scope or spirit of the subject matter described herein in any way. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following Detailed Description, Figures, and Claims.
The discussion below makes reference to the following drawings, in which like reference characters may refer to like parts throughout, and in which:
A credential provisioned on a secure element of an electronic device may be used for securely conducting an online financial transaction between the electronic device and a merchant. The credential may be encrypted by the secure element using an access key not available to any non-secure portion of the electronic device. That encrypted credential and information identifying the merchant for a proposed online financial transaction (e.g., merchant information obtained by the device via a merchant application or via a merchant's website) may be transmitted by the electronic device to a commercial entity that may also have access to the access key. The commercial entity may decrypt the received credential data using the access key and may re-encrypt the credential data using a merchant key known by the commercial entity. Such a merchant key may be determined by the commercial entity through use of the merchant identification information received from the electronic device (e.g., using a look-up table that may include various merchant keys for various merchants known by the commercial entity). The re-encrypted credential data may then be transmitted from the commercial entity to the merchant, either directly or via the electronic device, and the merchant may decrypt the credential data using the merchant key, which may be known to the merchant. The commercial entity may add a layer of security to the online financial transaction between the electronic device and the merchant. The commercial entity may be privy not only to the access key available at the secure element of the device but also to the merchant key available to the merchant. Therefore, the commercial entity may be in a unique position to manage any online transactions between the secure element of the device and the merchant, while at the same time not being privy to the credential data being used (e.g., as the commercial entity may not have access to a credential key with which the credential data is encrypted by the secure element). A secure element of the electronic device may encrypt a merchant identifier along with the appropriate credential information using the access key, where such a merchant identifier may first be received from the online resource and then reformatted (e.g., cryptographically hashed) by the secure element in order to be properly encrypted along with the credential information on the secure element. The electronic device may be configured to auto-populate first information requested by the online resource (e.g., shipping information by leveraging a contact database on the electronic device), and the online resource may be configured to automatically update information about a potential transaction based on such auto-populated data (e.g., update a total transaction price based on new shipping information).
System 1 may include a communications path 15 for enabling communication between device 100 and merchant subsystem 200, a communications path 25 for enabling communication between merchant subsystem 200 and acquiring bank subsystem 300, a communications path 35 for enabling communication between acquiring bank subsystem 300 and financial institution subsystem 350, a communications path 45 for enabling communication between a payment network subsystem 360 of financial institution subsystem 350 and an issuing bank subsystem 370 of financial institution subsystem 350, a communications path 55 for enabling communication between financial institution subsystem 350 and commercial entity subsystem 400, a communications path 65 for enabling communication between commercial entity subsystem 400 and electronic device 100, a communications path 75 for enabling communication between financial institution subsystem 350 and electronic device 100, and a communications path 85 for enabling communication between commercial entity subsystem 400 and merchant subsystem 200. One or more of paths 15, 25, 35, 45, 55, 65, 75, and 85 may be at least partially managed by one or more trusted service managers (“TSMs”). Any suitable circuitry, device, system, or combination of these (e.g., a wireless communications infrastructure including one or more communications towers, telecommunications servers, or the like) operative to create a communications network may be used to provide one or more of paths 15, 25, 35, 45, 55, 65, 75, and 85, which may be capable of providing communications using any suitable wired or wireless communications protocol. For example, one or more of paths 15, 25, 35, 45, 55, 65, 75, and 85 may support Wi-Fi (e.g., an 802.11 protocol), ZigBee (e.g., an 802.15.4 protocol), WiDi™, Ethernet, Bluetooth™, BLE, high frequency systems (e.g., 900 MHz, 2.4 GHz, and 5.6 GHz communication systems), infrared, TCP/IP, SCTP, DHCP, HTTP, BitTorrent™, FTP, RTP, RTSP, RTCP, RAOP, RDTP, UDP, SSH, WDS-bridging, any communications protocol that may be used by wireless and cellular telephones and personal e-mail devices (e.g., GSM, GSM plus EDGE, CDMA, OFDMA, HSPA, multi-band, etc.), any communications protocol that may be used by a low power Wireless Personal Area Network (“6LoWPAN”) module, any other communications protocol, or any combination thereof.
Description of FIG. 1AReferring now to
Merchant server 210 of merchant subsystem 200 of
Financial institution subsystem 350 may include a payment network subsystem 360 (e.g., a payment card association or a credit card association) and/or an issuing bank subsystem 370. For example, issuing bank subsystem 370 may be a financial institution that may assume primary liability for a consumer's capacity to pay off debts they may incur with a specific credential. Each specific credential applet of NFC component 120 may be associated with a specific payment card that may be electronically linked to an account or accounts of a particular user. Various types of payment cards are suitable, including credit cards, debit cards, charge cards, stored-value cards, fleet cards, gift cards, and the like. The commerce credential of a specific payment card may be provisioned on electronic device 100 (e.g., as a credential of a credential supplemental security domain of NFC component 120, as described below) by issuing bank subsystem 370 for use in a commerce credential data communication (e.g., a contactless proximity-based communication and/or an online-based communication 670) with merchant subsystem 200. Each credential may be a specific brand of payment card that may be branded by a payment network subsystem 360. Payment network subsystem 360 may be a network of various issuing banks 370 and/or various acquiring banks that may process the use of payment cards (e.g., commerce credentials) of a specific brand.
In order for a financial transaction to occur within system 1, at least one commerce credential must be securely provisioned on a secure element of NFC component 120 of electronic device 100. For example, such a commerce credential may be at least partially provisioned on a secure element of NFC component 120 of electronic device 100 directly from financial institution subsystem 350 (e.g., as credential data 654 via a communication path 75 between financial institution subsystem 350 and device 100, which may be passed to NFC component 120 via communications component 106). Additionally or alternatively, such a commerce credential may be at least partially provisioned on a secure element of NFC component 120 of electronic device 100 from financial institution subsystem 350 via commercial entity subsystem 400 (e.g., as credential data 654 via a communication path 55 between financial institution subsystem 350 and commercial entity subsystem 400, which may be passed to device 100 as credential data 654 via a communication path 65 between a server 410 of commercial entity subsystem 400 and communications component 106 of device 100, which may then be passed to NFC component 120 from communications component 106). Credential data 654 via path 75 and/or via path 65 may be provisioned on a secure element of device 100 as at least a portion or all of a credential supplemental security domain of NFC component 120 and may include a credential applet and/or a credential key, such as credential key 155a′. As shown in
Commercial entity subsystem 400 may be provided as an intermediary between electronic device 100 and financial institution subsystem 350, where commercial entity subsystem 400 may be configured to provide a new layer of security and/or to provide a more seamless user experience when a credential is being provisioned on a secure element of device 100 and/or when such a provisioned credential is being used as part of a commerce credential data communication (e.g., as part of an online-based communication 670) between device 100 and merchant subsystem 200. Commercial entity subsystem 400 may be provided by a specific commercial entity that may offer various services to a user of device 100 via user-specific log-in information to a user-specific account with that commercial entity (e.g., via user-specific identification and password combinations). As just one example, commercial entity subsystem 400 may be provided by Apple Inc. of Cupertino, Calif., which may also be a provider of various services to users of device 100 (e.g., the iTunes™ Store for selling/renting media to be played by device 100, the Apple App Store™ for selling/renting applications for use on device 100, the Apple iCloud™ Service for storing data from device 100, the Apple Online Store for buying various Apple products online, etc.), and which may also be a provider, manufacturer, and/or developer of device 100 itself (e.g., when device 100 is an iPod™, iPad™, iPhone™, or the like) and/or of an operating system (e.g., device application 103) of device 100. The commercial entity that may provide commercial entity subsystem 400 (e.g., Apple Inc.) may be distinct and independent from any financial entity of financial institution subsystem 350. For example, the commercial entity that may provide commercial entity subsystem 400 may be distinct and independent from any payment network subsystem 360 or issuing bank subsystem 370 that may furnish and manage any credit card or other commerce credential to be provisioned on user device 100. Additionally or alternatively, the commercial entity that may provide commercial entity subsystem 400 (e.g., Apple Inc.) may be distinct and independent from any merchant of merchant subsystem 200. For example, the commercial entity that may provide commercial entity subsystem 400 may be distinct and independent from any merchant of merchant subsystem 200 that may provide a merchant terminal for NFC communications, a third party application 113, and/or any other aspect of merchant subsystem 200. Such a commercial entity may leverage its potential ability to configure or control various components of device 100 (e.g., software and/or hardware components of device 100 when that commercial entity at least partially produces or manages device 100) in order to provide a more seamless user experience for a user of device 100 when he or she wants to provision a credential offered by financial institution subsystem 350 on user device 100 and/or when such a provisioned credential is being used as part of a commerce credential data communication with merchant subsystem 200 (e.g., as part of an online-based communication 670). For example, in some embodiments, device 100 may be configured to communicate with commercial entity subsystem 400 seamlessly and transparently to a user of device 100 (e.g., via communications path 65) for sharing or receiving certain data that may enable a higher level of security (e.g., during an online-based commerce credential data communication between device 100 and merchant subsystem 200).
In addition to at least one commerce credential being provisioned on a secure element of NFC component 120 of electronic device 100 (e.g., as a portion of a credential SSD with credential key 155a′), at least one access SSD with an access key 155b may also be provisioned on the secure element of NFC component 120 of device 100 in order to more securely enable device 100 to conduct a financial transaction with merchant subsystem 200. For example, an access SSD may be at least partially provisioned on a secure element of NFC component 120 of electronic device 100 directly from commercial entity subsystem 400 (e.g., as access data 652 via communication path 65 between server 410 of commercial entity subsystem 400 and communications component 106 of device 100, which may then be passed to NFC component 120 from communications component 106). Access data 652 via path 65 may be provisioned on a secure element of device 100 as at least a portion or all of an access SSD and may include an access applet and/or access key 155b. As shown in
As mentioned, in addition to at least one credential SSD and at least one access SSD being provisioned on a secure element of electronic device 100, at least one third party application (e.g., application 113) may be accessed by device 100 in order to enable a commerce credential data communication (e.g., an online-based communication 670) between device 100 and merchant subsystem 200. First, such an application 113 may be approved or otherwise enabled by commercial entity subsystem 400 before application 113 may be accessible by device 100. For example, an application store 420 of commercial entity subsystem 400 (e.g., the Apple App Store™) may receive at least some date representative of application 113 from merchant subsystem 200 via communication path 85. Moreover, in some embodiments, commercial entity subsystem 400 may generate or otherwise assign a merchant key 157 for application 113 and provide such a merchant key 157 to merchant subsystem 200 (e.g., via path 85). Alternatively, merchant subsystem 200 may generate or otherwise assign a merchant key 157 for application 113 and provide such a merchant key 157 to commercial entity subsystem 400 (e.g., via path 85). Either merchant subsystem 200 or commercial entity subsystem 400 may be responsible for management of merchant key 157, which may include the generation, exchange, storage, use, and replacement of such a key. No matter how or where such a merchant key 157 is generated and managed, both merchant subsystem 200 and commercial entity subsystem 400 may store a version of merchant key 157 (e.g., in a respective secure element of merchant subsystem 200 and commercial entity subsystem 400). In some embodiments, such a merchant key 157 may be specifically associated with merchant application 113, while, in other embodiments, merchant key 157 may be specifically associated with a merchant of merchant subsystem 200 such that merchant key 157 may be associated with multiple third party applications operated by the same merchant of merchant subsystem 200. A table 430 or any other suitable data structure or source of information accessible to commercial entity subsystem 400 may be provided for associating a particular merchant key 157 with a particular merchant application 113 or merchant entity. Table 430 may enable commercial entity subsystem 400 to determine and utilize an appropriate merchant key 157 for providing a layer of security to a commerce credential data communication (e.g., an online-based communication 670) between device 100 and merchant subsystem 200 (e.g., when a user of device 100 is communicating with merchant server 210 to conduct a financial transaction via a third party application 113 associated with that merchant key 157), as described in more detail below. Device 100 may be configured to access application 113 (e.g., from application store 420 via communication path 65) and run application 113 (e.g., with processor 102). Alternatively or additionally, a merchant key 157 may be associated with a merchant's website (e.g., one or more URLs) rather than or in addition to a merchant's third party application (e.g., application 113). For example, a merchant of merchant subsystem 200 may work with commercial entity subsystem 400 to associate a particular merchant website with a particular merchant key 157 within table 430, which may enable commercial entity subsystem 400 to determine and utilize an appropriate merchant key 157 for providing a layer of security to a commerce credential data communication (e.g., an online-based communication 670) between device 100 and merchant subsystem 200 (e.g., when a user of device 100 is communicating with merchant server 210 to conduct a financial transaction via an internet application or web browser running on device 100 that may be pointed to a URL whose target or web resource may be associated with that merchant key 157). Device 100 may be configured to access such a URL, for example, from merchant server 210 via communication path 15 using an internet application on device 100.
Description of FIG. 2Referring now to
NFC component 120 may be any suitable proximity-based communication mechanism that may enable contactless proximity-based transactions or communications between electronic device 100 and a merchant terminal (e.g., a merchant payment terminal) of merchant subsystem 200. NFC component 120 may include any suitable modules for enabling contactless proximity-based communication between electronic device 100 and such a merchant terminal. As shown in
As shown in
A key 155 of an SSD 154 may be a piece of information that can determine a functional output of a cryptographic algorithm or cipher. For example, in encryption, a key may specify a particular transformation of plaintext into ciphertext, or vice versa during decryption. Keys may also be used in other cryptographic algorithms, such as digital signature schemes and message authentication codes. Each key and applet may be loaded on the secure element of device 100 by a TSM or an authorized agent or pre-loaded on the secure element when first provided on device 100. As one example, while credential SSD 154a may be associated with a particular credit card credential, that particular credential may only be communicated as a commerce credential data communication to merchant subsystem 200 (e.g., as a contactless proximity-based communication to a merchant terminal and/or as an online-based communication 670 to a merchant server 210) from a secure element of device 100 (e.g., from NFC component 120) for a financial transaction when applet 153a of that credential SSD 154a has been enabled or otherwise activated or unlocked for such use.
Security features may be provided for enabling use of NFC component 120 that may be particularly useful when transmitting confidential payment information, such as credit card information or bank account information of a credential, from electronic device 100 to merchant subsystem 200. Such security features also may include a secure storage area that may have restricted access. For example, user authentication via personal identification number (“PIN”) entry or via user interaction with a biometric sensor may need to be provided to access the secure storage area. As an example, an access SSD 154b may leverage applet 153b to determine whether such authentication has occurred before allowing other SSDs 154 (e.g., a credential SSD 154a) to be used for communicating its credential information. In certain embodiments, some or all of the security features may be stored within NFC memory module 150. Further, security information, such as an authentication key, for communicating commerce credential data with merchant subsystem 200 may be stored within NFC memory module 150. In certain embodiments, NFC memory module 150 may include a microcontroller embedded within electronic device 100. As just one example, applet 153b of access SSD 154b may be configured to determine intent and local authentication of a user of device 100 (e.g., via one or more input components 110, such as a biometric input component) and, in response to such a determination, may be configured to enable another particular SSD for conducting a payment transaction (e.g., with a credential of credential SSD 154a).
Description of FIG. 3Referring now to
Additionally or alternatively, as shown in
Additionally or alternatively, as shown in
Additionally or alternatively, as shown in
As shown in
To facilitate the following discussion regarding the operation of system 1 for securely conducting online payments between device 100 and merchant subsystem 200 (e.g., when a credential of a secure element of device 100 is being used as part of an online-based communication 670 between device 100 and merchant subsystem 200), reference is made to one or more processes of one or more flowcharts of
Next, at step 508, process 500 may include commercial entity subsystem 400 communicating the re-encrypted payment card data of step 506 to electronic device 100. For example, such re-encrypted payment card data may be transmitted from commercial entity subsystem 400 to communications component 106 of electronic device 100 via communications path 65 using any suitable communications protocol. Next, at step 510, process 500 may include electronic device 100 communicating the communicated re-encrypted payment card data of step 508 to merchant subsystem 200. For example, such re-encrypted payment card data may be transmitted from communications component 106 of electronic device 100 to server 210 of merchant subsystem 200 via communications path 15 using any suitable communications protocol. By communicating the payment card data from commercial entity subsystem 400 to electronic device 100 and then to merchant subsystem 200 in a re-encrypted form that has been re-encrypted using a merchant key known to both commercial entity subsystem 400 and merchant subsystem 200 (e.g., merchant key 157), process 500 may prohibit the communication of such re-encrypted payment card data from being decrypted and altered by an entity that does not have access to the merchant key (e.g., electronic device 100). In some embodiments, the data communicated from electronic device 100 to commercial entity subsystem 400 at step 504 may include a merchant identifier that may be indicative of a merchant subsystem with which electronic device 100 is attempting to conduct a financial transaction (e.g., via an online resource 113 associated with merchant subsystem 200). Such a merchant identifier may be received and utilized by commercial entity subsystem 400 at step 506 to identify a particular one of many merchant keys accessible by commercial entity subsystem 400 to use for the re-encryption of the payment card data at step 506 (e.g., through leveraging table 430 of commercial entity subsystem 400).
After the re-encrypted payment card data communicated from electronic device 100 at step 510 has been received by merchant subsystem 200, process 500 may include merchant subsystem 200 utilizing that re-encrypted payment card data to execute a financial transaction with acquiring bank 300 and/or financial institution subsystem 350 at step 512. For example, merchant subsystem 200 may decrypt the re-encrypted payment card data with a merchant key accessible to merchant subsystem 200 (e.g., merchant key 157) and may then forward that payment card data to acquiring bank 300 and/or financial institution subsystem 350 (e.g., via communications path 25 and/or communications path 35) such that a funding account associated with that payment card data may be identified and used by acquiring bank 300 and/or financial institution subsystem 350 to fund a financial transaction. Next, after such a transaction has been executed at step 512, process 500 may include merchant subsystem 200 confirming that execution to electronic device 100 at step 514. For example, merchant subsystem 200 may communicate any suitable confirmation information to electronic device 100 via communications path 15.
In some embodiments, the payment card data encrypted by electronic device 100 at step 502 may first be encrypted by a credential key (e.g., credential key 155a′ of secure element 145). Such a credential key may not be accessible by commercial entity subsystem 400, such that the payment card data of not only the decrypted payment card data of step 506 but also the re-encrypted payment card data of steps 508 and 510 may remain encrypted by that credential key. Acquiring bank 300 and/or financial institution subsystem 350 may have access to such a credential key (e.g., credential key 155a′ of financial institution subsystem 350), such that when the payment card data is forwarded to acquiring bank 300 and/or financial institution subsystem 350 by merchant subsystem 200 at step 512, acquiring bank 300 and/or financial institution subsystem 350 may decrypt the payment card data using the credential key before being able to identify the funding account associated with that payment card data. Therefore, process 500 may utilize a commercial entity subsystem to add a layer of security to an online financial transaction between an electronic device and a merchant. The commercial entity may be privy not only to a commercial entity key available at a secure element of the device but also to a merchant key available to the merchant. Therefore, the commercial entity may be in a unique position to manage any online transactions between the secure element of the device and the merchant, while at the same time not being privy to the payment card data being used to identify an account for funding that transaction (e.g., as the commercial entity may not have access to a credential key with which the credential data may be initially encrypted by the secure element).
It is understood that the steps shown in process 500 of
At step 604, process 600 may include provisioning credential data 654 (e.g., credential data 654 of
The credential data provisioned on device 100 may include all data necessary to make a payment with that credential, such as, for example, a primary account number (“PAN”), a card security code (e.g., a card verification code (“CVV”)), expiration date, name associated with the credential, and the like. A “virtual” credential or virtual PAN or device PAN (“D-PAN”) may be provisioned on device 100 rather than the user's “actual” credential or actual PAN or funding PAN (“F-PAN”). For example, once it is determined that a credential is to be provisioned on device 100, it may be requested (e.g., by financial institution subsystem 350, by commercial entity subsystem 400, and/or by a user of device 100) that a virtual credential be generated, linked to the actual credential, and provisioned on device 100 instead of the actual credential. Such creation and linking of a virtual credential with an actual credential may be performed by any suitable component of financial institution subsystem 350. For example, a payment network subsystem 360 (e.g., a particular payment network subsystem 360 that may be associated with the brand of the actual credential) may define and store a virtual-linking table 312 (e.g., as shown in
At step 606, process 600 may include associating a merchant's online resource, such as a merchant application 113 or a merchant website, with a merchant key 157. For example, commercial entity subsystem 400 may populate a table 430 to associate a merchant key 157 with a merchant's resource (e.g., application 113 or website) for enabling a secure commerce credential data communication (e.g., an online-based communication 670 of
At step 608, process 600 may include a merchant's online resource 658 (e.g., a merchant's third party application 113 of
Next, at step 610, device 100 may receive potential transaction data 660 from the accessed online resource of the merchant. For example, as shown in
Next, at step 611, process 600 may include receiving intent and authentication by a user of device 100 to utilize a specific credential for carrying out a financial transaction for a particular merchant, product, price, and shipping destination based on potential transaction data 660. For example, as shown in
Next, at steps 612-614, process 600 may include device 100 generating, encrypting, and transmitting commercial entity credential data 664 for use by commercial entity subsystem 400. Once the credential of credential SSD 154a on a secure element of device 100 has been selected, authenticated, and/or enabled for use in a financial transaction (e.g., at step 611), the secure element of device 100 (e.g., processor module 142 of NFC component 120) may encrypt that credential data for use by commercial entity subsystem 400. For example, secure element (“SE”) credential data 661 of credential SSD 154a (e.g., applet data 153a) may be encrypted with credential key 155a′ at step 612 as encrypted SE credential data 662, such that the encrypted SE credential data 662 may only be decrypted by an entity with access to that credential key 155a′ (e.g., financial institution subsystem 350) for accessing SE credential data 661. That SE credential data 661 may include all data necessary to make a payment with that credential, such as, for example, a primary account number (e.g., an actual F-PAN or a virtual D-PAN), a card security code (e.g., a card verification code (“CVV”)), expiration date, name associated with the credential, and/or the like. Once some or all of that SE credential data 661 of credential SSD 154a has been encrypted with credential key 155a′ at step 612 as encrypted SE credential data 662, that encrypted SE credential data 662, either alone or along with at least a first portion of potential transaction data 660 (e.g., a first portion of potential transaction data 660 that may include identification of the merchant, identification of the price, and/or identification of the product/service) and/or any other suitable information (e.g., any information identifying device 100 itself), may be encrypted by access information (e.g., by access key 155a of SSD 154a, access key 155b of access SSD 154b, ISD key 156k, and/or CRS 151k and/or signed by CASD 158k) at step 613 as encrypted commercial entity (“CE”) credential data 663. For example, secure element 145 of device 100 (e.g., processor module 142 of NFC component 120) may use access information to encrypt not only an identification of the merchant from data 660 (e.g., identification of the merchant or its resource being used for the purchase, such as application 113), but also the identification of the amount of the purchase and/or currency code from data 660, as well as the encrypted SE credential data 661 of SSD 154a (e.g., encrypted SE credential data 662) into encrypted commercial entity credential data 663. In some embodiments, such identification of the merchant from data 660 may first be converted by the secure element into a format that may be utilized by a protocol of the secure element (e.g., from a plaintext merchant identification format that may be variable in length as may be provided from transaction data 660 into a hashed merchant identification format of a fixed length that may be suitable encrypted by the secure element), as described in more detail below with respect to step 720 of process 700 of
Next, encrypted commercial entity credential data 663 along with any additional information, such as at least some of potential transaction data 660 (e.g., identification of the merchant, identification of the price, and/or identification of the product/service) and/or any other suitable information (e.g., any information identifying device 100 itself and/or the merchant in unencrypted form), may together be transmitted as commercial entity transaction data 664 from device 100 to commercial entity subsystem 400 at step 614 (e.g., as described in more detail below with respect to step 724 of process 700 of
Next, at step 616, process 600 may include commercial entity subsystem 400 receiving and decrypting at least a portion of commercial entity transaction data 664. For example, commercial entity subsystem 400 may receive commercial entity transaction data 664 and may then decrypt encrypted commercial entity credential data 663 of commercial entity transaction data 664 using access information (e.g., 155a, 155b, 156k, 151k, and/or 158k) as available at commercial entity subsystem 400. This may enable commercial entity subsystem 400 to determine an unencrypted identification of the merchant (e.g., from decrypted commercial entity credential data 663), while also maintaining SE credential data 661 in an encrypted state (e.g., as encrypted SE credential data 662), because commercial entity subsystem 400 may not have access to credential key 155a′ with which such SE credential data 661 may have been encrypted by the secure element of device 100 at step 612 as encrypted SE credential data 662. Additionally or alternatively, the merchant may be identified by the additional data that may have been included in commercial entity transaction data 664 along with encrypted commercial entity credential data 663 (e.g., as described in more detail below with respect to steps 724 and 726 of process 700 of
Next, at step 617, process 600 may include commercial entity subsystem 400 identifying a merchant key 157 associated with the merchant that may have been identified from commercial entity transaction data 664 and then re-encrypting at least a portion of commercial entity credential data 664 using that merchant key 157. That is, after decrypting at least a first portion of commercial entity transaction data 664 using suitable access information at step 616 (e.g., after decrypting encrypted CE credential data 663 to realize encrypted SE credential data 662 and any other information that may have been encrypted in encrypted CE credential data 663), commercial entity subsystem 400 may then, at step 617, re-encrypt at least a second portion of commercial entity transaction data 664 (e.g., encrypted SE credential data 662) with an appropriate merchant key 157 that may be associated with merchant information identified in commercial entity transaction data 664. Such a merchant key 157 may be determined by comparing the merchant information identified in commercial entity transaction data 664 with data in table 430 of
Steps 616, 617, and 618 may ensure that credential data transmitted from the commercial entity subsystem 400 as part of merchant transaction data 668 of
Once such merchant transaction data 668 is received by merchant subsystem 200 (e.g., as online-based communication 671 from commercial entity subsystem 400 directly at step 621 or as online-based communication 670 from device 100 at step 620), process 600 may include step 622 at which merchant subsystem 200 may send confirmation data 672 to device 100 (e.g., via communication path 15 of
Moreover, once such merchant transaction data 668 is received by merchant subsystem 200 (e.g., as communication 671 from commercial entity subsystem 400 directly at step 621 or as online-based communication 670 from device 100 at step 620), process 600 may also include step 623 at which merchant subsystem 200 may be configured to generate and transmit payment data 673 to acquiring bank subsystem 300 (e.g., via communication path 25 between merchant subsystem 200 and acquiring bank subsystem 300 of
Therefore, merchant subsystem 200 may be configured to process online-based communication 671 received from commercial entity subsystem 400 directly at step 621 or online-based communication 670 received from device 100 at step 620 in any suitable way. For example, to obtain the plain text payment credentials from such an online-based communication (e.g., SE credential data 661), merchant subsystem 200 may verify that a signature property of the received data is valid and that commercial entity subsystem 400 is the signer of that signature. Merchant subsystem 200 may use any suitable technique to determine which merchant key (e.g., which merchant public key 157) may have been used by commercial entity subsystem 400 to construct the encrypted merchant credential data (e.g., data 667). Then, merchant subsystem 200 may retrieve the corresponding merchant private key (e.g., merchant private key 157 at merchant subsystem 200) and use that retrieved key to de-encapsulate and/or decrypt encrypted merchant credential data 667 to recover encrypted SE credential data 662. Then such data 662 may be provided to the appropriate payment network 360, which may leverage the appropriate credential key 155a′ of financial institution subsystem 350 to de-encapsulate and/or decrypt encrypted SE credential data 662 to recover SE credential data 661 (e.g., to recover the plain text payment information for the payment credential, such as full EMV (“Europay MasterCard Visa”) payment data).
In some embodiments, once device 100 is ready to prepare CE transaction data (e.g., data 664) to commercial entity subsystem 400 for a new online resource transaction (e.g., after step 611) but before doing so, device 100 may be configured to request certain data from commercial entity subsystem. For example, prior to step 612 but after step 610, device 100 may request certain CE feature information (e.g., an unpredictable number or other suitable data) that may be leveraged by device 100 and process 600 for adding an additional layer of security to process 600. For example, in response to such a request, such CE feature information may be provided from commercial entity 400 to device 100 (e.g., at a step (not shown) before step 612), and such CE feature information may be encrypted along with other data by secure element 145. For example, such CE feature information may be encrypted along with SE credential data 661 as encrypted SE credential data 662 at step 612. Alternatively or additionally, such CE feature information may be encrypted along with encrypted SE credential data 662 as encrypted CE credential data 663 at step 613. In any event, such CE feature information may be included in CE transaction data 664 to commercial entity subsystem 400 and may be accessed by commercial entity subsystem 400 and compared to the CE feature information it generated earlier to confirm a match or determine any potential fraudulent behavior (e.g., if such CE feature information were encrypted at step 613). Additionally or alternatively, such CE feature information may be included in CE transaction data 664 and in communication 670 such that it may be received by merchant subsystem 200 (e.g., via device 100). Moreover, such CE feature information may be provided directly from commercial entity subsystem 400 to merchant subsystem 200 (e.g., as a communication 671 at step 621 or at any other point in process 600 prior to step 622), such that merchant subsystem 200 may compare such CE feature information encrypted by device 100 and received by merchant subsystem 200 as at least a portion of communication 670 with such CE feature information that may be received by merchant subsystem 200 directly from commercial entity subsystem 400. Such a comparison, if matching, may add another layer of security on which merchant subsystem 200 may rely when determining that communication 670 is not fraudulent and may be used for conducting a financial transaction. Such CE feature information (e.g., an unpredictable number initially) may be generated by commercial entity subsystem 400, may be encrypted on secure element 145 (e.g., at step 612 and/or step 613) and provided to merchant subsystem 200 (e.g., as a portion of communication 670 at step 620), and such CE feature information may also be provided to merchant subsystem 200 directly from commercial entity subsystem 400 (e.g., as communication 671 at step 621), such that both instances of such CE feature information may be utilized by merchant subsystem 200 and/or by any remaining step of process 600 as a layer of security to the process.
Process 600 may ensure that system 1 may leverage security keys accessible to a security element of device 100 so as to securely communicate credential data to merchant subsystem 200 for use by financial institution subsystem 350 while enabling certain keys to be properly managed by commercial entity subsystem 400. That is, secure element 145 of device 100 (e.g., NFC component 120) may contain credential key 155a′ and access information (e.g., 155a, 155b, 156k, 151k, and/or 158k), commercial entity subsystem 400 may contain access information (e.g., 155a, 155b, 156k, 151k, and/or 158k) and merchant key 157, merchant entity 200 may contain merchant key 157, and financial institution subsystem 350 may contain credential key 155a′. Due to the fact that device 100 and commercial entity subsystem 400 may each contain or have access to access information (e.g., 155a, 155b, 156k, 151k, and/or 158k), device 100 may securely share encrypted credential data with commercial entity subsystem 400 (e.g., as data 664 at step 614). Similarly, due to the fact that commercial entity subsystem 400 and merchant subsystem 200 may each contain or have access to merchant key 157, commercial entity subsystem 400 may securely share encrypted credential data with merchant subsystem 200 (e.g., as data 671 at step 621 or via device 100 as data 670 at step 620). Then, merchant subsystem 200, via acquiring bank subsystem 300, may share this encrypted credential data with financial institution subsystem 350 that may finally decrypt the encrypted credential data with credential key 155a′. However, in some embodiments, none of the credential data of the secure element of device 100 (e.g., SE credential data 661 of applet 153a of SSD 154a) may be shared with a non-secure element of device 100 (e.g., processor 102 and/or communications component 106) in a decrypted state, nor may credential key 155a′ be made available to such a non-secure element of device 100. Credential key 155a′ may be managed by financial institution subsystem 350, while certain access information (e.g., 155a, 155b, 156k, 151k, and/or 158k) may be managed by or otherwise accessible to commercial entity subsystem 400, while merchant key 157 may be managed by commercial entity subsystem 400 and/or merchant subsystem 200, such that each of these keys may be maintained and/or updated and/or deleted as needed to maintain their effectiveness. Therefore, merchant key 157 may never be stored on or otherwise accessible to device 100. For example, merchant key 157 may not even be stored on a secure element of device 100. Merchant key 157 can be revocable or may expire after a certain amount of time, which may require merchant subsystem 200 and commercial entity subsystem 350 to communicate every so often to manage and/or update merchant key 157. This may enable commercial entity subsystem 400 to dictate which merchant subsystems 200 may be able to conduct online transactions using secure credentials of device 100. Moreover, certain access information (e.g., 155a, 155b, 156k, 151k, and/or 158k) may never be stored on or otherwise accessible to merchant subsystem 200. For example, certain access information can be revocable or may expire after a certain amount of time, which may require device 100 and commercial entity subsystem 400 to communicate every so often to manage and/or update such access information. This may enable commercial entity subsystem 400 to dictate which devices 100 may be able to conduct online transactions using secure credentials of device 100 with a merchant subsystem 200 via commercial entity subsystem 400.
Therefore, process 600 may enable at least one credential provisioned on a secure element of device 100 to be securely used for an online payment transaction with merchant subsystem 200. Process 600 may be configured to provide a virtualized tunnel between the secure element of device 100 and merchant subsystem 200 that may transport a highly secure, EMV (“Europay, MasterCard, Visa”) standard-level (e.g., “Chip and PIN”) data set of credential data for use in a financial transaction. By only trusting data within the secure element of device 100 and not any data or components of device 100 off of such a secure element (e.g., processor 102 or application 113 local to device 100), process 600 may require that any credential data transmitted out of the secure element (e.g., SE credential data 661 of applet 153a) be encrypted with a credential key 155a′ that may only be known by the secure element and financial institution subsystem 350 (e.g., as encrypted SE credential data 662 at step 612), and, in some embodiments, then encrypted with access information (e.g., 155a, 155b, 156k, 151k, and/or 158k) that may only be known by secure element 145 and commercial entity subsystem 400 (e.g., as encrypted commercial entity credential data 663 at step 613). Commercial entity subsystem 400 may then leverage this data 663 (e.g., as part of received commercial entity transaction data 664) and its knowledge of such access information (e.g., 155a, 155b, 156k, 151k, and/or 158k) and merchant key 157 to decrypt/re-encrypt (e.g., at steps 616/617) the credential data transmitted by device 100 for later use by merchant subsystem 200. By providing commercial entity subsystem 400 in the middle of process 600, an extra layer of security is realized. Commercial entity subsystem 400 may be privy not only to certain access information (e.g., 155a, 155b, 156k, 151k, and/or 158k) shared by secure element 145 of device 100 but also to merchant key 157 shared by merchant subsystem 200. Therefore, commercial entity subsystem 400 may be in a unique position to manage any online transactions between the secure element of device 100 and merchant subsystem 200, while at the same time not being privy to the credential data being used (e.g., not being privy to SE credential data 661 of applet 153a that may be encrypted as encrypted SE credential data 662 at step 612 by credential key 155a′, for example, because commercial entity subsystem 400 may not have access to credential key 155a′).
Commercial entity subsystem 400 may be configured to provide a validation check after receiving commercial entity transaction data 664 but before providing merchant transaction data 668 (e.g., at steps 616-618/621). For example, commercial entity subsystem 400 may determine that received commercial entity transaction data 664 identifies a merchant whose merchant key 157 has expired or has otherwise been terminated or not recognized (e.g., by table 430). Therefore, if commercial entity subsystem 400 at some point before step 618/621 determines that a particular merchant is no longer trustworthy, commercial entity subsystem 400 may remove or otherwise disable its merchant key 157 from table 430, such that, when a merchant associated with that key 157 is later identified by commercial entity subsystem 400 from a received commercial entity transaction data 664 provided by an electronic device 100, commercial entity subsystem 400 may not provide any associated merchant transaction data 668/671, thereby preventing the desired financial transaction. Alternatively, a merchant identified in commercial entity transaction data 664 received from an electronic device 100 may never have had a merchant key 157 associated with table 430, such that commercial entity subsystem 400 may realize that commercial entity transaction data 664 may be an attempt to conduct a financial transaction with a merchant that is not recognized by commercial entity subsystem 400 and, thus, commercial entity subsystem 400 may prevent the transaction from being carried out. However, if process 600 is able to be completed, not only may commercial entity subsystem 400 be satisfied that the financial transaction is between a known device 100 (e.g., due to shared access information (e.g., 155a, 155b, 156k, 151k, and/or 158k)) and a known merchant subsystem 200 (e.g., due to a known merchant key 157), but merchant subsystem 200 may also be satisfied that the financial transaction is being conducted with a trusted device 100 (e.g., due to the received communication data 670/671 being encrypted with a merchant key 157 from a trusted commercial entity subsystem 400).
It is understood that the steps shown in process 600 of
Next, at step 704, process 700 may include at least a portion of such potential transaction data 752 being provided from the online resource (e.g., merchant application 113) as device transaction data 754 to a device application 103 (e.g., an operating system application and/or a software developer kit (“SDK”)) that may be available to processor 102 of device 100 and that may be configured to communicate with the merchant online resource via any suitable techniques (e.g., via one or more application programming interfaces (“APIs”)). Device application 103 may be configured to access information available to device 100 (e.g., from memory 104 and/or secure element 145). Device transaction data 754 may include any suitable data that may be shared between the merchant online resource (e.g., merchant application 113) and other portions of device 100 (e.g., via device application 103). For example, at step 704, device transaction data 754 may include a request for any additional information that may not be included in potential transaction data 752 but that may be used by merchant application 113 for providing a desired user interface (e.g., screen 190a of
Next, at step 706, process 700 may include device application 103 generating and transmitting response data 756 to merchant application 113 in response to device transaction data 754 received at step 704. For example, if device transaction data 754 includes a request to confirm whether electronic device 100 is configured to use a credential associated with a financial institution supported by merchant subsystem 200 (e.g., a specific payment network 360, such as MasterCard or Visa), device application 103 may be configured to poll secure element 145 or another portion of device 100 (e.g., a “wallet” or “Passbook” application of device 100 that may include information indicative of the credentials enabled on secure element 145, such as may be illustrated by the specific icon 182 labeled with a “Passbook” textual indicator 181 (i.e., specific icon 185) of
Additionally or alternatively, as another example, if device transaction data 754 includes a request for default or initial shipping information to be used based on other information of device transaction data 754 (e.g., if merchant application 113 has no default or initial shipping information available), device application 103 may be configured to poll another portion of device 100 (e.g., an “address book” application of device 100 that may include shipping address information indicative of a user of device 100 (e.g., a “MeCard” or “VCard”), such as may be illustrated by the specific icon 182 labeled with a “Phone” textual indicator 181 (i.e., specific icon 184) of
In response to providing UI screen 190a of
Additionally or alternatively, screen 190a of
In response to a user input 764 that may appropriately provide necessary intent and authentication to enable a selected credential for use in an online transaction, process 700 may proceed to step 716, in which merchant application 113 may generate and share updated device transaction data 766 with device application 103. Updated device transaction data 766 may include any suitable data as described above with respect to transaction data 752 and/or transaction data 760 but may be updated based on any/all transaction selections made by a user (e.g., as shown by screen 190d or screen 190e). Next, at step 718, device application 103 may use such transaction data 766 to generate and transmit a credential request 768 to secure element 145. For example, device application 103 may be configured to communicate with secure element 145 via a wired interface (e.g., via an NFC controller). In some embodiments, device application 103 may be configured to communicate directly with access SSD 154b and/or ISD 152, thereby authenticating a request to dispense payment credentials. Credential request 768 may not only include an authenticated request to utilize a selected credential in an online transaction with merchant application 113, but credential request 768 may include at least some information particular to merchant application 113 and/or to the particular transaction as may be defined by transaction data 766. For example, credential request 768 may include a unique merchant identifier for merchant application 113 and/or a merchant responsible for that online resource, where such a unique merchant identifier may be realized from transaction data 766.
In response to a credential request 768 indicative of a unique merchant identifier being received by secure element 145 at step 718, secure element 145 may be configured at step 720 to generate encrypted CE credential data 770, which may be similar to encrypted CE credential data 663 of process 600. For example, encrypted CE credential data 770 may be generated by secure element 145 at step 720 by encrypting SE credential data (e.g., SE credential data 661 of SSD 154a) with credential key 155a′ as encrypted SE credential data (e.g., encrypted SE credential data 662) and then encrypting not only such encrypted SE credential data but also an SE merchant identifier 719 (e.g., a merchant identifier generated by secure element 145 based on information from credential request 768) with any suitable access information (e.g., 155a, 155b, 156k, 151k, and/or 158k) as encrypted CE credential data 770. Such an SE merchant identifier 719 that may be encrypted along with encrypted SE credential data as encrypted CE credential data 770 may also be generated at step 720 using unique merchant identifier information from credential request 768. For example, secure element 145 may be configured to use a cryptographic hash function on the unique merchant identifier from credential request 768 in order to generate SE merchant identifier 719 that may then be processed (e.g., encrypted) by secure element 145. That is, secure element 145 may derive SE merchant identifier 719 from the unique merchant identifier of credential request 768 (e.g., from a merchant identifier query string), for example, using a key derivation function (e.g., the X9.63 key derivation function, which may derive at least one 32-byte field array SE merchant identifier 719 using a secure hash algorithm (e.g., a SHA-256 function)). This may allow SE merchant identifier 719 to be appropriately encrypted along with encrypted SE credential data as encrypted CE credential data 770 at step 720 by secure element 145. By cryptographically binding a unique merchant identifier with encrypted credential data using secure element 145, that version of the unique merchant identifier may not be tampered with by other portions of device 100 off of secure element 145 (e.g., by device application 103) that may not have access to the access information used (e.g., 155a, 155b, 156k, 151k, and/or 158k). Then, at step 722, secure element 145 may be configured to share such encrypted CE credential data 770 with device application 103.
At step 724, device application 103 may be configured to generate and transmit commercial entity transaction data 774 to commercial entity subsystem 400, where commercial entity transaction data 774 may include encrypted CE credential data 770 and any other suitable information. CE transaction data 774 may be similar to CE transaction data 664 of process 600. CE transaction data 774 may include not only encrypted CE credential data 770 but also an unencrypted merchant identifier (e.g., a unique merchant identifier from transaction data 766 that may have also been provided to secure element 145 at step 718 as a portion of credential request 768). That is, not only may CE transaction data 774 include encrypted CE credential data 770, which itself may include a hashed and/or encrypted version of a unique merchant identifier (e.g., from device transaction data 766), but CE transaction data 774 may also include a non-hashed and unencrypted version of that unique merchant identifier (e.g., from device transaction data 766). Moreover, other information from the device transaction data 766, such as an identification of device 100 (e.g., an “SEID”), a transaction amount, a currency type, and/or any other suitable information, may also be included as part of CE transaction data 774.
At step 726 of process 700, commercial entity subsystem 400 may be configured to generate encrypted merchant credential data 776 based on received CE transaction data 774. In some embodiments, encrypted merchant credential data 776 may be similar to encrypted merchant credential data 667 of process 600. For example, commercial entity subsystem 400 may access the unencrypted unique merchant identifier from a first portion of CE transaction data 774 and also decrypt a second portion of CE transaction data 774 (e.g., encrypted SE credential data 770) with certain access information (e.g., 155a, 155b, 156k, 151k, and/or 158k) to access the hashed version of the unique merchant identifier (e.g., SE merchant identifier 719) as well as the encrypted SE credential data. Commercial entity subsystem 400 may use the unencrypted unique merchant identifier and/or the decrypted hashed version of the unique merchant identifier (e.g., SE merchant identifier 719) to identify the appropriate merchant key 157 accessible to commercial entity subsystem 400 that may then be used for re-encrypting the encrypted SE credential data with that identified merchant key 157 as encrypted merchant credential data 776. Commercial entity subsystem 400 may or may not re-encrypt the decrypted hashed version of the unique merchant identifier (e.g., SE merchant identifier 719) along with the encrypted SE credential data using the identified merchant key 157 as encrypted merchant credential data 776 at step 726. In some embodiments, commercial entity subsystem 400 may also be configured to compare the unencrypted unique merchant identifier with the decrypted hashed version of the unique merchant identifier (e.g., SE merchant identifier 719), for example, by using a similar key derivation function on the unencrypted unique merchant identifier as used by secure element 145 (e.g., the X9.63 key derivation function, which may derive at least one 32-byte field array using a secure hash algorithm (e.g., a SHA-256 function)) and comparing it to the decrypted hashed version of the unique merchant identifier (e.g., SE merchant identifier 719). In such embodiments, process 700 may only proceed if the comparison is successful or valid (e.g., if the two unique merchant identifiers are a match). Otherwise, an error may be generated for further investigation. In some embodiments, such a comparison may only be done after the unencrypted unique merchant identifier has been used to identify a valid merchant key 157 (e.g., so as not to waste time doing the comparison if the unencrypted unique merchant identifier will not reveal a valid merchant key 157 (e.g., through use of table 430)). Moreover, certain additional information included in CE transaction data 774 (e.g., merchant identifier, price amount, currency type, electronic device identification, etc.) may also be used by commercial entity subsystem 400 (e.g., at step 726) for various reasons, such as velocity checking, purchase fraud checking and alerting, and the like.
At step 728, commercial entity subsystem 400 may generate and transmit merchant transaction data 778 to device application 103. In some embodiments, merchant transaction data 778 may be similar to merchant transaction data 668 of process 600. Merchant transaction data 778 may include encrypted merchant credential data 776 and any other suitable information. For example, along with encrypted merchant credential data 776, merchant transaction data 778 may include a timestamp generated by commercial entity subsystem 400 indicating the time that such encrypted merchant credential data 776 was generated by commercial entity subsystem 400. Such a timestamp may be later used by another entity of system 1 (e.g., merchant subsystem 200) to determine whether the data it may receive during process 700 (e.g., encrypted merchant credential data 776 as at least a portion of communication 782 described below) has been generated recently enough to reliably ensure that such received data was not fabricated maliciously. At step 730, device application 103 may be configured to generate and share updated merchant transaction data 780 with merchant application 113, where updated merchant transaction data 780 may include merchant transaction data 778 and any other suitable information, such as the full shipping information for the transaction (e.g., shipping information 1407d of screens 190d and 190e). Next, at step 732, merchant application 113 may be configured to generate and transmit online-based communication 782 to merchant subsystem 200, where online-based communication 782 may include at least a portion of updated merchant transaction data 780 (e.g., at least merchant transaction data 778) and any other suitable information, such as information local to merchant application 113. In some embodiments, online-based communication 782 may be similar to online-based communication 670 of process 600. In some embodiments, a time stamp that may have been generated and included in data 778 by commercial entity subsystem 400 at step 728 may be received and analyzed by merchant subsystem 200 as a portion of data 782 at step 732. Such analysis (e.g., comparison of the time stamp to the time at which data 782 was received) may be used by merchant subsystem 200 to determine whether data 782 may be trustworthy or whether such a time stamp is missing or too old compared to receipt of data 782, which may thereby indicate potential fraud. If such time stamp analysis is acceptable, merchant subsystem 200 may leverage data 782 to continue conducting a financial transaction (e.g., as described above with respect to steps 623-630 of process 600). As mentioned above, after a user of device 100 may provide intent and authentication to utilize a specific credential for carrying out a financial transaction based on potential transaction data 752, 760, and/or 766 at step 714, the remaining steps of process 700 may occur transparent to the user. That is, once the user provides authentication and/or intent at step 714, steps 716-732 may occur without any further user interaction and may seem instantaneous to a user, whereby process 700 appears to a user as if, after step 714, credential data is automatically and instantaneously sent to merchant subsystem 200.
It is understood that the steps shown in process 700 of
It is understood that the steps shown in process 800 of
It is understood that the steps shown in process 900 of
It is understood that the steps shown in process 1000 of
It is understood that the steps shown in process 1100 of
It is understood that the steps shown in process 1200 of
It is understood that the steps shown in process 1300 of
Although not shown, commercial entity subsystem 400 of
An SMP broker component of commercial entity subsystem 400 may be configured to manage user authentication with a commercial entity user account. Such an SMP broker component may also be configured to manage the life cycle and provisioning of credentials on device 100. An SMP broker component may be a primary end point that may control the user interface elements (e.g., elements of GUI 180) on device 100. An operating system or other application of device 100 (e.g., application 103, application 113, and/or application 143) may be configured to call specific application programming interfaces (“APIs”) and an SMP broker component may be configured to process requests of those APIs and respond with data that may derive the user interface of device 100 and/or respond with application protocol data units (“APDUs”) that may communicate with secure element 145 of NFC component 120 (e.g., via a communication path 65 between commercial entity subsystem 400 and electronic device 100). Such APDUs may be received by commercial entity subsystem 400 from financial institution subsystem 350 via a trusted services manager (“TSM”) of system 1 (e.g., a TSM of a communication path 55 between commercial entity subsystem 400 and financial institution subsystem 350). An SMP TSM component of commercial entity subsystem 400 may be configured to provide GlobalPlatform-based services that may be used to carry out operations on device 100 in concert with financial institution subsystem 350. GlobalPlatform, or any other suitable secure channel protocol, may enable such an SMP TSM component to properly communicate and/or provision sensitive account data between secure element 145 of device 100 and a TSM for secure data communication between commercial entity subsystem 400 and financial institution subsystem 350.
An SMP TSM component of commercial entity subsystem 400 may be configured to use an HSM component of commercial entity subsystem 400 to protect its keys and generate new keys. An SMP crypto services component of commercial entity subsystem 400 may be configured to provide key management and cryptography operations that may be required for user authentication and/or confidential data transmission between various components of system 1. Such an SMP crypto services component may utilize an HSM component of commercial entity subsystem 400 for secure key storage and/or opaque cryptographic operations. A payment crypto service of an SMP crypto services component of commercial entity subsystem 400 may be configured to interact with an IDMS component of commercial entity subsystem 400 to retrieve on-file credit cards or other types of commerce credentials associated with user accounts of the commercial entity. Such a payment crypto service may be configured to be the only component of commercial entity subsystem 400 that may have clear text (i.e., non-hashed) information describing commerce credentials (e.g., credit card numbers) of its user accounts in memory. A commercial entity fraud system component of commercial entity subsystem 400 may be configured to run a commercial entity fraud check on a commerce credential based on data known to the commercial entity about the commerce credential and/or the user (e.g., based on data (e.g., commerce credential information) associated with a user account with the commercial entity and/or any other suitable data that may be under the control of the commercial entity and/or any other suitable data that may not be under the control of financial institution subsystem 350). Such a commercial entity fraud system component of commercial entity subsystem 400 may be configured to determine a commercial entity fraud score for the credential based on various factors or thresholds. Additionally or alternatively, commercial entity subsystem 400 may include a store component, which may be a provider of various services to users of device 100 (e.g., the iTunes™ Store for selling/renting media to be played by device 100, the Apple App Store™ for selling/renting applications for use on device 100, the Apple iCloud™ Service for storing data from device 100, the Apple Online Store for buying various Apple products online, etc.). As just one example, such a store component of commercial entity subsystem 400 may be configured to manage and provide an application 113 to device 100 (e.g., via communications path 65), where application 113 may be any suitable application, such as a banking application, an e-mail application, a text messaging application, an internet application, or any other suitable application. Any suitable communication protocol or combination of communication protocols may be used by commercial entity subsystem 400 to communicate data amongst the various components of commercial entity subsystem 400 and/or to communicate data between commercial entity subsystem 400 and other components of system 1 (e.g., financial institution subsystem 350 via communications path 55 of
When a credential of a secure element of device 100 is appropriately enabled (e.g., commerce credential data associated with an enabled applet 153a of credential SSD 154a of NFC component 120) so as to be provided as a commerce credential data communication to merchant subsystem 200 (e.g., as a contactless proximity-based communication to a merchant terminal and/or as an online-based communication 670 to a merchant server 210), acquiring bank subsystem 300 may utilize such a commerce credential data communication for completing a financial transaction with financial institution subsystem 350. For example, after a user of electronic device 100 has chosen a product for purchase and has appropriately enabled a specific credential of device 100 to be used for payment, merchant subsystem 200 may receive an appropriate commerce credential data communication indicative of commerce credential data for the specific credential. Merchant server 210 and/or a merchant terminal may be provided by any suitable merchant or merchant agent of merchant subsystem 200 that may provide a product or service to a user of device 100 in response to device 100 providing payment credentials via such a commerce credential data communication. Based on such a received commerce credential data communication (e.g., communication 670), merchant subsystem 200 may be configured to generate and transmit data 673 to acquiring bank subsystem 300 (e.g., via a communication path 25 between merchant subsystem 200 and acquiring bank subsystem 300), where data 673 may include payment information and an authorization request that may be indicative of the user's commerce credential and the merchant's purchase price for the product or service. Also known as a payment processor or acquirer, acquiring bank subsystem 300 may be a banking partner of the merchant associated with merchant subsystem 200, and acquiring bank subsystem 300 may be configured to work with financial institution subsystem 350 to approve and settle credential transactions attempted by electronic device 100 via a commerce credential data communication (e.g., via a contactless proximity-based communication and/or via an online-based communication 670) with merchant subsystem 200. Acquiring bank subsystem 300 may then forward the authorization request from data 673 to financial institution subsystem 350 as data 674 (e.g., via a communication path 35 between acquiring bank subsystem 300 and financial institution subsystem 350).
Payment network subsystem 360 and issuing bank subsystem 370 may be a single entity or separate entities. For example, American Express may be both a payment network subsystem 360 and an issuing bank subsystem 370. In contrast, Visa and MasterCard may be payment networks 360, and may work in cooperation with issuing banks 370, such as Chase, Wells Fargo, Bank of America, and the like. Financial institution subsystem 350 may also include one or more acquiring banks, such as acquiring bank subsystem 300. For example, acquiring bank subsystem 300 may be the same entity as issuing bank subsystem 370. One, some, or all components of acquiring bank subsystem 300 may be implemented using one or more processor components, which may be the same as or similar to processor component 102 of device 100, one or more memory components, which may be the same as or similar to memory component 104 of device 100, and/or one or more communications components, which may be the same as or similar to communications component 106 of device 100. One, some, or all components of payment network subsystem 360 may be implemented using one or more processor components, which may be the same as or similar to processor component 102 of device 100, one or more memory components, which may be the same as or similar to memory component 104 of device 100, and/or one or more communications components, which may be the same as or similar to communications component 106 of device 100. One, some, or all components of issuing bank subsystem 370 may be implemented using one or more processor components, which may be the same as or similar to processor component 102 of device 100, one or more memory components, which may be the same as or similar to memory component 104 of device 100, and/or one or more communications components, which may be the same as or similar to communications component 106 of device 100. In the case of payment network subsystem 360 and issuing bank subsystem 370 being separate entities, payment network subsystem 360 may receive the authorization request of data 674 from acquiring bank subsystem 300 and may then forward the request to issuing bank subsystem 370 as data 405 (e.g., via a communication path 45 between payment network subsystem 360 and issuing bank subsystem 370). In the case of payment network subsystem 360 and issuing bank subsystem 370 being the same entity, acquiring bank subsystem 300 may submit the authorization request of data 674 directly to issuing bank subsystem 370. Furthermore, payment network subsystem 360 may respond to acquiring bank subsystem 300 on behalf of issuing bank subsystem 370 (e.g., according to conditions agreed upon between payment network subsystem 360 and issuing bank subsystem 370). By interfacing between acquiring bank subsystem 300 and issuing bank subsystem 370, payment network subsystem 360 may reduce the number of entities that each acquiring bank subsystem 300 and each issuing bank subsystem 370 may have to interact with directly. That is, to minimize direct integration points of financial institution subsystem 350, payment network subsystem 360 may act as an aggregator for various issuing banks 370 and/or various acquiring banks 300. Financial institution subsystem 350 may also include one or more acquiring banks, such as acquiring bank subsystem 300. For example, acquiring bank subsystem 300 may be the same entity as issuing bank subsystem 370.
When issuing bank subsystem 370 receives an authorization request (e.g., directly from acquiring bank subsystem 300 as data 674 or indirectly via payment network subsystem 360 as data 405), the payment information (e.g., commerce credential information of device 100) and the purchase amount included in the authorization request may be analyzed to determine if the account associated with the commerce credential has enough credit to cover the purchase amount. If sufficient funds are not present, issuing bank subsystem 370 may decline the requested transaction by transmitting a negative authorization response to acquiring bank subsystem 300. However, if sufficient funds are present, issuing bank subsystem 370 may approve the requested transaction by transmitting a positive authorization response to acquiring bank subsystem 300 and the financial transaction may be completed. Either type of authorization response may be provided by user financial subsystem 350 to acquiring bank subsystem 300 as authorization response data 676 (e.g., authorization response data 676 may be provided directly from issuing bank subsystem 370 to acquiring bank subsystem 300 via communication path 35, or authorization response data 676 may be provided from payment network subsystem 360 to acquiring bank subsystem 300 based on authorization response data 415 that may be provided to payment network subsystem 360 from issuing bank subsystem 370 via communication path 45).
As mentioned, and as shown in
As shown in
Memory 104 may include one or more storage mediums, including for example, a hard-drive, flash memory, permanent memory such as read-only memory (“ROM”), semi-permanent memory such as random access memory (“RAM”), any other suitable type of storage component, or any combination thereof. Memory 104 may include cache memory, which may be one or more different types of memory used for temporarily storing data for electronic device applications. Memory 104 may be fixedly embedded within electronic device 100 or may be incorporated on one or more suitable types of cards that may be repeatedly inserted into and removed from electronic device 100 (e.g., a subscriber identity module (“SIM”) card or secure digital (“SD”) memory card). Memory 104 may store media data (e.g., music and image files), software (e.g., for implementing functions on device 100), firmware, preference information (e.g., media playback preferences), lifestyle information (e.g., food preferences), exercise information (e.g., information obtained by exercise monitoring equipment), transaction information (e.g., information such as credit card information), wireless connection information (e.g., information that may enable device 100 to establish a wireless connection), subscription information (e.g., information that keeps track of podcasts or television shows or other media a user subscribes to), contact information (e.g., telephone numbers and e-mail addresses), calendar information, any other suitable data, or any combination thereof.
Communications component 106 may be provided to allow device 100 to communicate with one or more other electronic devices or servers or subsystems (e.g., one or more subsystems or other components of system 1) using any suitable communications protocol. For example, communications component 106 may support Wi-Fi (e.g., an 802.11 protocol), ZigBee (e.g., an 802.15.4 protocol), WiDi™, Ethernet, Bluetooth™, Bluetooth™ Low Energy (“BLE”), high frequency systems (e.g., 900 MHz, 2.4 GHz, and 5.6 GHz communication systems), infrared, transmission control protocol/internet protocol (“TCP/IP”) (e.g., any of the protocols used in each of the TCP/IP layers), Stream Control Transmission Protocol (“SCTP”), Dynamic Host Configuration Protocol (“DHCP”), hypertext transfer protocol (“HTTP”), BitTorrent™, file transfer protocol (“FTP”), real-time transport protocol (“RTP”), real-time streaming protocol (“RTSP”), real-time control protocol (“RTCP”), Remote Audio Output Protocol (“RAOP”), Real Data Transport Protocol™ (“RDTP”), User Datagram Protocol (“UDP”), secure shell protocol (“SSH”), wireless distribution system (“WDS”) bridging, any communications protocol that may be used by wireless and cellular telephones and personal e-mail devices (e.g., Global System for Mobile Communications (“GSM”), GSM plus Enhanced Data rates for GSM Evolution (“EDGE”), Code Division Multiple Access (“CDMA”), Orthogonal Frequency-Division Multiple Access (“OFDMA”), high speed packet access (“HSPA”), multi-band, etc.), any communications protocol that may be used by a low power Wireless Personal Area Network (“6LoWPAN”) module, any other communications protocol, or any combination thereof. Communications component 106 may also include or be electrically coupled to any suitable transceiver circuitry (e.g., transceiver circuitry or antenna 116 via bus 118) that can enable device 100 to be communicatively coupled to another device (e.g., a host computer or an accessory device) and communicate with that other device wirelessly, or via a wired connection (e.g., using a connector port). Communications component 106 may be configured to determine a geographical position of electronic device 100. For example, communications component 106 may utilize the global positioning system (“GPS”) or a regional or site-wide positioning system that may use cell tower positioning technology or Wi-Fi technology.
Power supply 108 can include any suitable circuitry for receiving and/or generating power, and for providing such power to one or more of the other components of electronic device 100. For example, power supply 108 can be coupled to a power grid (e.g., when device 100 is not acting as a portable device or when a battery of the device is being charged at an electrical outlet with power generated by an electrical power plant). As another example, power supply 108 can be configured to generate power from a natural source (e.g., solar power using solar cells). As another example, power supply 108 can include one or more batteries for providing power (e.g., when device 100 is acting as a portable device). For example, power supply 108 can include one or more of a battery (e.g., a gel, nickel metal hydride, nickel cadmium, nickel hydrogen, lead acid, or lithium-ion battery), an uninterruptible or continuous power supply (“UPS” or “CPS”), and circuitry for processing power received from a power generation source (e.g., power generated by an electrical power plant and delivered to the user via an electrical socket or otherwise). The power can be provided by power supply 108 as alternating current or direct current, and may be processed to transform power or limit received power to particular characteristics. For example, the power can be transformed to or from direct current, and constrained to one or more values of average power, effective power, peak power, energy per pulse, voltage, current (e.g., measured in amperes), or any other characteristic of received power. Power supply 108 can be operative to request or provide particular amounts of power at different times, for example, based on the needs or requirements of electronic device 100 or periphery devices that may be coupled to electronic device 100 (e.g., to request more power when charging a battery than when the battery is already charged).
One or more input components 110 may be provided to permit a user to interact or interface with device 100. For example, input component 110 can take a variety of forms, including, but not limited to, a touch pad, dial, click wheel, scroll wheel, touch screen, one or more buttons (e.g., a keyboard), mouse, joy stick, track ball, microphone, camera, scanner (e.g., a bar code scanner or any other suitable scanner that may obtain product identifying information from a code, such as a bar code, a QR code, or the like), proximity sensor, light detector, motion sensor, biometric sensor (e.g., a fingerprint reader or other feature recognition sensor, which may operate in conjunction with a feature-processing application that may be accessible to electronic device 100 for authenticating a user), and combinations thereof. Each input component 110 can be configured to provide one or more dedicated control functions for making selections or issuing commands associated with operating device 100.
Electronic device 100 may also include one or more output components 112 that may present information (e.g., graphical, audible, and/or tactile information) to a user of device 100. For example, output component 112 of electronic device 100 may take various forms, including, but not limited to, audio speakers, headphones, audio line-outs, visual displays, antennas, infrared ports, haptic output components (e.g., rumblers, vibrators, etc.), or combinations thereof.
As a specific example, electronic device 100 may include a display output component as output component 112. Such a display output component may include any suitable type of display or interface for presenting visual data to a user. A display output component may include a display embedded in device 100 or coupled to device 100 (e.g., a removable display). A display output component may include, for example, a liquid crystal display (“LCD”), a light emitting diode (“LED”) display, an organic light-emitting diode (“OLED”) display, a surface-conduction electron-emitter display (“SED”), a carbon nanotube display, a nanocrystal display, any other suitable type of display, or combination thereof. Alternatively, a display output component can include a movable display or a projecting system for providing a display of content on a surface remote from electronic device 100, such as, for example, a video projector, a head-up display, or a three-dimensional (e.g., holographic) display. As another example, a display output component may include a digital or mechanical viewfinder, such as a viewfinder of the type found in compact digital cameras, reflex cameras, or any other suitable still or video camera. A display output component may include display driver circuitry, circuitry for driving display drivers, or both, and such a display output component can be operative to display content (e.g., media playback information, application screens for applications implemented on electronic device 100, information regarding ongoing communications operations, information regarding incoming communications requests, device operation screens, etc.) that may be under the direction of processor 102.
It should be noted that one or more input components and one or more output components may sometimes be referred to collectively herein as an input/output (“I/O”) component or I/O interface (e.g., input component 110 and output component 112 as I/O component or I/O interface 114). For example, input component 110 and output component 112 may sometimes be a single I/O component 114, such as a touch screen, that may receive input information through a user's touch of a display screen and that may also provide visual information to a user via that same display screen.
Processor 102 of electronic device 100 may include any processing circuitry that may be operative to control the operations and performance of one or more components of electronic device 100. For example, processor 102 may receive input signals from input component 110 and/or drive output signals through output component 112. As shown in
Electronic device 100 may also include near field communication (“NFC”) component 120. NFC component 120 may be any suitable proximity-based communication mechanism that may enable contactless proximity-based transactions or communications between electronic device 100 and merchant subsystem 200 (e.g., a merchant payment terminal). NFC component 120 may allow for close range communication at relatively low data rates (e.g., 424 kbps), and may comply with any suitable standards, such as ISO/IEC 7816, ISO/IEC 18092, ECMA-340, ISO/IEC 21481, ECMA-352, ISO 14443, and/or ISO 15693. Alternatively or additionally, NFC component 120 may allow for close range communication at relatively high data rates (e.g., 370 Mbps), and may comply with any suitable standards, such as the TransferJet™ protocol. Communication between NFC component 120 and merchant subsystem 200 may occur within any suitable close range distance between device 100 and merchant subsystem 200 (see, e.g., distance D of
NFC component 120 may include any suitable modules for enabling contactless proximity-based communication between electronic device 100 and merchant subsystem 200. As shown in
NFC device module 130 may include an NFC data module 132, an NFC antenna 134, and an NFC booster 136. NFC data module 132 may be configured to contain, route, or otherwise provide any suitable data that may be transmitted by NFC component 120 to merchant subsystem 200 as part of a contactless proximity-based or NFC communication 5. Additionally or alternatively, NFC data module 132 may be configured to contain, route, or otherwise receive any suitable data that may be received by NFC component 120 from merchant subsystem 200 as part of a contactless proximity-based communication 5.
NFC transceiver or NFC antenna 134 may be any suitable antenna or other suitable transceiver circuitry that may generally enable communication of communication from NFC data module 132 to merchant subsystem 200 and/or to NFC data module 132 from subsystem 200. Therefore, NFC antenna 134 (e.g., a loop antenna) may be provided specifically for enabling the contactless proximity-based communication capabilities of NFC component 120.
Alternatively or additionally, NFC component 120 may utilize the same transceiver circuitry or antenna (e.g., antenna 116) that another communication component of electronic device 100 (e.g., communication component 106) may utilize. For example, communication component 106 may leverage antenna 116 to enable Wi-Fi, Bluetooth™, cellular, or GPS communication between electronic device 100 and another remote entity, while NFC component 120 may leverage antenna 116 to enable contactless proximity-based or NFC communication between NFC data module 132 of NFC device module 130 and another entity (e.g., merchant subsystem 200). In such embodiments, NFC device module 130 may include NFC booster 136, which may be configured to provide appropriate signal amplification for data of NFC component 120 (e.g., data within NFC data module 132) so that such data may be appropriately transmitted by shared antenna 116 as communication to subsystem 200. For example, shared antenna 116 may require amplification from booster 136 before antenna 116 (e.g., a non-loop antenna) may be properly enabled for communicating contactless proximity-based or NFC communication between electronic device 100 and merchant subsystem 200 (e.g., more power may be needed to transmit NFC data using antenna 116 than may be needed to transmit other types of data using antenna 116).
NFC controller module 140 may include at least one NFC processor module 142. NFC processor module 142 may operate in conjunction with NFC device module 130 to enable, activate, allow, and/or otherwise control NFC component 120 for communicating an NFC communication between electronic device 100 and merchant subsystem 200. NFC processor module 142 may exist as a separate component, may be integrated into another chipset, or may be integrated with processor 102, for example, as part of a system on a chip (“SoC”). As shown in
NFC controller module 140 may control the near field communication mode of NFC component 120. For example, NFC processor module 142 may be configured to switch NFC device module 130 between a reader/writer mode for reading information (e.g., communication 5) from NFC tags (e.g., from merchant subsystem 200) to NFC data module 132, a peer-to-peer mode for exchanging data (e.g., communication 5) with another NFC enabled device (e.g., merchant subsystem 200), and a card emulation mode for allowing another NFC enabled device (e.g., merchant subsystem 200) to read information (e.g., communication 5) from NFC data module 132. NFC controller module 140 also may be configured to switch NFC component 120 between active and passive modes. For example, NFC processor module 142 may be configured to switch NFC device module 130 (e.g., in conjunction with NFC antenna 134 or shared antenna 116) between an active mode where NFC device module 130 may generate its own RF field and a passive mode where NFC device module 130 may use load modulation to transfer data to another device generating an RF field (e.g., merchant subsystem 200). Operation in such a passive mode may prolong the battery life of electronic device 100 compared to operation in such an active mode. The modes of NFC device module 130 may be controlled based on preferences of a user and/or based on preferences of a manufacturer of device 100, which may be defined or otherwise dictated by an application running on device 100 (e.g., application 103 and/or application 143).
NFC memory module 150 may operate in conjunction with NFC device module 130 and/or NFC controller module 140 to allow for NFC communication between electronic device 100 and merchant subsystem 200. NFC memory module 150 may be embedded within NFC device hardware or within an NFC integrated circuit (“IC”). NFC memory module 150 may be tamper resistant and may provide at least a portion of a secure element. For example, NFC memory module 150 may store one or more applications relating to NFC communications (e.g., application 143) that may be accessed by NFC controller module 140. For example, such applications may include financial payment applications, secure access system applications, loyalty card applications, and other applications, which may be encrypted. In some embodiments, NFC controller module 140 and NFC memory module 150 may independently or in combination provide a dedicated microprocessor system that may contain an operating system, memory, application environment, and security protocols intended to be used to store and execute sensitive applications on electronic device 100. NFC controller module 140 and NFC memory module 150 may independently or in combination provide at least a portion of a secure element 145, which may be tamper resistant. For example, such a secure element 145 may be configured to provide a tamper-resistant platform (e.g., as a single or multiple chip secure microcontroller) that may be capable of securely hosting applications and their confidential and cryptographic data (e.g., applet 153 and key 155) in accordance with rules and security requirements that may be set forth by a set of well-identified trusted authorities (e.g., an authority of financial institution subsystem and/or an industry standard, such as GlobalPlatform). NFC memory module 150 may be a portion of memory 106 or at least one dedicated chip specific to NFC component 120. NFC memory module 150 may reside on a SIM, a dedicated chip on a motherboard of electronic device 100, or as an external plug in memory card. NFC memory module 150 may be completely independent from NFC controller module 140 and may be provided by different components of device 100 and/or provided to electronic device 100 by different removable subsystems. Secure element 145 may be a highly secure, tamper-resistant hardware component within a chip, which may be used for storing sensitive data or applications on electronic device 100. At least a portion of secure element 145 may be provided in a removable circuit card, such as a universal integrated circuit card (“UICC”) or a subscriber identity module (“SIM”) card, that may be used in electronic devices 100 compatible within global system for mobile communications (“GSM”) networks, universal mobile telecommunications systems (“UMTS”) and/or long-term evolution (“LTE”) standard networks. Alternatively or additionally, at least a portion of secure element 145 may be provided in an integrated circuit that may be embedded into electronic device 100 during manufacturing of device 100. Alternatively or additionally, at least a portion of secure element 145 may be provided in a peripheral device that can be plugged into, inserted into, or otherwise coupled to electronic device 100, such as a micro secure digital (“SD”) memory card.
As shown in
Security features may be provided for enabling use of NFC component 120 (e.g., for enabling activation of commerce credentials provisioned on device 100) that may be particularly useful when transmitting confidential payment information, such as credit card information or bank account information of a credential, from electronic device 100 to merchant subsystem 200. Such security features also may include a secure storage area that may have restricted access. For example, user authentication via personal identification number (“PIN”) entry or via user interaction with a biometric sensor may need to be provided to access the secure storage area (e.g., for a user to alter a life cycle state of a security domain element of the secure element). In certain embodiments, some or all of the security features may be stored within NFC memory module 150. Further, security information, such as an authentication key, for communicating with subsystem 200 may be stored within NFC memory module 150. In certain embodiments, NFC memory module 150 may include a microcontroller embedded within electronic device 100.
A merchant terminal of merchant subsystem 200 of
While NFC component 120 has been described with respect to near field communication, it is to be understood that component 120 may be configured to provide any suitable contactless proximity-based mobile payment or any other suitable type of contactless proximity-based communication between electronic device 100 and merchant subsystem 200. For example, NFC component 120 may be configured to provide any suitable short-range communication, such as those involving electromagnetic/electrostatic coupling technologies.
Electronic device 100 may also be provided with a housing 101 that may at least partially enclose one or more of the components of device 100 for protection from debris and other degrading forces external to device 100. In some embodiments, one or more of the components may be provided within its own housing (e.g., input component 110 may be an independent keyboard or mouse within its own housing that may wirelessly or through a wire communicate with processor 102, which may be provided within its own housing).
As mentioned, and as shown in
An output component 112a may be a display that can be used to display a visual or graphic user interface (“GUI”) 180, which may allow a user to interact with electronic device 100. GUI 180 may include various layers, windows, screens, templates, elements, menus, and/or other components of a currently running application (e.g., application 103 and/or application 113 and/or application 143) that may be displayed in all or some of the areas of display output component 112a. For example, as shown in
Icons 182 may represent various layers, windows, screens, templates, elements, and/or other components that may be displayed in some or all of the areas of display component 112a upon selection by the user. Furthermore, selection of a specific icon 182 may lead to a hierarchical navigation process. For example, selection of a specific icon 182 may lead to a new screen of GUI 180 that may include one or more additional icons or other GUI elements of the same application or of a new application associated with that icon 182. Textual indicators 181 may be displayed on or near each icon 182 to facilitate user interpretation of each graphical element icon 182. It is to be appreciated that GUI 180 may include various components arranged in hierarchical and/or non-hierarchical structures. When a specific icon 182 is selected, device 100 may be configured to open a new application associated with that icon 182 and display a corresponding screen of GUI 180 associated with that application. For example, when the specific icon 182 labeled with a “Merchant App” textual indicator 181 (i.e., specific icon 183) is selected, device 100 may launch or otherwise access a specific merchant application and may display screens of a specific user interface that may include one or more tools or features for interacting with device 100 in a specific manner. For each application, screens may be displayed on display output component 112a and may include various user interface elements (e.g., screens 190a-190e of
Electronic device 100 also may include various other I/O components 114 that may allow for communication between device 100 and other devices. I/O component 114b may be a connection port that may be configured for transmitting and receiving data files, such as media files or customer order files, from a remote data source and/or power from an external power source. For example, I/O component 114b may be a proprietary port, such as a Lightning™ connector or a 30-pin dock connector from Apple Inc. of Cupertino, Calif. I/O component 114c may be a connection slot for receiving a SIM card or any other type of removable component. I/O component 114d may be a headphone jack for connecting audio headphones that may or may not include a microphone component. Electronic device 100 may also include at least one audio input component 110g, such as a microphone, and at least one audio output component 112b, such as an audio speaker.
Electronic device 100 may also include at least one haptic or tactile output component 112c (e.g., a rumbler), a camera and/or scanner input component 110h (e.g., a video or still camera, and/or a bar code scanner or any other suitable scanner that may obtain product identifying information from a code, such as a bar code, a QR code, or the like), and a biometric input component 110i (e.g., a fingerprint reader or other feature recognition sensor, which may operate in conjunction with a feature-processing application that may be accessible to electronic device 100 for authenticating a user). As shown in
Moreover, one, some, or all of the processes described with respect to
It is to be understood that any, each, or at least one module or component or subsystem of system 1 may be provided as a software construct, firmware construct, one or more hardware components, or a combination thereof. For example, any, each, or at least one module or component or subsystem of system 1 may be described in the general context of computer-executable instructions, such as program modules, that may be executed by one or more computers or other devices. Generally, a program module may include one or more routines, programs, objects, components, and/or data structures that may perform one or more particular tasks or that may implement one or more particular abstract data types. It is also to be understood that the number, configuration, functionality, and interconnection of the modules and components and subsystems of system 1 are merely illustrative, and that the number, configuration, functionality, and interconnection of existing modules, components, and/or subsystems may be modified or omitted, additional modules, components, and/or subsystems may be added, and the interconnection of certain modules, components, and/or subsystems may be altered.
At least a portion of one or more of the modules or components or subsystems of system 1 may be stored in or otherwise accessible to an entity of system 1 in any suitable manner (e.g., in memory 104 of device 100 (e.g., as at least a portion of an application 103 and/or as at least a portion of an application 113 and/or as at least a portion of an application 143)). For example, any or each module of NFC component 120 may be implemented using any suitable technologies (e.g., as one or more integrated circuit devices), and different modules may or may not be identical in structure, capabilities, and operation. Any or all of the modules or other components of system 1 may be mounted on an expansion card, mounted directly on a system motherboard, or integrated into a system chipset component (e.g., into a “north bridge” chip).
Any or each module or component of system 1 (e.g., any or each module of NFC component 120) may be a dedicated system implemented using one or more expansion cards adapted for various bus standards. For example, all of the modules may be mounted on different interconnected expansion cards or all of the modules may be mounted on one expansion card. With respect to NFC component 120, by way of example only, the modules of NFC component 120 may interface with a motherboard or processor 102 of device 100 through an expansion slot (e.g., a peripheral component interconnect (“PCI”) slot or a PCI express slot). Alternatively, NFC component 120 need not be removable but may include one or more dedicated modules that may include memory (e.g., RAM) dedicated to the utilization of the module. In other embodiments, NFC component 120 may be integrated into device 100. For example, a module of NFC component 120 may utilize a portion of device memory 104 of device 100. Any or each module or component of system 1 (e.g., any or each module of NFC component 120) may include its own processing circuitry and/or memory. Alternatively, any or each module or component of system 1 (e.g., any or each module of NFC component 120) may share processing circuitry and/or memory with any other module of NFC component 120 and/or processor 102 and/or memory 104 of device 100.
As mentioned, an input component 110 of device 100 (e.g., input component 110f) may include a touch input component that can receive touch input for interacting with other components of device 100 via wired or wireless bus 118. Such a touch input component 110 may be used to provide user input to device 100 in lieu of or in combination with other input components, such as a keyboard, mouse, and the like.
A touch input component 110 may include a touch sensitive panel, which may be wholly or partially transparent, semitransparent, non-transparent, opaque, or any combination thereof. A touch input component 110 may be embodied as a touch screen, touch pad, a touch screen functioning as a touch pad (e.g., a touch screen replacing the touchpad of a laptop), a touch screen or touch pad combined or incorporated with any other input device (e.g., a touch screen or touch pad disposed on a keyboard), or any multi-dimensional object having a touch sensitive surface for receiving touch input. In some embodiments, the terms touch screen and touch pad may be used interchangeably.
In some embodiments, a touch input component 110 embodied as a touch screen may include a transparent and/or semitransparent touch sensitive panel partially or wholly positioned over, under, and/or within at least a portion of a display (e.g., display output component 112a). In other embodiments, a touch input component 110 may be embodied as an integrated touch screen where touch sensitive components/devices are integral with display components/devices. In still other embodiments, a touch input component 110 may be used as a supplemental or additional display screen for displaying supplemental or the same graphical data as a primary display and to receive touch input.
A touch input component 110 may be configured to detect the location of one or more touches or near touches based on capacitive, resistive, optical, acoustic, inductive, mechanical, chemical measurements, or any phenomena that can be measured with respect to the occurrences of the one or more touches or near touches in proximity to input component 110. Software, hardware, firmware, or any combination thereof may be used to process the measurements of the detected touches to identify and track one or more gestures. A gesture may correspond to stationary or non-stationary, single or multiple, touches or near touches on a touch input component 110. A gesture may be performed by moving one or more fingers or other objects in a particular manner on touch input component 110, such as by tapping, pressing, rocking, scrubbing, rotating, twisting, changing orientation, pressing with varying pressure, and the like at essentially the same time, contiguously, or consecutively. A gesture may be characterized by, but is not limited to, a pinching, pulling, sliding, swiping, rotating, flexing, dragging, or tapping motion between or with any other finger or fingers. A single gesture may be performed with one or more hands, by one or more users, or any combination thereof.
As mentioned, electronic device 100 may drive a display (e.g., display output component 112a) with graphical data to display a graphical user interface (“GUI”) 180. GUI 180 may be configured to receive touch input via a touch input component 110f Embodied as a touch screen (e.g., with display output component 112a as I/O component 114a), touch I/O component 110f may display GUI 180. Alternatively, GUI 180 may be displayed on a display (e.g., display output component 112a) separate from touch input component 110f. GUI 180 may include graphical elements displayed at particular locations within the interface. Graphical elements may include, but are not limited to, a variety of displayed virtual input devices, including virtual scroll wheels, a virtual keyboard, virtual knobs, virtual buttons, any virtual user interface (“UI”), and the like. A user may perform gestures at one or more particular locations on touch input component 110f, which may be associated with the graphical elements of GUI 180. In other embodiments, the user may perform gestures at one or more locations that are independent of the locations of graphical elements of GUI 180. Gestures performed on a touch input component 110 may directly or indirectly manipulate, control, modify, move, actuate, initiate, or generally affect graphical elements, such as cursors, icons, media files, lists, text, all or portions of images, or the like within the GUI. For instance, in the case of a touch screen, a user may directly interact with a graphical element by performing a gesture over the graphical element on the touch screen. Alternatively, a touch pad may generally provide indirect interaction. Gestures may also affect non-displayed GUI elements (e.g., causing user interfaces to appear) or may affect other actions of device 100 (e.g., affect a state or mode of a GUI, application, or operating system). Gestures may or may not be performed on a touch input component 110 in conjunction with a displayed cursor. For instance, in the case in which gestures are performed on a touchpad, a cursor or pointer may be displayed on a display screen or touch screen and the cursor or pointer may be controlled via touch input on the touchpad to interact with graphical objects on the display screen. Alternatively, when gestures are performed directly on a touch screen, a user may interact directly with objects on the touch screen, with or without a cursor or pointer being displayed on the touch screen. Feedback may be provided to the user via bus 118 in response to or based on the touch or near touches on a touch input component 110. Feedback may be transmitted optically, mechanically, electrically, olfactory, acoustically, or the like or any combination thereof and in a variable or non-variable manner.
Further Applications of Described ConceptsWhile there have been described systems, methods, and computer-readable media for securely conducting online payments, it is to be understood that many changes may be made therein without departing from the spirit and scope of the subject matter described herein in any way. Insubstantial changes from the claimed subject matter as viewed by a person with ordinary skill in the art, now known or later devised, are expressly contemplated as being equivalently within the scope of the claims. Therefore, obvious substitutions now or later known to one with ordinary skill in the art are defined to be within the scope of the defined elements.
Therefore, those skilled in the art will appreciate that the invention can be practiced by other than the described embodiments, which are presented for purposes of illustration rather than of limitation.
Claims
1. A method comprising:
- at an electronic device: generating first data that comprises payment card data; generating second data by encrypting the first data and merchant information with a first key; transmitting to a commercial entity subsystem the generated second data; receiving third data that comprises the first data encrypted with a second key that is associated with the merchant information; and transmitting the received third data to a merchant subsystem that is associated with the merchant information, wherein: the first key is not accessible to the merchant subsystem; and the second key is not accessible to the electronic device.
2. The method of claim 1, wherein the third data is not encrypted with the first key.
3. (canceled)
4. The method of claim 1, wherein:
- the generating the first data comprises generating the first data by encrypting the payment card data with a third key; and
- at least a portion of the third data is encrypted with the third key.
5. The method of claim 4, wherein the third key is not accessible to the merchant subsystem.
6. The method of claim 4, wherein the third key is not accessible to the commercial entity subsystem.
7. The method of claim 1, further comprising:
- at the electronic device: accessing an online resource of the merchant subsystem; and before the transmitting the generated second data, identifying the merchant information from the accessed online resource.
8. The method of claim 7, wherein the transmitting the received third data comprises transmitting, with the electronic device, the received third data to the merchant subsystem via the accessed online resource.
9. (canceled)
10. (canceled)
11. An electronic device comprising:
- a communication component;
- an application processor configured to access an online resource of a merchant server; and
- a secure element configured to store credential data, a credential key, and an access key, wherein: the secure element is configured to generate first data comprising the credential data encrypted with the credential key; the secure element is configured to generate second data comprising the first data encrypted with the access key; the application processor is configured to identify merchant information from the accessed online resource; and the communication component is configured to transmit to a commercial entity server the generated second data and the identified merchant information.
12. The electronic device of claim 11, wherein the access key is not accessible to the application processor.
13. The electronic device of claim 11, wherein the credential key is not accessible to the application processor.
14. The electronic device of claim 11, wherein the credential key is not accessible to the commercial entity server.
15. The electronic device of claim 11, wherein the communication component is configured to receive third data comprising the first data encrypted with a merchant key.
16. The electronic device of claim 15, wherein the merchant key is not accessible to the electronic device.
17. (canceled)
18. The electronic device of claim 15, wherein the communication component is configured to transmit the third data to the merchant server.
19. (canceled)
20. (canceled)
21. A method comprising:
- at a commercial entity subsystem: receiving first data from an electronic device, wherein the first data comprises credential information and merchant information indicative of a merchant subsystem; decrypting the first data using an access key; identifying a merchant key based on the merchant information from the first data; encrypting the credential information using the identified merchant key; and transmitting second data to at least one of the merchant subsystem and the electronic device, wherein the second data comprises the credential information encrypted with the identified merchant key.
22. The method of claim 21, further comprising the commercial entity subsystem sharing the access key with the electronic device.
23. (canceled)
24. (canceled)
25. The method of claim 21, wherein the identifying the merchant key comprises the commercial entity subsystem comparing the merchant information to a table of data that comprises a plurality of merchant keys.
26. The method of claim 25, wherein:
- at least a first merchant key of the plurality of merchant keys is associated with a first merchant;
- at least a second merchant key of the plurality of merchant keys is associated with a second merchant; and
- the first merchant is different than the second merchant.
27. The method of claim 21, wherein the merchant key is not accessible by the electronic device.
28. The method of claim 21, wherein the access key is not accessible by the merchant subsystem.
29-84. (canceled)
Type: Application
Filed: Sep 9, 2014
Publication Date: Apr 2, 2015
Inventors: Ahmer A. Khan (Cupertino, CA), Timothy S. Hurley (Cupertino, CA), Anton K. Diederich (Cupertino, CA), George R. Dicker (Sunnyvale, CA), Scott M. Herz (Cupertino, CA), Christopher Sharp (Cupertino, CA)
Application Number: 14/481,526
International Classification: G06Q 20/38 (20060101); G06Q 20/10 (20060101);