EP2273748A1 - Method of managing an application embedded in a secured electronic token - Google Patents
Method of managing an application embedded in a secured electronic token Download PDFInfo
- Publication number
- EP2273748A1 EP2273748A1 EP09305663A EP09305663A EP2273748A1 EP 2273748 A1 EP2273748 A1 EP 2273748A1 EP 09305663 A EP09305663 A EP 09305663A EP 09305663 A EP09305663 A EP 09305663A EP 2273748 A1 EP2273748 A1 EP 2273748A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- application
- message
- agent
- electronic token
- secured electronic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Definitions
- the present invention relates to methods of managing an application embedded in a secured electronic token. It relates particularly to methods of managing applications which are embedded in smart cards.
- a secured electronic token such as a smart card may contain applications in the form of applets. These applets may be accessed by a remote server via an over the air channel, known as OTA.
- OTA mechanism is defined by the ETSI SCP 102.225, ETSI-SCP 102.226 and GlobalPlatform 2.2 for RAM standards.
- the OTA channel allows accessing data and applications which have been specifically developed for SIM cards. Only smart cards intended to be used in Telecom domain or Machine To Machine (M2M) domain are able to manage an OTA communication. In particular SIM cards offer OTA features. These smart cards may also be accessed through the HyperText Transfer Protocol, usually called HTTP.
- HTTP HyperText Transfer Protocol
- This protocol is based on a HTTP POST message sent by an Admin Agent application to the OTA server.
- the Admin Agent application is located in the smart card.
- the OTA server sends back a SCWS administration command in the body of the HTTP POST response.
- a fixed Content-Type is specified in the header of this HTTP POST response.
- the Admin Agent application forwards the body of the HTTP POST response to the SCWS for the execution of the administration commands it contains.
- API Application Programming Interface
- these smart card applications are not able to manage the HTTP channel. It is not currently possible to target these applications because the routing of HTTP response has to be ensured by the Admin Agent that is not aware of any Content-type specific values except OMA-SCWS, RAM over HTTP and RFM over HTTP.
- the Admin Agent application is a key component for the management of these "OTA over HTTP" protocols.
- the Admin Agent application is generally part of the Operating System of smart cards. As a consequence, it is not easily possible to modify its behaviour.
- An object of the invention is to solve the above mentioned technical problem.
- the object of the present invention is a method of managing an application which is embedded in a secured electronic token.
- the secured electronic token is intended to receive a message from a server machine.
- the secured electronic token comprises an agent capable of managing said message.
- the message has a header and a body.
- the method comprises the steps of:
- the application may generate a response to the message and the method may comprise the step of forwarding said response to the server machine.
- the message may comply with HTTP or HTTPS format.
- the header element may be the Content-Type as defined by the HTTP - RFC 2616 HTTP/1.1 standard.
- the agent may deny the registering step if the application does not comply with preset security rules.
- the agent may deny the registering step if the value of said element is already registered to another application.
- the registering step may be requested by the application.
- the secured electronic token may comprise a second application and the registering step may be requested by the second application.
- the registering step may be requested by the server machine.
- the secured electronic token is intended to receive a message from a server machine.
- the secured electronic token comprises an agent capable of managing the message.
- the message has a header and a body.
- the secured electronic token comprises: a microprocessor, a communication interface, an operating system, a working memory and a non volatile memory.
- the secured electronic token is intended to comprise an application, first and second means.
- the first means is capable of registering the application by associating a reference of the application with a value of an element of the message header.
- the second means is capable of forwarding part of the message to the application if the message header contains an element which has the value associated to the reference of the application.
- the agent may comprise a third means capable of checking if the application complies with preset security rules and capable of refusing to register the application in case of unsuccessful checking.
- the application may generate a response to the message and the agent may comprise a fourth means capable of forwarding said response to the server machine.
- the application may comprise a fifth means capable of requesting the agent to register the application.
- the message may comply with HTTP or HTTPS format and the header element may be the Content-Type as defined by the HTTP - RFC 2616 HTTP/1.1 standard.
- the secured electronic token may be a smart card.
- the invention may apply to any types of secured electronic token.
- the present invention may also apply to secure electronic token using the HyperText Transfer Protocol Secure, usually called HTTPS.
- HTTPS HyperText Transfer Protocol Secure
- the secured electronic token is a SIM card but it could be any other kind of secured electronic device able to use the HTTP or HTTPS mechanisms.
- a secured electronic token may be portable and may contain one or several memories, a microprocessor and a communication interface.
- the secured electronic token is connected to a host machine.
- the host machine may be a mobile phone or telecom terminal.
- the electronic token accesses the remote server through the host machine.
- HTTPS messages may be directly exchanged between the secure electronic token and the server machine without any intermediate host machine.
- the present invention relies on an agent which allows the registration of an application. Both the agent and the application are stored into the secure electronic token.
- a distant server sends a message comprising a header and a body. The message body is intended to be received by the registered application.
- the application is associated to a specific value of a header field.
- the agent is an enhanced Admin Agent application. When receiving a message from the distant server the agent is able to route a part of this message to the corresponding application.
- the distant server always uses the standard HTTP mechanism and remains fully independent of interface constraints of the targeted application.
- the agent manages issues and data formatting for the targeted application.
- An advantage of the invention is to avoid the upgrade of the used telecom terminal. Such an upgrade is heavy to manage and costly since the number of telecom terminals on the field is huge. Moreover there are many different kinds of mobile handsets already deployed.
- Another advantage of the invention is to allow the embedded application to use a specific set of commands and responses.
- the specific set of commands and responses may comply with any format.
- Another advantage of the invention is to avoid the deployment of several basic Admin Agent applications in a single token. Such a deployment of several agents is memory consuming and needs heavy validation, audits and certifications related to security issues.
- Another advantage of the invention is to allow the mixing of several businesses OTA management in a unique HTTP OTA session.
- the invention allows mixing an Activation operation with an IMEI tracking operation.
- Another advantage of the invention is to allow the distant server to send messages which does not contain the Applet Identifier (AID) of the targeted applet.
- AID Applet Identifier
- Another advantage of the invention is to allow the OTA access to applications which have been downloaded after the card issuing without any impact on the Admin Agent.
- the applications that are downloaded in post-personalization step may be reached through the OTA channel even if the Admin Agent remains unchanged.
- Figure 1 shows the architecture of a secure electronic token SC of SIM card type according to a preferred embodiment of the invention.
- the secure electronic token SC comprises a working memory MEM1 of RAM type, two non volatile memories MEM2 and MEM3, a microprocessor MP and a communication interface IN.
- the non volatile memory MEM2 comprises an operating system OS which may contain a Java Virtual Machine.
- the non volatile memory MEM3 comprises two applets AP1 and AP2, a smart card web server SCWS, a security domain SD and an agent AA.
- the security domain SD complies with the GlobalPlatform standard.
- the two memories MEM2 and MEM3 may be implemented as any combinations of one, two or more memories. These memories may be NAND flash or EEPROM memory or another type of non volatile memory.
- the SIM card SC is intended to exchange messages with a telecom handset HM through the communication interface IN.
- the telecom handset HM is intended to exchange messages with a distant server SR via the OTA mechanism.
- the SIM card SC may exchange messages distant server SR through the connected host machine HM.
- the agent AA may be implemented as an applet in a Java Card.
- the two applications AP1 and AP2 depend on the security domain SD.
- the applet AP1 comprises a means M5 which is capable of requesting the agent AA to register the applet AP1.
- the agent AA may be merged with the Security Domain SD.
- Figure 2 shows an example of a first embodiment of a register RG embedded in the agent AA according to the invention.
- the register RG is intended to contain a set a couples ⁇ element value, reference of an application ⁇ .
- the register RG contains two couples: ⁇ EV1, RF1 ⁇ and ⁇ EV2, RF2 ⁇ .
- RF1 is a reference of the applet AP1 and RF2 is a reference of the applet AP2.
- RF1 may be equal to the AID of the applet AP1 or an address specific to AP1 or to an identifier stored in a dedicated registry.
- EV1 is a value associated to the applet AP1 and EV2 is a value associated to the applet AP2.
- the values EV1 and EV2 are supposed to be the possible values for an implicit preset field of the HTTP message header.
- the two values EV1, EV2 may be intended to be found in the Content-Type field of the HTTP header.
- EV1 may be equal to "application/ImeiTracking/1.0" and EV2 may be equal to "application/PDM/1.0".
- EV2 may correspond to a phonebook application wherein PDM stands for Personal Data Manager.
- Figure 3 shows an example of architecture of the agent AA.
- the agent comprises a register RG and four means M1, M2, M3 and M4.
- the means M1 is able to register the applet AP1.
- the registration is carried out by associating a reference RF1 of the application AP1 with a value of an element of the HTTP message header.
- the reference used in the register RG allows the agent AA to identify the targeted application to be triggered.
- the means M2 When a HTTP message is received from the server SR, the means M2 is able to forward part of a HTTP message to the applet AP1 if the HTTP message header contains an element equal to the value EV1 associated to the reference RF1. Similarly, the means M2 is able to forward part of the received HTTP message to the applet AP2 if the HTTP message header contains an element equal to the value EV2 associated to the reference RF2. Generally, the part of the HTTP message which is forwarded to the targeted applet is the entire body of the HTTP message sent by the server SR.
- the means M3 is able to check if the applet AP1 complies with preset security rules.
- the means M3 refuses to register an applet if the security checking is unsuccessful. For example the means M3 may check that the applet AP1 is in the same security domain as the agent AA.
- the applet AP1 generates a response to the data received from agent AA.
- the means M4 is able to forward the response to the distant server SR.
- the sending of the response is done thanks to a HTTP message containing the response.
- FIG. 4 shows an example of a second embodiment of a register RG embedded in the agent AA according to the invention.
- the register RG is intended to contain a set a subsets ⁇ Identifier of header element, element value and reference of an application ⁇ .
- the register RG contains one subset: ⁇ HE1, EV1, RF1 ⁇ .
- RF1 is a reference of the applet AP1 and EV1 is a value associated to the applet AP1.
- HE1 is an identifier of a field of the HTTP message header.
- the identifier HE1 may point at the Content-Type field.
- HE1 may be equal to "ContentType" when the identifier HE1 corresponds to the Content-Type field.
- the HTTP message may contain another header defined with a customized field.
- HE1 may be equal to "X-Admin-To" if the identifier HE1 corresponds to an additional customized header of the HTTP message.
- the first step of the method corresponds to the registration of the applet AP1 into the agent AA.
- the registration may be requested by the applet AP1 itself.
- the applet is registered into the agent AA by storing a couple comprising a value EV1 of an element of HTTP message header and a reference RF1 of the applet AP1.
- the element of the HTTP message header is the Content-Type.
- the value EV1 must be chosen so as to be different from the patterns defined by the OMA-SCWS and GlobalPlatform ® 2.2 standards.
- the application AP1 may generate a request for initializing an OTA session. Then the application AP1 sends this request to the agent AA.
- the agent AA sends a first HTTP POST message to the remote server SR through the connected host machine HM.
- the remote server SR sends a HTTP response request message to the token SC.
- the header of this HTTP response message contains a Content-Type field equal to EV1.
- the HTTP response message is received by the agent AA in the token SC.
- the agent AA checks if an applet has been registered for the EV1 value. Since the applet AP1 has been registered and associated to EV1 value for the Content-Type field, the agent AA extracts the body of the received HTTP response message. For example, the body may contain an applicative command aiming at updating the phonebook. The body may also contain an applicative message based on the TLV structure or based on any other relevant format. Then the agent AA sends the extracted data to the applet AP1.
- RF1 is equal to the AID of the applet AP1.
- the agent AA is able to easily find the targeted application.
- the applet AP1 treats the received data and computes a response corresponding to the received applicative command.
- the applet AP1 sends the response to the agent AA.
- the agent AA generates a HHTP POST message which contains the applet response and sends the HHTP POST message to the server SR.
- the applet AP1 provides the agent AA with the URL of the server SR.
- the HTTP POST message is generated with a header whose Content-type field is set to EV1 and with a body comprising the response provided by the applet AP1.
- the server SR receives a HTTP POST message corresponding to the initial HTTP response message.
- both the server SR and the agent AA have credentials allowing to secure the HTTP communication through HTTPS.
- the register RG may contain a subset ⁇ HE1, EV1, RF1 ⁇ as described at Figure 4 .
- the identifier HE1 may correspond to the Content-type field of the HTTP header.
- the agent AA checks if an applet has been registered for the EV1 value in the header field HE1.
- a remote HTTP server may send a full OTA script to an application embedded in a secure electronic token.
- a remote HTTP server may send full OTA scripts to an application which is different from a Smart Card Web Server.
- any attempt of an applet to register to an element value which is already registered to another applet is denied.
- the agent AA is able to manage the possible conflicts when selecting the targeted application thanks to register RG.
- the main rule is to select one application at the most. Either no application is selected or only one application is selected according to a dedicated preset policy. For example the agent AA may select the first application matching an entry in the register RG.
- only self registration may be authorized.
- an applet may request the registration for itself only.
- the registration may be delegated to another application embedded into the secure token SC.
- the registration of an applet by another applet may be authorized.
- the registered target applet shall anyway already exist in the token SC.
- the agent AA may also allows the remote registration of an applet.
- the distant server SR may ask for the registration of the applet AP1.
- the agent AA may provide an OTA command dedicated to the remote registration for example.
- a distant server may load, install and register a new applet in a secure token.
- the agent AA may provide a feature allowing requesting the deletion of the applet entry in the register RG.
- This feature may be implemented thanks to a Java Card or an OTA entry point.
- An advantage of the invention is to allow a dynamic management of the HTTPS channels between a distant server and an application embedded in a secure token. Thanks to the registration mechanism, the link between the application and the remote server may be set and removed according to applicative and administrative needs.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
The invention is a method of managing an application embedded in a secured electronic token. The token is intended to receive a message from a server machine. The message has a header and a body. The token comprises an agent able to manage the message. The method comprises the steps of:
a) registering the application in the agent by associating a reference of the application with a value of an element of the message header,
b) when the message is received from the server machine, forwarding part of the message to the application if the message header contains an element having the value associated to the reference of the application.
a) registering the application in the agent by associating a reference of the application with a value of an element of the message header,
b) when the message is received from the server machine, forwarding part of the message to the application if the message header contains an element having the value associated to the reference of the application.
Description
- The present invention relates to methods of managing an application embedded in a secured electronic token. It relates particularly to methods of managing applications which are embedded in smart cards.
- A secured electronic token such as a smart card may contain applications in the form of applets. These applets may be accessed by a remote server via an over the air channel, known as OTA. OTA mechanism is defined by the ETSI SCP 102.225, ETSI-SCP 102.226 and GlobalPlatform 2.2 for RAM standards. The OTA channel allows accessing data and applications which have been specifically developed for SIM cards. Only smart cards intended to be used in Telecom domain or Machine To Machine (M2M) domain are able to manage an OTA communication. In particular SIM cards offer OTA features. These smart cards may also be accessed through the HyperText Transfer Protocol, usually called HTTP. In particular, the OMA-SCWS standard versions 1.0 and later define an administration protocol for the OTA administration of the Smart Card Web Server (SCWS) resources. This protocol is based on a HTTP POST message sent by an Admin Agent application to the OTA server. The Admin Agent application is located in the smart card. As a response, the OTA server sends back a SCWS administration command in the body of the HTTP POST response. According to the standard, a fixed Content-Type is specified in the header of this HTTP POST response. At the reception of this message, and thanks to the Content-Type, the Admin Agent application forwards the body of the HTTP POST response to the SCWS for the execution of the administration commands it contains. Then, once these administrative commands have been executed by the SCWS, another HTTP POST request is sent by the Admin Agent application in order to notify the OTA server of the commands execution results. This result data is put in the body of this HTTP POST message, and a specific Content-Type is set in the header of this HTTP POST. Using a similar principle, the GlobalPlatform ® 2.2 standard (Amendment B "RAM over HTTP") has defined an administration protocol for the OTA administration of the Smart Card content. This channel is well suited for the Remote Applet Management (RAM) mechanism, for the administration of Security Domains, packages and applets. The GlobalPlatform ® 2.2 standard specifies a fixed pattern of Content-Type to be used in HTTP POST request messages and HTTP POST response messages.
- Most of the applications developed for the SIM cards are designed with an Application Programming Interface (API) able to manage the OTA channel. These smart card applications are not able to manage the HTTP channel. It is not currently possible to target these applications because the routing of HTTP response has to be ensured by the Admin Agent that is not aware of any Content-type specific values except OMA-SCWS, RAM over HTTP and RFM over HTTP. In the three above-referenced standards, the Admin Agent application is a key component for the management of these "OTA over HTTP" protocols. Moreover, the Admin Agent application is generally part of the Operating System of smart cards. As a consequence, it is not easily possible to modify its behaviour.
- There is a need for reusing the same "OTA over HTTP" protocol mechanism for purposes different from SCWS resources administration and Card content administration as defined by GlobalPlatform ® or ETSI standards. In particular, there is a need for accessing any application embedded into a smart card via the HTTP mechanism. In particular a distant server must be able to communicate with an application embedded in a smart card via an HTTP session in order to personalize the application or to use a service provided by the application.
- An object of the invention is to solve the above mentioned technical problem.
- The object of the present invention is a method of managing an application which is embedded in a secured electronic token. The secured electronic token is intended to receive a message from a server machine. The secured electronic token comprises an agent capable of managing said message. The message has a header and a body. The method comprises the steps of:
- a) registering the application in the agent by associating a reference of the application with a value of an element of the message header,
- b) when the message is received from the server machine, forwarding part of said message to the application if the message header contains an element having the value associated to the reference of the application.
- Advantageously, when the application may generate a response to the message and the method may comprise the step of forwarding said response to the server machine.
- In a preferred embodiment, the message may comply with HTTP or HTTPS format.
- Advantageously, the header element may be the Content-Type as defined by the HTTP - RFC 2616 HTTP/1.1 standard.
- In a preferred embodiment, the agent may deny the registering step if the application does not comply with preset security rules.
- Advantageously, the agent may deny the registering step if the value of said element is already registered to another application.
- The registering step may be requested by the application.
- Advantageously, the secured electronic token may comprise a second application and the registering step may be requested by the second application.
- Alternatively, the registering step may be requested by the server machine.
- Another object of the invention is a secured electronic token intended to receive a message from a server machine. The secured electronic token comprises an agent capable of managing the message. The message has a header and a body. The secured electronic token comprises: a microprocessor, a communication interface, an operating system, a working memory and a non volatile memory. The secured electronic token is intended to comprise an application, first and second means. The first means is capable of registering the application by associating a reference of the application with a value of an element of the message header. The second means is capable of forwarding part of the message to the application if the message header contains an element which has the value associated to the reference of the application.
- Advantageously, the agent may comprise a third means capable of checking if the application complies with preset security rules and capable of refusing to register the application in case of unsuccessful checking.
- In a preferred embodiment, the application may generate a response to the message and the agent may comprise a fourth means capable of forwarding said response to the server machine.
- Advantageously, the application may comprise a fifth means capable of requesting the agent to register the application.
- In a preferred embodiment, the message may comply with HTTP or HTTPS format and the header element may be the Content-Type as defined by the HTTP - RFC 2616 HTTP/1.1 standard.
- In a preferred embodiment, the secured electronic token may be a smart card.
- 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 architecture of a secured electronic token which communicate with a distant server via a host machine according to the invention; -
Figure 2 is an example of a first embodiment of a register embedded in the agent according to the invention; -
Figure 3 is an example of agent architecture according to the invention; and -
Figure 4 is an example of a second embodiment of a register embedded in the agent according to the invention. - The invention may apply to any types of secured electronic token. In particular, the present invention may also apply to secure electronic token using the HyperText Transfer Protocol Secure, usually called HTTPS. In this specification, the secured electronic token is a SIM card but it could be any other kind of secured electronic device able to use the HTTP or HTTPS mechanisms. A secured electronic token may be portable and may contain one or several memories, a microprocessor and a communication interface. In this specification, the secured electronic token is connected to a host machine. In particular, the host machine may be a mobile phone or telecom terminal. The electronic token accesses the remote server through the host machine. Alternatively, HTTPS messages may be directly exchanged between the secure electronic token and the server machine without any intermediate host machine.
- The present invention relies on an agent which allows the registration of an application. Both the agent and the application are stored into the secure electronic token. A distant server sends a message comprising a header and a body. The message body is intended to be received by the registered application. When registered, the application is associated to a specific value of a header field. According to the invention, the agent is an enhanced Admin Agent application. When receiving a message from the distant server the agent is able to route a part of this message to the corresponding application.
- Thanks to the invention, the distant server always uses the standard HTTP mechanism and remains fully independent of interface constraints of the targeted application. The agent manages issues and data formatting for the targeted application.
- An advantage of the invention is to avoid the upgrade of the used telecom terminal. Such an upgrade is heavy to manage and costly since the number of telecom terminals on the field is huge. Moreover there are many different kinds of mobile handsets already deployed.
- Another advantage of the invention is to allow the embedded application to use a specific set of commands and responses. The specific set of commands and responses may comply with any format.
- Another advantage of the invention is to avoid the deployment of several basic Admin Agent applications in a single token. Such a deployment of several agents is memory consuming and needs heavy validation, audits and certifications related to security issues.
- Another advantage of the invention is to allow the mixing of several businesses OTA management in a unique HTTP OTA session. For example the invention allows mixing an Activation operation with an IMEI tracking operation.
- Another advantage of the invention is to allow the distant server to send messages which does not contain the Applet Identifier (AID) of the targeted applet.
- Another advantage of the invention is to allow the OTA access to applications which have been downloaded after the card issuing without any impact on the Admin Agent. In other words, the applications that are downloaded in post-personalization step may be reached through the OTA channel even if the Admin Agent remains unchanged.
-
Figure 1 shows the architecture of a secure electronic token SC of SIM card type according to a preferred embodiment of the invention. - The secure electronic token SC comprises a working memory MEM1 of RAM type, two non volatile memories MEM2 and MEM3, a microprocessor MP and a communication interface IN. The non volatile memory MEM2 comprises an operating system OS which may contain a Java Virtual Machine.
- The non volatile memory MEM3 comprises two applets AP1 and AP2, a smart card web server SCWS, a security domain SD and an agent AA. The security domain SD complies with the GlobalPlatform standard.
- The two memories MEM2 and MEM3 may be implemented as any combinations of one, two or more memories. These memories may be NAND flash or EEPROM memory or another type of non volatile memory.
- The SIM card SC is intended to exchange messages with a telecom handset HM through the communication interface IN. The telecom handset HM is intended to exchange messages with a distant server SR via the OTA mechanism. Thus the SIM card SC may exchange messages distant server SR through the connected host machine HM.
- The agent AA may be implemented as an applet in a Java Card. In this example the two applications AP1 and AP2 depend on the security domain SD. The applet AP1 comprises a means M5 which is capable of requesting the agent AA to register the applet AP1.
- In a preferred embodiment, the agent AA may be merged with the Security Domain SD.
-
Figure 2 shows an example of a first embodiment of a register RG embedded in the agent AA according to the invention. - The register RG is intended to contain a set a couples {element value, reference of an application}. In the example of the
Figure 2 , the register RG contains two couples: {EV1, RF1} and {EV2, RF2}. - RF1 is a reference of the applet AP1 and RF2 is a reference of the applet AP2. For example RF1 may be equal to the AID of the applet AP1 or an address specific to AP1 or to an identifier stored in a dedicated registry.
- EV1 is a value associated to the applet AP1 and EV2 is a value associated to the applet AP2. In this first embodiment, the values EV1 and EV2 are supposed to be the possible values for an implicit preset field of the HTTP message header. In particular, the two values EV1, EV2 may be intended to be found in the Content-Type field of the HTTP header. For example EV1 may be equal to "application/ImeiTracking/1.0" and EV2 may be equal to "application/PDM/1.0". In this example, EV2 may correspond to a phonebook application wherein PDM stands for Personal Data Manager.
-
Figure 3 shows an example of architecture of the agent AA. The agent comprises a register RG and four means M1, M2, M3 and M4. - The means M1 is able to register the applet AP1. The registration is carried out by associating a reference RF1 of the application AP1 with a value of an element of the HTTP message header. The reference used in the register RG allows the agent AA to identify the targeted application to be triggered.
- When a HTTP message is received from the server SR, the means M2 is able to forward part of a HTTP message to the applet AP1 if the HTTP message header contains an element equal to the value EV1 associated to the reference RF1. Similarly, the means M2 is able to forward part of the received HTTP message to the applet AP2 if the HTTP message header contains an element equal to the value EV2 associated to the reference RF2. Generally, the part of the HTTP message which is forwarded to the targeted applet is the entire body of the HTTP message sent by the server SR.
- The means M3 is able to check if the applet AP1 complies with preset security rules. The means M3 refuses to register an applet if the security checking is unsuccessful. For example the means M3 may check that the applet AP1 is in the same security domain as the agent AA.
- In most cases, the applet AP1 generates a response to the data received from agent AA. The means M4 is able to forward the response to the distant server SR. The sending of the response is done thanks to a HTTP message containing the response.
-
Figure 4 shows an example of a second embodiment of a register RG embedded in the agent AA according to the invention. The register RG is intended to contain a set a subsets {Identifier of header element, element value and reference of an application}. In the example of theFigure 4 , the register RG contains one subset: {HE1, EV1, RF1}. RF1 is a reference of the applet AP1 and EV1 is a value associated to the applet AP1. HE1 is an identifier of a field of the HTTP message header. For example, the identifier HE1 may point at the Content-Type field. For instance HE1 may be equal to "ContentType" when the identifier HE1 corresponds to the Content-Type field. Alternatively, the HTTP message may contain another header defined with a customized field. For example HE1 may be equal to "X-Admin-To" if the identifier HE1 corresponds to an additional customized header of the HTTP message. - According to an embodiment of the invention, the first step of the method corresponds to the registration of the applet AP1 into the agent AA. For example, the registration may be requested by the applet AP1 itself. The applet is registered into the agent AA by storing a couple comprising a value EV1 of an element of HTTP message header and a reference RF1 of the applet AP1. In a preferred embodiment, the element of the HTTP message header is the Content-Type. The value EV1 must be chosen so as to be different from the patterns defined by the OMA-SCWS and GlobalPlatform ® 2.2 standards.
- The application AP1 may generate a request for initializing an OTA session. Then the application AP1 sends this request to the agent AA.
- Then the agent AA sends a first HTTP POST message to the remote server SR through the connected host machine HM.
- Then the remote server SR sends a HTTP response request message to the token SC. The header of this HTTP response message contains a Content-Type field equal to EV1. The HTTP response message is received by the agent AA in the token SC. The agent AA checks if an applet has been registered for the EV1 value. Since the applet AP1 has been registered and associated to EV1 value for the Content-Type field, the agent AA extracts the body of the received HTTP response message. For example, the body may contain an applicative command aiming at updating the phonebook. The body may also contain an applicative message based on the TLV structure or based on any other relevant format. Then the agent AA sends the extracted data to the applet AP1. In a preferred embodiment, RF1 is equal to the AID of the applet AP1. Thus the agent AA is able to easily find the targeted application. Then the applet AP1 treats the received data and computes a response corresponding to the received applicative command. The applet AP1 sends the response to the agent AA. Then the agent AA generates a HHTP POST message which contains the applet response and sends the HHTP POST message to the server SR. The applet AP1 provides the agent AA with the URL of the server SR. The HTTP POST message is generated with a header whose Content-type field is set to EV1 and with a body comprising the response provided by the applet AP1. Thus the server SR receives a HTTP POST message corresponding to the initial HTTP response message.
- In a preferred embodiment both the server SR and the agent AA have credentials allowing to secure the HTTP communication through HTTPS.
- Alternatively, the register RG may contain a subset {HE1, EV1, RF1} as described at
Figure 4 . In particular, the identifier HE1 may correspond to the Content-type field of the HTTP header. In this case, the agent AA checks if an applet has been registered for the EV1 value in the header field HE1. - Thanks to the invention, a remote HTTP server may send a full OTA script to an application embedded in a secure electronic token. In particular, a remote HTTP server may send full OTA scripts to an application which is different from a Smart Card Web Server.
- Advantageously, any attempt of an applet to register to an element value which is already registered to another applet is denied.
- Alternatively, the agent AA is able to manage the possible conflicts when selecting the targeted application thanks to register RG. The main rule is to select one application at the most. Either no application is selected or only one application is selected according to a dedicated preset policy. For example the agent AA may select the first application matching an entry in the register RG.
- In one embodiment, only self registration may be authorized. In other words an applet may request the registration for itself only.
- Alternatively, the registration may be delegated to another application embedded into the secure token SC. Thus the registration of an applet by another applet may be authorized. In this case, the registered target applet shall anyway already exist in the token SC.
- In another embodiment, the agent AA may also allows the remote registration of an applet. Thus the distant server SR may ask for the registration of the applet AP1. The agent AA may provide an OTA command dedicated to the remote registration for example. Thus a distant server may load, install and register a new applet in a secure token.
- Advantageously, the agent AA may provide a feature allowing requesting the deletion of the applet entry in the register RG. This feature may be implemented thanks to a Java Card or an OTA entry point.
- An advantage of the invention is to allow a dynamic management of the HTTPS channels between a distant server and an application embedded in a secure token. Thanks to the registration mechanism, the link between the application and the remote server may be set and removed according to applicative and administrative needs.
Claims (15)
- A method of managing an application (AP1) embedded in a secured electronic token (SC), said secured electronic token (SC) being intended to receive a message from a server machine (SR), said secured electronic token (SC) comprising an agent (AA) able to manage said message, the message having a header and a body,
characterized in that said method comprises the steps of:a) registering the application (AP1) in the agent (AA) by associating a reference (RF1) of the application (AP1) with a value of an element of the message header,b) when the message is received from the server machine (SR), forwarding part of said message to the application (AP1) if the message header contains an element having the value associated to the reference (RF1) of the application (AP1). - A method according to claim 1, wherein said method comprises the further step of:c) when the application (AP1) generates a response to the message, forwarding said response to the server machine (SR).
- A method according to one of claims 1 to 2, wherein said message complies with HTTP or HTTPS format.
- A method according to claim 3, wherein said header element is the Content-Type as defined by the HTTP - RFC 2616 HTTP/1.1 standard.
- A method according to one of claims 1 to 4, wherein said agent (AA) denies said registering step if the application (AP1) does not comply with preset security rules.
- A method according to one of claims 1 to 5, wherein said agent (AA) denies the registering step if the value of said element is already registered to another application.
- A method according to one of claims 1 to 6, wherein said registering step is requested by the application (AP1).
- A method according to one of claims 1 to 6, wherein said secured electronic token (SC) comprises a second application (AP2) and wherein said registering step is requested by the second application (AP2).
- A method according to one of claims 1 to 6, wherein said registering step is requested by the server machine (SR).
- A secured electronic token (SC) intended to receive a message from a server machine (SR), said secured electronic token (SC) comprising an agent (AA) able to manage said message, the message having a header and a body, said secured electronic token (SC) comprising:- a microprocessor (MP),- a communication interface (IN),- an operating system (OS),- a working memory (MEM1) and a non volatile memory (MEM2),said secured electronic token (SC) being intended to comprise an application (AP1),
characterized in that said agent (AA) comprises first and second means (M1, M2), said first means being able to register the application (AP1) by associating a reference (RF1) of the application (AP1) with a value of an element of the message header and said second means (M2) being able to forward part of said message to the application (AP1) if the message header contains an element having the value associated to the reference (RF1) of the application (AP1). - A secured electronic token (SC) according to claim 10, wherein said agent (AA) comprises a third means (M3) able to check if the application (AP1) complies with preset security rules and able to refuse to register said application (AP1) in case of unsuccessful checking.
- A secured electronic token (SC) according to one of claims 10 to 11, wherein the application (AP1) generates a response to the message, and wherein said agent (AA) comprises a fourth means (M4) able to forward said response to the server machine (SR).
- A secured electronic token (SC) according to one of claims 10 to 12, wherein the application (AP1) comprises a fifth means (M5) able to request the agent (AA) to register the application (AP1).
- A secured electronic token (SC) according to one of claims 10 to 13, wherein said message complies with HTTP or HTTPS format and wherein said header element is the Content-Type as defined by the HTTP - RFC 2616 HTTP/1.1 standard.
- A secured electronic token (SC) according to one of claims 10 to 14, wherein said secured electronic token (SC) is a smart card.
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09305663A EP2273748A1 (en) | 2009-07-09 | 2009-07-09 | Method of managing an application embedded in a secured electronic token |
CN201080039990.XA CN102484645B (en) | 2009-07-09 | 2010-06-24 | Management is embedded in the method for the application in safe electronic token |
EP10727732.9A EP2452478B2 (en) | 2009-07-09 | 2010-06-24 | Method of managing an application embedded in a secured electronic token |
PCT/EP2010/059034 WO2011003748A1 (en) | 2009-07-09 | 2010-06-24 | Method of managing an application embedded in a secured electronic token |
JP2012518878A JP5492988B2 (en) | 2009-07-09 | 2010-06-24 | How to manage applications embedded in secured electronic tokens |
ES10727732.9T ES2537172T5 (en) | 2009-07-09 | 2010-06-24 | Procedure for managing an application integrated in a secured electronic device |
US13/382,342 US8825780B2 (en) | 2009-07-09 | 2010-06-24 | Method of managing an application embedded in a secured electronic token |
PL10727732T PL2452478T5 (en) | 2009-07-09 | 2010-06-24 | Method of managing an application embedded in a secured electronic token |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09305663A EP2273748A1 (en) | 2009-07-09 | 2009-07-09 | Method of managing an application embedded in a secured electronic token |
Publications (1)
Publication Number | Publication Date |
---|---|
EP2273748A1 true EP2273748A1 (en) | 2011-01-12 |
Family
ID=42104632
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP09305663A Withdrawn EP2273748A1 (en) | 2009-07-09 | 2009-07-09 | Method of managing an application embedded in a secured electronic token |
EP10727732.9A Active EP2452478B2 (en) | 2009-07-09 | 2010-06-24 | Method of managing an application embedded in a secured electronic token |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP10727732.9A Active EP2452478B2 (en) | 2009-07-09 | 2010-06-24 | Method of managing an application embedded in a secured electronic token |
Country Status (7)
Country | Link |
---|---|
US (1) | US8825780B2 (en) |
EP (2) | EP2273748A1 (en) |
JP (1) | JP5492988B2 (en) |
CN (1) | CN102484645B (en) |
ES (1) | ES2537172T5 (en) |
PL (1) | PL2452478T5 (en) |
WO (1) | WO2011003748A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3073773A3 (en) * | 2015-03-23 | 2017-01-11 | STMicroelectronics Srl | Methods for performing a remote management of a multi-subscription sim module, and corresponding sim module and computer program product |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170193466A1 (en) * | 2015-12-31 | 2017-07-06 | Jonathan A Clark | Electronic system for routing marketplace transactions |
US10423800B2 (en) * | 2016-07-01 | 2019-09-24 | Capitalogix Ip Owner, Llc | Secure intelligent networked architecture, processing and execution |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006061754A1 (en) * | 2004-12-07 | 2006-06-15 | Philips Intellectual Property & Standards Gmbh | System and method for application management on multi-application smart cards |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1125262A1 (en) * | 1998-10-27 | 2001-08-22 | Visa International Service Association | Delegated management of smart card applications |
FR2790629A1 (en) * | 1999-02-19 | 2000-09-08 | Bull Cp8 | METHOD FOR ACTIVATING LOCALIZED APPLICATIONS IN A CHIP CARD BY A BROWSER OF THE TYPE SAID "WEB" |
FR2800540B1 (en) * | 1999-10-28 | 2001-11-30 | Bull Cp8 | SECURE TERMINAL PROVIDED WITH A CHIP CARD READER FOR COMMUNICATING WITH A SERVER VIA AN INTERNET-TYPE NETWORK |
FR2805107B1 (en) † | 2000-02-10 | 2002-04-05 | Bull Cp8 | METHOD FOR MANAGING MULTIMEDIA DATA TRANSMISSIONS VIA AN INTERNET-TYPE NETWORK, ESPECIALLY TELEPHONE DATA, AND CHIP CARD FOR IMPLEMENTING THE METHOD |
US6824064B2 (en) * | 2000-12-06 | 2004-11-30 | Mobile-Mind, Inc. | Concurrent communication with multiple applications on a smart card |
JP3805211B2 (en) * | 2001-06-11 | 2006-08-02 | 株式会社東芝 | Service providing method and service providing apparatus |
US20040123152A1 (en) * | 2002-12-18 | 2004-06-24 | Eric Le Saint | Uniform framework for security tokens |
US20040123138A1 (en) * | 2002-12-18 | 2004-06-24 | Eric Le Saint | Uniform security token authentication, authorization and accounting framework |
JP4196721B2 (en) * | 2003-04-30 | 2008-12-17 | 凸版印刷株式会社 | IC card and application setting method thereof |
JP2004348526A (en) * | 2003-05-23 | 2004-12-09 | Dainippon Printing Co Ltd | Ic card, ic card program, and switching method of code section |
CN1820481B (en) * | 2003-07-11 | 2010-05-05 | 国际商业机器公司 | System and method for authenticating clients in a client-server environment |
US7107357B2 (en) * | 2003-08-11 | 2006-09-12 | Teamon Systems, Inc. | Communications system providing shared client-server communications interface and related methods |
US7140549B2 (en) * | 2004-02-24 | 2006-11-28 | Sun Microsystems, Inc. | Method and apparatus for selecting a desired application on a smart card |
US7374099B2 (en) * | 2004-02-24 | 2008-05-20 | Sun Microsystems, Inc. | Method and apparatus for processing an application identifier from a smart card |
CN101010927A (en) * | 2004-06-15 | 2007-08-01 | 雅斯拓股份有限公司 | Protocol conversion 'bearer independent protocol (bip)'-TCP/IP for communication between SIM and terminal |
US7533265B2 (en) * | 2004-07-14 | 2009-05-12 | Microsoft Corporation | Establishment of security context |
US7945676B2 (en) * | 2005-03-10 | 2011-05-17 | International Business Machines Corporation | Processing requests transmitted using a first communication protocol directed to an application that uses a second communication protocol |
US7395973B2 (en) * | 2005-12-08 | 2008-07-08 | Chun-Hsin Ho | Smart card |
EP1811421A1 (en) * | 2005-12-29 | 2007-07-25 | AXSionics AG | Security token and method for authentication of a user with the security token |
US8032872B2 (en) * | 2006-01-09 | 2011-10-04 | Oracle America, Inc. | Supporting applets on a high end platform |
US20080189554A1 (en) * | 2007-02-05 | 2008-08-07 | Asad Ali | Method and system for securing communication between a host computer and a secure portable device |
KR101030489B1 (en) * | 2007-06-22 | 2011-04-25 | 주식회사 케이티 | system for controlling smart card and method thereof |
US7748609B2 (en) * | 2007-08-31 | 2010-07-06 | Gemalto Inc. | System and method for browser based access to smart cards |
WO2009125141A2 (en) * | 2008-03-31 | 2009-10-15 | France Telecom | Method of access and of transferring data related to an application installed on a security module associated with a mobile terminal, associated security module, management server and system |
US8732452B2 (en) * | 2008-06-23 | 2014-05-20 | Microsoft Corporation | Secure message delivery using a trust broker |
EP2312761A2 (en) * | 2008-08-08 | 2011-04-20 | Sk Telecom Co., LTD | System for interfacing between a terminal and a smart card, method for same, and smart card applied to same |
KR101095163B1 (en) * | 2008-08-27 | 2011-12-16 | 에스케이플래닛 주식회사 | System working together by terminal and smart card for processing widget and method thereof |
WO2010041901A2 (en) * | 2008-10-10 | 2010-04-15 | 에스케이 텔레콤주식회사 | System and method for installing smart card applet |
CN101820613B (en) * | 2009-02-27 | 2014-03-19 | 中兴通讯股份有限公司 | Application downloading system and method |
US8219148B2 (en) * | 2009-04-06 | 2012-07-10 | Gemalto Sa | Method for activating the subscription of an UICC device |
US8527774B2 (en) * | 2009-05-28 | 2013-09-03 | Kaazing Corporation | System and methods for providing stateless security management for web applications using non-HTTP communications protocols |
US20110055573A1 (en) * | 2009-09-03 | 2011-03-03 | International Business Machines Corporation | Supporting flexible use of smart cards with web applications |
CN102025710B (en) * | 2009-09-11 | 2015-11-25 | 中国银联股份有限公司 | Multi-application smart card and the many AMSs of smart card and method |
US20110131421A1 (en) * | 2009-12-02 | 2011-06-02 | Fabrice Jogand-Coulomb | Method for installing an application on a sim card |
-
2009
- 2009-07-09 EP EP09305663A patent/EP2273748A1/en not_active Withdrawn
-
2010
- 2010-06-24 US US13/382,342 patent/US8825780B2/en active Active
- 2010-06-24 WO PCT/EP2010/059034 patent/WO2011003748A1/en active Application Filing
- 2010-06-24 ES ES10727732.9T patent/ES2537172T5/en active Active
- 2010-06-24 EP EP10727732.9A patent/EP2452478B2/en active Active
- 2010-06-24 JP JP2012518878A patent/JP5492988B2/en active Active
- 2010-06-24 CN CN201080039990.XA patent/CN102484645B/en active Active
- 2010-06-24 PL PL10727732T patent/PL2452478T5/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006061754A1 (en) * | 2004-12-07 | 2006-06-15 | Philips Intellectual Property & Standards Gmbh | System and method for application management on multi-application smart cards |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3073773A3 (en) * | 2015-03-23 | 2017-01-11 | STMicroelectronics Srl | Methods for performing a remote management of a multi-subscription sim module, and corresponding sim module and computer program product |
Also Published As
Publication number | Publication date |
---|---|
US8825780B2 (en) | 2014-09-02 |
US20120117219A1 (en) | 2012-05-10 |
ES2537172T5 (en) | 2018-06-20 |
WO2011003748A1 (en) | 2011-01-13 |
JP5492988B2 (en) | 2014-05-14 |
ES2537172T3 (en) | 2015-06-03 |
EP2452478B1 (en) | 2014-12-17 |
CN102484645B (en) | 2015-07-29 |
PL2452478T3 (en) | 2015-07-31 |
EP2452478A1 (en) | 2012-05-16 |
EP2452478B2 (en) | 2018-01-10 |
JP2012533101A (en) | 2012-12-20 |
PL2452478T5 (en) | 2018-06-29 |
CN102484645A (en) | 2012-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8914489B2 (en) | Method of personalizing an application embedded in a secured electronic token | |
KR101494986B1 (en) | Method for managing content on a secure element connected to an equipment | |
US9226127B2 (en) | Method for provisioning of a network access for a mobile communication device using the mobile communication device | |
KR101701668B1 (en) | Method for accessing a service, corresponding device and system | |
EP2708069B1 (en) | Sim lock for multi-sim environment | |
KR101979162B1 (en) | Method for Managing Key of Embedded SIM, Embedded SIM and recording medium for the same | |
WO2010049252A1 (en) | Method of managing data sent over the air to an applet having a restricted interface | |
US9980128B2 (en) | Method for modifying rights to security domain for smartcard, and server, smartcard, and terminal for same | |
EP2209080A1 (en) | Method of loading data in an electronic device | |
EP2452478B1 (en) | Method of managing an application embedded in a secured electronic token | |
EP3267708A1 (en) | Method, server and system for sending data from a source device to a destination device | |
KR100781136B1 (en) | System and method of managing application in the universal subscriber identity module card | |
EP2273758A1 (en) | Method of sending messages to an application embedded in a secured electronic token | |
Urien | Towards a New Generation of NFC Secure Mobile Services | |
EP2383960A1 (en) | Method of managing the installation of an application in a telecom device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA RS |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20110713 |