# Patent

## Title
Systems for provisioning universal integrated circuit cards

## Abstract

A system that incorporates the subject disclosure may include, for example, a system for receiving a request to modify a universal integrated circuit card, generating a package comprising configuration data for modifying the universal integrated circuit card, encrypting the package with a transport key to generate an encrypted package, transmitting the encrypted package to a communication device communicatively coupled to the universal integrated circuit card to provision the universal integrated circuit card, and providing a mobile network operator trusted service manager system information relating to the configuration data to enable the mobile network operator trusted service manager system to manage content and memory allocation of the universal integrated circuit card. Other embodiments are disclosed.

## Background
CROSS-REFERENCE TO RELATED APPLICATION(S)
This application is a continuation of and claims priority to U.S. patent application Ser. No. 14/556,511 filed Dec. 1, 2014, which is a divisional of and claims priority to U.S. patent application Ser. No. 13/680,680 filed Nov. 19, 2012 (now U.S. Pat. No. 8959,331), the disclosures of all of which are hereby incorporated by reference in their entirety.


FIELD OF THE DISCLOSURE
The subject disclosure relates to systems for provisioning universal integrated circuit cards.
BACKGROUND
Mobile Network Operators (MNOs) generally provide each subscriber a communication device with a Universal Integrated Circuit Card (UICC), commonly known as a Subscriber Identity Module or SIM card, which enables the communication device to authenticate and access a mobile network. In some instances the SIM card can be removed by the subscriber and inserted in an alternate communication device, providing the subscriber continuity of network access and services from device to device. A subscriber can switch subscription to another MNO by physically swapping one SIM card for another.
In an environment involving machine-to-machine communications, it is common for a UICC to be placed in harsh environments such as a communication device located in an automobile engine, or atop a streetlight, which is not easily accessible. In such applications the UICC is often embedded in the communication device and not physically replaceable. When a subscriber of a device utilizing an embedded UICC wishes to switch to another MNO, the subscriber may have to replace the device.



BRIEF DESCRIPTION OF THE DRAWINGS
Reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
FIG. 1 depicts an illustrative embodiment of a first method used by a telecommunications network shown in FIG. 2;
FIG. 2 depicts an illustrative embodiment of a telecommunications network that can utilize the method of FIG. 1;
FIG. 3 depicts an illustrative embodiment of a second method used by a telecommunications network shown in FIG. 4;
FIG. 4 depicts an illustrative embodiment of a telecommunications network that can utilize the method of FIG. 3;
FIG. 5 depicts an illustrative embodiment of a third method used by a telecommunications network in FIG. 6;
FIG. 6 depicts an illustrative embodiment of a telecommunications network that can utilize the method of FIG. 5;
FIG. 7 depicts an illustrative embodiment of a communication device that embodies in whole or in part devices of FIGS. 2, 4 and 6; and
FIG. 8 is a diagrammatic representation of a machine in the form of a computer system within which a set of instructions, when executed, may cause the machine to perform any one or more of the methods described herein.



