CROSS-REFERENCE TO RELATED APPLICATIONSThis 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.
BRIEF DESCRIPTION OF THE DRAWINGSThe discussion below makes reference to the following drawings, in which like reference characters may refer to like parts throughout, and in which:
FIG. 1 is a schematic view of an illustrative system for using a secure element of an electronic device for online payments;
FIG. 1A is another more detailed schematic view of the system ofFIG. 1;
FIG. 2 is a more detailed schematic view of the electronic device of the system ofFIGS. 1 and 1A;
FIG. 3 is another more detailed schematic view of the electronic device ofFIGS. 1-2;
FIG. 4 is a front view of the electronic device ofFIGS. 1-3;
FIGS. 5-13 are flowcharts of illustrative processes for conducting online payments; and
FIGS. 14A-14E are front views of screens of a graphical user interface of the electronic device ofFIGS. 1-4 illustrating processes for conducting online payments.
DETAILED DESCRIPTION OF THE DISCLOSUREA 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).
FIGS. 1 and 1A show asystem1 in which one or more credentials may be provisioned onto anelectronic device100 from afinancial institution subsystem350 in conjunction with acommercial entity subsystem400, and in which such credentials may be used byelectronic device100 for conducting an online financial transaction with amerchant subsystem200 and an associated acquiringbank subsystem300.FIGS. 2-4 show further details with respect to particular embodiments ofelectronic device100 ofsystem1,FIGS. 5-13 are flowcharts of illustrative processes for securely using a credential on an electronic device in an online financial transaction, whileFIGS. 14A-14Eshow example screens190a-190ethat may be representative of a graphical user interface ofelectronic device100 during such an online financial transaction.
Description of FIG.1FIG. 1 is a schematic view of anillustrative system1 that may allow for the secure use of a credential on an electronic device in an online financial transaction (e.g., an online payment). For example, as shown inFIG. 1,system1 may include an end-userelectronic device100 as well as acommercial entity subsystem400 and afinancial institution subsystem350 for securely provisioning one or more credentials onelectronic device100. Moreover, as shown inFIG. 1,system1 may also include amerchant subsystem200 for receiving contactless proximity-based communications (e.g., near field communications) and/or online-based communications670 (e.g., in-app network telecommunications) fromelectronic device100 for enabling payments based on such provisioned credentials between a user ofelectronic device100 and a merchant ofmerchant subsystem200.System1 may also include an acquiringbank subsystem300 that may utilize such contactless proximity-based communications and/or such online-basedcommunications670 for completing a financial transaction withfinancial institution subsystem350.
System1 may include acommunications path15 for enabling communication betweendevice100 andmerchant subsystem200, acommunications path25 for enabling communication betweenmerchant subsystem200 and acquiringbank subsystem300, acommunications path35 for enabling communication between acquiringbank subsystem300 andfinancial institution subsystem350, acommunications path45 for enabling communication between apayment network subsystem360 offinancial institution subsystem350 and an issuingbank subsystem370 offinancial institution subsystem350, acommunications path55 for enabling communication betweenfinancial institution subsystem350 andcommercial entity subsystem400, acommunications path65 for enabling communication betweencommercial entity subsystem400 andelectronic device100, acommunications path75 for enabling communication betweenfinancial institution subsystem350 andelectronic device100, and acommunications path85 for enabling communication betweencommercial entity subsystem400 andmerchant subsystem200. One or more ofpaths15,25,35,45,55,65,75, and85 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 ofpaths15,25,35,45,55,65,75, and85, which may be capable of providing communications using any suitable wired or wireless communications protocol. For example, one or more ofpaths15,25,35,45,55,65,75, and85 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 toFIG. 1A,FIG. 1A shows a more detailed view of thesystem1 described above with respect toFIG. 1. As shown inFIG. 1A, for example,electronic device100 may include aprocessor102, acommunications component106, and/or a near field communication (“NFC”)component120.NFC component120 may include a secure element that 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., credential applets and associated credential keys, such as acredential key155a′ and an access key155a, and/or an issuer security domain (“ISD”)key156k, as shown inFIG. 1A) 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). As described below in more detail, a credential applet ofNFC component120 may be configured to provide sufficient detail for identifying a funding account or other financial instrument or credit source, where such a credential applet may be used byelectronic device100 in one or more communications withmerchant subsystem200 for facilitating a financial transaction.NFC component120 may be configured to communicate such credential information as a contactless proximity-based communication (e.g., near field communication) with merchant subsystem200 (e.g., with a merchant terminal ofmerchant subsystem200, where the merchant terminal may be located at a brick and mortar store or any physical location at which a user ofelectronic device100 may use a credential stored onelectronic device100 to conduct a financial transaction with a proximately located merchant terminal via a contactless proximity-based communication). Alternatively or additionally,communications component106 may be provided to allowdevice100 to communicate any suitable data (e.g., credential information) with one or more other electronic devices or servers or subsystems (e.g., one or more subsystems or other components of system1) using any suitable wired or wireless protocol (e.g., via one or more ofcommunications paths15,65, and/or75).Processor102 ofelectronic device100 may include any processing circuitry that may be operative to control the operations and performance of one or more components ofelectronic device100. For example,processor102 may be configured to run one or more applications on device100 (e.g., online resource or merchant application113) that may at least partially dictate the way in which online-basedcommunications670 including credential information ofNFC component120 may be communicated betweencommunications component106 ofdevice100 and amerchant server210 of merchant subsystem200 (e.g., to conduct a financial transaction with a remote merchant server ofmerchant subsystem200 over the internet or any other suitable network that may be provided by communications path15).
Merchant server210 ofmerchant subsystem200 ofFIG. 2 may include any suitable component or subsystem configured to receive an online-basedcommunication670 fromcommunications component106 ofelectronic device100 via acommunication path15 betweendevice100 andserver210. Such an online-basedcommunication670 may be configured to communicate commerce credential data from a secure element ofNFC component120 of device100 (e.g., credit card credential information from an enabled applet of a credential supplemental security domain (“SSD”), as described in more detail below) toserver210 via any suitable communications protocol supported bycommunications component106 of device100 (e.g., Wi-Fi, Bluetooth™, cellular, wired network protocols, etc.). Online-basedcommunication670 may be provided within any suitable online-context, such as when a user ofdevice100 is communicating withmerchant server210 to conduct a financial transaction via athird party application113 running ondevice100 that may be managed bymerchant server210 or via an internet application or web browser (e.g., Safari™ by Apple Inc.) running ondevice100 that may be pointed to a uniform resource locator (“URL”) whose target or web resource may be managed bymerchant server210. Accordingly, it is noted that online-basedcommunication670 betweenmerchant server210 andelectronic device100 may occur wirelessly and/or via wired paths (e.g., over the internet).Merchant server210 may be provided by a merchant of merchant subsystem200 (e.g., as a webserver to host website data and/or manage third party application data). Although not shown,merchant subsystem200 may also include a merchant processor component that may be the same as or similar to aprocessor component102 ofelectronic device100, a merchant communications component that may be the same as or similar to acommunications component106 ofelectronic device100, a merchant I/O interface that may be the same as or similar to an I/O interface114 ofelectronic device100, a merchant bus that may be the same as or similar to abus118 ofelectronic device100, a merchant memory component that may be the same as or similar to a memory component104 ofelectronic device100, and/or a merchant power supply component that may be the same as or similar to apower supply component108 ofelectronic device100.
Financial institution subsystem350 may include a payment network subsystem360 (e.g., a payment card association or a credit card association) and/or an issuingbank subsystem370. For example, issuingbank subsystem370 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 ofNFC component120 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 device100 (e.g., as a credential of a credential supplemental security domain ofNFC component120, as described below) by issuingbank subsystem370 for use in a commerce credential data communication (e.g., a contactless proximity-based communication and/or an online-based communication670) withmerchant subsystem200. Each credential may be a specific brand of payment card that may be branded by apayment network subsystem360.Payment network subsystem360 may be a network of various issuingbanks370 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 withinsystem1, at least one commerce credential must be securely provisioned on a secure element ofNFC component120 ofelectronic device100. For example, such a commerce credential may be at least partially provisioned on a secure element ofNFC component120 ofelectronic device100 directly from financial institution subsystem350 (e.g., ascredential data654 via acommunication path75 betweenfinancial institution subsystem350 anddevice100, which may be passed toNFC component120 via communications component106). Additionally or alternatively, such a commerce credential may be at least partially provisioned on a secure element ofNFC component120 ofelectronic device100 fromfinancial institution subsystem350 via commercial entity subsystem400 (e.g., ascredential data654 via acommunication path55 betweenfinancial institution subsystem350 andcommercial entity subsystem400, which may be passed todevice100 ascredential data654 via acommunication path65 between aserver410 ofcommercial entity subsystem400 andcommunications component106 ofdevice100, which may then be passed toNFC component120 from communications component106).Credential data654 viapath75 and/or viapath65 may be provisioned on a secure element ofdevice100 as at least a portion or all of a credential supplemental security domain ofNFC component120 and may include a credential applet and/or a credential key, such ascredential key155a′. As shown inFIG. 1A, for example,financial institution subsystem350 may also have access tocredential key155a′ (e.g., for decrypting data encrypted bydevice100 usingcredential key155a′).Financial institution subsystem350 may be responsible for management ofcredential key155a′, which may include the generation, exchange, storage, use, and replacement of such a key.Financial institution subsystem350 may store its version ofcredential key155a′ in a secure element offinancial institution subsystem350.
Commercial entity subsystem400 may be provided as an intermediary betweenelectronic device100 andfinancial institution subsystem350, wherecommercial entity subsystem400 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 ofdevice100 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 communication670) betweendevice100 andmerchant subsystem200.Commercial entity subsystem400 may be provided by a specific commercial entity that may offer various services to a user ofdevice100 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 subsystem400 may be provided by Apple Inc. of Cupertino, Calif., which may also be a provider of various services to users of device100 (e.g., the iTunes™ Store for selling/renting media to be played bydevice100, the Apple App Store™ for selling/renting applications for use ondevice100, the Apple iCloud™ Service for storing data fromdevice100, the Apple Online Store for buying various Apple products online, etc.), and which may also be a provider, manufacturer, and/or developer ofdevice100 itself (e.g., whendevice100 is an iPod™, iPad™, iPhone™, or the like) and/or of an operating system (e.g., device application103) ofdevice100. The commercial entity that may provide commercial entity subsystem400 (e.g., Apple Inc.) may be distinct and independent from any financial entity offinancial institution subsystem350. For example, the commercial entity that may providecommercial entity subsystem400 may be distinct and independent from anypayment network subsystem360 or issuingbank subsystem370 that may furnish and manage any credit card or other commerce credential to be provisioned onuser device100. Additionally or alternatively, the commercial entity that may provide commercial entity subsystem400 (e.g., Apple Inc.) may be distinct and independent from any merchant ofmerchant subsystem200. For example, the commercial entity that may providecommercial entity subsystem400 may be distinct and independent from any merchant ofmerchant subsystem200 that may provide a merchant terminal for NFC communications, athird party application113, and/or any other aspect ofmerchant subsystem200. Such a commercial entity may leverage its potential ability to configure or control various components of device100 (e.g., software and/or hardware components ofdevice100 when that commercial entity at least partially produces or manages device100) in order to provide a more seamless user experience for a user ofdevice100 when he or she wants to provision a credential offered byfinancial institution subsystem350 onuser device100 and/or when such a provisioned credential is being used as part of a commerce credential data communication with merchant subsystem200 (e.g., as part of an online-based communication670). For example, in some embodiments,device100 may be configured to communicate withcommercial entity subsystem400 seamlessly and transparently to a user of device100 (e.g., via communications path65) for sharing or receiving certain data that may enable a higher level of security (e.g., during an online-based commerce credential data communication betweendevice100 and merchant subsystem200).
In addition to at least one commerce credential being provisioned on a secure element ofNFC component120 of electronic device100 (e.g., as a portion of a credential SSD withcredential key155a′), at least one access SSD with anaccess key155bmay also be provisioned on the secure element ofNFC component120 ofdevice100 in order to more securely enabledevice100 to conduct a financial transaction withmerchant subsystem200. For example, an access SSD may be at least partially provisioned on a secure element ofNFC component120 ofelectronic device100 directly from commercial entity subsystem400 (e.g., asaccess data652 viacommunication path65 betweenserver410 ofcommercial entity subsystem400 andcommunications component106 ofdevice100, which may then be passed toNFC component120 from communications component106).Access data652 viapath65 may be provisioned on a secure element ofdevice100 as at least a portion or all of an access SSD and may include an access applet and/or access key155b. As shown inFIG. 1A,commercial entity subsystem400 may also have access to access key155b(e.g., for decrypting data encrypted bydevice100 usingaccess key155b).Commercial entity subsystem400 may be responsible for management of access key155b, which may include the generation, exchange, storage, use, and replacement of such a key.Commercial entity subsystem400 may store its version of access key155bin a secure element ofcommercial entity subsystem400. An access SSD ofNFC component120 with access key155bmay be configured to determine intent and local authentication of a user of device100 (e.g., via one ormore input components110 ofdevice100, 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 a credential SSD of NFC component120). By storing such an access SSD within a secure element ofdevice100, its ability to reliably determine user intent for and authentication of a financial transaction may be increased. Moreover, as described in more detail below,access key155bof such an access SSD ofNFC component120 may be leveraged to provide increased encryption to financial transaction data that may be communicated outside of the secure element ofdevice100. Additionally or alternatively, as described below,access data652 may include an issuer security domain (“ISD”)key156kfor an ISD of the secure element ofelectronic device100, which may also be maintained bycommercial entity subsystem400, and may be used in addition to or as an alternative to access key155bas described below.
As mentioned, in addition to at least one credential SSD and at least one access SSD being provisioned on a secure element ofelectronic device100, at least one third party application (e.g., application113) may be accessed bydevice100 in order to enable a commerce credential data communication (e.g., an online-based communication670) betweendevice100 andmerchant subsystem200. First, such anapplication113 may be approved or otherwise enabled bycommercial entity subsystem400 beforeapplication113 may be accessible bydevice100. For example, anapplication store420 of commercial entity subsystem400 (e.g., the Apple App Store™) may receive at least some date representative ofapplication113 frommerchant subsystem200 viacommunication path85. Moreover, in some embodiments,commercial entity subsystem400 may generate or otherwise assign amerchant key157 forapplication113 and provide such amerchant key157 to merchant subsystem200 (e.g., via path85). Alternatively,merchant subsystem200 may generate or otherwise assign amerchant key157 forapplication113 and provide such amerchant key157 to commercial entity subsystem400 (e.g., via path85). Eithermerchant subsystem200 orcommercial entity subsystem400 may be responsible for management ofmerchant key157, which may include the generation, exchange, storage, use, and replacement of such a key. No matter how or where such amerchant key157 is generated and managed, bothmerchant subsystem200 andcommercial entity subsystem400 may store a version of merchant key157 (e.g., in a respective secure element ofmerchant subsystem200 and commercial entity subsystem400). In some embodiments, such amerchant key157 may be specifically associated withmerchant application113, while, in other embodiments,merchant key157 may be specifically associated with a merchant ofmerchant subsystem200 such thatmerchant key157 may be associated with multiple third party applications operated by the same merchant ofmerchant subsystem200. A table430 or any other suitable data structure or source of information accessible tocommercial entity subsystem400 may be provided for associating aparticular merchant key157 with aparticular merchant application113 or merchant entity. Table430 may enablecommercial entity subsystem400 to determine and utilize anappropriate merchant key157 for providing a layer of security to a commerce credential data communication (e.g., an online-based communication670) betweendevice100 and merchant subsystem200 (e.g., when a user ofdevice100 is communicating withmerchant server210 to conduct a financial transaction via athird party application113 associated with that merchant key157), as described in more detail below.Device100 may be configured to access application113 (e.g., fromapplication store420 via communication path65) and run application113 (e.g., with processor102). Alternatively or additionally, amerchant key157 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., application113). For example, a merchant ofmerchant subsystem200 may work withcommercial entity subsystem400 to associate a particular merchant website with aparticular merchant key157 within table430, which may enablecommercial entity subsystem400 to determine and utilize anappropriate merchant key157 for providing a layer of security to a commerce credential data communication (e.g., an online-based communication670) betweendevice100 and merchant subsystem200 (e.g., when a user ofdevice100 is communicating withmerchant server210 to conduct a financial transaction via an internet application or web browser running ondevice100 that may be pointed to a URL whose target or web resource may be associated with that merchant key157).Device100 may be configured to access such a URL, for example, frommerchant server210 viacommunication path15 using an internet application ondevice100.
Description of FIG.2Referring now toFIG. 2,FIG. 2 shows a more detailed view ofelectronic device100 ofsystem1 described above with respect toFIGS. 1 and 1A. As shown inFIG. 2, for example,electronic device100 may include aprocessor102, memory104,communications component106,power supply108,input component110, output component112, antenna116, and near field communication (“NFC”)component120.Electronic device100 may also include abus118 that may provide one or more wired or wireless communication links or paths for transferring data and/or power to, from, or between various other components ofdevice100.Electronic device100 may also be provided with a housing101 that may at least partially enclose one or more of the components ofdevice100 for protection from debris and other degrading forces external todevice100. In some embodiments, one or more components ofelectronic device100 may be combined or omitted. Moreover,electronic device100 may include other components not combined or included inFIG. 2. For example,electronic device100 may include any other suitable components or several instances of the components shown inFIG. 2. For the sake of simplicity, only one of each of the components is shown inFIG. 2. One ormore input components110 may be provided to permit a user to interact or interface withdevice100 and/or one or more output components112 may be provided to present information (e.g., graphical, audible, and/or tactile information) to a user ofdevice100. 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 interface114 (e.g.,input component110 and output component112 as I/O component or I/O interface114). For example,input component110 and output component112 may sometimes be a single I/O component114, 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.Processor102 ofelectronic device100 may include any processing circuitry that may be operative to control the operations and performance of one or more components ofelectronic device100. For example,processor102 may receive input signals frominput component110 and/or drive output signals through output component112. As shown inFIG. 2,processor102 may be used to run one or more applications, such as anapplication103 and/or anapplication113. As one example,application103 may be an operating system application whileapplication113 may be a third party application (e.g., an application associated with a merchant of merchant subsystem200).
NFC component120 may be any suitable proximity-based communication mechanism that may enable contactless proximity-based transactions or communications betweenelectronic device100 and a merchant terminal (e.g., a merchant payment terminal) ofmerchant subsystem200.NFC component120 may include any suitable modules for enabling contactless proximity-based communication betweenelectronic device100 and such a merchant terminal. As shown inFIG. 2, for example,NFC component120 may include anNFC device module130, anNFC controller module140, and/or anNFC memory module150.NFC device module130 may include anNFC data module132, an NFC antenna134, and an NFC booster136.NFC data module132 may be configured to contain, route, or otherwise provide any suitable data that may be transmitted byNFC component120 to a merchant terminal as part of a contactless proximity-based or NFC communication. Additionally or alternatively,NFC data module132 may be configured to contain, route, or otherwise receive any suitable data that may be received byNFC component120 from a merchant terminal as part of a contactless proximity-based communication.NFC controller module140 may include at least oneNFC processor module142.NFC processor module142 may operate in conjunction withNFC device module130 to enable, activate, allow, and/or otherwise controlNFC component120 for communicating an NFC communication betweenelectronic device100 and a merchant terminal.NFC controller module140 may include at least oneNFC processor module142 that may be used to run one or more applications, such as an NFC low power mode orwallet application143 that may help dictate the function ofNFC component120.NFC memory module150 may operate in conjunction withNFC device module130 and/orNFC controller module140 to allow for NFC communications betweenelectronic device100 andmerchant subsystem200.NFC memory module150 may be tamper resistant and may provide at least a portion of a secure element145 (see, e.g.,FIG. 3). For example, such a secure element 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., applets153 and keys155) 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).
As shown inFIG. 2, for example,NFC memory module150 may include one or more of an issuer security domain (“ISD”)152 and a supplemental security domain (“SSD”)154 (e.g., a service provider security domain (“SPSD”), a trusted service manager security domain (“TSMSD”), etc.), which may be defined and managed by an NFC specification standard (e.g., GlobalPlatform). For example,ISD152 may be a portion ofNFC memory module150 in which a trusted service manager (“TSM”) or issuing financial institution (e.g., financial institution subsystem350) may store keys and/or other suitable information for creating or otherwise provisioning one or more credentials (e.g., credentials associated with various credit cards, bank cards, gift cards, access cards, transit passes, etc.) on electronic device100 (e.g., via communications component106), for credential content management, and/or security domain management. A credential may include credential data that may be assigned to a user/consumer and that may be stored securely onelectronic device100, such as a credit card payment number.NFC memory module150 may include at least two SSDs154 (e.g., at least afirst SSD154aand asecond SSD154b). For example,first SSD154a(e.g., acredential SSD154a) may be associated with a specific credential (e.g., a specific credit card credential or a specific public transit card credential provisioned by financial institution subsystem350) that may provide specific privileges or payment rights toelectronic device100, whilesecond SSD154b(e.g., anaccess SSD154b) may be associated with a commercial entity (e.g., commercial entity ofcommercial entity subsystem400, which may be a controlling entity for device100) that may control access ofdevice100 to a specific credential of another SSD (e.g.,first SSD154a), for example, to provide specific privileges or payment rights toelectronic device100. Alternatively, each one offirst SSD154aandsecond SSD154bmay be associated with a respective specific credential (e.g., a specific credit card credential or a specific public transit card credential provisioned by financial institution subsystem350) that may provide specific privileges or payment rights toelectronic device100. Each SSD154 may include and/or be associated with at least one applet153 (e.g.,SSD154awithapplet153aandSSD154bwithapplet153b). For example, an applet153 of an SSD154 may be an application that may run on a secure element of NFC component120 (e.g., in a GlobalPlatform environment). Each applet153 may also include and/or be associated with at least one of its own keys155 (e.g.,applet153awith at least one key155aandapplet153bwith at least one key155b).
A key155 of an SSD154 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 ofdevice100 by a TSM or an authorized agent or pre-loaded on the secure element when first provided ondevice100. As one example, whilecredential SSD154amay be associated with a particular credit card credential, that particular credential may only be communicated as a commerce credential data communication to merchant subsystem200 (e.g., as a contactless proximity-based communication to a merchant terminal and/or as an online-basedcommunication670 to a merchant server210) from a secure element of device100 (e.g., from NFC component120) for a financial transaction whenapplet153aof thatcredential SSD154ahas been enabled or otherwise activated or unlocked for such use.
Security features may be provided for enabling use ofNFC component120 that may be particularly useful when transmitting confidential payment information, such as credit card information or bank account information of a credential, fromelectronic device100 tomerchant subsystem200. 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, anaccess SSD154bmay leverageapplet153bto determine whether such authentication has occurred before allowing other SSDs154 (e.g., acredential SSD154a) to be used for communicating its credential information. In certain embodiments, some or all of the security features may be stored withinNFC memory module150. Further, security information, such as an authentication key, for communicating commerce credential data withmerchant subsystem200 may be stored withinNFC memory module150. In certain embodiments,NFC memory module150 may include a microcontroller embedded withinelectronic device100. As just one example,applet153bofaccess SSD154bmay be configured to determine intent and local authentication of a user of device100 (e.g., via one ormore input components110, 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 ofcredential SSD154a).
Description of FIG.3Referring now toFIG. 3,FIG. 3 shows another detailed view of a portion ofelectronic device100 ofsystem1 described above with respect toFIGS. 1-2. As shown inFIG. 3, for example, asecure element145 ofNFC component120 may includeSSD154a, which may include or be associated withapplet153a, which may include an access key155aand/or acredential key155a′, andSSD154b, which may include or be associated withapplet153b, which may include anaccess key155band/or acredential key155b′. In some embodiments, a specific supplemental security domain (“SSD”)154 (e.g., one ofSSDs154aand154b) may be associated with a particular TSM and at least one specific commerce credential (e.g., a specific credit card credential or a specific public transit card credential) that may provide specific privileges or payment rights toelectronic device100. Each SSD154 may have its own manager key155 (e.g., a respective one of keys155akand155bk) that may need to be activated to enable a function of that SSD154 for use byNFC device module130. Additionally or alternatively, each SSD154 may include and/or be associated with at least one of its own credential applications or credential applets (e.g., a Java card applet instances) associated with a particular commerce credential (e.g.,credential applet153aofSSD154amay be associated with a first commerce credential andcredential applet153bofSSD154bmay be associated with a second commerce credential), where a credential applet may have its own access key (e.g., access key155aforcredential applet153aand access key155bforcredential applet153b) and/or its own credential key (e.g.,credential key155a′ forcredential applet153aandcredential key155b′ forcredential applet153b), and where a credential applet may need to be activated to enable its associated commerce credential for use byNFC device module130 as an NFC communication and/or as an online-basedcommunications670 betweenelectronic device100 andmerchant subsystem200. In some embodiments, a credential key of a credential applet (e.g.,credential key155a′ forcredential applet153aand/orcredential key155b′ forcredential applet153b) may be generated byfinancial institution subsystem350 that may be responsible for such a credential and may be accessible by that financial institution subsystem350 (e.g., as shown inFIG. 1A) for enabling secure transmission of that credential applet betweensecure element145 andfinancial institution subsystem350. Additionally or alternatively, an access key of a credential applet (e.g., access key155aforcredential applet153aand/or access key155bforcredential applet153b) may be generated bycommercial entity subsystem400 and may be accessible by commercial entity subsystem400 (e.g., as shown inFIG. 1A) for enabling secure transmission of that credential applet betweensecure element145 andcommercial entity subsystem400.
Additionally or alternatively, as shown inFIG. 3,secure element145 may includeISD152, which may include an ISD key156kthat may also be known to a trusted service manager associated with that security domain (e.g.,commercial entity subsystem400, as shown inFIG. 1A). ISD key156kmay be leveraged bycommercial entity subsystem400 andelectronic device100 similarly to and/or instead of access key155aand/or access key155bfor enabling secure transmissions betweencommercial entity subsystem400 andsecure element145 ofelectronic device100. Moreover, as shown inFIG. 3, and as described below in more detail, various data may be communicated betweenprocessor102 andsecure element145. For example,processor102 ofdevice100 may be configured to run adevice application103 that may communicate information with amerchant application113 ofprocessor102 as well assecure element145, an I/O component114a(e.g., for receiving I/O input data115iand/or for transmitting I/O output data115o), and/orcommunications component106.
Additionally or alternatively, as shown inFIG. 3,secure element145 may include a controlling authority security domain (“CASD”)158, which may be a special purpose security domain that may be configured to serve as a third-party on-element root of trust. An associated application ofCASD158 may be configured to provide on-element confidential key generation as a global service to other applications and/or to a specific management layer (e.g., a GlobalPlatform management layer). Confidential key material that may be used withinCASD158 may be configured such that it cannot be inspected or modified by any entity, including an issuer ofsecure element145.CASD158 may be configured to include and/or may be configured to generate and/or otherwise includeCASD access kit158k(e.g., a CASD private key (“CASD-SK”), a CASD public key (“CASD-PK”), a CASD certificate (“CASD-Cert.”), and/or a CASD-signing module). For example,CASD158 may be configured to sign certain data on secure element145 (e.g., usingCASD access kit158k) before providing such data to another portion of device100 (e.g.,communications component106 for sharing with other subsystems of system1). As an example,CASD158 may be configured to sign any data that is provided bysecure element145 such that other subsystems (e.g., commercial entity subsystem400) may be able to confirm that such signed data was signed by secure element145 (e.g., using an associatedCASD kit158kat commercial entity subsystem400).
Additionally or alternatively, as shown inFIG. 3,secure element145 may include a contactless registry services (“CRS”) applet orapplication151 that may be configured to provide local functionality toelectronic device100 for modifying a life cycle state (e.g., activated, deactivated, locked, etc.) of certain security domain elements and sharing certain output information115oabout certain security domain elements in certain life cycle states with a user of device100 (e.g., via a user I/O interface114a). Additionally or alternatively,CRS151 may include a CRS access key151kthat may also be known to a trusted service manager associated with CRS151 (e.g.,commercial entity subsystem400, as shown inFIG. 1A). CRS access key151kmay be leveraged bycommercial entity subsystem400 andelectronic device100 similarly to and/or instead of access key155aand/or access key155bfor enabling secure transmissions betweencommercial entity subsystem400 andsecure element145 ofelectronic device100.
Description of FIG.4As shown inFIG. 4, and as described below in more detail, a specific example ofelectronic device100 may be a handheld electronic device, such as an iPhone™, where housing101 may allow access tovarious input components110a-110i, various output components112a-112c, and various I/O components114a-114dthrough whichdevice100 and a user and/or an ambient environment may interface with each other. For example, a touch screen I/O component114amay include a display output component112aand an associated touch input component110f, where display output component112amay be used to display a visual or graphic user interface (“GUI”)180, which may allow a user to interact withelectronic device100. GUI180 may include various layers, windows, screens, templates, elements, menus, and/or other components of a currently running application (e.g.,application103 and/orapplication113 and/or application143) that may be displayed in all or some of the areas of display output component112a. For example, as shown inFIG. 4, GUI180 may be configured to display afirst screen190 with one or more graphical elements oricons182 of GUI180. When aspecific icon182 is selected,device100 may be configured to open a new application associated with thaticon182 and display a corresponding screen of GUI180 associated with that application. For example, when thespecific icon182 labeled with a “Merchant App” textual indicator181 (i.e., specific icon183) is selected,device100 may launch or otherwise access a specific third party merchant application and may display screens of a specific user interface that may include one or more tools or features for interacting withdevice100 in a specific manner (see, e.g.,FIGS. 14A-14E for specific examples of such displays of GUI180 during use of a merchant application (e.g., application113) that may be used by a user ofdevice100 for making an online payment with a credential of NFC component120 (e.g., a credential ofcredential SSD154a)). For each application, screens may be displayed on display output component112aand may include various user interface elements. Additionally or alternatively, for each application, various other types of non-visual information may be provided to a user via various other output components112 ofdevice100.
Description of FIG.5, FIG.6, FIG.7, and FIGS.14A-14ETo facilitate the following discussion regarding the operation ofsystem1 for securely conducting online payments betweendevice100 and merchant subsystem200 (e.g., when a credential of a secure element ofdevice100 is being used as part of an online-basedcommunication670 betweendevice100 and merchant subsystem200), reference is made to one or more processes of one or more flowcharts ofFIGS. 5-7, to various components ofsystem1 of the schematic diagrams ofFIGS. 1-4, and to front views of screens190-190ethat may be representative of a graphical user interface ofelectronic device100 during such a payment (e.g., as shown in FIGS.4 and14A-14E). The operation described may be achieved with a wide variety of graphical elements and visual schemes. Therefore, the embodiments of FIGS.4 and14A-14E are not intended to be limited to the precise user interface conventions adopted herein. Rather, embodiments may include a wide variety of user interface styles.
FIG. 5 is a flowchart of an illustrative process500 for securely conducting online payments. Process500 is shown being implemented byelectronic device100,merchant subsystem200, acquiringbank subsystem300,commercial entity subsystem400, andfinancial institution subsystem350. However, it is to be understood that process500 may be implemented using any other suitable components or subsystems. Process500 may provide a seamless user experience for securely conducting online payments withmerchant subsystem200 ondevice100. Process500 may begin atstep502, whereelectronic device100 may encrypt payment card data with a commercial entity key. For example,secure element145 may encrypt payment card credential data fromSSD154a(e.g.,applet153adata) with access key155a,access key155b,CRS151k, and/or ISD key156kofsecure element145 that may be accessible tocommercial entity subsystem400. Alternatively or additionally,secure element145 may sign payment card credential data fromSSD154awithCASD158kthat may be accessible tocommercial entity subsystem400 atstep502. Next, atstep504, process500 may includeelectronic device100 communicating the encrypted payment card data ofstep502 tocommercial entity subsystem400. For example, such encrypted payment card data may be transmitted fromcommunications component106 ofelectronic device100 toserver410 ofcommercial entity subsystem400 viacommunications path65 using any suitable communications protocol. Next, atstep506, process500 may includecommercial entity subsystem400 decrypting the communicated encrypted payment card data ofstep504 with a commercial entity key and then re-encrypting that decrypted payment card data with a merchant key. For example,server410 ofcommercial entity subsystem400 may receive the encrypted payment card data fromelectronic device100, decrypt that encrypted payment card data with access key155a,access key155b,CRS151k, and/or ISD key156kofcommercial entity subsystem400 and/or unsign the payment card data withCASD158kofcommercial entity subsystem400, and re-encrypt that decrypted/unsigned payment card data withmerchant key157 ofcommercial entity subsystem400. By communicating the payment card data betweenelectronic device100 andcommercial entity subsystem400 in an encrypted form that has been encrypted using a commercial entity key known to bothelectronic device100 and commercial entity subsystem400 (e.g., access key155a,access key155b,CRS151k, and/or ISD key156k), process500 may prohibit the communication of such encrypted payment card data from being intercepted and decrypted by an entity that does not have access to the commercial entity key.
Next, atstep508, process500 may includecommercial entity subsystem400 communicating the re-encrypted payment card data ofstep506 toelectronic device100. For example, such re-encrypted payment card data may be transmitted fromcommercial entity subsystem400 tocommunications component106 ofelectronic device100 viacommunications path65 using any suitable communications protocol. Next, atstep510, process500 may includeelectronic device100 communicating the communicated re-encrypted payment card data ofstep508 tomerchant subsystem200. For example, such re-encrypted payment card data may be transmitted fromcommunications component106 ofelectronic device100 toserver210 ofmerchant subsystem200 viacommunications path15 using any suitable communications protocol. By communicating the payment card data fromcommercial entity subsystem400 toelectronic device100 and then tomerchant subsystem200 in a re-encrypted form that has been re-encrypted using a merchant key known to bothcommercial entity subsystem400 and merchant subsystem200 (e.g., merchant key157), process500 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 device100). In some embodiments, the data communicated fromelectronic device100 tocommercial entity subsystem400 atstep504 may include a merchant identifier that may be indicative of a merchant subsystem with whichelectronic device100 is attempting to conduct a financial transaction (e.g., via anonline resource113 associated with merchant subsystem200). Such a merchant identifier may be received and utilized bycommercial entity subsystem400 atstep506 to identify a particular one of many merchant keys accessible bycommercial entity subsystem400 to use for the re-encryption of the payment card data at step506 (e.g., through leveraging table430 of commercial entity subsystem400).
After the re-encrypted payment card data communicated fromelectronic device100 atstep510 has been received bymerchant subsystem200, process500 may includemerchant subsystem200 utilizing that re-encrypted payment card data to execute a financial transaction with acquiringbank300 and/orfinancial institution subsystem350 atstep512. For example,merchant subsystem200 may decrypt the re-encrypted payment card data with a merchant key accessible to merchant subsystem200 (e.g., merchant key157) and may then forward that payment card data to acquiringbank300 and/or financial institution subsystem350 (e.g., viacommunications path25 and/or communications path35) such that a funding account associated with that payment card data may be identified and used by acquiringbank300 and/orfinancial institution subsystem350 to fund a financial transaction. Next, after such a transaction has been executed atstep512, process500 may includemerchant subsystem200 confirming that execution toelectronic device100 atstep514. For example,merchant subsystem200 may communicate any suitable confirmation information toelectronic device100 viacommunications path15.
In some embodiments, the payment card data encrypted byelectronic device100 atstep502 may first be encrypted by a credential key (e.g.,credential key155a′ of secure element145). Such a credential key may not be accessible bycommercial entity subsystem400, such that the payment card data of not only the decrypted payment card data ofstep506 but also the re-encrypted payment card data ofsteps508 and510 may remain encrypted by that credential key. Acquiringbank300 and/orfinancial institution subsystem350 may have access to such a credential key (e.g.,credential key155a′ of financial institution subsystem350), such that when the payment card data is forwarded to acquiringbank300 and/orfinancial institution subsystem350 bymerchant subsystem200 atstep512, acquiringbank300 and/orfinancial institution subsystem350 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, process500 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 process500 ofFIG. 5 are merely illustrative and that existing steps may be modified or omitted, additional steps may be added, and the order of certain steps may be altered.
FIG. 6 is a flowchart of an illustrative process600 for securely conducting online payments. Process600 is shown being implemented byelectronic device100,merchant subsystem200, acquiringbank subsystem300,commercial entity subsystem400, andfinancial institution subsystem350. However, it is to be understood that process600 may be implemented using any other suitable components or subsystems. Process600 may provide a seamless user experience for securely conducting online payments withmerchant subsystem200 ondevice100. Process600 may begin atstep602, where access data652 (e.g.,access data652 ofFIG. 1A) may be provisioned on a secure element ofelectronic device100 bycommercial entity subsystem400. For example, at least one access SSD (e.g.,SSD154b) may be provisioned on a secure element (e.g., NFC component120) ofdevice100 asaccess data652 fromserver410 ofcommercial entity subsystem400 in order to more securely enabledevice100 to conduct a financial transaction withmerchant subsystem200. As mentioned,access SSD154bmay be at least partially provisioned on a secure element ofNFC component120 ofelectronic device100 directly from commercial entity subsystem400 (e.g., asaccess data652 viacommunication path65 betweenserver410 ofcommercial entity subsystem400 andcommunications component106 ofdevice100, which may then be passed toNFC component120 from communications component106 (e.g., via bus118)).Access data652 viapath65 may be provisioned on a secure element ofdevice100 as at least a portion or all of anaccess SSD154band may includeaccess applet153band/or access key155b. Step602 may be at least partially carried out whendevice100 is initially configured (e.g., bycommercial entity subsystem400 beforedevice100 is sold to a user). Alternatively, step602 may be at least partially carried out in response to a user ofdevice100 initially setting upNFC component120. Additionally or alternatively,access data652 may include ISD key156kforISD152 of the secure element ofelectronic device100 and may be used in addition to or as an alternative to access key155bfor enabling secure transmissions betweencommercial entity subsystem400 andelectronic device100. Additionally or alternatively,access data652 may includeCRS151kofCRS151 and/orCASD158kofCASD158 ofsecure element145 ofelectronic device100 and may be used in addition to or as an alternative to access key155band/or access key155aand/or ISD key156kfor enabling secure transmissions betweencommercial entity subsystem400 andelectronic device100.
Atstep604, process600 may include provisioning credential data654 (e.g.,credential data654 ofFIG. 1A) on a secure element ofelectronic device100 byfinancial institution subsystem350, in some embodiments, viacommercial entity subsystem400. For example,such credential data654 may be at least partially provisioned on a secure element ofNFC component120 ofelectronic device100 directly from financial institution subsystem350 (e.g., viacommunication path75 ofFIG. 1A betweenfinancial institution subsystem350 anddevice100, which may be passed toNFC component120 via communications component106). Additionally or alternatively,such credential data654 may be at least partially provisioned on a secure element ofNFC component120 ofelectronic device100 fromfinancial institution subsystem350 via commercial entity subsystem400 (e.g., viacommunication path55 ofFIG. 1A betweenfinancial institution subsystem350 andcommercial entity subsystem400, which may be passed todevice100 ascredential data654 viacommunication path65 ofFIG. 1A betweenserver410 ofcommercial entity subsystem400 andcommunications component106 ofdevice100, which may then be passed toNFC component120 from communications component106 (e.g., via bus118)).Credential data654 viapath75 and/or viapath65 may be provisioned on a secure element ofdevice100 as at least a portion or all ofcredential SSD154aand may includecredential applet153aand/orcredential key155a′. Step604 may be at least partially carried out when a user ofdevice100 selects a particular credential to be provisioned ondevice100. In some embodiments,credential data654 may also include access key155a, which may be initially provided fromcommercial entity subsystem400 tofinancial institution subsystem350 and/or may be added bycommercial entity subsystem400.
The credential data provisioned ondevice100 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 ondevice100 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 ondevice100, it may be requested (e.g., byfinancial institution subsystem350, bycommercial entity subsystem400, and/or by a user of device100) that a virtual credential be generated, linked to the actual credential, and provisioned ondevice100 instead of the actual credential. Such creation and linking of a virtual credential with an actual credential may be performed by any suitable component offinancial institution subsystem350. For example, a payment network subsystem360 (e.g., a particularpayment network subsystem360 that may be associated with the brand of the actual credential) may define and store a virtual-linking table312 (e.g., as shown inFIG. 1A) that may create associations between the actual credential and a virtual credential, such that anytime a virtual credential is utilized bydevice100 for a financial transaction with merchant subsystem200 (e.g., after being provisioned on device100),payment network subsystem360 may receive an authorization request indicative of that virtual credential (e.g., asdata674 ofFIG. 1A) and may conduct an analysis of that authorization request in light of the actual credential associated with the virtual credential as determined by table312. By provisioning a virtual credential ondevice100 rather than an actual credential,financial institution subsystem350 may be configured to limit the fraudulent activity that may result when the virtual credential is intercepted by an unauthorized user, aspayment network subsystem360 may only be configured to utilize table312 for linking the virtual credential to the actual credential during certain transactions.
Atstep606, process600 may include associating a merchant's online resource, such as amerchant application113 or a merchant website, with amerchant key157. For example,commercial entity subsystem400 may populate a table430 to associate amerchant key157 with a merchant's resource (e.g.,application113 or website) for enabling a secure commerce credential data communication (e.g., an online-basedcommunication670 ofFIG. 1A) betweendevice100 andmerchant subsystem200 using that merchant resource. Bothmerchant subsystem200 andcommercial entity subsystem400 may store a version of such a merchant key157 (e.g., in a respective secure element ofmerchant subsystem200 andcommercial entity subsystem400, as shown inFIG. 1A). In some embodiments, in order to participate in an online-resource payment program, a merchant may be required to register as a member of a program run by the commercial entity ofcommercial entity subsystem400 and/or obtain a merchant certificate. Merchants may not be able to receive payment data without a certificate. Each certificate may contain a unique merchant identifier that may bind the merchant to the public key for that merchant (e.g., a public merchant key157). A merchant may obtain multiple certificates, and thus may hold more than one identity. Such a unique merchant identifier may be provided bymerchant subsystem200 to device100 (e.g., atstep610 as a portion ofdata660 and/or as an inherent element of the online resource running on device100 (e.g., merchant application113), and such a merchant identifier may be provided fromdevice100 tocommercial entity subsystem400 during an attempted transaction (e.g., as at least a portion ofdata664 atstep614 described below).
Atstep608, process600 may include a merchant's online resource658 (e.g., a merchant'sthird party application113 ofFIG. 1A or website) being accessed bydevice100. As shown inFIG. 1A, a merchant'sthird party application113 may be loaded ontodevice100 from commercial entity subsystem400 (e.g., from application store420). For example, as shown inFIG. 4, a user may select “Merchant App”icon183 of aspecific screen190 of GUI180 using touch screen input component110fof I/O component114a, and this selection may be recognized byelectronic device100 as an initiation event for providing the user with the ability to interact with a merchant'sthird party application113. Alternatively or additionally, such anonline resource658 may be accessed byelectronic device100 directly frommerchant subsystem200. In response to such a selection of amerchant application icon183, GUI180 may provide an interactive screen whereelectronic device100 may enable the user to interact withapplication113 to peruse commercially available items from the merchant for purchase. Alternatively, step608 may includedevice100 accessing a merchant'sonline resource658 as a merchant's webpage from merchant subsystem200 (e.g., via merchant server210) using an internet application ofdevice100, which may also be selectable by an “Internet”icon182 ofspecific screen190 of GUI180 ofFIG. 4 for providing the user with the ability to interact with a merchant's webpage rather than with a merchant's third part application.
Next, atstep610,device100 may receivepotential transaction data660 from the accessed online resource of the merchant. For example, as shown inFIG. 1A,potential transaction data660 may be provided todevice100 from merchant subsystem200 (e.g., from merchant server210) whendevice100 is interacting with the merchant'sthird party application113 or the merchant's website or any other suitable online resource (e.g., resource658) of the merchant. Alternatively or additionally, at least a portion ofpotential transaction data660 may be locally accessible bydevice100 viaapplication113 local to device100 (e.g., whenapplication113 is stored in memory component104 or being run byprocessor102 of device100), rather than the data being actively sent todevice100 frommerchant server210 atstep610. For example, whenapplication113 is initially stored on device100 (e.g., atstep608 as merchant's online resource658), at least some ofpotential transaction data660 may be generated by that initially storedapplication113 absent any additional information provided todevice100 bymerchant subsystem200.Potential transaction data660 may include any suitable data indicative of characteristics of a potential financial transaction to occur between a user ofdevice100 and a merchant ofmerchant subsystem200, including, but not limited to, identification ofdevice100, identification of the merchant, identification of the particular merchant resource being used (e.g., theparticular merchant application113 or website being accessed by device100), identification of the particular product or service to be purchased or rented or otherwise paid for, identification of the price to be paid, identification of the currency to be used during the transaction, identification of a default or initial shipping address to be used, a list of financial institutions whose credentials may be accepted bymerchant subsystem200, and/or any other suitable information.Potential transaction data660 may define an online resource's request to produce a payment token for the purchase of products and/or services and may encapsulate any suitable information about the potential transaction including, for example, information about the merchant's payment processing capabilities, an amount to pay, and the currency code.Potential transaction data660 may also include a list of one or more payment networks (e.g., payment network(s)360) that may be supported by the merchant such thatdevice100 may be configured to determine whether any of such listed one or more payment networks has an authorized payment credential ondevice100. If such a match exists, for example, as shown inFIG. 14A, GUI180 may providescreen190a, where a merchant's online resource may usetransaction data660 to show to a user the name of the merchant (e.g., “Merchant A”) withinformation1407a, the name of the product (e.g., “Product B”) withinformation1407b, the price (e.g., “Price C”) withinformation1407c, and/or initial shipping data (e.g., “Address D”) withinformation1407d.Potential transaction data660 that may be provided todevice100 bymerchant server210 may be indicative ofsuch information1407a,1407b,1407c, and/or1407d. As also shown inFIG. 14A and described below in more detail,screen190amay also include a choosealternate shipping prompt1409 and/or apurchase prompt1411.Potential transaction data660 may be provided frommerchant server210 todevice100 viacommunication path15 ofFIG. 1A and may be received bycommunications component106 ofdevice100.Communications component106 may pass thispotential transaction data660 on to processor102 (e.g., for displaying onscreen190aas part of a user interface formerchant application113 on device100 (e.g., for information1407a-1407d)) and/or toNFC component120. For example,NFC component120 may utilize suchpotential transaction data660 for securely enabling a financial transaction betweendevice100 andmerchant subsystem200, as further described below. As described below in more detail (e.g., with respect to steps702-714 of process700 ofFIG. 7),shipping information1407dmay be based on any suitable data known by the online resource and/or based on data discoverable and selectable by other resources available to device100 (e.g., contact information local to device100) for auto-populating and/or updating initial shipping information provided by the online resource. In some embodiments,potential transaction data660 may be referred to as payment request data and/or a uniform resource locator (“URL”) or any other suitable reference character string and/or query string.
Next, atstep611, process600 may include receiving intent and authentication by a user ofdevice100 to utilize a specific credential for carrying out a financial transaction for a particular merchant, product, price, and shipping destination based onpotential transaction data660. For example, as shown inFIG. 14A,screen190aof GUI180 ofdevice100 may also include a purchase prompt1411 that may ask the user whether he or she wishes to make a purchase from the merchant according to the details ofpotential transaction data660. Moreover, as shown inFIG. 14C, output display component112amay be configured to providescreen190cin response to receiving selection ofpurchase prompt1411 ofscreen190aofFIG. 14A and/or purchase prompt1411 ofscreen190cofFIG. 14C.Screen190cofFIG. 14C may prompt a user to interact withdevice100 in one or more ways to choose a specific credential available todevice100 for making the purchase. As shown,screen190cmay include acredential selection prompt1413 that may enable a user to select one of potentially multiple credentials that may be provisioned on device100 (e.g., the credential ofcredential SSD154a). Prompt1413 may only include credentials that are associated with payment networks supported by the merchant (e.g., as may be determined bypotential transaction data660, as mentioned above). As shown inFIG. 14D, output display component112amay be configured to providescreen190din response to receiving user selection of a credential fromcredential selection prompt1413 ofscreen190cofFIG. 14C.Screen190dofFIG. 14D may prompt a user to interact withdevice100 in one or more ways to authenticate the user and its intent to utilize the selected credential. This may include prompting the user (e.g., with an authentication prompt1415) to enter user authentication via personal identification number (“PIN”) entry or via user interaction with a biometric sensor in order to access the secure element ofdevice100 and, thus, the credential to be used for the purchase.Access SSD154bmay leverageapplet153bto determine whether such authentication has occurred before allowing other SSDs154 (e.g.,credential SSD154a) to be used for enabling its credential information in a commerce credential data communication. As just one example ofstep611,applet153bofaccess SSD154bmay be configured to determine intent and local authentication of a user of device100 (e.g., via one ormore input components110, such as a biometric input component110iofFIG. 4, as may be used by a user interacting withapplication113 via GUI180) 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 ofcredential SSD154a). In some embodiments, after such a determination, but before such enablement, output display component112amay be configured to providescreen190eofFIG. 14E that may prompt a user (e.g., with a payment prompt1417) to interact withdevice100 in one or more ways to finally initiate payment tomerchant subsystem200 according topotential transaction data660 using the selected and authenticated credential. Additional features ofFIGS. 14A-14E may be described below with respect to process700 ofFIG. 7.
Next, at steps612-614, process600 may includedevice100 generating, encrypting, and transmitting commercialentity credential data664 for use bycommercial entity subsystem400. Once the credential ofcredential SSD154aon a secure element ofdevice100 has been selected, authenticated, and/or enabled for use in a financial transaction (e.g., at step611), the secure element of device100 (e.g.,processor module142 of NFC component120) may encrypt that credential data for use bycommercial entity subsystem400. For example, secure element (“SE”)credential data661 ofcredential SSD154a(e.g.,applet data153a) may be encrypted withcredential key155a′ atstep612 as encryptedSE credential data662, such that the encryptedSE credential data662 may only be decrypted by an entity with access to thatcredential key155a′ (e.g., financial institution subsystem350) for accessingSE credential data661. ThatSE credential data661 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 thatSE credential data661 ofcredential SSD154ahas been encrypted withcredential key155a′ atstep612 as encryptedSE credential data662, that encryptedSE credential data662, either alone or along with at least a first portion of potential transaction data660 (e.g., a first portion ofpotential transaction data660 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., anyinformation identifying device100 itself), may be encrypted by access information (e.g., by access key155aofSSD154a,access key155bofaccess SSD154b, ISD key156k, and/orCRS151kand/or signed byCASD158k) atstep613 as encrypted commercial entity (“CE”)credential data663. For example,secure element145 of device100 (e.g.,processor module142 of NFC component120) may use access information to encrypt not only an identification of the merchant from data660 (e.g., identification of the merchant or its resource being used for the purchase, such as application113), but also the identification of the amount of the purchase and/or currency code fromdata660, as well as the encryptedSE credential data661 ofSSD154a(e.g., encrypted SE credential data662) into encrypted commercialentity credential data663. In some embodiments, such identification of the merchant fromdata660 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 fromtransaction data660 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 step720 of process700 ofFIG. 7.
Next, encrypted commercialentity credential data663 along with any additional information, such as at least some of potential transaction data660 (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., anyinformation identifying device100 itself and/or the merchant in unencrypted form), may together be transmitted as commercialentity transaction data664 fromdevice100 tocommercial entity subsystem400 at step614 (e.g., as described in more detail below with respect to step724 of process700 ofFIG. 7). Therefore, at least portions of commercial entity transaction data664 (e.g., encrypted commercial entity credential data663) may only be decrypted by an entity with access to that access information used for the encryption (e.g., access key155a,access key155b, ISD key156k,CRS151k, and/orCASD158k) that generated encrypted commercialentity credential data663 of commercial entity transaction data664 (e.g., commercial entity subsystem400). Such commercialentity transaction data664 may be generated at steps612-614 and then transmitted tocommercial entity subsystem400 at step614 (e.g., from the secure element ofNFC component120, viacommunications component106 and communication path65).Steps612,613, and614 may ensure that any credential data generated and transmitted from the secure element ofdevice100 as part of commercialentity transaction data664 has first been encrypted in such a way that it cannot be decrypted by another portion ofdevice100. That is,SE credential data661 of commercialentity transaction data664 may be encrypted as encryptedSE credential data662 with acredential key155a′ that may not be exposed to or accessible by any portion ofdevice100 outside of its secure element. Moreover, such encryptedSE credential data662 of commercialentity transaction data664 may be encrypted as encrypted commercialentity credential data663 with an access key (e.g., access key155a,155b,156k,151k, and/or158k(e.g., referred to herein as “access information”)) that may not be exposed to or accessible by any portion ofdevice100 outside of its secure element.
Next, at step616, process600 may includecommercial entity subsystem400 receiving and decrypting at least a portion of commercialentity transaction data664. For example,commercial entity subsystem400 may receive commercialentity transaction data664 and may then decrypt encrypted commercialentity credential data663 of commercialentity transaction data664 using access information (e.g.,155a,155b,156k,151k, and/or158k) as available atcommercial entity subsystem400. This may enablecommercial entity subsystem400 to determine an unencrypted identification of the merchant (e.g., from decrypted commercial entity credential data663), while also maintainingSE credential data661 in an encrypted state (e.g., as encrypted SE credential data662), becausecommercial entity subsystem400 may not have access tocredential key155a′ with which suchSE credential data661 may have been encrypted by the secure element ofdevice100 atstep612 as encryptedSE credential data662. Additionally or alternatively, the merchant may be identified by the additional data that may have been included in commercialentity transaction data664 along with encrypted commercial entity credential data663 (e.g., as described in more detail below with respect tosteps724 and726 of process700 ofFIG. 7). Commercialentity transaction data664 may includeinformation identifying device100 or at least its secure element, such that, whendata664 is received bycommercial entity subsystem400,commercial entity subsystem400 may know which access information (e.g., which ofaccess information155a,155b,156k,151k, and/or158k) to use at step616. For example,commercial entity subsystem400 may have access tomultiple access keys155a/155band/ormultiple ISD keys156k, each one of which may be particular to aspecific device100 or to a specific secure element.
Next, at step617, process600 may includecommercial entity subsystem400 identifying amerchant key157 associated with the merchant that may have been identified from commercialentity transaction data664 and then re-encrypting at least a portion of commercialentity credential data664 using thatmerchant key157. That is, after decrypting at least a first portion of commercialentity transaction data664 using suitable access information at step616 (e.g., after decrypting encryptedCE credential data663 to realize encryptedSE credential data662 and any other information that may have been encrypted in encrypted CE credential data663),commercial entity subsystem400 may then, at step617, re-encrypt at least a second portion of commercial entity transaction data664 (e.g., encrypted SE credential data662) with an appropriate merchant key157 that may be associated with merchant information identified in commercialentity transaction data664. Such amerchant key157 may be determined by comparing the merchant information identified in commercialentity transaction data664 with data in table430 ofFIG. 1A. With this determinedappropriate merchant key157,commercial entity subsystem400 may re-encrypt withmerchant key157 at least a portion of commercialentity transaction data664 as encrypted merchant credential data667 at step617. For example, encrypted merchant credential data667 may include at least the encryptedSE credential data662 from commercialentity transaction data664 as well as the purchase amount data or other suitable transaction data from commercial entity transaction data664 (e.g., data that may have been initially identified from transaction data660). The merchant identification information from commercialentity transaction data664 may not need to be included in encrypted merchant credential data667 as that merchant identification may have already been used to determine themerchant key157 with which encrypted merchant credential data667 may be encrypted at step617. Encrypted merchant credential data667 may be signed bycommercial entity subsystem400 in such a way that, when received bymerchant subsystem200, may establishcommercial entity subsystem400 as the creator of such encrypted merchant credential data667 and/or may letmerchant subsystem200 ensure that encrypted merchant credential data667 has not been modified after being signed. Such encrypted merchant credential data667 may be generated at steps616 and617 and then transmitted toelectronic device100 along with any other suitable data asmerchant transaction data668 at step618 (e.g., fromserver410 ofcommercial entity subsystem400 tocommunications component106 ofdevice100 viapath65 ofFIG. 1A).
Steps616,617, and618 may ensure that credential data transmitted from thecommercial entity subsystem400 as part ofmerchant transaction data668 ofFIG. 1A (e.g., credential data of encrypted merchant credential data667 of merchant transaction data668) may be encrypted in such a way that it cannot be decrypted by a portion ofdevice100 other than its secure element. That is,merchant transaction data668 may be encrypted with amerchant key157 that may not be exposed to or otherwise accessible by any portion ofdevice100, including, in some embodiments, its secure element. Moreover, credential data of merchant transaction data668 (e.g., encryptedSE credential data662 of encrypted merchant credential data667 of merchant transaction data668) may be encrypted with acredential key155a′ that may not be exposed to or otherwise accessible by any portion ofdevice100 outside of its secure element.Merchant transaction data668 may then be forwarded on to merchant subsystem200 (e.g., merchant server210) bydevice100 as online-based communication670 (e.g., viacommunications component106 andcommunication path15 ofFIG. 1A) atstep620. Such online-basedcommunication670 may at least include some of merchant transaction data668 (e.g., encrypted merchant credential data667) and any other suitable information (e.g., information that may be used bymerchant application113 or any other merchant resource (e.g., a merchant website), such asshipping information1407d), as may be described in more detail below with respect tosteps730 and732 of process700 ofFIG. 7. Alternatively, rather than sharingmerchant transaction data668 withmerchant subsystem200 viadevice100 as online-basedcommunication670 atsteps618 and620,commercial entity subsystem400 may directly sharemerchant transaction data668 withmerchant subsystem200 as online-basedcommunication671 at step621 (e.g., viapath85 ofFIG. 1A).
Once suchmerchant transaction data668 is received by merchant subsystem200 (e.g., as online-basedcommunication671 fromcommercial entity subsystem400 directly atstep621 or as online-basedcommunication670 fromdevice100 at step620), process600 may include step622 at whichmerchant subsystem200 may sendconfirmation data672 to device100 (e.g., viacommunication path15 ofFIG. 1A).Such confirmation data672 may be received bydevice100 to indicate to a user ofdevice100 that the user's payment instructions have been received bymerchant subsystem200. After a user ofdevice100 may provide intent and authentication to utilize a specific credential for carrying out a financial transaction based onpotential transaction data660 atstep611, the remaining steps of process600 may occur transparent to the user. That is, once the user provides authentication and intent atstep611, steps612-620 or621 as well as steps622-630 may occur without any further user interaction and may seem instantaneous to a user, whereby process600 may appear to a user as if, afterstep611, credential data is automatically and instantaneously sent tomerchant subsystem200 and confirmed atstep622.
Moreover, once suchmerchant transaction data668 is received by merchant subsystem200 (e.g., ascommunication671 fromcommercial entity subsystem400 directly atstep621 or as online-basedcommunication670 fromdevice100 at step620), process600 may also includestep623 at whichmerchant subsystem200 may be configured to generate and transmitpayment data673 to acquiring bank subsystem300 (e.g., viacommunication path25 betweenmerchant subsystem200 and acquiringbank subsystem300 ofFIG. 1A), wheredata673 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 (e.g., as included incommunication671 received fromcommercial entity subsystem400 directly atstep621 or in online-basedcommunication670 received fromdevice100 at step620). For example, atstep623,merchant subsystem200 may leverage its knownmerchant key157 to at least partially decrypt merchant transaction data668 (e.g., as received fromcommunication671 atstep621 or fromcommunication670 at step620), such thatpayment data673 may include theSE credential data661 ofcredential SSD154aencrypted with itscredential key155a′ (e.g., encrypted SE credential data662) but not with a key that is not available tofinancial institution subsystem350. Then, atstep624, acquiringbank subsystem300 may forward the authorization request fromdata673 tofinancial institution subsystem350 as authorization request data674 (e.g., viacommunication path35 between acquiringbank subsystem300 andfinancial institution subsystem350 ofFIG. 1A). Next, at step626, when issuingbank subsystem370 offinancial institution subsystem350 receives an authorization request (e.g., directly from acquiringbank subsystem300 asdata674 atstep624, or indirectly viapayment network subsystem360 asdata405 as described above), the payment information (e.g.,SE credential data661 ofdevice100 as encrypted bycredential key155a′ by the secure element of device100 (e.g., encrypted SE credential data662)) and the purchase amount, each of which may be included in theauthorization request data674, as well as indata673,664,668,670, and/or671, may be decrypted (e.g., usingcredential key155a′ at financial institution subsystem350) and 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, issuingbank subsystem370 may decline the requested transaction by transmitting a negative authorization response to acquiringbank subsystem300. However, if sufficient funds are present, issuingbank subsystem370 may approve the requested transaction by transmitting a positive authorization response to acquiringbank subsystem300 and the financial transaction may be completed. Either type of authorization response may be provided by userfinancial subsystem350 to acquiringbank subsystem300 asauthorization response data676 at step626 of process600 (e.g., directly from issuingbank subsystem370 to acquiringbank subsystem300 viacommunication path35, or frompayment network subsystem360 to acquiringbank subsystem300 based onauthorization response data415 that may be provided topayment network subsystem360 from issuingbank subsystem370 viacommunication path45 ofFIG. 1A). Next, in response to receivingauthorization response data676 at step626, process600 may also include acquiringbank subsystem300 or any other suitable subsystem may share such authorization response data withmerchant subsystem200 asauthorization response data678 atstep628, which may then be shared withelectronic device100 asauthorization response data680 atstep630.
Therefore,merchant subsystem200 may be configured to process online-basedcommunication671 received fromcommercial entity subsystem400 directly atstep621 or online-basedcommunication670 received fromdevice100 atstep620 in any suitable way. For example, to obtain the plain text payment credentials from such an online-based communication (e.g., SE credential data661),merchant subsystem200 may verify that a signature property of the received data is valid and thatcommercial entity subsystem400 is the signer of that signature.Merchant subsystem200 may use any suitable technique to determine which merchant key (e.g., which merchant public key157) may have been used bycommercial entity subsystem400 to construct the encrypted merchant credential data (e.g., data667). Then,merchant subsystem200 may retrieve the corresponding merchant private key (e.g., merchantprivate key157 at merchant subsystem200) and use that retrieved key to de-encapsulate and/or decrypt encrypted merchant credential data667 to recover encryptedSE credential data662. Thensuch data662 may be provided to theappropriate payment network360, which may leverage the appropriate credential key155a′ offinancial institution subsystem350 to de-encapsulate and/or decrypt encryptedSE credential data662 to recover SE credential data661 (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, oncedevice100 is ready to prepare CE transaction data (e.g., data664) tocommercial entity subsystem400 for a new online resource transaction (e.g., after step611) but before doing so,device100 may be configured to request certain data from commercial entity subsystem. For example, prior to step612 but afterstep610,device100 may request certain CE feature information (e.g., an unpredictable number or other suitable data) that may be leveraged bydevice100 and process600 for adding an additional layer of security to process600. For example, in response to such a request, such CE feature information may be provided fromcommercial entity400 to device100 (e.g., at a step (not shown) before step612), and such CE feature information may be encrypted along with other data bysecure element145. For example, such CE feature information may be encrypted along withSE credential data661 as encryptedSE credential data662 atstep612. Alternatively or additionally, such CE feature information may be encrypted along with encryptedSE credential data662 as encryptedCE credential data663 atstep613. In any event, such CE feature information may be included inCE transaction data664 tocommercial entity subsystem400 and may be accessed bycommercial entity subsystem400 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 step613). Additionally or alternatively, such CE feature information may be included inCE transaction data664 and incommunication670 such that it may be received by merchant subsystem200 (e.g., via device100). Moreover, such CE feature information may be provided directly fromcommercial entity subsystem400 to merchant subsystem200 (e.g., as acommunication671 atstep621 or at any other point in process600 prior to step622), such thatmerchant subsystem200 may compare such CE feature information encrypted bydevice100 and received bymerchant subsystem200 as at least a portion ofcommunication670 with such CE feature information that may be received bymerchant subsystem200 directly fromcommercial entity subsystem400. Such a comparison, if matching, may add another layer of security on whichmerchant subsystem200 may rely when determining thatcommunication670 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 bycommercial entity subsystem400, may be encrypted on secure element145 (e.g., atstep612 and/or step613) and provided to merchant subsystem200 (e.g., as a portion ofcommunication670 at step620), and such CE feature information may also be provided tomerchant subsystem200 directly from commercial entity subsystem400 (e.g., ascommunication671 at step621), such that both instances of such CE feature information may be utilized bymerchant subsystem200 and/or by any remaining step of process600 as a layer of security to the process.
Process600 may ensure thatsystem1 may leverage security keys accessible to a security element ofdevice100 so as to securely communicate credential data tomerchant subsystem200 for use byfinancial institution subsystem350 while enabling certain keys to be properly managed bycommercial entity subsystem400. That is,secure element145 of device100 (e.g., NFC component120) may containcredential key155a′ and access information (e.g.,155a,155b,156k,151k, and/or158k),commercial entity subsystem400 may contain access information (e.g.,155a,155b,156k,151k, and/or158k) andmerchant key157,merchant entity200 may containmerchant key157, andfinancial institution subsystem350 may containcredential key155a′. Due to the fact thatdevice100 andcommercial entity subsystem400 may each contain or have access to access information (e.g.,155a,155b,156k,151k, and/or158k),device100 may securely share encrypted credential data with commercial entity subsystem400 (e.g., asdata664 at step614). Similarly, due to the fact thatcommercial entity subsystem400 andmerchant subsystem200 may each contain or have access tomerchant key157,commercial entity subsystem400 may securely share encrypted credential data with merchant subsystem200 (e.g., asdata671 atstep621 or viadevice100 asdata670 at step620). Then,merchant subsystem200, via acquiringbank subsystem300, may share this encrypted credential data withfinancial institution subsystem350 that may finally decrypt the encrypted credential data withcredential key155a′. However, in some embodiments, none of the credential data of the secure element of device100 (e.g.,SE credential data661 ofapplet153aofSSD154a) may be shared with a non-secure element of device100 (e.g.,processor102 and/or communications component106) in a decrypted state, nor may credential key155a′ be made available to such a non-secure element ofdevice100. Credential key155a′ may be managed byfinancial institution subsystem350, while certain access information (e.g.,155a,155b,156k,151k, and/or158k) may be managed by or otherwise accessible tocommercial entity subsystem400, whilemerchant key157 may be managed bycommercial entity subsystem400 and/ormerchant subsystem200, such that each of these keys may be maintained and/or updated and/or deleted as needed to maintain their effectiveness. Therefore,merchant key157 may never be stored on or otherwise accessible todevice100. For example,merchant key157 may not even be stored on a secure element ofdevice100.Merchant key157 can be revocable or may expire after a certain amount of time, which may requiremerchant subsystem200 andcommercial entity subsystem350 to communicate every so often to manage and/or updatemerchant key157. This may enablecommercial entity subsystem400 to dictate whichmerchant subsystems200 may be able to conduct online transactions using secure credentials ofdevice100. Moreover, certain access information (e.g.,155a,155b,156k,151k, and/or158k) may never be stored on or otherwise accessible tomerchant subsystem200. For example, certain access information can be revocable or may expire after a certain amount of time, which may requiredevice100 andcommercial entity subsystem400 to communicate every so often to manage and/or update such access information. This may enablecommercial entity subsystem400 to dictate whichdevices100 may be able to conduct online transactions using secure credentials ofdevice100 with amerchant subsystem200 viacommercial entity subsystem400.
Therefore, process600 may enable at least one credential provisioned on a secure element ofdevice100 to be securely used for an online payment transaction withmerchant subsystem200. Process600 may be configured to provide a virtualized tunnel between the secure element ofdevice100 andmerchant subsystem200 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 ofdevice100 and not any data or components ofdevice100 off of such a secure element (e.g.,processor102 orapplication113 local to device100), process600 may require that any credential data transmitted out of the secure element (e.g.,SE credential data661 ofapplet153a) be encrypted with acredential key155a′ that may only be known by the secure element and financial institution subsystem350 (e.g., as encryptedSE credential data662 at step612), and, in some embodiments, then encrypted with access information (e.g.,155a,155b,156k,151k, and/or158k) that may only be known bysecure element145 and commercial entity subsystem400 (e.g., as encrypted commercialentity credential data663 at step613).Commercial entity subsystem400 may then leverage this data663 (e.g., as part of received commercial entity transaction data664) and its knowledge of such access information (e.g.,155a,155b,156k,151k, and/or158k) andmerchant key157 to decrypt/re-encrypt (e.g., at steps616/617) the credential data transmitted bydevice100 for later use bymerchant subsystem200. By providingcommercial entity subsystem400 in the middle of process600, an extra layer of security is realized.Commercial entity subsystem400 may be privy not only to certain access information (e.g.,155a,155b,156k,151k, and/or158k) shared bysecure element145 ofdevice100 but also tomerchant key157 shared bymerchant subsystem200. Therefore,commercial entity subsystem400 may be in a unique position to manage any online transactions between the secure element ofdevice100 andmerchant subsystem200, while at the same time not being privy to the credential data being used (e.g., not being privy toSE credential data661 ofapplet153athat may be encrypted as encryptedSE credential data662 atstep612 bycredential key155a′, for example, becausecommercial entity subsystem400 may not have access tocredential key155a′).
Commercial entity subsystem400 may be configured to provide a validation check after receiving commercialentity transaction data664 but before providing merchant transaction data668 (e.g., at steps616-618/621). For example,commercial entity subsystem400 may determine that received commercialentity transaction data664 identifies a merchant whosemerchant key157 has expired or has otherwise been terminated or not recognized (e.g., by table430). Therefore, ifcommercial entity subsystem400 at some point beforestep618/621 determines that a particular merchant is no longer trustworthy,commercial entity subsystem400 may remove or otherwise disable itsmerchant key157 from table430, such that, when a merchant associated with that key157 is later identified bycommercial entity subsystem400 from a received commercialentity transaction data664 provided by anelectronic device100,commercial entity subsystem400 may not provide any associatedmerchant transaction data668/671, thereby preventing the desired financial transaction. Alternatively, a merchant identified in commercialentity transaction data664 received from anelectronic device100 may never have had amerchant key157 associated with table430, such thatcommercial entity subsystem400 may realize that commercialentity transaction data664 may be an attempt to conduct a financial transaction with a merchant that is not recognized bycommercial entity subsystem400 and, thus,commercial entity subsystem400 may prevent the transaction from being carried out. However, if process600 is able to be completed, not only maycommercial entity subsystem400 be satisfied that the financial transaction is between a known device100 (e.g., due to shared access information (e.g.,155a,155b,156k,151k, and/or158k)) and a known merchant subsystem200 (e.g., due to a known merchant key157), butmerchant subsystem200 may also be satisfied that the financial transaction is being conducted with a trusted device100 (e.g., due to the receivedcommunication data670/671 being encrypted with amerchant key157 from a trusted commercial entity subsystem400).
It is understood that the steps shown in process600 ofFIG. 6 are merely illustrative and that existing steps may be modified or omitted, additional steps may be added, and the order of certain steps may be altered. For example, it is to be understood that some shared keys may be public keys while other shared keys may be private or secret keys (e.g., a mathematically linked key pair that includes a public key and a private key). A public key of a key pair may be used to encrypt data while a private key of that key pair may be used to decrypt the encrypted data. For example, access key155aofSSD154aand/or access key155bofSSD154b, which may be stored insecure element145 ofdevice100, may be a public key while access key155aand/or access key155bavailable atcommercial entity subsystem400 may be an associated private key or vice versa. Additionally or alternatively, ISD key156kofISD152 that may be stored in a secure element ofdevice100 may be a public key while ISD key156kavailable atcommercial entity subsystem400 may be an associated private key or vice versa. Additionally or alternatively,CRS151kthat may be stored in a secure element ofdevice100 may be a public key whileCRS151kavailable atcommercial entity subsystem400 may be an associated private key or vice versa. Additionally or alternatively,CASD158kthat may be stored in a secure element ofdevice100 may be public whileCASD158kavailable atcommercial entity subsystem400 may be private or vice versa. Additionally or alternatively,merchant key157 of table430 or elsewhere atcommercial entity subsystem400 may be a public key whilemerchant key157 available atmerchant subsystem200 may be an associated private key or vice versa. Moreover, certain data may be signed by a component transmitting that data. For example, commercialentity transaction data664 may be signed bydevice100 before being transmitted tocommercial entity subsystem400 atstep614 or encrypted commercialentity credential data663 may be signed by the secure element at step613 (e.g., byCASD158k) before being transmitted as at least a portion oftransaction data664 atstep614. Such a signature bydevice100 may enablecommercial entity subsystem400 to more confidently determine thatdata664 was generated by atrusted device100. Additionally or alternatively,data668 may be signed bycommercial entity subsystem400 before being transmitted todevice100 atstep618 and/or before being transmitted tomerchant subsystem200 atstep621. Such a signature bycommercial entity subsystem400 may enabledevice100 and/ormerchant subsystem200 to more confidently determine thatdata668/670/671 was generated by a trustedcommercial entity subsystem400. It is to be understood thatdevice100 need not be configured to handle NFC communications or any other contactless proximity-based communications with another device (e.g., an NFC communication with a merchant terminal of merchant subsystem200). Instead,device100 may include a secure element for storing credential information that may be used for online transactions, as described with respect to process600, while not being leveraged for NFC transactions. For example,device100 may include a secure element (e.g., withcontroller module140 and/ormemory module150, without device module130).
FIG. 7 is a flowchart of an illustrative process700 for securely conducting online payments that may include specific implementations of certain portions of process600 ofFIG. 6. Process700 is shown being implemented byelectronic device100,merchant subsystem200, andcommercial entity subsystem400. However, it is to be understood that process700 may be implemented using any other suitable components or subsystems. Process700 may provide a seamless user experience for securely conducting online payments withmerchant subsystem200 ondevice100. Process700 may begin atstep702, wherepotential transaction data752 may be generated bymerchant application113 ofelectronic device100 and/or received bymerchant application113 ofelectronic device100 frommerchant subsystem200. For example,potential transaction data752 may be similar topotential transaction data660 described above with respect toFIG. 6, and may include any suitable data indicative of characteristics of a potential financial transaction to occur between a user ofdevice100 and a merchant ofmerchant subsystem200, including, but not limited to, identification ofdevice100, identification of the merchant, identification of the particular merchant resource being used (e.g., theparticular merchant application113 or website being accessed by device100), identification of the particular product or service to be purchased or rented or otherwise paid for, identification of the price to be paid, identification of the currency to be used during the transaction, identification of the payment networks supported by the merchant, and/or any other suitable information.Potential transaction data752 may define an online resource's request to produce a payment token for the purchase of products and/or services and may encapsulate any suitable information about the potential transaction including, for example, information about the merchant's payment processing capabilities, an amount to pay, and the currency code.Potential transaction data752 may also include shipping information (e.g., default shipping information) that may be initially provided by the online resource as the shipping address to be used for the transaction, where such default shipping information may be determined based on stored user settings for the merchant application113 (e.g., a user profile of the online resource) or based on any other suitable data available to the online resource.
Next, at step704, process700 may include at least a portion of suchpotential transaction data752 being provided from the online resource (e.g., merchant application113) asdevice transaction data754 to a device application103 (e.g., an operating system application and/or a software developer kit (“SDK”)) that may be available toprocessor102 ofdevice100 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 application103 may be configured to access information available to device100 (e.g., from memory104 and/or secure element145).Device transaction data754 may include any suitable data that may be shared between the merchant online resource (e.g., merchant application113) and other portions of device100 (e.g., via device application103). For example, at step704,device transaction data754 may include a request for any additional information that may not be included inpotential transaction data752 but that may be used bymerchant application113 for providing a desired user interface (e.g., screen190aofFIG. 14A). That is,device transaction data754 may include a request to confirm thatsecure element145 includes at least one commerce credential that is associated with a payment network used bymerchant subsystem200. Additionally or alternatively,device transaction data754 may include a request for default shipping information to be used asinitial shipping information1407dofscreen190aofFIG. 14A if such default shipping information is not known bymerchant application113.
Next, atstep706, process700 may includedevice application103 generating and transmittingresponse data756 tomerchant application113 in response todevice transaction data754 received at step704. For example, ifdevice transaction data754 includes a request to confirm whetherelectronic device100 is configured to use a credential associated with a financial institution supported by merchant subsystem200 (e.g., aspecific payment network360, such as MasterCard or Visa),device application103 may be configured to pollsecure element145 or another portion of device100 (e.g., a “wallet” or “Passbook” application ofdevice100 that may include information indicative of the credentials enabled onsecure element145, such as may be illustrated by thespecific icon182 labeled with a “Passbook” textual indicator181 (i.e., specific icon185) ofFIG. 4) in order to determine if there is at least one match between the financial entities indicated bydevice transaction data754 and the credentials available todevice100. In response to such polling,device application103 may generate and transmitresponse data756 that may include either an indication that there is a match or that there is no match, in which case a purchase prompt may or may not be included in a UI screen provided to a user. For example, in response to such a polling,device application103 may generate and transmitresponse data756 that may include an indication that there is a match, in which case a purchase prompt may be included in a UI screen provided to a user (e.g.,purchase prompt1411 ofscreen190aofFIG. 14A). In response to receivingsuch response data756,merchant application113 may be configured to generate and provideinitial UI data762 atstep712 of process700 on an I/O interface of device100 (e.g., I/O interface114a). For example,such UI data762 may be generated bymerchant application113 alone or in combination withdevice application103 atstep712 in order to presentUI screen190aofFIG. 14A with a purchase prompt1411 that may be indicative of the fact that a credential ofsecure element145 matches a financial entity supported by merchant subsystem200 (e.g., based on response data756). Other portions ofsuch UI screen190amay be indicative of information that may be included inpotential transaction data752 and/or response data756 (e.g.,merchant information1407a,product information1407b,price information1407c, and/orinitial shipping information1407d).
Additionally or alternatively, as another example, ifdevice transaction data754 includes a request for default or initial shipping information to be used based on other information of device transaction data754 (e.g., ifmerchant application113 has no default or initial shipping information available),device application103 may be configured to poll another portion of device100 (e.g., an “address book” application ofdevice100 that may include shipping address information indicative of a user of device100 (e.g., a “MeCard” or “VCard”), such as may be illustrated by thespecific icon182 labeled with a “Phone” textual indicator181 (i.e., specific icon184) ofFIG. 4) in order to determine if there is at least one available shipping address known bydevice100 for a user ofdevice100. In response to such polling,device application103 may generate and transmitresponse data756 that may include either a specific default address or an indication that no such address was found, in which case default shipping address information may or may not be included in a UI screen provided to a user. In such embodiments, whenresponse data756 includes an initial or revised shipping address compared to what may or may not have been indicated bydevice transaction data754, process700 may also includemerchant application113 generating and transmitting anupdate request758 atstep708 tomerchant subsystem200 in order to potentially update certain transaction data (e.g., the price that may be partially based on shipping costs). For example,update request758 may include at least a portion of the initial or revised shipping address of response data756 (e.g., just a ZIP code or other identifying feature), and, in response to receiving such anupdate request758,merchant subsystem200 may generate and transmit updatedtransaction data760 atstep710 tomerchant application113, where such updatedtransaction data760 may include a different price for the potential transaction than may have been included inpotential transaction data752 of step702 (e.g., based on the initial or revised shipping address indicated by update request758). For example, in response to such an update in default shipping information bydevice application103 withresponse data756 atstep706 and a subsequent request for and receipt of updatedtransaction data760 atsteps708 and710,merchant application113 may be configured to generate and provideinitial UI data762 atstep712 of process700 on an I/O interface of device100 (e.g., I/O interface114a). For example,such UI data762 may be generated bymerchant application113 alone or in combination withdevice application103 atstep712 in order to presentUI screen190aofFIG. 14A withdefault shipping information1407dfor address “D” as well asappropriate price information1407cfor price “C” that may take into account the shipping cost requirements for default address D. Each one of steps702-712 may occur transparent to the user. That is, once the user provides certain input that may causepotential transaction data752 to be generated and/or received by an online resource (e.g., merchant application113), steps704-712 may occur without any further user interaction and may seem instantaneous to a user, whereby process700 may appear to automatically auto-fill indefault shipping information1407d, which may or may not be populated bydevice application103 based on information local todevice100 independent ofmerchant application113, and/or that may includeappropriate price information1407cthat may be commensurate with suchdefault shipping information1407d.
In response to providingUI screen190aofFIG. 14A (e.g., based onUI data762 ofstep712 of process700 as I/O output data115oofFIG. 3), a user may interact with device100 (e.g., with I/O interface114a) in one of many possible ways (e.g., with a user input764 atstep714 of process700 as I/O input data115iofFIG. 3). For example, a user may choose prompt1409 ofFIG. 14A to choose an alternate shipping address (e.g., a shipping address different than the default shipping address D described above. In such instances, screen190bofFIG. 14B may be generated and provided (e.g., by following steps similar to one or more of steps702-714), in which at least one new shipping option may be provided to the user as prompt1410, where such an option may be provided bydevice application103 and/or may be entered manually by a user. In response to selection or entry of such a new shipping address,screen190cofFIG. 14C may be generated and provided (e.g., by following steps similar to one or more of steps702-714), in which at least a selected new shipping option from prompt1410 ofFIG. 14B may be shown (e.g., shipping option “E” ofshipping information1407dofFIG. 14C) and updatedprice information1407cmay also be shown (e.g., updated price “C*” ofprice information1407cofFIG. 14C), where price C* ofFIG. 14C may differ from price C ofFIGS. 14A and 14B based on updated shipping costs that may be due to the change from shipping address D ofFIGS. 14A and 14B to the new shipping address E, and where updated price C* may be determined seamlessly and/or transparently to the user (e.g., as described above with respect to steps704-712).
Additionally or alternatively,screen190aofFIG. 14A and/orscreen190cofFIG. 14C may prompt a user to interact withdevice100 in one or more ways to make a purchase (e.g., purchase prompt1411). In response to selection of such apurchase prompt1411,screen190cofFIG. 14C may be generated and provided (e.g., by following steps similar to one or more of steps702-714), in which acredential selection prompt1413 may be provided that may enable a user to select one of potentially multiple credentials that may be provisioned on device100 (e.g., the credential ofcredential SSD154a), where such credential option(s) may be provided by device application103 (e.g., as at least a portion of response data756). In response to selection of one credential option ofscreen190c,screen190dofFIG. 14D may be generated and provided (e.g., by following steps similar to one or more of steps702-714), in which at least a selected credential from prompt1413 ofFIG. 14C may be shown (e.g., credential option “X” ofcredential information1407eofFIG. 14D).Screen190dofFIG. 14D may prompt a user to interact withdevice100 in one or more ways to authenticate the user and its intent to utilize the selected credential in an online transaction. This may include prompting the user (e.g., with anauthentication prompt1415 ofFIG. 14D) to enter user authentication in any suitable way (e.g., via personal identification number (“PIN”) entry or via user interaction with a biometric sensor, for example, via I/O interface114aor any other suitable input component) in order to access the secure element ofdevice100 and, thus, the credential to be used for the purchase (e.g., as described above with respect to step611 of process600). Therefore, in some embodiments, user input764 ofstep714 of process700 may be substantially similar to authentication/intent described above with respect to step611 of process600 ofFIG. 6.Access SSD154bmay leverageapplet153bto determine whether such authentication has occurred before allowing other SSDs154 (e.g.,credential SSD154a) to be used for enabling its credential information in a commerce credential data communication. As just one example of such astep714,applet153bofaccess SSD154bmay be configured to determine intent and local authentication of a user of device100 (e.g., via one ormore input components110, such as a biometric input component110iofFIG. 4, as may be used by a user interacting withapplication113 via GUI180) 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 ofcredential SSD154a). For example,SSD154bmay communicate withSSD154avia a shareable interface object (“SIO”) or any other suitable techniques. In some embodiments, after such a determination, but before such enablement,device100 may be configured to providescreen190eofFIG. 14E that may prompt a user (e.g., with a payment prompt1417) to interact withdevice100 in one or more ways to finally initiate payment tomerchant subsystem200 according topotential transaction data752/762 using the selected and authenticated credential.
In response to a user input764 that may appropriately provide necessary intent and authentication to enable a selected credential for use in an online transaction, process700 may proceed to step716, in whichmerchant application113 may generate and share updateddevice transaction data766 withdevice application103. Updateddevice transaction data766 may include any suitable data as described above with respect totransaction data752 and/ortransaction data760 but may be updated based on any/all transaction selections made by a user (e.g., as shown byscreen190dorscreen190e). Next, atstep718,device application103 may usesuch transaction data766 to generate and transmit acredential request768 to secureelement145. For example,device application103 may be configured to communicate withsecure element145 via a wired interface (e.g., via an NFC controller). In some embodiments,device application103 may be configured to communicate directly withaccess SSD154band/orISD152, thereby authenticating a request to dispense payment credentials.Credential request768 may not only include an authenticated request to utilize a selected credential in an online transaction withmerchant application113, butcredential request768 may include at least some information particular tomerchant application113 and/or to the particular transaction as may be defined bytransaction data766. For example,credential request768 may include a unique merchant identifier formerchant application113 and/or a merchant responsible for that online resource, where such a unique merchant identifier may be realized fromtransaction data766.
In response to acredential request768 indicative of a unique merchant identifier being received bysecure element145 atstep718,secure element145 may be configured atstep720 to generate encryptedCE credential data770, which may be similar to encryptedCE credential data663 of process600. For example, encryptedCE credential data770 may be generated bysecure element145 atstep720 by encrypting SE credential data (e.g.,SE credential data661 ofSSD154a) withcredential key155a′ as encrypted SE credential data (e.g., encrypted SE credential data662) and then encrypting not only such encrypted SE credential data but also an SE merchant identifier719 (e.g., a merchant identifier generated bysecure element145 based on information from credential request768) with any suitable access information (e.g.,155a,155b,156k,151k, and/or158k) as encryptedCE credential data770. Such anSE merchant identifier719 that may be encrypted along with encrypted SE credential data as encryptedCE credential data770 may also be generated atstep720 using unique merchant identifier information fromcredential request768. For example,secure element145 may be configured to use a cryptographic hash function on the unique merchant identifier fromcredential request768 in order to generateSE merchant identifier719 that may then be processed (e.g., encrypted) bysecure element145. That is,secure element145 may deriveSE merchant identifier719 from the unique merchant identifier of credential request768 (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 arraySE merchant identifier719 using a secure hash algorithm (e.g., a SHA-256 function)). This may allowSE merchant identifier719 to be appropriately encrypted along with encrypted SE credential data as encryptedCE credential data770 atstep720 bysecure element145. By cryptographically binding a unique merchant identifier with encrypted credential data usingsecure element145, that version of the unique merchant identifier may not be tampered with by other portions ofdevice100 off of secure element145 (e.g., by device application103) that may not have access to the access information used (e.g.,155a,155b,156k,151k, and/or158k). Then, atstep722,secure element145 may be configured to share such encryptedCE credential data770 withdevice application103.
Atstep724,device application103 may be configured to generate and transmit commercialentity transaction data774 tocommercial entity subsystem400, where commercialentity transaction data774 may include encryptedCE credential data770 and any other suitable information.CE transaction data774 may be similar toCE transaction data664 of process600.CE transaction data774 may include not only encryptedCE credential data770 but also an unencrypted merchant identifier (e.g., a unique merchant identifier fromtransaction data766 that may have also been provided to secureelement145 atstep718 as a portion of credential request768). That is, not only mayCE transaction data774 include encryptedCE credential data770, which itself may include a hashed and/or encrypted version of a unique merchant identifier (e.g., from device transaction data766), butCE transaction data774 may also include a non-hashed and unencrypted version of that unique merchant identifier (e.g., from device transaction data766). Moreover, other information from thedevice transaction data766, such as an identification of device100 (e.g., an “SEID”), a transaction amount, a currency type, and/or any other suitable information, may also be included as part ofCE transaction data774.
Atstep726 of process700,commercial entity subsystem400 may be configured to generate encrypted merchant credential data776 based on receivedCE transaction data774. In some embodiments, encrypted merchant credential data776 may be similar to encrypted merchant credential data667 of process600. For example,commercial entity subsystem400 may access the unencrypted unique merchant identifier from a first portion ofCE transaction data774 and also decrypt a second portion of CE transaction data774 (e.g., encrypted SE credential data770) with certain access information (e.g.,155a,155b,156k,151k, and/or158k) to access the hashed version of the unique merchant identifier (e.g., SE merchant identifier719) as well as the encrypted SE credential data.Commercial entity subsystem400 may use the unencrypted unique merchant identifier and/or the decrypted hashed version of the unique merchant identifier (e.g., SE merchant identifier719) to identify the appropriate merchant key157 accessible tocommercial entity subsystem400 that may then be used for re-encrypting the encrypted SE credential data with that identifiedmerchant key157 as encrypted merchant credential data776.Commercial entity subsystem400 may or may not re-encrypt the decrypted hashed version of the unique merchant identifier (e.g., SE merchant identifier719) along with the encrypted SE credential data using the identifiedmerchant key157 as encrypted merchant credential data776 atstep726. In some embodiments,commercial entity subsystem400 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 identifier719), for example, by using a similar key derivation function on the unencrypted unique merchant identifier as used by secure element145 (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 identifier719). In such embodiments, process700 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 key157 (e.g., so as not to waste time doing the comparison if the unencrypted unique merchant identifier will not reveal a valid merchant key157 (e.g., through use of table430)). Moreover, certain additional information included in CE transaction data774 (e.g., merchant identifier, price amount, currency type, electronic device identification, etc.) may also be used by commercial entity subsystem400 (e.g., at step726) for various reasons, such as velocity checking, purchase fraud checking and alerting, and the like.
Atstep728,commercial entity subsystem400 may generate and transmitmerchant transaction data778 todevice application103. In some embodiments,merchant transaction data778 may be similar tomerchant transaction data668 of process600.Merchant transaction data778 may include encrypted merchant credential data776 and any other suitable information. For example, along with encrypted merchant credential data776,merchant transaction data778 may include a timestamp generated bycommercial entity subsystem400 indicating the time that such encrypted merchant credential data776 was generated bycommercial entity subsystem400. Such a timestamp may be later used by another entity of system1 (e.g., merchant subsystem200) to determine whether the data it may receive during process700 (e.g., encrypted merchant credential data776 as at least a portion ofcommunication782 described below) has been generated recently enough to reliably ensure that such received data was not fabricated maliciously. Atstep730,device application103 may be configured to generate and share updatedmerchant transaction data780 withmerchant application113, where updatedmerchant transaction data780 may includemerchant transaction data778 and any other suitable information, such as the full shipping information for the transaction (e.g.,shipping information1407dofscreens190dand190e). Next, atstep732,merchant application113 may be configured to generate and transmit online-basedcommunication782 tomerchant subsystem200, where online-basedcommunication782 may include at least a portion of updated merchant transaction data780 (e.g., at least merchant transaction data778) and any other suitable information, such as information local tomerchant application113. In some embodiments, online-basedcommunication782 may be similar to online-basedcommunication670 of process600. In some embodiments, a time stamp that may have been generated and included indata778 bycommercial entity subsystem400 atstep728 may be received and analyzed bymerchant subsystem200 as a portion ofdata782 atstep732. Such analysis (e.g., comparison of the time stamp to the time at whichdata782 was received) may be used bymerchant subsystem200 to determine whetherdata782 may be trustworthy or whether such a time stamp is missing or too old compared to receipt ofdata782, which may thereby indicate potential fraud. If such time stamp analysis is acceptable,merchant subsystem200 may leveragedata782 to continue conducting a financial transaction (e.g., as described above with respect to steps623-630 of process600). As mentioned above, after a user ofdevice100 may provide intent and authentication to utilize a specific credential for carrying out a financial transaction based onpotential transaction data752,760, and/or766 atstep714, the remaining steps of process700 may occur transparent to the user. That is, once the user provides authentication and/or intent atstep714, steps716-732 may occur without any further user interaction and may seem instantaneous to a user, whereby process700 appears to a user as if, afterstep714, credential data is automatically and instantaneously sent tomerchant subsystem200.
It is understood that the steps shown in process700 ofFIG. 7 are merely illustrative and that existing steps may be modified or omitted, additional steps may be added, and the order of certain steps may be altered.
Description of FIG.8FIG. 8 is a flowchart of anillustrative process800 for securely conducting online payments. Atstep802,process800 may include receiving, with a commercial entity, first data from an electronic device, where the first data includes credential information and merchant information indicative of a merchant. For example,commercial entity subsystem400 may receivedata664 that may include credential data (e.g., encryptedSE credential data662 associated withcredential SSD154aof device100) and information indicative of a merchant (e.g., based on potential transaction data660). Next, atstep804,process800 may include decrypting, with the commercial entity, the first data using an access key. For example,commercial entity subsystem400 may decryptdata664 using access information (e.g.,155a,155b,156k,151k, and/or158k). Next, atstep806,process800 may include identifying, with the commercial entity, a merchant key based on the merchant information from the first data. For example,commercial entity subsystem400 may identify amerchant key157 based on the merchant information from data664 (e.g., using table430). Next, at step808,process800 may include encrypting, with the commercial entity, the credential information using the identified merchant key. For example,commercial entity subsystem400 may encrypt the credential information from data664 (e.g., encryptedSE credential data662 from data664) usingmerchant key157. Then, atstep810,process800 may include transmitting, with the commercial entity, second data to at least one of the merchant and the electronic device, where the second data may include the credential information encrypted with the identified merchant key. For example,commercial entity subsystem400 may transmitdata668 todevice100 and/ordata671 tomerchant subsystem200.
It is understood that the steps shown inprocess800 ofFIG. 8 are merely illustrative and that existing steps may be modified or omitted, additional steps may be added, and the order of certain steps may be altered.
Description of FIG.9FIG. 9 is a flowchart of an illustrative process900 for securely conducting online payments. Atstep902, process900 may include generating, with an electronic device, first data by encrypting credential data with a credential key. For example, a secure element ofdevice100 may generate first data (e.g., encrypted SE credential data662) by encrypting credential data (e.g.,SE credential data661 ofapplet153aofcredential SSD154a) withcredential key155a′. Next, atstep904, process900 may include generating, with the electronic device, second data by encrypting the first data with an access key. For example,device100 may generate second data (e.g., encrypted commercial entity credential data663) by encrypting the first data (e.g., encrypted SE credential data662) with access information (e.g.,155a,155b,156k,151k, and/or158k). Next, atstep906, process900 may include accessing, with the electronic device, an online resource of a merchant. For example,device100 may access a third party application (e.g., application113) or a website resource of a merchant ofmerchant subsystem200. Next, atstep908, process900 may include identifying, with the electronic device, merchant information indicative of the merchant from the accessed online resource. For example,device100 may identify merchant information (e.g., via potential transaction data660) from the accessed online resource. Next, atstep910, process900 may include transmitting, with the electronic device, to a commercial entity the generated second data and the identified merchant information. For example,device100 may transmit tocommercial entity subsystem400 the generated second data (e.g., encrypted commercial entity credential data663) and the identified merchant data as commercialentity transaction data664.
It is understood that the steps shown in process900 ofFIG. 9 are merely illustrative and that existing steps may be modified or omitted, additional steps may be added, and the order of certain steps may be altered.
Description of FIG.10FIG. 10 is a flowchart of an illustrative process1000 for securely conducting online payments. Atstep1002, process1000 includes generating, with an electronic device, first data that includes credential data. For example,device100 may generate first data by encrypting credential data (e.g.,SE credential data661 ofcredential SSD154a) withcredential key155a′. Next, atstep1004, process1000 may include generating, with the electronic device, second data by encrypting the first data with an access key. For example,device100 may generate second data (e.g., encrypted commercial entity credential data663) by encrypting the first data (e.g.,SE credential data661 and/or encrypted SE credential data662) with access information (e.g.,155a,155b,156k,151k, and/or158k). Next, atstep1006, process1000 may include transmitting, with the electronic device, to a commercial entity the generated second data and merchant information. For example,device100 may transmit tocommercial entity subsystem400 the generated second data (e.g., encrypted commercial entity credential data663) and merchant data (e.g., from transaction data660) as commercialentity transaction data664. Next, atstep1008, process1000 may include receiving, with the electronic device, third data that includes the first data encrypted with a merchant key that is associated with the merchant information. For example,electronic device100 may receivemerchant transaction data668 that may includeSE credential data661 and/or encryptedSE credential data662 encrypted with amerchant key157. Then, atstep1010, process1000 may include transmitting, with the electronic device, the received third data to a merchant that is associated with the merchant information, where the merchant key is not accessible to the electronic device. For example,device100 may transmitmerchant transaction data668 as at least a portion of online-basedcommunication670 on tomerchant subsystem200, wheredevice100 may not have access tomerchant key157.
It is understood that the steps shown in process1000 ofFIG. 10 are merely illustrative and that existing steps may be modified or omitted, additional steps may be added, and the order of certain steps may be altered.
Description of FIG.11FIG. 11 is a flowchart of anillustrative process1100 for securely conducting online payments. Atstep1102,process1100 may include receiving, with an electronic device, first potential transaction data from an online resource of a merchant. For example, as described above,device application103 ofdevice100 may receivetransaction data754 frommerchant application113 at step704 of process700. Next, atstep1104,process1100 may include automatically identifying, with the electronic device, additional information local to the electronic device based on the received first transaction data. For example, as described above,device application103 may identifyresponse data756 atstep706 of process700, such as default shipping address information from a contact card local todevice100 for a potential transaction in response to receivingtransaction data754 from amerchant application113. Next, atstep1106,process1100 may include 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. For example, as described,device application103 and/ormerchant application113 may providescreen190aofFIG. 14A to a user ofdevice100 wherescreen190amay includeshipping information1407dfromresponse data756 andproduct information1407bfromtransaction data752/754.
It is understood that the steps shown inprocess1100 ofFIG. 11 are merely illustrative and that existing steps may be modified or omitted, additional steps may be added, and the order of certain steps may be altered.
Description of FIG.12FIG. 12 is a flowchart of anillustrative process1200 for securely conducting online payments. Atstep1202,process1200 may include receiving, with an electronic device, transaction data from an online resource of a merchant. For example, as described above,device application103 ofdevice100 may receivetransaction data754 frommerchant application113 at step704 of process700. Next, atstep1204,process1200 may include accessing, with the electronic device, first data that comprises credential data. For example, as described above,device100 may access credential data (e.g.,SE credential data661 ofcredential SSD154a). Next, atstep1206,process1200 may include generating, with the electronic device, second data by encrypting the first data and a merchant identifier of the received transaction data with an access key. For example, as described above,secure element145 may generate encryptedCE credential data770 by encrypting SE credential data and anSE merchant ID719 with access information (e.g.,155a,155b,156k,151k, and/or158k).
It is understood that the steps shown inprocess1200 ofFIG. 12 are merely illustrative and that existing steps may be modified or omitted, additional steps may be added, and the order of certain steps may be altered.
Description of FIG.13FIG. 13 is a flowchart of anillustrative process1300 for securely conducting online payments. Atstep1302,process1300 may include receiving, with a commercial entity, 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. For example, as described above, commercialentity transaction data774 may include credential information andSE merchant identifier719 as well as another form of a merchant identifier. Next, atstep1304,process1300 may include identifying, with the commercial entity, a merchant key based on at least one of the first merchant identifier and the second merchant identifier. For example, as described above,commercial entity subsystem400 may identify amerchant key157 based on the merchant information from data774 (e.g., using table430) atstep726 of process700.
It is understood that the steps shown inprocess1300 ofFIG. 13 are merely illustrative and that existing steps may be modified or omitted, additional steps may be added, and the order of certain steps may be altered.
Further Description of FIG.1, FIG.1A, FIG.2, FIG.3, and FIG.4Although not shown,commercial entity subsystem400 ofFIG. 1A may be a secure platform system and may include a secure mobile platform (“SMP”) broker component, an SMP trusted services manager (“TSM”) component, an SMP crypto services component, an identity management system (“IDMS”) component, a fraud system component, a hardware security module (“HSM”) component, and/or a store component. One, some, or all components ofcommercial entity subsystem400 may be implemented using one or more processor components, which may be the same as or similar toprocessor component102 ofdevice100, one or more memory components, which may be the same as or similar to memory component104 ofdevice100, and/or one or more communications components, which may be the same as or similar tocommunications component106 ofdevice100. One, some, or all components ofcommercial entity subsystem400 may be managed by, owned by, at least partially controlled by, and/or otherwise provided by a single commercial entity (e.g., Apple Inc.) that may be distinct and independent fromfinancial institution subsystem350. The components ofcommercial entity subsystem400 may interact with each other and collectively with bothfinancial institution subsystem350 andelectronic device100 for providing a new layer of security and/or for providing a more seamless user experience.
An SMP broker component ofcommercial entity subsystem400 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 ondevice100. An SMP broker component may be a primary end point that may control the user interface elements (e.g., elements of GUI180) ondevice100. An operating system or other application of device100 (e.g.,application103,application113, and/or application143) 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 ofdevice100 and/or respond with application protocol data units (“APDUs”) that may communicate withsecure element145 of NFC component120 (e.g., via acommunication path65 betweencommercial entity subsystem400 and electronic device100). Such APDUs may be received bycommercial entity subsystem400 fromfinancial institution subsystem350 via a trusted services manager (“TSM”) of system1 (e.g., a TSM of acommunication path55 betweencommercial entity subsystem400 and financial institution subsystem350). An SMP TSM component ofcommercial entity subsystem400 may be configured to provide GlobalPlatform-based services that may be used to carry out operations ondevice100 in concert withfinancial institution subsystem350. GlobalPlatform, or any other suitable secure channel protocol, may enable such an SMP TSM component to properly communicate and/or provision sensitive account data betweensecure element145 ofdevice100 and a TSM for secure data communication betweencommercial entity subsystem400 andfinancial institution subsystem350.
An SMP TSM component ofcommercial entity subsystem400 may be configured to use an HSM component ofcommercial entity subsystem400 to protect its keys and generate new keys. An SMP crypto services component ofcommercial entity subsystem400 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 ofsystem1. Such an SMP crypto services component may utilize an HSM component ofcommercial entity subsystem400 for secure key storage and/or opaque cryptographic operations. A payment crypto service of an SMP crypto services component ofcommercial entity subsystem400 may be configured to interact with an IDMS component ofcommercial entity subsystem400 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 ofcommercial entity subsystem400 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 ofcommercial entity subsystem400 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 subsystem350). Such a commercial entity fraud system component ofcommercial entity subsystem400 may be configured to determine a commercial entity fraud score for the credential based on various factors or thresholds. Additionally or alternatively,commercial entity subsystem400 may include a store component, which may be a provider of various services to users of device100 (e.g., the iTunes™ Store for selling/renting media to be played bydevice100, the Apple App Store™ for selling/renting applications for use ondevice100, the Apple iCloud™ Service for storing data fromdevice100, the Apple Online Store for buying various Apple products online, etc.). As just one example, such a store component ofcommercial entity subsystem400 may be configured to manage and provide anapplication113 to device100 (e.g., via communications path65), whereapplication113 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 bycommercial entity subsystem400 to communicate data amongst the various components ofcommercial entity subsystem400 and/or to communicate data betweencommercial entity subsystem400 and other components of system1 (e.g.,financial institution subsystem350 viacommunications path55 ofFIG. 1A and/orelectronic device100 viacommunications path65 ofFIG. 1A).
When a credential of a secure element ofdevice100 is appropriately enabled (e.g., commerce credential data associated with anenabled applet153aofcredential SSD154aof NFC component120) so as to be provided as a commerce credential data communication to merchant subsystem200 (e.g., as a contactless proximity-based communication to a merchant terminal and/or as an online-basedcommunication670 to a merchant server210), acquiringbank subsystem300 may utilize such a commerce credential data communication for completing a financial transaction withfinancial institution subsystem350. For example, after a user ofelectronic device100 has chosen a product for purchase and has appropriately enabled a specific credential ofdevice100 to be used for payment,merchant subsystem200 may receive an appropriate commerce credential data communication indicative of commerce credential data for the specific credential.Merchant server210 and/or a merchant terminal may be provided by any suitable merchant or merchant agent ofmerchant subsystem200 that may provide a product or service to a user ofdevice100 in response todevice100 providing payment credentials via such a commerce credential data communication. Based on such a received commerce credential data communication (e.g., communication670),merchant subsystem200 may be configured to generate and transmitdata673 to acquiring bank subsystem300 (e.g., via acommunication path25 betweenmerchant subsystem200 and acquiring bank subsystem300), wheredata673 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, acquiringbank subsystem300 may be a banking partner of the merchant associated withmerchant subsystem200, and acquiringbank subsystem300 may be configured to work withfinancial institution subsystem350 to approve and settle credential transactions attempted byelectronic device100 via a commerce credential data communication (e.g., via a contactless proximity-based communication and/or via an online-based communication670) withmerchant subsystem200. Acquiringbank subsystem300 may then forward the authorization request fromdata673 tofinancial institution subsystem350 as data674 (e.g., via acommunication path35 between acquiringbank subsystem300 and financial institution subsystem350).
Payment network subsystem360 and issuingbank subsystem370 may be a single entity or separate entities. For example, American Express may be both apayment network subsystem360 and an issuingbank subsystem370. In contrast, Visa and MasterCard may bepayment networks360, and may work in cooperation with issuingbanks370, such as Chase, Wells Fargo, Bank of America, and the like.Financial institution subsystem350 may also include one or more acquiring banks, such as acquiringbank subsystem300. For example, acquiringbank subsystem300 may be the same entity as issuingbank subsystem370. One, some, or all components of acquiringbank subsystem300 may be implemented using one or more processor components, which may be the same as or similar toprocessor component102 ofdevice100, one or more memory components, which may be the same as or similar to memory component104 ofdevice100, and/or one or more communications components, which may be the same as or similar tocommunications component106 ofdevice100. One, some, or all components ofpayment network subsystem360 may be implemented using one or more processor components, which may be the same as or similar toprocessor component102 ofdevice100, one or more memory components, which may be the same as or similar to memory component104 ofdevice100, and/or one or more communications components, which may be the same as or similar tocommunications component106 ofdevice100. One, some, or all components of issuingbank subsystem370 may be implemented using one or more processor components, which may be the same as or similar toprocessor component102 ofdevice100, one or more memory components, which may be the same as or similar to memory component104 ofdevice100, and/or one or more communications components, which may be the same as or similar tocommunications component106 ofdevice100. In the case ofpayment network subsystem360 and issuingbank subsystem370 being separate entities,payment network subsystem360 may receive the authorization request ofdata674 from acquiringbank subsystem300 and may then forward the request to issuingbank subsystem370 as data405 (e.g., via acommunication path45 betweenpayment network subsystem360 and issuing bank subsystem370). In the case ofpayment network subsystem360 and issuingbank subsystem370 being the same entity, acquiringbank subsystem300 may submit the authorization request ofdata674 directly to issuingbank subsystem370. Furthermore,payment network subsystem360 may respond to acquiringbank subsystem300 on behalf of issuing bank subsystem370 (e.g., according to conditions agreed upon betweenpayment network subsystem360 and issuing bank subsystem370). By interfacing between acquiringbank subsystem300 and issuingbank subsystem370,payment network subsystem360 may reduce the number of entities that each acquiringbank subsystem300 and each issuingbank subsystem370 may have to interact with directly. That is, to minimize direct integration points offinancial institution subsystem350,payment network subsystem360 may act as an aggregator for various issuingbanks370 and/or various acquiringbanks300.Financial institution subsystem350 may also include one or more acquiring banks, such as acquiringbank subsystem300. For example, acquiringbank subsystem300 may be the same entity as issuingbank subsystem370.
When issuingbank subsystem370 receives an authorization request (e.g., directly from acquiringbank subsystem300 asdata674 or indirectly viapayment network subsystem360 as data405), the payment information (e.g., commerce credential information of device100) 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, issuingbank subsystem370 may decline the requested transaction by transmitting a negative authorization response to acquiringbank subsystem300. However, if sufficient funds are present, issuingbank subsystem370 may approve the requested transaction by transmitting a positive authorization response to acquiringbank subsystem300 and the financial transaction may be completed. Either type of authorization response may be provided by userfinancial subsystem350 to acquiringbank subsystem300 as authorization response data676 (e.g.,authorization response data676 may be provided directly from issuingbank subsystem370 to acquiringbank subsystem300 viacommunication path35, orauthorization response data676 may be provided frompayment network subsystem360 to acquiringbank subsystem300 based onauthorization response data415 that may be provided topayment network subsystem360 from issuingbank subsystem370 via communication path45).
As mentioned, and as shown inFIG. 2,electronic device100 can include, but is not limited to, a music player (e.g., an iPod™ available by Apple Inc. of Cupertino, Calif.), video player, still image player, game player, other media player, music recorder, movie or video camera or recorder, still camera, other media recorder, radio, medical equipment, domestic appliance, transportation vehicle instrument, musical instrument, calculator, cellular telephone (e.g., an iPhone™ available by Apple Inc.), other wireless communication device, personal digital assistant, remote control, pager, computer (e.g., a desktop, laptop, tablet (e.g., an iPad™ available by Apple Inc.), server, etc.), monitor, television, stereo equipment, set up box, set-top box, boom box, modem, router, printer, or any combination thereof. In some embodiments,electronic device100 may perform a single function (e.g., a device dedicated to conducting financial transactions) and, in other embodiments,electronic device100 may perform multiple functions (e.g., a device that conducts financial transactions, plays music, and receives and transmits telephone calls).Electronic device100 may be any portable, mobile, hand-held, or miniature electronic device that may be configured to conduct financial transactions wherever a user travels. Some miniature electronic devices may have a form factor that is smaller than that of hand-held electronic devices, such as an iPod™. Illustrative miniature electronic devices can be integrated into various objects that may include, but are not limited to, watches, rings, necklaces, belts, accessories for belts, headsets, accessories for shoes, virtual reality devices, glasses, other wearable electronics, accessories for sporting equipment, accessories for fitness equipment, key chains, or any combination thereof. Alternatively,electronic device100 may not be portable at all, but may instead be generally stationary.
As shown inFIG. 2, for example,electronic device100 may include aprocessor102, memory104,communications component106,power supply108,input component110, output component112, antenna116, and near field communication (“NFC”)component120.Electronic device100 may also include abus118 that may provide one or more wired or wireless communication links or paths for transferring data and/or power to, from, or between various other components ofdevice100. In some embodiments, one or more components ofelectronic device100 may be combined or omitted. Moreover,electronic device100 may include other components not combined or included inFIG. 2. For example,electronic device100 may include any other suitable components or several instances of the components shown inFIG. 2. For the sake of simplicity, only one of each of the components is shown inFIG. 2.
Memory104 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. Memory104 may include cache memory, which may be one or more different types of memory used for temporarily storing data for electronic device applications. Memory104 may be fixedly embedded withinelectronic device100 or may be incorporated on one or more suitable types of cards that may be repeatedly inserted into and removed from electronic device100 (e.g., a subscriber identity module (“SIM”) card or secure digital (“SD”) memory card). Memory104 may store media data (e.g., music and image files), software (e.g., for implementing functions on device100), 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 enabledevice100 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 component106 may be provided to allowdevice100 to communicate with one or more other electronic devices or servers or subsystems (e.g., one or more subsystems or other components of system1) using any suitable communications protocol. For example, communications component106 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 component106 may also include or be electrically coupled to any suitable transceiver circuitry (e.g., transceiver circuitry or antenna116 via bus118) that can enabledevice100 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 component106 may be configured to determine a geographical position ofelectronic device100. For example,communications component106 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 supply108 can include any suitable circuitry for receiving and/or generating power, and for providing such power to one or more of the other components ofelectronic device100. For example,power supply108 can be coupled to a power grid (e.g., whendevice100 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 supply108 can be configured to generate power from a natural source (e.g., solar power using solar cells). As another example,power supply108 can include one or more batteries for providing power (e.g., whendevice100 is acting as a portable device). For example,power supply108 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 bypower supply108 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 supply108 can be operative to request or provide particular amounts of power at different times, for example, based on the needs or requirements ofelectronic device100 or periphery devices that may be coupled to electronic device100 (e.g., to request more power when charging a battery than when the battery is already charged).
One ormore input components110 may be provided to permit a user to interact or interface withdevice100. For example,input component110 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 toelectronic device100 for authenticating a user), and combinations thereof. Eachinput component110 can be configured to provide one or more dedicated control functions for making selections or issuing commands associated with operatingdevice100.
Electronic device100 may also include one or more output components112 that may present information (e.g., graphical, audible, and/or tactile information) to a user ofdevice100. For example, output component112 ofelectronic device100 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 device100 may include a display output component as output component112. 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 indevice100 or coupled to device100 (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 fromelectronic device100, 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 onelectronic device100, information regarding ongoing communications operations, information regarding incoming communications requests, device operation screens, etc.) that may be under the direction ofprocessor102.
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 component110 and output component112 as I/O component or I/O interface114). For example,input component110 and output component112 may sometimes be a single I/O component114, 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.
Processor102 ofelectronic device100 may include any processing circuitry that may be operative to control the operations and performance of one or more components ofelectronic device100. For example,processor102 may receive input signals frominput component110 and/or drive output signals through output component112. As shown inFIG. 2,processor102 may be used to run one or more applications, such as anapplication103, anapplication113, and/or anapplication143. Eachapplication103/113/143 may include, but is not limited to, one or more operating system applications, firmware applications, media playback applications, media editing applications, NFC low power mode applications, biometric feature-processing applications, or any other suitable applications. For example,processor102 may loadapplication103/113/143 as a user interface program to determine how instructions or data received via aninput component110 or other component ofdevice100 may manipulate the way in which information may be stored and/or provided to the user via an output component112.Application103/113/143 may be accessed byprocessor102 from any suitable source, such as from memory104 (e.g., via bus118) or from another device or server (e.g., via communications component106).Processor102 may include a single processor or multiple processors. For example,processor102 may include at least one “general purpose” microprocessor, a combination of general and special purpose microprocessors, instruction set processors, graphics processors, video processors, and/or related chips sets, and/or special purpose microprocessors.Processor102 also may include on board memory for caching purposes.
Electronic device100 may also include near field communication (“NFC”)component120.NFC component120 may be any suitable proximity-based communication mechanism that may enable contactless proximity-based transactions or communications betweenelectronic device100 and merchant subsystem200 (e.g., a merchant payment terminal).NFC component120 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 component120 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 betweenNFC component120 andmerchant subsystem200 may occur within any suitable close range distance betweendevice100 and merchant subsystem200 (see, e.g., distance D ofFIG. 1A), such as a range of approximately 2 to 4 centimeters, and may operate at any suitable frequency (e.g., 13.56 MHz). For example, such close range communication ofNFC component120 may take place via magnetic field induction, which may allowNFC component120 to communicate with other NFC devices and/or to retrieve information from tags having radio frequency identification (“RFID”) circuitry.NFC component120 may provide a manner of acquiring merchandise information, transferring payment information, and otherwise communicating with an external device (e.g., a merchant terminal of merchant subsystem200).
NFC component120 may include any suitable modules for enabling contactless proximity-based communication betweenelectronic device100 andmerchant subsystem200. As shown inFIG. 2, for example,NFC component120 may include anNFC device module130, anNFC controller module140, and anNFC memory module150.
NFC device module130 may include anNFC data module132, an NFC antenna134, and an NFC booster136.NFC data module132 may be configured to contain, route, or otherwise provide any suitable data that may be transmitted byNFC component120 tomerchant subsystem200 as part of a contactless proximity-based or NFC communication5. Additionally or alternatively,NFC data module132 may be configured to contain, route, or otherwise receive any suitable data that may be received byNFC component120 frommerchant subsystem200 as part of a contactless proximity-based communication5.
NFC transceiver or NFC antenna134 may be any suitable antenna or other suitable transceiver circuitry that may generally enable communication of communication fromNFC data module132 tomerchant subsystem200 and/or toNFC data module132 fromsubsystem200. Therefore, NFC antenna134 (e.g., a loop antenna) may be provided specifically for enabling the contactless proximity-based communication capabilities ofNFC component120.
Alternatively or additionally,NFC component120 may utilize the same transceiver circuitry or antenna (e.g., antenna116) that another communication component of electronic device100 (e.g., communication component106) may utilize. For example,communication component106 may leverage antenna116 to enable Wi-Fi, Bluetooth™, cellular, or GPS communication betweenelectronic device100 and another remote entity, whileNFC component120 may leverage antenna116 to enable contactless proximity-based or NFC communication betweenNFC data module132 ofNFC device module130 and another entity (e.g., merchant subsystem200). In such embodiments,NFC device module130 may include NFC booster136, which may be configured to provide appropriate signal amplification for data of NFC component120 (e.g., data within NFC data module132) so that such data may be appropriately transmitted by shared antenna116 as communication tosubsystem200. For example, shared antenna116 may require amplification from booster136 before antenna116 (e.g., a non-loop antenna) may be properly enabled for communicating contactless proximity-based or NFC communication betweenelectronic device100 and merchant subsystem200 (e.g., more power may be needed to transmit NFC data using antenna116 than may be needed to transmit other types of data using antenna116).
NFC controller module140 may include at least oneNFC processor module142.NFC processor module142 may operate in conjunction withNFC device module130 to enable, activate, allow, and/or otherwise controlNFC component120 for communicating an NFC communication betweenelectronic device100 andmerchant subsystem200.NFC processor module142 may exist as a separate component, may be integrated into another chipset, or may be integrated withprocessor102, for example, as part of a system on a chip (“SoC”). As shown inFIG. 2,NFC processor module142 ofNFC controller module140 may be used to run one or more applications, such as an NFC low power mode orwallet application143 that may help dictate the function ofNFC component120.Application143 may include, but is not limited to, one or more operating system applications, firmware applications, NFC low power applications, or any other suitable applications that may be accessible to NFC component120 (e.g.,application103/113).NFC controller module140 may include one or more protocols, such as the Near Field Communication Interface and Protocols (“NFCIP-1”), for communicating with another NFC device (e.g., merchant subsystem200). The protocols may be used to adapt the communication speed and to designate one of the connected devices as the initiator device that controls the near field communication.
NFC controller module140 may control the near field communication mode ofNFC component120. For example,NFC processor module142 may be configured to switchNFC device module130 between a reader/writer mode for reading information (e.g., communication5) from NFC tags (e.g., from merchant subsystem200) toNFC data module132, a peer-to-peer mode for exchanging data (e.g., communication5) with another NFC enabled device (e.g., merchant subsystem200), and a card emulation mode for allowing another NFC enabled device (e.g., merchant subsystem200) to read information (e.g., communication5) fromNFC data module132.NFC controller module140 also may be configured to switchNFC component120 between active and passive modes. For example,NFC processor module142 may be configured to switch NFC device module130 (e.g., in conjunction with NFC antenna134 or shared antenna116) between an active mode whereNFC device module130 may generate its own RF field and a passive mode whereNFC device module130 may use load modulation to transfer data to another device generating an RF field (e.g., merchant subsystem200). Operation in such a passive mode may prolong the battery life ofelectronic device100 compared to operation in such an active mode. The modes ofNFC device module130 may be controlled based on preferences of a user and/or based on preferences of a manufacturer ofdevice100, which may be defined or otherwise dictated by an application running on device100 (e.g.,application103 and/or application143).
NFC memory module150 may operate in conjunction withNFC device module130 and/orNFC controller module140 to allow for NFC communication betweenelectronic device100 andmerchant subsystem200.NFC memory module150 may be embedded within NFC device hardware or within an NFC integrated circuit (“IC”).NFC memory module150 may be tamper resistant and may provide at least a portion of a secure element. For example,NFC memory module150 may store one or more applications relating to NFC communications (e.g., application143) that may be accessed byNFC controller module140. 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 module140 andNFC memory module150 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 onelectronic device100.NFC controller module140 andNFC memory module150 may independently or in combination provide at least a portion of asecure element145, which may be tamper resistant. For example, such asecure element145 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., applet153 and key155) 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 module150 may be a portion ofmemory106 or at least one dedicated chip specific toNFC component120.NFC memory module150 may reside on a SIM, a dedicated chip on a motherboard ofelectronic device100, or as an external plug in memory card.NFC memory module150 may be completely independent fromNFC controller module140 and may be provided by different components ofdevice100 and/or provided toelectronic device100 by different removable subsystems.Secure element145 may be a highly secure, tamper-resistant hardware component within a chip, which may be used for storing sensitive data or applications onelectronic device100. At least a portion ofsecure element145 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 inelectronic devices100 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 ofsecure element145 may be provided in an integrated circuit that may be embedded intoelectronic device100 during manufacturing ofdevice100. Alternatively or additionally, at least a portion ofsecure element145 may be provided in a peripheral device that can be plugged into, inserted into, or otherwise coupled toelectronic device100, such as a micro secure digital (“SD”) memory card.
As shown inFIG. 2,NFC memory module150 may include one or more of an issuer security domain (“ISD”)152 and a supplemental security domain (“SSD”)154 (e.g., a service provider security domain (“SPSD”), a trusted service manager security domain (“TSMSD”), etc.), which may be defined and managed by an NFC specification standard (e.g., GlobalPlatform). For example,ISD152 may be a portion ofNFC memory module150 in which a trusted service manager (“TSM”) or issuing financial institution (e.g.,commercial entity subsystem400 and/or financial institution subsystem350) may store keys and/or other suitable information for creating or otherwise provisioning one or more credentials (e.g., commerce credentials associated with various credit cards, bank cards, gift cards, access cards, transit passes, digital currency (e.g., bitcoin and associated payment networks), etc.) on electronic device100 (e.g., via communications component106), for credential content management, and/or for security domain management. A specific supplemental security domain (“SSD”)154 (e.g.,SSD154a) may be associated with a particular TSM and at least one specific commerce credential (e.g., a specific credit card credential or a specific public transit card credential) that may provide specific privileges or payment rights toelectronic device100. For example, a first payment network subsystem360 (e.g., Visa) may be the TSM forfirst SSD154aandapplet153aoffirst SSD154amay be associated with a commerce credential managed by that firstpayment network subsystem360, while a second payment network subsystem360 (e.g., MasterCard) may be the TSM for another SSD154.
Security features may be provided for enabling use of NFC component120 (e.g., for enabling activation of commerce credentials provisioned on device100) that may be particularly useful when transmitting confidential payment information, such as credit card information or bank account information of a credential, fromelectronic device100 tomerchant subsystem200. 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 withinNFC memory module150. Further, security information, such as an authentication key, for communicating withsubsystem200 may be stored withinNFC memory module150. In certain embodiments,NFC memory module150 may include a microcontroller embedded withinelectronic device100.
A merchant terminal ofmerchant subsystem200 ofFIG. 1A may include a reader for detecting, reading, or otherwise receiving an NFC communication from electronic device100 (e.g., whenelectronic device100 comes within a certain distance or proximity of such a merchant terminal). Accordingly, it is noted that an NFC communication between such a merchant terminal andelectronic device100 may occur wirelessly and, as such, may not require a clear “line of sight” between the respective devices. As mentioned,NFC device module130 may be passive or active. When passive,NFC device module130 may only be activated when within a response range of a suitable reader of such a merchant terminal. For instance, a reader of such a merchant terminal may emit a relatively low-power radio wave field that may be used to power an antenna utilized by NFC device module130 (e.g., shared antenna116 or NFC-specific antenna134) and, thereby, enable that antenna to transmit suitable NFC communication information (e.g., credit card credential information) fromNFC data module132, via antenna116 or antenna134, to such a merchant terminal as an NFC communication. When active,NFC device module130 may incorporate or otherwise have access to a power source local to electronic device100 (e.g., power supply108) that may enable shared antenna116 or NFC-specific antenna134 to actively transmit NFC communication information (e.g., credit card credential information) fromNFC data module132, via antenna116 or antenna134, to such a merchant terminal as an NFC communication, rather than reflect radio frequency signals, as in the case of a passiveNFC device module130. A merchant terminal may be provided by a merchant of merchant subsystem200 (e.g., in a store of the merchant for selling products or services directly to the user ofdevice100 at the store). WhileNFC component120 has been described with respect to near field communication, it is to be understood thatcomponent120 may be configured to provide any suitable contactless proximity-based mobile payment or any other suitable type of contactless proximity-based communication betweenelectronic device100 and such a merchant terminal. For example,NFC component120 may be configured to provide any suitable short-range communication, such as those involving electromagnetic/electrostatic coupling technologies.
WhileNFC component120 has been described with respect to near field communication, it is to be understood thatcomponent120 may be configured to provide any suitable contactless proximity-based mobile payment or any other suitable type of contactless proximity-based communication betweenelectronic device100 andmerchant subsystem200. For example,NFC component120 may be configured to provide any suitable short-range communication, such as those involving electromagnetic/electrostatic coupling technologies.
Electronic device100 may also be provided with a housing101 that may at least partially enclose one or more of the components ofdevice100 for protection from debris and other degrading forces external todevice100. In some embodiments, one or more of the components may be provided within its own housing (e.g.,input component110 may be an independent keyboard or mouse within its own housing that may wirelessly or through a wire communicate withprocessor102, which may be provided within its own housing).
As mentioned, and as shown inFIG. 4, one specific example ofelectronic device100 may be a handheld electronic device, such as an iPhone™, where housing101 may allow access tovarious input components110a-110i, various output components112a-112c, and various I/O components114a-114dthrough whichdevice100 and a user and/or an ambient environment may interface with each other. Input component110amay include a button that, when pressed, may cause a “home” screen or menu of a currently running application to be displayed bydevice100. Input component110bmay be a button for togglingelectronic device100 between a sleep mode and a wake mode or between any other suitable modes. Input component110cmay include a two-position slider that may disable one or more output components112 in certain modes ofelectronic device100. Input components110dand110emay include buttons for increasing and decreasing the volume output or any other characteristic output of an output component112 ofelectronic device100. Each one ofinput components110a-110emay be a mechanical input component, such as a button supported by a dome switch, a sliding switch, a control pad, a key, a knob, a scroll wheel, or any other suitable form.
An output component112amay be a display that can be used to display a visual or graphic user interface (“GUI”)180, which may allow a user to interact withelectronic device100. GUI180 may include various layers, windows, screens, templates, elements, menus, and/or other components of a currently running application (e.g.,application103 and/orapplication113 and/or application143) that may be displayed in all or some of the areas of display output component112a. For example, as shown inFIG. 4, GUI180 may be configured to display afirst screen190. One or more ofuser input components110a-110imay be used to navigate through GUI180. For example, oneuser input component110 may include a scroll wheel that may allow a user to select one or more graphical elements oricons182 of GUI180.Icons182 may also be selected via a touch screen I/O component114athat may include display output component112aand an associated touch input component110f. Such a touch screen I/O component114amay employ any suitable type of touch screen input technology, such as, but not limited to, resistive, capacitive, infrared, surface acoustic wave, electromagnetic, or near field imaging. Furthermore, touch screen I/O component114amay employ single point or multi-point (e.g., multi-touch) input sensing.
Icons182 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 component112aupon selection by the user. Furthermore, selection of aspecific icon182 may lead to a hierarchical navigation process. For example, selection of aspecific icon182 may lead to a new screen of GUI180 that may include one or more additional icons or other GUI elements of the same application or of a new application associated with thaticon182.Textual indicators181 may be displayed on or near eachicon182 to facilitate user interpretation of eachgraphical element icon182. It is to be appreciated that GUI180 may include various components arranged in hierarchical and/or non-hierarchical structures. When aspecific icon182 is selected,device100 may be configured to open a new application associated with thaticon182 and display a corresponding screen of GUI180 associated with that application. For example, when thespecific icon182 labeled with a “Merchant App” textual indicator181 (i.e., specific icon183) is selected,device100 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 withdevice100 in a specific manner. For each application, screens may be displayed on display output component112aand may include various user interface elements (e.g.,screens190a-190eofFIGS. 14A-14E). Additionally or alternatively, for each application, various other types of non-visual information may be provided to a user via various other output components112 ofdevice100. The operations described with respect to various GUIs180 may be achieved with a wide variety of graphical elements and visual schemes. Therefore, the described embodiments are not intended to be limited to the precise user interface conventions adopted herein. Rather, embodiments may include a wide variety of user interface styles.
Electronic device100 also may include various other I/O components114 that may allow for communication betweendevice100 and other devices. I/O component114bmay 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 component114bmay be a proprietary port, such as a Lightning™ connector or a 30-pin dock connector from Apple Inc. of Cupertino, Calif. I/O component114cmay be a connection slot for receiving a SIM card or any other type of removable component. I/O component114dmay be a headphone jack for connecting audio headphones that may or may not include a microphone component.Electronic device100 may also include at least oneaudio input component110g, such as a microphone, and at least one audio output component112b, such as an audio speaker.
Electronic device100 may also include at least one haptic ortactile output component112c(e.g., a rumbler), a camera and/orscanner input component110h(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 component110i(e.g., a fingerprint reader or other feature recognition sensor, which may operate in conjunction with a feature-processing application that may be accessible toelectronic device100 for authenticating a user). As shown inFIG. 4, at least a portion of biometric input component110imay be incorporated into or otherwise combined with input component110aor any othersuitable input component110 ofdevice100. For example, biometric input component110imay be a fingerprint reader that may be configured to scan the fingerprint of a user's finger as the user interacts with mechanical input component110aby pressing input component110awith that finger. As another example, biometric input component110imay be a fingerprint reader that may be combined with touch input component110fof touch screen I/O component114a, such that biometric input component110imay be configured to scan the fingerprint of a user's finger as the user interacts with touch screen input component110fby pressing or sliding along touch screen input component110fwith that finger. Moreover, as mentioned,electronic device100 may further includeNFC component120, which may be communicatively accessible tosubsystem200 via antenna116 and/or antenna134 (not shown inFIG. 4).NFC component120 may be located at least partially within housing101, and a mark orsymbol121 can be provided on the exterior of housing101 that may identify the general location of one or more of the antennas associated with NFC component120 (e.g., the general location of antenna116 and/or antenna134).
Moreover, one, some, or all of the processes described with respect toFIGS. 1-14E may each be implemented by software, but may also be implemented in hardware, firmware, or any combination of software, hardware, and firmware. Instructions for performing these processes may also be embodied as machine- or computer-readable code recorded on a machine- or computer-readable medium. In some embodiments, the computer-readable medium may be a non-transitory computer-readable medium. Examples of such a non-transitory computer-readable medium include but are not limited to a read-only memory, a random-access memory, a flash memory, a CD-ROM, a DVD, a magnetic tape, a removable memory card, and a data storage device (e.g., memory104 and/ormemory module150 ofFIG. 2). In other embodiments, the computer-readable medium may be a transitory computer-readable medium. In such embodiments, the transitory computer-readable medium can be distributed over network-coupled computer systems so that the computer-readable code is stored and executed in a distributed fashion. For example, such a transitory computer-readable medium may be communicated from one electronic device to another electronic device using any suitable communications protocol (e.g., the computer-readable medium may be communicated toelectronic device100 via communications component106 (e.g., as at least a portion of anapplication103 and/or as at least a portion of anapplication113 and/or as at least a portion of an application143)). Such a transitory computer-readable medium may embody computer-readable code, instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and may include any information delivery media. A modulated data signal may be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
It is to be understood that any, each, or at least one module or component or subsystem ofsystem1 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 ofsystem1 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 ofsystem1 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 ofsystem1 may be stored in or otherwise accessible to an entity ofsystem1 in any suitable manner (e.g., in memory104 of device100 (e.g., as at least a portion of anapplication103 and/or as at least a portion of anapplication113 and/or as at least a portion of an application143)). For example, any or each module ofNFC component120 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 ofsystem1 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 system1 (e.g., any or each module of NFC component120) 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 toNFC component120, by way of example only, the modules ofNFC component120 may interface with a motherboard orprocessor102 ofdevice100 through an expansion slot (e.g., a peripheral component interconnect (“PCI”) slot or a PCI express slot). Alternatively,NFC component120 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 component120 may be integrated intodevice100. For example, a module ofNFC component120 may utilize a portion of device memory104 ofdevice100. Any or each module or component of system1 (e.g., any or each module of NFC component120) may include its own processing circuitry and/or memory. Alternatively, any or each module or component of system1 (e.g., any or each module of NFC component120) may share processing circuitry and/or memory with any other module ofNFC component120 and/orprocessor102 and/or memory104 ofdevice100.
As mentioned, aninput component110 of device100 (e.g., input component110f) may include a touch input component that can receive touch input for interacting with other components ofdevice100 via wired orwireless bus118. Such atouch input component110 may be used to provide user input todevice100 in lieu of or in combination with other input components, such as a keyboard, mouse, and the like.
Atouch input component110 may include a touch sensitive panel, which may be wholly or partially transparent, semitransparent, non-transparent, opaque, or any combination thereof. Atouch input component110 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, atouch input component110 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 component112a). In other embodiments, atouch input component110 may be embodied as an integrated touch screen where touch sensitive components/devices are integral with display components/devices. In still other embodiments, atouch input component110 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.
Atouch input component110 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 inputcomponent110. 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 atouch input component110. A gesture may be performed by moving one or more fingers or other objects in a particular manner ontouch input component110, 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 device100 may drive a display (e.g., display output component112a) with graphical data to display a graphical user interface (“GUI”)180. GUI180 may be configured to receive touch input via a touch input component110fEmbodied as a touch screen (e.g., with display output component112aas I/O component114a), touch I/O component110fmay display GUI180. Alternatively, GUI180 may be displayed on a display (e.g., display output component112a) separate from touch input component110f. GUI180 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 component110f, which may be associated with the graphical elements of GUI180. In other embodiments, the user may perform gestures at one or more locations that are independent of the locations of graphical elements of GUI180. Gestures performed on atouch input component110 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 device100 (e.g., affect a state or mode of a GUI, application, or operating system). Gestures may or may not be performed on atouch input component110 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 viabus118 in response to or based on the touch or near touches on atouch input component110. 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.