• Nedap France

Comment sécuriser la RFID dans le secteur du retail ?



Lorsque vous avez déployé des étiquettes RFID RAIN pour améliorer votre fonctionnement, vous ne voulez pas réaliser que, soudainement, une grande quantité d’étiquettes ne fonctionne plus.

C’est un scénario qui n’est pas impensable si les étiquettes n’ont pas été protégées correctement. Comme les mécanismes de protection ne sont pas activés par défaut, tout le monde possédant un lecteur RFID est capable de changer le contenu de ces balises; ou même les détruire.

Le risque que cela arrive est bien entendu relativement faible, mais l'impact serait désastreux. La réception d’articles dans le centre de distribution échouera à cause du nombre élevé d'articles manquants, le décompte des stocks dans le magasin serait inexact et le processus de commande ralentirait en raison du retour aux codes à barres.

Il est donc primordial d'empêcher cela, et les normes RFID (GS1 EPC Gen2v2) ont bien sûr la possibilité de le faire. Il existe divers mécanismes en place pour empêcher toute modification des étiquettes RFID programmées.

Cependant, rendre impossible le changement des informations contenues dans l'étiquette RFID, est en conflit direct avec le besoin de fonctionnalité de confidentialité pour le consommateur :

La capacité de pouvoir "tuer" une étiquette (ou plus subtilement de réduire la distance de lecture, ou masquer le numéro unique de l'étiquette sont des paramètres critiques). Par conséquent, un bon équilibre doit être trouvé entre sécurité et confidentialité.

Ce blog abordera les fonctionnalités de sécurité et de confidentialité de la technologie RAIN RFID, et des meilleures pratiques pour les utiliser.

Mécanismes de sécurité : verrouillage et mots de passe

Il y a deux mécanismes de sécurisation des étiquettes RFID, et elles sont étroitement corrélées. Il s'agit de :

* Mots de passe : un code est requis pour exécuter certaines actions.

* Verrouillage : définir ce qu'il est possible de faire avec et sans mot de passe.

Les étiquettes RAIN RFID ont deux mots de passe :

* Code d'accès : utilisé pour (empêcher) la lecture et l'écriture de mémoires spécifiques dans la puce

* Code "kill" : utilisé pour (empêcher) de tuer la puce

Toutes les puces n'ont pas de mots de passe, car ce n'est pas obligatoire selon la norme. Un exemple: l'Impinj Monza R6 n'a pas d'accès et un mot de passe kill, ce qui signifie que la puce ne peut pas être tuée ni protégée par un mot de passe pour l'écriture. La Monza R6-P et la R6-A cependant en possèdent : la commande de verrouillage est obligatoire dans la norme.

A l’aide de la commande ‘verrouillage’, vous pouvez définir le comportement de la puce par rapport aux mots de passe. Écrire des mots de passe ne sert à rien, il faut les activer en «verrouillant» les étiquettes.

Il y a quatre configurations possibles en utilisant cette commande :

* Vous êtes capables d'écrire dans la mémoire, même sans code d'accès

* Vous êtes capables d'écrire dans la mémoire, lorsque vous donnez le bon mot de passe

* Vous n'êtes plus autorisés à écrire dans la mémoire, même si vous avez le bon mot de passe

* Vous êtes toujours autorisés à écrire dans la mêmoire, et vous ne pouvez plus jamais le changer ou le protéger avec un mot de passe

La configuration peut être définie pour chaque zone de mémoire: mémoire EPC (où sont stockées les informations sur le produit et le numéro de série), mot de passe kill, mot de passe d'accès, etc. Bien entendu, lorsque le mot de passe est protégé en écriture, il est également protégé en lecture: sinon tout le monde serait capable de récupérer le mot de passe aisément. La mémoire EPC ne peut pas être protégée contre la lecture avec des mots de passe et un verrouillage.

Quand le mot de passe n'est constitué que de zéros, il est impossible de tuer l'étiquette. Par conséquent, vous devez d’abord écrire un mot de passe kill composé de tous les zéros avant de pouvoir l’utiliser pour tuer une balise.

Cette phase d'écriture de la configuration du verrouillage et des mots de passe se produit généralement lors du codage des étiquettes.

Mécanismes de respect de la vie privée: réduction de la plage de lecture et masquage d'une partie de l'EPC


La fonction la plus «fondamentale» d’amélioration de la confidentialité des étiquettes RFID est la commande «kill». En exécutant cette commande, l'étiquette ne fonctionnera plus jamais.

C'est donc parfait pour le respect de la vie privée des consommateurs, mais rend difficile la mise en oeuvre de processus tels que la gestion automatisée des retours, et nécessiterait l’application d’une nouvelle étiquette une fois le produit retourné.

Deux mécanismes de confidentialité plus sophistiqués ont été introduits pour remédier à cela:

* Réduction des plages de lecture : change drastiquement la plage de lecture de quelques mètres à quelques centimètres.

* Cacher la partie privée sensible de l'EPC : rendre l'identifiant du produit et/ou son numéro de série illisible.

Ces deux mécanismes sont protégés avec un code d'accès.

Ces paramètres de confidentialité ne sont actuellement valables que sur les puces NXP UCODE 8/8m - mais nous nous attendons cependant à ce que d'autres fabricants de puces suivent le pas très bientôt.

Ainsi, même si, pour des raisons de sécurité, il serait suffisant d’empêcher toute modification de la puce en verrouillant de manière permanente toutes les mémoires et tous les mots de passe, il désactiverait également de manière permanente toutes les fonctions de confidentialité, ce qui est certainement une situation indésirable. L'utilisation de mots de passe est donc la voie à suivre.

Gestion des mots de passe

Le défi consiste bien sûr à gérer les mots de passe. L'approche la plus simple consisterait à utiliser un mot de passe, identique pour toutes les étiquettes d'une organisation. Cependant, une fois que le mot de passe a été divulgué, toutes les étiquettes sont vulnérables.

Et même si le mot de passe n'est pas dévoilé, il est toujours possible de l'obtenir par la force. En d'autres termes: essayer toutes les combinaisons possibles. Lorsque vous supposez qu’un seul lecteur aurait besoin d’environ 5 millisecondes pour essayer un mot de passe, et que nous savons qu’il y a 2 possibilités sur un total de 32, le potentiel est de 4.294.967.296, on peut calculer qu’il vous faut au maximum 248 jours pour «deviner» le mot de passe.

En moyenne, ce serait 124 jours.Et, parce que les étiquettes sont si économiques et facilement disponibles, vous pouvez simplement exécuter plusieurs lecteurs en parallèle pour obtenir les mots de passe de ceux-ci. Avec peu d'effort, un mot de passe peut être récupéré en quelques jours.

Pour le rendre beaucoup plus sécurisé, il faut une solution dans laquelle le mot de passe est différent dans chaque étiquette, de telle sorte que la violation d’un mot de passe n’aie aucune incidence sur les autres étiquettes.

Cependant, avoir un mot de passe par étiquette rendrait la gestion de la base de données peu évolutive.

Cela nécessiterait un aller-retour client-serveur à chaque fois que vous souhaitez supprimer une étiquette ou activer une fonctionnalité de confidentialité.

Heureusement, ce problème a été résolu à maintes reprises dans des situations similaires. En utilisant une fonction de hachage cryptographique unidirectionnelle, il est possible de calculer un mot de passe en fonction de la valeur de l'EPC et d'un secret (un autre mot de passe, unique et créé pour chaque enseigne). Une fonction de hachage à sens unique fonctionne de telle sorte que:

* Si vous avez l'EPC et le secret, vous pouvez trouver le mot de passe. * Si vous avez le mot de passe et l'EPC, vous ne pouvez pas trouver le secret.

Cela signifie que même si vous récupérez un ou plusieurs mots de passe par la force, vous ne pouvez pas récupérer les mots de passe d'autres étiquettes. Cela implique également que vous n'avez besoin que d'un "secret" par marque pouvant être distribué en toute sécurité. Il n'est pas nécessaire d'avoir une base de données de mots de passe. C'est un mécanisme très évolutif, sûr et fiable.

Mise à l'échelle de la solution pour les détaillants multimarques

Bien que cette solution fonctionne bien pour un détaillant à marque unique, elle devient plus difficile pour les détaillants à marques multiples qui vendent des produits d'origines différentes. Ils ne pourront pas appliquer leur propre stratégie de gestion de mot de passe aux marques, car il serait impossible à mettre en œuvre dans la chaîne d'approvisionnement.

Nous proposons que chaque marque implémente la gestion de mot de passe comme décrit ci-dessus, et distribue les clés de sécurité aux détaillants qui vendent leurs produits. Chaque série de préfixes aurait son propre secret. Lorsque les détaillants souhaitent activer une fonction de confidentialité sur un EPC, ils obtiennent le préfixe de l'entreprise pour cet EPC, et l'utilisent pour obtenir le secret approprié, qui peut être utilisé pour générer le mot de passe nécessaire à cette fin.

Cette solution combine les avantages d'avoir des mots de passe uniques par étiquette, tout en facilitant la mise en œuvre par les marques et les détaillants.

Le risque évident dans cette solution réside dans la gestion des clés des marques: si un détaillant dévoile accidentellement la clé d'une ou de plusieurs marques, vous risqueriez tout de même de vous retrouver en difficulté. Il convient de suivre les meilleures pratiques de l'industrie en matière de distribution des clés.

Et si une marque ne veut pas divulguer le secret aux détaillants, elle peut tout de même offrir un service API lorsqu'un détaillant présente un EPC, pour obtenir un mot de passe en retour. Cela nécessite évidemment une connectivité, mais c'est la méthode de travail la plus sécurisée.

Conclusion : cela nécessite une standardisation

En prenant tout cela ensemble, avec une configuration appropriée des paramètres de verrouillage sur la puce - et en définissant des mots de passe, il est possible de sécuriser les puces RFID de manière évolutive contre les modifications non autorisées - tout en préservant la confidentialité des consommateurs. Bien entendu, tout cela est intégré par défaut à la solution Nedap !D Cloud.

Étant donné que cette solution ne fonctionnera que si tout le monde utilise ces méthodes, nous recommandons vivement à l'industrie de normaliser cette approche de manière à ce que tous les détaillants et les consommateurs puissent bénéficier d'un mode de déploiement RAIN RFID sécurisé et respectueux de la vie privée.


17 vues0 commentaire