DETAILED DESCRIPTION
The subject disclosure describes, among other things, illustrative embodiments for managing content and memory allocated to applications of a universal integrated circuit card (UICC). Other embodiments are included in the subject disclosure.
One embodiment of the subject disclosure includes a system comprising a memory to store instructions, and a controller coupled to the memory for executing the instructions. Upon executing the instructions the controller performs operations including receiving a request to modify a universal integrated circuit card, generating a package comprising configuration data for modifying the universal integrated circuit card, encrypting the package with a transport key to generate an encrypted package, transmitting the encrypted package to a communication device communicatively coupled to the universal integrated circuit card to provision the universal integrated circuit card, and providing a mobile network operator trusted service manager system information relating to the configuration data to enable the mobile network operator trusted service manager system to manage content and memory allocation of the universal integrated circuit card.
One embodiment of the subject disclosure includes a system comprising a memory to store instructions, and a controller coupled to the memory for executing the instructions. Upon executing the instructions the controller performs operations including receiving a request to modify content in a mobile wallet security domain container of a universal integrated circuit card, verifying that resources of the universal integrated circuit card and a communication device communicatively coupled to the universal integrated circuit card are capable of satisfying the request, generating a script according to the request, encrypting the script according to an application key to generate an encrypted script, generating a package comprising the encrypted script and transport data, encrypting the package with a transport key to generate an encrypted package, transmitting the encrypted package to the communication device communicatively coupled to the universal integrated circuit card to provision the content of the mobile wallet security domain container of the universal integrated circuit card, and providing a mobile network operator trusted service manager system information relating to the provisioning of the mobile wallet security domain to manage content and memory allocation of the universal integrated circuit card.
One embodiment of the subject disclosure includes a system comprising a memory to store instructions, and a controller coupled to the memory for executing the instructions. Upon executing the instructions the controller performs operations including receiving a first encrypted package, where the first encrypted package is encrypted by a subscription management data preparation system with an application key responsive to the subscription management data profile system receiving a request from a second service provider to modify a universal integrated circuit card with configuration data, generating a second package comprising the first encrypted package and transport data, encrypting the second package with a transport key to generate a second encrypted package, transmitting the second encrypted package to a communication device communicatively coupled to the universal integrated circuit card to provision the universal integrated circuit card with the configuration data, and providing a mobile network operator system information relating to the configuration data to enable the mobile network operator trusted service manager system to manage content and memory allocation of the universal integrated circuit card.
FIG. 1 depicts an illustrative embodiment of a first method used by a telecommunications network 200 shown in FIG. 2. The telecommunications network 200 can comprise four communication layers: 1) a service provider layer, 2) a service management layer, 3) an over-the-air (OTA) layer, and 4) a device layer. The service provider layer can comprise a number of systems such as a service provider payment system, a service provider non-payment system, a trusted execution environment service provider system (TEE SP), a subscription management data preparation system (SM-DP), a Telco secure element issuer system (Telco SEI), and a mobile network operator (MNO) Telco.
The service management layer can comprise a mobile wallet trusted service manager system (MW TSM), a third party service provider TSM, and a Telco remote management function system. The Telco remote management function system can integrate an MNO TSM system, a subscription management secure routing system (SM-SR) system, and a TEE management system. The OTA layer can comprise a mobile wallet (MW) OTA, a Telco MNO TSM OTA, and a legacy Telco OTA. The device layer can comprise a communication device 206 using a UICC 208. In one embodiment, the UICC 208 can be removable from the communication device 206. The encryption keys referred to in FIGS. 2, 4 and 6, which will be described further below, particularly, the transport key, application key, and the TEE key are managed and stored by a key management system 211 shown in FIGS. 2, 4 and 6. Other encryption keys not mentioned in the subject disclosure, but applicable to the subject disclosure, can also be stored and managed by the key management system 211. The encryption keys described in the subject disclosure can be used for encryption as well as authentication purposes.
In an alternate embodiment, the UICC can be embedded in (i.e., not readily removable from) the communication device 206. An embedded UICC may be referred to in the subject disclosure as an eUICC. The communication device 206 can be a portable communication device such as a cellular telephone. In another embodiment, the communication device 206 can be affixed to a structure, a building, an automobile, a meter, or other suitable devices that may or may not be transitory. In this latter embodiment, the communication device 206 can provide a service center telemetry information, and/or enable the service center to control aspects of the device it is affixed to.
The TEE referenced above is defined by a standards organization known as a Global Platform. It is recognized by the Global Platform that modern devices, such as a smartphone, offer a Rich Execution Environment (REE), providing an extensive and versatile operating environment. This brings flexibility and capability, but at the same time leaves the device vulnerable to a wide range of security threats. The TEE can be designed to reside alongside the REE and provide a safe area of the device to protect assets and execute trusted code. A TEE can be an execution environment that runs alongside but isolated from an REE. The TEE has security capabilities and meets certain security-related requirements such as protecting TEE assets from general software attacks, defining rigid safeguards as to data and functions that a program can access, and resisting a set of defined threats. There are multiple technologies that can be used to implement a TEE, and the level of security achieved varies accordingly.
The TSM referenced above is also defined by the Global Platform standards organization. It is recognized by the Global Platform that the TSM can be a trusted third party, which provides one or more technical roles and possibly business roles to other actors in a telecommunications environment. A TSM is trusted by the other actors to be in charge of service management and delivery. The TSM acts as an aggregator and may simultaneously support several service providers and mobile network operators while maintaining confidentiality between the actors.
The MNO TSM referenced above is not defined by the Global Platform standards organization, but is widely referred to in the industry. The MNO TSM implements one or more aspects of SDM (Security Domain Management) as defined by Global Platform on behalf of an MNO (Mobile Network Operator). The SP TSM referenced above is also not defined by the Global Platform standards organization, but is widely referred to in the industry. The SP TSM implements one or more aspects of SDM (Security Domain Management) as defined by Global Platform on behalf of a SP (Service Provider).
A secure element (SE) is also a term defined by the Global Platform standards organization. It is recognized by the Global Platform that the SE is a component in a communication device providing the security and confidentiality required to support various business models. An SE can exist in any form factor such as a UICC, an Embedded SE, a Secure Memory Card, etc.
The SEI referenced above is also defined by the Global Platform standards organization. It is recognized by the Global Platform that the SEI role holds the ultimate responsibility for the Global Platform card. It has the responsibility to develop the card product profile, to choose the platform and application technologies to a design card layout. It usually holds a particular Security Domain in the SE, the Issuer Security Domain (ISD). Card Content Management (CCM) operations that can be performed on the ISD are associated to the Security Domain Manager role that an SE provider may also play.
A security domain (SD) is also a term defined by the Global Platform standards organization. It is recognized by the Global Platform that SD's act as the on-card representatives of off-card authorities. There are three main types of SD, reflecting the three types of off-card authority recognized by a card:

    
    
        The Issuer Security Domain is the primary, mandatory on-card representative of the Card Administrator, typically the Card Issuer;
        Supplementary Security Domains are additional, optional on-card representatives of Application Providers or the Card Issuer, or their agents (e.g. service bureaus);
        Controlling Authority Security Domains are a special type of Supplementary Security Domain A Controlling Authority may exist whose role is to enforce the security policy on all application code loaded to the card. If so, the Controlling Authority also uses this type of Security Domain as its on-card representative. There may be more than one such Security Domain.
    
    


