Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD OF LOADING DATA INTO A PORTABLE SECURE TOKEN
Document Type and Number:
WIPO Patent Application WO/2012/065829
Kind Code:
A1
Abstract:
The invention is a method for loading data into a portable secure token comprising a plurality of security domains. A first security domain comprises a first administration agent and a second security domain comprises a second administration agent. A remote application server comprises a first data to be provided to the second administration agent. A syndication server, which is distinct from the remote application server, contains a list which comprises a reference to the first data. The list is sent in response to a polling request that is sent by the first administration agent. This list is comprised in a polling response which is sent by the syndication server.

More Like This:
Inventors:
AMIEL PATRICE (FR)
BERARD XAVIER (FR)
PREULIER ERIC (US)
GALLAS FREDERIC (FR)
Application Number:
PCT/EP2011/068977
Publication Date:
May 24, 2012
Filing Date:
October 28, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GEMALTO SA (FR)
AMIEL PATRICE (FR)
BERARD XAVIER (FR)
PREULIER ERIC (US)
GALLAS FREDERIC (FR)
International Classes:
G06F21/77; G07F7/10; H04L29/06
Other References:
GLOBALPLATFORM: "Remote Application Management over HTTP Card Specification v2.2 - Amendment B Version 1.1", no. GPC_SPE_011, 1 June 2009 (2009-06-01), pages 1 - 25, XP002590002, Retrieved from the Internet [retrieved on 20100630]
GLOBALPLATFORM: "GlobalPlatform Card - Card Specification - Networked Framework Version 1.0", INTERNET CITATION, 1 September 2009 (2009-09-01), pages 1 - 59, XP002590000, Retrieved from the Internet [retrieved on 20100630]
Download PDF:
Claims:
CLAIMS

1. A method in a system comprising a portable secure token (SC) and a remote application server (AS3), said portable secure token (SC) comprising a plurality of security domains (SD1, SD2) in which a first security domain (SD1) comprises a first administration agent (AA1), and in which a second security domain (SD3) comprises a second administration agent (AA3), the remote application server (AS3) comprising a first data (D3) to be provided to the second administration agent (AA3) , a list (L3) being sent in response to a polling request, said list (L3) comprising a reference to the first data (D3),

characterized in that the system comprises a syndication server (SS) containing said list (L3), in that the polling request is sent by the first administration agent (AAl) and in that the list (L3) is comprised in a polling response sent by the syndication server (SS), said syndication server (SS) being distinct from the remote application server (AS3) .

2. A method according to claim 1, wherein said method comprises the steps of:

sending said list (L3) from the first administration agent (AAl) to the second administration agent (AA3) ,

retrieving said data (D3) by the second administration agent (AA3) from the remote application server (AS3) , by using the list (L3) .

3. A method according to any one of claims 1 to

2, wherein said list (L3) is updated in the syndication server (SS) after the first data (D3) has been loaded into the secure token (SC) .

4. A method according to any one of claims 1 to

3, wherein said syndication server (SS) comprises a second list (LI) targeting said first administration agent (AAl), wherein the second list (LI) comprises a reference to a second data (Dl) which is stored in a second remote application server (AS1) and wherein said polling response comprises the second list (LI) .

5. A method according to any one of claims 1 to

4, wherein the second security domain (SD3) comprises an application (AP31) and wherein said first data (D3) is provided to the application (AP31) by the second administration agent (AA3) .

6. A method according to any one of claims 1 to

5, wherein the polling request is sent through a first communication protocol and wherein said first data (D3) is loaded into the secure token (SC) through a second communication protocol which has security features superior to the first communication protocol.

7. A method according to claim 6, wherein said first communication protocol is HTTP and said second communication protocol is HTTPS.

8. A portable secure token (SC) intended to communicate with a system comprising a remote application server (AS3) and a preset server (SS), said portable secure token (SC) comprising a plurality of security domains (SD1, SD2) in which a first security domain (SD1) comprises a first administration agent (AA1), and in which a second security domain (SD3) comprises a second administration agent (AA3), said first administration agent (AA1) being adapted to send a polling request to the preset server (SS) and to receive a polling response, said second administration agent (AA3) being intended to get a first data (D3) from the remote application server (AS3),

