Brevet FR2938094A1 — publié le 20100507

Clé USB dotée des fonctions de lecteur sans contact et d'émulation de carte à puce sans contact La présente invention concerne un objet électronique portable et communiquant, au format d'une clé USB, comportant plusieurs modes de fonctionnement, dont un mode de fonctionnement en lecteur de carte à puce sans contact et un mode de fonctionnement en émulation de carte à puce sans contact. Etat de la Technique Il existe aujourd'hui un grand nombre d'objets portables et communicants, 10 que la communication se fasse par l'intermédiaire de contacts ohmiques, ou sans contact au moyen d'une communication radio ou optique. Parmi ces objets portables, on connaît : - des dispositifs à carte à puce, comportant un microprocesseur et une mémoire accessible depuis l'extérieur du dispositif par l'intermédiaire d'un connecteur 15 de carte à puce, ou d'une interface de carte à puce sans contact. - des jetons ou clés avec ou sans contact, encore appelés � token � en terminologie anglo-saxonne, se comportant comme des cartes à puce avec ou sans contact. - des clés dites clés USB (pour � Universal Serial Bus � en terminologie 20 anglo-saxonne), pourvues d'un connecteur USB permettant la connexion à un dispositif hôte, et renfermant principalement une mémoire de masse, qui peut ainsi être utilisée, notamment, pour aisément transporter des fichiers de données d'un système hôte à un autre. Or les besoins des applications actuelles pour les objets portables 25 communicants subissent une augmentation et une diversification constantes, du fait notamment de la mobilité de leurs utilisateurs et du besoin de ceux-ci d'utiliser leurs objets portables communicants dans diverses applications, telles que les applications de transport, de paiement, de rechargement de cartes à puce en ligne, etc. On connaît par ailleurs un dispositif portable communicant sans contact, 30 comportant un connecteur USB relié à un microcontrôleur, lequel est connecté d'une part à une mémoire de masse, et d'autre part à un composant de carte à puce sans contact lui-même connecté à une antenne pour la communication avec un dispositif externe, tel qu'un lecteur de carte à puce sans contact. Ce dispositif présente donc, en supplément par rapport aux cartes à puce sans contact connues, un microcontrôleur pour gérer la connexion USB avec un système hôte tel qu'un ordinateur personnel, et une mémoire de masse. Dans le mode de fonctionnement sans contact de ce dispositif, seule la carte à puce est alimentée à travers l'antenne, et en mode de fonctionnement à contact, le microcontrôleur, la mémoire de masse et la carte à puce sont tous alimentés à travers la connexion USB. L'avantage d'un tel dispositif par rapport aux simples clés USB réside dans le fait qu'en mode connecté, il permet de faire communiquer la carte à puce sans contact, avec un système hôte tel qu'un ordinateur personnel, d'où la possibilité de conférer à ce dispositif une connectivité internet. Bien qu'il représente un progrès important par rapport aux simples clés USB préexistantes, ce dispositif comporte cependant un inconvénient, dans la mesure où il ne peut pas en tant que tel fonctionner comme un lecteur de carte pour lire une carte sans contact. Par ailleurs, les lecteurs de carte connus ne sont pas en mesure d'assurer une fonction d'émulation de carte à puce. Or certaines applications envisagées vont maintenant avoir besoin des deux fonctions, à savoir une fonction de lecture de carte à puce sans contact, et une fonction d'émulation de carte à puce, sur le même dispositif. Buts de l'invention Un but général de l'invention est de remédier aux inconvénients des dispositifs portables communicants de l'état de la technique. Un autre but plus spécifique de l'invention est de proposer un dispositif qui soit capable de fonctionner à la fois comme une carte à puce sans contact, et comme un lecteur sans contact capable d'interagir avec des cartes à puces sans contact externes, ou avec d'autres dispositifs à fonctionnement sans contact. Un autre but de l'invention est de proposer un dispositif qui soit peu encombrant, sensiblement de la taille des clés USB déjà connues, et d'un coût faible, bien inférieur au coût des lecteurs de cartes à puce connus. Résumé de l'invention Une différence importante du dispositif selon l'invention par rapport aux dispositifs connus réside dans la présence d'un composant permettant une communication sans contact de type NFC pour communiquer avec un objet sans contact tel qu'un téléphone mobile, ou un autre dispositif portable communicant. L'architecture du dispositif selon l'invention est organisée de telle manière que le dispositif puisse fonctionner alternativement en mode d'émulation de carte à puce sans contact, ou en mode lecteur de carte à puce sans contact. A cet effet, l'invention a pour objet un dispositif électronique portable et communiquant, comportant un boîtier sensiblement de la taille du boîtier d'une clé USB, dans lequel est fixée une carte de circuit imprimé sur les faces duquel sont connectés une pluralité de composants électroniques, à savoir : - un connecteur pour carte à puce et une carte à puce; - une interface à contact de type USB pour connecter le dispositif à un système hôte ; - un microcontrôleur pour gérer la communication entre ladite carte à puce et l'interface USB, le dispositif étant caractérisé en ce qu'il comporte en outre un composant doté d'une fonction de communication sans contact, connecté audit microcontrôleur et à ladite carte à puce de manière que le dispositif présente deux modes de fonctionnement, à savoir un mode de fonctionnement en lecteur de carte à puce dans lequel il est connecté à un système hôte via l'interface USB, et un mode de fonctionnement autonome, dans lequel il émule une carte à puce sans contact lorsqu'il est placé dans le champ électromagnétique d'un lecteur de carte à puce sans contact. De cette manière, le dispositif permet de faire cohabiter, dans le volume restreint d'une clé USB, une fonction de lecteur sans contact, et une fonction d'émulation de carte à puce sans contact. De préférence, le composant à fonction de communication sans contact est compatible avec la norme de communication NFC. Bien entendu, ce composant à fonction de communication NFC est connecté en sortie à une antenne. Avantageusement, lorsque le dispositif fonctionne en mode autonome, la carte à puce est directement accessible par un lecteur externe sans contact, via l'antenne et le composant à fonction de communication sans contact. De façon similaire, en mode de fonctionnement branché sur un système hôte, la carte à puce est directement accessible via l'interface USB et le microcontrôleur sans passer par le composant à fonction de communication sans contact. Alternativement, en mode de fonctionnement branché sur un système hôte, la carte à puce interne est accessible via l'interface USB, le microcontrôleur et le composant à fonction de communication sans contact. Dans un mode de réalisation avantageux du dispositif, celui-ci comporte en 15 outre des périphériques, notamment une mémoire de masse connectée au microcontrôleur. De préférence, la carte à puce est une carte de petit format, notamment au format SIM. Dans une variante, le boîtier du dispositif comporte alors une trappe amovible donnant accès à un connecteur pour l'insertion de la carte au format SIM. 20 Mais dans une autre variante encore plus compacte du dispositif, la carte au format SIM est remplacée par une simple puce pour carte à puce, et ladite puce est directement soudée sur le circuit imprimé du dispositif. Avantageusement, le logiciel embarqué du dispositif est configuré pour être apte à gérer des commandes administratives en provenance d'un système hôte 25 auquel le dispositif est connecté, ou en provenance d'un serveur distant via internet, quel que soit le système d'exploitation de celui-ci et quel que soit le navigateur internet utilisé. Description détaillée 30 L'invention sera mieux comprise à l'aide de la description détaillée qui suit et à l'aide des dessins ci-annexés, dans lesquels : - la figure 1 représente de façon schématique l'architecture interne du dispositif selon l'invention. - la figure 2 représente l'architecture logicielle du dispositif selon l'invention, en relation avec l'architecture logicielle d'un système hôte. Dans la suite du texte, on utilisera les définitions suivantes, et les acronymes associés : - Carte à interface duale : il s'agit d'une carte à puce disposant ûau moinsûdes interfaces de communication à contact (selon le standard ISO/IEC 7816) et sans contact (selon le standard ISO/IEC 14443) ; - Carte SIM : il ne s'agit pas nécessairement d'une carte à puce dédiée aux applications de télécommunications, mais simplement d'une carte en matière plastique au format SIM, à savoir ID-000 (25 mm par 15 mm) ou mini-UICC (12 mm par 15 mm), et contenant un composant de carte à puce doté de 8 contacts (Cl à C8) ; - NFC (acronyme pour � Near Field Communication � en terminologie anglo-saxonne) : il s'agit d'une technologie de communication sans contact (avec une portée maximale de l'ordre de 10 cm suivant les capacités du composant NFC. Les protocoles de communication suivants peuvent être supportés : ISO/IEC 14443 Type B, ISO/IEC 14443 Type A, MIFARE (NXP), FeliCa (Sony), et Innovatron. En outre, la technologie NFC supporte également la communication ISO/IEC 15693. On se réfère à la figure 1 représentant l'architecture de l'objet portable 1 communicant selon l'invention. L'objet portable 1 est de la taille d'une clé USB, de ce fait il comporte un boîtier (non représenté) ayant quelques centimètres de longueur, et une épaisseur et une largeur de l'ordre de 1 à 2 centimètres. Dans le boîtier, réalisé notamment en matière plastique, est logée une carte électronique sous la forme d'un circuit imprimé (appelé PCB en terminologie anglo-saxonne), sur les deux faces duquel sont soudés tous les composants électroniques énumérés ci-dessous (on ne cite pas les composants électroniques passifs : résistances, condensateurs, etc.). - un connecteur USB 3, qui permet la connexion avec un système hôte (non représenté), également pourvu d'un connecteur USB, comme par exemple un ordinateur personnel ; - un microcontrôleur 5 permettant de gérer la connexion USB 3. Ce microcontrôleur est connecté, de façon optionnelle, à un ou plusieurs périphériques externes 7, comme par exemple une mémoire externe de masse, notamment une mémoire de type Flash ROM. Ce microcontrôleur gère également la communication avec une carte au format SIM 15. D'autres périphériques externes peuvent optionnellement être prévus en plus de ou en lieu et place de la mémoire Flash ROM, comme par exemple des composants de carte à puce, des diodes électroluminescentes, des afficheurs LCD, des capteurs biométriques, etc. - un composant 9 pour gérer la communication sans contact avec un dispositif externe 11 comme par exemple une carte à puce sans contact. Le composant NFC 9 est en particulier conforme au protocole de communication NFC, et comporte à cet effet un oscillateur (non représenté) et est connecté à une antenne 13 intégrée sur le circuit imprimé. - la carte au format SIM 15 est connectée d'une part au microcontrôleur 5 de façon qu'elle puisse communiquer avec le système hôte. La carte au format SIM 15 est en outre connectée au composant NFC 9 de façon à pouvoir communiquer sans contact avec un dispositif externe 11. A cet effet, le connecteur C6 de la carte SIM est relié à l'entrée SWP (pour � Single Wire Protocol � en terminologie anglo-saxonne) du composant NFC 9. Il est à noter que la carte à puce 15 pourrait être une carte au format ISO 7816, mais afin de rendre le dispositif 1 le plus compact possible, la carte à puce 15 est de préférence au format des cartes SIM. A cet effet, la coque est alors dotée d'une trappe amovible donnant accès à un connecteur pour carte SIM, du type de ceux qu'on trouve dans les téléphones portables utilisant des cartes SIM, et la carte SIM est alors insérée dans le logement délimité par la trappe et connectée au connecteur pour carte SIM. En variante, afin de minimiser encore plus la taille du dispositif 1 selon l'invention, le réceptacle pour carte SIM et la carte SIM peuvent être remplacés par un composant carte à puce directement soudé sur le circuit imprimé. Dans ce cas, la trappe du boîtier pour la carte SIM n'est pas requise. Dans l'architecture de la figure 1, le microcontrôleur 5 génère les signaux RST (Remise à zéro), CLK (horloge) et I/O (entrée/sortie) de la carte SIM 15. L'alimentation VCC de la carte SIM provient du composant NFC 9, sous le contrôle du microcontrôleur 5, via une entrée GPIO dédiée. Fonctionnement du dispositif selon l'invention Le dispositif 1 gère deux modes de fonctionnement, à savoir : - un mode � autonome � qui correspond à une utilisation du dispositif en mode sans contact uniquement, à la façon d'un badge ou d'une carte à puce sans contact, et dans lequel le dispositif n'est pas connecté à un système hôte via son connecteur USB. - un mode � connecté � qui correspond à une utilisation lorsque le dispositif est 15 connecté à un PC (ou toute machine hôte) via son connecteur USB. Plus précisément, en mode autonome, lorsque le dispositif 1 est placé dans un champ électromagnétique adéquat, l'antenne 13 tire de l'énergie de ce champ, ce qui permet d'alimenter le composant NFC 9, qui lui-même alimente la carte 5IM 15. 20 Les autres composants (microcontrôleur 5, périphériques externes 7) ne sont alors pas alimentés. Le composant NFC 9 redirige les commandes provenant de son interface sans contact vers la carte SIM 15 en utilisant la connexion SWP. En mode autonome, le signal SWP (Single Wire Protocol) provient du composant NFC (SWP n'est pas utilisé en mode connecté). 25 Par contre, en mode connecté, l'ensemble des composants sont alimentés via le connecteur USB 3. Utilisation du dispositif selon l'invention Le dispositif 1 regroupe les fonctions suivantes : 30 En mode autonome : le dispositif 1 fonctionne simplement à la façon d'une carte à puce sans contact, et peut être utilisé comme tel dans toutes sortes d'applications des cartes à puce sans contact, telles que notamment les applications de transport où la carte à puce est utilisée comme un ticket de transport. Un terminal lecteur sans contact peut envoyer des commandes APDU aux applications logicielles hébergées sur la carte SIM. En mode connecté, le même dispositif 1 a une pluralité d'utilisations possibles : - fonctionnement en tant que lecteur de carte à contact : c'est la possibilité, depuis la machine hôte sur laquelle le dispositif est connecté, de communiquer avec la carte au format SIM 15 via le microcontrôleur 5; la communication avec la carte à puce interne se fait directement par contact depuis l'interface USB via le microcontrôleur, soit en mode sans contact, via le composant � NFC �. - fonctionnement en tant que lecteur d'une carte sans contact externe: c'est la possibilité de programmer le composant NFC 9 en mode lecteur afin de lire une carte sans contact externe (non représentée), avec un des protocoles de communication sans contact supportés par le composant NFC ; - fonctionnement en CD-ROM virtuel : c'est la possibilité de l'émulation 20 d'une unité de stockage de type CD-ROM afin de supporter la fonctionnalité dite � autorun � de Microsoft Windows (marque déposée). - fonctionnement en mémoire de masse : c'est la possibilité de supporter une ou plusieurs unités de stockage de masse connectées au microcontrôleur, notamment avec des mémoires de type � flash �. 25 - fonctionnement en lecteur de carte(s) à contact additionnelle(s) : c'est la possibilité de communiquer avec un ou plusieurs autres composants de carte à puce intégrés dans le dispositif et connectés au microcontrôleur, sous réserve de l'encombrement maximal que l'on souhaite donner au dispositif. Intégration du dispositif selon l'invention dans un système hôte 30 On se réfère à la figure 2. L'objectif est de faire en sorte d'une part que le dispositif 1 à communication NFC puisse fonctionner sur n'importe quel système d'exploitation hôte (Windows, Mac OS X, distributions Linux, etc.), d'autre part qu'il soit possible de communiquer avec ce dispositif depuis une page Web de façon portable, c'est-à-dire indépendamment du navigateur Internet utilisé (parmi lesquels Internet Explorer et Firefox) et indépendamment du système d'exploitation hôte. Pour cela, d'un point de vue logiciel, le dispositif 1 est compatible avec la spécification USB 2.0 et en particulier les classes CCID (acronyme pour � Chip/Smart Card Interface Device �) et MSC (acronyme pour � Mass-storage class �). La classe CCID permet de réaliser les fonctions de lecteur à contact et sans contact. La classe MSC permet de réaliser les fonctions de CD-ROM virtuel et d'unités de stockage flash (flash drive). PC/SC est une API (acronyme pour � Application Programming Interface � de haut-niveau permettant à une application hôte de communiquer avec les lecteurs de carte à puce. Comme représenté en figure 2, les systèmes d'exploitation hôtes fournissent une implémentation de l'API PC/SC au-dessus de CCID. La portabilité depuis un navigateur Internet est obtenue grâce à la mise en oeuvre d'une applet Java, qui s'appuie sur le package � javax.smartcardio � (fourni avec le JRE, acronyme pour � Java Runtime Environment �, version 6 et supérieure) dont l'implémentation repose sur les API PC/SC. Cette applet Java expose une interface programmatique appelable depuis, par exemple, du code JavaScript ou ECMAScript de la page Web et qui donne accès aux fonctionnalités du package � javax.smartcardio �. Commandes d'administration du dispositif Le dispositif 1 selon l'invention gère un ensemble de commandes d'administration qui permettent de lire des données internes du dispositif (par exemple son identifiant, ou ses paramètres de configuration) ou d'écrire des données (par exemple la mise à jour de son logiciel embarqué, noté � firmware � en terminologie anglo-saxonne). Ces commandes administratives peuvent être envoyées depuis un système hôte ou depuis un serveur Web distant, connecté à une page Web qui utilise l'applet Java. La mise en oeuvre de ces composants logiciels permet d'envoyer les commandes administratives au dispositif 1 de façon portable (c'est-à-dire indépendamment du navigateur et du système d'exploitation). Afin de pouvoir s'affranchir de l'utilisation d'un composant logiciel particulier et dépendant du système d'exploitation hôte, on exploite le fait que le dispositif selon l'invention gère l'interface CCID pour encapsuler les commandes administratives dans une commande APDU avec une entête spéciale reconnue du logiciel embarqué dans le dispositif. Ainsi, une commande APDU avec cette entête spéciale est traitée par le logiciel, sinon, elle est transmise à la carte SIM. On doit également gérer le cas de non présence de la carte SIM (dans le cas où la carte SIM est amovible). Dans ce cas, le logiciel embarqué simule la présence de la carte en retournant une fausse ATR (réponse à la mise sous tension), faisant ainsi croire au système d'exploitation hôte la présence d'une carte SIM : cela permet de ne pas bloquer l'envoi de commandes administratives depuis le système hôte. Avantages du dispositif selon l'invention L'invention répond aux buts fixés. En particulier, elle permet de proposer un nouveau dispositif de type clé USB doté d'une nouvelle fonction, à savoir la fonction de lecteur de carte à puce, et cela dans le format réduit typique des clés USB. En outre, l'invention propose un dispositif doté d'une architecture ouverte et versatile, permettant une double fonction de carte sans contact ou de lecteur de carte sans contact, selon la façon dont le dispositif est connecté à son environnement externe. Par ailleurs, le dispositif selon l'invention peut être géré et mis à jour depuis un système hôte, quel que soit le système d'exploitation de celui-ci. Il est encore à noter que la nouvelle double fonction est obtenue malgré l'absence d'une batterie interne dans le dispositif, puisque l'alimentation en énergie se fait soit par le système hôte connecté par l'interface USB, soit par le champ électromagnétique d'un lecteur sans contact externe.30 REVENDICATIONS1. Dispositif électronique (1) portable et communiquant, comportant un boîtier sensiblement de la taille du boîtier d'une clé USB, dans lequel est fixée une carte de circuit imprimé sur les faces duquel sont fixés une pluralité de composants électroniques, à savoir : - un connecteur pour carte à puce et une carte à puce (15) ; - une interface de type USB (3) pour connecter le dispositif (1) à un système hôte ; - un microcontrôleur (5) pour gérer la communication entre ladite carte à puce (15) et l'interface USB (3), le dispositif étant caractérisé en ce qu'il comporte en outre un composant (9) doté d'une fonction de communication sans contact, connecté audit microcontrôleur (5) et à ladite carte à puce (15) de manière que le dispositif (1) présente deux modes de fonctionnement, à savoir un mode de fonctionnement en lecteur de carte à puce sans contact, dans lequel il est connecté à un système hôte via l'interface USB (3), et un mode de fonctionnement autonome, dans lequel il émule une carte à puce sans contact lorsqu'il est placé dans le champ électromagnétique d'un lecteur de carte à puce sans contact. 2. Dispositif selon la revendication 1, caractérisé en ce que ledit composant (9) à fonction de communication sans contact est compatible avec la norme de 25 communication NFC. 3. Dispositif selon la revendication 2, caractérisé en ce que ledit composant (9) à fonction de communication NFC est connecté en sortie à une antenne (13). 30 4. Dispositif selon la revendication 1, caractérisé en ce qu'en mode de fonctionnement autonome, la carte à puce (15) est accessible par un lecteur externe sans contact, via l'antenne (13) et le composant (9) à fonction de communication sans contact. 5. Dispositif selon la revendication 1, caractérisé en ce qu'en mode de fonctionnement branché sur un système hôte, la carte à puce (15) est directement accessible via l'interface USB (3) et le microcontrôleur (5) sans passer par le composant (9) à fonction de communication sans contact. 6. Dispositif selon la revendication 1, caractérisé en ce qu'en mode de fonctionnement branché sur un système hôte, la carte à puce (15) est accessible via l'interface USB (3), le microcontrôleur (5) et le composant (9) à fonction de communication sans contact. 10 7. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte en outre une mémoire de masse (7) connectée au microcontrôleur (5). 15 8. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la carte à puce (15) est une carte au format carte SIM, à savoir ID 000 ou mini-UICC. 9. Dispositif selon la revendication 8, caractérisé en ce que le boîtier du 20 dispositif comporte une trappe amovible donnant accès à un connecteur pour l'insertion de la carte SIM. 10. Dispositif selon la revendication 8, caractérisé en ce que la carte SIM est remplacée par une simple puce pour carte à puce, et en ce que ladite puce est 25 directement soudée sur le circuit imprimé du dispositif. 11. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que qu'il comporte un logiciel embarqué apte à gérer des commandes administratives en provenance d'un système hôte auquel le dispositif est 30 connecté, ou en provenance d'un serveur distant via internet, quel que soit le système d'exploitation de celui-ci et quel que soit le navigateur internet utilisé.5