The three types of SDs described above are referred to simply as SDs in the subject disclosure. SDs support security services such as key handling, encryption, decryption, digital signature generation and verification for their providers' (Card Issuer, Application Provider or Controlling Authority) applications. Each SD is established on behalf of a Card Issuer, an Application Provider or a Controlling Authority when these off-card entities require the use of keys that are completely isolated from each other.
The SM-SR referenced above is defined by the GSM Association (GSMA). It is recognized by the GSMA that the SM-SR securely performs functions which directly manage the operational and provisioning profiles on the eUICC (and possibly in future specifications promulgated by the GSMA the UICC). The SM-DP referenced above is also defined by the GSMA. It is recognized by the GSMA that the SM-DP prepares operational and provisioning profiles to be securely provisioned on the eUICC (and possibly the UICC), e.g. encryption of a profile.
Portions of the systems of FIGS. 2, 4 and 6 can be described in part by standards organizations that generate specifications for consistent application of services. Illustrations of such specifications include, without limitation, Messaging Specification for Management of Mobile-NFC (GPS_SPE_002); TEE System Architecture (GPD_SPE_009); Reprogrammable SIMs: Technology, Evolution and Implications as prepared by OFCOM; Card Specification (GPC_SPE_034), each of the aforementioned specifications and subsequent derivatives being incorporated herein by reference in their entirety.
Referring to FIG. 2, the telecommunications system 200 illustrated therein can be managed in part according to method 100 shown in FIG. 1. Method 100 can begin with step 102 in which a Telco SEI 202 receives a request to modify the UICC 208 of communication device 206. For illustration purposes only, FIGS. 2, 4 and 6 show two types of UICCs (removable and embedded). However, it will be understood in the subject disclosure that methods 100, 300 and 500 of FIGS. 1, 3 and 5, respectively, can be applied to removable or embedded UICCs.
In step 104, the Telco SEI can generate a package including configuration data to modify the UICC 208. The configuration data can comprise one or more authentication keys, one or more network access parameters, one or more service operator applications, or combinations thereof. In one embodiment, the service operator application can be a network-based application that configures the communication device 206 to comply with operational requirements of a communication system from which the communication device 206 receives communication services. The network-based application can be a subscriber identity module (SIM) application, a universal subscriber identity module (USIM) application, or an internet protocol multimedia services identity module (ISIM) application. The UICC executes the SIM application, the USIM application, or the ISIM application depending on whether the network of FIG. 1 operates as a 2G, 3G, LTE or IMS (IP Multimedia Subsystem) network.
At step 106, the Telco SEI can instruct an OTA system 204 to transmit the package. The OTA system 204 can perform this step by generating transport data which is combined with the package provided by the Telco SEI and encrypted with a transport key in step 108. At step 110, the OTA system 204 transmits the encrypted package to the communication device 206. The communication device 206 delivers at step 112 the encrypted package to the UICC 208 which decrypts it with its own transport key. Once decrypted, the UICC 208 provisions itself according to the configuration data. Steps 102-112 can represent a legacy process currently used by existing telecommunications operators to program a UICC.
At step 114, the Telco SEI provides the MNO TSM of the Telco remote management function system 210 information relating to the configuration data to enable the MNO TSM to manage content and memory allocation of the UICC 208. The information provided to the MNO TSM can be any portion of the configuration data useful for managing content and memory of the UICC 208. In step 116, the MNO TSM can use the information provided in step 114 to manage content and memory allocated to SD containers of the UICC 208. The MNO TSM can update content and memory allocation in several ways. For example, it can modify content, remove content, or add content. The MNO TSM can also allocate more or less memory to any of the SD containers, or remove an SD container if necessary. Such updates can occur as needed in step 130.
Independent of the MNO TSM's role, a TEE service provider (SP) 203 can generate a second package encrypted with a TEE key for delivery to the communication device 206. Alternatively, the TEE Management Function 210 can generate the second package encrypted with the TEE key. The second package can include a trusted application to be executed by the communication device 206, which, for example, may have been purchased by the subscriber of the communication device 206. The TEE SP 203 or TEE Management Function 210 can also check that the communication device 206 and UICC 208 are capable of executing the trusted application before the second package is transmitted. This can be accomplished by way of a database lookup to determine available resources of the communication device 206 and UICC 208. The second encrypted package can be further encrypted by the OTA system 204 in step 120 with a transport key, and transmitted to the TEE function 207 of the communication device 206, which may operate outside of the UICC 208. The TEE function 207 can decrypt the second package with the transport key and the TEE key. In step 122, the TEE SP 203 or TEE Management Function 210 can provide the MNO TSM information relating to the transaction (such as the addition of content, details about the content, etc.) to enable the MNO TSM to continue managing content and memory allocation of the UICC.
The MNO TSM discussed in the foregoing embodiments can perform a central function of managing content and memory allocation of the UICC 208. The MNO TSM can serve a role of consolidating all actions of any system whether managed by the same service provider or unaffiliated service providers.
Referring to the telecommunications system 200 as depicted in FIG. 4, such system 200 can be managed in part according to method 300 shown in FIG. 3. Method 300 can begin with step 302 in which a mobile wallet trusted manager system (MW TSM) 404 receives a request from a service provider payment system 402 to add, remove or update a mobile wallet service of the UICC 208. This step can represent, for example, adding, removing or updating a credit card account service, bank account service, or other suitable payment mechanism of a user, which is managed by way of the UICC 208.
At step 304, the MW TSM 404 can verify that the UICC 208 and the communication device 206 are capable of satisfying the request. In one embodiment, step 304 can represent a validation that the communication device 206 and UICC 208 have the computing resources and encryption technology to perform the requested task. Step 304 can be performed by the MW TSM 404 by retrieving information from a local or remote database that maintains records descriptive of resources available for communication devices and their corresponding UICC's, a log of mobile wallet SD containers in use, and so on. In another embodiment, step 304 can result in the MW TSM 404 communicating with the MNO TSM 210 to inquire about content and memory allocated to the UICC 208 as an additional or alternate validation process for determining whether the request can be satisfied.
Once the MW TSM 404 validates that the communication device 206 and UICC 208 can satisfy the request, the MW TSM 404 proceeds to step 306 where it generates a script encrypted with an application key and instructs an MW OTA system 406 to transmit the encrypted script. At step 308 the MW OTA system 406 generates an encrypted package with the transport key that includes the encrypted script and transport data. The MW OTA system 406 transmits in step 310 the encrypted package to the communication device 206. The communication device 206 then conveys the encrypted script at step 312 to the UICC 208 for processing the mobile wallet script in a mobile wallet SD container.
At step 314 the MW TSM 404 provides the MNO TSM 210 information relating to the script and/or the MW SD container to enable the MNO TSM 210 to further manage content and memory allocation of the UICC 208 at step 316. As in the method of FIG. 1, the MNO TSM 210 manages content and memory of the UICC 208 as updates are detected in step 330. For instance, the MW TSM 404 can be called on to provision the UICC 208 with additional MW SD containers. In this instance, steps 302 through 330 would be invoked, and the MNO TSM 210 at step 330 would be informed of these updates, and would use the additional information provided by the MW TSM 404 to continue to management memory and content of the UICC 208. Additionally, updates to the communication device 206 can also occur which can cause additional updates to be conveyed to the MNO TSM 210. For example, if a new trusted application is generated by the TEE SP 203 or TEE Management Function 210 causing the execution of steps 318 through 322, the MNO TSM 210 detects the update in step 330 and updates its records to continue managing content and memory allocated to the SD containers of the UICC 208. As before, the MNO TSM 210 can be a central authority for managing content and memory allocated to the UICC 208 (and in some instances the communication device 206) as third party providers make updates to the UICC 208 (or the communication device 206). The MNO TSM 210 can at all add or reduce memory allocated to any of the SD containers and/or remove SD containers if necessary to maintain a balanced use of resources of the UICC 208.
Referring to the telecommunications system 200 as depicted in FIG. 6, such system 200 can further be managed in part according to method 500 shown in FIG. 5. Method 500 can begin with step 502 where the SM DP 602 receives a request from an MNO 608 to modify a UICC 604. This step can represent a transfer of service from one MNO to another MNO, or the instantiation of new service with an MNO for a communication device that has yet to be brought into service. At step 504 the SM DP 602 generates a first package with configuration data to satisfy the request generated by the MNO 608. The first package is encrypted by the SM DP 602 with an application key. In step 506, the SM DP 602 transmits the first encrypted package to an SM-SR system of a first service provider (SM-SR SP1) 210. The SM-SR SP 1 210 sends the OTA system of the same service provider (OTA SP1) 204 a second package including the first encrypted package and transport data. At step 510, the OTA SP1 204 encrypts the second package with a transport key and transmits it to communication device 604 for provisioning the UICC 606. Although the communication device 604 is shown to use an embedded UICC, method 500 is also applicable to removable UICCs. The communication device 604 then delivers at step 512 the second encrypted package to the UICC 606, which it decrypts with the transport and application keys for provisioning the UICC 606. At step 514, the SM-SR SP1 210 provides the MNO TSM of the same service provider (MNO TSM SP1) 210 information relating to the configuration data used to provision the UICC 606 to enable in step 516 the MNO TSM SP1 210 to manage content and memory allocation of the UICC 606.
It should be noted that SM-SR SP1 210 and the MNO TSM SP1 210 can be integrated in a common system such as the remote management function system 210 of the first service provider. Similarly, the TEE management system of the first service provider (TEE SP1) can also be integrated in the remote management function system 210. The remote management function system 210 can comprise a number of servers operating cooperatively and managed exclusively by the first service provider.
Referring back to FIG. 5, as UICC updates occur, the MNO TSM SP1 210 is informed at step 518 of such updates to continuing manage content and memory allocated to the UICC 606. As before the MNO TSM SP1 210 can increase or decrease memory allocated to SD containers of the UICC 606 or remove one or more SD containers.
Once the UICC 606 has been provisioned at step 512, the MNO system 608 of the other service provider can further provision the UICC 606 by way of an MNO OTA system 610 of the other service provider. In one embodiment, the first service provider may have arrangements with other service providers to delegate management of UICC's when subscribers switch MNO's. If the first service provider determines at step 520 that a subscriber has switched to another service provider, which has a pre-arrangement with the first service provider, then the MNO TSM SP1 210 can delegate content and memory management of the UICC 606 to an MNO TSM of the other service provider (MNO TSM SP2), not shown in FIG. 6. The delegation can be performed by the MNO TSM SP1 210 transmitting to the MNO TSM SP2 sufficient information to enable the MNO TSM SP2 to manage content and memory of the UICC 606 from where the MNO TSM SP1 210 left off. Once the transfer is complete, the MNO TSM SP2 can begin managing content and memory allocated to the UICC 606. Delegation between MNO TSM's of managing content and memory of UICC's can be performed multiple times subscribers switch between MNO's.
FIG. 7 depicts an illustrative embodiment of a communication device 700. Communication device 700 can be in whole or in part an illustrative embodiment of the devices depicted in FIGS. 2, 4 and 6. The communication device 700 can be configured with the features described in methods 100, 300 or 600.
To perform the above features, each of the one or more instances of the communication device 700 can comprise a wireline and/or wireless transceiver 702 (herein transceiver 702), a user interface (UI) 704, a power supply 714, a location receiver 716, a motion sensor 718, an orientation sensor 720, a universal integrated circuit card (UICC) 730, and a controller 706 for managing operations thereof. The transceiver 702 can support short-range (e.g., WiFi or Near Field Communications-NFC) or long-range wireless access technologies such as cellular communication technologies including, for example, CDMA-1X, UMTS/HSDPA, GSM/GPRS, TDMA/EDGE, EV/DO, WiMAX, SDR, LTE, as well as other next generation wireless communication technologies as they arise. The transceiver 702 can also be adapted to support circuit-switched wireline access technologies (such as PSTN), packet-switched wireline access technologies (such as TCP/IP, VoIP, IP Multimedia Subsystem, etc.), and combinations thereof.
The UI 704 can include a depressible or touch-sensitive keypad 708 with a navigation mechanism such as a roller ball, a joystick, a mouse, or a navigation disk for manipulating operations of the communication device 700. The keypad 708 can be an integral part of a housing assembly of the communication device 700 or an independent device operably coupled thereto by a tethered wireline interface (such as a USB cable) or a wireless interface supporting for example Bluetooth. The keypad 708 can represent a numeric keypad commonly used by phones, and/or a QWERTY keypad with alphanumeric keys. The UI 704 can further include a display 710 such as monochrome or color LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) or other suitable display technology for conveying images to an end user of the communication device 700. In an embodiment where the display 710 is touch-sensitive, a portion or all of the keypad 708 can be presented by way of the display 710 with navigation features.
The display 710 can use touch screen technology to also serve as a user interface for detecting user input. As a touch screen display, the communication device 700 can be adapted to present a user interface with graphical user interface (GUI) elements that can be selected by a user with a touch of a finger. The touch screen display 710 can be equipped with capacitive, resistive or other forms of sensing technology to detect how much surface area of a user's finger has been placed on a portion of the touch screen display. This sensing information can be used to control the manipulation of the GUI elements or other functions of the user interface. The display 710 can be an integral part of the housing assembly of the communication device 400 or an independent device communicatively coupled thereto by a tethered wireline interface (such as a cable) or a wireless interface.
The UI 704 can also include an audio system 712 that utilizes audio technology for conveying low volume audio (such as audio heard in proximity of a human ear) and high volume audio (such as speakerphone for hands free operation). The audio system 712 can further include a microphone for receiving audible signals of an end user. The audio system 712 can also be used for voice recognition applications. The UI 704 can further include an image sensor 713 such as a charged coupled device (CCD) camera for capturing still or moving images.
The power supply 714 can utilize common power management technologies such as replaceable and rechargeable batteries, supply regulation technologies, and/or charging system technologies for supplying energy to the components of the communication device 700 to facilitate long-range or short-range portable applications. Alternatively, or in combination, the charging system can utilize external power sources such as DC power supplied over a physical interface such as a USB port or other suitable tethering technologies.
The location receiver 716 can utilize location technology such as a global positioning system (GPS) receiver capable of assisted GPS for identifying a location of the communication device 700 based on signals generated by a constellation of GPS satellites, which can be used for facilitating location services such as navigation. The motion sensor 718 can utilize motion sensing technology such as an accelerometer, a gyroscope, or other suitable motion sensing technology to detect motion of the communication device 700 in three-dimensional space. The orientation sensor 720 can utilize orientation sensing technology such as a magnetometer to detect the orientation of the communication device 700 (north, south, west, and east, as well as combined orientations in degrees, minutes, or other suitable orientation metrics). The UICC 730 can be a removable UICC or embedded UICC. The UICC 730 can have its own computing resources such as a microprocessor, memory and an input-output communication interface enabling it to be communicatively coupled to the controller 706 of the communication device. The UICC can execute a subscriber identity module application, a universal subscriber identity module, or an internet protocol multimedia services identity module application for managing communications between the communication device 700 and wireless base stations of a cellular communications network.
In a first one embodiment, one or more instances of the communication device 700 can be configured for receiving a request to modify a universal integrated circuit card, generating a package comprising configuration data for modifying the universal integrated circuit card, encrypting the package with a transport key to generate an encrypted package, and transmitting the encrypted package to a device communicatively coupled to the universal integrated circuit card to provision the universal integrated circuit card. The one or more instances of the communication device 700 can also be configured for sharing the configuration data to enable a mobile network operator trusted service manager system to manage content and memory allocation of the universal integrated circuit card.
In a second embodiment, one or more instances of the communication device 700 can be configured for receiving a request to modify content in a mobile wallet security domain container of a universal integrated circuit card, verifying that resources of the universal integrated circuit card and a device communicatively coupled to the universal integrated circuit card are capable of satisfying the request, and generating a script according to the request. The one or more instances of the communication device 700 can also be configured for encrypting the script according to an application key to generate an encrypted script, instructing an over-the-air system to transmit the encrypted script, generating a package comprising the encrypted script and transport data, encrypting the package with a transport key to generate an encrypted package, and transmitting the encrypted package to the device communicatively coupled to the universal integrated circuit card to provision the content of the mobile wallet security domain container of the universal integrated circuit card. The one or more instances of the communication device 700 can further be configured for providing a mobile network operator trusted service manager system information relating to the provisioning of the mobile wallet security domain to manage content and memory allocation of the universal integrated circuit card.
In a third embodiment, one or more instances of the communication device 700 can be configured for receiving a first encrypted package, where the first encrypted package is encrypted by a subscription management data preparation system with an application key responsive to the subscription management data profile system receiving a request from a second service provider to modify a universal integrated circuit card with configuration data. The one or more instances of the communication device 700 can also be configured for sending to an over-the-air system of the first service provider a second package comprising the first encrypted package and transport data, encrypting the second package with a transport key to generate an encrypted second package, and transmitting the encrypted second package to a device communicatively coupled to the universal integrated circuit card to provision the universal integrated circuit card with the configuration data. The one or more instances of the communication device 700 can further be configured for providing a mobile network operator system of the first service provider information relating to the configuration data to enable the mobile network operator trusted service manager system of the first operator to manage content and memory allocation of the universal integrated circuit card.
It should be understood that devices described in the exemplary embodiments can be in communication with each other via various wireless and/or wired methodologies. The methodologies can be links that are described as coupled, connected and so forth, which can include unidirectional and/or bidirectional communication over wireless paths and/or wired paths that utilize one or more of various protocols or methodologies, where the coupling and/or connection can be direct (e.g., no intervening processing device) and/or indirect (e.g., an intermediary processing device such as a router).
FIG. 8 depicts an exemplary diagrammatic representation of a machine in the form of a computer system 800 within which a set of instructions, when executed, may cause the machine to perform any one or more of the methods describe above. One or more instances of the machine can operate, for example, as the devices shown in FIGS. 2, 4, and 6. In some embodiments, the machine may be connected (e.g., using a network 826) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client user machine in server-client user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
The machine may comprise a server computer, a client user computer, a personal computer (PC), a tablet PC, a smart phone, a laptop computer, a desktop computer, a control system, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. It will be understood that a communication device of the subject disclosure includes broadly any electronic device that provides voice, video or data communication. Further, while a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methods discussed herein.
The computer system 800 may include a processor (or controller) 802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU, or both), a main memory 804 and a static memory 806, which communicate with each other via a bus 808. The computer system 800 may further include a display unit 810 (e.g., a liquid crystal display (LCD), a flat panel, or a solid state display. The computer system 800 may include an input device 812 (e.g., a keyboard), a cursor control device 814 (e.g., a mouse), a disk drive unit 816, a signal generation device 818 (e.g., a speaker or remote control) and a network interface device 820. In distributed environments, the embodiments described in the subject disclosure can be adapted to utilize multiple display units 810 controlled by two or more computer systems 800. In this configuration, presentations described by the subject disclosure may in part be shown in a first of the display units 810, while the remaining portion is presented in a second of the display units 810.
The disk drive unit 816 may include a tangible computer-readable storage medium 822 on which is stored one or more sets of instructions (e.g., software 824) embodying any one or more of the methods or functions described herein, including those methods illustrated above. The instructions 824 may also reside, completely or at least partially, within the main memory 804, the static memory 806, and/or within the processor 802 during execution thereof by the computer system 800. The main memory 804 and the processor 802 also may constitute tangible computer-readable storage media.
Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices that can likewise be constructed to implement the methods described herein. Application specific integrated circuits and programmable logic array can use downloadable instructions for executing state machines and/or circuit configurations to implement embodiments of the subject disclosure. Applications that may include the apparatus and systems of various embodiments broadly include a variety of electronic and computer systems. Some embodiments implement functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the example system is applicable to software, firmware, and hardware implementations.
In accordance with various embodiments of the subject disclosure, the methods described herein are intended for operation as software programs running on a computer processor or other forms of instructions manifested as a state machine implemented with logic components in an application specific integrated circuit or field programmable array. Furthermore, software implementations can include, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein. It is further noted that a computing device such as a processor, a controller, a state machine or other suitable device for executing instructions to perform operations on a controllable device may perform such operations on the controllable device directly or indirectly by way of an intermediate device directed by the computing device.
While the tangible computer-readable storage medium 622 is shown in an example embodiment to be a single medium, the term “tangible computer-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “tangible computer-readable storage medium” shall also be taken to include any non-transitory medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methods of the subject disclosure.
The term “tangible computer-readable storage medium” shall accordingly be taken to include, but not be limited to: solid-state memories such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories, a magneto-optical or optical medium such as a disk or tape, or other tangible media which can be used to store information. Accordingly, the disclosure is considered to include any one or more of a tangible computer-readable storage medium, as listed herein and including art-recognized equivalents and successor media, in which the software implementations herein are stored.
Although the present specification describes components and functions implemented in the embodiments with reference to particular standards and protocols, the disclosure is not limited to such standards and protocols. Each of the standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) represent examples of the state of the art. Such standards are from time-to-time superseded by faster or more efficient equivalents having essentially the same functions. Wireless standards for device detection (e.g., RFID), short-range communications (e.g., Bluetooth, WiFi, Zigbee, or Near Field Communications or NFC), and long-range communications (e.g., WiMAX, GSM, CDMA, LTE) can be used by computer system 800.
The illustrations of embodiments described herein are intended to provide a general understanding of the structure of various embodiments, and they are not intended to serve as a complete description of all the elements and features of apparatus and systems that might make use of the structures described herein. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. Figures are also merely representational and may not be drawn to scale. Certain proportions thereof may be exaggerated, while others may be minimized Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, can be used in the subject disclosure.
The Abstract of the Disclosure is provided with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.

