WO2023006243A1 - Update agent with provisioning connectivity and secure element comprising the same - Google Patents
Update agent with provisioning connectivity and secure element comprising the same Download PDFInfo
- Publication number
- WO2023006243A1 WO2023006243A1 PCT/EP2022/025346 EP2022025346W WO2023006243A1 WO 2023006243 A1 WO2023006243 A1 WO 2023006243A1 EP 2022025346 W EP2022025346 W EP 2022025346W WO 2023006243 A1 WO2023006243 A1 WO 2023006243A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- update agent
- memory
- secure element
- storage module
- software
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
Definitions
- the present invention relates to secure elements in general and in particular to a se cure element fitted with an update agent with provisioning connectivity and a method for providing provisioning connectivity to devices the secure element is em bedded on.
- Smart cards are widely used in a variety of systems such as mobile phones, payment cards, access cards, to provide identification, authentication, data storage and appli cation processing.
- a secure element is used to store the data.
- a secure element is a tamper resistant element, TRE, that provides a secure memory and execution environment in which application code and application data can be securely stored and administered. The secure element ensures that access to the data stored on the card is provided only when authorized.
- Such a secure element may exist in any form factor such as UICC, embedded SE, smartSD, smart microSD, etc.
- a secure element may include one or more security domains (SDs), each of which in cludes a collection of data, such as operating system, personalization data, packages, applets, applications, and the like, which are authenticated using security keys.
- SDs security domains
- the operating system and applications are stored within the secure element in vola tile and non-volatile memory modules, and are executed in a secured processor of the secure element.
- the specification Global Platform Card Technology Open Firmware Loader for Tam per Resistant Element vl.3 (in the following referred by [1]) describes a standardized mechanism for loading firmware (that is, use case dependent data which may con tain the operating system and application data) into a secure element.
- firmware that is, use case dependent data which may con tain the operating system and application data
- OFL Open Firmware Loader
- config ured to receive images of operation system and personalization data, to perform se curity checks - particularly authentication and integrity checks - on the images, and to trigger installation of the image contents into a memory of the secure element, so as to install in the secure element an operating system and personalization data.
- Fig. 1 shows a schematic representation of the conventional production flow for load ing firmware (e.g., an operating system, OS) into a secure element.
- the upper row shows the entities responsible for the corresponding production phase (I, II, III, IV), while the lower row shows the content of the secure element (i.e., chip).
- a chip man ufacturer can provide, during a first production phase I, for a secure element to be loaded (usually in the chip factory) with trusted software, such as a secure operating system (OS) 130.
- the secure OS is personalized with credentials or personalization data, which are keys or certificates, and which are stored in a personalized OS image (in Fig. 1 identified by "maxiinit").
- the personalized secure OS image 130 is loaded together with the OFL 110 inside the chip.
- the chip with its OS can then (phase II) be embedded in a portable card-like de vice or delivered to another device manufacturer to be included (phase III) in a big ger electronic device like a smart phone, a computer, a car, a measurement equip ment, etc., and finally released to the market (phase IV).
- the already installed OS has con nectivity capabilities that allow it to communicate with a storage module or image delivery server to download an image of a new OS and to perform an update.
- a storage module or image delivery server to download an image of a new OS and to perform an update.
- Recent solutions for enabling secure download of OS images onto a tamper resistant element employ a stand-alone software loader (also referred to as an update agent or Image Trusted Loader, ITL), which is loaded onto the tamper resistant element dur ing factory production, and which allows to perform updates of OS in the field, that is, outside the certified environment.
- ITL Image Trusted Loader
- Such an update agent could allow to load an OS onto a secure element at any time after the first production phase, provided that the trusted OS image itself is properly secured and the credentials including the keys and certificates have already been loaded in the certified environment during factory production.
- software refers to any trusted software to be loaded and executed in the secure element. Examples include firmware, an operat ing system (OS), and any other use-case dependent secure applications.
- OS image refers to a generic data format encapsulating a software version and cryptographic data to be used by the update agent.
- a secure ele ment, SE comprising an update agent.
- the update agent comprises a communication interface for providing connectivity to a storage module for downloading software images onto the SE.
- the update agent comprises further a first memory storing au thentication data for authenticating software images, and a second memory storing credentials for personalizing software images.
- an update agent for updating software in a secure element.
- the update agent comprises a com munication interface for providing connectivity to a storage module for downloading software images onto the secure element.
- the update agent comprises further a first memory storing authentication data for authenticating software images; and a sec ond memory storing credentials for personalizing software images.
- the update agent in the secure element By equipping the update agent in the secure element with connectivity capabilities for establishing connection with a storage module, a flexible and independent way for loading software images onto the secure element is achieved, which does not de pend on other connectivity capabilities of a host device, the secure element is embed ded on.
- the update agent is thus a stand-alone entity which is loaded in the factory onto the secure element, and which allows an operating system and/ or other trusted software to be loaded on top of it at any time, even when the secure element, respectively a device the secure element is embedded on, is already deployed in the field.
- the up date agent allows, through its provisioning connectivity means, to directly load an operating system in the field, that is, outside a certified environment.
- the storage module can be a server, a database, a cloud node in a network system or any other entity capable of storing software images.
- the communication interface is configured to provide connectivity through a mobile network and to implement network authentication algorithms.
- the communication interface is a wireless communication inter-face.
- the update agent is configured to establish a direct connection with the storage module via the communication interface.
- the update agent is configured to establish a connection with a Local Profile As sistant, LPA, of a device, the secure element is embedded on, via the communication interface, and to provide the LPA with connectivity to the storage module.
- LPA Local Profile As sistant
- the update agent within the SE has limited, but functional, UICC capabilities (network authentication algorithms, and the minimal set of commands to effectively use them).
- the update agent is configured to es tablish a secure communication connection with the storage module through the communication interface, to retrieve a software image from the storage module; and to perform authentication of the software image using the authentication data stored in the first memory of the update agent.
- the secure element authenticates the soft ware image by verifying a digital signature, which may be associated with a vendor of the secure element or with a provider of an electronic device the secure element is embedded on.
- the digital signature may also be associated with an applet installed on the secure element.
- the update agent may use an encryption key as sociated with a particular vendor or device to verify the integrity of the software im age.
- the update agent is configured upon retrieving and authenticating the software image, to perform decryption of the soft ware image.
- decryption is performed using the authentication data stored in the first memory of the update agent.
- the update agent may decrypt the software image using a second encryption key, which may be the same or different from the encryption key used for authentication.
- a second encryption key which may be the same or different from the encryption key used for authentication.
- a public -private keys pair is used.
- a symmetric en cryption method is used.
- the same encryption key may be used to sign, encrypt and/ or decrypt the software image.
- the update agent is configured to load the software image into a memory of the secure element.
- the software image to be loaded in the SE is an operating system, OS.
- the OS is configured to retrieve the credentials or personalization data stored in the second memory of the update agent, and to perform personalization of the loaded OS image using the credentials.
- the obtained personalized OS image may be stored in the memory of the SE, preferably, by replacing the unpersonalized OS image.
- the OS may also be downloaded directly with the personalization or be per sonalized by another method.
- a method per formed by an update agent in a secure element, wherein the update agent comprises a communication interface, a first memory, and a second memory.
- the method com prises establishing a secure communication connection with a storage module through the communication interface; retrieving a software image from the storage module; and storing the personalized software image in a memory of the secure ele ment.
- the method comprises further performing authentication of the software image using authentication data stored in the first memory, and/ or performing per sonalization of the software image using the credentials stored in the second memory
- establishing a secure communi cation connection with the storage module comprises establishing via the communi cation interface a connection with a Local Profile Assistant, LPA, of a device, the se cure element is embedded on, wherein the software image is retrieved from the stor age module via the LPA.
- LPA Local Profile Assistant
- FIG. 1 shows a schematic representation of the conventional production flow of a se cure element
- FIG. 2 shows a schematic representation of the production flow of a secure element according to an embodiment
- FIG. 3 shows the structure of a secure element according to an embodiment
- FIG. 4 shows the architecture of a system for implementing a method for retrieving software in a secure element according to an embodiment
- FIG. 5 shows the architecture of a system for implementing a method for retrieving software in a secure element according to another embodiment
- FIG. 6 shows a flow diagram illustrating a method implemented in a secure element according to an embodiment
- FIG. 7 shows a mapping of the steps of the method implemented in the secure ele ment onto the production flow of Fig. 2 according to an embodiment.
- Fig. 2 shows a schematic representation of the production flow of a secure element comprising a stand-alone software loader or update agent according to an embodi ment.
- the upper row in the figure shows the entities responsible for the correspond ing production phases (I, II, III, IV), while the lower row shows the content of the se cure element (i.e., chip) in each production phase.
- the stand-alone update agent i.e., Image Trusted Loader, ITL
- ITL Image Trusted Loader
- Such a stand-alone update agent allows to load an OS onto a secure element at any time after the first production phase, provided that the trusted OS image itself is properly secured.
- the update agent according to the present invention is equipped with connec tivity capabilities for connecting to an image delivery server to download the OS im age at any time, whenever it is needed.
- Fig. 3 shows the structure of a SE 100 containing a stand-alone update agent 110 ac cording to an embodiment.
- the SE 100 is a tamper resistant element, containing the update agent 110 and the OS 130. Both the update agent 110 and the OS 130 may be stored in a memory of the SE (not shown in Fig. 3).
- the OS and the update agent are independent entities that can communicate with each other, for instance over an Application Programming Inter face, API 125.
- the update agent 110 is a loader entity allowing the provisioning of software (such as, for instance, use case dependent firmware, operating system) within the SE.
- the update agent is the main entity in charge of loading software in the secure element, as well as any other procedure related to it (e.g., update, restore, rollback).
- the up date agent 110 is loaded onto the SE 100 during factory production.
- the OS may be loaded onto the SE at a later time, after the SE has been installed in a host device.
- the update agent 110 may contain two different memory structures or regions, to store sensible data thereon.
- a first memory structure 115 preferably contains authen tication data, which is used by the update agent to authenticate and decrypt the soft ware or OS image when loaded or updated at a later time.
- the first memory contains ITL data, that is, mainly the keys used to check authentication of the OS image to perform a load or an update and to decrypt them in order to be able to properly write the OS into the SE memory.
- the first memory structure 115 comprises security keys or private credentials, for example, to gain access to change the firmware or to authenticate access for another application such as eSIM and other applications needed protected security keys. Only the update agent 110 has access to the memory region 115.
- the second memory structure 120 which is accessible both by the update agent 110 and the operating system 130, may contain the personalization data of the OS, that is, the OS credentials 135.
- the credentials 135 comprise keys and certificates for person alizing OS images.
- the second memory stores OS data, that is, per sonalization data of the OS that could be lost in an update and needs to be kept. This way, if it is lost when performing an update, it can be retrieved and applied to the new OS. This will also contain the data for the first personalization of the OS for the ITL standalone use case.
- the update agent 110 is fitted with a communication interface 150, for providing con nectivity to a storage module, such as the image delivery server 300, as depicted in Fig. 4, by means of which an OS can be retrieved and loaded onto the SE.
- a communication interface 150 for providing con nectivity to a storage module, such as the image delivery server 300, as depicted in Fig. 4, by means of which an OS can be retrieved and loaded onto the SE.
- the communication interface 150 may be realized as a wire less interface to allow the update agent 110 to establish a direct connection 160 with the storage module 300 for retrieving software and/ or OS images stored thereon.
- Conventional wireless communication protocols such as WiFi, Bloothoot, radio, NFC can be herein deployed.
- the update agent 110 may also establish a connection with a Local Profile Assistant, LPA, of a device 200, as depicted in Fig. 5.
- the external device 200 may describe an entity which is in control and communicates with the SE 100. It can be a mobile terminal, or whatever device it is that the SE is mounted on.
- the device 200 may connect to the storage module or server 300, for in stance via WiFi or similar protocols, download an OS image and sent it to the secure element through the connection 150 provided by the update agent.
- this so lution requires a pre-existing connectivity in the device in order to retrieve the OS and load it into the TRE via the update agent/loader already loaded in the TRE.
- the update agent 110 may establish a connection 160 with the Local Profile Assistant LPA 250 of the device 200 via the communication interface 150, and thus provide the LPA with connectivity to the stor age module 300.
- the update agent within the SE has limited, but functional, UICC capabilities (network authentication algorithms, and the minimal set of commands to effectively use them). This allows an SE without an UICC OS yet installed to provide the missing part to the mobile network modem in the device, thus enabling the de vice to download the UICC OS without requiring any other external aid or action from the user (i.e. WiFi or tethering to other devices).
- the update agent 110 provides connectiv ity to a mobile network and allows to implement suitable network authentication al gorithms based on credentials associated with the mobile network, which are stored in its second memory 120.
- FIG. 6 shows a flow diagram illustrating a method implemented in a secure element according to an embodiment.
- FIG. 7 shows a mapping of the steps of the method from Fig. 6 onto the production flow phases of Fig. 2 according to an embodiment.
- the method is described in the following taking the OS as an example of software to be loaded and personalized. However, the method is not restricting to the OS soft ware, and is applicable to any other software that can be executed on the secure ele ment, such as, for instance firmware or an applet/ application.
- the update agent 110 (ITL in Fig. 7), which has been loaded during phase I onto the SE/TRE 100, may establish a secure communication connection with a storage module or a server 300.
- the update agent 110 may retrieve in step S2 an OS image from the server 300.
- the OS image may be authenti cated using authentication data stored in the first memory 115 of the update agent 110.
- the retrieved OS image may be personalized in step S4 using the personaliza tion data stored in the second memory 120 of the update agent 110.
- the personalized OS image is finally stored in a memory (not shown) of the SE 100.
- All steps SI to S5 can be performed outside of the certified environment available only during factory production phase I.
- the operations performed within the certi fied environment during factory production phase I include the loading of the up date agent onto the SE.
- the actual software (operating system) is downloaded, stored and personalized within the SE by the method illustrated in Fig. 6.
- the contents of the SE after each step of the claimed method are depicted in Fig. 7.
- the SE is in the state it was delivered from the factory, that is, with any oper ating system installed thereon.
- the SE 100-3 contains an unpersonalized version of the OS.
- the SE 100-4 contains the final personalized OS version (identified by OS maxiinit in Fig. 2), which contains the operating system plus its specific personalization/ configura tion, including credentials.
- the methods and apparatus as described through the embodiments above provides an efficient and secure solution for loading an operating system onto a secure ele ment without the need of third parties, such as an extra step in the production line or the need of a preexisting connectivity in the device that contains the secure element.
- a secure communication interface provided by the update agent a flexible and efficient solution is provided for retrieving and loading software onto the secure element at any time during the lifecycle of the secure element. For instance, the solu tion allows for the actual OS to be loaded in the field, meaning that the OS-to-be- loaded could be decided later on after the production phase.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Claims
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202280052219.9A CN117716359A (en) | 2021-07-28 | 2022-07-26 | Update agent with provisioning connectivity and secure element including the update agent |
| US18/292,398 US12572661B2 (en) | 2021-07-28 | 2022-07-26 | Update agent with provisioning connectivity and secure element comprising the same |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP21382704.1 | 2021-07-28 | ||
| EP21382704.1A EP4124977A1 (en) | 2021-07-28 | 2021-07-28 | Update agent with provisioning connectivity and secure element comprising the same |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023006243A1 true WO2023006243A1 (en) | 2023-02-02 |
Family
ID=77168178
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2022/025346 Ceased WO2023006243A1 (en) | 2021-07-28 | 2022-07-26 | Update agent with provisioning connectivity and secure element comprising the same |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US12572661B2 (en) |
| EP (1) | EP4124977A1 (en) |
| CN (1) | CN117716359A (en) |
| WO (1) | WO2023006243A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4400964A1 (en) * | 2023-01-12 | 2024-07-17 | Giesecke+Devrient Mobile Security Germany GmbH | Change and recovery of personalization data in a secure element |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10069633B2 (en) * | 2016-09-30 | 2018-09-04 | Data I/O Corporation | Unified programming environment for programmable devices |
| US10936719B2 (en) * | 2016-09-23 | 2021-03-02 | Apple Inc. | Preserving trust data during operating system updates of a secure element of an electronic device |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2993682B1 (en) * | 2012-07-20 | 2014-08-22 | Oberthur Technologies | UPDATE OF AN OPERATING SYSTEM FOR SECURE ELEMENT |
| US9436455B2 (en) * | 2014-01-06 | 2016-09-06 | Apple Inc. | Logging operating system updates of a secure element of an electronic device |
| CN106713302B (en) * | 2016-12-19 | 2020-09-01 | 北京握奇智能科技有限公司 | Operating system updating method and device |
| US10769279B2 (en) * | 2017-08-24 | 2020-09-08 | Apple Inc. | Secure element operating system update notification |
-
2021
- 2021-07-28 EP EP21382704.1A patent/EP4124977A1/en active Pending
-
2022
- 2022-07-26 CN CN202280052219.9A patent/CN117716359A/en active Pending
- 2022-07-26 WO PCT/EP2022/025346 patent/WO2023006243A1/en not_active Ceased
- 2022-07-26 US US18/292,398 patent/US12572661B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10936719B2 (en) * | 2016-09-23 | 2021-03-02 | Apple Inc. | Preserving trust data during operating system updates of a secure element of an electronic device |
| US10069633B2 (en) * | 2016-09-30 | 2018-09-04 | Data I/O Corporation | Unified programming environment for programmable devices |
Also Published As
| Publication number | Publication date |
|---|---|
| US12572661B2 (en) | 2026-03-10 |
| CN117716359A (en) | 2024-03-15 |
| EP4124977A1 (en) | 2023-02-01 |
| US20240346147A1 (en) | 2024-10-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN107104939B (en) | System, method for managing secure elements | |
| AU746459B2 (en) | A system and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card | |
| CN107241353B (en) | Method, system, and computer-readable storage medium for interfacing a service provider computing system with a secure element | |
| CN103460186B (en) | Method for updating a data storage medium | |
| US12170726B2 (en) | Pre-personalized secure element and embedded personalization | |
| US20240129743A1 (en) | Method for personalizing a secure element | |
| US20240256671A1 (en) | Update of an operating system in a security element | |
| US20250085956A1 (en) | Software update in a security element | |
| US20240338451A1 (en) | Update agent and data pre-seeding in update agent | |
| EP2063400A1 (en) | Virtual security access module | |
| US12572661B2 (en) | Update agent with provisioning connectivity and secure element comprising the same | |
| US20150234646A1 (en) | Method for Installing Security-Relevant Applications in a Security Element of a Terminal | |
| KR20240027149A (en) | Personalization of security elements | |
| EP4708943A1 (en) | Method, configuration program, diversification program dataset, computer-readable data carrier as well as server device for configuring a user device | |
| US20240241959A1 (en) | Change and recovery of personalization data in a secure element | |
| WO2025202175A1 (en) | Method for configuring a user device, as well as user device and secure element | |
| CN118872304A (en) | Method for managing an application for electronically identifying a user | |
| AU2015234304A1 (en) | Systems, methods, and computer program products for managing secure elements |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22757844 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202280052219.9 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18292398 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 22757844 Country of ref document: EP Kind code of ref document: A1 |
|
| WWG | Wipo information: grant in national office |
Ref document number: 18292398 Country of ref document: US |