FR3045259A1 - Procede de consultation de l'etat d'une ressource d'un appareil electronique, programme d'ordinateur et entite electronique associes et appareil electronique equipe d'une telle entite electronique - Google Patents

Procede de consultation de l'etat d'une ressource d'un appareil electronique, programme d'ordinateur et entite electronique associes et appareil electronique equipe d'une telle entite electronique Download PDF

Info

Publication number
FR3045259A1
FR3045259A1 FR1562379A FR1562379A FR3045259A1 FR 3045259 A1 FR3045259 A1 FR 3045259A1 FR 1562379 A FR1562379 A FR 1562379A FR 1562379 A FR1562379 A FR 1562379A FR 3045259 A1 FR3045259 A1 FR 3045259A1
Authority
FR
France
Prior art keywords
inf
electronic entity
electronic
host controller
resource
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1562379A
Other languages
English (en)
Other versions
FR3045259B1 (fr
Inventor
Santos Elder Dos
Damien Lieupart
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Idemia France SAS
Original Assignee
Oberthur Technologies SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oberthur Technologies SA filed Critical Oberthur Technologies SA
Priority to FR1562379A priority Critical patent/FR3045259B1/fr
Publication of FR3045259A1 publication Critical patent/FR3045259A1/fr
Application granted granted Critical
Publication of FR3045259B1 publication Critical patent/FR3045259B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Un 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) comprend les étapes suivantes : - réception, par l'entité électronique (EE), d'une trame d'activation d'une interface de communication (I) reliant l'entité électronique (EE) et le contrôleur d'hôtes (HC), ladite trame contenant une information d'état de la ressource (S, K) ; - mémorisation de l'information d'état de la ressource (S, K) dans l'entité électronique (EE). Une entité électronique associée, un programme d'ordinateur associé et un appareil électronique équipé d'une telle entité électronique sont également proposés.

Description

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 Spécification v2.2 - Amendment C”, version 1.1 (avril 2013), au moyen d’une interface de programmation intitulée getHostDeviœUserlnterfaœState.
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 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é é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 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 protocol·', 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 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é ; - 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 à 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 ; - 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 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 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; - 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 œuvre un procédé tel que proposé ci-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 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 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é é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 œuvre la fonctionnalité offerte par le module. 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 et/ou à cet appareil électronique.
Description detaillee d’un exemple de réalisation
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.
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 - 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 œuvre l’invention. L’appareil électronique est ici un terminal de communication dont 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 notamment une interface utilisateur mise en œuvre 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 œuvre 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. L’appareil électronique comprend également un module sans contact CLF (parfois dénommé par l’appellation anglo-saxonne "ContactLess Front-encf') 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 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 contrôliez selon la terminologie anglaise), hébergé ici au sein du module 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 entité électronique EE, ici une entité électronique sécurisée ou élément sécurisé (en anglais : "secure elemenf). 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 Elément'. L’élément sécurisé pourrait être en variante une carte à microcircuit, par exemple une carte à microcircuit universelle ou UICC (pour "Universal Integrated Circuit Card'). Il pourrait s’agir notamment aussi d’une carte à microcircuit universelle intégrée (typiquement soudée) à l’appareil électronique ou eUlCC 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 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 ISO15408), par exemple un niveau EAL4+ (VAN5) ou supérieur, et/ou un niveau supérieur à 3 selon la norme FIPS 140-2 (pour "Fédéral 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 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. 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. 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 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 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 U ART (« Universal Asynchronous Receiver Transmitter » en anglais), de type I2C (« 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 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.
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 é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 : - 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) ; - 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 spécifiques) ; - mode émulation de carte (en anglais "card émulation"), 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 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 S WP).
La figure 2 représente un exemple de procédé mis en œuvre 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 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 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 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 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 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 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 suivantes : - ‘00’ signifiant un état de disponibilité inconnu ; - ΌΤ 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 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 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 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 é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.
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 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é).
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 œuvre diverses étapes d’initialisation de son fonctionnement, notamment le lancement de 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 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 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 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) 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).
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 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.)
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. 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 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 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 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 : "subséquent activation") de l’interface de communication I, auquel cas les é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 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 binaire) : OHxxabc, 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 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).
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.
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 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.
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é é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 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 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é é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. 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 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 getHostDeviœUserlnterfaœState). 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 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 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). 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 Numbet1').
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 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 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 "SIM Toolkif ou bien, par exemple, de type EVT_TRANSACTION conformément à l’interface HCl (« 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 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.
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 à 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. 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 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 œuvre entre le dispositif externe EXT, le module sans contact CLF et l’entité électronique EE, jusqu’à ce 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 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 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.
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 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 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.

Claims (14)

  1. REVENDICATIONS
    1. 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. 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. 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. 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. 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. 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. 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. 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).
  9. 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 état indéfini.
  10. 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. 11. Procédé de consultation selon l’une des revendications 1 à 10, dans lequel l’entité électronique (EE) est un élément sécurisé.
  12. 12. Programme d’ordinateur comprenant des instructions exécutables par un processeur et conçues pour mettre en œuvre 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. 13. Entité électronique (EE) conçue pour équiper un appareil é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 ressource (S, K) ; et - un module (MEM) de mémorisation de l’information (INF) d’état de la ressource (S, K).
  14. 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.