## Claims

1. A system, comprising:
a memory device that stores instructions; and
a controller device coupled to the memory device, wherein responsive to executing the instructions the controller device performs operations, comprising:
receiving a request to modify content in a mobile wallet security domain container of a universal integrated circuit card wherein the universal integrated circuit card is an embedded universal integrated circuit card affixed to a communication device;
verifying that resources of the universal integrated circuit card and the communication device are capable of satisfying the request;
generating a script according to the request;
encrypting the script according to an application key to generate an encrypted script;
generating a package comprising the encrypted script and transport data;
encrypting the package with a transport key to generate an encrypted package;
transmitting the encrypted package to the communication device communicatively coupled to the universal integrated circuit card to provision the content of the mobile wallet security domain container of the universal integrated circuit card, wherein the encrypted package is transmitted to the communication device over a data channel conforming to a hypertext transport protocol; and
providing a mobile network operator trusted service manager system information relating to the provisioning of the mobile wallet security domain container to manage content and memory allocation of the universal integrated circuit card,


wherein the management of the content and the memory allocation of the universal integrated circuit card by the mobile network operator trusted service manager system comprises adjusting an amount of memory allocated to a security domain container of a plurality of security domain containers of the universal integrated circuit card.

2. The system of claim 1, wherein the management of the content and the memory allocation of the universal integrated circuit card by the mobile network operator trusted service manager system comprises adding an additional security domain container to a plurality of security domain containers of the universal integrated circuit card.