characterized in that the preset server (SS) is a syndication server (SS) distinct from the remote application server (AS3), in that the first security domain (SD1) comprises first and second means (Ml, M2 ) , said first means (Ml) being adapted to identify a list (L3) comprising a reference to the first data (D3) in said polling response and said second means (M2) being adapted to send the list (L3) to the second administration agent (AA3) . 9. A portable secure token (SC) according to claim

8, wherein said first administration agent (AAl) is adapted to send the polling request through a first communication protocol and wherein said second administration agent (AA3) is adapted to load the first data (D3) in the secure token (SC) through a second communication protocol which has security features superior to the first communication protocol.

10. A portable secure token (SC) according to claim 9, wherein said first communication protocol is

HTTP and said second communication protocol is HTTPS.

11. A system comprising a portable secure token (SC) and a remote application server (AS3), said portable secure token (SC) comprising a plurality of security domains (SD1, SD2) in which a first security domain (SD1) comprises a first administration agent (AAl), and in which a second security domain (SD3) comprises a second administration agent (AA3), the remote application server (AS3) comprising a first data (D3) to be provided to the second administration agent (AA3), a list (L3) being intended to be sent in response to a polling request, said list (L3) comprising a reference to the first data (D3),

characterized in that said system comprises a syndication server (SS) containing said list (L3), in that the first administration agent (AAl) is adapted to send the polling request to the syndication server (SS), in that the syndication server (SS) is adapted to send a polling response comprising the list (L3), and in that said syndication server (SS) is distinct from the remote application server (AS3) .

Description:
METHOD OF LOADING DATA INTO A PORTABLE SECURE TOKEN (Field of the invention)

The present invention relates to the methods of loading data into portable secure tokens. It relates particularly to methods of loading data into portable secure tokens containing a plurality of entities intended to get data thanks to polling mechanisms. In particular, such portable secure tokens may be SIM cards .

(Prior art)

Portable secure tokens are small machines comprising a memory, a microprocessor and an operating system for computing treatments. Portable secure tokens are intended to connect - either in contact or contactless mode - a host machine which may provides power and a user interface. In general, portable secure tokens comprise a plurality of memories of different types. For example, they may comprise memory of RAM, ROM, EEPROM or Flash type. Portable tokens have limited computing resources. For example, smart cards are secure electronic tokens.

In Telecom domain, a Universal Integrated Circuit Card (UICC) is connected to a mobile phone. Usually the UICC polls a distant server to know if there is some content to be delivered to the UICC. For example, the UICC may poll a remote server using the Over-The-Air mechanism (OTA) over HyperText Transfer protocol (HTTP) or secured HyperText Transfer protocol (HTTPS) . The UICC may embed one or several applications which need to poll one or several distant application servers. When an application polls the remote server, most of the time, there is no data to be retrieved by the application. A problem is that such a polling mechanism generates a lot of useless communications between each UICC and the distant server. A useless polling message means that the polling message does not lead to a loading of data in the secure token. When only one entity is in polling mode, it is easy to configure the polling period to make the number of useless communication be acceptable. However, it is far more complex to evaluate the overall behaviour when several entities are requesting sessions for communicating with the remote servers.

Moreover a UICC may comprise several security domains as defined by Global Platform smart card specifications V2.2 and Amendment B. A security domain comprises an Admin Agent (also named administration agent) which is able to manage its own polling mechanism. When a plurality of applications belongs to different security domains, the number of polling messages sent by a UICC cannot be optimized because each Admin Agent works independently.

It is known to use a specific application which is embedded in a secure token. This specific application allows managing automatic polling policies based on time or on a preset event. It is consequently possible to optimize the polling for a security domain. Unfortunately, this solution is restricted to applications which belong to a same security domain for polling .

It is known to maximize the duration between two polling requests so that the global polling performed from the UICC is limited. This solution is often not compatible with business requirements because most of the applications need regular updates.

The polling mechanism is based on the principle of pull. In a pull mechanism, the UICC takes the initiative in requesting data to a distant server. Another known solution is to use a Push mechanism instead of a Pull mechanism. In the Push mechanism, the distant server takes the initiative in sending data to an application of the UICC. Unfortunately, the push mechanism presents many drawbacks regarding server-side and network consumption.

