The present disclosure relates to a communication device. Furthermore, the present disclosure relates to a method of managing profiles on a communication device, and to a corresponding computer program.
Some communication devices, such as smart phones, contain a plurality of processing modules: one or more subscriber identity modules (SIMs) or universal integrated circuit cards (UICCs), secure elements (SEs), embedded universal integrated circuit cards (eUICCs), or other secure storage and processing components. A secure element may for example be an embedded chip, more specifically a tamper-resistant integrated circuit with installed or pre-installed smart-card-grade applications, for instance payment applications, which have a prescribed functionality and a prescribed level of security. Furthermore, a secure element may implement security functions, such as cryptographic functions and authentication functions. A secure element may also perform the function of a UICC; this functionality may be referred to as an embedded universal integrated circuit card (eUICC).
The rollout of eUICCs in communication devices is challenging, because there are only few standards and there appears to be a lack of motivation within MNOs (mobile network operators) and other providers. Therefore, it is expected that traditional SIMs will still be used alongside eUICCs and other processing modules. Furthermore, modern communication devices often contain a plurality of traditional SIMs. These processing modules often support the communication processes performed by the device, for example by providing network credentials to a baseband processor of said device.
According to a first aspect of the present disclosure, a communication device is provided, comprising: a plurality of processing modules arranged to process data and to store one or more profiles; a profile management unit arranged to manage one or more profiles stored on said processing modules.
In an embodiment, the profile management unit is further arranged to distribute one or more profiles to the processing modules.
In an embodiment, distributing the profiles includes routing downloaded profiles to said processing modules.
In an embodiment, said routing is performed in dependence on a result of an eligibility test.
In an embodiment, the eligibility test comprises determining which processing module has the capability to host and execute a given profile.
In an embodiment, the eligibility test is performed on parameters of memory availability and required support for a given technology.
In an embodiment, the processing modules include at least one of: a subscriber identity module, SIM, a secure element, SE, an embedded universal integrated circuit card, eUICC.
In an embodiment, the communication device further comprises a user interface for selecting a profile.
In an embodiment, said profiles include at least one of: a file system, one or more network access credentials, one or more applications and application-related data.
In an embodiment, the communication device further comprises a baseband processor and a near field communication, NFC, controller, wherein the profile management unit is further arranged to cause the baseband processor and/or NFC controller to switch to the selected profile.
In an embodiment, switching to the selected profile includes that the baseband processor initializes the processing module on which the selected profile is stored. In an embodiment, switching to the selected profile includes that the baseband processor authenticates said processing module to a cellular network.
In an embodiment, the NFC controller is arranged to multiplex the processing modules.
According to a second aspect of the present disclosure, a method is conceived of managing profiles on a communication device, said communication device comprising a plurality of processing modules arranged to process data and to store one or more profiles, wherein a profile management unit of said communication device manages one or more profiles stored on said processing modules.
According to a third aspect of the present disclosure, a computer program is provided, comprising non-transient executable instructions which, when executed, carry out a method of the kind set forth.
Embodiments will be described in more detail with reference to the appended drawings, in which:
In particular, a profile may be regarded as a collection of resources stored on a processing module of the kind set forth. In a practical and efficient implementation, such a profile may include at least one of a file system, one or more network access credentials, one or more applications and data related to or operated upon by said applications. In operation, components of the communication device—such as a baseband processor—may make use of these resources. For instance, a baseband processor may retrieve access credentials contained in such a profile, with the purpose of connecting the communication device to a cellular network. The presently disclosed device and method facilitate managing profiles if there are multiple processing modules on which profiles can be stored.
In an embodiment, the profile management unit 102 is further arranged to distribute one or more profiles to the processing modules 104, 106. In this way, the profiles can be distributed over the processing modules 104, 106, in a balanced manner, for example. More specifically, the profile management unit 102 may perform a local eligibility test on different processing modules 104, 106—for example physical on-board SIMs—and route downloaded profiles to eligible processing modules 104, 106, for example in an order of priority. Said eligibility test may comprise determining which processing module has the capability to host and execute a given profile. The eligibility test may be performed on the parameters of memory availability and the required support for a given technology. For example, if a processing module currently has no sufficient memory, it will fail the eligibility test. Thus, in a practical and efficient implementation, distributing the profiles includes routing downloaded profiles to the processing modules 104, 106. Furthermore, in an embodiment, said routing is performed in dependence on a result of an eligibility test. In this way, it may be ensured that profiles are routed to processing modules that are capable of hosting the profiles. Furthermore, the use of resources for hosting profiles in the system as a whole may be balanced, e.g. the profiles may be routed to processing modules that still have a lot of available memory space. Furthermore, in an embodiment, the communication device 100 comprises a user interface (not shown) for selecting a profile. In this way, profiles can easily be selected by a user of the communication device 100.
In particular, the profile management unit 102 may be arranged to control a user interface (not shown) of the communication device 300, and to manage the profiles on different on-board profile hosts (i.e., processing modules 104, 106). The profile management unit 102 may manage the profiles by interacting with the NFC controller 204. The host processor 304 may be arranged to execute the profile management unit 102, and to offer NFC controller interface (NCI) middleware for the profile management unit 102, so that the latter can interact with the NFC controller 204 and control the switching between different processing modules 104, 106 and the profiles stored thereon. The baseband processor 202 may offer, in addition to enabling network communication, a communication framework to the profile management unit 102. Specifically, the baseband processor 202 may provide certain services to the profile management unit 102 in efforts to conclude profile activation. For example, the baseband processor 202 may provide a means to the profile management unit 102 to perform a reset procedure. The NFC controller 204 may be arranged to multiplex the processing modules 104, 106 under control of the profile management unit 102.
Further example embodiments will now be described. In these embodiments, the profile management unit is referred to as the OTIA (Over the Internet assistant). Profiles can be downloaded from the internet using, for instance, a Wi-Fi communication channel or a Bluetooth communication channel. Alternatively, the OTIA may initiate profile downloads through cellular communication, for example in interaction with an Over the Air (OTA) assistant. In some embodiments, the OTIA, NFC controller and baseband processor may be provided with the capability to scale multi-SIM user equipment (UE) for SIM-free distribution of profiles, to multiplex physical SIMs at runtime depending on the configuration of the UE, and to support eUICC migration while classic SIMs continue to be used. The user equipment (i.e., the communication device) may contain two or more SIM cards. Each SIM card may be implemented as a removable smart card, or one or more may be soldered onto a circuit board in the UE. The UE may include a host processor, SIM/eUICC, an NFC controller with profile routing capability, and the OTI assistant (OTIA) application. The OTIA application may be executed by the host processor and may instruct or request the NFC controller to route a given profile to a particular processing module.
Each processing module may act as a profile host. Profile hosting is a framework that enables storage of one or more profiles and that provides a secure execution environment for these profiles. In accordance with the present disclosure, the user of the equipment may select a desired profile without having to know where the profile hosted and without having to know if the profile should be downloaded. The baseband processor may provide cellular communication. It will be appreciated that other data or applications may be stored in the processing modules, in addition to said profiles. The NFC controller may contain a routing registry and routing capability to multiplex between the various processing modules, power management unit and NFC circuit. The host processor may enable the OTIA on the user equipment and control a user interface through which profiles can be selected, for example. The OTIA may keep a list of installed profiles, perform local profile management operations, and initiate profile downloads through cellular communication via an Over the Air (OTA) assistant, or download profiles from the internet using e.g. Wi-Fi or Bluetooth.
The NFC controller may provide the capability to multiplex processing modules on the basis of profile association. The multiplexing may be a result of an event of enabling, disabling, downloading or deleting of a profile. The event could in turn be the result of a selection by the user (using the OTIA), of a network push message or of UE boot-up operations.
As mentioned above, a profile may comprise at least one of a file system, network access credentials, applications and application-related data. The aim of each profile is to support a communication device in acquiring access to a specific cellular network infrastructure. In addition, the profile may provide a bundle of location-based services and other services. Each profile may comprise several profile elements, such as an MNO-SD (“MNO Security Domain”), a SSD (“Supplementary Security Domain”), an MNO-CASD (“MNO Certificate Authority Security Domain”), contact-based applications, contactless applications, and NAAs (“Network Access Application”). A processing module (i.e., a profile host)—for example a SIM, eUICC or eSIM—provides a platform for hosting a profile. A profile may be trust-provisioned into the die of a profile host (e.g., a classic SIM) during manufacturing of said host. Alternatively, a bootstrap profile may be trust-provisioned into the die of a profile host (e.g., a eUICC) during manufacturing of said host, and subsequent profiles may be trust-provisioned and delivered over the air (OTA). The format of a profile may be compliant with the “SIMAlliance Profile Format”. Furthermore, the management of the profiles may be compliant with the architectures defined by several eUICC standardization bodies (e.g., GSMA, ETSI, 3GPP, NFC Forum, Global Platform, Oracle Java Card). The profiles can be delivered both over the internet (OTI) as well as over the air (OTA).
Profile hosting may provide a platform to store single or multiple profiles, and their assets, securely, as well as a secure execution environment for executing the byte code of the profiles. The profile hosting may be compliant with different standards defined for profile management (GSMA, NFC forum, European Telecommunications Standards Institute (ETSI), Java Card, Global Platform (GP), and SIMAlliance). The OTIA may be arranged to distribute and efficiently manage profiles across different on-board SIMs. Furthermore, the OTIA may be configured to choose high throughput communication interfaces. Also, the OTIA may be capable to execute commands over the baseband processor as well as the NFC controller, in multiplexing of SIMs, at runtime depending on the entity that controls the interfaces. The OTIA may fetch and show all the profiles currently installed; in that case the NFC controller should provide the functions that are necessary to read out data from the controller's registry.
The NFC controller may be arranged to multiplex different profile hosts in conjunction with different elements of the system such as the baseband processor, host processor, contactless terminals (POS terminals, card or tag) and the profile hosts. It may communicate with contactless terminals over proximity frequency bands with different data transfer rates. The NFC controller may be interfaced to the host processor over SPI, UART or I2C, and the underlying protocol may be NCI. The NFC controller may provide a pass-through bridge for active profile hosts over an UART ISO7816 interface or a proprietary interface. The NFC controller and the profile hosts may mutually communicate over a SWIO interface and/or proprietary interfaces. The NFC controller may handle a profile host as an emulation. Furthermore, the NFC controller may contain a registry entry for each profile alongside information of physical host that it is hosted on, in its persistent registry. The initial entry may be updated at manufacturing or during first boot-up, or a default mechanism may be defined to ensure that at least one host is active. When a profile switch command is issued, the NFC controller may evaluate if switching of physical connections is necessary. After the switching, the NFC controller may request the OTIA to perform a reset over the baseband processor for the switching to be effective. The NFC controller may know beforehand on which physical slot the active profile is present and evaluate if swapping of connections is necessary in response to a profile switch command.
The baseband processor may interact with a profile host over UART ISO7816 or SWIO or any proprietary interface. The baseband processor may perform, through the NFC controller if switching is done by the NFC controller, activation of a physical interface, SIM initialization, and authentication to the network. The baseband processor may notify the NFC controller of the singe wire protocol (SWP) and HCl activation. Furthermore, the baseband processor may perform a reset when requested by the OTIA. Depending on its configuration (e.g., Dual SIM Dual Active, Dual SIM Dual Standby and Dual SIM Single Active), the baseband processor may drive more than one profile host simultaneously by itself or via NFC pass-through (i.e., through the NFC controller).
The communication device (i.e., user equipment) may thus be a device that hosts the platform for the baseband processor and an application processor (host processor). The baseband processor may enable wireless (i.e., cellular) communication. The application processor may provide an application execution environment and a communication application programming interface (API) for the OTIA to interface with the NFC controller, baseband processor and the active profile host. The active profile host may support the communication device to authenticate itself and to gain access to a network. Each profile may be uniquely identified, for example using an International Mobile Subscriber Identity (IMSI), an eUICC-ID (EID), or an Integrated Circuit Card Identifier (ICCID). The identity of a profile may be available in the metadata of a profile if it is GSMA eUICC compliant device; otherwise the OTIA may read the necessary information from a SIM file system.
A SIM or eSIM is a standardized or proprietary form factor that is capable of hosting one or more profiles, thereby enabling the user equipment to acquire access to one or more cellular networks. SIM, USIM, RUIM and CSIM are a few of the network access clients that represent cellular technologies such as GSM, UNITS, CDMA and LTE respectively. In accordance with the present disclosure, a SIM may support profile management functions not only through an UART ISO7816 interface, but also over SWP or any other suitable interface (e.g., SPI or I2C).
A secure element (SE) may have a proprietary form factor, and it may be soldered into the user equipment. As mentioned above, a secure element may for example be an embedded chip, more specifically a tamper-resistant integrated circuit with installed or pre-installed smart-card-grade applications, for instance payment applications, which have a prescribed functionality and a prescribed level of security. SEs are primarily used for contactless applications, such as contactless payments, transit applications and personal identification. A secure element may support SWP, SPI and I2C communication interfaces. In accordance with the present disclosure, a SE may also provide the functionality of a eUICC, thus enabling the SE for telecommunication applications. Furthermore, profiles may be managed on the SE in the same way as on classic SIMs and other processing modules.
The systems and methods described herein may at least partially be embodied by a computer program or a plurality of computer programs, which may exist in a variety of forms both active and inactive in a single computer system or across multiple computer systems. For example, they may exist as software program(s) comprised of program instructions in source code, object code, executable code or other formats for performing some of the steps. Any of the above may be embodied on a computer-readable medium, which may include storage devices and signals, in compressed or uncompressed form.
As used herein, the term “mobile device” refers to any type of portable electronic device, including a cellular telephone, a Personal Digital Assistant (PDA), smartphone, tablet etc. Furthermore, the term “computer” refers to any electronic device comprising a processor, such as a general-purpose central processing unit (CPU), a specific-purpose processor or a microcontroller. A computer is capable of receiving data (an input), of performing a sequence of predetermined operations thereupon, and of producing thereby a result in the form of information or signals (an output). Depending on the context, the term “computer” will mean either a processor in particular or more generally a processor in association with an assemblage of interrelated elements contained within a single case or housing.
The term “processor” or “processing unit” refers to a data processing circuit that may be a microprocessor, a co-processor, a microcontroller, a microcomputer, a central processing unit, a field programmable gate array (FPGA), a programmable logic circuit, and/or any circuit that manipulates signals (analog or digital) based on operational instructions that are stored in a memory. The term “memory” refers to a storage circuit or multiple storage circuits such as read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, Flash memory, cache memory, and/or any circuit that stores digital information.
As used herein, a “computer-readable medium” or “storage medium” may be any means that can contain, store, communicate, propagate, or transport a computer program for use by or in connection with the instruction execution system, apparatus, or device. The computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (non-exhaustive list) of the computer-readable medium may include the following: an electrical connection having one or more wires, a portable computer diskette, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CDROM), a digital versatile disc (DVD), a Blu-ray disc (BD), and a memory card.
It is noted that the embodiments above have been described with reference to different subject-matters. In particular, some embodiments may have been described with reference to method-type claims whereas other embodiments may have been described with reference to apparatus-type claims. However, a person skilled in the an will gather from the above that, unless otherwise indicated, in addition to any combination of features belonging to one type of subject-matter also any combination of features relating to different subject-matters, in particular a combination of features of the method-type claims and features of the apparatus-type claims, is considered to be disclosed with this document.
Furthermore, it is noted that the drawings are schematic. In different drawings, similar or identical elements are provided with the same reference signs. Furthermore, it is noted that in an effort to provide a concise description of the illustrative embodiments, implementation details which fall into the customary practice of the skilled person may not have been described. It should be appreciated that in the development of any such implementation, as in any engineering or design project, numerous implementation-specific decisions must be made in order to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill.
Finally, it is noted that the skilled person will be able to design many alternative embodiments without departing from the scope of the appended claims. In the claims, any reference sign placed between parentheses shall not be construed as limiting the claim. The word “comprise(s)” or “comprising” does not exclude the presence of elements or steps other than those listed in a claim. The word “a” or “an” preceding an element does not exclude the presence of a plurality of such elements. Measures recited in the claims may be implemented by means of hardware comprising several distinct elements and/or by means of a suitably programmed processor. In a device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
Number | Date | Country | Kind |
---|---|---|---|
17174946.8 | Jun 2017 | EP | regional |