3. The system of claim 1, wherein the controller device comprises:
a mobile wallet trusted service manager system comprising a first processor that performs the receiving of the request, the verifying of the resources of the universal integrated circuit card and the communication device, the generating of the script, and the encrypting of the script;
an over-the-air system comprising a second processor that performs the generating of the package, the encrypting of the package, and the transmitting of the encrypted package to the communication device; and
the mobile network operator trusted service manager system comprising a third processor that performs the managing of the content and the memory allocation of the universal integrated circuit card.

4. The system of claim 3, wherein the third processor of the mobile network operator trusted service manager system further performs operations comprising modifying the security domain container of the plurality of security domain containers of the universal integrated circuit card, wherein the modifying comprises altering content.

5. The system of claim 4, wherein the modifying comprises deleting another security domain container of the plurality of security domain containers.

6. The system of claim 4, wherein the modifying comprises one of increasing or decreasing memory allocated to the security domain container.

7. The system of claim 1, wherein the communication device is a portable communication device.

8. The system of claim 1, wherein the communication device is a mobile phone.

9. The system of claim 1, wherein the communication device is part of a vehicle communication system.

10. A method comprising:
generating, by a system including a processor, a script according to a request to modify content in a mobile wallet security domain container of a universal integrated circuit card;
verifying, by the system, that resources of the universal integrated circuit card and a communication device communicatively coupled to the universal integrated circuit card are capable of satisfying the request;
encrypting, by the system, the script according to an application key to generate an encrypted script;
generating, by the system, a package comprising the encrypted script and transport data;
encrypting, by the system, the package with a transport key to generate an encrypted package;
transmitting, by the system, the encrypted package to the communication device communicatively coupled to the universal integrated circuit card to provision the content of the mobile wallet security domain container, wherein the encrypted package is transmitted to the communication device over a data channel conforming to a hypertext transport protocol; and
providing, by the system, a mobile network operator trusted service manager system information relating to the provisioning of the mobile wallet security domain container to manage content and memory allocation of the universal integrated circuit card,
wherein the management of the content and the memory allocation of the universal integrated circuit card by the mobile network operator trusted service manager system comprises adjusting an amount of memory allocated to a security domain container of a plurality of security domain containers of the universal integrated circuit card including adding an additional security domain container to a plurality of security domain containers of the universal integrated circuit card.