There is a need to provide a solution for optimizing the polling mode for a plurality of components attached to different security domains.

(Summary of the Invention)

An object of the invention is to solve the above mentioned technical problem. The invention allows reducing the number of messages exchanged between a portable secure token comprising several applications and the applications servers corresponding to these applications. The invention relies on an admin agent which polls a particular server - called syndication server - and receives a list of actions to be performed by at least another admin agent of the portable secure token. Thus the number of admin agents which regularly polls application servers may be reduced for a portable secure token. The corresponding application servers are assumed to declare a list of operations targeting the portable secure token to the syndication server.

The object of the present invention is a method for loading data into a portable secure token. The secure token comprises a plurality of security domains. A first security domain comprises a first administration agent and a second security domain comprises a second administration agent. A remote application server comprises a first data to be provided to the second administration agent. A list is sent in response to a polling request. This list comprises a reference to the first data. A syndication server contains the list. The polling request is sent by the first administration agent. The list is comprised in a polling response sent by the syndication server. The syndication server is distinct from the remote application server.

Advantageously, the method may comprise the steps of sending the list from the first administration agent to the second administration agent, and of retrieving said data by the second administration agent from the remote application server, by using the list.

Advantageously, the polling request may be sent through a first communication protocol and said first data may be loaded into the secure token through a second communication protocol which has security features superior to the first communication protocol. In one embodiment, the first communication protocol may be HTTP and said second communication protocol may be HTTPS.

Advantageously, the list may be updated in the syndication server after the first data has been loaded into the secure token.

In one embodiment, said syndication server may comprise a second list targeting said first administration agent. The second list may comprise a reference to a second data which is stored in a second remote application server. The polling response may comprise the second list.

Advantageously, the second security domain may comprise an application and said first data may be provided to said application by the second administration agent.

Another object of the invention is portable secure token comprising a plurality of security domains in which a first security domain comprises a first administration agent, and in which a second security domain comprises a second administration agent. The first administration agent is adapted to send a polling request to a preset server and to receive a polling response. The second administration agent is intended to get a first data from a remote application server. The preset server is a syndication server distinct from the remote application server. The first security domain comprises first and second means. The first means is adapted to identify a list comprising a reference to the first data in said polling response. The second means is adapted to send the list to the second administration agent.

Advantageously, said first administration agent may be adapted to send the polling request through a first communication protocol and said second administration agent may be adapted to load the first data in the secure token through a second communication protocol which has security features superior to the first communication protocol.

In one embodiment, said first communication protocol may be HTTP and said second communication protocol may be HTTPS .

(Brief description of the drawings)

Other characteristics and advantages of the present invention will emerge more clearly from a reading of the following description of a number of preferred embodiments of the invention with reference to the corresponding accompanying drawings in which:

- Figure 1 depicts schematically an example of a system comprising a plurality of applications servers, a syndication server and a portable secure token according to the invention;

- Figure 2 depicts schematically another example of a system comprising a plurality of applications servers, two syndication servers and a portable secure token according to the invention; and

- Figure 3 depicts schematically an example of a security domain comprising an admin agent according to the invention. (Detailed description of the preferred embodiments )

The invention may apply to any types of portable secure token comprising several admin agents able to establish a communication session with distant application servers.

Figure 1 shows an example of a system SY comprising a syndication server SS, a portable secure token SC and four application servers AS1, AS2, AS3 and AS4. Figure 1 also shows an example of a method according to the invention.

In the example of Figure 1, the portable secure token SC is a UICC which comprises three security domains SD1, SD2 and SD3. The security domain SD1 contains an admin agent AAl and an application AP11. The admin agent AAl is a component that is capable of managing an OTA over HTTP connection between the security domain SD1 and a distant server. The security domain SD2 contains an admin agent AA2. The security domain SD3 contains an admin agent AA3 and an application AP31.

The application server AS1 is a remote server which comprises a data Dl intended to be sent to the application AP11. The application server AS3 is a remote server which comprises a data D3 intended to be sent to the application AP31.

