SYSTE M E D' I D E NTI F I CAT I ON EL ECTRO N I QU E SAN S CO NTACT
La présente invention se rapporte de manière générale à un système d'identification électronique sans contact, communément connu par la dénomination "système RFID" (Radio Frequency Identification) ou "système CID" (Çontactless Identification). Plus spécifiquement, la présente invention concerne un tel système d'identification sans contact employant des supports d'information, ou transpondeurs, agencés pour fonctionner avec plusieurs applications. La présente invention concerne en particulier un système d'identification électronique selon la revendication 1.
Des systèmes électroniques d'identification sans contact sont utilisés dans des applications variées, notamment comme systèmes d'identification et d'autorisation d'accès pour des applications de contrôle d'entrée, de gestion de temps ou d'abonnement, ou comme systèmes d'accès à des services payants (pré- ou postpaiement) pour des applications de type caisse ou automate.
Typiquement, pour chaque application, un système d'identification distinct est utilisé. Un tel système comporte typiquement (i) des supports d'information, ou transpondeurs, portés par les utilisateurs et se présentant généralement sous la forme de cartes ou de composants électroniques intégrés à des objets portatifs telles des montres, (ii) des unités de lecture dispersées sur les différents sites d'accès (par exemple aux diverses entrées d'un bâtiment dont l'accès est réglementé), et (iii) au moins une unité de programmation permettant de configurer les divers transpondeurs pour l'application concernée.
Ainsi, un utilisateur désireux d'accéder à plusieurs applications diverses devra typiquement s'équiper de plusieurs supports d'identification adaptés à chaque application. Ceci a pour conséquence une multiplication inutile et inappropriée des transpondeurs nécessaires et peut par ailleurs conduire à un risque de confusion pour l'utilisateur ou de perte d'un ou plusieurs transpondeurs, perte qui peut bien évidemment être dommageable pour l'utilisateur.
Il est ainsi souhaitable de proposer un système d'identification permettant notamment de répondre aux problèmes susmentionnés, à savoir un système d'identification multi-applications ne nécessitant, pour un utilisateur donné, qu'un unique transpondeur pour accéder à plusieurs applications distinctes.
Un tel système d'identification multi-applications ainsi qu'un transpondeur susceptible d'opérer avec plusieurs applications distinctes sont déjà proposés dans le document WO 97/34265. Le transpondeur utilisé dans ce système d'identification comporte notamment des moyens de mémorisation comprenant un espace mémoire segmenté pour accueillir des données d'application relatives à une pluralité
d'application distinctes. Plus spécifiquement chaque segment mémoire comprend une identification de segment ou étiquette permettant d'identifier à quelle application se rapportent les données d'application contenues dans le segment mémoire concerné. Cette étiquette, ou "stamp", est formée d'une séquence identifiant l'application concernée et qui est fonction du niveau d'organisation de cette application dans un système d'autorisation hiérarchique.
Selon l'enseignement de ce document, on notera que l'organisation susmentionnée des données dans la mémoire du transpondeur implique le parcours systématique (par le processeur du transpondeur ou par l'unité de lecture) des données mémorisées afin d'identifier si les données d'application propres à une application déterminée sont présentes dans la mémoire du transpondeur. On comprendra que cette solution présente notamment un désavantage en terme de rapidité et de facilité d'accès aux données mémorisées sur le transpondeur.
Selon l'enseignement de ce document, la sécurité des données est en outre simplement assurée par un processus d'authentification du transpondeur auprès de l'unité de lecture, c'est-à-dire une authentification unilatérale. Selon ce processus d'authentification bien connu, et dans l'optique d'établir une communication entre une unité de lecture et un transpondeur affilié, l'unité de lecture est agencée pour transmettre au transpondeur un nombre aléatoire qui est encodé par ce transpondeur au moyen d'une clé de codage puis retransmis à l'unité de lecture pour être décodé au moyen d'une clé de codage qui est stockée dans l'unité de lecture et qui est identique à la clé de codage du transpondeur. Si le résultat du décodage est identique au nombre transmis initialement, la communication est alors établie.
Bien que souhaitable, on notera tout d'abord que cette authentification unilatérale n'est généralement pas suffisante pour assurer un niveau de sécurité adéquat. Ainsi, une authentification bilatérale ou réciproque devrait au moins être implémentée, c'est-à-dire une authentification du transpondeur auprès de l'unité de lecture et de l'unité de lecture auprès du transpondeur. Néanmoins, quand bien même une telle authentification bilatérale était implémentée, il reste que les données ultérieurement échangées entre l'unité de lecture et le transpondeur peuvent être observées par des tiers.
Un but généra] de la présente invention est ainsi de proposer un système d'identification permettant notamment de répondre aux problèmes susmentionnés, à savoir un système d'identification multi-applications ne nécessitant, pour un utilisateur donné, qu'un unique transpondeur pour accéder à plusieurs applications distinctes.
Un autre but de la piesente invention est de proposer un tel système d'identification électronique sans contact multi-applications qui soit simple, rapide, qui présente un niveau de sécurité élevé ainsi qu'une grande flexibilité d'utilisation. Encore un autre but de la présente invention est de garantir en outre une sécurité entre les différentes applications, c'est-à-dire garantir qu'une application et que les données relatives à une application développée par un premier opérateur ou fournisseur de services ne puissent être visibles, accédées ou modifiées par un autre fournisseur de services ayant développé une autre application à laquelle l'utilisateur a parallèlement souscrit. La présente invention a ainsi pour objet un système d'identification électronique sans contact dont les caractéristiques sont énoncées dans la revendication 1.
La présente invention a également pour objet un procédé de formatage et de gestion de données dans des moyens de mémorisation d'un transpondeur dont les caractéristiques sont énoncées dans la revendication 14.
La présente invention a encore pour objet une unité de lecture pour une identification électronique sans contact dont les caractéristiques sont énoncées dans la revendication 23.
En outre, la présente invention a pour objet un transpondeur dont les caractéristiques sont énoncées dans la revendication 29 ainsi qu'un objet portatif comprenant un tel transpondeur.
Des modes de réalisations avantageux de la présente invention font l'objet des revendications dépendantes.
Un avantage de la présente invention réside dans le fait qu'un utilisateur désireux d'accéder à plusieurs applications distinctes, n'aura besoin que d'un unique transpondeur pour accéder à ces multiples applications. Selon la présente invention, un utilisateur dispose en particulier d'une grande flexibilité de choix vis-à-vis des diverses applications qui s'offrent à lui.
Un autre avantage de la présente invention réside dans le fait que la sécurité entre les diverses applications est néanmoins garantie et que les données d'une application développée par un fournisseur de services ne sont pas susceptibles d'être altérées par une autre application. La sécurité des données d'application est en outre assurée par un cryptage adéquat de ces diverses données, notamment sur la base d'un code propre et unique à chaque transpondeur, tel un numéro de série unique de chaque transpondeur.
Selon un mode de réalisation particulièrement avantageux de la présente invention, les données d'application sont stockées dans des segments mémoires
déterminés du transpondeur et un segment mémoire additionnel est prévu pour contenir des données de répertoire indiquant quelles applications sont mémorisées sur le transpondeur ainsi que leur position en mémoire. De la sorte, l'accès aux données est grandement facilité. Selon encore un autre mode de réalisation de la présente invention, les moyens de mémorisation du transpondeur comportent en outre un segment mémoire comprenant des données relatives à une validité dans le temps de l'application concernée, l'unité de lecture comprenant quant à elle des moyens d'horloge pour déterminer l'échéance de la validité de l'application concernée et permettre, dans le cas où l'application concernée est arrivée à échéance, une libération de la partie mémoire correspondante de l'espace mémoire des moyens de mémorisation du transpondeur.
Selon la présente invention, on notera que le transpondeur ne dispose pour ainsi dire d'aucune « intelligence » particulière. Selon l'invention, c'est l'unité de lecture qui assure la gestion ainsi que la sécurité des diverses applications, ainsi que le cryptage et le décryptage des données. On comprendra que ceci est un avantage particulièrement important en ce sens que l'unité de lecture est typiquement gérée par l'opérateur de l'application et peut être placée physiquement dans des lieux parfaitement sous contrôle. D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description détaillée qui suit, faite en référence aux dessins annexés donnés à titre d'exemples non limitatifs et dans lesquels :
- la figure 1 montre un schéma bloc d'un support d'information ou transpondeur utilisé dans le cadre de la présente invention ; - la figure 2 montre une architecture de la mémoire du transpondeur dans le cadre de la présente invention ;
- la figure 3 montre l'architecture générale d'une unité de lecture selon la présente invention agencée pour converser avec ledit transpondeur ;
- les figures 4a à 4c illustrent différentes phases opératoires de l'unité de lecture de la figure 3 lors de la communication avec un transpondeur ;
- la figure 5 montre un schéma bloc simplifié de l'unité de lecture de la figure 3 ;
- la figure 6 montre schématiquement un diagramme des modules logiciels de l'unité de lecture ; - la figure 7 illustre schématiquement la structure d'un identificateur d'application dans le cadre de la présente invention ; et
- la figure 8 illustre une implémentation réseau du système d'identification
électronique selon la présente invention.
La figure 1 montre un schéma bloc d'un support d'information ou transpondeur pour système d'identification sans contact. Un tel transpondeur est par exemple commercialisé par la société EM Microelectronic-Marin SA sous la référence P4150 "1 KBit READ/WRITE CONTACTLESS IDENTIFICATION DEVICE". On se référera autant que nécessaire aux spécifications techniques de ce circuit disponibles publiquement (notamment via le site www.emmarin.ch de cette société) et qui sont par ailleurs incorporées ici par référence. La figure 1 est une représentation schématique de ce circuit transpondeur commercialisé par la société susmentionnée. Ce transpondeur, typiquement agencé pour fonctionner à une fréquence de l'ordre de 125 kHz, est notamment agencé pour coopérer avec une interface de lecture telle l'interface commercialisée par cette même société EM Microelectronic-Marin SA sous la référence P4095 "READ/WRITE ANALOG FRONT END FOR 125kHz RFID BASESTATION" dont la spécification technique disponible publiquement est également incorporée ici par référence. On notera que l'utilisation des composants susmentionnés n'est nullement limitative et que d'autres composants analogues pourraient être utilisés pour autant qu'ils permettent de remplir les fonctions qui vont être énoncées ci-dessous.
Le transpondeur, indiqué généralement par la référence numérique 1 dans la figure 1 , est alimenté par le champ électromagnétique ambiant, champ qui induit une tension au borne d'une bobine 1 1 du circuit formant antenne. Cette tension est redressée par un bloc redresseur AC/DC 12 et fournit la tension d'alimentation +V nécessaire au fonctionnement du dispositif. Des moyens de régulation de tension 13 ainsi qu'un bloc de contrôle de mise sous tension 14 assurent une initialisation adéquate d'une logique de contrôle 15 du circuit. Le transpondeur 1 comprend en outre des moyens d'extraction d'horloge 16 permettant de dériver du champ électromagnétique un signai d'horloge assurant le cadencement de la logique de contrôle 15, des moyens d'extraction de données 17a permettant d'extraire des données modulées sur le champ électromagnétique, ainsi qu'un bloc décodeur de commandes 17b. Le transpondeur 1 comprend par ailleurs des moyens de mémorisation 18, constitués notamment d'une mémoire reprogrammable EEPROM et d'une mémoire morte ROM, et des moyens associés d'encodage 19a et de modulation 19b permettant de moduler et transmettre des informations stockées dans lesdits moyens de mémorisation 18. La figure 2 montre de manière schématique l'architecture et l'organisation des moyens de mémorisation 18 du transpondeur 1 illustré à la figure 1. Comme déjà mentionné, ces moyens de mémorisation 18 comprennent notamment une mémoire
EEPROM ainsi qu'une mémoire morte ROM. La mémoire EEPROM est constituée, de manière non limitative, d'une mémoire EEPROM de 1024 bits organisée en trente- deux mots de 32 bits (mots 0 à 31 dans la figure 2). Les moyens de mémorisation 18 comprennent en outre, toujours de manière non limitative, deux mots de 32 bits supplémentaires (mots 32 et 33 dans la figure 2) programmés par laser dans une mémoire morte ROM (cf. notamment la spécification du composant P4150 susmentionné). Ces deux mots mémoire de ROM 32 et 33 contiennent respectivement un numéro de série DEVICE SERIAL NUMBER et un numéro d'identification DEVICE IDENTIFICATION qui sont uniques, c'est-à-dire propres et uniques à chaque transpondeur.
Plus spécifiquement, les trois premiers mots de 32 bits (mots 0 à 2) sont respectivement assignés à un mot de passe désigné PASSWORD, à un mot de protection désigné PROTECTION WORD, et à un mot de contrôle désigné CONTROL WORD. Le mot de passe PASSWORD est en écriture uniquement et ne peut être lu depuis l'extérieur. Ce mot de passe PASSWORD doit typiquement être transmis au transpondeur si l'on désire modifier le mot de protection PROTECTION WORD et/ou le mot de contrôle CONTROL WORD.
Le mot de contrôle CONTROL WORD définit notamment quels mots de la mémoire sont lus lors d'une opération de lecture spontanée ou standard (cette opération est définie en tant que "Standard Read Mode" dans la spécification susmentionnée du produit P4150) qui est effectuée dès lors que le circuit est activé par l'émission d'un champ électromagnétique ambiant. En particulier, comme décrit en référence à la figure 6 de la spécification du produit P4150 susmentionné, les bits 0 à 7 (First Word Read - FWR) et 8 à 15 (Last Word Read - LWR) du mot de contrôle CONTROL WORD définissent respectivement les premier et dernier mots lus lors de l'opération de lecture standard "Standard Read Mode" (ci-après "Standard Read"), le bit 16 (Password Check On/Off) définit si un contrôle du mot de passe PASSWORD doit ou non être effectué, le bit 17 (Read After Write On/Off) définit si une relecture doit ou non être effectuée après une opération d'écriture en mémoire et les bits 18 à 31 sont typiquement disponibles pour l'utilisateur.
Le mot de protection PROTECTION WORD définit quant à lui quels mots en mémoire sont protégés en lecture et/ou en écriture. Ainsi, comme décrit dans la spécification du produit P4150 susmentionné, les bits 0 à 7 (First Word Read Protected) et 8 à 15 (Last Word Read Protected) du mot de protection PROTECTION WORD définissent respectivement les premier et dernier mots protégés en lecture, et les bits 16 à 23 (First Word Write Inhibited) et 24 à 31 (Last Word Write Inhibited) définissent respectivement les premier et dernier mots protégés en écriture.
L'espace mémoire composé dans cet exemple des vingt-neufs mots mémoires 3 à 31 de l'EEPROM (dans cet exemple 928 bits) est disponible notamment pour l'utilisateur et forme un espace mémoire utilisateur 180 désigné USER EEPROM. On notera que des données complémentaires relatives au transpondeur peuvent également être stockées dans cet espace mémoire. Ces données complémentaires peuvent par exemple comprendre la date d'émission et la durée de validité du transpondeur, une signature assurant l'origine du transpondeur, ou d'autres données relatives à l'identification et la validité du transpondeur lui-même. En particulier, l'espace mémoire 180 comprend un segment mémoire 186 contenant des données désignées TAG IDENTIFICATION permettant de vérifier que le transpondeur est affilié au système d'identification, c'est-à-dire qu'il s'agit effectivement d'un transpondeur gérant plusieurs applications selon la présente invention, ainsi que la validité dans le temps de ce transpondeur et son origine (signature).
Selon la présente invention, et dans le cadre d'un exemple non limitatif basé sur le produit susmentionné, l'espace mémoire utilisateur USER EEPROM 180 est en particulier utilisé pour gérer une pluralité d'applications distinctes, désignées APPL1 , APPL2, etc. Plus spécifiquement, comme illustré schématiquement à la figure 2, l'espace mémoire USER EEPROM 180 est segmenté en une pluralité de segments mémoires 181 , 182, 183, 184, dans cet exemple non limitatif au nombre de quatre, susceptibles de contenir des données d'application désignées APPL. DATA i, i = 1 à 4, propres à diverses applications, l'espace mémoire restant étant préférablement utilisé pour le stockage de données additionnelles qui seront présentées ultérieurement. A chaque application est attribué au moins un segment mémoire. Toutefois, si nécessaire, plusieurs segments mémoires peuvent être alloués à une application. On comprendra par exemple que les segments mémoires 181 et 182 pourraient être alloués à une première application (ou un premier groupe d'applications) d'un premier opérateur, et les segments 183 et 184 à des applications de deux autres opérateurs.
Dans le cadre de la présente invention, on notera que la notion d'application n'implique pas nécessairement que cette application n'est prévue que pour un type de service. Compte tenu de l'espace mémoire à disposition, on comprendra aisément que les données d'application de plusieurs applications d'un même opérateur peuvent être mémorisées sur un unique segment mémoire. En d'autres termes, on comprendra par le terme "application", un groupe d'applications gérées par un opérateur et pouvant comprendre une ou plusieurs applications, ou plus exactement sous-applications. On insistera sur le fait que chaque opérateur d'application disposera en pratique d'un ou plusieurs segments mémoires pour gérer le groupe
d'applications qui lui est propre.
Préférablement l'espace mémoire comporte en outre un segment mémoire additionnel 187 pour contenir des données de répertoire désignées DIRECTORY fournissant une indication des applications mémorisées sur le transpondeur et leur position en mémoire. Plus spécifiquement, ces données de répertoire désignées
DIRECTORY comprennent des données (identificateurs ou descripteurs d'application, ci-après APPL. IDENTIFIER) relatives aux applications utilisées et mémorisées dans l'espace mémoire. A chaque application est associé un identificateur d'application distinct dont les caractéristiques seront présentées plus loin. Les mots mémoires restants sont préférablement réservés pour stocker des données complémentaires relatives au transpondeur (comme mentionné plus haut) ou aux applications mémorisées. En particulier, les données complémentaires relatives aux applications peuvent avantageusement comprendre des données 185 (désignées APPL. VALIDITY) relatives à la validité des applications mémorisées, par exemple la durée de validité de ou des applications concernées. Comme on le verra ultérieurement, ces données de validité peuvent avantageusement permettre la libération d'une partie de l'espace mémoire attribué à une application qui est arrivée à échéance.
Selon la présente invention, les données d'application APPL. DATA i, et, préférablement, les données de répertoire DIRECTORY, les données d'identification du transpondeur TAG IDENTIFICATION ainsi que les données de validité des applications APPL. VALIDITY, sont cryptées au moins au moyen d'une première clé de codage, clé de codage qui n'est connue et visible que pour l'unité de lecture.
Selon l'invention, on notera que la sécurité et la confidentialité des données est à proprement parler assurée par l'unité de lecture du système d'identification. Les données mémorisées sur le transpondeur sont parfaitement lisibles lors de la communication entre le transpondeur et l'unité de lecture mais uniquement sous forme cryptée, le cryptage et le décryptage de ces données étant opéré par l'unité de lecture, uniquement, au moyen d'une ou plusieurs clés de codage comme on le verra plus loin.
En se référant à nouveau à la figure 2, on notera que la programmation des mots 0 à 2 (PASSWORD, PROTECTION WORD, CONTROL WORD) est effectuée typiquement par le fabricant de l'unité de lecture. Les deux mots mémoires de ROM 32 et 33 sont quant à eux programmés à la fabrication par le fabricant du transpondeur. Les mots mémoires restant sont programmables notamment (mais pas uniquement) par l'utilisateur (en particulier par le ou les opérateurs ou fournisseurs d'application), la programmation de certains mots mémoires (telles les données
d'identification TAG IDENTIFICATION ou les données de répertoire DIRECTORY) étant sous le contrôle de l'unité de lecture.
Le mot de contrôle CONTROL WORD peut avantageusement être défini de sorte que les données d'identification du transpondeur TAG IDENTIFICATION (segment mémoire 186), les données de répertoire DIRECTORY (segment mémoire 187), ainsi que le numéro de série DEVICE SERIAL NUMBER et le numéro d'identification DEVICE IDENTIFICATION du transpondeur (mots mémoires 32 et 33 en ROM) soient automatiquement lus lors de l'opération de lecture standard "Standard Read" susmentionnée. De même, les données de validité APPL. VALIDITY du segment mémoire 185 pourraient également être automatiquement transmises par le transpondeur. Dans ce cas, il conviendra préférablement d'organiser les données susmentionnées de sorte que les positions mémoires de ces données soient contiguës comme schématiquement illustré dans la figure 2.
La figure 7 illustre schématiquement la structure d'un identificateur d'application APPL. IDENTIFIER dans le cadre de la présente invention. Cet identificateur d'application APPL. IDENTIFIER est un mot ou code d'une longueur déterminée (par exemple un mot de 32 bits) permettant d'identifier l'application concernée et l'opérateur de cette application. Comme illustré schématiquement, cet identificateur se compose préférablement d'un numéro de l'opérateur concerné (USER NUMBER - par ex. un code de 24 bits) suivi d'un numéro de l'application ou service de cet opérateur (SERVICE NUMBER - par ex. un code de 8 bits). En pratique, le fabricant de l'unité de lecture fournit à chaque opérateur du système un numéro de client unique et lui alloue, en fonction de ses besoins, le nombre d'applications désirées. Chaque opérateur du système dispose ainsi, pour chacune de ses application, un identificateur d'application qui lui est propre et qui ne peut être utilisé par un autre opérateur du système. A ce titre, le système d'autorisation utilisé dans le cadre de la présente invention permet une division claire et totale entre chaque opérateur ainsi qu'entre chaque application.
Comme déjà brièvement exposé ci-dessus, à chaque application (d'un même opérateur ou d'opérateurs différents) est associé un identificateur d'application distinct APPL. IDENTIFIER. Cet identificateur est mémorisé, avec le ou les autres identificateurs d'application éventuels dans un segment mémoire spécifique, distinct des segments mémoires destinés à mémoriser les données d'application, à savoir le segment de répertoire (segment 187 dans la figure 2) contenant les données de répertoire DIRECTORY. Ces données de répertoire DIRECTORY permettent, d'une part, d'identifier quelles applications sont mémorisées sur le transpondeur et, d'autre part, de spécifier dans quel(s) segment(s) mémoire(s) les données d'application de
ces applications sont mémorisées Ces données de répertoire DIRECTORY facilitent grandement l'identification et la localisation des données d'application mémorisées sur le transpondeur De la sorte, il n'est plus nécessaire de parcourir l'ensemble des données mémorisées pour vérifier si les données propres a une application déterminée sont présentes
En se référant maintenant a la figure 3, on va décrire l'architecture générale d'une unité de lecture selon la présente invention Par "unité de lecture", on comprendra aussi bien une unité agencée pour permettre uniquement une lecture d'un transpondeur qu'une unité agencée pour permettre a la fois une lecture et une programmation d'un transpondeur De manière générale, on pourra à nouveau se référer à la spécification du produit P4150 susmentionné pour obtenir un descriptif général d une unité de lecture agencée pour effectuer des opérations de lecture et/ou d'écriture d'un transpondeur
Dans la figure 3, on a illustré de manière schématique l'architecture et l'organisation de l'unité de lecture selon la présente invention, indiquée généralement par la référence numérique 5 On notera que l'architecture de cette unité de lecture se compose essentiellement de trois parties distinctes, à savoir (1) un module de gestion protégé (ou système d'exploitation) 50, (2) une mémoire protégée 60, et (3) une mémoire d'application 70 Le module de gestion 50 est programme et code par le fabricant de l'unité de lecture et n'est pas accessible par l'application II est en liaison avec une interface d'écriture/lecture 51 du transpondeur, des moyens de contrôle et de traitement 52 et des moyens de cryptage/décryptage 53 permettant le cryptage, respectivement le décryptage, de données à partir d'une ou plusieurs clés de codage On notera déjà ici qu'une de de codage de base utilisée pour le cryptage des données est avantageusement dérivée du numéro de série unique de chaque transpondeur (ou tout autre code propre et unique à chaque transpondeur) De la sorte le cryptage des données sur le transpondeur est unique pour chaque transpondeur, empêchant ainsi qu'un transpondeur contenant une simple copie des données d'un autre transpondeur du système puisse être utilise Des des de codage additionnelles sont préférablement utilisées pour effectuer le cryptage de ces données On notera que le module de gestion 50 assure également une vérification de la conformité du transpondeur avec le système (notamment une vérification de son numéro de série et de sa validité) ainsi que la gestion des transactions avec le transpondeur (notamment la gestion de sa mémoire)
La mémoire protégée 60 est utilisée pour le cryptage des informations et la gestion de la mémoire du transpondeur Cette mémoire protégée n'est pas accessible
par l'application. Elle comprend divers champs mémoires destinés notamment à permettre la mémorisation des données relatives au numéro de série du transpondeur, sa validité, et aux données d'application.
La mémoire d'application 70 est mise à la disposition de l'application 75 et contient les informations la concernant. En particulier, elle comprend des champs mémoire destinés notamment à mémoriser des données relatives à l'identification du transpondeur (notamment son numéro de série) et des données non cryptées de l'application.
Préférablement, la partie protégée 50, 60 de l'unité de lecture inclut le ou les identificateurs d'application des applications pour lesquelles l'unité de lecture est configurée. On notera que ce ou ces identificateurs d'application pourraient alternativement être stockées en mémoire non protégée.
La figure 5 montre un schéma bloc général de l'unité de lecture dont l'architecture générale a été présentée ci-dessus. L'unité de lecture 5 comprend notamment une antenne 100 permettant d'interroger à distance des transpondeurs du système, une partie "CID front-end" 110 pour le contrôle de l'antenne 100, une alimentation 120 (externe ou interne), une interface de connexion externe 130 (comprenant typiquement des connecteurs RS232, RS485 et/ou USB), une interface d'entrée/sortie I/O 140, et un microcontrôleur 150 comprenant notamment des moyens de mémorisation 155 (FLASH, EEPROM, RAM), un "watch dog", une interface série, et des pilotes de communication.
Comme déjà mentionné, la partie "CID front-end" 110 est basée sur un circuit commercialisé par la société EM Microelectronic-Marin SA sous la dénomination P- 4095 "READ/WRITE ANALOG FRONT END FOR 125kHz RFID BASESTATION" dont la spécification technique publique est incorporée par référence. Cette partie 1 10 et l'antenne 100 forment l'interface d'écriture/lecture 51 (figure 3) avec le transpondeur.
A titre optionnel, l'unité de lecture 5 peut comporter un microcontrôieur d'application 160 avec mémoire additionnelle, une horloge temps réel RTC 170, un buzzer 180, et une interface de commande interne 190 par exemple pour un clavier et/ou un affichage LCD.
En particulier, l'horloge temps réel RTC 170 peut servir à déterminer l'échéance de la validité d'une application utilisée (sur la base des données de validité APPL. VALIDITY mentionnées plus haut) par exemple en vue de libérer de l'espace mémoire sur le transpondeur.
Au titre de réalisation pratique, l'unité de lecture 5 peut être prévue comme extension d'un terminal informatique (sous la forme d'une carte d'extension ou d'un
périphérique) ou sous la forme d'une unité "stand alone", c'est-à-dire une unité ne nécessitant pas d'interfaçage spécifique avec un terminal informatique.
Par ailleurs, l'unité de lecture peut parfaitement être connectée à un réseau informatique local ou étendu et former une inter ace d'accès sécurisée pour accéder à des données stockées sur un serveur de ce réseau. On notera que l'on connaît déjà des systèmes d'accès pour réseaux informatiques comprenant un lecteur de cartes à puce connecté à un terminal informatique pour lire les clés d'accès personnelles d'un utilisateur stockées sur cette carte à puce. Le système d'identification selon la présente invention peut ainsi être utilisé, dans le cadre d'une telle application, en remplacement du lecteur et de la carte à puce.
Une implémentation réseau particulièrement avantageuse du système d'identification selon la présente invention est illustrée dans la figure 8. Selon cette implémentation, au moins une unité de lecture 5 est connectée à un réseau informatique (local ou étendu) 800 par l'intermédiaire d'un terminal informatique 80. Au moins un serveur 85 accessible depuis le terminal informatique 80 est également connecté sur le réseau 800, ce serveur 85 contenant par exemple une base de données centralisée à laquelle un utilisateur porteur d'un transpondeur 1 selon la présente invention est désireux d'accéder. Avantageusement, le serveur lui-même est équipé ou connecté à une unité séparée, désignée 5*, dont les fonctionnalités sont sensiblement similaires à l'unité de lecture 5, abstraction faite de l'interface d'écriture/lecture avec le transpondeur. Cette seconde unité 5* peut avantageusement contenir un identificateur d'application commun avec l'unité de lecture 5 du transpondeur 1 (cet identificateur d'application pouvant être différent de l'identificateur d'application utilisé pour assurer la communication entre l'unité de lecture 5 et le transpondeur 1 ). Selon cette implémentation, on prévoit un processus d'authentification entre l'unité de lecture 5 du transpondeur et l'unité 5* connectée au serveur.
Selon cette implémentation particulière, on notera par ailleurs que l'unité additionnelle 5*, connectée au serveur 85, peut notamment être agencée pour assurer le cryptage des données transmises à l'unité de lecture 5.
Au moyen de l'implémentation de la figure 8, l'accès sécurisé à des données stockées par le serveur 85 peut ainsi être assuré, à un premier niveau, par une authentification entre le transpondeur 1 et l'unité de lecture 5, et, à un second niveau, par une authentification entre l'unité de lecture 5 et l'unité 5* connectée au serveur. Comme on le verra plus loin, un troisième niveau de sécurité peut être réalisé en équipant l'unité de lecture 5 et/ou le transpondeur 1 de moyens d'entrée d'un code d'identification personnel (PIN) ou de moyens de mesure d'une grandeur bîométrique.
De la sorte, on comprendra que l'accès aux données stockées sur le serveur 85 nécessite l'autorisation d'une multitude de mécanismes successifs, interconnectés à la manière de maillons d'une chaîne.
On notera en outre que l'antenne 100 peut être disposée au voisinage direct de l'unité de lecture ou dans une position éloignée de cette unité de lecture, cette dernière solution permettant avantageusement de disposer l'unité de lecture dans un lieu protégé hors d'atteinte de tout utilisateur.
En se référant aux figures 3 et 5, on notera que les fonction du module de gestion 50 sont assurées par le microcontrôleur 150. Les moyens de mémorisation 155 du microcontrôleur 150 sont segmentés pour remplir les fonctions de la mémoire protégée 60 et de la mémoire d'application 70.
La figure 6 résume brièvement les divers modules logiciels implémentés dans le microcontrôleur 150 de l'unité de lecture. En premier lieu, une première couche, ou "primitives", assure les fonctions de base de divers composants de l'unité de lecture à savoir :
Initialisation : Initialisation du processeur et des modules généraux. L'initialisation de l'application se fait par elle-même à travers le module d'exploitation,
Power control contrôle et gestion de la consommation DDoowwnnllooaadd :: programmes permettant la programmation de la configuration et des clés de l'application (EEPROM) et leur protection.
Driver COMM : driver de communication entre l'unité de lecture et l'application (l'application peut résider en mémoire interne, externe ou dans un autre processeur),
Driver EXT : driver de communication avec le monde extérieur (interface série asynchrone ou synchrone),
Driver I / O : driver pour les entrées et sorties parallèles (touches et relais). D Drriivveerr RRTTCC :: contrôle du RTC (Real Time Clock).
Tests : programmes de test pour la mise en service et le service client.
TAG interface contrôle de la lecture et de l'écriture du TAG (transpondeur). C Crryyppttoo :: programmes de cryptages. Ces algorithmes utilisent des clés de cryptage définies fixes ou par l'application.
Key : Clés de cryptage de l'unité de lecture.
Une seconde couche, ou couche d'exploitation, assure à proprement parler l'exploitation et la gestion de ou des applications, à savoir les fonctions suivantes : OS : système d'exploitation qui permet de lancer et de gérer l'application.
TAG manager algorithmes de gestion multi-applications Cash security : algorithmes de sécurisation des transactions et des données.
Error control : gestion des erreurs, Appl. control : contrôle de l'application. CCoonnffiigguurraattiioonn ;; configuration de l'application. Key : clés de cryptage de l'application. Finalement, une troisième couche, ou couche d'application, assure les fonctions propre à chaque application, cette couche pouvant résider en mémoire protégée ou non, et être résidante ou externe à l'unité de lecture proprement dite. La gestion d'une application par l'unité de lecture peut se dérouler en plusieurs phases selon le type d'application et de transaction à effectuer :
- identification : A partir du "Standard Read" susmentionné, le numéro de série contenu dans les données d'identification TAG IDENTIFICATION du transpondeur est décrypté et comparé au numéro de série DEVICE SERIAL NUMBER du transpondeur, puis transmis à l'application.
Cette phase est suffisante pour les applications ne nécessitant que de l'identification (dans le cas d'une base de données centralisée par exemple).
- lecture : Sur demande de l'application, l'unité de lecture lit la zone mémoire dédicacée à cette application (selon le processus "Sélective Read" présenté dans la spécification du produit EM P-4150), et lui transmet les informations après décryptage. Dans le cas d'une application de type abonnement, cette phase termine la transaction.
- écriture : L'unité de lecture écrit dans la mémoire du transpondeur (après cryptage) les informations modifiées par l'application. Le bon déroulement de l'opération est contrôlé par le décodage d'une quittance ACK transmise par le transpondeur.
- vérification : Les informations sont relues et comparées aux informations originales. Dans le cas d'espèce, la communication entre l'unité de lecture et le transpondeur est opérée selon les processus de lecture standard ("Standard Read"), de lecture sélective ("Sélective Read") et d'écriture qui sont amplement décrits dans la
specification du produit P4150 susmentionné Ces processus spécifiques ne sont bien évidemment nullement limitatifs de l'application de la présente invention et ne sont donnes ici qu'a titre d'exemple uniquement
On se contentera de mentionner ICI que l'opération de lecture standard ("Standard Read") consiste essentiellement en une transmission, depuis le transpondeur vers l'unité de lecture, des mots mémoires définis par les premier et dernier mots mémoires FWR et LWR définis dans le mot de contrôle CONTROL WORD du transpondeur comme mentionné plus haut
A titre d'exemple, l'opération de lecture standard peut consister en une transmission des données d'identification du transpondeur TAG IDENTIFICATION (segment mémoire 186), c'est-a-dire la transmission de données d'identification cryptées comprenant notamment le numéro de série crypte, la signature, et la validité du transpondeur Ces informations sont stockées en mémoire dans l'unité de lecture L'opération de lecture standard susmentionnée peut être suivie d'une requête en lecture sélective ("Sélective Read") visant à demander une transmission additionnelle par le transpondeur de données complémentaires, notamment le contenu du mot mémoire relatif au numéro de série non-crypte DEVICE SERIAL NUMBER (mot 32 dans la figure 2) du transpondeur
L'opération de lecture sélective ("Sélective Read") est également amplement décrite dans la documentation technique du produit P4150 susmentionné II suffit de dire que l'opération de lecture sélective ("Sélective Read") est utilisée pour lire d'autres données que les données définies par le mot de contrôle CONTROL WORD (mots entre FWR et LWR dans le "Standard Read") Afin d'entrer en mode de lecture sélective ("Sélective Read") l'unité de lecture doit transmettre une commande (designée "Receive Mode Pattern" RM) durant une fenêtre de lecture (désignée "Listen Window" LIW) afin d'activer le mode de réception du transpondeur Une commande de lecture sélective ("Sélective Read Mode Command") est alors transmise par l'unité de lecture, suivie des adresses des premier et derniers mots mémoires devant être lus Pour le reste, le mode de lecture sélective se comporte comme le mode de lecture standard susmentionné ("Standard Read") La requête en lecture sélective ("Sélective Read") peut en outre viser, si nécessaire, a demander la transmission des mots mémoire de répertoire DIRECTORY (segment mémoire 187 dans la figure 2)
Au titre de simplification, comme déjà mentionne, l'opération de lecture standard pourrait avantageusement consister en une transmission de l'intégralité des données de validité des applications APPL VALIDITY, des données d'identifications du transpondeur TAG IDENTIFICATION, des données de répertoire DIRECTORY et
du numéro de série DEVICE SERIAL NUMBER stocké en ROM, ces données étant alors placées en mémoire de manière contiguë.
D'une manière générale, le processus de communication entre le transpondeur et l'unité de lecture débute par l'identification de la conformité du transpondeur avec le système, c'est-à-dire une vérification de son affiliation au système multi-applications selon l'invention et de la validité de cette affiliation. Comme illustré dans l'organigramme de la figure 4a, cette phase d'identification consiste préférablement en une lecture (S1 ), suite à l'activation du transpondeur, des données d'identification TAG IDENTIFICATION mémorisées dans le segment mémoire 186 du transpondeur (cf. figure 2) et du numéro de série du transpondeur DEVICE SERIAL NUMBER mémorisé en ROM (mot 32 dans la figure 2). A nouveau, cette opération de lecture des données susmentionnées peut être effectuée, dans le cas d'espèce, selon le processus de lecture standard ("Standard Read") complété si nécessaire par une requête en lecture sélective ("Sélective Read"). Préférablement, les données d'identification TAG IDENTIFICATION incluent une image du numéro de série du transpondeur DEVICE SERIAL NUMBER codé au moyen d'une clé de codage spécifique unique au transpondeur ainsi qu'une information concernant la validité dans le temps de ce transpondeur. Le processus d'identification du transpondeur se poursuit ainsi (S2) par une étape de décryptage des données d'identification TAG IDENTIFICATION, puis (S3) une comparaison des données décryptées avec le numéro de série ainsi que (S4) un examen de la validité du transpondeur. Si les résultats de ces vérifications sont positifs, le processus de communication peut se poursuivre. Dans le cas contraire, le processus est interrompu. On notera à nouveau que la phase d'identification peut être suffisante dans certaines applications, telles des applications de contrôle d'accès où seul l'identification du transpondeur est requise pour autoriser l'accès.
Au titre de complément, le processus d'identification peut avantageusement mettre en œuvre un processus d'authentification mutuelle entre l'unité de lecture et le transpondeur. De tels processus d'authentification sont bien connus de l'homme du métier et ne seront en conséquence pas décrits ici.
La phase d'identification susmentionnée est normalement suivie d'une phase de lecture. Cette phase de lecture va maintenant être brièvement décrite en référence à l'organigramme de la figure 4b. Le processus de communication se poursuit ainsi par (S5) la lecture des données de répertoire DIRECTORY enregistrées sur le transpondeur. On notera à nouveau que ces données de répertoire DIRECTORY peuvent être lues initialement à l'étape S1 susmentionnée ou alternative faire l'objet d'une requête en lecture sélective. A l'étape S6, ces données de répertoire
DIRECTORY sont décryptées par l'unité de lecture afin d'en extraire et identifier les divers identificateurs d'application mentionnés plus haut indiquant pour quelles applications le transpondeur est configuré. Suit alors (S7), une comparaison des identificateurs d'application enregistrés par le transpondeur et du ou des identificateurs d'application chargés par l'unité de lecture, c'est-à-dire les identificateurs des applications pour lesquelles cette unité est configurée. Si l'une des applications pour lesquelles est configurée l'unité de lecture est présente dans la mémoire du transpondeur, le processus de communication peut se poursuivre. Dans le cas contraire, le processus est bien évidemment interrompu. Il va de soi que ce processus est répété pour chaque application pour laquelle l'unité de lecture est configurée.
On notera par ailleurs que les étapes S5 à S7 susmentionnées sont préférablement également prévues pour lire, décrypter et vérifier les données de validité (APPL. VALIDITY) des applications du transpondeur, et, dans l'éventualité où l'application considérée n'est plus valide, pour libérer l'espace mémoire occupé par cette application et interrompre le processus de communication (ou éventuellement entreprendre les démarches nécessaire en vue d'une mise à jour des données relatives à cette application).
Le processus de communication se poursuit normalement par la lecture des données d'application propres à l'application concernée. On notera à nouveau que la position mémoire des données d'application de l'application concernée (à savoir le ou les segments mémoires dans lesquels ces données sont enregistrées), ou plus exactement l'adresse mémoire de ces données, est contenues dans les données de répertoire DIRECTORY et qui ont été décryptées à l'étape S7. L'étape S8 consiste ainsi typiquement, dans le cas d'espèce, en une requête en lecture sélective ("Sélective Read") des données propres à l'application concernée. Ces données d'application sont à nouveau décryptées (étape S9) et transmises à l'application. On notera que le processus de communication peut être interrompu, dans certaines applications, soit au terme de l'étape S7 ou au terme de l'étape S8. Certaines applications peuvent en effet être interrompues dès lors que la présence de l'application concernée a pu être détectée ou dès lors que certaines données propres à cette application ont été chargées par l'unité de lecture (sans nécessiter de modification ultérieure de ces données).
L'organigramme de la figure 4c présente la phase finale du processus de communication qui consiste normalement (S10) en une modification par l'application concernée des données d'application chargées, suivie par (S1 1 ) le cryptage des données modifiées et (S12) leur écriture dans la mémoire du transpondeur. Une étape
finale de vérification (S13) peut en outre être typiquement effectuée afin de s'assurer que les données ont correctement ete transmises On notera à ce titre que le produit P4150 susmentionné utilise comme exemple de transpondeur dans le cadre de la présente invention est agence pour transmettre une quittance ACK ou NAK selon que les données transmises satisfont ou non a des tests pratiqués par le transpondeur (tels que des tests de parité comme amplement discuté de la spécification technique de ce produit) Dans l'éventualité d'une erreur, le processus d'écriture est répété
Comme brièvement énoncé plus haut, le cryptage et le décryptage des données du transpondeur est effectues au moins au moyen d'une première de de codage Préférablement, une clé de base dérivée du numéro de série unique du transpondeur est utilisée Une clé de codage supplémentaire préférablement dérivée de la position mémoire des données peut être utilisée pour crypter et décrypter les données d'application enregistrées dans les segments d'application (segments 181 à 184 dans la figure 2) On comprendra également qu'un clé de codage dérivée de l'identificateur d'application peut être utilisée pour crypter et décrypter ces mêmes données d'application On comprendra également que l'operateur de l'unité de lecture et de l'application est parfaitement susceptible d'utiliser d'autres clés de codage additionnelles pour crypter certaines données propres à son application On notera également que divers algorithmes de cryptage peuvent être envisagés tels des algorithmes basés ou dérivant de standards tels DES ou triple DES
Au titre de complément avantageux, il pourrait être envisageable de pourvoir l'unité de lecture et/ou l'objet portatif dans lequel est incorporé le transpondeur de moyens d'entrée d'un code d'identification personnel (ou PIN) voire de moyens de mesure d'une grandeur biometπque telle une empreinte digitale ou la voix par exemple Ces moyens sont bien connus en tant que tels par l'homme du métier et ne seront en conséquence pas décrits ici On notera que des tels moyens sont particulièrement avantageux pour certains types d'application, tels des applications médicales où la sécurité requise pour assurer la confidentialité des données échangées entre un patient et son médecin est primordiale Ceci vaut également pour des applications bancaires par exemple A titre d'exemple, on pourra se référer au document GB 2 181 582 (ou le document équivalent WO 87/02491 ) pour une implémentation possible de tels moyens
Comme déjà mentionne plus haut, le transpondeur peut aisément être incorpore dans un objet portatif telle une montre-bracelet A titre d'exemple, la société SWATCH (marque enregistrée) commercialise une telle montre-bracelet sous la dénomination ACCESS, cette montre-bracelet pouvant être utilisée dans le cadre du système d'identification selon l'invention après formatage de la mémoire du
transpondeur selon ce qui a été énoncé plus haut. D'autres exemples de réalisations de tels objets portatifs sont connus de l'homme du métier. On pourra par exemple se référer au document EP 0 844 685 au nom de la société
Eta SA Fabriques d'Ebauches qui présente une variante avantageuse de la montre- bracelet susmentionnée.
On comprendra que diverses modifications et/ou améliorations évidentes pour l'homme du métier peuvent être apportées aux modes de réalisation décrits dans la présente description sans sortir du cadre de l'invention défini par les revendications annexées. En particulier, on rappellera que les produits P4150 et P4095 auxquels il est référé dans la présente invention ne constituent que des exemples possibles de produits pouvant être utilisés dans le cadre de la présente invention. D'autres solutions équivalentes pourraient parfaitement être utilisées ou envisagées. Au titre d'amélioration, on pourra par exemple utiliser un transpondeur multi-applications du type décrit dans la demande de brevet européen EP 1 087 332 au nom de la société EM Microelectronic-Marin SA. On pourra également utiliser une fréquence de communication autre que la fréquence de 125 kHz utilisée par les composants susmentionnés. D'autres fréquences utilisées communément sont par exemple 13,56 MHz et 2,4 GHz. On notera finalement que les transpondeurs du système selon l'invention peuvent être de type passif ou actif, le type passif étant préféré pour des raisons de simplicité et de durée de vie.