PROCEDE DE TRANSMISSION DE DONNEES D'IDENTIFICATION, PROCEDE DE TRAITEMENT DE DONNEES AINSI TRANSMISES,
DISPOSITIFS ASSOCIES
La présente invention concerne le domaine de la transmission de données d'identification d'un élément. Elle porte plus particulièrement sur les problématiques de confidentialité liées à la traçabilité de l'élément.
L'invention s'applique à tout domaine de transmission de données d'identification. Elle trouve un intérêt tout particulier dans le domaine des systèmes d'identification sans contact basés sur une transmission par radio de données d'identification. Ces systèmes permettent des opérations de lecture mais aussi d'écriture (ou mise à jour) par un lecteur, de données d'identification diffusées depuis une étiquette électronique, encore appelée tag, dotée d'une antenne et associée à un élément à identifier.
Certains de ces systèmes s'appuient par exemple sur la technologie RFID (Radio Frequency Identification).
Les technologies d'identification par radio sont utilisées dans des applications variées, telles que le suivi de fabrication, la logistique et le transport, la distribution et la vente, la lutte contre la contrefaçon, la détection de vol, les services après-vente etc.
Les étiquettes électroniques sont capables d'émettre des données d'identification qui leur sont associées. Ces données d'identification identifient généralement le produit sur lequel l'étiquette est fixée et permettent d'en déduire des informations diverses, par exemple le type ou modèle du produit, le numéro de série, l'entreprise productrice du produit etc.
Les données d'identification peuvent identifier l'utilisateur du produit.
Toute personne disposant d'un lecteur d'étiquettes peut accéder aux données d'identification et aux informations fournies par ces données. Il est également possible d'en déduire des informations relatives aux déplacements effectués par les produits (et donc à des utilisateurs de certains produits). Cette diffusion sans restriction peut donc soulever des problèmes liés à la protection de la vie privée ou à une exploitation abusive des informations diffusées. Ces problèmes constituent des obstacles au déploiement des technologies de radio identification.
II existe des techniques permettant de répondre partiellement à ces besoins de restriction d'accès aux informations fournies par les identifiants diffusées depuis les étiquettes et de protection de la vie privée.
Certaines étiquettes disposent d'une fonctionnalité permettant de les mettre hors service. Cependant cette mise hors service est définitive et rend donc l'étiquette inutilisable par la suite.
Un mécanisme nommé « RSA Blocker Tag » (The Blocker Tag : Sélective Blocking of RFID Tags for Consumer Privacy ; Ari Juels, Ronald Rivest and Michael Szydlo ; cf. http://www.rsasecuritv.com/ rsalabs/staff/bios/aiuels/publications/blocker/blocker.pdf), développé par la société RSA Security, permet de bloquer temporairement la lecture d'étiquette en fournissant de fausses réponses, par l'intermédiaire d'un brouilleur (par exemple une étiquette spécifique), aux requêtes d'un lecteur, ce qui empêche celui-ci de distinguer les informations diffusées par une étiquette. Ce mécanisme permet notamment d'empêcher de tracer les données concernant des individus ou des marchandises, au-delà d'un périmètre défini. L'inconvénient d'un tel mécanisme est qu'il est intrusif vis-à-vis des étiquettes qui entrent involontairement dans le champ d'action du brouilleur et qui se trouvent alors involontairement brouillées. Un autre mécanisme (Squealing Euros: Privacy Protection in RFID-
Enabled Banknotes ; Ari Juels and Ravikanth Pappu ; cf. http://www.rsasecurity.com/rsalabs/staff/bios/ajuels/publications/euro/Euro.pdf) développé par la société RSA Security permet de se prémunir contre les risques liés à la traçabilité dans le cas d'étiquettes intégrées à des billets de banque. Cependant ce mécanisme nécessite un accès visuel au billet de banque (lecture optique), pour exploiter l'identifiant diffusé par l'étiquette, bridant ainsi fortement les avantages apportés par la liaison sans fil .
La présente invention vise à proposer une solution ne présentant pas les inconvénients des techniques de l'art antérieur et permettant de limiter la diffusion sans restriction d'informations sensibles fournies par les identifiants fournis par les étiquettes pratiquant la radio identification.
Suivant un premier aspect, l'invention propose un procédé de transmission de données d'identification par un premier dispositif à destination d'au moins un second dispositif.
Un procédé selon l'invention comprend les étapes suivantes : - répartir les données d'identification en au moins une première partie de données d'identification ayant un premier niveau de confidentialité et une seconde partie de données d'identification ayant un second niveau de confidentialité plus élevé que le premier niveau de confidentialité ;
- chiffrer un premier champ de données comprenant au moins la seconde partie de données d'identification ;
- transmettre un second champ de données comprenant au moins la première partie de données d'identification non chiffrée et le premier champ de données chiffré.
Selon ce procédé, la seconde partie des données, associée au second niveau de confidentialité, n'est diffusée que sous une forme chiffrée. Elle n'est donc accessible qu'aux lecteurs pourvus de la clef de déchiffrement adaptée.
La première partie des données est diffusée en clair, sans être chiffrée. Elle est donc accessible à tous les lecteurs. Elle peut en outre faire partie des données chiffrées. Un tel procédé selon l'invention permet ainsi de dévoiler sans restriction de diffusion une partie limitée des données d'identification associées au premier dispositif, par exemple une étiquette électronique, et, par conséquent une partie limitée de l'information contenue dans ces données d'identification. Cette partie limitée d'information peut suffire pour effectuer certaines opérations telles que la gestion d'un inventaire, le décompte des produits présents ou manquants etc.
Ce procédé permet en outre de divulguer de façon restreinte la totalité des données d'identification, et donc la totalité des informations attachées à ces données d'identification. Celles-ci sont accessibles aux seconds dispositifs, par exemple aux lecteurs d'étiquettes électroniques, munis de la clef de déchiffrement correspondant à la clef de chiffrement utilisée. Ces informations restreintes sont nécessaires pour effectuer des opérations pour lesquelles il est
nécessaire d'identifier précisément un produit, par exemple dans le cadre d'un service après-vente.
Un tel procédé peut en outre être avantageusement complété par la mise en œuvre d'une étape de signature numérique, afin de permettre d'authentifier le premier dispositif d'où proviennent les données d'identification.
Suivant un second aspect, l'invention propose un procédé de traitement de données reçues par un second dispositif, lesdites données ayant été transmises par un premier dispositif, ledit procédé comprenant l'étape suivante : - extraire depuis les données reçues au moins des données non chiffrées comprenant une première partie de données d'identification ayant un premier niveau de confidentialité .
- extraire en outre des données reçues un premier champ de données chiffré ; - déchiffrer ledit premier champ ;
- extraire dudit premier champ déchiffré au moins une seconde partie de données d'identification ayant un second niveau de confidentialité plus élevé que le premier niveau.
Suivant un troisième aspect, l'invention propose un dispositif pour transmettre des données d'identification à destination d'au moins un second dispositif, comprenant des moyens pour mettre en œuvre un procédé selon le premier aspect de l'invention.
Suivant un quatrième aspect, l'invention propose un dispositif pour recevoir et traiter des données transmises, comprenant des moyens pour mettre en œuvre un procédé suivant le second aspect de l'invention.
Suivant un cinquième aspect, l'invention propose un programme d'ordinateur, exécutable par une unité de traitement d'un calculateur numérique dans un premier dispositif, comprenant des instructions pour exécuter un procédé suivant le premier aspect de l'invention lors d'une exécution du programme par ladite unité de traitement.
Suivant un sixième aspect, l'invention propose un programme d'ordinateur, exécutable par une unité de traitement d'un calculateur numérique dans un second dispositif, comprenant des instructions pour exécuter un
procédé suivant le second aspect de l'invention lors d'une exécution du programme par ladite unité de traitement.
D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels :
- la figure 1 représente un système mettant en œuvre un mode de réalisation de l'invention ;
- la figure 2 représente le tag RFID et le lecteur L1 de la figure
1 ; - la figure 3 est un organigramme des différentes étapes d'un procédé exécutées par un tag RFID dans un mode de réalisation de l'invention ;
- la figure 4 est un organigramme des différentes étapes d'un procédé exécutées par un lecteur dans un mode de réalisation de l'invention.
Sur la figure 1 , un système 1 de radio identification de technologie RFID est représenté. Ce système 1 comprend divers produits dotés chacun d'un tag RFID. Chaque tag est par exemple soudé, riveté ou injecté dans le produit. Des données d'identification du produit associé au tag sont stockées dans le tag.
Ce système 1 comporte en outre des lecteurs de tags RFID. Un tel système permet la lecture par un lecteur d'un tag à la condition que le lecteur soit dans la zone de couverture radio du tag. Le lecteur peut lire plusieurs tags en même temps.
Les tags considérés dans ce mode de réalisation sont passifs et ne disposent donc pas d'énergie propre pour diffuser un signal. C'est le champ électromagnétique créé par un lecteur au niveau du tag qui permet de fournir l'énergie nécessaire au réveil de la puce et à la diffusion d'un signal comportant les données d'identification stockées dans la puce. Dans d'autres modes de réalisation, les tags sont actifs.
La fréquence de diffusion utilisée par le tag est par exemple de 13,56 MHz. D'autres fréquences peuvent être utilisées par d'autres tags. Les lecteurs sont dans certains cas compatibles avec des tags de fréquences différentes.
Les données d'identification considérées dans le mode de réalisation décrit se présentent sous la forme d'un numéro EPC (Electronic Product Code) unique, propre à chaque tag et qui comprend par exemple 96 bits. Le numéro
EPC comporte plusieurs groupes de bits, identifiant chacun par exemple la catégorie d'un produit (indiquant si le produit est une chemise, une voiture, une montre etc) ou un numéro de série, le fabricant d'un produit, ou le pays ou la zone géographique d'origine ou le distributeur etc.
Sur la figure 1 , un produit 2 parmi les divers produits du système 1 et quatre lecteurs L1 , L2, L3, L4 ont été représentés. Le produit 2 est muni d'un tag RFID T, qui lui est associé.
Le tag RFID T est doté d'une antenne 3. Comme représenté en figure 2, il comporte par ailleurs un module 4 de constitution des éléments à transmettre, une mémoire 5, un générateur de nombre pseudo-aléatoire 6.
La mémoire 5 stocke le numéro EPC propre au tag RFID T et nommé N ci-après. Elle comporte en outre une clef de chiffrement SKc et une clef privée de signature SKs. Le générateur de nombre pseudo-aléatoire 6 est adapté pour produire des aléas .
Le module de constitution 4 est adapté pour mettre en œuvre un algorithme de chiffrement sur des données à l'aide de la clef de chiffrement SKc et pour mettre en œuvre un algorithme de signature sur des données à l'aide de la clef de signature SKs.
Comme représenté sur les figures 1 et 2, le lecteur L1 comporte une antenne 7, un générateur de nombre pseudo-aléatoire 8, un module de traitement 9 et une mémoire 10.
La mémoire 10 stocke une clef de déchiffrement SKD, associée à la clef de chiffrement SKc et une clef publique de signature PKs, associée à la clef privée SKs, et permettant de vérifier ladite signature.
Le module de traitement 9 est adapté pour traiter les données reçues par l'antenne 7 et provenant d'un tag RFID du système 1. Il est adapté en outre
pour mettre en œuvre un algorithme de déchiffrement sur une partie de ces données à l'aide de la clef de déchiffrement SKD et pour mettre en œuvre un algorithme d'authentification de données à l'aide de la clef publique de signature PKs. Le lecteur L2 est adapté pour lire les données transmises par le tag T, mais ne possède ni la clef de déchiffrement SK0, ni la clef publique de signature PKs.
Le lecteur L3 est adapté pour lire les données transmises par le tag T. Il possède la clef de déchiffrement SKD, mais ne possède pas la clef publique de signature PKS.
Le lecteur L4 est adapté pour lire les données diffusées par le tag T. Il possède la clef publique de signature PKs, mais ne possède pas la clef de déchiffrement SKD.
Selon l'invention, on a préalablement défini une répartition des bits de tout numéro EPC entre des parties associées chacune à un niveau de confidentialité respectif. Dans le cas considéré, deux niveaux sont définis. Dans d'autres modes de réalisation, un nombre plus élevé de niveaux peuvent être définis.
Dans le cas considéré, un premier niveau de confidentialité C1 est associé à un ensemble de groupes de bits du numéro EPC, fournissant des informations d'ordre général sur le produit. Un second niveau de confidentialité C2, supérieur au premier niveau C1 , est associé aux groupes du numéro EPC n'ayant pas été associés au premier niveau de confidentialité. Ces groupes correspondent à des informations sensibles et confidentielles, leur connaissance permettant d'identifier précisément le produit.
Dans le mode de réalisation décrit en référence à la figure 1 , la répartition des groupes de bits du numéro EPC associé à un tag, est la suivante : le groupe de bits identifiant la catégorie du produit est associé au premier niveau de confidentialité C1 et constitue donc la première partie, les autres groupes de bits sont associés au second niveau de confidentialité C2 et constitue la seconde partie. Des répartitions très variées peuvent être mises en œuvre selon les modes de réalisation de l'invention.
Les opérations menées par le tag T dans le mode de réalisation de l'invention considéré, sont représentées sur la figure 3.
Les opérations menées par le lecteur L1 dans le mode de réalisation de l'invention considéré, sont représentées sur la figure 4. Le lecteur L1 génère à l'aide du générateur 8, un nombre aléatoire m, puis il diffuse ce nombre m depuis l'antenne 7 (étape a').
Le tag RFID T reçoit l'aléa m (étape a) et le stocke dans la mémoire 5.
Puis il génère un aléa r à l'aide du générateur pseudo-aléatoire 6 (étape b). Le module de constitution du signal 4 est adapté pour mettre en œuvre la répartition des champs du numéro N selon les niveaux de confidentialité C1 ,C2 comme indiqué ci-dessus (étape c), le modèle de répartition ayant par exemple été stocké préalablement dans la mémoire.
Puis le module 4 constitue un champ public Idp comprenant la première partie de données d'identification, N1 , associée au niveau de confidentialité C1 et ne comprenant pas la seconde partie de données d'identification, N2, associée au niveau C2. Il constitue en outre un champ secret Ids (étape d) comprenant la seconde partie N2 de données associée au niveau de confidentialité C2. Dans le mode de réalisation considéré, Idp est égale à la première partie N1 des bits de l'identifiant N, associée au niveau de confidentialité C1 et Ids est égale à l'identifiant N.
Le module 4 obtient ensuite le champ de données {r||lds} en effectuant la concaténation de l'aléa r et du champ secret Ids (étape e). Puis il chiffre ce champ de données {r|| Ids} à l'aide de la clef de chiffrement SK0 stockée dans la mémoire 5 et obtient ainsi le champ de données chiffré {r j| Ids} sκc (étape f).
Il détermine ensuite Ie champ de données M en concaténant l'aléa m mémorisé dans la mémoire 5, le champ de données chiffré {r||lds} sκcet le champ public Idp, soit M = m || {r || Ids} sκc || Idp (étape g).
Puis le module 4 calcule la signature S du champ de données M, à l'aide de la clef de signature SKs : S= {M}sκs (étape h).
Le tag RFID T diffuse ensuite à l'aide de l'antenne 3 le champ de données M et la signature S (étape i).
Le lecteur L1 reçoit ces données M et S captées par l'antenne 7 (étape b'). II vérifie que l'aléa m reçu est égal à l'aléa qu'il a émis précédemment
(étape c').
A l'aide de la clef publique de signature PKs, le module de traitement 9 du lecteur L1 vérifie que la signature S déchiffrée correspond bien au champ de données M, ce qui prouve que les données proviennent bien du tag T (étape d').
Dans un mode de réalisation, la mémoire 10 stocke en fait une pluralité de clefs publiques de signature associées respectivement à des identifiants de tags multiples. Et la sélection par le module 9 de la clef publique de signature à utiliser est effectuée parmi les clefs publiques associés à des identifiants dont la partie de bits associés au premier niveau de confidentialité C1 est égal au champ public Idp.
Puis le module de traitement 9 du lecteur déchiffre la partie chiffrée du champ de données M à l'aide de la clef de déchiffrement SKD stockée dans la mémoire 10 (étape e'). Ii obtient ainsi l'aléa r et le champ secret Ids (étape f ), qui lui délivre l'identifiant N (étape g').
Le rôle de l'aléa m est de permettre au lecteur L1 de s'assurer que la signature du tag n'est pas un simple rejeu d'une précédente signature.
Le rôle de l'aléa r est de permettre de rendre le chiffrement non déterministe, afin d'éviter qu'un tag soit traçable par un lecteur qui renverrait l'aléa m et qui déduirait la présence du tag en détectant une même réponse M, S.
Le lecteur L1 a ainsi accès à la totalité des données d'identification N et a validé la provenance de ces données. Il est ainsi apte à effectuer des opérations nécessitant la connaissance de l'ensemble des données d'identification N. Par exemple, dans le cadre d'un service après-vente, il est nécessaire de retrouver le champ secret pour déterminer la série d'un produit et valider la nécessité d'un retour atelier. Ou encore lorsque le lecteur retrouve
des objets perdus ou volés, il est nécessaire de retrouver le champ secret pour identifier le propriétaire.
Le lecteur L2 reçoit par l'intermédiaire de son antenne 7 le champ de données M et la signature S. Ne possédant aucune clef, il va extraire du champ de données le champ public Idp, disponible sous forme non chiffrée. Il ne peut avoir accès au champ secret Ids, ni à l'identifiant N. Il n'a donc pas accès à des données confidentielles. En particulier, il n'a pas accès à des données par lesquelles il est possible de porter atteinte à la vie privée d'un usager du produit. Un tel lecteur peut détecter ce qu'il ne lit pas (c'est-à-dire réagir s'il ne trouve pas un champ public censé être présent), dans le cadre de la lutte contre le vol. Il peut utiliser les informations fournies par le champ public Idp sur le produit et l'usager. Il peut ainsi compter ou contrôler une quantité de produits sur la base des données de champ publiques. Il peut être utilisé pour faciliter une recherche, par exemple d'un objet perdu dans une pièce. Il permet de détecter un dépassement de minima, dans le cadre d'opération de douane par exemple. Les opérations effectuées par le lecteur L2 sont sans garantie toutefois sur le fait que ce champ n'a pas été envoyé de façon malicieuse, puisqu'il ne peut vérifier la signature. Le lecteur L3 reçoit par l'intermédiaire de son antenne 7 le champ de données M et la signature S. Il va extraire du champ de données le champ public Idp, disponible sous forme non chiffrée. Il possède la clef de déchiffrement SKp, mais ne possède pas la clef publique de signature PKs. Il va donc déchiffrer le champ secret Ids et obtenir ainsi l'identifiant N. Il peut utiliser les informations fournies par l'identifiant complet N, sans garantie toutefois sur la provenance de cet identifiant, puisqu'il ne peut vérifier la signature.
Le lecteur L4, lorsqu'il reçoit les données M et S par l'intermédiaire de son antenne 7 obtient le champ public Idp, comme le lecteur L2. Comme il possède la clef publique de signature PKs, il peut en outre vérifier la validité des données de champ publique Idp. Il peut ainsi être utilisé dans le cadre de la lutte contre la contrefaçon des objets de luxe, des billets de banque, des cartes d'identité etc.
Dans un mode de réalisation, le lecteur L4 possède une mémoire où l'ensemble des clefs publiques de signatures des tags dont les données de champ public Idp sont identiques, sont mémorisées en association avec ces données Idp. Dans l'exemple décrit ci-dessus, les lecteurs L2, L3 et L4 reçoivent les données M et S générées par le tag T à partir de la réception de l'aléa m fournir par le lecteur L1. Toutefois, chacun de ces lecteurs peut susciter directement l'envoi de données similaires (comprenant ou non un aléa fourni par le lecteur) depuis le tag T. Dans d'autres modes de réalisation, le champ secret Ids constitué par
Ie tag RFID T comprend les bits de la seconde partie de bits de l'identifiant N associée au niveau de confidentialité C2, mais ne comprend pas l'identifiant N complet.
Tout type de générateur pseudo aléatoire est utilisable par l'invention. Il ne doit cependant utiliser qu'un minimum de portes logiques afin d'être facilement implantable dans un tag RFID. Dans un mode de mise en oeuvre, on utilisera une fonction anti-clone du type de celle décrite dans le document FR 01 08586, déposé le 26 juin 2001 , qui peut être réalisée en environ 500 portes logiques. Tout algorithme de chiffrement (symétrique ou asymétrique) peut être utilisé pour mettre en œuvre l'invention. Il ne doit cependant utiliser qu'un minimum de portes logiques afin d'être aisément implantable dans un tag RFID. Dans un mode de mise en œuvre de l'invention, on utilise l'implémentation de AES décrite dans « Strong Authentication for RFID Systems using the AES Algorithm » (M. Felhofer, S. Dominikus, J.
Wolerstorfer, Proceedings de CHES 2004) et qui nécessite 3600 portes logiques. Il est aussi possible d'utiliser les fonctions anti-clone citées plus haut.
Dans un autre mode de mise en œuvre, on utilise un algorithme de chiffrement asymétrique, en implémentant l'algorithme NTRU (cf www.ntru.com) en 2500 portes logiques.
Tout algorithme de signature/authentification est utilisable par l'invention. Il ne doit cependant utiliser qu'un minimum de portes logiques afin d'être aisément implantable dans un tag RFID.
L'algorithme GPS (cf. le document FR 9401271 déposé le 04/02/1994) permet de répondre à ce besoin. Le document « Public Key Authentication with one (on-line) Single Addition » (M. Girault, D. Lefranc, Proceedings de CHES 2004) décrit les modes de réalisation de cet algorithme au sein d'un tag RFID. Cet algorithme de signature/authentification nécessite le stockage de coupons (nombres entiers calculés préalablement par un calculateur extérieur au tag) dans le tag RFID. En conséquence, le nombre de signatures/authentifications possible par le tag RFID est limité par sa capacité de stockage (à chaque authentification correspond un nouveau coupon et il ne peut pas y avoir de rejeu). Pour pallier ce problème, il est possible, dans le cadre de l'invention, d'envisager une mise à jour du tag RFID entraînant un rajout de nouveaux coupons. En effet, dans certaines applications, l'objet contenant le tag RFID revient nécessairement et régulièrement à son origine. Ainsi, dans le cadre des billets de banque, par exemple, la plupart des billets reviennent assez souvent à la banque de France qui peut ainsi, chaque fois, remplir le tag RFID de nouveaux coupons, permettant ainsi à ce dernier de se recharger afin de s'authentifier un maximum de fois.
Il est aussi possible d'utiliser des algorithmes de signature à coût réduit n'utilisant pas de coupons et, par conséquent, ne nécessitant pas le rechargement du tag RFID.
L'invention peut être mise en œuvre dans tout système de radio identification. Elle peut en outre être appliquée dans des systèmes où des données d'identification sont transmises depuis un premier dispositif vers au moins un second dispositif, par des liaisons de communication autres que radio, par exemple un réseau filaire.
Ainsi la présente invention permet à un tag de diffuser ses données d'identification, donnant accès sans restriction de lecture à une partie de ses données d'identification, associée à un niveau de confidentialité bas. La présente invention, en diffusant, de façon chiffrée, une seconde partie de ses données associée à un niveau de confidentialité haut, permet que ces données sensibles ne soient lues que par les lecteurs possédant la clef de déchiffrement qui convient. La protection de la vie privée des usagers des produits est donc renforcée.
La partie des données d'identification associée à un niveau de confidentialité bas, est dans des modes de réalisation, utilisée pour effectuer des opérations telles que le comptage d'une quantité de produits, la recherche de produits. La présente invention permet ainsi de restreindre la traçabilité des produits/utilisateurs des tags.
Avantageusement, l'invention comprend en outre la mise en œuvre d'un processus de signature numérique par le tag.