According to a first embodiment of the method of the invention, the application servers AS1 and AS3 declare their respective data Dl and D3 to the syndication server SS at step STl. During the step STl, two lists LI and L3 are recorded into the syndication server SS. The list LI contains a reference to the data Dl, an identifier of application AP11 and an identifier of the token SC. The list L3 contains a reference to the data D3, an identifier of application AP31 and an identifier of the token SC.

The reference to the data Dl, respectively D3, may contain a Uniform Resource Identifier (URI) of the application server ASl, respectively AS3.

Advantageously, the list LI respectively, the list L3, may contain an identifier of a set of several portable secure tokens instead of the identifier of the token SC. This last embodiment allows targeting a collection of tokens with the same data stored into an application server.

Advantageously, the list LI respectively, the list L3, may contain an identifier of the admin agent AAl, respectively AA3.

In one embodiment the list L3 is directly sent from the application server AS3 to the syndication server SS. Advantageously, the sending of the list L3 may be protected by relevant security features in order to guarantee confidentiality and integrity of the sent list. Such security features are well known from a person skilled in the art.

At the end of step ST1, both the list LI and L3 are stored into the syndication server SS. Obviously, in other embodiments of the method, any number of list may be stored into the syndication server SS during the step ST1. For example, at the end of step ST1, the server SS may contain one, three or ten lists. Alternatively, the server SS may also contain no list if there is no data to be loaded into the portable secure token.

Then at step ST2, a polling request is sent from the token SC to the syndication server SS. The polling request is managed by the admin agent AA1. In the embodiment of Figure 1, a polling mechanism is active in the admin agent AA1 only. In other words, neither the admin agent AA2 nor the admin agent AA3 sends any polling message. In a preferred embodiment, the polling request contains an identifier of the secure token SC.

At step ST3, the syndication server SS checks if it contains a list targeting the secure token SC. The identifier extracted from the received polling request may be used for identifying the relevant list. In the example of Figure 1, the lists LI and L3 are found as targeting the secure token SC. In other words the lists LI and L3 target components embedded in the secure token SC.

In response to the received polling request, the syndication server SS builds a polling response which contains the two identified lists LI and L3. The syndication server SS sends the polling response to the admin agent AAl at step ST4. The polling response is received and analyzed by the admin agent AAl . By checking the content of the lists LI and L3, the admin agent AAl identifies the list LI as targeting the application AP11 and the list L3 as targeting the application AP31. In particular, the admin agent AAl may use the application identifier contained in each received list. Then at step ST5, the admin agent AA1 sends the list L3 to the admin agent AA3 which is in charge of managing the application AP31. The list L3 contains the identifier of the application AP31. The operating system of the secure token SC is able to identify the security domain SD3 that contains the application AP31. Then the admin agent AA3 that belongs to the identified security domain SD3 is identified as the admin agent in charge of the application AP31.

At step ST6, the admin agent AA1 opens a communication session with the distant application server AS1 in order to get the data Dl . This communication session may be performed through OTA over HTTP or any relevant communication channel. Then the admin agent AAl receives the data Dl and provides the application AP11 with the data Dl .

At step ST7, the admin agent AA3 opens a communication session with the distant application server AS3 in order to get the data D3. The list L3 contains connectivity data which allows the admin agent AA3 to access the relevant application server AS3. For example the connectivity data may be the URL (Uniform Resource Locator) of the server AS3. The connectivity data may also contain data related to security parameters of security level to be used for accessing the application server.

Advantageously, the admin agent AA3 may be able to automatically contact a preset URL. For example, the admin agent AA3 may have access to a predefined parameter containing the URL of the server AS3. This communication session may be performed through an OTA over HTTPS or any relevant communication channel. Then the admin agent AA3 receives the data D3 and provides the application AP31 with the data D3. The data D3 may contain an updated version of the application AP31, applicative data to be used by the application AP31 or security data (like a secret key) to be used by the application AP31. The data D3 may also contain a command or an applicative parameter.

Advantageously, a feedback is provided to the syndication server SS when the data is sent by an application server to the secure token SC. Such a feedback allows avoiding a further sending of the same data to the secure token SC. Such a feedback may be sent either by the application server or by the secure token SC.

