Brevet FR2962571A1 — publié le 20120113

i PROCEDE D'EXECUTION D'UNE APPLICATION SECURISEE DANS UN DISPOSITIF NFC La présente invention concerne l'installation et l'exécution d'une application sécurisée dans un dispositif portable de type téléphone mobile ou équivalent. La présente invention concerne également, mais non exclusivement, la technologie NFC (Near Field Communication) ainsi que des architectures de dispositifs NFC ou "chipset NFC", c'est-à-dire des ensembles de puces comprenant au moins un composant NFC. La technologie NFC est actuellement développée par un consortium industriel regroupé sous le nom de Forum NFC (http://www.nfc-forum.org). io La technologie NFC est dérivée de la technologie RFID (Radio Frequency Identification) et utilise des contrôleurs NFC présentant plusieurs modes de fonctionnement, notamment un mode lecteur ("Reader Mode"), un mode émulation de carte ("Card emulation") et un mode "peer-to-peer". D'importants développements ont été réalisés ces dernières années 15 pour intégrer un contrôleur NFC dans des objets portables de type téléphone mobile ou équivalent (par exemple les assistants numériques personnels ou "PDA" équipés d'une fonction de téléphone mobile). Cette intégration vise notamment à doter de tels objets portables d'une application de paiement ou de contrôle d'accès (métro, autobus, etc.), et d'autres applications de la 20 technologie NFC comme la lecture d'étiquettes ou de cartes électroniques sans contact. La figure 1 représente un dispositif NFC du type dispositif portable HD ("Handheld Device") tel un téléphone portable, un PDA (Assistant Numérique Personnel), etc. Le dispositif HD comprend un contrôleur NFC référencé 25 NFCC et au moins un processeur hôte processeur HP1, HP2 relié au contrôleur NFCC par un bus BS1, par exemple de type SWP ("Single Wire Protocol"). Un processeur hôte HP2 peut être une carte à circuit intégré désignée UICC ("Universal Integrated Circuit Card"), par exemple de type carte SIM (Subscriber Identity Module). Un processeur hôte HP1 peut aussi 30 être le processeur de bande de base ("Baseband") d'un téléphone mobile (soit le processeur en charge des communications téléphoniques). Dans ce cas, le processeur hôte HP1 peut être connecté au contrôleur NFCC au 2 moyen d'une liaison asynchrone BS2 gérée par des ports UART ("Universal Asynchronous Receiver Transiter"). Accessoirement, le processeur HP2 peut aussi être directement relié au processeur HP1 par un bus BS3 de type ISO 7816. Les ressources du contrôleur NFCC sont mises à la disposition du processeur hôte HP1 pour lui permettre de gérer des applications sans contact RAPi, CAPi. Le contrôleur NFCC comprend un contrôleur hôte HC et une interface sans contact CLF ("Contactless Front End Interface") équipée d'une bobine d'antenne AC1. En pratique, le contrôleur hôte HC et l'interface io CLF peuvent être réalisés sur une même puce de semi-conducteur, comme la puce MicroRead® commercialisée par la demanderesse, ou être formés de deux puces distinctes, comme les puces "PicoRead® Microcontroller" et "PicoRead® RF Interface" commercialisées par la demanderesse. L'interface CLF du contrôleur NFCC peut généralement fonctionner 15 selon plusieurs technologies RF, par exemple de "Type A" telles que définies par ISO/IEC 14443 parties 2, 3 et 4, de "Type B"' telle que définie par ISOIIEC 14443-2 avec un tramage normalisé ("standard framing") tel que défini par ISOIIEC 14443-3, et de "Type F" telle que définie par ISO 18092 en tant que mode passif à 212 et 424 ko/s (kilo octets par seconde) ou par la 20 norme industrielle japonaise JIS X 6319-4. Chaque technologie RF, ou protocole de communication sans contact, définit une fréquence d'émission du champ magnétique, une méthode de modulation du champ magnétique pour transmettre des données en mode actif, une méthode de modulation de charge pour transmettre des données en mode passif, une méthode de 25 codage des données, un format de trame de données, etc. Des exemples d'application du dispositif NFC sont illustrés sur la figure 2 qui représente un dispositif portatif HD équipé du dispositif NFC de la figure 1, le dispositif HD prenant ici la forme d'un téléphone mobile. On distingue des applications lecteur RAP ("Reader Applications") et des 30 applications carte CAP ("Card Applications") Applications lecteur (RAP) Le contrôleur NFCC fonctionne comme un lecteur NFC pour conduire une transaction avec un circuit intégré sans contact CIC ("Contactless Integrated Circuit"). Une application lecteur RAP, RAPi est exécutée par le 35 processeur hôte HP1 (Cf. Fig. 1). Ce dernier place l'interface CLF dans un mode de fonctionnement actif où elle émet un champ magnétique FLD, envoie des données par modulation du champ magnétique et reçoit des 3 données par modulation de charge et couplage inductif. Ce type d'application peut être gratuit (par exemple lecture d'une étiquette électronique ou "tag" présente dans un abribus contenant les horaires des lignes de bus) et être exécutée par un processeur non sécurisé. Le processeur hôte HP1 peut dans ce cas être le processeur de bande de base du téléphone mobile. S'il s'agit d'une application payante, le processeur hôte exécutant l'application est de préférence un processeur sécurisé, par exemple un processeur de carte SIM, car l'accès au service nécessite une identification/authentification de l'abonné. io Applications carte (CAP) Le principe de fonctionnement du mode émulation de carte est décrit par le brevet EP 1 327 222 (US 7 098 770) au nom de la demanderesse. Une application carte CAP, CAPi est exécutée par le processeur hôte HP1 (Cf. Fig. 1). Ce dernier place le contrôleur NFCC dans un mode de 15 fonctionnement passif et forme avec le contrôleur NFCC, l'équivalent d'un circuit intégré sans contact, qui est vu par un lecteur RD comme une carte sans contact. Ainsi, le contrôleur NFCC n'émet pas de champ magnétique, reçoit des données en démodulant un champ magnétique FLD émis par le lecteur RD et émet des données par modulation de l'impédance de son 20 circuit d'antenne AC1 (modulation de charge). Les applications concernées sont généralement des applications de paiement ou de contrôle d'accès payant (machine de paiement, entrée de métro, etc.). Le dispositif portatif HD est donc utilisé dans ce cas comme une carte à puce. Ce type d'application est le plus souvent sécurisé et le processeur hôte HP1, HP2 qui 25 exécute le programme applicatif est alors un processeur sécurisé, par exemple un processeur de carte SIM, comportant des fonctions de cryptographie pour l'authentification de l'utilisateur et/ou l'authentification du dispositif portable vis-à-vis d'un terminal de transaction. Diverses architectures de dispositifs NFC dédiées à la téléphonie ont 30 été envisagées, certaines utilisant le processeur de la carte SIM pour gérer les applications NFC, d'autres prévoyant un second processeur sécurisé, les deux solutions pouvant être également combinées. En raison notamment d'un nombre d'intervenants important et de la complexité des relations entre ces intervenants, la mise en oeuvre d'une 35 application sécurisée dans un dispositif NFC soulève des difficultés freinant le développement commercial des applications NFC sécurisées. En effet, le dispositif portable, le processeur sécurisé et le contrôleur NFCC sont 4 produits par des fabricants différents. Le processeur sécurisé (carte Sim) est généralement remis à un utilisateur final par un opérateur de réseau mobile, après avoir reçu des informations de sécurité telles que des identifiants, des clés secrètes et des certificats liés à l'utilisateur. Le dispositif portable peut être remis à l'utilisateur final par l'opérateur de réseau mobile ou une autre entité. L'application est réalisée par un développeur de logiciel. Si elle fait intervenir des transactions de paiement, l'application est certifiée par un organisme de certification lié à un organisme bancaire. Un composant logiciel d'une application, couramment appelé "applet", est installé de io manière sécurisée dans le processeur hôte sécurisé et personnalisé avec des données d'identification de l'utilisateur et du dispositif portable et des clés de chiffrement propres à l'application et à l'utilisateur. L'utilisateur est également référencé de manière sécurisée auprès d'un organisme bancaire. Une transaction de paiement fait intervenir un terminal de paiement qui est 15 produit par encore un autre fabricant, et qui doit également avoir été certifié par un organisme de certification. L'utilisateur du terminal de paiement, un commerçant, doit également être référencé de manière sécurisé auprès d'un organisme bancaire. Les opérateurs de réseau mobiles sont généralement réticents à rendre les fonctions et données de sécurité des cartes SIM 20 accessibles à d'autres intervenants tels que des fournisseurs d'applications sécurisées ou des services de paiement par carte. II en résulte que l'installation d'une application nécessitant une authentification de l'utilisateur dans un dispositif portable soulève de nombreuses difficultés. Ces difficultés apparaissent à chaque fois qu'une application doit être installée notamment 25 dans un processeur sécurisé du dispositif portable, et en particulier lorsqu'un utilisateur change de dispositif portable (téléphone mobile) et doit réinstaller les applications précédemment installées dans un ancien dispositif portable. Par ailleurs, face à un faible nombre d'applications disponibles, les fabricants de téléphones mobiles ne voient pas l'intérêt d'augmenter le coût 30 de leurs téléphones en y intégrant un contrôleur NFC et le cas échéant un processeur sécurisé supplémentaire. II est donc souhaitable de réaliser une architecture de déploiement d'applications NFC, qui ne nécessite pas la contribution d'opérateurs de réseau mobile, tout en offrant un niveau de sécurité compatible avec les 35 services de paiement et de contrôle d'accès payant. Il est également souhaitable que cette architecture ne nécessite pas la mise en oeuvre d'un serveur centralisé de confiance pour assurer la gestion (émission, contrôle, révocation) de données sécrètes attribuées à chaque dispositif mobile pour chaque application. II est aussi souhaitable que chaque application NFC installée dans un dispositif portable ne soit pas attachée à un dispositif portable particulier, mais puisse être facilement activée dans un autre dispositif portable. Il est également souhaitable que le fournisseur d'une application puisse facilement donner accès à l'application à un utilisateur, en minimisant l'intervention de ce dernier, et ce sans avoir à faire intervenir io l'opérateur de réseau mobile ou d'autres entités. Des modes de réalisation concernent un procédé d'exécution d'une application sécurisée dans un dispositif NFC, le procédé comprenant des étapes durant lesquelles : une liaison sans contact est établie entre un premier dispositif NFC et un second dispositif NFC, le premier dispositif NFC 15 transmet par la liaison sans contact un identifiant d'un processeur sécurisé du premier dispositif NFC, le second dispositif NFC transmet par la liaison sans contact un identifiant d'application, le processeur sécurisé transmet par la liaison sans contact des premières données d'authentification permettant d'authentifier le processeur sécurisé du premier dispositif NFC, et le second 20 dispositif NFC transmet à un serveur d'application les premières données d'authentification, le serveur d'application transmet à un serveur d'authentification les premières données d'authentification et des secondes données d'authentification permettant d'authentifier l'application correspondant à l'identifiant d'application, le serveur d'authentification vérifie 25 les données d'authentification, et autorise les deux dispositifs NFC à exécuter l'application uniquement si le processeur sécurisé et l'application sont authentifiés. Selon un mode de réalisation, le premier dispositif NFC transmet au serveur d'authentification une requête d'installation d'application comprenant 30 l'identifiant d'application d'une application à installer, et les premières données d'authentification permettant d'authentifier le processeur sécurisé du premier dispositif NFC, le serveur d'authentification vérifie les premières données d'authentification, et si le processeur sécurisé est authentifié, transmet au premier dispositif NFC une adresse de téléchargement de 35 l'application, et le premier dispositif NFC télécharge l'application à partir de l'adresse de téléchargement reçue et installe l'application téléchargée. 6 Selon un mode de réalisation, à la suite de l'installation de l'application, le premier dispositif NFC informe le serveur d'authentification de l'installation de l'application en lui fournissant l'identifiant de l'application installée et les premières données d'authentification, et le serveur d'authentification vérifie les premières données d'authentification, et si le processeur sécurisé est authentifié, le serveur d'authentification mémorise l'identifiant d'application en association avec l'identifiant du processeur sécurisé du premier dispositif NFC. Selon un mode de réalisation, le serveur d'authentification ne io transmet pas au premier dispositif NFC une adresse de téléchargement de l'application si l'identifiant d'application est déjà mémorisé en association avec l'identifiant du processeur sécurisé du premier dispositif NFC. Selon un mode de réalisation, le serveur d'authentification n'autorise pas l'exécution de l'application par les deux dispositifs NFC si l'identifiant 15 d'application n'est pas mémorisé en association avec l'identifiant du processeur sécurisé du premier dispositif NFC. Selon un mode de réalisation, les premières données d'authentification comprennent l'identifiant du processeur sécurisé et un premier cryptogramme calculé par le processeur sécurisé en appliquant à 20 l'identifiant du processeur sécurisé, un calcul cryptographique utilisant une clé secrète mémorisée par le processeur sécurisé. Selon un mode de réalisation, les secondes données d'authentification comprennent l'identifiant du processeur sécurisé, l'identifiant d'application et un second cryptogramme calculé par le serveur 25 d'application en appliquant un calcul cryptographique à l'identifiant d'application, utilisant une clé secrète propre à l'application. Selon un mode de réalisation, le second cryptogramme est calculé en appliquant le calcul cryptographique à l'identifiant d'application, et au premier cryptogramme. 30 Selon un mode de réalisation, le premier et/ou le second cryptogrammes sont calculés à l'aide d'un algorithme de chiffrement symétrique utilisant une clé secrète, ou d'un algorithme de chiffrement asymétrique utilisant une clé privée, ou d'une fonction de hachage appliquée aux données à chiffrer et à la clé secrète. 35 Selon un mode de réalisation, la vérification de chacun des premier et second cryptogrammes est effectuée en recalculant le cryptogramme à partir des mêmes données et en utilisant une clé de chiffrement accessible au serveur d'authentification. Des modes de réalisation concernent également un système d'exécution d'une application sécurisée dans un dispositif NFC, le système comprenant : un premier dispositif NFC comprenant un composant NFC pour établir une communication sans contact avec un autre dispositif NFC, et un processeur sécurisé connecté au composant NFC, un second dispositif NFC connecté à un serveur d'application pour exécuter une application avec autre dispositif NFC. Selon un mode de réalisation, le système comprend un io serveur d'authentification accessible au serveur d'application et au premier dispositif NFC, le système étant configuré pour exécuter le procédé tel que défini précédemment. Des modes de réalisation concernent également un ensemble d'un processeur sécurisé couplé à un composant NFC configuré pour établir une 15 communication sans contact avec un dispositif NFC. Selon un mode de réalisation, le processeur sécurisé comprend un composant logiciel associé à un identifiant de processeur sécurisé, configuré pour : établir une communication sans contact avec un dispositif NFC par l'intermédiaire du contrôleur NFC, et transmettre par la liaison sans contact l'identifiant, 20 recevoir par la liaison sans contact un identifiant d'application, et transmettre par la liaison sans contact des données d'authentification du composant logiciel. Selon un mode de réalisation, le composant logiciel est configuré pour vérifier si l'identifiant d'application reçu figure ou non dans une liste 25 d'applications mémorisée par le processeur sécurisé. Selon un mode de réalisation, les données d'authentification comprennent l'identifiant du processeur sécurisé et un premier cryptogramme calculé par le processeur sécurisé en appliquant à l'identifiant du processeur sécurisé, un calcul cryptographique utilisant une clé secrète 3o mémorisée par le processeur sécurisé. Selon un mode de réalisation, le premier cryptogramme est calculé par le processeur sécurisé à l'aide d'un algorithme de chiffrement symétrique utilisant une clé secrète, ou d'un algorithme de chiffrement asymétrique utilisant une clé privée, ou d'une fonction de hachage appliquée aux 35 données à chiffrer et à la clé secrète. 8 Des exemples de réalisation de l'invention seront décrits dans ce qui suit, à titre non limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 décrite précédemment représente schématiquement l'architecture d'un dispositif NFC classique, la figure 2 décrite précédemment représente schématiquement des exemples d'applications mises en oeuvre dans le dispositif NFC, la figure 3 représente schématiquement l'architecture d'un système de déploiement d'applications NFC, les figures 4A à 4D représentent des tables d'une ou plusieurs bases io de données utilisées par le système de déploiement, la figure 5 représente des étapes d'activation d'une transaction impliquant l'exécution d'une application, entre un processeur hôte sécurisé du dispositif NFC et un lecteur NFC, selon un mode de réalisation, la figure 6 représente des étapes d'installation et d'exécution d'une 15 application dans un dispositif NFC, selon un mode de réalisation. la figure 7 représente des étapes d'une procédure d'autorisation d'une transaction déclenchée par un dispositif d'interaction NFC durant l'exécution d'une application, selon un mode de réalisation, La figure 3 représente l'architecture d'un système de déploiement 20 d'application NFC. Le système de déploiement d'application comprend une pluralité de dispositifs portables NFC HD1 et de dispositifs d'interaction POI avec lesquels les dispositifs HD1 peuvent établir une communication sans contact NFC. Les dispositifs POI peuvent être des lecteurs sans contact NFC ou des circuits intégrés sans contact NFC. Les dispositifs POI sont chacun 25 connectés ou connectables à un serveur d'application ASRV permettant l'exécution d'une transaction dans le cadre d'une application, avec un dispositif HD1 connecté au dispositif POI. Le dispositif POI comprend une antenne AC2 pour établir des communications sans contact NFC avec un dispositif NFC. Le dispositif POI peut être connecté au serveur ASRV soit 30 directement, soit par l'intermédiaire d'un ou plusieurs réseaux de transmission de données. Le dispositif HD1 comprend des processeurs hôte HP1, SE et un composant NFC référencé NFCC. Le processeur HP1 est par exemple un processeur de band de base ("baseband") de téléphone mobile, et le 35 processeur hôte SE est un processeur sécurisé. Le composant NFCC 9 comprend un contrôleur hôte HC connecté aux processeurs HP1 et SE et un circuit d'interface NFC référencé CLF connecté à un circuit d'antenne AC1. Le processeur HP1 comprend un système d'exploitation MOS et peut exécuter une ou plusieurs applications APP installées dans une mémoire du processeur HP1 (ou accessible au processeur HP1). Le processeur SE peut être le processeur d'une carte SIM ou un processeur distinct présentant au moins le même niveau de sécurité. Selon un mode de réalisation, le système d'exploitation MOS comprend un logiciel pilote ONS permettant au processeur HP1 d'accéder à io certaines fonctions du processeur SE par l'intermédiaire du contrôleur NFCC et de recevoir des notifications émises par le processeur SE. Le processeur HP1 comprend également une base de données d'applications ARB comprenant des références d'applications sécurisées APP installées dans la mémoire du processeur HP1. Le processeur SE comprend un composant 15 logiciel, d'application appelé "applet NAPP", un identifiant du processeur SE et un identifiant du composant NAPP, des clés de chiffrement KY, une liste PAB d'identifiants d'applications sécurisées installées dans le dispositif HD1, et des données de configuration du dispositif HD1 (type du dispositif, dénomination et version du système d'exploitation MOS, etc.). Les 20 applications sécurisées APP peuvent être des applications de paiement, de contrôle d'accès, et plus généralement, des applications nécessitant une authentification. Le composant logiciel NAPP peut également mémoriser des informations de configuration CFG du dispositif HD1, ces informations comprenant notamment un type de dispositif et un numéro de version du 25 système d'exploitation MOS. Le système d'exploitation MOS comprend également un logiciel de contrôle d'application à sécurisées NMNG communiquant avec le composant logiciel NAPP par l'intermédiaire du pilote ONS et du contrôleur NFCC. Le logiciel NMNG est configuré pour collecter des informations de configuration du dispositif HD1, et les transmettre au 30 processeur SE. Le logiciel NMNG est lié de manière unique au composant logiciel NAPP de manière à masquer la présence du composant logiciel aux autres applications installées dans le processeur HP1. Ainsi, seul le logiciel NMNG est notifié lorsque le composant logiciel NAPP est sollicité par l'intermédiaire d'une liaison sans contact établie par le contrôleur NFCC, 35 pour exécuter une application sécurisée. Le logiciel NMNG assure 2962571 io également une fonction de gestion de préférences de l'utilisateur du dispositif HD1. Le système de déploiement d'application comprend un serveur de base de données HSRV donnant accès à une ou plusieurs bases de 5 données IDDB, UPDB, ARDB, KYDB. Le logiciel NMNG assure également une fonction d'interface entre le serveur HSRV et le composant logiciel NAPP. Le serveur HSRV gère des identifiants de composants logiciels NAPP installés dans les processeurs SE des dispositifs HD1, des identifiants de fournisseurs d'application, et fournit des services d'authentification. Lors io de sa fabrication, le processeur SE de chaque dispositif HD1 reçoit des identifiants uniques SEID et NID de processeur SE et de composant logiciel NAPP, des clés secrètes de chiffrement symétrique et/ou des clés publiques et privées de chiffrement asymétrique associées à un certificat. Le serveur HSRV assure des fonctions d'enregistrement et de radiation d'utilisateurs, de 15 processeurs SE, de composants logiciels NAPP, de fournisseurs d'application et d'applications. Chaque application est donc identifiée par un identifiant d'application unique. Le contenu de la base ou des bases de données IDDB, UPDB, ARDB, KYDB est représenté sur les figures 4A à 4D. Sur la figure 4A, la 20 base de données IDDB est configurée pour établir une correspondance entre des identifiants SEID, NID du processeur SE et du composant logiciel NAPP de chaque processeur SE mis en service dans un dispositif HD1. La base IDDB établit également une correspondance entre l'identifiant NID et un index de clé KIX permettant d'accéder aux clés de chiffrement associées, 25 mémorisées par le processeur SE. La base de données IDDB est donc complétée à chaque fois qu'un processeur SE est mis en service dans un dispositif HD1. La base de données IDDB comprend également une table de correspondance entre des identifiants de composants logiciels NID installés dans un processeur SE et des identifiants d'application ARef, cette table 30 indique donc si une application ayant pour identifiant ARef est installée dans un dispositif HD1 dont le composant logiciel NAPP correspond à l'identifiant NID. La base IDDB est donc également mise à jour à chaque fois qu'une application est installée ou effacée d'un dispositif HD1. Sur la figure 4B, la base de données UPDB est configurée pour 35 établir une correspondance entre l'identifiant NID, une référence d'un Il utilisateur RFX, une correspondance entre l'identifiant NID et un index PRFX référençant des informations de profil UPRF relatives à l'utilisateur du dispositif HD1. La base de données UPDB est complétée lors de l'installation d'une première application dans un dispositif HD1, et mise à jour à chaque fois que les informations de profil d'un utilisateur sont modifiées. Sur la figure 4C, la base de données ARDB est configurée pour établir une correspondance entre des identifiants de fournisseurs d'application PVID et des identifiants d'applications APID pour un type de dispositif HD1, une correspondance entre chaque identifiant PVID et un io index de clé de chiffrement KIX permettant d'accéder à des clés de chiffrement KIX propres au fournisseur d'application. La base ARDB établit également une correspondance entre chaque identifiant d'application APID et une référence DRF de type de dispositif HD1 dans lesquels l'application peut être installée et exécutée, et entre chaque référence DRF et une 15 adresse de téléchargement URL de l'application correspondant à l'identifiant APID. Chaque identifiant APID permet ainsi d'identifier chaque instance d'application adaptée à un type de dispositif HD1 et d'accéder à une adresse de téléchargement de l'instance d'application. La base ARDB est mise à jour à chaque enregistrement d'une nouvelle application prévue pour un type de 20 dispositif HD1. Sur la figure 4D, la base de données KYDB est configurée pour établir une correspondance entre chaque index de clé (de processeur SE ou de fournisseur d'application) et des clés de chiffrement. L'accès à la base de données KYDB peut être protégé par un serveur spécifique configuré pour 25 recevoir des index de clés KIX et des données à chiffrer ou à déchiffrer et pour fournir en réponse des cryptogrammes résultant du chiffrement ou déchiffrement des données fournies à l'aide des clés référencées par l'index de clé KIX fourni. La base KYDB est donc modifiée à chaque mise en service d'un nouveau processeur SE et à chaque enregistrement d'une 30 nouvelle application pour un type de dispositif HD1. La figure 5 représente une séquence d'étapes S1 à S13 déclenchée lorsqu'un dispositif HD1 est placé en communication sans contact avec un dispositif POI. Cette séquence est exécutée par le composant logiciel NAPP installé dans le processeur SE du dispositif HD1 mis en communication avec 35 le dispositif POI par l'intermédiaire du contrôleur NFFCC, par un logiciel de 12 lecteur sans contact NPRT installé dans le dispositif POI et par le logiciel de gestion NMNG du processeur HP1. A l'étape SI, le logiciel NPRT envoie le cas échéant un message de sélection d'une application de paiement PPSE (Proximity Payment System Environment) au contrôleur NFCC. Le contrôleur NFCC retransmet le message PPSE au processeur SE. A l'étape S2, le processeur SE répond au message de sélection. A l'étape S3, le logiciel de lecteur NPRT envoie au processeur SE un message de sélection du composant logiciel NAPP installé dans le processeur SE. En effet, plusieurs autres composants logiciels peuvent être installés dans le processeur SE. A l'étape S4, le composant logiciel NAPP répond au logiciel NPRT en lui fournissant son identifiant NID. A l'étape S5, le dispositif POI envoie un message d'initialisation de transaction comprenant une information de type de transaction TTyp, un identifiant d'application APID, et des données de transaction. A l'étape S6, le composant logiciel NAPP vérifie si l'identifiant APID figure ou non dans la liste PAB d'identifiants d'applications installées dans le processeur HP1. A l'étape S7, le composant logiciel NAPP répond au message d'initialisation en indiquant si l'application APID est installée ou non dans le processeur HP1. Quelle que soit la réponse du composant logiciel NAPP, le dispositif POI exécute l'étape S9 où il émet un ordre de lecture. Parallèlement à l'étape S8 le composant logiciel NAPP lance un calcul cryptographique pour obtenir un cryptogramme ED1. A la suite de la réception de l'ordre de lecture à l'étape S9, le composant logiciel NAPP émet en réponse à l'étape SIO le cryptogramme ED1, ainsi que des données standard de transaction de paiement DATAI si l'application demandée est installée. Il est à noter que les étapes SI à S9 sont conformes au standard de paiement par carte EMV (Europay, MasterCard and Visa). Durant les étapes S3 à S8, le composant logiciel NAPP émet une alerte à destination du logiciel de gestion NMNG installé dans le processeur HP1, pour l'informer qu'il a été sollicité par l'intermédiaire du contrôleur NFCC. A l'étape S11, le logiciel NMNG transmet au composant logiciel NAPP un message de demande de données. A l'étape S12, le composant logiciel NAPP transmet en réponse au logiciel NMNG le type de transaction TTyp reçu, l'identifiant d'application APID, le cryptogramme ED1 et une 13 information d'état STS. A l'étape S13, le logiciel NMNG lance l'application dans le processeur HP1 ou une procédure d'installation de cette application si celle-ci n'est pas installée. Le cryptogramme ED1 est par exemple calculé en appliquant une fonction cryptographique telle qu'une fonction de chiffrement symétrique comme AES (Advanced Encryption Standard) utilisant une clé mémorisée par le processeur SE, à l'identifiant NID, l'identifiant d'application APID, et éventuellement d'autres données. Le cryptogramme ED1 peut également être calculé à l'aide d'une fonction de hachage telle que SHA (Secure Hash Algorithm) ou MD5 (Message Digest 5) appliquées aux mêmes données, ainsi qu'à la clé mémorisée par le processeur SE. Le cryptogramme ED1 peut aussi être calculé par une fonction de chiffrement asymétrique utilisant une clé privée mémorisée par le processeur SE, la clé publique correspondante étant mémorisée dans la base KYDB. Les autres données utilisées dans le calcul du cryptogramme ED1 sont transmises avec celui-ci pour permettre par la suite sa vérification. La figure 6 représente une séquence d'étapes S31 à S52 pouvant être exécutée à l'étape S13 par le dispositif HD1, et par les serveurs HSRV et ASRV. A l'étape S31, le logiciel NMNG du processeur HP1 détermine si l'application ayant pour identifiant APID est installée dans le dispositif HD1 en consultant la base de données ARB. Si l'application est déjà installée, le processeur HP1 exécute l'étape S48 où il peut être prévu de demander à l'utilisateur s'il accepte d'activer l'application. Si l'utilisateur accepte d'activer l'application, l'application est lancée à l'étape S49. Si l'application n'est pas installée dans le dispositif HD1, le processeur HP1 exécute l'étape S32 où il peut être prévu de demander à l'utilisateur s'il souhaite installer l'application dans le dispositif HD1. Si l'utilisateur accepte d'installer l'application, le processeur HP1 émet une requête de validation de téléchargement DLVaI à destination du serveur HSRV, cette requête étant accompagnée de l'identifiant d'u composant logiciel NID, du cryptogramme ED1 calculé à l'étape S7, et de l'identifiant d'application APID à télécharger. A l'étape S34, le serveur HSRV reçoit cette requête et vérifie le cryptogramme ED1 à l'aide de l'identifiant NID et des informations contenues dans les bases de données IDDB, KYDB et vérifie l'existence de l'identifiant d'application dans la base ARDB. Le serveur HSRV vérifie également que l'application n'a pas 14 déjà été installée dans le dispositif HD1 en vérifiant dans la base IDDB que l'identifiant NID n'est pas déjà lié à l'identifiant d'application APID. La vérification de la liaison entre l'identifiant NID et l'identifiant d'application peut tenir compte du fait que l'application en cours d'installation est une mise à s jour d'une application précédemment installée dans le dispositif HD1. Dans ce cas, l'installation est autorisée par le serveur HSRV. A l'étape S35, si toutes ces vérifications sont satisfaites, le serveur HSRV exécute l'étape S36 où il détermine une adresse de téléchargement URL de l'application en accédant à la base ARDB à l'aide de l'identifiant APID. A l'étape S37, le 10 serveur HSRV répond à la requête DLVaI en fournissant le résultat des vérifications effectuées à l'étape S34. Si ces vérifications sont satisfaites, le serveur HSRV transmet également au processeur HP1 l'adresse de téléchargement URL de l'application et éventuellement l'identifiant de l'application APID. Aux étapes S38 et S39 suivantes, le processeur HP1 15 reçoit ces informations du serveur HSRV, et si le téléchargement est autorisé par le serveur HSRV, procède au téléchargement de l'application en accédant à un serveur WSRV à l'adresse URL reçue. A l'étape S40, le processeur HP1 lance l'installation de l'application en exécutant le fichier téléchargé à l'étape S39. A l'étape S42, le processeur HP1 demande au 20 processeur SE par l'intermédiaire du composant logiciel NAPP d'introduire l'identifiant d'application APID dans la liste des identifiants d'applications PAB mémorisée par le processeur SE pour chaque application de paiement. A l'étape S43, le processeur SE met à jour cette liste. Suite à l'étape S42, le processeur HP1 transmet au serveur HSRV une requête de validation 25 d'installation d'application contenant l'identifiant NID, le cryptogramme ED1 et l'identifiant APID de l'application installée (étape S44). A l'étape S45 suivante, le serveur HSRV vérifie le cryptogramme ED1. Si le cryptogramme ED1 est correct (étape S46), le serveur HSRV mémorise que l'identifiant NID est lié à l'identifiant d'application APID dans la base IDDB (étape S47). A 30 l'étape S48 suivante, si le cryptogramme ED1 est correct, le serveur HSRV transmet au processeur HP1 un message d'autorisation d'exécution de l'application installée. A l'étape S49 suivante, le processeur HP1 met à jour la base de données ARB en y insérant l'identifiant APID de l'application installée, et lance l'exécution de l'application. Durant son exécution par le 35 processeur HP1, l'application peut accéder au serveur de l'application ASRV 15 ou un serveur associé (à l'étape S50), lequel peut demander au serveur HSRV des informations de profil de l'utilisateur UPRF mémorisées dans la base UPDB, sur la base de l'identifiant NID, et demander à l'utilisateur le cas échéant de compléter ces informations, par exemple en affichant sur un s écran d'affichage du dispositif HD1 un formulaire à remplir. Le formulaire affiché peut être pré rempli avec des informations relatives à l'utilisateur, figurant déjà dans la base UPDB. Les informations de profil saisies par l'utilisateur peuvent être transmises par le processeur HP1 à un serveur lié à l'application, comme le serveur ASRV ou le serveur WSRV, qui lui-même les io retransmet au serveur HSRV pour mettre à jour la base de données UPDB (étape S51). Durant l'exécution de l'application, le serveur ASRV peut exécuter une transaction classique de paiement en accédant à un réseau bancaire sur la base d'informations d'identification de l'utilisateur obtenues à partir de l'identifiant NID dans la base UPDB. 15 II peut être mis à disposition de l'utilisateur des procédures de blocage/déblocage d'une application, et de désinstallation d'une application. Ces procédures se déroulent d'une manière analogue aux étapes S33 à S37, l'étape S33 étant remplacée par l'émission d'une requête correspondante de blocage, déblocage ou de désinstallation, et l'étape S36 20 étant remplacée par une étape d'exécution de la requête. A cet effet, il peut être prévu un indicateur d'état de blocage qui peut être prévu à chaque ligne de la table de la base IDDB associant un identifiant d'application APID à un identifiant NID de composant logiciel NAPP. S'il s'agit d'une requête de blocage ou de déblocage d'application, le serveur HSRV peut mettre à jour 25 l'indicateur d'état correspondant aux identifiants d'application APID et de composant logiciel NID reçus du processeur HP1. Cet indicateur d'état peut être testé avant que le processeur HP1 exécute l'application à l'étape S49. S'il s'agit d'une requête de désinstallation, le serveur HSRV peut supprimer la ligne de cette table associant les identifiants de composant logiciel et 30 d'application reçus du processeur HP1. Bien entendu, les opérations de blocage/déblocage et de désinstallation d'applications ne sont effectuées qu'après vérification par le serveur HSRV du cryptogramme ED1 fourni par le processeur HP1, et de l'existence d'un lien entre les identifiants NID et APID dans la base IDDB. 16 Chaque élément de liste PAB mémorisée dans le processeur SE peut être associé à un numéro de priorité et à un indicateur de blocage, accessibles par une commande de configuration mise à disposition de l'utilisateur par l'intermédiaire du processeur HP1. De cette manière, si plusieurs applications de paiement enregistrées dans la liste PAD sont compatibles avec l'identifiant APID transmis par le dispositif POI à l'étape S5, le composant logiciel NAPP active l'application de paiement non bloquée ayant le plus grand numéro de priorité. La figure 7 représente une séquence d'étapes S61 à S70 pouvant être déclenchée par le dispositif POI au lancement et lors de l'exécution d'une application à la suite des étapes S9 et S49 ou d'une application de paiement lancée par l'application activée à l'étape S49. Cette séquence d'étapes est exécutée par le dispositif POI, le serveur d'application ASRV et le serveur HSRV. A l'étape S61, le dispositif POI transmet au serveur ASRV une requête de transaction TTReq contenant des données relatives à l'application AppData, l'identifiant du composant logiciel NID reçu à l'étape S4, et le cryptogramme ED1 reçu à l'étape S9. A l'étape S62, le serveur ASRV reçoit cette requête et lance un calcul cryptographique pour obtenir un cryptogramme ED2 notamment à partir de l'identifiant d'application APID. A l'étape S63, le serveur ASRV émet à destination du serveur HSRV une requête d'authentification AuthReq contenant l'identifiant du composant logiciel NID, les cryptogrammes ED1 et ED2 et l'identifiant de l'application APID. A l'étape S64, le serveur HSRV vérifie l'existence de l'identifiant NID dans la base de données IDDB et vérifie le cryptogramme ED1. A l'étape S65, le serveur HSRV vérifie l'existence de l'identifiant d'application APID dans la base ARDB, et vérifie le cryptogramme ED2. A l'étape S66, le serveur HSRV vérifie dans la base de données IDDB que l'application est liée à l'identifiant NID de processeur SE du dispositif HD1 connecté au dispositif POI. A l'étape S67, le serveur HSRV émet à destination du serveur ASRV un message de réponse d'authentification AuthRep indiquant le succès ou l'échec de l'authentification, c'est-à-dire si les cryptogrammes ED1, ED2 reçus sont authentiques, et si l'application ayant l'identifiant APID est bien liée à l'identifiant NID du dispositif HD1 connecté au dispositif POI. A l'étape S68, le serveur ASRV teste le message de réponse d'authentification et si l'authentification a réussi, il exécute les étapes S69 et 17 S70 où il exécute la transaction correspondant à l'application et il transmet au dispositif POI un message de réponse de transaction TTRep à la requête transmise à l'étape S61. Le serveur ASRV peut ainsi être assuré de l'authenticité des identifiants NID et APID. Le cryptogramme ED2 peut être calculé (à l'étape 62) en appliquant la fonction utilisée pour calculer le cryptogramme ED1, à l'identifiant d'application APID, et éventuellement au cryptogramme ED1 et à d'autres données telles qu'un nombre généré aléatoirement. Les autres données utilisées dans le calcul du cryptogramme ED2, et en particulier le nombre io aléatoire sont transmis avec le cryptogramme ED2 pour permettre sa vérification par le serveur HSRV. Si les cryptogrammes sont calculés à l'aide d'une fonction de chiffrement symétrique ou une fonction de hachage, utilisant une clé secrète, les cryptogrammes ED1, ED2 peuvent être vérifiés en les recalculant à l'aide des mêmes clés secrètes et des même données 15 utilisées pour leur premier calcul. Les données secrètes sont mémorisées dans la base KYDB en association avec les identifiants NID, APID. Les données éventuellement utilisées pour le calcul du cryptogramme ED1 peuvent se trouver dans la base IDDB en association avec l'identifiant NID. Les données éventuellement utilisées pour le calcul du cryptogramme ED2 20 peuvent se trouver dans la base ARDB en association avec l'identifiant APID. Si les cryptogrammes ED1, ED2 ont été calculés à l'aide d'un algorithme de chiffrement asymétrique, ils peuvent être vérifiés en leur appliquant le même algorithme de chiffrement utilisant des clés publiques mémorisées dans la base KYDB, correspondant aux clés secrètes utilisées 25 pour leur calcul. Bien entendu, le serveur d'authentification HSRV peut en réalité être réalisé par plusieurs serveurs connectés entre eux. Ainsi, la base de clés de chiffrement KYDB peut être accessible par l'intermédiaire d'un serveur spécifique. Les données de chacune des bases IDDB, UPDB, ARDB et 30 KYDB peuvent également être réparties dans plusieurs bases de données accessibles par des serveurs distincts. Grâce à ces dispositions, l'installation d'une nouvelle application ne nécessite pas d'installer un composant logiciel dans un processeur sécurisé SE du dispositif NFC HD1. Le processeur sécurisé SE est personnalisé une 35 seule fois et pour toutes les applications NFC susceptibles d'être exécutées 18 par le processeur HP1, en recevant le composant NAPP associé à un identifiant unique NID et une ou plusieurs clés secrètes associées. Comme un seul composant logiciel NAPP peut être installé dans le processeur SE, l'identifiant NID peut être utilisé pour identifier le processeur SE. L'installation du composant NAPP dans le processeur SE n'empêche nullement l'installation ou l'exécution d'autres composants logiciels dans le processeur SE. Comme le lien entre une application et le dispositif HD1 d'un utilisateur est établi à l'extérieur du dispositif HD1, à savoir par les bases de données IDDB, UPDB, ARDB, ce lien peut être facilement rétabli pour et à partir d'un io autre dispositif NFC, en cas de perte, vol ou échange du dispositif HD1. Les cryptogrammes ED1 et ED2 permettent d'authentifier le processeur SE et l'application. Par ailleurs, il convient de remarquer que les séquences d'étapes décrites précédemment ne font pas intervenir un opérateur de réseau mobile, sauf éventuellement pour établir une communication entre le 15 dispositif HD1 (du type téléphone mobile) et un serveur de téléchargement d'application WSRV. II apparaîtra clairement à l'homme de l'art que la présente invention est susceptible de diverses variantes de réalisation et diverses applications. En particulier, l'invention n'est pas limitée aux dispositifs NFC dans lesquels 20 le contrôleur NFCC est connecté au processeur HP1. En effet, le contrôleur NFCC et le processeur sécurisé SE peuvent être intégrés dans une puce associée à un téléphone mobile par un moyen mécanique quelconque (sticker, housse de téléphone mobile). Par exemple, sur la figure 5, la transmission des données nécessaires à l'exécution d'une application par le 25 processeur HP1 peuvent être transmises au processeur HP1 par l'intermédiaire du serveur ASRV connecté au dispositif POI. L'application dans le processeur HP1 peut également être lancée manuellement par l'utilisateur. Les étapes de téléchargement et d'installation d'une application dans 30 le processeur HP1 ne sont pas non plus nécessaires. Ces opérations peuvent en effet être effectuées lors de l'installation du système d'exploitation MOS dans le processeur HP1. Le dispositif NFC HD1 peut ainsi être livré à un utilisateur avec un certain nombre d'applications déjà installées dans le processeur HP1. 19 Par ailleurs, selon les applications ("Reader Applications, "Card Applications"), le dispositif HD1 peut établir une liaison sans contact avec un dispositif externe NFC (POI) en mode carte, ou en mode lecteur, ou encore en mode "peer-to-peer". Ainsi, l'exécution de la séquence d'étapes de la figure 6, n'est pas nécessairement effectuée de manière synchrone. En effet, notamment dans le cas où le dispositif POI est un circuit intégré sans contact, les étapes S61 et S70 peuvent être effectuées de manière différées lorsque le dispositif POI peut établir une communication avec le serveur d'application ASRV. 20 REVENDICATIONS1. Procédé d'exécution d'une application sécurisée dans un dispositif NFC, le procédé comprenant des étapes durant lesquelles : une liaison sans contact est établie entre un premier dispositif NFC (HD1) et un second dispositif NFC (POI), le premier dispositif NFC transmet par la liaison sans contact un identifiant (NID) d'un processeur sécurisé (SE) du premier dispositif NFC, le second dispositif NFC transmet par la liaison sans contact un identifiant d'application (APID), le processeur sécurisé transmet par la liaison sans contact des io premières données d'authentification (ED1) permettant d'authentifier le processeur sécurisé du premier dispositif NFC, et le second dispositif NFC transmet à un serveur d'application (ASRV) les premières données d'authentification, le serveur d'application transmet à un serveur d'authentification (HSRV) les premières données 15 d'authentification et des secondes données d'authentification (ED2) permettant d'authentifier l'application correspondant à l'identifiant d'application, le serveur d'authentification vérifie les données d'authentification, et autorise les deux dispositifs NFC à exécuter l'application uniquement si le processeur sécurisé et l'application sont 20 authentifiés. 2. Procédé selon la revendication 1, dans lequel : le premier dispositif NFC transmet au serveur d'authentification (HSRV) une requête d'installation d'application comprenant l'identifiant 25 d'application (APID) d'une application à installer, et les premières données d'authentification permettant d'authentifier le processeur sécurisé (SE) du premier dispositif NFC, le serveur d'authentification vérifie les premières données d'authentification, et si le processeur sécurisé est authentifié, transmet au 30 premier dispositif NFC une adresse de téléchargement (URL) de l'application, et le premier dispositif NFC télécharge l'application à partir de l'adresse de téléchargement reçue et installe l'application téléchargée. 3. Procédé selon la revendication 2, dans lequel, à la suite de l'installation de l'application, le premier dispositif NFC (HD1) informe le serveur d'authentification (HSRV) de l'installation de l'application en lui fournissant l'identifiant (APID) de l'application installée et les premières données d'authentification, et le serveur d'authentification vérifie les premières données d'authentification, et si le processeur sécurisé (SE) est authentifié, le serveur d'authentification mémorise l'identifiant d'application en association avec l'identifiant du processeur sécurisé (SE) du premier dispositif NFC. 4. Procédé selon la revendication 3, dans lequel le serveur d'authentification (HSRV) ne transmet pas au premier dispositif NFC (HD1) une adresse de téléchargement de l'application si l'identifiant d'application (APID) est déjà mémorisé en association avec l'identifiant (NID) du processeur sécurisé (SE) du premier dispositif NFC. 5. Procédé selon la revendication 3 ou 4, dans lequel le serveur d'authentification (HSRV) n'autorise pas l'exécution de l'application par les deux dispositifs NFC (HD1, POI) si l'identifiant d'application (APID) n'est pas mémorisé en association avec l'identifiant (NID) du processeur sécurisé (SE) du premier dispositif NFC. 6. Procédé selon l'une des revendications 1 à 5, dans lequel les premières données d'authentification comprennent l'identifiant du processeur sécurisé (NID) et un premier cryptogramme (ED1) calculé par le processeur sécurisé (SE) en appliquant à l'identifiant du processeur sécurisé (NID), un calcul cryptographique utilisant une clé secrète (KY) mémorisée par le processeur sécurisé. 7. Procédé selon l'une des revendications 1 à 6, dans lequel les secondes données d'authentification comprennent l'identifiant du processeur sécurisé (NID), l'identifiant d'application (APID) et un second cryptogramme (ED2) calculé par le serveur d'application en appliquant un calculcryptographique à l'identifiant d'application (APID), utilisant une clé secrète (KYA) propre à l'application. 8. Procédé selon la revendication 7, dans lequel le second 5 cryptogramme (ED2) est calculé en appliquant le calcul cryptographique à l'identifiant d'application (APID), et au premier cryptogramme (ED1). 9. Procédé selon l'une des revendications 1 à 8, dans lequel le premier et/ou le second cryptogrammes (ED1, ED2) sont calculés à l'aide io d'un algorithme de chiffrement symétrique utilisant une clé secrète, ou d'un algorithme de chiffrement asymétrique utilisant une clé privée, ou d'une fonction de hachage appliquée aux données à chiffrer et à la clé secrète. 10. Procédé selon l'une des revendications 1 à 9, dans lequel la 15 vérification de chacun des premier et second cryptogrammes (ED1, ED2) est effectuée en recalculant le cryptogramme à partir des mêmes données et en utilisant une clé de chiffrement accessible au serveur d'authentification. 11. Système d'exécution d'une application sécurisée dans un 20 dispositif NFC, comprenant : un premier dispositif NFC (HD1) comprenant un composant NFC (NFCC) pour établir une communication sans contact avec un autre dispositif NFC, et un processeur sécurisé (SE) connecté au composant NFC, un second dispositif NFC (POI) connecté à un serveur d'application 25 (ASRV) pour exécuter une application avec autre dispositif NFC, caractérisé en ce qu'il comprend un serveur d'authentification (HSRV) accessible au serveur d'application (ASRV) et au premier dispositif NFC (HD1), le système étant configuré pour exécuter le procédé selon l'une des revendications 1 à 10. 30 12. Dispositif NFC comprenant un processeur sécurisé et un composant NFC (NFCC) couplé au processeur sécurisé et configuré pour établir une communication sans contact avec un autre dispositif NFC (POI), caractérisé en ce que le processeur sécurisé est associé à un 35 identifiant (NID) de processeur sécurisé, et est configuré pour : établir une communication sans contact avec un autre dispositif NFC par l'intermédiaire du composant NFC, et transmettre par la liaison sans contact l'identifiant de processeur sécurisé, recevoir par la liaison sans contact un identifiant d'application (APID), et transmettre par la liaison sans contact des données d'authentification (ED1) du processeur sécurisé permettant d'authentifier le processeur sécurisé. io 13. Dispositif selon la revendication 12, dans lequel le processeur sécurisé est configuré pour vérifier si l'identifiant d'application (APID) reçu figure ou non dans une liste d'applications mémorisée par le processeur sécurisé. 15 14. Dispositif selon la revendication 12 ou 13, dans lequel les données d'authentification comprennent l'identifiant du processeur sécurisé (NID) et un premier cryptogramme (ED1) calculé par le processeur sécurisé (SE) en appliquant à l'identifiant du processeur sécurisé (NID), un calcul cryptographique utilisant une clé secrète (KY) mémorisée par le processeur 20 sécurisé. 15. Dispositif selon la revendication 14, dans lequel le premier cryptogramme (ED1) est calculé par le processeur sécurisé (SE) à l'aide d'un algorithme de chiffrement symétrique utilisant une clé secrète, ou d'un 25 algorithme de chiffrement asymétrique utilisant une clé privée, ou d'une fonction de hachage appliquée aux données à chiffrer et à la clé secrète.