# Patent

## Title
Method for exporting on a secure server data comprised on a UICC comprised in a terminal

## Abstract

A method for exporting on a UICC in a terminal. An export request signed by the UICC, is transmitted by the terminal to a secure server. The server verifies the signed export request by comparing the signature and the identity of the UICC. The server sends a signed export certificate to the UICC via the terminal. An export package containing the data is prepared, signed and encrypted by the UICC, and sent to the terminal. The terminal transmits the export package to the server. The server signs an acknowledgment message and transmits it to the UICC via the terminal. In the UICC, the data that have been exported is destroyed, and a signed acknowledge message is sent to the server via the terminal. The server makes the data available for a further transfer to a new terminal or UICC.

## Background
This disclosure is a national phase of PCT/EP2011/071778, a continuation of U.S. application Ser. No. 13/312,309, filed Dec. 6, 2011, and claims priority of European Application No. 10306359.0, filed Dec. 6, 2010, the disclosures of which are hereby incorporated by reference.


The present invention relates to a method for exporting on a secure server data comprised on a UICC (Universal Integrated Circuit Card) comprised in a terminal.
Secure elements, like UICCs, embed Sim applications. The secure elements can be installed, fixedly or not, in terminals, like for example mobile phones. In some cases, the terminals are constituted by machines that communicate with other machines for M2M (Machine to Machine) applications.
A UICC can be in the format of a smart card, or may be in any other format such as for example but not limited to a packaged chip as described in PCT/SE2008/050380, or any other format. It can be used in mobile terminals in GSM and UMTS networks for instance. The UICC ensures network authentication, integrity and security of all kinds of personal data.
In a GSM network, the UICC contains mainly a SIM application and in a UMTS network it is the USIM application. A UICC may contain several other applications, making it possible for the same smart card to give access to both GSM and UMTS networks, and also provide storage of a phone book and other applications. It is also possible to access a GSM network using an USIM application and it is possible to access UMTS networks using a SIM application with mobile terminals prepared for this. With the UMTS release 5 and later stage network like LTE, a new application, the IP multimedia Services Identity Module (ISIM) is required for services in the IMS (IP Multimedia Subsystem). The telephone book is a separate application and not part of either subscription information module.
In a CDMA network, the UICC contains a CSIM application, in addition to 3GPP USIM and SIM applications. A card with all three features is called a removable user identity card, or R-UIM. Thus, the R-UIM card can be inserted into CDMA, GSM, or UMTS handsets, and will work in all three cases.
In 2G networks, the SIM card and SIM application were bound together, so that “SIM card” could mean the physical card, or any physical card with the SIM application.
The UICC smart card consists of a CPU, ROM, RAM, EEPROM and I/O circuits. Early versions consisted of the whole full-size (85×54 mm, ISO/IEC 7810 ID-1) smart card. Soon the race for smaller telephones called for a smaller version of the card.
Since the card slot is standardized, a subscriber can easily move their wireless account and phone number from one handset to another. This will also transfer their phone book and text messages. Similarly, usually a subscriber can change carriers by inserting a new carrier's UICC card into their existing handset. However, it is not always possible because some carriers (e.g. in U.S.) SIM-LOCK the phones that they sell, thus preventing competitor carriers' cards being used.
The integration of the ETSI framework and the Application management framework of Global Platform is standardized in the UICC configuration.
UICCs are standardized by 3GPP and ETSI.
A UICC can normally be removed from a mobile terminal, for example when the user wants to change his mobile terminal. After having inserted his UICC in his new terminal, the user will still have access to his applications, contacts and credentials (network operator).
It is also known to solder or weld the UICC in a terminal, in order to get it dependent of this terminal. This is done in M2M (Machine to Machine) applications. The same objective is reached when a chip (a secure element) containing the SIM or USIM applications and files is contained in the terminal. The chip is for example soldered to the mother-board of the terminal or machine and constitutes an e-UICC.
The present invention also applies to such soldered UICCs or to such chips containing the same applications than the chips comprised in UICCs. A parallel can be done for UICCs that are not totally linked to devices but that are removable with difficulty because they are not intended to be removed, located in terminals that are distant or deeply integrated in machines. A special form factor of the UICC (very small for example and therefore not easy to handle) can also be a reason to consider it as in fact integrated in a terminal. The same applies when a UICC is integrated in a machine that is not intended to be opened. Such a welded UICC or chips containing or designed to contain the same applications than UICCs will generally be called embedded UICCs or embedded secure elements (in contrast to removable UICCs or removable secure elements). This also applies to UICCs or secure elements that are removable with difficulty.
The present invention concerns the export of sensitive data out of a secure component (UICC chip) to be sent into a secure vault (e.g. a secure server), with no risk of cloning the data, and no direct data link between the UICC and the secure server. More precisely, the invention concerns a method for exporting on a secure server data comprised on a UICC comprised in a terminal.
When changing terminals, like mobile terminals, for example mobile phones, wireless terminals or connected terminals, users want the facility to keep along the services that were enable in their old terminal. These services, such as the cellular services or banking services, are relying on keys and sensitive data loaded in a UICC of the terminal.
If the secure component (UICC) is removable, such as a classic SIM card, and if the new terminal supports such a removable component, then the user can just remove the secure component from the old terminal and insert it in the new terminal.
But if the UICC is not removable (embedded UICC) or if the new terminal does not support this type of component, then there are needs to be a way to move all the keys and data related to that service to the secure component of the new terminal.
Another problem that arises in the case of embedded UICCs is that the old and the new terminal are sometimes not available at the same time. The user wants to secure its sensitive (personal) data and keys before buying his new terminal.
The invention provides a way to securely export the keys and data related to a service to a secure vault, for further download into another (or the same) terminal, in such a way that the keys and data cannot be cloned.
Furthermore, the invention addresses the problem that it may not be possible to establish a direct IP link between the secure vault and the secure component.
To this purpose, the present invention proposes a method for exporting on a secure server data comprised on a UICC comprised in a terminal. The method consists in:

    
    
        On export request, signing an export request by the UICC, the signed export request being transmitted by the terminal to the server;
        Verifying, at the level of the server, the signed export request by comparing the signature and the identity of the UICC;
        If the verification is positive, sending by the server an signed export certificate to the UICC via the terminal;
        Verifying the export certificate in the UICC and, if positive, preparing an export package containing the data, the export package being signed and encrypted by the UICC;
        Sending the export package to the terminal; and set the exported data as “unusable” in the UICC;
        Transmitting from the terminal to the server the export package;
        Receive the package and verify the signature at the level of the server;
        Signing an acknowledgment message and transmit it to the UICC via the terminal;
        In the UICC, verifying the acknowledgment message and, if the signature of the server is recognized, destroying the data that have been exported and sending a signed acknowledge message to the server via the terminal;
        Verifying the signature of the acknowledge message in the server and, if the signature is recognized, making the data available for a further transfer to a new terminal or UICC.
    
    