In another embodiment, the syndication server SS may contain only the list L3. Thus, in response to a polling request, the admin agent AAl receives a polling response containing only the list L3. In such a case, the admin agent AAl analyzes the received polling response and sends the list L3 to the admin agent AA3. The admin agent AAl does not send any data to the application belonging to its security domain SD1. The admin agent AAl remains in charge of its polling mechanism and will send another polling request to the syndication server SS.

In the embodiment of Figure 1, the admin agents AA2 and AA3 do not manage any polling mechanism.

Advantageously, only the admin agent AAl has a polling policy. In a preferred embodiment, the admin agent AA1 belongs to the Issuer Security Domain (ISD) as defined by Global Platform Card Spec V2.2 standard.

It is to be noted that each admin agent of the portable secure token SC may also have its own polling mechanism in parallel of the polling mode of the invention. Thus the method of the invention is compatible with a secure token comprising an admin agent which must keep its own polling mechanism.

In one embodiment, the protocol used for the polling messages is HTTP. For example, the polling requests may be performed through "HTTP post" messages and the polling responses may be performed through "HTTP post response" messages. The polling responses may contain a dedicated content-type specific to the invention. Such a new specific content-type allows the recipient admin agent to know how to analyze the received message.

For instance the following "POST message" may be sent:

"POST /server/syndicationServer HTTP/1.1 CRLF

Host: 172.96.0.1 CRLF

User-Agent: syndication/ 1.0 CRLF

CRLF"

In response, the following "POST response message" may be sent:

"HTTP/1.1 200 OK CRLF

User-Agent: syndication/ 1.0 CRLF

Content-Type: application/vnd . card-syndication /1.0 CRLF Content-Length: xxxx CRLF

CRLF

[LI]

[L3] "

where "xxxx" stands for the number of bytes of the conveyed data.

In one embodiment, the polling messages may be sent through a first type of communication channel and the messages exchanged between the application servers and the admin agents may be sent through a second type of communication channel.

Advantageously, the first type of communication channel may have a light security level since no critical data is exchanged through this channel. On the other hand, the second type of communication channel may have a high security level. For example, the first type of communication channel may be HTTP and the second type of communication channel may be HTTPS. Thanks to this particular embodiment, time and resource bandwidth may be saved when treating polling messages because establishing a HTTP session requires less resource and time than establishing a HTTPS session.

Thus if no data is to be retrieved from application server, no HTTPS connection is established.

Figure 2 provides a second example of a system which comprises two syndication servers SSI and SS2, a portable secure token SC2 and six application servers AS5 to AS10.

In the example of Figure 2, the portable secure token SC2 is a SIM card which comprises three security domains SD4, SD5 and SD6. The security domain SD4 contains an admin agent AA4 and two applications AP41 and AP42. The security domain SD5 contains an admin agent AA5 and an application AP51. The security domain SD6 contains an admin agent AA6 and two applications AP61 and AP62.

The syndication server SSI comprises two lists L4 and L5 which targets respectively the applications AP42 and AP51. Each of the lists L4 and L5 contain a reference to data stored into application servers AS5 to AS7. According to one embodiment of the invention, the admin agent AA4 is in charge of managing a polling mechanism for both the security domains SD4 and SD5.

The syndication server SS2 comprises one list L6 which targets the applications AP62. The list L6 contains a reference to data stored into one of the application servers AS8 to AS10. According to one embodiment of the invention, the admin agent AA6 is in charge of managing a polling mechanism for the security domain SD6 only. Thus two polling mechanisms may be managed simultaneously in the token SC2. This embodiment may be relevant in order to manage the communication with several clusters of application servers. In the example of Figure 2, applications servers AS5, AS 6 and AS7 belong to a first cluster whereas applications servers AS8, AS9 and AS10 belong to a second cluster.