11. The method of claim 10, wherein the communication device is part of a vehicle communication system.

12. The method of claim 10, wherein the communication device is a non-portable device.

13. The method of claim 10, wherein the universal integrated circuit card is an embedded universal integrated circuit card affixed to the communication device.

14. The method of claim 13, wherein the communication device is a portable communication device.

15. The method of claim 10, wherein the transmitting of the encrypted package to the communication device causes the communication device to provide telemetry data to equipment of a services center.

16. A machine-readable storage device, comprising executable instructions that, when executed by a processor, facilitate performance of operations, comprising:
generating a script according to a request to modify content in a mobile wallet security domain container; and
verifying that resources of a universal integrated circuit card and a communication device communicatively coupled to the universal integrated circuit card are capable of satisfying the request, wherein the communication device is a mobile phone;
encrypting the script according to an application key to generate an encrypted script;
generating a package comprising the encrypted script and transport data;
encrypting the package with a transport key to generate an encrypted package;
transmitting the encrypted package to the communication device communicatively coupled to the universal integrated circuit card to provision content of the mobile wallet security domain container of the universal integrated circuit card, wherein the encrypted package is transmitted to the communication device over a data channel conforming to a hypertext transport protocol; and
providing a mobile network operator trusted service manager system information relating to the provisioning of the mobile wallet security domain container to manage content and memory allocation of the universal integrated circuit card,
wherein the management of the content and the memory allocation of the universal integrated circuit card by the mobile network operator trusted service manager system comprises adjusting an amount of memory allocated to a security domain container of a plurality of security domain containers of the universal integrated circuit card.

17. The machine-readable storage device of claim 16, wherein the management of the content and the memory allocation of the universal integrated circuit card by the mobile network operator trusted service manager system comprises adding an additional security domain container to a plurality of security domain containers of the universal integrated circuit card.

18. The machine-readable storage device of claim 16, wherein the request to modify is received from equipment of a service provider payment system.

19. The machine-readable storage device of claim 16, wherein the universal integrated circuit card is an embedded universal integrated circuit card affixed to the communication device.

20. The machine-readable storage device of claim 16 wherein the transmitting of the encrypted package to the communication device causes the communication device to provide telemetry data to equipment of a services center.