The UICC is preferably embedded in the terminal and the export request is preceded by a selection of the data to be exported.


The invention will be better understood by reading the following description of FIG. 1 representing a flow chart of a preferred embodiment of the present invention.
The invention integrates an asynchronous connection between the secure component (UICC) and the secure vault constituted for example by a remote server.
In FIG. 1, the end-user of a terminal selects first the data to be exported. These data are for example phone numbers or private keys that the user wants to secure for being able to transfer them later on another (or the same) terminal.
This can be done by selecting an application id or a service id on the UICC. This can be done by the user through an application on the terminal, or automatically through the terminal. This corresponds to an export request formulated by the end-user. Such an export request could also be formulated by the remote server or by the terminal.
Optionally, when selecting the data/service to be exported from the UICC, the user/terminal may have to present a code or to authenticate towards the UICC or the service in order to get access to the data.
The terminal then initiates the export session on the secure component by sending him an “INIT EXPORT SESSION” order.
In response, the UICC returns a “Signed Export request” to the terminal. This request is uniquely identified and signed by the UICC.
The “Signed Export request” is transmitted asynchronously to the server through a network, like an IP, cellular, OTA or OTI network.
At reception, the server verifies the “signed export request”, by comparing the signature and the identity of the UICC. The invention does not mandate any particular security scheme, but requires that the server can verify the signature of the UICC.
The server generates then an “Export Certificate”. This certificate is uniquely signed by the server, and uniquely identifies the UICC. With this certificate, the server confirms that the UICC is genuine, and that the export process can be initiated.
The “Export certificate” is transmitted asynchronously to the UICC by the terminal.
The UICC then verifies the “Export Certificate”. The invention does not specify a particular security scheme, but the UICC must have the ability to verify a signature from the server.
The UICC increases an “Export Counter”. This counter is maintained by the UICC.
The UICC prepares an “Export Package”. This export package is encrypted and signed by the UICC. In addition, the “Export Package” includes the “Export Counter”. The Export Package is sent to the terminal. If necessary (as shown in the diagram), due to I/O limitation between the terminal and the UICC, the Export Package can be sent through multiple commands. After having been sent to the terminal, the image of the transmitted package kept at the level of the UICC is rendered inactive (for avoiding a possible duplication of the package).
The “Export Package” is then transmitted asynchronously to the server. Since it is encrypted, only the server can read it.
Once received, the server decrypts and verifies the Export Package. For each UICC, the server maintains a copy of the Export counter. The Export Counter in the Export Package must be higher than the copy of the export counter maintained by the server, otherwise the export package is rejected. Once the export package has been accepted, the server updates its copy of the Export Counter to match the value in the Export Package.
The server then generates a Signed Ack. This Ack is uniquely signed by the server, and includes the value of the export counter. When having sent this command, the received package is rendered inactive at the level of the server.
The Signed Ack is transmitted asynchronously to the UICC (i.e. through the terminal).
The UICC verifies the received Signed Ack and, if it matches, destroys its copy (image) of the data that have been exported.
The UICC then generates a Signed Destroy Ack, which is uniquely signed by the UICC, and includes the value of the export counter.
The Signed Destroy Ack is transmitted asynchronously to the server.
The server then verifies the Signed Destroy Ack. If it matches, the exported data are available to be imported into another UICC in a new terminal or in the same one later.
The advantages of the present invention are the following:

    
    
        At every point of the process, the invention provides a nice way to interrupt and rollback the process. Therefore there is no risk of losing the data.
        All the process can be done through an asynchronous connection (such as e-mail). There is no need for the UICC to be directly connected to the server.
        It is not possible to have cloned information. The data are available in the server only after confirmation that they have been destroyed in the UICC.

## Claims

1. A method for exporting on a secure server data comprised on a UICC in a terminal, said method comprising:
on export request, signing an export request by said UICC, said signed export request being transmitted by said terminal to said server;
verifying, at the level of said server, said signed export request by comparing the signature and the identity of said UICC;
if said verification is positive, sending by said server a signed export certificate to said UICC via said terminal;
verifying said export certificate in said UICC and, if said verification is positive, preparing an export package containing said data, said export package being signed and encrypted by said UICC;
sending said export package to said terminal and setting the exported data as “unusable” in the UICC;
transmitting from said terminal to said server said export package;
receiving said package and verifying said signature at the level of said server;
signing an acknowledgment message and transmitting it to said UICC via said terminal;
in said UICC, verifying said acknowledgment message and, if the signature of said server is recognized, destroying the data that have been exported and sending a signed acknowledge message to said server via said terminal; and
verifying the signature of said acknowledge message in said server and, if said signature is recognized, making said data available for a transfer.

2. A method according to claim 1, wherein said UICC is embedded in said terminal.

3. A method according to claim 1, wherein said export request is preceded by a selection of the data to be exported.