This invention relates to a method for loading an application unit into a device, with the device comprising a plurality of device components, and the application unit comprising two or more application components, with one application component being intended for one device component in each case.
Devices such as mobile stations comprise a plurality of device components. A mobile station comprises a mobile end device, e.g. mobile telephone or smartphone, and a secure element or Secure Element, e.g. SIM/USIM card, UICC or embedded UICC (eUICC). Some applications of a mobile station run while being distributed over the device components. Additionally, some mobile end devices have a bipartite runtime architecture (sometimes also called an ARM architecture, after a provider of such an architecture), which comprises a normal execution (runtime) environment under a common normal operating system and additionally a trusted or secure execution environment under a security operating system. Here, the mobile station thus already comprises three separate device components, namely, the secure element, the normal execution environment and the trusted execution environment.
For the distributed application to be functional, it is necessary that the application components of the individual device components are mutually matched and complete.
When a distributed application comprising a plurality of application components for a plurality of device components of the mobile station is newly loaded into the mobile station, each application component must be loaded into the right device component. When a distributed application already available in the mobile station is changed, e.g. updated or personalized, by change data, the change data (e.g. updating or personalization data) must be fed to the right, already available application components.
Conventionally, the application components of distributed applications or change data for distributed applications are loaded into the device components individually via the over-the-air (OTA) interface through different servers, as shown by way of example in
Due to the loading through a plurality of independent servers, there is the danger of application components that belong together being wrongly loaded into device components of different devices. This can result in the distributed application being altogether incomplete, because application components are lacking, or inconsistent, because wrong application components have been received. In each of these two cases the distributed function is normally non-functional.
The invention is based on the object of providing a method that enables an application distributed over a plurality of components of a device, or changes (e.g. updates or personalization data) for a distributed application, to be loaded into the device reliably, completely and consistently.
This object is achieved by a method according to claim 1.
The method according to claim 1 is provided for loading an application unit into a device which comprises a plurality of device components. The application unit comprises two or more application components, with one application component being intended for one device component in each case. The application unit comprises application components for all or some (at least two) device components of the device. The method is characterized in that the application unit, comprising the application components, is loaded into a selected device component of the device components and, starting out from the selected device component, each application component is loaded into that device component for which the application component is intended.
The application unit is thus first loaded as a whole into the device. The application component of the selected device component is already loaded into the right device component. The one or more other application components are loaded into the right one or more other device components from the selected device component. This ensures that all required application components are loaded into one and the same device.
An incomplete loading of a distributed application is avoided. On the other hand, it is ensured that all loaded application components belong to the same higher application unit. It is thus avoided that a distributed application is loaded inconsistently (application components are loaded that do not belong to the same device). Only in the device itself are the application components for the individual device components mutually separated and distributed.
Hence, according to claim 1 there is provided a method that enables an application distributed over a plurality of components of a device, or changes for a distributed application, to be loaded into the device reliably, completely and consistently.
Electively, there is provided as a device a mobile station which comprises a mobile end device and a secure element operable in the end device, there being provided as device components at least the secure element and the mobile end device.
Electively, there are implemented in the mobile end device a normal execution environment under the management of a normal operating system, and a trusted execution environment under the management of a security operating system, and there being provided as the device component that is formed by the end device at least the normal execution environment and the trusted execution environment. Altogether, the device thus comprises the three device components, secure element, normal execution environment and trusted execution environment.
Electively, there is provided as a selected device component a device component having a high security level, e.g. the secure element or the trusted execution environment. This causes the division of the application unit into application components to be carried out in a secure environment, under the management of a security instance. Application components that are intended for a device component having a high security level are always treated in an environment having a high security level. The division of the application unit in an insecure device component (e.g. in the normal execution environment) could, in contrast, offer possibilities for attacking application components for secure device components (e.g. secure element or trusted execution environment).
According to one embodiment, an application unit for an end device having a secure element is first loaded as a whole into the secure element. The application unit comprises an application component for the end device and an application component for the secure element. The application component for the secure element is already in the right device component. The application component for the end device is extracted from the application unit and loaded into the end device from the secure element.
According to further embodiments, an application unit for an end device having a normal execution environment, a trusted execution environment and a secure element is first loaded as a whole into the trusted execution environment (alternatively into the secure element). The application unit comprises one application component for the normal execution environment, the trusted execution environment and the secure element in each case. The application component for the trusted execution environment (alternatively for the secure element) is already in the right device component. The application components for the secure element and for the normal execution environment (alternatively for the trusted execution environment and the normal execution environment) are extracted from the application unit and loaded into the secure element or the normal execution environment (alternatively into the trusted execution environment or the normal execution environment) from the trusted execution environment (alternatively from the secure element).
Electively, there is provided as an application unit an application to be newly loaded into the device. The application is loaded into the device, divided into application components in the device (in the selected device component), and each application component is implemented in the appurtenant device component.
Electively, there is provided as an application unit an application change for an application already available in the device.
Electively, there are provided as an application change updating data for updating the available application and/or personalization data for personalizing the available application.
Electively, after the loading of the application change the available application is changed, e.g. updated or personalized, according to the application change. In so doing, the already available application components to be changed by the application changes are changed with the loaded application components containing the application changes. The operation of updating or personalizing the individual components of the already available application (i.e. of the already available application components) with the newly loaded data (with the newly loaded application components by which the changes are formed) per se can be effected in an arbitrary known manner.
Electively, there is additionally carried out in the method a functionality test, wherein:
the loaded application components, or the available application components changed with the loaded application components, are put into operation,
it is checked whether the application components work together as intended, so that the total, possibly changed, application unit is put into operation, and
if the application components work together as intended, the loading of the application unit is defined as terminated, and
if the application components do not work together as intended, an error handling measure is taken.
As an error handling measure there can be provided for example another loading of the application unit. Alternatively or additionally, another implementing of a newly loaded application can be provided, or another updating or personalizing of an already available application with the newly loaded change data (e.g. updating data or personalization data), or both.
Hereinafter the invention will be explained more closely on the basis of exemplary embodiments and with reference to the drawing, in which there are shown:
A comparison of the personalization according to the invention according to
According to
In
Number | Date | Country | Kind |
---|---|---|---|
102013000106.4 | Jan 2013 | DE | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2013/003803 | 12/16/2013 | WO | 00 |