Authorizing loading of an application onto a secure element
Patent Information
- Application Number
- CN202080017334.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-01-14
- Filing Date
- 2020-01-07
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2040-01-07
AI Technical Summary
In the prior art, although the communication channel between the remote machine and the secure element is secure, the transmitter can still send incorrect applications through the secure channel, lacking effective verification and loading control of the applications.
By verifying the application type and provider identifier in the secure element, and using user identifiers and electronic certificates, combined with computer programs and device modules, loading authorization ensures that only authorized applications are loaded.
It implements effective authentication and loading control for applications, preventing unauthorized providers and applications from being loaded onto the secure element, and ensuring that each user can securely load their own applications.
Smart Images

Figure CN113498513B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a secure element. It is particularly applicable to a secure element capable of downloading applications from a communication network. Background Technology
[0002] Data transfer between remote machines and secure elements (such as chip cards) is often protected by cryptographic mechanisms. These mechanisms, whether symmetric or asymmetric, ensure the confidentiality and integrity of the exchanged data, thereby creating a secure communication channel between the remote machine and the secure element.
[0003] Establishing a secure communication channel (which also allows for the identification of the data sender) is considered sufficient proof of trust between the two parties; therefore, the receiver does not check the nature of the data before accepting it.
[0004] As a result, the transmitter is able to use secure communication channels to send potentially incorrect data, especially applications. Summary of the Invention
[0005] The present invention aims to improve upon existing technologies.
[0006] To this end, the present invention proposes a method for authorizing the loading of an application onto a secure element capable of communicating with a loading server of the application provider, the method being implemented by the secure element and comprising the following steps:
[0007] - Obtain authorization for at least one type of application;
[0008] - Obtain the type of application to be loaded;
[0009] - Compare the type of the application to be loaded with the authorized application type;
[0010] - The loading of the application will be authorized based on the result of this comparison.
[0011] Advantageously, according to the invention, an application is loaded onto the secure element only if the verification information allows the application to pass verification. Since the verification information depends on the type of application to be loaded, even a reliable provider cannot load unwanted applications onto the secure element.
[0012] "Application" is understood herein to mean a set of data (active data, such as computer code, or passive data, such as any kind of data, including cryptographic keys) intended for subsequent use on a secure element. Applications are associated with "types," which, for example, correspond to categories of applications (telecommunications, identity, digital permissions, connection objects, payments, etc.). Applications can, in particular, take the form of computer programs and associated data; computer programs may include operating system elements.
[0013] A “secure element” is understood to refer to any hardware and / or software component that ensures data security according to rules and security requirements set by a trusted authority, such as a chip card, a SIM (Subscriber Identity Module) card, or any evolution thereof: eSIM (embedded SIM), UICC (Universal Integrated Circuit Card), eUICC (embedded UICC), or the SSP (Smart Security Platform) architecture currently defined in ETSI. For example, one can refer to Mr. Klaus Vedder’s document “SIM evolution” (20th SIGOS Conference on Telecommunications and Digital Experience – July 9-11, 2018 | Nuremberg) for an understanding of this architecture. As another example, the architecture of a secure element can be a TEE (Trusted Execution Environment) architecture, that is, a secure (storage) area isolated from other execution environments, located within the device (such as a mobile phone), thereby ensuring that sensitive data is stored, processed, and protected in a trusted environment.
[0014] An "application provider" is understood to be an entity that enables one or more applications to be used within a secure element, such as a mobile network operator (also known as a MNO), a national representative providing an identity application, or a bank providing a payment application. Application providers are uniquely identified by identifiers such as URIs (Uniform Resource Identifiers), strings, or numeric sequences.
[0015] According to a specific embodiment of the present invention, the method is further characterized in that: the security element can be accessed by at least one user identified by a user identifier, the authorized application type is associated with the user, and the method includes the step of obtaining the user identifier.
[0016] This embodiment of the invention enables control over the loading of applications by a given user when the secure element is associated with one or more users who have permissions to that element (specifically, the right to use the resources of that secure element for a given application or service). These one or more users are provided with user identifiers, such as names, numbers, strings, URIs, etc. Because the authorized application type is associated with a specific user, it ensures that each user can securely benefit from loading their own application.
[0017] According to a specific embodiment of the present invention, the above method is further characterized in that: the method includes the step of obtaining the identifier of the provider of the application to be loaded, and is characterized in that the verification information is calculated based on the identifier of the provider.
[0018] This embodiment of the invention is particularly effective in strengthening loading verification by incorporating the provider's identifier into the calculation of the verification data item (which allows for the exclusion of unauthorized providers). Advantageously, if verification information is established by combining the provider's identifier and the authorized application type, it is possible to refuse the loading of applications whose type is not authorized to a given provider but may be authorized to a given user.
[0019] According to a specific embodiment of the present invention, the above method is characterized in that: the method further includes:
[0020] - The step of comparing the identifier of the provider of the application to be loaded with the identifier of the user;
[0021] - Depending on the result of the comparison, the step of loading the application is rejected.
[0022] This embodiment of the invention allows for enhanced authentication security by comparing the provider's identifier with the user's identifier of the secure element. Thus, for example, if both entities are the entity "bank," loading can be accepted, but if one of the entities is not a bank, this will cause the application loading to be rejected.
[0023] According to another specific embodiment of the invention, the authorization method is further characterized in that: the user's identifier and at least one application type authorized for the user are recorded in the memory of the security element in the form of a certificate.
[0024] Advantageously, according to this embodiment, electronic certificates can be used to transmit data to the secure element. Such certificates, used for identifying and authenticating individuals and encrypting exchanges, can correspond to standards well-known to those skilled in the art (e.g., the X.509 standard).
[0025] The present invention also relates to an apparatus for authorizing the loading of an application onto a secure element capable of communicating with a loading server of an application provider, the apparatus comprising:
[0026] -A module for obtaining at least one type of authorized application;
[0027] - A module for obtaining the type of application to be loaded;
[0028] - A comparison module used to compare the type of the application to be loaded with the authorized application type;
[0029] - An authorization module used to authorize the loading of the application based on the result of this comparison.
[0030] The term "module" can be equivalently associated with a software component or a hardware component or a set of software and hardware components. A software component, in itself, corresponds to one or more computer programs or subroutines, or more generally, any element of a program capable of implementing, for example, a function or set of functions described for a module in discussion. In the same way, a hardware component corresponds to any element (integrated circuit, chip card, memory card, etc.) of a hardware assembly capable of implementing a function or set of functions for a module in discussion.
[0031] The present invention also relates to an electronic card including such an authorized device.
[0032] The present invention also relates to a secure storage area including such an authorized device.
[0033] The present invention also relates to a computer program comprising instructions for implementing the method described in any of the foregoing specific embodiments when the program is executed by a processor. The method can be implemented in various ways, particularly in hardwired or software form. The program can use any programming language and can be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form or in any other desirable form.
[0034] The present invention also relates to a computer-readable recording medium or information medium that contains instructions for a computer program, such as those mentioned above. The recording medium can be any entity or device capable of storing a program. For example, the medium may include a storage device, such as a ROM (e.g., a CD-ROM or microelectronic circuit ROM), or a magnetic recording device (e.g., a hard disk). Furthermore, the recording medium may correspond to a transmissible medium (e.g., an electrical signal or an optical signal) that can be routed via cable or optical fiber, radio, or other means. Specifically, the program according to the present invention can be downloaded from an internet network.
[0035] As an alternative, the recording medium may correspond to an integrated circuit incorporating the program, which is designed to execute or is used to execute the method in question.
[0036] The licensed device and the computer program have similar features and advantages to those described above regarding the licensing method. Optional features mentioned for this method can be applied to the device and the program. Attached Figure Description
[0037] Other features and advantages of the invention will become more apparent after reading the following description of specific embodiments, provided by way of simple illustrative and non-limiting examples, and the accompanying drawings, in which:
[0038] [ Figure 1 ] Figure 1 An example of an environment for implementing the invention according to a specific embodiment is shown.
[0039] [ Figure 2 ] Figure 2 The steps of a method for authorizing the loading of an application according to a specific embodiment of the present invention are illustrated.
[0040] [ Figure 3 ] Figure 3 An apparatus configured to implement a loading authorization method according to a specific embodiment of the present invention is shown.
[0041] [ Figure 4 ] Figure 4 An apparatus configured to implement a loading authorization method according to another specific embodiment of the present invention is shown. Detailed Implementation
[0042] 5.1 General Principles of the Invention
[0043] The method described herein proposes a way to verify the nature of data before accepting the reception of data from applications constituting a Secure Element (ES). Each user of the Secure Element must be registered beforehand in the ES's memory with an identifier and a list of application types authorized for download by that user. The application type is verified by the Secure Element before downloading. Advantageously, the transmitter / provider is therefore no longer able to use the communication channel (even if it is secure) to send incorrect data.
[0044] 5.2 Specific embodiments of the present invention
[0045] Figure 1 An example of an environment for implementing the invention, according to a particular embodiment, is shown in the context of downloading an application (APP) from a remote machine or an application server (SAES) for a secure element (ES).
[0046] According to this embodiment, the secure element ES has at least one user provided with an identifier (denoted as ES_uid). This user defines one or more types of applications that they are authorized to download to the ES. The same ES can have multiple users, such as... Figure 1As shown, ES has two users, A and B (ES_uid_A and ES_uid_B). For example, a secure element can be integrated into devices such as smartphones. This secure element can be in hardware form, software form, or a combination of both.
[0047] The application server communicates with the secure element (ES) to download the application (APP) via communication channel C.
[0048] According to a particular embodiment of the invention, the communication channel C is secure, for example by using a cryptographic key.
[0049] The application (APP) to be downloaded is associated with a provider and has a type; APP_id represents the identifier of the application provider, and APP_t represents the type of application. APP_t can be used by one or more providers.
[0050] APP_tid represents an identifier that indicates the type of application APP_t provided by the provider APP_id; for example, if the APP is a loyalty app for merchant xyz, and APP_id (id = xyz) is the identifier of that merchant, then APP_t corresponds to the "Loyalty App" type, and APP_tid_A is the "Loyalty App" type for merchant xyz for client A.
[0051] According to a specific embodiment of the present invention, the value APP_tid is formed by combining the values of APP_id and APP_t.
[0052] According to a specific embodiment of the present invention: the application APP is an electronic identity application; the application type APP_t is the identity application type (passport, driver's license, etc.); the provider is a country or country representative represented by ES_uid in ES (ANSSI for France or BSI for Germany); multiple countries may agree to use the same APP_t value, regardless of the provider's APP_id (French and German citizens can have passports valid for both countries). Implementing the invention in this case ensures that only French citizens can download the French identity application, and identity applications from other countries cannot be downloaded.
[0053] Figure 2 The steps of a method for loading an application according to a specific embodiment of the present invention are illustrated.
[0054] Step E0 corresponds to the initialization step. This can be performed at any time (card initialization, or subsequent user personalization, etc.). For each user of ES, the following information is stored in ES's memory:
[0055] - The user's unique identifier, ES_uid. According to a particular implementation, the value of ES_uid is equal to the value of APP_id;
[0056] -APP_tid list, which is the list of application types that the user has authorized to download.
[0057] According to one particular embodiment, this information is stored in an electronic certificate (Cert), which includes, for example, the following:
[0058] - The identifier of the certificate issuer (e.g., urn:xyz.com). This identifier then serves as the ES_uid.
[0059] -APP_tid list, which is the list of application types that ES users are authorized to download for a given provider.
[0060] In step E1, the server SAES and the security element ES establish a communication channel C.
[0061] According to a particular embodiment of the invention, the communication channel is secure by means of a public-key electronic certificate, as described above.
[0062] In step E10, the server SAES sends the provider identifier (APP_id) and the application type (APP_t) of the application to be downloaded (APP) received in step E2 on the communication channel C.
[0063] In optional step E3, the secure element ES verifies whether the application's provider is indeed authorized. According to one embodiment, the received APP_id value is compared with the recorded ES_uid value:
[0064] - If the value of APP_id does not match any of the recorded values of ES_uid, the ES responds to SAES that the APP_id is irrelevant to any user registered with that ES; the ES does not accept the download of the APP. This is to prevent application providers from misusing the Security Element. For example, if the value of ES_uid is lambda (e.g., telco for a telecom operator) but the App_id is associated with a bank, this step will fail because the user's lambda (telco) cannot load the bank's application.
[0065] - If the value of APP_id matches the value of the recorded ES_uid, then processing continues.
[0066] According to a specific embodiment of the invention presented above, the communication channel is secure by means of a public key electronic certificate from which the identifier (ES_uid) of the certificate issuer is extracted.
[0067] Next, in step E4, the security element ES obtains the authentication information represented as APP'_tid from the application type APP_t or (according to a preferred embodiment) by combining the information APP_id and APP_t sent by the server SAES.
[0068] According to a specific embodiment of the present invention, APP_tid is calculated according to the method described in IETF RFC 4122: "Universally Unique Identifier (UUID) URN namespace"; this identifier is also called "UUID version 5", where NID (namespace identifier) is equal to APP_id and NSS (namespace-specific string) is equal to APP_t.
[0069] According to another specific embodiment of the invention, this process can be delegated by the security element to an external entity.
[0070] In step E5, the security element ES compares the value of APP'_tid calculated or obtained in the previous step with the value of APP_tid recorded for the user's ES_uid; if the value of APP'_tid does not match any value of APP_tid recorded for the user's ES_uid, the ES responds to the server SAES that the application type is not authorized by the user; the ES does not accept the download of the application APP.
[0071] In step E6, if the value of APP'_tid matches the value of APP_tid recorded for the user's ES_uid, then ES indicates to SAES that the download of the APP is authorized.
[0072] According to a specific embodiment of the invention presented above, the communication channel is secured by means of a public key electronic certificate, the step of which includes comparing the value of APP'_tid calculated in step E4 with the value of APP_tid extracted from the certificate used to establish the communication channel (that is, the list of application types authorized for download by the user of ES).
[0073] In step E11, the server SAES downloads the application APP to the secure element ES, which receives the application in step E7.
[0074] Figure 3 A device DISP configured to implement a loading method according to a specific embodiment of the present invention is shown.
[0075] The device DISP has a conventional architecture of a security element and specifically includes a memory MEM and a processing unit UT, which is equipped with, for example, a processor PROC and driven by a computer program PG stored in the memory MEM. The computer program PG includes instructions for implementing steps such as the loading method described above when the program is executed by the processor PROC.
[0076] During initialization, the code instructions of the computer program PG are loaded into memory, for example, before being executed by the processor PROC. Specifically, the processor PROC of the processing unit UT executes the instructions of the computer program PG according to reference... Figure 2 The steps of the loading authorization method described in any particular embodiment.
[0077] The device DISP includes a communication module COM, which is configured to establish communication with a network (e.g., an IP network) to download an application APP. The application APP is loaded into a portion of the memory M.
[0078] According to one particular embodiment, such a device is a SIM card.
[0079] According to one particular embodiment, such a device is a TEE (Trusted Execution Environment), as described above.
[0080] according to Figure 4 Another specific embodiment shown is a security platform, such as the iSSP (Integrated Intelligent Security Platform) defined specifically in the standard currently being developed by the ETSI organization, referenced in TS 103 666-2, entitled: "Intelligent Security Platform (SSP); Integrated SSP (iSSP) Features". This evolution of the security element meets the new functional and security requirements of the security element (SE), particularly allowing for multi-application management, software and hardware architecture optimization, reduced integration costs, and increased secure storage capacity.
[0081] iSSP's software and hardware architecture, such as Figure 4The system is divided into three parts: a primary platform (PP) consisting of the hardware itself (processor, memory, etc.) and a low-level operating system (LLOS) and basic services (SB) (e.g., communication infrastructure services); a secondary platform (secondary platform bundle – SPB) consisting of a high-level operating system (HLOS) and a series of applications (e.g., related to the user's USIM, identity, etc.) represented as A1, A2, etc.; and a loading module (secondary platform bundle loader – SPBL) for managing other SPBs (loading, activation, etc.). In this case, the invention applies to the "secondary platform bundle" (SPB) application download mechanism: as described above, the method for authorizing the loading of applications is implemented by the hardware and software components of the iSSP, thereby enabling the loading of a series or set of applications (SPBs) into the iSSP's memory via the loader (SPBL) after verifying the type of a series or set of applications (SPBs) for a given user, and possibly their providers.
[0082] According to one embodiment, the iSSP includes a certificate from a certification authority (such as the GSMA, an international association of mobile phone operators), which contains the type (SPB) of the authorized download application family; for example, a telecommunications SPB, a payment SPB, an identity SPB, etc. It should be noted that multiple institutions (GSMA, banks, countries, etc.), multiple users, and multiple application families may coexist in an iSSP.
[0083] It goes without saying that the embodiments described above have been given by way of completely non-limiting instruction only, and however, many modifications can be readily made by those skilled in the art without departing from the scope of the invention.
Claims
1. A method implemented by a secure element capable of communicating with an Application Loading Server (SAES), the method comprising: For at least one user of the security element, a list of at least one authorized application category associated with at least one application provider is stored, at least one of the at least one authorized application category being identified by a category identifier used by more than one application provider, the application provider being identified by an application provider identifier in the stored list; For a first user of the secure element, authorization is granted to load (E6) the application onto the secure element based on a match between the identifier of the provider of the application to be loaded and the application provider identifier in the first user's stored list, and between the category (APP_t) of the application to be loaded and at least one application category in the first user's stored list for the application provider identifier.
2. The method as described in claim 1, wherein, The security element can be accessed via a user identifier (ES_uid), a list of at least one authorized application category (APP_tid) of the at least one user is associated with the user identifier, and the method includes obtaining (E0) the first user identifier.
3. The method as described in claim 1, wherein, The method further includes: - Based on the identifier (APP_id) of the provider of the application to be loaded and the first user identifier (ES_uid) of the security element, the application is rejected (E3) from being loaded.
4. The method of claim 2, wherein, The first user identifier (ES_uid) and a list of at least one application class (APP_tid) authorized for the first user identifier are recorded in the memory of the security element in the form of a certificate (Cert).
5. An apparatus for authorizing the loading of an application (APP, SPB) onto a secure element (ES, iSSP) capable of communicating with an application provider's loading server (SAES), the apparatus comprising: At least one processor, wherein the at least one processor is designed to: For at least one user of the security element, a list of at least one authorized application category associated with at least one application provider is stored, at least one of the at least one authorized application category being identified by a category identifier used by more than one application provider, the application provider being identified by an application provider identifier in the stored list; For a first user of the secure element, authorization is granted to load (E6) the application onto the secure element based on a match between the identifier of the provider of the application to be loaded and the application provider identifier in the first user's stored list, and between the category (APP_t) of the application to be loaded and at least one application category in the first user's stored list for the application provider identifier.
6. The device as claimed in claim 5, wherein, The security element can be accessed via a user identifier (ES_uid), a list of at least one authorized application category (APP_tid) of the at least one user associated with the user identifier, and the processor is designed to acquire (E0) the first user identifier.
7. The device of claim 5, wherein the processor is configured to refuse (E3) loading the application based on the identifier (APP_id) of the provider of the application to be loaded and the first user identifier (ES_uid) of the security element.
8. The device as claimed in claim 6, wherein, The user identifier (ES_uid) and a list of at least one application class (APP_tid) authorized for the user identifier are recorded in the memory of the security element in the form of a certificate (Cert).
9. An electronic card (SIM, iSSP) including a device for authorizing the loading of an application (APP, SPB) onto a secure element (ES, iSSP) capable of communicating with an application provider's loading server (SAES), the device comprising: At least one processor, wherein the at least one processor is designed to: For at least one user of the security element, a list of at least one authorized application category associated with at least one application provider is stored, at least one of the at least one authorized application category being identified by a category identifier used by more than one application provider, the application provider being identified by an application provider identifier in the stored list; For a first user of the secure element, authorization is granted to load (E6) the application onto the secure element based on a match between the identifier of the provider of the application to be loaded and the application provider identifier in the first user's stored list, and between the category (APP_t) of the application to be loaded and at least one application category in the first user's stored list for the application provider identifier.
10. A secure storage area (TEE) including the device as claimed in claim 5.
11. A computer-readable recording medium comprising a computer program including instructions for implementing the method of claim 1 when the program is executed by a processor.
Citation Information
Patent Citations
Application installing method and electronic device
CN106815518A
Method and device for controlling installation of applications using operator root certificates
CN1886747A
Card system, ic card, and recording medium
JP2001312402A
