FR3019351A1 - Procede de configuration securisee d'une application dans un terminal utilisateur - Google Patents
Procede de configuration securisee d'une application dans un terminal utilisateur Download PDFInfo
- Publication number
- FR3019351A1 FR3019351A1 FR1452812A FR1452812A FR3019351A1 FR 3019351 A1 FR3019351 A1 FR 3019351A1 FR 1452812 A FR1452812 A FR 1452812A FR 1452812 A FR1452812 A FR 1452812A FR 3019351 A1 FR3019351 A1 FR 3019351A1
- Authority
- FR
- France
- Prior art keywords
- secure
- application
- execution environment
- execution
- unsecured
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
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/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
- 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/74—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 operating in dual or compartmented mode, i.e. at least one secure mode
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)
- Telephone Function (AREA)
- Stored Programmes (AREA)
Abstract
L' invention concerne un procédé de configuration sécurisée d'une application, ladite application étant hébergée dans un terminal mobile (10), ledit terminal comprenant un environnement d' exécution sécurisée et un environnement d' exécution non sécurisée, distinct de l' environnement d'exécution sécurisée, le lancement de l'exécution de l'application s'effectuant dans l' environnement d' exécution non sécurisée, ledit procédé comprenant les étapes suivantes, mises en œuvre par le terminal : -exécution (E10) d'un système d' exploitation sécurisé établissant l' environnement d'exécution sécurisée, - exécution (E14) d'un système d'exploitation non sécurisé établissant l'environnement d'exécution non sécurisée, caractérisé en ce qu'il comprend en outre : - une étape (El3) de dialogue sécurisé avec une entité, durant laquelle il est requis de l' entité au moins une donnée de configuration de l' application, ladite étape de dialogue s'exécutant dans l'environnement d'exécution sécurisée, préalablement à l'étape d'installation du système d'exploitation non sécurisé.
Description
Procédé de configuration sécurisée d'une application dans un terminal utilisateur La présente invention concerne un procédé de configuration sécurisée d'une application dans un terminal mobile.
Elle trouve une application particulièrement intéressante dans la sécurisation de services sensibles tels que des services de paiement sur des terminaux mobiles de type smartphone. Un service sensible, tel qu'un service de paiement, installé sur un terminal d'abonné s'apparente à une dématérialisation de la carte bancaire de l'utilisateur. Un tel service nécessite, lors de l'exécution de celui-ci, des données de configuration propres à cet abonné, par exemple des coordonnées bancaires, un code d'identification personnelle de l'abonné, ou code « PIN » (de l'anglais « Personal Identification Number »). Des données qui définissent un mode d'utilisation du service peuvent également être prévues : montant en-dessous duquel il n'est pas nécessaire de ressaisir son code d'identification personnel pour valider une transaction, durée de fonctionnement de ce mode, etc.
Dans le cas de services sensibles sur terminaux mobiles tels que des services de paiement, on connaît les méthodes de configuration suivantes : - un utilisateur qui s'abonne auprès de sa banque à une application de paiement, se voit fournir par celle-ci une application préconfigurée. L'application est associée à un compte bancaire de l'utilisateur et à un élément de sécurité du terminal mobile, par exemple une carte d'identité d'abonné ou une carte « microSD » (de l'anglais « micro Secure Digital Card »). L'application est préconfigurée dans le sens où des données de l'utilisateur sont renseignées dans l'application proposée par la banque en téléchargement : données du compte bancaire, code PIN qui pourra être modifié après installation, seuil de transaction au-dessous duquel aucun code PIN ne sera pas demandé à l'utilisateur, etc. Cependant, la modification ultérieure du code PIN par l'utilisateur, ou la saisie de celui-ci lors de la validation d'une transaction est sensible à des attaques, inhérentes à des vulnérabilités des systèmes d'exploitation de l'utilisateur. Par ailleurs, la configuration de l'application manque de souplesse : l'utilisateur ne peut pas modifier a posteriori des valeurs qui définissent le cadre d'utilisation du service : montant au-dessous duquel le code PIN ne sera pas demandé, etc. ; - dans un deuxième exemple, l'application de paiement est téléchargée par l'utilisateur sur son terminal mobile puis complètement paramétrée par celui-ci. Lors de ce paramétrage, l'utilisateur fournit ses coordonnées bancaires, le montant maximal des transactions au-dessous duquel aucun code n'est demandé, le code PIN de validation, etc. Cependant une telle solution, bien que très souple en termes de paramétrage du point de vue de l'utilisateur présente des failles de sécurité inhérentes à des vulnérabilités des systèmes d'exploitation des terminaux mobiles ; - dans une troisième solution, l'application de paiement installée sur le terminal mobile est adaptée pour communiquer avec une carte bancaire de l'abonné, par exemple au moyen d'une communication en champ proche. L'utilisateur doit donc se munir de cette carte très spécifique et peu répandue actuellement. Dans ce cas, l'application, bien que sûre, est peu conviviale. Ainsi, aucune des solutions existantes de configuration d'une application sensible sur terminal mobile, telle qu'une application de paiement, n'est réellement satisfaisante et n'allie convivialité et sécurité. Un des buts de l'invention est de remédier à des insuffisances/inconvénients de l'état de la technique et/ou d'y apporter des améliorations. A cette fin, l'invention propose un procédé de configuration sécurisée d'une application, ladite application étant hébergée dans un terminal mobile, ledit terminal comprenant un environnement d'exécution sécurisée et un environnement d'exécution non sécurisée, distinct de l'environnement d'exécution sécurisée, le lancement de l'exécution de l' application s'effectuant dans l'environnement d'exécution non sécurisée, ledit procédé comprenant les étapes suivantes, mises en oeuvre par le terminal : - exécution d'un système d'exploitation sécurisé établissant l'environnement d'exécution sécurisée, - exécution d'un système d'exploitation non sécurisé établissant l'environnement d'exécution non sécurisée. Le procédé est caractérisé en ce qu'il comprend en outre : - une étape de dialogue sécurisé avec une entité, durant laquelle il est requis de l'entité au moins une donnée de configuration de l'application, ladite étape de dialogue s'exécutant dans l'environnement d'exécution sécurisée, préalablement à l'étape d'installation du système d'exploitation non sécurisé. Avec le procédé de l'invention, la configuration de l'application sensible est réalisée de manière sécurisée. Les données sensibles sont en effet fournies dans un environnement d'exécution sécurisée auquel l'environnement d'exécution non sécurisée ne peut accéder. En effet, celui-ci n'est pas encore établi lors de la fourniture des données de configuration. Lors du lancement ultérieur de l'exécution de l'application depuis l'environnement d'exécution non sécurisée, l'entité qui fournit les données de configuration n'a pas besoin de fournir les données sensibles qu'il a préalablement fournies. Les failles de sécurité inhérentes aux systèmes d'exploitation des terminaux mobiles de types smartphone ne peuvent donc être exploitées pour récupérer ces données sensibles et pour les réutiliser de manière frauduleuse. Par ailleurs, dans le cadre d'une application de paiement, une telle configuration ne nécessite pas de carte bancaire spécifique et un dialogue entre l'application de paiement installée sur le terminal mobile et cette carte. Par ailleurs, la configuration de l'application sensible peut être modifiée lors d'un redémarrage du terminal mobile. Une telle configuration de l'application allie ainsi sécurité, souplesse et convivialité. Dans un exemple de réalisation, le procédé comprend dans une phase préalable d'installation de l'application sur le terminal mobile, une étape d'enregistrement de l'application dans une liste d'applications configurables de l'environnement d'exécution sécurisée, ledit enregistrement étant destiné à détecter que la donnée de configuration est à demander à l'entité lors du démarrage de l'environnement d'exécution sécurisée. L'application sensible est prise en compte par l'environnement d'exécution sécurisée au moment de l'installation de celle-ci. Ainsi, lors d'un redémarrage du terminal mobile, la configuration de l'application est mise en oeuvre lors de l'exécution du système d'exploitation sécurisé, plus précisément lors de l'établissement de l'environnement d'exécution sécurisée et avant l'exécution du système d'exploitation non sécurisé et l'établissement de l'environnement d'exécution non sécurisée. Cela permet de garantir la sécurité de bout en bout : de l'installation de l'application, jusqu'à la configuration lors d'un redémarrage du terminal mobile. De façon avantageuse, une temporisation étant armée lors de l'exécution de l'étape de dialogue, l'exécution du système d'exploitation non sécurisé est déclenchée lorsque la temporisation expire et qu'aucune donnée de configuration n'a été fournie par l'entité durant l'étape de dialogue. L'utilisation d'une temporisation permet de ne pas interrompre le démarrage du terminal mobile dans un cas où aucune donnée de configuration de l'application sensible n'est fournie. Cela correspond par exemple à un cas où un utilisateur ne souhaite pas utiliser l'application sensible ; il n'a donc pas besoin de la configurer. Ainsi, la solution de configuration des applications sensibles est souple et nullement contraignante pour l'utilisateur. Dans un exemple de réalisation, l'entité est un utilisateur du terminal mobile. Dans cet exemple, c'est l'utilisateur qui configure l'application sensible dans l'environnement d'exécution sécurisée, avant l'exécution du système d'exploitation non sécurisé. Dans un autre exemple de réalisation, l'entité est un élément de sécurité du terminal mobile. Dans cet exemple de réalisation, les paramètres sensibles sont reçus d'un élément de sécurité qui constitue un environnement réputé sûr. Le dialogue entre l'élément de sécurité et l'environnement sécurisé utilise des interfaces sécurisées. La sécurité est donc garantie. Cet exemple est intéressant dans un cas où l'utilisateur a défini et enregistré un/des profils d'utilisation de l'application et mémorisé ces profils dans l'élément de sécurité. Cette solution permet ainsi une configuration sécurisée et automatique, c'est-à-dire sans intervention de l'utilisateur. Cela limite les risques d'erreur par rapport à une saisie de données de configuration par l'utilisateur. L'invention concerne également un terminal mobile adapté pour héberger une application nécessitant une configuration sécurisée, ledit terminal comprenant un environnement d'exécution sécurisée et un environnement d'exécution non sécurisée, distinct de l'environnement d'exécution sécurisée, le lancement de l'exécution de l' application s'effectuant depuis l'environnement d'exécution non sécurisée, ledit terminal comprenant : - des moyens d'exécution d'un système d'exploitation non sécurisé établissant l'environnement d'exécution non sécurisée, - des moyens d'exécution et de dialogue, agencés pour exécuter un système d'exploitation sécurisé établissant l'environnement d'exécution sécurisée, et pour dialoguer de manière sécurisée avec une entité afin de requérir de ladite entité au moins une donnée de configuration de l' application, le dialogue sécurisé étant établi dans l'environnement d'exécution sécurisée, préalablement à l'exécution du système d'exploitation non sécurisé. L'invention porte également sur un programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un terminal mobile, le programme comprenant des instructions de code pour l'exécution des étapes du procédé de configuration sécurisée selon l'invention, lorsque le programme est exécuté sur ledit terminal mobile. L'invention concerne aussi un support de données dans lequel est enregistré le programme selon l'invention.
D'autres caractéristiques et avantages de la présente invention seront mieux compris de la description et des dessins annexés parmi lesquels : - la figure 1 présente les étapes du procédé de configuration sécurisée d'une application sensible dans un terminal mobile, selon un exemple de réalisation de l'invention ; - la figure 2 est une représentation schématique d'un terminal mobile selon un exemple de réalisation de l'invention. Les étapes d'un procédé de configuration sécurisée d'une application sensible dans un terminal utilisateur, selon un exemple de réalisation, vont maintenant être décrites en relation avec la figure 1.
Un terminal 10 d'utilisateur, par exemple un terminal mobile de type smartphone, est agencé pour héberger et exécuter des applications sensibles, par exemple des applications de paiement. Une application de paiement permet à l'utilisateur d'effectuer des transactions de paiement au moyen de son terminal mobile. L'application constitue en quelques sortes une dématérialisation de la carte bancaire de l'utilisateur dans son terminal mobile. Selon l'exemple de réalisation décrit ici, l'architecture du terminal mobile 10 est conforme aux spécifications proposées par l'association GlobalPlatform. Ces spécifications définissent une architecture de terminal mobile où coexistent deux environnements d'exécution : un environnement d'exécution sécurisée, ou « TEE » (de l'anglais « Trusted Execution Environment ») et un environnement d'exécution non sécurisée, ou « REE » (de l'anglais « Rich Execution Environment »). L'environnement d'exécution sécurisée TEE est indépendant de l'environnement d'exécution non sécurisée REE. Il est destiné à offrir un environnement logiciel et matériel pour des applications sécurisées. Il est considéré de confiance et s'appuie sur ses propres ressources : un système d'exploitation sûr, des modules logiciels sûrs et des ressources matérielles sûres, comme des fonctions de sécurité telles qu'un stockage sûr, des interfaces de communication avec des composants de sécurité, etc. L'environnement d'exécution non sécurisée REE comprend des composants considérés comme publics, et de ce fait non sûrs. L'environnement d'exécution sécurisée TEE est agencé pour fournir des services de sécurité à l'environnement d'exécution non sécurisée REE au moyen d'interfaces prédéfinies (ou « API », de l'anglais « Application Programming Interface). Dans une phase préalable PO d'installation d'une application sensible, dans une étape E01 de téléchargement de l'application, l'utilisateur requiert auprès de sa banque l'installation d'une application de paiement destinée à mettre en oeuvre des transactions de paiement au moyen de son terminal mobile 10. Cette installation se fait par exemple par téléchargement via le réseau Internet. Une transaction de paiement peut être mise en oeuvre lors d'une communication en champ proche entre le terminal mobile et une borne de paiement d'un commerçant. La communication entre le terminal et la borne est par exemple une communication de type « NFC » (de l'anglais « Near Field Communication »). L'application de paiement comprend une pluralité de modules logiciels mis à disposition de l'utilisateur par la banque lors du téléchargement et qui sont installés, selon leur niveau de sensibilité et selon une politique définie par la banque, dans une zone sécurisée du terminal mobile, c'est-à-dire une zone comprise dans l'environnement d'exécution sécurisée ou dans une zone non sécurisée, c'est-à-dire une zone comprise dans l'environnement d'exécution non sécurisée. Par exemple, un module relatif à la saisie et au traitement d'un code d'identification personnel (ou code « PIN », de l'anglais « Personal Identification Number ») propre à l'utilisateur et à l'application de paiement, et destiné à authentifier l'utilisateur lors d'une transaction de paiement est installé dans une zone sécurisée du terminal 10. En particulier, le téléchargement de l'application comprend le téléchargement d'un module de configuration sécurisée, destiné à permettre à l'utilisateur de configurer de manière sécurisée l'application une fois celle-ci installée sur le terminal mobile. Ce module est sensible et installé dans une zone sécurisée du terminal mobile. Un module relatif à l'affichage d'options de l'application est installé dans une zone non sécurisée du terminal. Ainsi, certains modules logiciels de l'application bancaires, lors de ce téléchargement, sont installés dans l'environnement sécurisé du terminal 10 et d'autres, dans l'environnement non sécurisé. En tout état de cause, le déclenchement de l'exécution de l'application de paiement par l'utilisateur est réalisé à partir de l'environnement d'exécution non sécurisée du terminal mobile 10, par exemple en sélectionnant l'application de paiement parmi une liste d'applications disponibles sur le terminal 10. La procédure d'installation de l'application bancaire n'est pas détaillée ici. Elle est supposée connue et la sécurité de cette installation, c'est-à-dire de l'installation de certains modules logiciels sensibles, garantie par la banque. Au terme de l'étape E01 d'installation, l'application bancaire est installée sur le terminal mobile 10 de l'utilisateur. On suppose que l' application de paiement nécessite une configuration spécifique de l'utilisateur lors de l'exécution de celle-ci. Par exemple, et de manière classique, l'application, pour s'exécuter, a besoin que l'utilisateur ait fourni ses coordonnées bancaires, si celles-ci n'ont pas été fournies par la banque lors du téléchargement, qu'il fournisse un code PIN afin de valider les transactions, etc. Le code PIN peut être demandé pour valider chacune des transactions, ou n'être demandé que pour valider les transactions dont le montant excède un montant déterminé. Il est en effet habituel que pour de petits montants, inférieurs au montant déterminé, l'application soit configurée de manière à ce que le code PIN ne soit pas requis. Dans un exemple de réalisation, une configuration permet de définir un cadre d'utilisation temporaire de l' application bancaire. Ainsi, une telle configuration permet de définir un montant de transaction au-dessous duquel le code PIN ne sera pas demandé à l'utilisateur, une plage temporelle durant laquelle l'application bancaire fonctionne, d'activer ou de désactiver l'application bancaire, de définir un montant maximal pour toutes les transactions réalisées avec l'application, ou un montant maximal cumulé lors de l'exécution de transactions successives sur une période donnée, etc. On comprend qu'une telle configuration qui définit un cadre personnel d'utilisation de l'application est sensible. Afin que la saisie de paramètres de configuration du service se fasse en toute sécurité, le procédé prévoit une configuration sécurisée de l'application lors d'un (re)démarrage du terminal mobile.
Dans la phase préalable PO d'installation, il est prévu dans une étape E02 de prise en compte de l'application sensible, de compléter une liste d'applications configurables de l'environnement d'exécution sécurisée TEE afin qu'il soit tenu compte de la présence de l'application sensible sur le terminal mobile 10 et qu'il soit offert à l'utilisateur la possibilité de configurer l' application de manière sécurisée. La liste est par exemple sous forme d'un fichier de données. Cette prise en compte de l'application de paiement dans cette liste d'applications configurables est destinée à requérir, lors d'un (re)démarrage du terminal, des paramètres de configuration auprès de l'utilisateur. La gestion de la liste des applications configurables est assurée de manière sécurisée dans et par l'environnement d'exécution sécurisée. La sécurité de cette liste est donc garantie. On suppose que le terminal mobile 10 est mis hors tension à la fin de la phase PO d'installation. Dans une phase ultérieure P1 de démarrage du terminal, le terminal mobile 10 est mis sous tension par l'utilisateur. Selon les spécifications GlobalPlatform, une séquence de démarrage d'un terminal mobile comprend deux phases successives : une phase de démarrage de l'environnement d'exécution sécurisée qui comprend l'exécution d'un système d'exploitation sécurisé destiné à établir ou mettre en place l'environnement d'exécution sécurisée sur le terminal mobile, puis une phase de démarrage de l'environnement d'exécution non sécurisée qui comprend l'exécution d'un système d'exploitation non sécurisé destiné à établir l'environnement d'exécution non sécurisée. Il connu des spécifications GlobalPlatform que le système d'exploitation sécurisé est exécuté à partir d'un microprogramme approuvé (on parle de « firmware » en anglais) qui est authentifié et isolé du système d'exploitation non sécurisé durant le processus de démarrage (on parle de « boot » en anglais). Une fois le microprogramme authentifié, le système d'exploitation sécurisé est exécuté et l'environnement d'exécution sécurisée TEE est établi. Lors de cet établissement, l'environnement d'exécution sécurisée initialise le microprogramme, importe des données cryptographiques telles que des clés, des certificats, des signatures et importe un bout de code, appelé « loader », destiné à charger l'environnement d'exécution non sécurisée. L'environnement d'exécution sécurisée prépare ainsi le démarrage de l'environnement d'exécution non sécurisée. Au terme de l'établissement de l'environnement d'exécution sécurisée, le contrôle est transmis à l'environnement d'exécution non sécurisée. Le démarrage du terminal se poursuit alors avec une exécution du système d'exploitation non sécurisé et un établissement lors de cette exécution de l'environnement d'exécution non sécurisée. A noter que les environnements d'exécution sécurisée et non sécurisée sont établis séquentiellement durant le la séquence de démarrage d'un terminal mobile.
Ainsi, pendant la phase de démarrage Pl, dans une étape initiale E10 d'exécution du système d'exploitation sécurisé, et conformément aux spécifications GlobalPlatform, il y a exécution du système d'exploitation sécurisé et établissement de l'environnement d'exécution sécurisée. En fin d'établissement de l'environnement d'exécution sécurisée, dans une étape El 1 de consultation, l'environnement d'exécution sécurisée consulte la liste des applications configurables stockée de manière sécurisée dans l'environnement d'exécution sécurisée. Les applications configurables sont celles qui ont été installées durant la phase PO d'installation et qui sont susceptibles d'être configurées par l'utilisateur. Cette étape El 1 de consultation fait partie de la phase de démarrage de l'environnement d'exécution sécurisée et est mise en oeuvre par l'environnement d'exécution sécurisée. Ainsi, on considère que cette étape est exécutée de manière sécurisée. La liste des applications configurables comprend au moins l' application de paiement installée précédemment. Dans une étape El2 de sélection, il est demandé à l'utilisateur, via une interface utilisateur adaptée de sélectionner une application à configurer. L'utilisateur sélectionne par exemple l' application de paiement installée précédemment. Cette sélection déclenche l'exécution du module de configuration sécurisée dans l'environnement d'exécution sécurisée. Dans une étape E13 de dialogue, il est demandé à l'utilisateur de fournir des paramètres de configuration de l'application de paiement. Différents paramètres de configuration peuvent ainsi être demandés. Par exemple, il est demandé à l'utilisateur de saisir ses coordonnées bancaires si celles-ci n'ont pas été fournies par la banque lors du téléchargement de l'application, le code d'identification PIN de service destiné à valider des transactions si celui-ci n'a pas été renseigné lors du téléchargement de l'application, le code PIN de validation pour des transactions d'un montant inférieurs à un montant déterminé par l'utilisateur. Bien sûr, l'invention n'est pas limitée à ces types de paramètre. L'utilisateur peut par exemple définir également des plages temporelles d'utilisation de l'application de paiement, un montant maximal par transaction, un montant cumulé maximal pour un ensemble de transactions effectué pendant un période donnée, etc. Ce dialogue est établi dans l'environnement d'exécution sécurisée et avant la phase de démarrage de l'environnement d'exécution non sécurisée, c'est-à-dire avant que celui-ci ne soit établi. Ainsi, les failles de sécurité inhérentes aux systèmes d'exploitation non sécurisés des terminaux mobiles ne peuvent être exploitées afin notamment de récupérer des données sensibles de l'application bancaires fournies par l'utilisateur. Par ailleurs, l'utilisateur peut éventuellement fournir de nouveaux paramètres de configuration lors d'un redémarrage ultérieur du terminal mobile. La configuration est donc plus souple qu'avec des solutions connues pour lesquelles la configuration est fournie par la banque et est donc figée jusqu'à la fourniture par la banque d'une nouvelle configuration. Une fois un ou des paramètres de configuration saisi(s) par l'utilisateur, le processus de démarrage du terminal 10 se poursuit. La phase de démarrage de l'environnement d'exécution sécurisée se termine et le contrôle est transmis à l'environnement d'exécution non sécurisée. Dans une étape suivante E14 d'exécution du système d'exploitation non sécurisé, il y a exécution du système d'exploitation non sécurisé et établissement de l'environnement d'exécution non sécurisée. Au terme de cette étape E14, le terminal mobile 10 est démarré. En particulier l'utilisateur peut sélectionner et exécuter l'application bancaire. Lors de la mise en oeuvre d'une transaction de paiement, les paramètres saisis lors de l'étape E13 de dialogue sont pris en compte. Par exemple, dans le cas où l'utilisateur a précisé un montant en-dessous duquel il ne souhaitait pas que lui soit demandé son code PIN pour valider les transactions, alors toute transaction d'un montant inférieur sera exécutée sans que l'utilisateur n'ait à saisir le code PIN de validation. Dans l'exemple de réalisation décrit ici, le démarrage du terminal mobile est interrompu de manière à ce que l'utilisateur saisisse les paramètres de configuration de l'application bancaire. Dans un autre exemple de réalisation, une temporisation est armée durant l'étape E12 de sélection, c'est-à-dire à l'interruption du processus de démarrage de l'environnement sécurisé. Si l'utilisateur ne saisit aucune donnée de configuration durant cette étape alors le démarrage du terminal reprend à l'expiration de la temporisation. Dans ce cas, il y a exécution du système d'exploitation non sécurisé et établissement de l'environnement d'exécution non sécurisée sans paramétrage de l'application de paiement. Ainsi, la configuration sécurisée décrite ci-dessus n'est pas bloquante et n'empêche pas le démarrage du terminal mobile.
Lorsque l'utilisateur n'a pas configuré l'application mais lance l'exécution de l'application, celle-ci peut s'exécuter de manière classique, avec une configuration minimale par défaut : par exemple le code PIN de l'utilisateur peut être demandé pour valider chaque transaction. Dans ce cas cependant, la sécurité est moindre et une personne malintentionnée peut exploiter des failles connues des systèmes d'exploitation des terminaux mobiles afin de récupérer cette donnée sensible. Avec le procédé de configuration décrit ici, le paramétrage de l'application bancaire est fait indépendamment du type de la carte bancaire utilisée. Il ne nécessite donc pas de carte bancaire spécifique. Dans l'exemple de réalisation décrit précédemment, c'est l'utilisateur qui fournit les valeurs nécessaires à la configuration de l'application sensible. Dans un autre exemple de réalisation, la configuration de l'application sensible est faite par l'intermédiaire d'un élément de sécurité. Le module de sécurité est par exemple une carte d'identité d'abonné, ou carte « SIM » (pour « Subscriber Identity Module »), agencée pour permettre au terminal mobile d'accéder à un réseau mobile de communications. L'invention n'est pas limitée à un module de sécurité de type carte SIM. Ainsi, le module de sécurité peut également être une carte « (e)- UICC » (pour « (embedded)-Universal Integrated Circuit Card »), ou une zone mémoire sécurisée du dispositif mobile tel un composant TEE embarqué dans le processeur, un élément de sécurité embarqué (ou « embedded secure element »), ou un composant amovible de type microSD.
Dans cet exemple de réalisation, l'étape de sélection E12 est transparente pour l'utilisateur ; il y a par exemple sélection automatique d'une ou de plusieurs applications qui figurent dans la liste des applications configurables. Dans cet exemple, un profil de configuration est mémorisé dans l'élément de sécurité. Le profil de configuration comprend un ensemble de paramètres de configuration de l'application bancaire. Ce profil est transmis de l'élément de sécurité à l'environnement d'exécution sécurisé au cours de l'étape El3 de dialogue et permet de configurer l'application bancaire. Par exemple, le profil de configuration a été préalablement défini par la banque, en présence et l'utilisateur et avec l'accord de celui-ci. Il a ensuite été transmis à l'élément de sécurité. Dans le cas où l'élément de sécurité est une carte SIM ou une carte (e)-UICC, le profil est transmis à celui-ci par exemple au moyen d'une procédure « OTA » (de l'anglais « Over The Air »). Ce type de procédure est connu et n'est pas détaillé ici. La communication entre l'élément de sécurité et l'environnement d'exécution sécurisé repose sur des interfaces sécurisées définies dans les spécifications GlobalPlatform. Cette communication est donc réputée de confiance.
Un terminal mobile 10, selon un exemple de réalisation, va maintenant être décrit en relation avec la figure 2. Le terminal mobile 10 est conforme aux spécifications GlobalPlatform. Il comprend ainsi un environnement d'exécution sécurisée 101 et un environnement d'exécution non sécurisée 102. Chacun de ces environnements 101, 102, comprend des ressources qui lui sont propres : - une unité de traitement, ou « CPU » pour « Central Processing Unit » 101-1, 101-2, - un ensemble de mémoires, dont une mémoire volatile 101-2, 102-2 et une mémoire de stockage 101-3, 102-3. La mémoire volatile 101-2, 102-2 est agencée pour exécuter des instructions de code, stocker des variables, etc., La mémoire de stockage 101-2, 102-2 est agencée pour mémoriser des données. Par exemple, la mémoire de stockage 101-2 de l'environnement d'exécution sécurisée, est agencée pour mémoriser des données de sécurité telles que des clés, des certificats, des signatures, etc., ainsi qu'un programme sécurisé (on parle de « trustlet » en anglais) comprenant des instructions de code destinées à mettre en oeuvre les étapes du procédé de configuration décrit précédemment. Le terminal mobile 10 comprend également : - des moyens d'exécution 102-4, agencés pour exécuter un système d'exploitation non sécurisé adapté pour établir l'environnement d'exécution non sécurisée. Les moyens d'exécution 102-4 sont adaptés pour mettre en oeuvre l'étape El 4 du procédé de configuration décrit précédemment, - des moyens 101-4 d'exécution et de dialogue, agencés pour exécuter un système d'exploitation sécurisé établissant l'environnement d'exécution sécurisée, et pour dialoguer de manière sécurisée avec une entité afin de requérir de ladite entité au moins une donnée de configuration de l'application, le dialogue sécurisé est établi dans l'environnement d'exécution sécurisée, préalablement à l'exécution du système d'exploitation non sécurisé. Le dialogue avec l'entité utilise une interface dédiée (non représentée). Dans un cas où l'entité est un utilisateur, l'interface est par exemple un écran. Dans un cas où l'entité est un élément de sécurité, une interface de programmation qui définit les échanges entre l'environnement d'exécution sécurisée 101 et l'élément de sécurité et définie dans le cadre des spécifications GlobalPlatform est utilisée. Les moyens 101-4 d'exécution et de dialogue sont agencés pour mettre en oeuvre les étapes E10, El 1, E12 et E13 du procédé de configuration sécurisée décrit précédemment. Les moyens d'exécution 102-4 et les moyens 101-4 d'exécution et de dialogue comprennent des modules logiciels comprenant des instructions de code pour faire exécuter les étapes du procédé de configuration sécurisée tel que décrit précédemment. Les modules logiciels peuvent être stockés dans, ou transmis par un support de données. Celui-ci peut être un support matériel de stockage, par exemple un CD-ROM, une disquette magnétique ou un disque dur, ou bien un support de transmission, ou un réseau.
Claims (8)
- REVENDICATIONS1. Procédé de configuration sécurisée d'une application, ladite application étant hébergée dans un terminal mobile (10), ledit terminal comprenant un environnement d'exécution sécurisée et un environnement d'exécution non sécurisée, distinct de l'environnement d'exécution sécurisée, le lancement de l'exécution de l' application s'effectuant dans l'environnement d'exécution non sécurisée, ledit procédé comprenant les étapes suivantes, mises en oeuvre par le terminal : - exécution (El 0) d'un système d'exploitation sécurisé établissant l'environnement d'exécution sécurisée, - exécution (E14) d'un système d'exploitation non sécurisé établissant l'environnement d'exécution non sécurisée, caractérisé en ce qu'il comprend en outre : - une étape (E13) de dialogue sécurisé avec une entité, durant laquelle il est requis de l'entité au moins une donnée de configuration de l'application, ladite étape de dialogue s'exécutant dans l'environnement d'exécution sécurisée, préalablement à l'étape d'installation du système d'exploitation non sécurisé.
- 2. Procédé de configuration selon la revendication 1, comprenant, dans une phase préalable d'installation (P0) de l'application sur le terminal mobile, une étape (E02) d'enregistrement de l'application dans une liste d' applications configurables de l'environnement d'exécution sécurisée, ledit enregistrement étant destiné à détecter que la donnée de configuration est à demander à l'entité lors du démarrage de l'environnement d'exécution sécurisée.
- 3. Procédé selon l'une des revendications précédentes, dans lequel, une temporisation étant armée lors de l'exécution de l'étape de dialogue, l'exécution du système d'exploitation non sécurisé est déclenchée lorsque la temporisation expire et qu'aucune donnée de configuration n' a été fournie par l'entité durant l'étape de dialogue.
- 4. Procédé selon l'une des revendications précédentes, dans lequel l'entité est un utilisateur du terminal mobile.
- 5. Procédé selon l'une des revendications 1 à 3, dans lequel l'entité est un élément de sécurité du terminal mobile.
- 6. Terminal mobile (10) adapté pour héberger une application nécessitant une configuration sécurisée, ledit terminal comprenant un environnement d'exécution sécurisée et un environnement d'exécution non sécurisée, distinct de l'environnement d'exécution sécurisée, le lancement de l'exécution de l' application s'effectuant depuis l'environnement d'exécution non sécurisée, ledit terminal comprenant : - des moyens (102-4) d'exécution d'un système d'exploitation non sécurisé établissant l'environnement d'exécution non sécurisée, - des moyens (101-4) d'exécution et de dialogue, agencés pour exécuter un système d'exploitation sécurisé établissant l'environnement d'exécution sécurisée, et pour dialoguer de manière sécurisée avec une entité afin de requérir de ladite entité au moins une donnée de configuration de l' application, le dialogue sécurisé étant établi dans l'environnement d'exécution sécurisée, préalablement à l'exécution du système d'exploitation non sécurisé.
- 7. Programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un terminal mobile, le programme comprenant des instructions de code pour l'exécution des étapes du procédé de configuration sécurisée selon l'une des revendications 1 à 5, lorsque le programme est exécuté sur ledit terminal mobile.
- 8. Support de données dans lequel est enregistré le programme selon la revendication 7.20
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1452812A FR3019351A1 (fr) | 2014-03-31 | 2014-03-31 | Procede de configuration securisee d'une application dans un terminal utilisateur |
PCT/FR2015/050828 WO2015150689A1 (fr) | 2014-03-31 | 2015-03-31 | Procede de configuration securisee d'une application dans un terminal utilisateur |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1452812A FR3019351A1 (fr) | 2014-03-31 | 2014-03-31 | Procede de configuration securisee d'une application dans un terminal utilisateur |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3019351A1 true FR3019351A1 (fr) | 2015-10-02 |
Family
ID=51063612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1452812A Withdrawn FR3019351A1 (fr) | 2014-03-31 | 2014-03-31 | Procede de configuration securisee d'une application dans un terminal utilisateur |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3019351A1 (fr) |
WO (1) | WO2015150689A1 (fr) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018082189A1 (fr) * | 2016-11-03 | 2018-05-11 | 华为技术有限公司 | Procédé et dispositif d'isolement pour application de paiement, et terminal |
CN107292162B (zh) * | 2017-07-14 | 2019-10-18 | Oppo广东移动通信有限公司 | 应用下载方法、装置及终端设备 |
CN112070946A (zh) * | 2020-09-02 | 2020-12-11 | 平安信托有限责任公司 | 基于闸机的社交应用程序管控方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090254986A1 (en) * | 2008-04-08 | 2009-10-08 | Peter William Harris | Method and apparatus for processing and displaying secure and non-secure data |
WO2011085960A1 (fr) * | 2010-01-13 | 2011-07-21 | Giesecke & Devrient Gmbh | Procédé pour permettre d'obtenir un compteur fiable sur un appareil terminal |
WO2013050154A1 (fr) * | 2011-10-07 | 2013-04-11 | Giesecke & Devrient Gmbh | Système à microprocesseur présentant un environnement d'exécution sécurisé |
US20140007120A1 (en) * | 2011-02-24 | 2014-01-02 | Trustonic Limited | Method for operating a microprocessor unit, in particular in a mobile terminal |
-
2014
- 2014-03-31 FR FR1452812A patent/FR3019351A1/fr not_active Withdrawn
-
2015
- 2015-03-31 WO PCT/FR2015/050828 patent/WO2015150689A1/fr active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090254986A1 (en) * | 2008-04-08 | 2009-10-08 | Peter William Harris | Method and apparatus for processing and displaying secure and non-secure data |
WO2011085960A1 (fr) * | 2010-01-13 | 2011-07-21 | Giesecke & Devrient Gmbh | Procédé pour permettre d'obtenir un compteur fiable sur un appareil terminal |
US20140007120A1 (en) * | 2011-02-24 | 2014-01-02 | Trustonic Limited | Method for operating a microprocessor unit, in particular in a mobile terminal |
WO2013050154A1 (fr) * | 2011-10-07 | 2013-04-11 | Giesecke & Devrient Gmbh | Système à microprocesseur présentant un environnement d'exécution sécurisé |
Non-Patent Citations (1)
Title |
---|
NUNO SANTOS ET AL: "Using ARM trustzone to build a trusted language runtime for mobile applications", ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS, ACM, 2 PENN PLAZA, SUITE 701 NEW YORK NY 10121-0701 USA, 24 February 2014 (2014-02-24), pages 67 - 80, XP058044535, ISBN: 978-1-4503-2305-5, DOI: 10.1145/2541940.2541949 * |
Also Published As
Publication number | Publication date |
---|---|
WO2015150689A1 (fr) | 2015-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3123387B1 (fr) | Sécurisation du chargement de données dans une mémoire non-volatile d'un élément sécurisé | |
EP2741466B1 (fr) | Procédé et système de gestion d'un élément sécurisé intégré ese | |
KR20150008546A (ko) | 보안 다운로드 및 기능 실행방법 및 장치 | |
WO2015121418A2 (fr) | Procédé de déploiement d'un ensemble d'application(s) logicielle(s) | |
FR2997525A1 (fr) | Procede de fourniture d’un service securise | |
EP3588359B1 (fr) | Procédé de vérification de l'intégrité d'un code applicatif, dispositif et produit programme d'ordinateur correspondants | |
FR3013541A1 (fr) | Procede et dispositif pour la connexion a un service distant | |
EP2735969A1 (fr) | Ensemble électronique comprenant un module de desactivation | |
EP2077515A1 (fr) | Dispositif, systèmes et procédé de démarrage sécurisé d'une installation informatique | |
WO2015150689A1 (fr) | Procede de configuration securisee d'une application dans un terminal utilisateur | |
EP4125240A1 (fr) | Element securise pre-personalise et personnalisation embarquee | |
EP3531729A1 (fr) | Mise à jour du logiciel du système d'exploitation d'un module d'identité de souscripteur embarqué | |
CA3086863A1 (fr) | Controle d'integrite d'un dispositif electronique | |
EP3667530B1 (fr) | Accès sécurise à des données chiffrées d'un terminal utilisateur | |
EP4049409A1 (fr) | Technique de communication entre une application mettant en oeuvre un service et un serveur | |
EP2492834A1 (fr) | Procédé d'authentification d'un utilisateur | |
EP2793498A1 (fr) | Element securise pour terminal de telecommunications | |
EP4075358B1 (fr) | Gestion de la mémoire dans un dispositif de traitement de transactions | |
EP3179400B1 (fr) | Procédé de chargement d'une ressource informatique au sein d'un dispositif électronique, module électronique et programme d'ordinateur correspondant | |
EP3912065A1 (fr) | Autorisation du chargement d'une application dans un élément de sécurité | |
WO2020193583A1 (fr) | Procédé d'exécution de code sécurisé, dispositifs, système et programmes correspondants | |
FR3046016A1 (fr) | Procede de gestion des connexions entre un element securise et un serveur | |
FR3134493A1 (fr) | Procédé d’activation d’un profil utilisateur dans un équipement terminal, dispositif, système et programme d’ordinateur correspondant | |
WO2011000722A1 (fr) | Procédé de validation distante d'un code exécutable | |
FR3083887A1 (fr) | Procede et dispositif de detection de compromission d’une cible par une attaque laterale |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
ST | Notification of lapse |
Effective date: 20161130 |