FR1562379A 2015-12-15 2015-12-15 Procede de consultation de l'etat d'une ressource d'un appareil electronique, programme d'ordinateur et entite electronique associes et appareil electronique equipe d'une telle entite electronique Active FR3045259B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1562379A FR3045259B1 (fr) 2015-12-15 2015-12-15 Procede de consultation de l'etat d'une ressource d'un appareil electronique, programme d'ordinateur et entite electronique associes et appareil electronique equipe d'une telle entite electronique

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1562379 2015-12-15
FR1562379A FR3045259B1 (fr) 2015-12-15 2015-12-15 Procede de consultation de l'etat d'une ressource d'un appareil electronique, programme d'ordinateur et entite electronique associes et appareil electronique equipe d'une telle entite electronique

Publications (2)

Publication Number Publication Date
FR3045259A1 true FR3045259A1 (fr) 2017-06-16
FR3045259B1 FR3045259B1 (fr) 2018-01-12

Family

ID=56068969

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1562379A Active FR3045259B1 (fr) 2015-12-15 2015-12-15 Procede de consultation de l'etat d'une ressource d'un appareil electronique, programme d'ordinateur et entite electronique associes et appareil electronique equipe d'une telle entite electronique

Country Status (1)

Country Link
FR (1) FR3045259B1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140036723A1 (en) * 2010-12-15 2014-02-06 Pierre Rizzo Method and device for managing information exchange between a main element, for example a nfc controller, and a set of at least two auxiliary elements

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140036723A1 (en) * 2010-12-15 2014-02-06 Pierre Rizzo Method and device for managing information exchange between a main element, for example a nfc controller, and a set of at least two auxiliary elements

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Smart Cards; UICC - Contactless Front-end (CLF) Interface; Host Controller Interface (HCI) (Release 12)", TECHNICAL SPECIFICATION, EUROPEAN TELECOMMUNICATIONS STANDARDS INSTITUTE (ETSI), 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS ; FRANCE, vol. SCP TEC, no. V12.1.0, 1 October 2014 (2014-10-01), XP014223302 *
"Smart Cards; UICC - Contactless Front-end (CLF) Interface; Part 1: Physical and data link layer characteristics (Release 11)", TECHNICAL SPECIFICATION, EUROPEAN TELECOMMUNICATIONS STANDARDS INSTITUTE (ETSI), 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS ; FRANCE, vol. SCP TEC, no. V11.0.0, 1 September 2012 (2012-09-01), XP014075037 *

Also Published As

Publication number Publication date
FR3045259B1 (fr) 2018-01-12

Similar Documents

Publication Publication Date Title
EP2735969B1 (fr) Ensemble électronique comprenant un module de desactivation
WO2008129225A1 (fr) Procédé de communication et de transmission d'un message concernant une transaction d'une application sans contact, terminal, module sécurisé et système associés
EP3308564B1 (fr) Procédé de chargement d'une clé virtuelle et terminal utilisateur associé
WO2011039123A1 (fr) Procede, systeme et dispositif d'adaptation permettant un echange de donnees entre un objet de communication et une unite de traitement
EP3087543B1 (fr) Transmission et traitement de données relatives a une transaction sans contact
WO2022162289A1 (fr) Procédé et dispositif d'adaptation d'une communication en champ proche
FR2945143A1 (fr) Procede et systeme d'activation d'applications de paiement sans contact
EP3154284B1 (fr) Procédé d'appairage dans un dispositif périphérique et dans un terminal de communication, dispositifs et programme correspondants
FR3045259A1 (fr) Procede de consultation de l'etat d'une ressource d'un appareil electronique, programme d'ordinateur et entite electronique associes et appareil electronique equipe d'une telle entite electronique
EP3193295A1 (fr) Contrôle d'applications dans un terminal mobile
EP3177998B1 (fr) Procédé de consultation de l'état d'une ressource d'un appareil électronique, entité électronique associée et appareil électronique équipé d'une telle entité électronique
EP1988498A2 (fr) Procédé et système d'échange de données reservées à un utilisateur
EP4198791B1 (fr) Transaction nfc
EP4198792B1 (fr) Transaction nfc
EP2736275B1 (fr) Module électronique pour rendre un message accessible par un sytème d'exploitation visé
EP4399603A1 (fr) Execution amelioree d'une operation dans un element securise
FR3133284A1 (fr) procédé de gestion du mode de déverrouillage d’un objet.
EP3414883B1 (fr) Procédé d'administration d'un canal de communication entre deux composants hotes d'un dispositif mobile nfc
EP4198790A1 (fr) Transaction nfc
WO2015144635A2 (fr) Procédé d'activation et de désactivation d'une application dans un terminal de télécommunications comprenant un element sécurisé et un lecteur biométrique et serveur correspondant
FR3037753A1 (fr) Procede et systeme ameliores de selection d'une application par defaut dans un element securise
EP4395187A1 (fr) Protection d'une transaction
FR3037685A1 (fr) Procede et systeme ameliores de selection implicite d'une application dans un element securise, a partir d'un message recu
FR3119284A1 (fr) Procédé et dispositif de transfert de données en champ proche.
FR2944123A1 (fr) Carte a mirocircuit comportant un microcontroleur dont un registre memorise une information de presence ou d'absence d'un composant dans la carte a microcircuit.

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20170616

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 5

CA Change of address

Effective date: 20200826

CJ Change in legal form

Effective date: 20200826

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9