Patent Publication Number: US-2023153790-A1

Title: Simulated contactless payment cards providing multiple temporary profiles and corresponding credentials

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a division of U.S. patent application Ser. No. 17/025,045, filed Sep. 18, 2020, which claims the benefit of U.S. Provisional Patent Application Ser. No. 62/902,592, filed Sep. 19, 2019. 
    
    
     BACKGROUND 
     A contactless card is usually dedicated to a single user. An issuer provisions (customizes) a card for a particular cardholder and the card is then issued to the cardholder, with the personalization credentials stored in a secure element. The personalization credentials include a personal account number (PAN) along with keys unique to the cardholder. These data remain unchanged during the card lifetime and so do not need to be updated on a transaction basis. The secure element usually includes a persistent memory (e.g., non-volatile memory such as EEPROM) in which the personalization credentials are stored. The personalization credentials are usually only updated when the card expires, thus not very often. 
     BRIEF SUMMARY 
     Simulated contactless payment cards providing multiple temporary profiles and corresponding credentials are described. 
     A bridge service is provided to support simulated contactless cards, for example, in point of sale (POS) systems, so that many customers can use the same device/application for simulating their contactless card. The bridge service supports the simulated contactless cards by, in response to receiving a request to provision a secure element with payment card profile information of a user, provisioning a token representing the payment card profile, converting the token representing the payment card profile into a format for the payment application; and providing the payment card profile to the payment application. The payment card profile can include a single use key. 
     A POS system that takes contactless payments can be configured to also take simulated contactless cards either through retrofitting (e.g., via a dongle running a multi-user simulated contactless payment card application that uses the bridge service) or via an integrated simulator system that runs the multi-user simulated contactless payment card application that uses the bridge service. 
     This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    illustrates an example operating environment for simulated contactless payment cards providing multiple temporary files and corresponding credentials. 
         FIG.  2    illustrates an example process flow for payment via multi-user simulated contactless payment cards. 
         FIG.  3    illustrates an example process carried out by a multi-user simulated contactless payment card application. 
         FIG.  4    illustrates an example process for supporting contactless payment cards providing multiple temporary profiles and corresponding credentials. 
         FIG.  5    illustrates example processes carried out by a bridge service supporting contactless payment cards providing multiple temporary profiles and corresponding credentials according to an example implementation. 
         FIG.  6    illustrates components of a computing system that may provide a bridge service as described herein. 
     
    
    
     DETAILED DESCRIPTION 
     Simulated contactless payment cards providing multiple temporary profiles and corresponding credentials are described. 
     A bridge service, which may also be referred to herein as a provisioning service, is provided to support simulated contactless cards, for example, in point of sale (POS) systems that include a secure element or have a secure element within near field communication range. A POS system that takes contactless payments can be configured to also take simulated contactless cards either through retrofitting (e.g., via a dongle running a multi-user simulated contactless payment card application that uses the bridge service) or via a simulator system that is integrated with the POS system and runs the multi-user simulated contactless payment card application that uses the bridge service. When the contactless payment device is in the form of a dongle, there is no change to the merchant terminal infrastructure itself, just the addition of the dongle in front of the contactless reader. The dongle can thus act as a contactless card for the merchant contactless terminal. The dongle does not need to make physical contact with the merchant terminal/POS system so long as the dongle is able to be in communication with a contactless card reader of the merchant terminal/POS system. It should be understood that, although reference is made to a POS system, the implementation of the system may be akin to any point of interaction (POI) terminal or other interface for payment. 
       FIG.  1    illustrates an example operating environment for simulated contactless payment cards providing multiple temporary files and corresponding credentials. Referring to  FIG.  1   , a contactless payment device  100 , which may be in the form of a dongle or integrated with a POS system, can include a processing system  110 , a memory system  120 , and a communications system  130 . 
     The processing system can include any suitable processing devices, such as a microprocessor, central processing unit (CPU), graphics processing unit (GPU), field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), logic circuits, and state machines. 
     The memory system  120  can include volatile (e.g., dynamic random access memory (DRAM), static random access memory (SRAM)) and non-volatile memory (e.g., flash, magnetic random access memory (MRAM, FeRAM)). Non-volatile memory can be used as persistent memory since non-volatile memory does not require power to maintain the stored information. The memory of memory system  120  may be removable or non-removable. 
     As illustrated in the example of  FIG.  1   , the memory system  120  stores a multi-user simulated contactless payment card application  140 , which may carry out process  300  such as described with respect to  FIG.  3   . The application  140  may be stored in any suitable type of memory of the memory system  120 . Memory system  120  at least includes a non-volatile memory  142  and a volatile memory  144 . At least a portion of the non-volatile memory  142  is part of a secure element part of the contactless payment device  100 . It should be noted that although one non-volatile memory  142  and one volatile memory  144  are shown, the contactless payment device  100  may utilize one or more memory circuits/chips for that memory type. 
     Communications system  130  includes the interfaces and logic for communicating over various networks such as via short range wireless connectivity (e.g., near field communication (NFC)), via radio frequency protocols (e.g., Bluetooth, Wi-Fi using IEEE standards 802.11, cellular data protocols using GSM, CDMA, 3G, 4G, 5G etc., satellite), and via wired connections (e.g., ethernet). The particular types of communications available via communications system  130  depends on implementation. 
     Communications system  130  enables contactless payment device  100  to communicate with bridge service  150  and to communicate with a point of sale terminal (when not integrated as part of the point of sale terminal) for the transaction. 
     The contactless payment device  100  equipped with a secure element (including non-volatile memory  142 ) can be located within a communication distance to a merchant&#39;s contactless reader of a point of sale terminal. Instead of each individual user having their own contactless payment device, the contactless payment device  100  is available for use by any customer. 
     Unlike in the conventional contactless payment device or card, which belongs to a specific cardholder and can store credentials in the secure element/non-volatile memory, the described contactless payment device  100  is used for effectively any customer. 
     In operation, when a customer wants to pay, the customer is first identified by the contactless payment device  100  or an identification device (e.g., a palm reader) (not shown), for example, using biometrics or some other mechanism that can identify (and optionally authenticate) a customer. Once the customer is identified, the device  100  is personalized so as to behave like a contactless card (or mobile application) of this customer and the payment takes place. For example, once the customer is identified, the bridge service  150  can provide to the device  100  the single-use contactless card belonging to the authenticated user. The device  100  can be used with existing contactless terminals, communicate with a terminal via Bluetooth or other communication protocol, or be part of a payment terminal (e.g., integrated with the POS system). 
     The bridge service  150  is provided to support multiple temporary profiles and corresponding credentials on the contactless payment device  100 . To provision the secure element with cardholder&#39;s specific data (e.g., card profile data including PAN and keys—and other EMV data), the contactless payment device  100  uses the described bridge service  150 . The contactless payment device  100  (e.g., directed by the multi-user simulated contactless payment card application  140 ) calls the service  150  and the service  150  sends the card details (e.g., PAN, keys, other EMV data such as card country code, currency code, certificates, etc.) to the contactless payment device  100  in response to the request. The keys that will be used for the transaction are single use, and they can only be used for one transaction. This is to be opposed to a conventional secure element implementation where the personalized keys are usually the card master keys that are multi use. 
     The bridge service  150  can be a hybrid between certain features of a digital enablement service, such as provided by a remote provisioning system (examples include the Mastercard Digital Enablement Service and the Visa Digital Enablement Program and Visa Token Service), and certain features of a mobile payment solution, such as provided by a cloud-based payments solution (examples include the Mastercard Cloud-Based Payments services and the Visa Cloud-Based Payments services). The hybrid approach can use card profile data (token credential) that is transferred during token provisioning via a digital enablement service to a Wallet Server of a mobile payment solution that extracts the data elements and pushes the extracted data elements to the multi-user simulated contactless payment card application to enable the contactless transactions. 
     In a conventional secure element/contactless payment card/application implementation, a personalization sequence takes place between a Trusted Service Manager (e.g., a digital enablement service) and the payment application. A secure channel is opened between these two entities, and the personalization data is received (card profile and credentials) and stored in the persistent memory of the secure element. However, this approach has challenges if the secure element needs to be updated repeatedly such as is the case for multi-user scenarios. In particular, the secure element&#39;s persistent memory (where the card profile is conventionally stored) has a limitation in the number of writing cycles. After too many cycles, the persistent memory can be fatally damaged such that the secure element does not work anymore. This is not a problem when the secure element belongs to a particular cardholder, as it is unlikely that the particular cardholder would delete and re-add cards multiple times a day (e.g., a hundred or more times per day such as possible when the contactless payment device is used for each customer at a merchant&#39;s point of sale terminal/contactless reader). In contrast, the described contactless payment device  100  may be used for all payments at a terminal, whoever the customer, so card profiles are added and deleted possibly hundreds of times a day. 
     Accordingly, to avoid degrading a secure element&#39;s persistent memory (e.g., non-volatile memory  142 ) and improve usability of a secure element (such as provided by contactless payment device  100 ), cardholder profiles are stored temporarily in non-persistent memory, such as volatile memory  144 , which does not have the same limitation on the number of writing cycles before the memory becomes irremediably damaged. In addition, whenever there is a transaction (which requires provisioning of a cardholder profile), no writing is required to persistent memory (e.g., non-volatile memory  142 ). 
     The multi-user simulated contactless payment card application  140  can be implemented as part of a smart card computing environment, such as the Java Card Platform, on which an applet is run. In such an environment, there are two forms of transient memory that are supported:
         CLEAR_ON_DESELECT memory: the data are kept in volatile memory (e.g., volatile memory  144 ) while the application remains selected. That memory is cleared when the application is deselected.   CLEAR_ON_RESET memory: the data are kept in volatile memory while the secure element remains powered on. That memory is reset once the secure element is rebooted. The amount of such memory must be declared at the application installation and is limited per application.       

     For contactless payment devices that are implemented with a computing environment such as the Java Card Platform, the cardholder profile can be stored in volatile memory  144  using CLEAR_ON_DESELECT memory. 
       FIG.  2    illustrates an example process flow for payment via multi-user simulated contactless payment cards. The scenario illustrated in  FIG.  2    can begin at a terminal  205  for a merchant, which may display ( 206 ) a total cost for purchase to a cardholder  210  and include or have associated therewith a contactless payment device  212  with multi-user simulated contactless payment card application  214 . The cardholder can initiate ( 216 ) payment via the contactless payment device  212  with multi-user simulated contactless payment card application  214 . For example, when a customer wants to pay, the customer can initiate the transaction by identifying themselves to the payment device  212 , using a biometric or other mechanism that can identify (and optionally authenticate) the customer. The initiation of the transaction includes a request for the contactless payment device to be provisioned for that particular customer. 
     In response to the request for the contactless payment device to be provisioned for that particular customer, the contactless payment device  212 , directed by the multi-user simulated contactless payment card application  214 , can use the identification of the customer to personalize and behave like a contactless card (or mobile application) of this customer, for example, following process  300  described with respect to  FIG.  3   . For the example implementation of the scenario shown in  FIG.  2   , the identification information (e.g., biometric) is communicated ( 218 ) to a bridge service  220  with the request for the provisioning. The bridge service  220  may authenticate the customer in addition to performing the provisioning or may receive, for example, a result of an authentication occurring at the terminal  205  or by another service as part of the request for provisioning (which also includes identification information so that appropriate credentials can be obtained). 
     The bridge service  220  may perform process  400  such as described with respect to  FIG.  4   . Here, the bridge service  220  includes a digital enablement service  222  and a credentials management service  224 . The digital enablement service  222  can receive the information of the cardholder  210  and obtain ( 226 ) the card profile of the cardholder  210 . Instead of communicating the card profile and credentials to the contactless payment device  212 , the digital enablement service  222  of the bridge service  220  provides ( 228 ) the card profile to the credentials management service  224  of the bridge service  220 . The credentials management service  224  generates ( 230 ) a single use key, generates a message with the card profile and single use key in the appropriate format for the payment card application, and communicates ( 232 ) the message with card profile and single use key to the contactless payment device  212 . 
     When the payment application  214  receives the message from the credentials management service  224  of the bridge service  220 , the payment application  214  stores the information (e.g., token credentials) to enable a contactless transaction. The information can be stored on volatile memory (e.g., volatile memory  144  of  FIG.  1   ). 
     The information of the cardholder (e.g., token credentials) can be used at the terminal  205  via the contactless payment device  212  to perform the transaction, communicating ( 234 ) a transaction message to a payment network  235  (e.g., merchant acquirer, payment network, issuer, etc.). Once payment is complete, the credentials at the payment device  212  are erased ( 236 ). 
       FIG.  3    illustrates an example process carried out by a multi-user simulated contactless payment card application. Referring to  FIG.  3   , a process  300  can begin when a customer attempts to pay with a simulated contactless card via a contactless payment device (e.g., contactless payment device  100 ). The contactless payment device can be personalized (e.g., provisioned) so as to behave like a contactless card for that customer. The contactless payment device can receive ( 302 ) a request to be provisioned for a particular customer. This request to be provisioned may be part of or subsequent to authentication (e.g., via a biometric) of the user at the contactless payment device (or via an independent authentication device that can securely push the result of the authentication to the bridge service). The contactless payment device can communicate ( 304 ) a request for payment card profile information to the bridge service; and the simulated contactless card can receive ( 306 ) payment card profile information from the bridge service. The request for payment card profile information can include account information obtained from the authentication of the user. The payment card profile information received from the bridge service includes a single use key. The single use key refers to a key that can only be used for one transaction, which is opposite to the conventional secure element implementation where the personalized keys are usually the card master keys that are multi use. The payment card profile information can also include a personal account number (PAN). The contactless payment device can store ( 308 ) the payment card profile information in a volatile memory (e.g., the volatile memory  144  of  FIG.  1   ). 
       FIG.  4    illustrates an example process for supporting contactless payment cards providing multiple temporary profiles and corresponding credentials. Referring to  FIG.  4   , process  400  can include receiving ( 402 ) a request to provision a secure element with payment card profile information of a user. The request can be sent from a payment application such as multi-user simulated contactless payment card application  140  as described with respect to  FIG.  1   . In response to the request, the method can include provisioning ( 404 ) a token representing the payment card profile. The provisioning  404  may be carried out by a digital enablement services component such as described with respect to  FIG.  5   . The method can continue with converting ( 406 ) the token representing the payment card profile into a format for the payment application; and providing ( 408 ) the payment card profile to the payment application. 
       FIG.  5    illustrates example processes carried out by a bridge service supporting contactless payment cards providing multiple temporary profiles and corresponding credentials according to an example implementation. In the example of  FIG.  5   , an initial provisioning flow carried out at a bridge service  500  is shown. Here, the bridge service is illustrated as including three components: a digital enablement service  510 , a credentials management service  520 , and a payment application service  530 . A payment application  540 , which may be an implementation of multi-use simulated contactless payment card application  140  of  FIG.  1   , communicates with the various service components of the bridge service to support multi-user contactless payments. 
     Referring to  FIG.  5   , an initial provisioning process begins with provisioning ( 541 ) of a card profile from the digital enablement service  510  to the credentials management service  520 . The card profile can be in the form of any suitable predefined syntax text file such as XML and JSON. For example, the card profile can be a JSON object that constitutes the token credential. In some cases, the digital enablement service  510  can initially deliver the card profile structure to the credentials management service  520  in the provision request message from a Credentials Management API. The card profile object is part of the payload of the encrypted data field in the request message. 
     In some cases, the provisioning in operation  541  for the initial provisioning process is carried out in response to receiving a first communication from the payment application  540 , where the first communication indicates the user (and this communication may include information used to authenticate the user). 
     The digital enablement service  510  tokenizes existing account PANs held on file, replacing each PAN with a unique token (subject to issuer participation). These tokens can be used for e-commerce transactions, in-app transactions, and the described multi-user simulated contactless card transactions. The token credentials can come without the session keys needed during the transaction. The credential management service  520  converts the card profile into a format understandable by the payment application  540 . For example, the syntax text file of the card profile may be provisioned into SCP03 data blocks and a Secure Channel SCP03 can be opened with the Security Domain of a GlobalPlatform Secure Element. In some cases, the credentials management service is hosted on a Wallet Server. 
     The credentials management service  520  extracts the needed data elements from the card profile and pushes these extracted data elements to the payment application  540  via the payment application service  530 . The credentials management service  520  can derive a single use key from a card master key. In the illustrated example, the credentials management service  520  notifies ( 542 A,  542 B) the payment application  540  via the payment application service  530  of the provisioning. The payment application  540  can then request ( 543 ) the credentials from the credentials management service  520  which generates ( 544 ) a single use key and provides ( 545 ) the card profile and single use key in the appropriate format for the payment application  540 . For example, the credentials management service  520  transfers the converted card profile structure (e.g., DGI 8000 format) to the target payment application instance (e.g., payment application  540 ) after extracting the needed data elements. The request  543  may be considered a second communication indicating a request responding to the notification of an available payment card profile of the user. 
       FIG.  6    illustrates components of a computing system that may provide a bridge service as described herein. Referring to  FIG.  6   , system  600  may be implemented within a single computing device or distributed across multiple computing devices or sub-systems that cooperate in executing program instructions. The system  600  can include one or more blade server devices, standalone server devices, personal computers, routers, hubs, switches, bridges, firewall devices, intrusion detection devices, mainframe computers, network-attached storage devices, and other types of computing devices. The system hardware can be configured according to any suitable computer architectures such as a Symmetric Multi-Processing (SMP) architecture or a Non-Uniform Memory Access (NUMA) architecture. 
     The system  600  can include a processing system  610 , which may include one or more processors and/or other circuitry that retrieves and executes software for bridge service  620  from storage system  630 . Processing system  610  may be implemented within a single processing device but may also be distributed across multiple processing devices or sub-systems that cooperate in executing program instructions. 
     Storage system(s)  630  can include any computer readable storage media readable by processing system  610  and capable of storing software for the bridge service  620 . Storage system  630  may be implemented as a single storage device but may also be implemented across multiple storage devices or sub-systems co-located or distributed relative to each other. Storage system  630  may include additional elements, such as a controller, capable of communicating with processing system  610 . Storage system  630  may also include storage devices and/or sub-systems on which data is stored. System  600  may access one or more storage resources in order to obtain information to carry out any of the processes indicated by bridge service  620 . 
     Software for the bridge service  620 , including routines for performing processes such as described with respect to services  510 ,  520 , and  530  of  FIG.  5    and process  400  described with respect to  FIG.  4    may be implemented in program instructions and among other functions may, when executed by system  600  in general or processing system  610  in particular, direct the system  600  or processing system  610  to operate as described herein. 
     Communication interface  640  may be included, providing communication connections and devices that allow for communication between system  600  and other computing systems (not shown) over a communication network or collection of networks (not shown) or the air. 
     In embodiments where the system  600  includes multiple computing devices, the system  600  can include one or more communications networks that facilitate communication among the computing devices. For example, the one or more communications networks can include a local or wide area network that facilitates communication among the computing devices. One or more direct communication links can be included between the computing devices. In addition, in some cases, the computing devices can be installed at geographically distributed locations. In other cases, the multiple computing devices can be installed at a single geographic location, such as a server farm or an office. 
     In some embodiments, system  600  may host one or more virtual machines. 
     Alternatively, or in addition, the functionality, methods, and processes described herein can be implemented, at least in part, by one or more hardware modules (or logic components). For example, the hardware modules can include, but are not limited to, application-specific integrated circuit (ASIC) chips, field programmable gate arrays (FPGAs), system-on-a-chip (SoC) systems, complex programmable logic devices (CPLDs) and other programmable logic devices now known or later developed. When the hardware modules are activated, the hardware modules perform the functionality, methods and processes included within the hardware modules. 
     It should be understood that as used herein, in no case do the terms “storage media,” “computer-readable storage media” or “computer-readable storage medium” consist of transitory carrier waves or propagating signals. Instead, “storage” media refers to non-transitory media. 
     Although the subject matter has been described in language specific to structural features and/or acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as examples of implementing the claims and other equivalent features and acts are intended to be within the scope of the claims.