The admin agent AA4 is in charge of the polling management for the cluster (AS5, AS6 and AS7) linked to the syndication server SSI. For example the admin agent AA4 may send a polling request RE1 to the syndication server SSI. In response to RE1, the server SSI may send a polling response AN1 which contain two lists L4 and L5. Assuming that the list L5 targets a component belonging to the security domain SD5, the list L5 is sent from the admin agent AA4 to the admin agent AA5. Then the list L5 is used for retrieving data in the relevant application server belonging to the cluster linked to the syndication server SSI.

The admin agent AA6 is in charge of the polling management for the cluster (AS8, AS9 and AS10) linked to the syndication server SS2.

The admin agent AA6 may send a polling request RE2 to the syndication server SS2. In response to RE2, the server SS2 may send a polling response AN2 which contain the list L6. Assuming that the list L6 targets one component belonging to the security domain SD6, the list L6 is used for retrieving data in the relevant application server belonging to the cluster linked to the syndication server SS2.

Figure 3 provides a detailed example of the security domain SD1 of the Figure 1.

The security domain SD1 comprises an admin agent AAl and an application AP11 intended to receive data from a distant application server ASl.

The admin agent AAl comprises four means Ml, M2 , M3 and M4. The means Ml is adapted to analyze the content of the polling responses and to identify the admin agents which are targeted by this content. The means Ml is able to extract the data to be sent to each targeted admin agent.

The means M2 is adapted to send the relevant data to each targeted admin agent. In other words, the means M2 is capable of notifying each targeted admin agent of the secure token with the list of data to be retrieved on application server side. The means M2 is also adapted to send the relevant data to the targeted application belonging to the security domain SD1. Such sending of data may be implemented through mechanisms which are well known by a person skilled in the art. For instance, such a mechanism is used for sending data for the Remote Application Management (RAM) over HTTP.

The means M3 is adapted to establish a communication channel CHI with the syndication server SS. This channel CHI is established through a host machine (not shown at Figure 3) connected to the token SC. The means M3 is adapted to send and receive polling messages through the communication channel CHI. In one embodiment the communication channel CHI is OTA over HTTP.

The means M4 is adapted to establish a communication channel CH2 with the application server AS1. This channel CH2 is established through a host machine (not shown at figure 3) connected to the token SC. The means M4 is adapted to send and receive messages in order to retrieved data Dl through the communication channel CH2 in a secure way. In one embodiment the communication channel CH2 is OTA over HTTPS. The four means Ml to M4 have been described as four distinct components. They may be implemented as one or several components.

In the above-described embodiments, the portable secure token SC is a UICC or a SIM card. Such tokens comprise an operating system OS, a working memory, a microprocessor, a non volatile memory and a communication interface for communicating with a host machine. The invention also applies to tokens such as contact or contactless smart cards, USB tokens, NFC tokens, etc.

Thanks to the invention, a polling mechanism that is common to a plurality of admin agents is managed by one admin agent only. The admin agent in charge of the polling management polls the syndication server in order to know if at least one admin agent of the plurality of admin agents must retrieve data from an application server. The syndication sends a list of activities to be performed in the portable secure token. Each item of the list is notified to the targeted admin agent. Each targeted admin agent establishes a communication session with the relevant application server in order to get the data to be transferred. Compared with usual polling modes in tokens of the prior art, the invention allows to avoid a huge number of polling messages which do not lead to a transfer of data between an application server and the secure portable token.

The data retrieved by the token SC from a application server may be an upgrade of a executable component of an application embedded in the token, security parameters or applicative parameters related to an application embedded in the secure token.

An advantage of the invention is to allow saving the OTA bandwidth when a large number of UICC or SIM cards is deployed on the field. In particular, the invention allow to optimize the polling mechanism for remote application management (RAM) over HTTP/HTTPS, remote application management (RFM) over HTTP/HTTPS and Smart card Web server (SCWS) management over HTTP/HTTPS. The invention allows saving resources of mobile network of Mobile Network Operators (MNO) .

Although the above-described embodiments are oriented on OTA over HTTP or HTTPS, the invention also applies to any kind of communication channel wherein the connection is made on token initiative. For instance, the invention applies to communication channel of HTTP over TCP/IP type. The invention also applies to communication channel of CAT-TP (Card Application Transport Protocol) over UDP (User Datagram Protocol) or any protocol used over a BIP (Bearer Independent Protocol) channel.