FR2998687A1 - Electronic system i.e. chipset, for use in e.g. smart card of portable smartphone, has memory for storing information associated with user, where confidence operating system, controller and screen adjusts confidence environment for user - Google Patents
Electronic system i.e. chipset, for use in e.g. smart card of portable smartphone, has memory for storing information associated with user, where confidence operating system, controller and screen adjusts confidence environment for user Download PDFInfo
- Publication number
- FR2998687A1 FR2998687A1 FR1261300A FR1261300A FR2998687A1 FR 2998687 A1 FR2998687 A1 FR 2998687A1 FR 1261300 A FR1261300 A FR 1261300A FR 1261300 A FR1261300 A FR 1261300A FR 2998687 A1 FR2998687 A1 FR 2998687A1
- Authority
- FR
- France
- Prior art keywords
- trusted
- user
- electronic device
- environment
- execution environment
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/031—Protect user input by software means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
Description
Domaine technique et art antérieur L'invention s'inscrit dans le domaine des dispositifs électroniques comportant plusieurs environnements d'exécution, dont au moins un est un environnement d'exécution de confiance et un autre un environnement d'exécution polyvalent. Dans un tel dispositif électronique, l'environnement de confiance forme une zone sécurisée du dispositif électronique, propre à celui-ci, et l'environnement polyvalent forme un environnement ouvert et multifonctionnel. Dans cette catégorie de dispositifs on trouve des téléphones portables intelligents, des tablettes tactiles, des microordinateurs, des systèmes intelligents autonomes, fondés sur le concept de « machine to machine » (M2M), par exemple des ordinateurs de bord, et généralement des dispositifs utilisant des microcircuits sécurisés. On rappelle que l'on trouve des microcircuits sécurisés notamment dans les cartes à puce, les cartes mémoire, les authentifieurs USB et les éléments sécurisés (« secure elements »). L'environnement d'exécution de confiance est mis en oeuvre à l'aide d'un processeur sécurisé, qui peut être un processeur dédié à cette tâche, ou avoir d'autres fonctions, et d'une mémoire non-volatile réinscriptible sécurisée, et est basé sur un système d'exploitation de confiance. Ce système d'exploitation de confiance dispose d'un mécanisme de démarrage sécurisé qui vérifie que le dispositif électronique démarre dans un état de confiance, par exemple en vérifiant l'intégrité du code exécuté sur le dispositif électronique, notamment le code du système d'exploitation de confiance. Le système d'exploitation de confiance démarre alors qu'aucun autre système d'exploitation n'a démarré préalablement. L'intégrité de la mémoire non-volatile réinscriptible sécurisée est quant à elle vérifiée par exemple à l'aide de techniques de chiffrement et de vérification d'empreinte (fonction de hachage). Grâce à l'environnement d'exécution de confiance, il est possible de stocker dans le dispositif électronique des données sensibles. Pour conserver le caractère sécurisé de l'environnement d'exécution de confiance, seules des applications de confiance, provenant de sources de confiance (ou certifiées) dont l'utilisateur n'a pas le contrôle, sont installées dans la mémoire de cet environnement et sont exécutées sous la dépendance de son système d'exploitation. Par exemple une application de saisie de code confidentiel (qui peut être un code PIN, ou un code à usage temporaire (« one-time password ») peut être installée dans l'environnement d'exécution de confiance. A côté d'un tel environnement de confiance, les dispositifs électroniques proposent des environnements d'exécution polyvalents permettant d'exécuter avec flexibilité 10 et puissance des applications de très nombreuses sources, notamment des applications téléchargées sur Internet. Sur un dispositif comportant un environnement de confiance et un environnement polyvalent, les environnements de confiance et polyvalent peuvent être en fonctionnement en même temps, sous la réserve que l'environnement de 15 confiance ait été démarré avant l'environnement polyvalent, mais alors quand l'un est actif, l'autre est en mode inactif. Par ailleurs, chaque périphérique du dispositif électronique qui constitue une ressource commune pour les deux environnements, comme c'est le cas en général du clavier ou de l'écran, est contrôlé ou utilisé à un instant donné de manière exclusive par ou à l'un des deux environnements. 20 Néanmoins, il est difficile de savoir, pour l'utilisateur, si les périphériques de son dispositif électronique, notamment l'écran, sont contrôlés à un instant donné, par une application exécutée dans l'environnement d'exécution de confiance ou l'environnement d'exécution polyvalent. C'est un problème et par exemple une attaque contre un dispositif électronique 25 peut consister à installer dans l'environnement d'exécution polyvalent une application qui reproduit le design de la saisie de code confidentiel de l'application de confiance installée dans l'environnement de confiance. Ainsi, l'utilisateur est abusé et dévoile son code confidentiel dans un environnement non sécurisé, ce qui permet à un fraudeur de l'obtenir, par exemple via un réseau auquel le 30 dispositif électronique est connecté. On connait du document EP1688859 une méthode pour qu'une carte à microcircuit puisse authentifier une application téléchargée sur un téléphone 2 9986 87 3 portable. Elle utilise un module d'authentification dans le téléphone, qui conserve des informations dans une région infalsifiable. Mais l'utilisateur n'est pas en mesure, avec ce système, de vérifier l'authenticité de l'application par lui-même. On connait du document US20090089215 une méthode par laquelle un site 5 Internet s'authentifie auprès d'un Internaute par l'utilisation d'information de personnalisation du site Internet. Ce système ne permet pas l'authentification d'une application sur un dispositif électronique. Un but de l'invention est de fournir un système et une méthode pour la personnalisation d'un environnement d'exécution de confiance pour l'utilisateur et notamment l'authentification de l'environnement d'exécution de confiance auprès de l'utilisateur, dans les circonstances où il utilise des fonctions de confiance depuis le système d'exploitation polyvalent. Définition de l'invention et avantages associés Pour atteindre ce but, il est proposé un dispositif électronique comprenant un environnement d'exécution de confiance et un environnement d'exécution polyvalent, caractérisé en ce qu'il comprend des moyens d'obtention d'une information associée à un utilisateur ou partagée avec celui-ci, une mémoire sécurisée pour mémoriser ladite information une fois celle-ci obtenue, et des moyens d'adaptation de l'environnement de confiance pour ledit utilisateur sur la base de ladite information lors d'un accès ultérieur de l'utilisateur audit environnement d'exécution de confiance via l'environnement d'exécution polyvalent. Grâce aux particularités de ce dispositif, l'environnement de confiance est adapté 25 pour un utilisateur donné, quand cet utilisateur accède à l'environnement d'exécution de confiance via l'environnement polyvalent. Dans certains modes de réalisation, l'information est une information d'authentification de l'environnement d'exécution de confiance auprès de l'utilisateur. Elle peut aussi être une information de personnalisation d'un affichage 30 dudit environnement d'exécution de confiance. Dans certains modes de réalisation, les moyens d'obtention sont mis en oeuvre quand le dispositif électronique est démarré pour la première fois ou sont mis en oeuvre lors d'un démarrage du dispositif électronique au cours duquel un programme de lancement détecte une requête de l'utilisateur. Les moyens d'obtention peuvent être compris ou mis en oeuvre dans l'environnement d'exécution de confiance.TECHNICAL FIELD AND PRIOR ART The invention is in the field of electronic devices comprising several execution environments, at least one of which is a trusted execution environment and another a versatile execution environment. In such an electronic device, the trusted environment forms a secure area of the electronic device specific to it, and the versatile environment forms an open and multifunctional environment. In this category of devices are found intelligent mobile phones, touch pads, microcomputers, autonomous intelligent systems, based on the concept of "machine to machine" (M2M), for example on-board computers, and generally devices using secure microcircuits. It is recalled that there are secure microcircuits including smart cards, memory cards, USB authenticators and secure elements ("secure elements"). The trusted execution environment is implemented using a secure processor, which may be a processor dedicated to this task, or have other functions, and a secure rewritable non-volatile memory, and is based on a trusted operating system. This trusted operating system has a secure boot mechanism that verifies that the electronic device starts in a trusted state, for example by checking the integrity of the code executed on the electronic device, including the system code. Trusted operation. The trusted operating system starts when no other operating system has booted before. The integrity of the secure non-volatile rewritable memory is, for example, verified by means of encryption techniques and fingerprint verification (hash function). Thanks to the trusted execution environment, it is possible to store sensitive data in the electronic device. To maintain the secure nature of the trusted execution environment, only trusted applications from trusted (or trusted) sources that the user does not have control are installed in the memory of that environment and are executed under the control of its operating system. For example, a PIN entry application (which can be a PIN code, or a one-time password) can be installed in the trusted execution environment. In a trusted environment, electronic devices provide versatile runtime environments for flexibly and powerfully executing applications from a wide variety of sources, including applications downloaded from the Internet, on a device with a trusted environment and a versatile environment. the trusted and versatile environments may be operating at the same time, provided that the trusted environment was started before the multipurpose environment, but then when one is active, the other is in idle mode. Moreover, each device of the electronic device which constitutes a common resource for the two environments, as it is the case generally of the keyboard or the screen, is controlled or used at a given time exclusively by or to one of the two environments. Nevertheless, it is difficult to know for the user whether the peripherals of his electronic device, in particular the screen, are controlled at a given time by an application executed in the trusted execution environment or the Versatile execution environment. This is a problem and for example an attack against an electronic device 25 may consist in installing in the versatile execution environment an application that reproduces the design of the confidential application trusted code entry installed in the environment of confidence. Thus, the user is abused and discloses his PIN in an unsecured environment, which allows a fraudster to obtain it, for example via a network to which the electronic device is connected. Document EP1688859 discloses a method for a microcircuit card to authenticate an application downloaded to a portable telephone. It uses an authentication module in the phone, which stores information in a tamper-proof region. But the user is not able, with this system, to verify the authenticity of the application by itself. Document US20090089215 discloses a method by which an Internet site authenticates itself to an Internet user by the use of personalization information of the Internet site. This system does not allow the authentication of an application on an electronic device. An object of the invention is to provide a system and a method for customizing a trusted execution environment for the user and in particular the authentication of the trusted execution environment with the user, in the circumstances where it uses trusted functions since the versatile operating system. Definition of the invention and associated advantages To achieve this goal, there is provided an electronic device comprising a trusted execution environment and a versatile execution environment, characterized in that it comprises means for obtaining a information associated with or shared with a user, a secure memory for storing said information once it has been obtained, and means for adapting the trusted environment for said user on the basis of said information when subsequent access of the user to said trusted execution environment via the versatile execution environment. Due to the peculiarities of this device, the trusted environment is suitable for a given user, when that user accesses the trusted execution environment via the multipurpose environment. In some embodiments, the information is authentication information of the trusted execution environment to the user. It can also be a customization information of a display of said trusted execution environment. In some embodiments, the obtaining means are implemented when the electronic device is started for the first time or are implemented during a startup of the electronic device in which a launch program detects a request of the 'user. The means of obtaining can be understood or implemented in the trusted execution environment.
L'information peut être obtenue par une entrée de l'utilisateur via une interface homme machine, par exemple sur un clavier. De manière générale, l'information peut comprendre une phrase, un numéro d'identification personnel, une photographie, une couleur, une image, un fond d'écran, une police de caractères, un choix de langue, un choix de monnaie, un numéro de compte bancaire, ou un choix de mode d'interaction avec une application. Egalement, et c'est avantageux en l'absence d'écran, un son, une vibration, une lumière, l'activation d'une LED de touches du clavier peuvent être utilisés. La mémoire sécurisée est sécurisée par des techniques de chiffrement et de vérification d'empreinte ou par le fait qu'elle est embarquée dans un System on Chip ou par le fait qu'il s'agit d'une mémoire dédiée. Les moyens d'adaptation de l'environnement de confiance comprennent un contrôleur sécurisé pour relier un fonctionnement d'un périphérique à un environnement de confiance ou à un environnement polyvalent.The information can be obtained by a user input via a human machine interface, for example on a keyboard. In general, the information may include a phrase, a personal identification number, a photograph, a color, an image, a wallpaper, a font, a choice of language, a choice of currency, a bank account number, or a choice of how to interact with an application. Also, and this is advantageous in the absence of a screen, a sound, a vibration, a light, the activation of a keypad LED keys can be used. The secure memory is secured by encryption techniques and fingerprint verification or by being embedded in a System on Chip or by the fact that it is a dedicated memory. The means for adapting the trusted environment includes a secure controller for connecting a device operation to a trusted environment or a multipurpose environment.
De préférence, les moyens d'adaptation de l'environnement de confiance comprennent un processeur sécurisé, et/ou sont compris ou mis en oeuvre dans l'environnement d'exécution de confiance. Avantageusement, les moyens d'exploitation de ladite information lors d'un accès ultérieur de l'utilisateur audit environnement d'exécution de confiance via l'environnement d'exécution polyvalent comprennent une interface pour l'accès à une application de l'environnement d'exécution de confiance par une application de l'environnement d'exécution polyvalent. Il est également avantageux que, lors d'un démarrage du terminal, un programme de lancement est configuré pour qu'un système d'exploitation de l'environnement d'exécution polyvalent ne soit lancé que quand un système d'exploitation de l'environnement d'exécution de confiance a été lancé avec succès.Preferably, the adaptation means of the trusted environment comprise a secure processor, and / or are understood or implemented in the trusted execution environment. Advantageously, the means of exploiting said information during a subsequent access of the user to said trusted execution environment via the polyvalent execution environment comprise an interface for accessing an application of the environment of the environment. trusted execution through an application of the versatile runtime environment. It is also advantageous that, during a startup of the terminal, a launcher is configured so that an operating system of the versatile runtime environment is launched only when an operating system of the environment trusted execution has been successfully launched.
On précise que dans une architecture les environnements d'exécution polyvalents et de confiance sont compris sur un même chipset. L'invention porte aussi sur un terminal de téléphonie mobile comprenant un dispositif électronique tel que présenté plus haut.It is specified that in an architecture versatile and trusted execution environments are included on the same chipset. The invention also relates to a mobile telephone terminal comprising an electronic device as presented above.
L'invention porte aussi sur un procédé d'adaptation d'un dispositif électronique comprenant un environnement d'exécution de confiance et un environnement d'exécution polyvalent, caractérisé en ce qu'il comprend une étape d'obtention d'une information associée à un utilisateur ou partagée avec celui-ci, et une étape de mémorisation de ladite information une fois celle-ci obtenue dans une mémoire sécurisée pour l'adaptation d'une fonction de l'environnement de confiance pour ledit utilisateur sur la base de ladite information lors d'un accès ultérieur de l'utilisateur audit environnement d'exécution de confiance via l'environnement d'exécution polyvalent. L'invention porte aussi sur un système d'exploitation de confiance comprenant des instructions qui, quand elles sont exécutées par un processeur, mettent en oeuvre un procédé tel que présenté plus haut. Brève description des figures La figure 1 présente un mode de réalisation d'un dispositif selon l'invention.The invention also relates to a method of adapting an electronic device comprising a trusted execution environment and a versatile execution environment, characterized in that it comprises a step of obtaining information associated with a user or shared with it, and a step of storing said information once it is obtained in a secure memory for adapting a function of the trusted environment for said user on the basis of said information during subsequent access of the user to said trusted execution environment via the versatile execution environment. The invention also relates to a trusted operating system comprising instructions which, when executed by a processor, implement a method as presented above. BRIEF DESCRIPTION OF THE FIGURES FIG. 1 shows an embodiment of a device according to the invention.
La figure 2 présente un mode général de réalisation d'un procédé selon l'invention. La figure 3 présente un premier mode particulier de réalisation d'un procédé selon l'invention. La figure 4 présente un aspect particulier du premier mode de réalisation évoqué ci-dessus.Figure 2 shows a general embodiment of a method according to the invention. FIG. 3 shows a first particular embodiment of a method according to the invention. Figure 4 shows a particular aspect of the first embodiment mentioned above.
La figure 5 présente un deuxième mode particulier de réalisation d'un procédé selon l'invention. La figure 6 présente un troisième mode particulier de réalisation d'un procédé selon l'invention. La figure 7 présente un quatrième mode particulier de réalisation d'un procédé selon l'invention. La figure 8 présente un aspect particulier du quatrième mode de réalisation de l'invention.FIG. 5 presents a second particular embodiment of a method according to the invention. FIG. 6 shows a third particular embodiment of a method according to the invention. FIG. 7 presents a fourth particular embodiment of a method according to the invention. Figure 8 shows a particular aspect of the fourth embodiment of the invention.
Description détaillée des figures En figure 1, on a présenté un terminal 100 de téléphonie mobile, comprenant un chipset (ou système sur puce) 1000 sur lequel sont présents deux environnements d'exécution, l'un étant un environnement de confiance et étant référencé 1100, l'autre un environnement polyvalent référencé 1200. D'autres architectures sont envisageables, incluant par exemple un chipset par environnement. On rappelle que les environnements d'exécution, de confiance ou polyvalents, comprennent ou sont inclus dans des ensembles électroniques de type chipset ou System on Chip. Plusieurs environnements peuvent être hébergés dans un même chipset ou un même System on Chip, mais dans ce cas, si l'un des environnements est un environnement de confiance, une mémoire non-volatile réinscriptible ou une zone de mémoire non-volatile réinscriptible dont l'accès est contrôlé est dédiée à l'environnement de confiance. Seules les applications vérifiées en authenticité et en intégrité sont installées dans la mémoire non- volatile sécurisée de l'environnement de confiance. Un environnement d'exécution de confiance comprend aussi un processeur sécurisé, qui n'exécute que des applications fournies par la mémoire non-volatile sécurisée. L'environnement de confiance 1100 comprend un système d'exploitation de confiance 1150 et une mémoire non-volatile sécurisée 1160, ainsi qu'un processeur sécurisé 1170. Ce dernier peut être constitué par un unique processeur partagé avec l'environnement d'exécution polyvalent 1200. Il peut aussi ne pas être physiquement sur le chipset 1000. Il a accès aux périphériques que sont l'écran 2000 et le clavier 2100.DETAILED DESCRIPTION OF THE FIGURES FIG. 1 shows a mobile telephone terminal 100, comprising a chipset (or system-on-a-chip) 1000 on which two execution environments are present, one being a trusted environment and being referenced 1100. , the other a versatile environment referenced 1200. Other architectures are possible, including for example a chipset environment. It is recalled that the execution environments, trust or versatile, include or are included in electronic chipset or System on Chip. Several environments can be hosted in the same chipset or the same System on Chip, but in this case, if one of the environments is a trusted environment, a rewritable non-volatile memory or a rewritable non-volatile memory area whose controlled access is dedicated to the trusted environment. Only applications that are verified for authenticity and integrity are installed in the trusted nonvolatile memory of the trusted environment. A trusted execution environment also includes a secure processor, which executes only applications provided by the secure non-volatile memory. The trusted environment 1100 includes a trusted operating system 1150 and a secure non-volatile memory 1160, as well as a secure processor 1170. The latter can be a single processor shared with the versatile runtime environment. 1200. It can also not be physically on the chipset 1000. It has access to the devices that are the screen 2000 and the keyboard 2100.
Un programme de lancement 1300 (« bootloader») mémorisé dans une mémoire non-réinscriptible sécurisé (« bootROM ») du chipset est chargé de procéder, en cas de démarrage du terminal 100, au lancement de l'exécution du système d'exploitation de confiance 1150, et, si celui-ci est exécuté avec succès, de lancer ensuite l'exécution du système d'exploitation de l'environnement d'exécution polyvalent. Ainsi une chaîne d'étapes (« Secure Boot ») est exécutée, la bonne exécution de chaque étape constituant une condition pour l'exécution de la suivante. L'ensemble des étapes permet le démarrage complet du terminal.A boot program 1300 ("bootloader") stored in a non-rewritable memory ("bootROM") of the chipset is responsible for proceeding, in case of startup of the terminal 100, the start of the execution of the operating system. trusted 1150, and if it is successfully executed, then run the operating system running the multi-purpose runtime environment. Thus a chain of steps ("Secure Boot") is executed, the proper execution of each step constituting a condition for the execution of the next. The set of steps allows the complete start of the terminal.
Le terminal 100 possède un écran 2000 ainsi qu'une interface d'entrée, typiquement un clavier 2100 pour permettre à l'utilisateur d'échanger des informations, par exemple textuelles, avec le terminal. En figure 2, on a présenté un schéma général de fonctionnement de l'invention.The terminal 100 has a screen 2000 and an input interface, typically a keyboard 2100 to allow the user to exchange information, for example text, with the terminal. In Figure 2, a general scheme of operation of the invention is presented.
Celle-ci comporte une étape d'obtention E10 d'une information pour l'adaptation du système d'exploitation de confiance pour un utilisateur, une étape de mémorisation E20 de ladite information une fois celle-ci obtenue, dans la mémoire sécurisée 1160, puis une étape d'exploitation E30 de ladite information lors d'une utilisation ultérieure du système d'exploitation de confiance 1150.This comprises a step E10 obtaining information for the adaptation of the trusted operating system for a user, a storage step E20 of said information once it has been obtained, in the secure memory 1160, and then an operation step E30 of said information during a subsequent use of the trusted operating system 1150.
Un premier mode de réalisation est présenté en figure 3. Au cours d'une étape E110, on effectue la configuration du terminal lors d'un premier démarrage de celui-ci après sa mise à la disposition d'un premier utilisateur. Plus précisément, le programme de lancement 1300 authentifie puis lance le système d'exploitation de confiance 1150 et, celui-ci, en s'initialisant lit une information (« flag») dans la mémoire non-volatile sécurisée 1160 l'informant du fait que le démarrage correspond à une première utilisation. Le système d'exploitation de confiance 1150 invite alors l'utilisateur à répondre à certaines questions portant sur les options de configuration qu'il souhaite utiliser sur le terminal 100, comme par exemple la langue des textes affichés.A first embodiment is presented in FIG. 3. During a step E110, the configuration of the terminal is carried out during a first start thereof after it has been made available to a first user. More precisely, the launching program 1300 then authenticates and launches the trusted operating system 1150, which, by initializing, reads information ("flag") in the secure non-volatile memory 1160 informing it of the fact that that the start corresponds to a first use. The trusted operating system 1150 then prompts the user to answer certain questions about the configuration options that he wishes to use on the terminal 100, such as the language of the displayed texts.
Il peut aussi lui demander de renseigner un champ qualifié de « secret partagé », dont l'utilisateur est informé qu'il s'agit d'une information confidentielle qu'il partagera avec le système d'exécution de confiance 1150, et seulement avec celui-ci, et qui lui permettra de reconnaître qu'une application exécutée sur le terminal 100 l'est dans le cadre du système d'exploitation sécurisé.He can also ask him to fill in a field called "shared secret", which the user is informed that it is confidential information that he will share with the trusted execution system 1150, and only with it, which will allow him to recognize that an application executed on the terminal 100 is in the framework of the secure operating system.
L'utilisateur renseigne le champ « secret partagé ». L'information est entrée par le clavier 2100, et peut s'afficher sur l'écran 2000, le temps de la saisie. Un exemple de mise en oeuvre est présent sur la saisie d'écran 201 en figure 4. Le secret partagé est enregistré par le système d'exploitation de confiance 1150 dans la mémoire non volatile sécurisée 1160.The user enters the "shared secret" field. The information is entered by the keyboard 2100, and can be displayed on the screen 2000, the time of the entry. An exemplary implementation is present on the screen capture 201 in FIG. 4. The shared secret is registered by the trusted operating system 1150 in the non-volatile secure memory 1160.
La configuration du terminal 100 se poursuit, et le système d'exploitation polyvalent peut être lancé à son tour. On précise que la configuration et la personnalisation ainsi effectuées sont sécurisées car aucun système d'exploitation autre que le système d'exploitation de confiance n'est exécuté à ce stade. Au cours d'une étape ultérieure E130, qui peut avoir lieu beaucoup plus tard, éventuellement après une ou plusieurs extinctions du terminal, sans toutefois de reconfiguration de celui-ci, l'utilisateur souhaite utiliser une application de confiance fonctionnant dans le cadre du système d'exploitation de confiance 1150. Cette utilisation peut se faire de la manière suivante : l'utilisateur utilise des applications fonctionnant dans le cadre de l'environnement d'exécution polyvalent 1200, et l'une d'entre elles, par exemple un navigateur Internet, nécessite un accès (nécessairement indirect, puisque ce navigateur est exécuté dans la cadre de l'environnement polyvalent) à une application de confiance fonctionnant dans le cadre de l'environnement d'exécution de confiance 1100, comme par exemple une application de paiement à distance. Le navigateur Internet communique avec une application de confiance du système d'exploitation de confiance via une interface de programmation API (« Application Programming Interface »)1600. L'information secrète est extraite de la mémoire non volatile sécurisée 1160 par l'application de confiance mise en oeuvre dans le cadre du système d'exploitation sécurisé 1170 et est transmise au navigateur Internet qui l'affiche sur l'écran 2000, comme cela apparait sur la saisie d'écran 202. L'application de paiement à distance est activée et des éléments d'affichage générés par l'application de paiement sécurisée sont affichés sur l'écran 2000, et un contrôleur sécurisé 1400 bascule le lien de communication du clavier 2100 vers l'environnement de confiance. D'autres moyens peuvent être utilisés.The configuration of the terminal 100 continues, and the versatile operating system can be started in turn. It is specified that the configuration and customization thus made are secure because no operating system other than the trusted operating system is executed at this stage. During a subsequent step E130, which may take place much later, possibly after one or more terminal shutdowns, without reconfiguration of the latter, the user wishes to use a trusted application operating in the context of the system. This can be done in the following way: the user uses applications running in the framework of the versatile execution environment 1200, and one of them, for example a browser Internet, requires access (necessarily indirect, since this browser is run as part of the multipurpose environment) to a trusted application operating as part of the trusted execution environment 1100, such as a payment application remote. The Internet browser communicates with a trusted application of the trusted operating system via an API ("Application Programming Interface") 1600. The secret information is extracted from the secure non-volatile memory 1160 by the trusted application implemented as part of the secure operating system 1170 and is transmitted to the Internet browser which displays it on the screen 2000, as Appears on the screen capture 202. The remote payment application is activated and display elements generated by the secure payment application are displayed on the screen 2000, and a secure controller 1400 switches the communication link. from the 2100 keyboard to the trusted environment. Other means can be used.
Pour l'écran 2000, deux mémoires tampons graphiques sont utilisées, chacune étant remplie par l'un des deux environnements. Un contrôleur d'affichage 1500 lit chacune des deux mémoires et affiche le contenu de celle des deux qui est sous le contrôle du système de confiance par-dessus le contenu de l'autre mémoire. D'autres moyens peuvent être utilisés.For the 2000 screen, two graphic buffers are used, each being filled by one of two environments. A display controller 1500 reads each of the two memories and displays the contents of the two which is under the control of the trusted system over the contents of the other memory. Other means can be used.
L'utilisateur, ayant eu retour de son information secrète, peut utiliser en toute confiance l'écran et le clavier, dont il sait qu'ils sont contrôlés par une application mise en oeuvre dans le cadre de l'environnement de confiance. L'utilisateur peut composer son code confidentiel en toute confiance, pour l'application de paiement. Dans un mode de réalisation alternatif représenté en figure 5, au cours d'une étape E210, l'utilisateur appuie sur une combinaison de touches ou une touche dédiée du terminal 100 pour obtenir le démarrage de celui-ci dans un mode de configuration du système d'exploitation de confiance. Le mode de déclenchement précis du mode de configuration est spécifié lors de la fabrication du terminal et écrit dans le programme de lancement du dispositif. Le programme de lancement lance le mode de configuration du système 10 d'exploitation de confiance, lance le système d'exploitation de confiance et l'authentifie. Comme dans le mode de réalisation précédent, le système d'exploitation de confiance 1150 demande son secret partagé à l'utilisateur via le clavier 2100 et l'écran 2000. Le secret partagé est fourni par l'utilisateur et mémorisé dans la 15 mémoire non volatile sécurisée 1160 au cours de l'étape E220. Une étape E230 similaire à l'étape E130 décrite précédemment est mise en oeuvre ultérieurement. Dans un autre mode de réalisation, représenté en figure 6, le procédé est débuté par une étape E310 de définition du secret partagé par un tiers de confiance, par 20 exemple un opérateur de téléphonie mobile auquel l'utilisateur du terminal 100 a souscrit un abonnement. Au cours de l'étape E310, l'opérateur transmet à l'utilisateur, par un canal de communication considéré comme sécurisé, comme par exemple un email signé et chiffré, ou un courrier postal, une information confidentielle. Cette information 25 confidentielle est également transmise par un SMS sécurisé ou un autre protocole sécurisé utilisant le réseau de téléphonie mobile, au terminal 100. Cette étape est optionnelle dans le cas où le code secret est défini lors de la fabrication du dispositif électronique. Seul le système d'exploitation sécurisé 1150 est en mesure de lire l'information confidentielle reçue par le terminal 100. 30 Au cours d'une étape E320, le système d'exploitation sécurisé 1150 enregistre l'information confidentielle dans la mémoire sécurisée non volatile 1160.The user, having had his secret information returned, can use with confidence the screen and the keyboard, which he knows to be controlled by an application implemented as part of the trusted environment. The user can dial his PIN with confidence, for the payment application. In an alternative embodiment shown in FIG. 5, during a step E210, the user presses a key combination or a dedicated key of the terminal 100 to obtain the start of the latter in a system configuration mode. Trusted operation. The precise mode of triggering of the configuration mode is specified during the manufacture of the terminal and written in the launching program of the device. The launcher starts the trusted operating system configuration mode 10, launches the trusted operating system and authenticates it. As in the previous embodiment, the trusted operating system 1150 requests its shared secret from the user via the keyboard 2100 and the screen 2000. The shared secret is provided by the user and stored in the non-memory. secure volatile 1160 during step E220. A step E230 similar to step E130 described above is implemented later. In another embodiment, represented in FIG. 6, the method is started by a step E310 for defining the secret shared by a trusted third party, for example a mobile telephone operator to which the user of the terminal 100 has subscribed a subscription. . During the step E310, the operator transmits to the user, via a communication channel considered secure, such as for example a signed and encrypted email, or a mail, confidential information. This confidential information is also transmitted by a secure SMS or other secure protocol using the mobile telephone network, to the terminal 100. This step is optional in the case where the secret code is defined during the manufacture of the electronic device. Only the secure operating system 1150 is able to read the confidential information received by the terminal 100. During a step E320, the secure operating system 1150 stores the confidential information in the non-volatile secure memory 1160.
L'information confidentielle fait ensuite office de secret partagé entre l'utilisateur et le système d'exploitation sécurisé 1150. Une étape E330 d'authentification est mise en oeuvre lors d'utilisation ultérieure de manière similaire à ce qui a été décrit en relation avec les autres modes de réalisation. Dans un autre mode de réalisation, représenté en figure 7, l'information enregistrée dans la mémoire non volatile sécurisée 1160 sert à adapter l'affichage généré sur l'écran 2000 dans le cadre du système d'exploitation sécurisé. Une étape de configuration E410 est effectuée de manière similaire aux étapes E110 ou E210 dans les modes de réalisation des figures 3 et 5. L'information demandée à l'utilisateur n'est pas nécessairement une information confidentielle, et elle concerne l'habillage de l'affichage effectué dans le cadre du système d'exploitation sécurisé ou plus généralement les paramètres qui définissent les interactions (incluant les vibrations, etc ...). Il peut s'agir par exemple d'une couleur, d'une image, d'un fond d'écran ou d'une police de caractères. Une étape E420 de mémorisation, qui est similaire aux étapes E120, E220 ou E320 dans les modes de réalisation correspondants est ensuite effectuée. On précise que la configuration et la personnalisation ainsi effectuées sont sécurisées car aucun système d'exploitation autre que le système d'exploitation de confiance n'est exécuté à ce stade. Dans une étape E430 d'utilisation ultérieure d'une fonction du système d'exploitation de confiance via le système d'exploitation polyvalent, l'affichage des éléments d'affichage générés par le système d'exploitation de confiance est adapté en fonction de l'information mémorisée.The confidential information is then used as a shared secret between the user and the secure operating system 1150. An authentication step E330 is implemented during subsequent use in a manner similar to that described in connection with other embodiments. In another embodiment, shown in FIG. 7, the information stored in the non-volatile secure memory 1160 serves to adapt the display generated on the screen 2000 as part of the secure operating system. A configuration step E410 is performed in a manner similar to steps E110 or E210 in the embodiments of FIGS. 3 and 5. The information requested from the user is not necessarily confidential information, and it concerns the dressing of the display performed as part of the secure operating system or more generally the parameters that define the interactions (including vibrations, etc ...). It can be for example a color, an image, a wallpaper or a font. A storage step E420, which is similar to steps E120, E220 or E320 in the corresponding embodiments, is then performed. It is specified that the configuration and customization thus made are secure because no operating system other than the trusted operating system is executed at this stage. In a subsequent use step E430 of a trusted operating system function via the versatile operating system, the display of the display elements generated by the trusted operating system is adapted according to the memorized information.
Cette adaptation peut être une adaptation de confort, comme l'utilisation d'une couleur préférée de l'utilisateur. En figure 8, on a représenté une vue d'écran 301 au cours de l'étape E410 de configuration, dans une variante où la configuration concerne l'affichage pour une application de confiance particulière. On a aussi figuré une vue d'écran 302 au cours de l'étape E430, correspondant à l'utilisation de l'application de confiance particulière, pour laquelle l'affichage est personnalisé.This adaptation can be a comfort adaptation, such as the use of a user's favorite color. In FIG. 8, a screen view 301 is shown during the configuration step E410, in a variant where the configuration concerns the display for a particular trust application. Also shown is a screen view 302 in step E430, corresponding to the use of the particular trust application, for which the display is customized.
D'autres aspects mis en oeuvre dans le cadre du système d'exploitation de confiance peuvent être modifiés comme par exemple le choix d'une monnaie par défaut pour les applications de paiement. L'invention n'est pas limitée aux modes de réalisation décrits, mais s'étend à toutes les variantes dans le cadre de la portée des revendications.Other aspects implemented in the context of the trusted operating system can be modified such as the choice of a default currency for payment applications. The invention is not limited to the embodiments described, but extends to all variants within the scope of the claims.
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1261300A FR2998687B1 (en) | 2012-11-27 | 2012-11-27 | ELECTRONIC DEVICE COMPRISING A CONFIDENTIAL EXECUTION ENVIRONMENT AND A VERSATILE EXECUTION ENVIRONMENT |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1261300A FR2998687B1 (en) | 2012-11-27 | 2012-11-27 | ELECTRONIC DEVICE COMPRISING A CONFIDENTIAL EXECUTION ENVIRONMENT AND A VERSATILE EXECUTION ENVIRONMENT |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2998687A1 true FR2998687A1 (en) | 2014-05-30 |
FR2998687B1 FR2998687B1 (en) | 2016-01-08 |
Family
ID=48224859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1261300A Active FR2998687B1 (en) | 2012-11-27 | 2012-11-27 | ELECTRONIC DEVICE COMPRISING A CONFIDENTIAL EXECUTION ENVIRONMENT AND A VERSATILE EXECUTION ENVIRONMENT |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2998687B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3080693A1 (en) * | 2018-04-30 | 2019-11-01 | Ledger | MUTUAL AUTHENTICATION OF A DEVICE OR SYSTEM CONTAINING SENSITIVE OR CONFIDENTIAL DATA COMMANDABLE BY A USER |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060225127A1 (en) * | 2005-04-01 | 2006-10-05 | Microsoft Corporation | Systems and methods for authenticating a user interface to a computer user |
FR2893732A1 (en) * | 2005-11-22 | 2007-05-25 | Trusted Logic Sa | Secured operating mode authentication method for e.g. work station, involves emitting stored confidential event corresponding to secret that is input by user, and authenticating mode by user upon identifying emitted event |
WO2007149483A2 (en) * | 2006-06-21 | 2007-12-27 | Ebay Inc. | Computer system authentication using security indicator |
US20080072056A1 (en) * | 2006-08-23 | 2008-03-20 | Cisco Technology, Inc. | Challenge-based authentication protocol |
US20090089215A1 (en) * | 2007-09-28 | 2009-04-02 | Bank Of America Corporation | System And Method For Consumer Protection |
US20120297469A1 (en) * | 2011-05-20 | 2012-11-22 | Microsoft Corporation | Security Indicator Using Timing to Establish Authenticity |
-
2012
- 2012-11-27 FR FR1261300A patent/FR2998687B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060225127A1 (en) * | 2005-04-01 | 2006-10-05 | Microsoft Corporation | Systems and methods for authenticating a user interface to a computer user |
FR2893732A1 (en) * | 2005-11-22 | 2007-05-25 | Trusted Logic Sa | Secured operating mode authentication method for e.g. work station, involves emitting stored confidential event corresponding to secret that is input by user, and authenticating mode by user upon identifying emitted event |
WO2007149483A2 (en) * | 2006-06-21 | 2007-12-27 | Ebay Inc. | Computer system authentication using security indicator |
US20080072056A1 (en) * | 2006-08-23 | 2008-03-20 | Cisco Technology, Inc. | Challenge-based authentication protocol |
US20090089215A1 (en) * | 2007-09-28 | 2009-04-02 | Bank Of America Corporation | System And Method For Consumer Protection |
US20120297469A1 (en) * | 2011-05-20 | 2012-11-22 | Microsoft Corporation | Security Indicator Using Timing to Establish Authenticity |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3080693A1 (en) * | 2018-04-30 | 2019-11-01 | Ledger | MUTUAL AUTHENTICATION OF A DEVICE OR SYSTEM CONTAINING SENSITIVE OR CONFIDENTIAL DATA COMMANDABLE BY A USER |
WO2019211533A1 (en) * | 2018-04-30 | 2019-11-07 | Ledger Sas | Mutual authentication of a user-controllable device or system containing sensitive or confidential data |
CN112639776A (en) * | 2018-04-30 | 2021-04-09 | 雷吉公司 | Mutual authentication of user-controllable devices or systems containing sensitive or confidential data |
US11954196B2 (en) | 2018-04-30 | 2024-04-09 | Ledger, Sas | Mutual authentication of a user-controllable device or system containing sensitive or confidential |
AU2019262340B2 (en) * | 2018-04-30 | 2024-05-02 | Ledger Sas | Mutual authentication of a user-controllable device or system containing sensitive or confidential data |
Also Published As
Publication number | Publication date |
---|---|
FR2998687B1 (en) | 2016-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2772868B1 (en) | Method of updating the operating system of a secure microcircuit | |
EP2688010A1 (en) | Update of an operating system for a secure element | |
EP1967949A1 (en) | Method of executing a program relating to several services, corresponding electronic device and system | |
EP2735969B1 (en) | Electronic assembly including a deactivation module | |
EP3189485A1 (en) | Electronic ticket management | |
EP2772869B1 (en) | Method and system for cryptographic processing using sensitive data | |
EP2024798A1 (en) | Secure terminal configuration method and device by means of a boot data storage device | |
EP3812945B1 (en) | Open and secure system for processing electronic signature request and associated method | |
FR2809892A1 (en) | PROTECTION PROCESS AGAINST FRAUDULENT MODIFICATION OF DATA SENT TO A SECURE ELECTRONIC MEDIUM | |
FR2998687A1 (en) | Electronic system i.e. chipset, for use in e.g. smart card of portable smartphone, has memory for storing information associated with user, where confidence operating system, controller and screen adjusts confidence environment for user | |
EP2182422B1 (en) | Microcircuit card, electronic device associated to such a card and method for controlling said electronic device | |
FR3047583A1 (en) | METHOD OF SECURELY TRANSMITTING AUTHENTICATION INFORMATION BETWEEN SOFTWARE APPLICATIONS IN A COMPUTER TERMINAL | |
EP4125240A1 (en) | Pre-personalised secure element and integrated personalisation | |
EP2793498B1 (en) | Secure element for telecommunication terminal | |
FR2935511A1 (en) | METHOD OF EXCHANGING DATA BETWEEN TWO ELECTRONIC ENTITIES | |
EP3667530B1 (en) | Secure access to encrypted data from a user terminal | |
BE1026342B1 (en) | DEVICE AND METHOD FOR SECURE INDENTIFICATION OF A USER | |
WO2009138641A1 (en) | Method of use of a host terminal by an external device connected to the terminal | |
EP2529330B1 (en) | Method for providing a dynamic code via a telephone | |
EP3923169B1 (en) | Secure starting of an electronic circuit | |
EP3907638B1 (en) | Secure controller for starting an on-board system, associated on-board system and secure starting method | |
EP2280380B1 (en) | Method for customising an electronic entity, and electronic entity implementing this method | |
EP3948596A1 (en) | Method for running secure code, corresponding devices, system and programs | |
EP2182436B1 (en) | Telephone network subscriber identity card and method for controlling an electronic device capable of interacting with such a card | |
EP3979109A1 (en) | Method and system for authenticating a user on a user device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 7 |
|
PLFP | Fee payment |
Year of fee payment: 8 |
|
PLFP | Fee payment |
Year of fee payment: 9 |
|
PLFP | Fee payment |
Year of fee payment: 10 |
|
PLFP | Fee payment |
Year of fee payment: 11 |
|
CA | Change of address |
Effective date: 20230206 |
|
CD | Change of name or company name |
Owner name: IDEMIA FRANCE, FR Effective date: 20230206 |
|
PLFP | Fee payment |
Year of fee payment: 12 |