Brevet FR3045259A1 — publié le 20170616

DOMAINE TECHNIQUE AUQUEL SE RAPPORTE L'INVENTION La présente invention concerne l'utilisation d'une ressource d'un appareil électronique par une entité électronique équipant cet appareil électronique. Elle concerne plus particulièrement un procédé de consultation de l'état d'une ressource d'un appareil électronique, un programme d'ordinateur et une entité électronique associés, ainsi qu'un appareil électronique équipé d'une telle entité électronique. L'invention s'applique particulièrement avantageusement dans le cas où l'appareil électronique est également équipé d'un module sans contact et où l'entité électronique peut commander le module sans contact et échanger des données, par l'intermédiaire du module sans contact, avec un processeur de l'appareil électronique. ARRIERE-PLAN TECHNOLOGIQUE Afin de pouvoir échanger des données entre un appareil électronique et un dispositif extérieur avec la possibilité d'utiliser certains protocoles cryptographiques (par exemple de chiffrement ou d'authentification), il est connu d'équiper l'appareil électronique d'un module sans contact (par exemple de type NFC) et d'une entité électronique, généralement sécurisée, telle qu'une carte à microcircuit. On prévoit généralement dans ce type d'architecture que l'entité électronique soit activée et prenne le contrôle du module sans contact lorsqu'une communication est établie via la liaison sans contact, par exemple lorsque l'appareil électronique est approché d'un lecteur. Dans le cadre de son fonctionnement, l'entité électronique peut alors chercher à utiliser certaines ressources de l'appareil électronique, par exemple l'interface utilisateur. L'application exécutée par l'entité électronique peut en effet vouloir communiquer un message à l'utilisateur et/ou recevoir une information de l'utilisateur (tel qu'un code PIN). Il a de ce fait été prévu que l'entité électronique puisse obtenir des informations sur l'état de la ressource qu'elle cherche à utiliser, par exemple, dans le document "GlobalPlatform Card, Contactless Services, Card Specification v2.2 - Amendment C", version 1.1 (avril 2013), au moyen d'une interface de 3045259 2 programmation intitulée getHostDeviceUserl nterfaceState. OBJET DE L'INVENTION Dans ce contexte, la présente invention propose un procédé de consultation de l'état d'une ressource d'un appareil électronique équipé d'un 5 contrôleur d'hôtes et d'une entité électronique, comprenant les étapes suivantes : - réception, par l'entité électronique, d'une trame d'activation d'une interface de communication reliant l'entité électronique et le contrôleur d'hôtes, ladite trame contenant une information d'état de la ressource ; - mémorisation de l'information d'état de la ressource dans l'entité 10 électronique. L'information d'état de la ressource est ainsi transmise à l'entité électronique dès la mise en place de l'interface de communication entre le contrôleur d'hôtes (associé par exemple à un module sans contact) et l'entité électronique, de sorte qu'elle est immédiatement disponible au cas où une 15 application cherche à connaître l'état de la ressource. Grâce à l'utilisation d'une trame d'activation (par exemple conforme au protocole ACT, ou "ACTivation protocot', défini dans la spécification technique ETSI 102 613) durant la phase d'activation initiale ou de ré-activation de l'interface, la transmission de l'information d'état de la ressource est par ailleurs 20 rapide et ne requiert pas plusieurs échanges entre le module sans contact et l'entité électronique. Selon des caractéristiques optionnelles, et donc non limitatives : - le contrôleur d'hôtes est hébergé au sein du module sans contact précité ; 25 - la trame d'activation fait partie de trames échangées entre le module sans contact et l'entité électronique pour activer l'interface de communication, par exemple en conséquence de l'établissement (ici au moyen du module sans contact précité) d'une liaison sans fil avec un dispositif externe ou, en variante, à réception d'une requête dédiée émise par un processeur de l'appareil électronique 30 à destination de l'entité électronique ; - la trame d'activation est émise par le contrôleur d'hôtes (c'est-à-dire ici par le module sans contact) ; - le procédé comprend une étape préalable de réception de l'information d'état en provenance d'un processeur de l'appareil électronique ; 3045259 3 - le procédé comprend une étape de réception, par l'entité électronique et via l'interface de communication activée, d'une commande de sélection d'une application ; - le procédé comprend, du fait de l'exécution d'une telle application par 5 un processeur de l'entité électronique, une étape de lecture de l'information d'état mémorisée et une étape d'utilisation de l'information d'état lue ; - le procédé comprend une étape d'émission, par l'application, d'une réponse dépendant de l'information d'état lue ; - le procédé comprend, après désactivation de l'interface de 10 communication, une étape d'écriture, en mémoire de l'entité électronique, en remplacement de l'information mémorisée, d'une information désignant un état indéfini ; - la ressource est une interface utilisateur de l'appareil électronique, tel qu'un écran (éventuellement tactile) ou un clavier par exemple; 15 - l'entité électronique est un élément sécurisé, par exemple un élément sécurisé intégré à l'appareil électronique ou une carte à microcircuit. L'invention propose aussi un programme d'ordinateur comprenant des instructions exécutables par un processeur (tel qu'un processeur de l'entité électronique) et conçues pour mettre en oeuvre un procédé tel que proposé ci-20 dessus lorsque ces instructions sont exécutées par le processeur. L'invention propose également une entité électronique conçue pour équiper un appareil électronique comprenant un contrôleur d'hôtes (associé par exemple à un module sans contact) et offrant une ressource, l'entité électronique comprenant un module de réception d'une trame d'activation d'une interface de 25 communication reliant l'entité électronique et le contrôleur d'hôtes, ladite trame contenant une information d'état de la ressource ; et un module de mémorisation de l'information d'état de la ressource. Une telle entité électronique peut comprendre en outre un processeur conçu pour exécuter une partie au moins d'une application ; et/ou un mécanisme 30 d'appel d'une interface de programmation conçue pour lire ladite information d'état de la ressource mémorisée, le mécanisme d'appel de l'interface de programmation étant activé du fait de l'exécution de l'application. Ces modules peuvent en pratique être réalisés par une combinaison d'éléments matériels et d'éléments logiciels. Ainsi, pour chaque module, l'entité 3045259 4 électronique mémorise par exemple des instructions de logiciel exécutables par le processeur de l'entité électronique afin d'utiliser un élément matériel (par exemple un circuit de communication ou une mémoire) et de mettre ainsi en oeuvre la fonctionnalité offerte par le module. 5 L'invention propose en outre un appareil électronique offrant une ressource et équipé d'un contrôleur d'hôtes et d'une entité électronique telle que mentionnée ci-dessus. Les caractéristiques optionnelles proposées ci-dessus relativement au procédé de consultation peuvent également s'appliquer à cette entité électronique 10 et/ou à cet appareil électronique. DESCRIPTION DETAILLEE D'UN EXEMPLE DE REALISATION La description qui va suivre en regard des dessins annexés, donnés à titre d'exemples non limitatifs, fera bien comprendre en quoi consiste l'invention et comment elle peut être réalisée. 15 Sur les dessins annexés : - la figure 1 représente les éléments principaux d'un appareil électronique utilisés dans le cadre de l'invention ; - la figure 2 représente, sous forme de logigramme, un exemple de procédé conforme à l'invention ; et 20 - la figure 3 est un logigramme présentant la suite du procédé de la figure 2. La figure 1 représente schématiquement les éléments principaux d'un appareil électronique dans lequel peut être mise en oeuvre l'invention. L'appareil électronique est ici un terminal de communication dont 25 certaines fonctionnalités (notamment des fonctionnalités de communication sur un réseau de télécommunications) sont gérées par un processeur T. Le processeur T est par exemple un microcontrôleur qui comprend un microprocesseur et une ou plusieurs mémoire(s). Dans le cadre du fonctionnement du terminal, le processeur T gère 30 notamment une interface utilisateur mise en oeuvre au moyen d'un écran S et d'un clavier K. On pourrait en variante utiliser un autre type d'interface utilisateur, par exemple mise en oeuvre par un écran tactile. L'interface utilisateur pourrait par ailleurs comprendre, en plus ou au lieu des éléments susmentionnés, un haut-parleur et un microphone. 3045259 5 L'appareil électronique comprend également un module sans contact CLF (parfois dénommé par l'appellation anglo-saxonne "ContactLess Front-end') conçu pour établir, au moyen notamment d'un antenne ANT, une liaison sans fil, ici de courte portée, avec un dispositif externe, généralement équipé d'un module 5 sans contact du même type. La liaison sans fil établie permet des échanges de données entre l'appareil électronique et le dispositif externe. Il s'agit par exemple d'une liaison de type NFC. L'appareil électronique comprend également un contrôleur d'hôtes HC (ou "host controller" selon la terminologie anglaise), hébergé ici au sein du module 10 sans contact CLF. En variante, le contrôleur d'hôtes HC pourrait être situé dans un autre circuit de l'appareil électronique. Dans une autre variante, encore, le contrôleur d'hôte pourrait se situer dans l'entité électronique EE (dans un circuit dédié). On décrit plus bas les fonctionnalités de ce contrôleur d'hôtes HC. Afin de sécuriser ces échanges, l'appareil électronique comprend une 15 entité électronique EE, ici une entité électronique sécurisée ou élément sécurisé (en anglais : "secure element"). L'élément sécurisé utilisé ici est un élément sécurisé intégré (typiquement soudé) à l'appareil électronique ou eSE pour "embedded Secure Elemenf'. L'élément sécurisé pourrait être en variante une carte à microcircuit, par exemple une carte à microcircuit universelle ou UICC 20 (pour 'Uni versai Integrated Circuit Card'). Il pourrait s'agir notamment aussi d'une carte à microcircuit universelle intégrée (typiquement soudée) à l'appareil électronique ou eUICC pour "embedded Universal Integrated Circuit Card'. De manière générale, un tel élément sécurisé est conçu, du fait de sa construction physique et de la conception des programmes d'ordinateur qu'elle 25 mémorise, de façon à rendre très difficile, voire impossible, pour un attaquant l'accès (par lecture et/ou modification) aux données confidentielles qu'elle mémorise. Ainsi, un tel élément sécurisé a par exemple un niveau d'assurance EAL supérieur à 4 au sens des Critères Communs (norme IS015408), par exemple un niveau EAL4+ (VANS) ou supérieur, et/ou un niveau supérieur à 3 30 selon la norme FIPS 140-2 (pour "Federal Information Processing Standard'). L'entité électronique EE comprend elle-aussi un microprocesseur et des mémoires associées à ce microprocesseur (par exemple une mémoire vive et une mémoire non-volatile réinscriptible). Une au moins de ces mémoires (ici la mémoire non-volatile réinscriptible) mémorise des instructions de divers 3045259 6 programmes d'ordinateur (notamment ici un système d'exploitation OS, une interface de programmation API et une application APPL, ou applet). L'entité électronique EE met en oeuvre des procédés, notamment ceux décrits ci-dessous, du fait de l'exécution de ces instructions par son microprocesseur. 5 L'entité électronique EE et le module sans contact CLF, au sein duquel se trouve ici le contrôleur d'hôtes HC, sont reliés au moyen d'une interface de communication I (utilisant ici une liaison filaire sur laquelle est utilisée une communication série), par exemple de type SWP (pour "Single Wire Protocol"), et peuvent ainsi échanger des données ou commandes, comme décrit plus bas. 10 Cette interface de communication I est par exemple conforme à la spécification ETSI TS 102 613 version 11.0.0. Dans ce cadre, la liaison filaire est réalisée entre un contact SWIO du module sans contact CLF et un contact C6 de l'entité électronique EE. Comme expliqué plus en détail ci-dessous, l'interface de communication 15 I est (automatiquement) déclenchée ou mise en place (c'est-à-dire activée) par le contrôleur d'hôtes HC lorsque le module sans contact CLF établit, par exemple, une liaison sans fil avec un dispositif externe EXT. L'interface I pourrait tout aussi bien, dans d'autres exemples d'application, être déclenchée ou mise en place (au sens décrit ci-dessus) par le contrôleur d'hôtes HC lorsque le terminal ou bien 20 l'entité électronique EE requiert une sollicitation entre eux à l'initiative de l'un ou de l'autre. Le processeur T du terminal et le module sans contact CLF sont eux aussi connectés au moyen d'une liaison filaire, par exemple de type UART (« Universal Asynchronous Receiver Transmitter » en anglais), de type I2C 25 (« Inter Integrated Circuit » en anglais) ou de type SPI (« Serial Peripheral Interface » en anglais). Alternativement, il peut s'agir d'une liaison de type SWP. Dans certaines configurations, l'entité électronique EE et le processeur T peuvent être directement reliés par une liaison filaire, par exemple de type ISO (représentée en pointillés en figure 1). Cette liaison n'est toutefois pas utilisée 30 dans l'exemple présenté ici et ne sera donc pas décrite plus avant. Le contrôleur d'hôtes HC fait office de routeur entre les différents éléments de l'appareil électronique présentés ci-dessus, à savoir le processeur T, le module sans contact CLF et l'entité électronique EE. Ces éléments sont vus comme des hôtes pour le contrôleur d'hôtes. 3045259 7 Le contrôleur d'hôtes HC permet de mettre en place des canaux de communication (ou tubes de communication, en anglais "pipes) entre les différents hôtes (ou éléments) de l'appareil électronique, entre différents hôtes de l'appareil électronique et l'entité électronique, voire entre un hôte de l'appareil 5 électronique et une entité extérieure (lecteur ou carte sans contact ayant établi une liaison sans contact avec le module sans contact CLF) ou bien encore entre un hôte de l'entité électronique et une entité extérieure. Le contrôleur d'hôtes permet par exemple les modes de fonctionnement suivants : 10 - lien ISO entre le processeur T et l'entité électronique EE en vue d'échanges bidirectionnels entre le processeur T et l'entité électronique EE (ce lien pouvant soit utiliser une liaison ISO physique présente entre l'entité électronique EE et le processeur T comme mentionné ci-dessus, soit émuler une telle liaison ISO lorsque la liaison filaire n'est pas présente) ; 15 - mode dit "connectivité" (en anglais "connectivity) dans lequel l'entité électronique EE peut émettre des instructions ou données à destination du processeur T (échanges monodirectionnels en partance de l'entité électronique EE vers le processeur T sans que ce dernier ne puisse répondre directement aux sollicitations reçues, ou échanges bidirectionnels pour certaines commandes 20 spécifiques) ; - mode émulation de carte (en anglais "'card emulation"), dans lequel l'entité électronique EE peut échanger avec un lecteur connecté au module sans contact CLF via la liaison sans fil ; - mode lecteur (en anglais "reader"), dans lequel l'entité électronique EE 25 peut échanger avec une carte sans contact connectée au module sans contact CLF via la liaison sans fil. Le contrôleur d'hôtes HC est, par exemple, conforme à la spécification ETSI TS 102 622. Le contrôleur d'hôtes HC gère en outre la liaison physique avec l'entité électronique EE (ici de type SWP). 30 La figure 2 représente un exemple de procédé mis en oeuvre notamment au sein de l'appareil électronique conformément à l'invention. Le procédé débute à l'étape E2 au cours de laquelle l'état de l'interface utilisateur S, K du terminal est modifié. Une telle modification est par exemple due à un verrouillage ou à un déverrouillage du clavier K et/ou de l'écran S (ce 3045259 8 verrouillage ou ce déverrouillage pouvant être effectué sur instruction de l'utilisateur du terminal). Le processeur T du terminal émet alors à l'étape E4 une information INF indicative du nouvel état de l'interface utilisateur S, K à destination du module 5 sans contact CLF. On prévoit en effet ici que le processeur T du terminal informe (automatiquement) le module sans contact de tout changement d'état de l'interface utilisateur S, K du terminal. En variante, le moyen d'information, par le processeur T, de l'état de l'interface utilisateur S, K peut être réalisé différemment : dans d'autre modes de 10 réalisation, le contrôleur d'hôtes HC peut aller interroger directement le processeur T pour obtenir en réponse ledit état de l'interface utilisateur ou, plus simplement, l'état du terminal (éteint, allumé, ou veille). Selon un mode de réalisation, par exemple, le contrôleur d'hôtes HC interroge directement le processeur du T du terminal concernant l'état de 15 l'interface utilisateur après détection d'un champ magnétique par le module sans contact CLF et avant la phase d'activation de la ligne I. Selon un autre mode de réalisation, par exemple, le contrôleur d'hôtes HC lance directement une interrogation du processeur T du terminal concernant l'état de l'interface utilisateur après réception de la trame ACT RDY mentionnée plus bas. Selon un autre mode 20 encore, le contrôleur d'hôtes HC interroge l'état du terminal (éteint, allumé, ou veille) et, en fonction de l'état du terminal précédemment récupéré (par exemple allumé ou veille), interroge ou non par la suite l'état de l'interface utilisateur (ce qui permet une granularité dans les informations recueillies). On remarque par ailleurs que des informations sur différentes parties de 25 l'interface utilisateur peuvent être ainsi envoyées, par exemple une information relative à la disponibilité éventuelle de l'écran S et une information relative à la disponibilité éventuelle du clavier K. Typiquement, chaque information indique si la partie concernée de l'interface utilisateur est disponible ou indisponible. L'information INF peut par exemple prendre l'une des cinq valeurs 30 suivantes : - '00' signifiant un état de disponibilité inconnu ; - '01' signifiant que l'interface utilisateur est complètement disponible (l'écran S est actif et l'exécution d'instructions sur le processeur T peuvent permettre l'affichage d'un message destiné à l'utilisateur sur l'écran S et/ou 3045259 9 demander une saisie à l'utilisateur) ; - '02' signifiant que l'interface utilisateur est bloquée et que l'utilisateur ne peut pas être informé ; - '03' signifiant que l'interface utilisateur est bloquée et que l'utilisateur 5 peut être informé ; - '04' signifiant que l'interface utilisateur n'est pas bloquée mais que l'utilisateur ne peut pas être informé. Le module sans contact CLF reçoit l'information INF indicative de l'état de l'interface utilisateur à l'étape E6 et mémorise cette information INF (par 10 exemple dans une mémoire vive équipant le module sans contact CLF) à l'étape E8. Les étapes E2 à E8 sont répétées dès qu'intervient un changement d'état de l'interface utilisateur S, K du terminal. On considère alors qu'une liaison sans contact s'établit entre l'appareil 15 électronique et un dispositif externe EXT (tel qu'un lecteur NFC), par exemple suite au rapprochement de l'appareil électronique et du dispositif externe EXT de sorte que l'antenne ANT entre dans une zone d'action d'un champ magnétique produit par le dispositif externe EXT comme schématiquement représenté par l'étape E10. 20 Le couplage magnétique entre le dispositif externe EXT et l'antenne ANT, qui permet l'établissement de la liaison sans fil, est détecté par le module sans contact CLF à l'étape E12. Le contrôleur d'hôtes HC hébergé par le module sans contact CLF transmet alors à l'étape E14 un signal indiquant le début d'une session sans 25 contact à l'entité électronique EE. Ce signal est par exemple l'activation par le contrôleur d'hôtes HC du contact SWIO (porté ici par le module sans contact CLF), c'est-à-dire l'application (par le module sans contact CLF) d'une tension non-nulle sur ce contact SWIO (par rapport à un potentiel de référence appliquée sur un contact de référence non représenté). 30 Ce signal est reçu à l'étape E16 par l'entité électronique EE (précisément ici au niveau de son contact C6). L'entité électronique EE a par exemple été mise sous tension au préalable (soit sous la commande du contrôleur d'hôtes HC, soit sous la commande d'un autre circuit du terminal) et a ainsi pu mettre en oeuvre diverses étapes d'initialisation de son fonctionnement, notamment le lancement de 3045259 10 l'exécution de son système d'exploitation OS. L'entité électronique EE (du fait de l'exécution du système d'exploitation OS) peut alors émettre, en réponse au signal indicatif du début de session sans contact et donc à destination du contrôleur d'hôtes HC situé dans le module sans 5 contact CLF, une première trame d'activation ACT(SYNC) contenant des données de vérification (étape E18). Le contrôleur d'hôtes HC gère la réception de la première trame d'activation ACT(SYNC) contenant les données de vérification à l'étape E20 et peut ainsi vérifier l'identité de l'entité électronique EE, par exemple en comparant 10 les données de vérification reçues à des données de référence mémorisées au sein du module sans contact CLF. On décrit ici le cas où cette vérification se déroule avec succès (les échanges entre le module sans contact CLF et l'entité électronique EE, en particulier l'étape E30, n'étant pas effectués comme indiqué ci-dessous dans le 15 cas où la vérification conduit à un échec). Le contrôleur d'hôtes HC gère alors l'émission à destination de l'entité électronique d'une seconde trame d'activation ACT(MODE), contenant une indication du mode de puissance à utiliser par l'entité électronique EE (étape E22). L'entité électronique EE reçoit la seconde trame d'activation ACT(MODE) 20 contenant l'indication du mode de puissance à l'étape E24 et peut ainsi adapter son fonctionnement en fonction de l'indication reçue. L'entité électronique EE émet alors à destination du module sans contact CLF une troisième trame d'activation ACT(RDY), indicative de la réussite de l'activation de l'interface I (étape E26). 25 Cette troisième trame d'activation ACT(RDY) est reçue par le contrôleur d'hôtes HC à l'étape E28. On propose ici que le contrôleur d'hôtes HC, hébergé ici dans le module sans contact CLF, émette alors à destination de l'entité électronique EE une quatrième trame d'activation ACT(INF) contenant l'information INF indicative de 30 l'état de l'interface utilisateur S, K du terminal (étape E30). (On rappelle que cette information INF a été mémorisée au sein du module sans contact CLF à l'étape E8. Si l'information INF n'avait jamais été mise à jour à l'étape E8, l'information INF mémorisée dans le module sans contact CLF désignerait un état indéfini de l'interface utilisateur.) 3045259 11 La quatrième trame d'activation ACT(INF) contenant l'information INF indicative de l'état de l'interface utilisateur S, K du terminal est reçue par l'entité électronique EE (sur laquelle s'exécute le système d'exploitation OS) à l'étape E32. 5 L'entité électronique EE peut ainsi commander à l'étape E34 la mémorisation de l'information INF indicative de l'état de l'interface utilisateur S, K du terminal dans une mémoire MEM de l'entité électronique EE (par exemple une mémoire vive ou, en variante, une mémoire non-volatile réinscriptible), où cette information INF sera accessible par appel de l'interface de programmation API 10 comme décrit plus loin. La mémorisation de l'information INF dans la mémoire MEM est représentée à l'étape E35. Comme cela ressort de ce qui précède, la trame ACT(INF) contenant l'information INF indicative de l'état de l'interface utilisateur S, K du terminal fait partie de trames (dites trames d'activation) échangées entre le module sans 15 contact CLF et l'entité électronique EE, ici en conséquence de l'établissement, par le module sans contact CLF, d'une liaison sans fil avec un dispositif externe EXT. Comme indiqué par exemple dans la spécification ETSI TS 102 613 susmentionnée, de telles trames sont échangées en vue de l'activation (ou mise en place) de l'interface de communication I reliant l'entité électronique EE et le 20 contrôleur d'hôtes HC. Dans le mode de réalisation décrit ici, cette activation est une activation initiale de l'interface de communication I. En variante, il pourrait s'agir d'une activation ultérieure (en anglais : "subsequent activation") de l'interface de communication I, auquel cas les 25 échanges relatifs à la seconde trame ACT(MODE) et à la troisième trame ACT(RDY), qui correspondent aux étapes E22 à E28 décrites ci-dessus, seraient omis. Conformément à la spécification ETSI TS 102 613 susmentionnée et au protocole ACT décrit dans cette spécification, les trames d'activation (ou ACT 30 LPDU pour "Activation Link Protocol Data Unit", c'est-à-dire "unité de données du protocole de liaison relative à l'activation") contiennent un champ de commande (en anglais : "control field') codé sur un octet, suivi de données annexées (dont la longueur et la signification dépendent du champ de commande). Le champ de commande des trames d'activation a la forme suivante (en 3045259 12 binaire) : 011xxabc, où abc (c'est-à-dire les trois bits de poids faible du champ de commande), définis comme ACT_CTRL dans la spécification susmentionnée, définissent le type de la trame d'activation concernée : - abc = 000 pour une trame de réussite (trame ACT(RDY) mentionnée 5 plus haut) ; - abc = 001 pour une trame contenant des données de vérification (trame ACT(SYNC) mentionnée plus haut) ; - abc = 010 pour une trame contenant une indication du mode de puissance (trame ACT(MODE) mentionnée plus haut). 10 On propose ici d'utiliser une autre valeur des trois bits abc (c'est-à-dire du paramètre ACT_CTRL), par exemple la valeur binaire 011, pour désigner une trame d'activation contenant l'information INF indicative de l'état de l'interface utilisateur S, K du terminal, telle que la quatrième trame d'activation ACT(INF) mentionnée ci-dessus. 15 Indépendamment de l'activation de l'interface de communication I, le dispositif extérieur EXT transmet à l'étape E36 (via la liaison sans fil) une commande CMD de sélection (et de lancement) de l'application (ou appel) APPL, cette commande étant reçue au moyen du module sans contact CLF. Une telle commande est par exemple une commande de type APDU (pour "Application 20 Protocol Data Unit"). Une fois l'interface de communication I mise en place entre le module sans contact CLF et l'entité électronique EE, le module sans contact CLF (ici au moyen du contrôleur d'hôtes HC) peut transmettre à l'étape E38 la commande reçue à l'entité électronique EE. 25 Cette commande est reçue à l'étape E40 par l'entité électronique EE (sur laquelle s'exécute toujours le système d'exploitation OS), ce qui provoque la sélection et le lancement de l'exécution de l'application APPL au sein de l'entité électronique EE (étape E42). L'exécution de l'application APPL par le microprocesseur de l'entité 30 électronique EE se poursuit, après son lancement de l'étape E42, par des étapes propres à cette application. De telles étapes comprennent par exemple l'émission à l'étape E44 d'une réponse de l'entité électronique EE au contrôleur d'hôtes HC (ici situé dans le module sans contact CLF) confirmant la sélection de l'application APPL, cette 3045259 13 réponse étant ensuite transmise du module sans contact CLF au dispositif extérieur EXT (étape E46) grâce au canal de communication établi par le contrôleur d'hôtes HC. Le dispositif extérieur reçoit la confirmation à l'étape E48 et peut ainsi 5 transmettre à l'étape E50 au module sans contact CLF, à destination de l'entité électronique EE des informations complémentaires COMPL (telles qu'un montant de transaction). Le module sans contact CLF (ici au moyen du contrôleur d'hôtes HC) transmet à l'étape E52 ces informations complémentaires COMPL à l'entité 10 électronique EE. L'entité électronique EE reçoit ces informations complémentaires COMPL à l'étape E56. La figure 3 est un logigramme présentant la suite du procédé de la figure 2. 15 L'exécution de l'application APPL se poursuit en effet jusqu'à l'étape E60 où l'application APPL consulte l'état de l'interface utilisateur (typiquement avant de demander à utiliser celle-ci). On considère par exemple ici que le montant de la transaction indiqué par les informations complémentaires COMPL est supérieur à un seuil qui nécessite la saisie d'un code PIN par l'utilisateur pour valider la 20 transaction. Pour ce faire, l'application APPL exécutée par le microprocesseur de l'entité électronique EE effectue à l'étape E60 un appel à l'interface de programmation API (par exemple une interface du type getHostDeviceUserinterfaceState). 25 L'interface de programmation API est donc alors exécutée par le microprocesseur de l'entité électronique (étape E62), commande à l'étape E64 la lecture en mémoire à l'étape E66 de l'information INF d'état de l'interface utilisateur (reçue à l'étape E32 et mémorisée à l'étape E35). L'information d'état INF lue en mémoire est ainsi transmise à l'étape E68 30 de la mémoire à l'interface de programmation API, qui reçoit cette information d'état INF à l'étape E70 et peut ainsi renvoyer (quasiment immédiatement) cette information INF d'état de l'interface utilisateur à l'application APPL (étape E72). L'application APPL reçoit à l'étape E74 l'information INF d'état de l'interface utilisateur et peut ainsi utiliser cette information INF dans les étapes 3045259 14 ultérieures de son fonctionnement. Le fait que cette information d'état INF est relative à un état légèrement antérieur (résultant de la modification de l'étape E2) n'est pas problématique vu la brièveté des sessions sans contact (moins de 200 ms). 5 L'application APPL peut par exemple ainsi déterminer à l'étape E76 si l'interface utilisateur S, K du terminal est ou non disponible pour la saisie d'un code PIN (pour "Personal Identification Number"). Par exemple, si l'information d'état INF indique que l'interface utilisateur n'est pas disponible (résultante N) pour la saisie d'un code PIN, l'application peut 10 renvoyer un message d'erreur ERR, relatif à la non correspondance entre le besoin de l'application et l'information INF reçue en provenance de l'API, au dispositif externe EXT via le module sans contact CLF (comme représenté aux étapes E78 et E80 de la figure 3). L'application APPL provoque donc l'émission d'une réponse (ERR) qui 15 dépend de l'information d'état INF lue à l'étape E70. S'il est déterminé à l'étape E76 que l'interface utilisateur est disponible (résultante P), l'application APPL émet par exemple à l'étape E82 une commande d'affichage DISP sur l'écran S d'un message demandant à l'utilisateur de saisir son code PIN. Une telle commande est par exemple de type "S1M Toolkit" ou bien, 20 par exemple, de type EVT_TRANSACTION conformément à l'interface HCI (« Host Control Interface » en terminologie anglaise, pour interface de contrôle d'hôte). Une telle commande est émise de l'entité électronique EE vers le processeur T via le contrôleur d'hôtes HC. La commande d'affichage DISP est reçue par le processeur T à l'étape 25 E84. Le processeur T provoque en conséquence à l'étape E86 l'affichage sur l'interface utilisateur (ici sur l'écran S) du message destiné à l'utilisateur et attend en retour (étape E88) la saisie d'informations (ici le code PIN) par l'utilisateur au moyen de l'interface utilisateur, ici au moyen du clavier K. 30 Le processeur T transmet alors à l'étape E90 les informations saisies (ici le code PIN) à l'entité électronique EE où est exécutée l'application APPL. L'application APPL reçoit de ce fait, à l'étape E92, les informations saisies et procède au traitement de ces informations à l'étape E94. Dans l'exemple décrit ici, ce traitement comprend la comparaison du code PIN saisi à 3045259 15 l'étape E88 et reçu à l'étape E92 à un code PIN de référence mémorisé au sein de l'entité électronique EE (typiquement dans une mémoire non-volatile, éventuellement réinscriptible de l'entité électronique EE). On considère ici le cas où cette comparaison est réalisée avec succès. 5 L'application APPL émet par exemple dans ce cas à l'étape E96 une commande d'affichage d'un message de succès à destination du processeur T. Le processeur T reçoit cette commande et provoque ainsi à l'étape E98 l'affichage du message de succès sur l'interface utilisateur, ici sur l'écran S. L'application APPL transmet par ailleurs à l'étape E100 le résultat de 10 l'étape de traitement E94 (par exemple ici le résultat de vérification du code PIN) à destination du dispositif externe EXT, via le contrôleur d'hôtes HC (étapes E102 et E104 en figure 3). D'autres échanges peuvent alors être mis en oeuvre entre le dispositif externe EXT, le module sans contact CLF et l'entité électronique EE, jusqu'à ce 15 que la liaison sans contact prenne fin à l'étape E108 (par exemple à réception d'une instruction dédiée du dispositif externe EXT ou en raison de l'éloignement de l'antenne ANT du dispositif externe EXT, ce qui rend impossible la poursuite des échanges). Le module sans contact CLF transmet alors à l'étape E110 un signal 20 informant l'entité électronique EE (et précisément le système d'exploitation OS exécuté sur cette entité électronique EE) de la désactivation de l'interface de communication I. L'entité électronique EE reçoit ce signal à l'étape E112. A réception de ce signal, l'entité électronique EE lance un processus, à l'étape E114, pour alors 25 initialiser/ré-initialiser l'information d'état INF à un état indéfini (étape E116) en remplacement de l'information d'état INF de l'interface utilisateur précédemment mémorisée à l'étape E35. On notera aussi que cette information d'état INF, lorsqu'il n'y a pas encore eut de transfert de sa valeur en provenance du CLF, est pré-positionnée par défaut à un état indéfini. 30 On remarque que l'information d'état INF de l'interface utilisateur S, K du terminal reprend ainsi une valeur désignant cet état comme indéfini à chaque clôture de session d'échanges entre, par exemple, un dispositif externe EXT et le module sans contact CLF, c'est-à-dire à chaque désactivation de l'interface de communication I entre le module sans contact CLF et l'entité électronique EE ou 3045259 16 plus généralement entre le contrôleur d'hôtes HC et l'entité électronique EE. En particulier, bien que cela ne soit pas représenté en figure 2 par souci de concision, les étapes E110 à E116 sont également mises en oeuvre à la désactivation de l'interface de communication I dans le cas où le procédé se 5 poursuit après l'étape E76 par les étapes E78 et E80. On s'assure ainsi que l'entité électronique EE ne mémorise pas une information d'état INF caduque, par exemple pour le cas où une application de l'entité électronique EE (par exemple une application n'impliquant pas le module sans contact CLF) ferait appel à l'interface de programmation API. 10 REVENDICATIONS1. Procédé de consultation de l'état d'une ressource (S, K) d'un appareil électronique équipé d'un contrôleur d'hôtes (HC) et d'une entité électronique (EE), comprenant les étapes suivantes : - réception (E32), par l'entité électronique (EE), d'une trame d'activation (ACT(INF)) d'une interface de communication (I) reliant l'entité électronique (EE) et le contrôleur d'hôtes (HC), ladite trame (ACT(INF)) contenant une information (INF) d'état de la ressource (S, K) ; - mémorisation (E34, E35) de l'information (INF) d'état de la ressource (S, K) dans l'entité électronique (EE). 2. Procédé de consultation selon la revendication 1, dans lequel la trame d'activation (ACT(INF)) fait partie de trames échangées entre le contrôleur d'hôtes (HC) et l'entité électronique (EE) pour activer l'interface de communication (I). 3. Procédé de consultation selon la revendication 1 ou 2, dans lequel le contrôleur d'hôtes (HC) est hébergé au sein d'un module sans contact (CLF). 4. Procédé de consultation selon l'une des revendications 1 à 3, dans lequel la trame d'activation (ACT(INF)) fait partie de trames échangées entre le contrôleur d'hôtes (HC) et l'entité électronique (EE) pour activer l'interface de communication (I) en conséquence de l'établissement d'une liaison sans fil avec un dispositif externe (EXT). 5. Procédé de consultation selon l'une des revendications 1 à 4, dans lequel, la trame d'activation (ACT(INF)) étant émise par le contrôleur d'hôtes (HC), le procédé comprend une étape préalable (E6) de réception de l'information d'état (INF) en provenance d'un processeur (T) de l'appareil électronique. 6. Procédé de consultation selon l'une des revendications 1 à 5, dans lequel la trame d'activation (ACT(INF)) est conforme au protocole ACT. 7. Procédé de consultation selon l'une des revendications 1 à 6, comprenant, du fait de l'exécution d'une application (APPL) par un processeur de l'entité électronique (EE), une séquence de lecture (E64, E66, E68, E70) de l'information d'état mémorisée (INF) et une étape d'utilisation (E76) de l'information d'état lue (INF). 8. Procédé de consultation selon la revendication 7, comprenant une étape d'émission, par l'application (APPL), d'une réponse (ERR) dépendant de l'information d'état lue (INF). 3045259 18 9. Procédé de consultation selon l'une des revendications 1 à 8, comprenant, après désactivation de l'interface de communication (I), une séquence (E114, E116) d'écriture, en mémoire (MEM) de l'entité électronique, en remplacement de l'information mémorisée (INF), d'une information désignant un 5 état indéfini. 10. Procédé de consultation selon l'une des revendications 1 à 9, dans lequel la ressource est une interface utilisateur (S, K) de l'appareil électronique. 11. Procédé de consultation selon l'une des revendications 1 à 10, dans lequel l'entité électronique (EE) est un élément sécurisé. 10 12. Programme d'ordinateur comprenant des instructions exécutables par un processeur et conçues pour mettre en oeuvre un procédé selon l'une des revendications 1, 2, 4 et 6 à 10 lorsque ces instructions sont exécutées par le processeur. 13. Entité électronique (EE) conçue pour équiper un appareil 15 électronique comprenant un contrôleur d'hôtes (HC) et offrant une ressource (S, K), l'entité électronique (EE) comprenant : - un module de réception d'une trame d'activation (ACT(INF)) d'une interface de communication (I) reliant l'entité électronique (EE) et le contrôleur d'hôtes (HC), ladite trame (ACT(INF)) contenant une information (INF) d'état de la 20 ressource (S, K) ; et - un module (MEM) de mémorisation de l'information (INF) d'état de la ressource (S, K). 14. Appareil électronique offrant une ressource (S, K) et équipé d'un contrôleur d'hôtes (HC) et d'une entité électronique (EE) selon la revendication 13. 25