# Protocoles de communication RFID

Les protocoles de communication RFID désignent l'ensemble des caractéristiques qui permettent à une radio-étiquette de communiquer avec un lecteur. La RFID impose des exigences bien spécifiques tant d'un point de vue de la confidentialité et de la sécurité que des performances. Des solutions et améliorations sont proposées par la recherche et l'industrie, certaines font leur chemin jusqu'aux spécifications des normes.

## Caractéristiques des protocoles RFID
### Système RFID actif ou passif

Il y a deux types de radio-étiquette en fonction de leur source d'alimentation, actives et passives. Les radio-étiquettes actives embarquent leur propre source d'énergie, une batterie par exemple, ou bien elles peuvent être connectées directement à une source d'alimentation externe. Quant aux radio-étiquettes passive elles reçoivent leur énergie grâce au signal du lecteur. Aujourd'hui, la plupart des systèmes RFID sont passifs car plus pratiques. Autonomes d'un point de vue énergétique et moins chers à l'achat. Ils sont cependant limités en termes de puissance de calcul, de stockage et de portée d'émission. La technologie RFID active quant à elle, avec une source d'énergie à bord des radio-étiquettes, donne un éventail de possibilités qui sont impossibles avec les systèmes passifs$^,$.
D'un point de vue protocole, dans le cas d'une radio-étiquette passive, il faut prendre en compte les performances limitées de la radio-étiquette. Pour les radio-étiquettes actives alimentées par batterie, le protocole doit être soigneusement conçu pour limiter la dépense énergétique de la radio-étiquette$^,$.

### Initiation de la communication

La question de qui parle le premier entre le lecteur (RTF, Reader Talk First) et la radio-étiquette (TTF, Tag Talk First) est une question fondamentale dans l'élaboration des protocoles. Voici leurs avantages et inconvénients :
RTF :
* La possibilité de détecter une grande quantité de radio-étiquette dans un temps acceptable;
* Chaque lecteur peut être configuré pour interroger un groupe de tag seulement.
TTF :
* La possibilité de déployer un grand nombre de lecteur en écoute dans un espace restreint;
* Plus performant dans des contraintes de temps forts;
* Mise en place plus simple.

## Exigences des protocoles RFID

Les exigences à remplir par les protocoles RFID dépendent largement des fonctionnalités et des performances attendues.
Avant de concevoir un nouveau protocole d'identification RFID, il est important de prendre en compte un certain nombre d'exigences qui doivent être atteintes. Ces exigences sont liées à des questions de confidentialités, de sécurités et de performances.

### Confidentialité

Une des principales préoccupations pour les systèmes RFID est la confidentialité. Les communications non protégées entre les radio-étiquettes et les lecteurs sur un canal sans fil peuvent divulguer des informations sur les balises et leurs positions. Deux questions de confidentialité majeures sont identifiées :
* Confidentialité des informations de la radio-étiquettes : Quand un lecteur lit une radio-étiquette il reçoit son identification. Si cette identification est par exemple un numéro de sécurité sociale alors l'identification elle-même devient une donnée sensible. Pour éviter les fuites d'informations, il faut contrôler les lectures, ou que la radio-étiquette n'ait pas de signification intrinsèque$^,$.
* Confidentialité de la localisation : Si les réponses d'une radio-étiquette sont différentiables des autres radio-étiquettes. Alors, avec plusieurs lecteurs, il est possible, par trilatération, de géolocaliser les déplacements d'un porteur de radio-étiquettes par exemple. Il faut que les messages provenant des tags soient anonymes$^,$

### Sécurité

Il est possible de classifier les attaques en deux catégories : faible et forte.

#### Attaque faible

Ce sont des attaques qui sont réalisables simplement en observant et en manipulant les communications entre les lecteurs et les tags.
* Usurpation d'identité d'une radio-étiquette : Un espion peut usurper l'identité d'une radio-étiquette cible sans savoir même connaitre les secrets internes de la radio-étiquette. Il peut alors communiquer avec les lecteurs à la place de la radio-étiquette. De même, si un attaquant connaît l'état interne d'une radio-étiquette, il est alors capable de se faire passer pour le lecteur. La combinaison de ces deux situations se traduit par une attaque de type l'homme du milieu.
* Attaque par rejeu : Dans une telle attaque, un attaquant réutilise les communications des sessions précédentes pour effectuer une authentification réussie entre une radio-étiquette et un serveur$^,$.
* Déni de service : Un attaquant perturbe les interactions entre les lecteurs et les étiquettes par altération ou par blocage des messages transmis$^,$$^,$.

#### Attaque forte

Ces attaques sont accessibles à un attaquant qui aurait mis la main sur une radio-étiquette cible. La mémoire à faible coût des radio-étiquettes n'est pas inviolable et est exposée à une lecture physique.
* Traçabilité en amont : Même si, compte tenu de tous les états internes d'une radio-étiquette cible à l'instant t, l'adversaire ne devrait pas être en mesure d'identifier les interactions de la radio-étiquette cible qui se sont produites au moment t' < t. Autrement dit, il faut que la connaissance de l'état interne actuel d'une radio-étiquette n'aide pas à identifier les interactions passées de la radio-étiquette$^,$$^,$.
* Traçabilité en aval : Peut être défini de manière similaire comme le fait que, la connaissance de l'état interne d'une radio-étiquette à l'instant t ne devrait pas aider à identifier les interactions que la radio-étiquette aura à un instant t' > t. Autrement dit, il faut que la connaissance de l'état interne actuel d'une radio-étiquette n'aide pas à identifier les interactions futures de la radio-étiquette$^,$$^,$.
* Imitation du serveur : Cela signifie que l'adversaire avec la connaissance de l'état interne d'une radio-étiquette est capable d'émuler un lecteur qui semblerait légitime pour la radio-étiquette.

### Performance

Les performances de stockage et de puissance de calcul des radio-étiquettes étant extrêmement limitées, elles ne peuvent pas utiliser de systèmes cryptographiques lourds. Les ressources doivent aussi être utilisée avec parcimonie dans le cas des radio-étiquettes auto alimentées.
* Minimisation du stockage : Le volume de données stockées dans une radio-étiquette doit être minimisé en raison de la taille limitée de sa mémoire$^,$.
* Minimisation de la puissance de calcul : les calculs du côté de la radio-étiquette doivent être minimisés à cause de sa puissance de calcul et de son énergie très limitée$^,$.
* Limitation des communications : Le volume de données que chaque radio-étiquette peut transmettre par seconde est limitée par la largeur de bande disponible pour toutes les radio-étiquettes$^,$.
* Évolutivité : Le serveur doit être capable de gérer des quantités croissantes de travail dans une concentration de radio-étiquette élevée. Il doit être en mesure d'identifier plusieurs radio-étiquettes en utilisant le même canal radio. Effectuer une recherche exhaustive pour identifier les étiquettes individuelles peut être difficile dans une forte concentration de radio-étiquettes.

## Implémentations existantes

Énumération non exhaustive d'implémentation de protocole relatif au RFID.

### Identification
#### Supertag

C'est la première implémentation de type TTF (Tag Talks First), il est un exemple d'utilisation du protocole unslotted Aloha. SuperTag définit qu'une fois alimentée chaque radio-étiquette va commencer à transmettre après un temps généré aléatoirement pour chaque radio-étiquette. Chaque balise est programmée avec un intervalle d'attente maximale initiale entre deux transmissions consécutives de son propre identifiant. Une fois identifiée par le lecteur, la radio-étiquette s'éteint pour ne pas perturber d'autre transmission, et ne pourra être réactivée qu'après coupure et ré-alimentation. Une option permet aussi au lecteur d'augmenter les délais de retransmission des radio-étiquettes dans le cas où il détecterait trop de collisions$^,$.

#### IP-X

Variante du supertag, il reprend son fonctionnement. A l'exception que les radio-étiquettes n'attendent aucune réponse du lecteur$^,$.

#### TOTAL

TOTAL sont les initiales de "Tag Only Talks After Listening", c'est une évolution du protocole IP-X qui avait pour défaut de générer beaucoup d'interférences. L'idée a donc été d'attendre que les radio-étiquettes détectent la présence d'un lecteur en attente de lecture avant d'émettre. Les tags sont donc beaucoup plus discrets mais en contrepartie l'identification est plus lente.

### Anti-collision

L'un des plus grands inconvénients des systèmes RFID est sa faible efficacité d'identification de radio-étiquette à cause des collisions. Quand plusieurs radio-étiquettes tentent de transférer des données vers le lecteur simultanément, on est dans le cas d'un accès multiple. Il faut partager le temps de parole entre les radio-étiquettes.

#### Concepts

Space-division multiple access (en) (SDMA)
Une option est de réduire significativement la portée d'un seul lecteur, mais pour compenser, il faut alors utiliser un grand nombre de lecteurs pour former un réseau, fournissant ainsi la couverture d'une zone. La seconde option est d'utiliser une antenne directionnelle sur le lecteur. De manière à ne scanner, à un instant t, qu'une partie des radio-étiquettes. Un inconvénient de la technique de SDMA est le coût relativement élevé de la mise en œuvre du système de lecteur et d'antenne.
Accès multiple par répartition en fréquence (AMRF)
La technique d'accès multiple par répartition en fréquence (également appelée FDMA) consiste à doter le lecteur de plusieurs canaux de transmission permettant ainsi aux radio-étiquettes de communiquer simultanément. Un inconvénient de la procédure AMRF est le coût relativement élevé des lecteurs, de plus un récepteur dédié doit être fourni pour chaque canal de réception.
Time domain multiple access (TDMA)
La technique TDMA (accès multiple à répartition dans le temps) consiste à répartir le temps de parole entre les radio-étiquettes en leur fournissant des fenêtres temporelles dans lesquelles chacune communique.

#### Algorithme ALOHA

Le genre type d'algorithmes d'anti-collision populaires sont les algorithmes de type ALOHA. Ils sont de type TDMA. Ils sont simples et offrent de bonnes performances lorsque le nombre de radio-étiquettes à lire est réduit. Cependant, ils nécessitent généralement une augmentation exponentielle du nombre de fenêtres de temps lorsque le nombre de radio-étiquettes augmente$^,$$^,$$^,$. Ces algorithmes ont des approches stochastiques, on ne peut déterminer quelle radio-étiquette répond à quel moment.
Algorithme Pure/unslotted ALOHA
Dès qu'un paquet de données est disponible, il est envoyé par la radio-étiquette au lecteur. Le temps de transmission étant relativement faible. Le temps de transmission de données ne représente qu'une fraction du temps de répétition, il y a donc des pauses relativement longues entre les transmissions. En outre, les temps de répétitions pour les transpondeurs individuels diffèrent légèrement. Il y a donc une certaine probabilité que deux radio-étiquettes peuvent transmettre leurs paquets de données à des instants différents et que les paquets de données n'entrent pas en collision.
L'efficacité de transmission est approximativement de 18 %$^,$.
Algorithme Basic Framed Slotted ALOHA (BFSA)
Dans cette procédure, les radio-étiquettes ne peuvent commencer leur transmission que dans des fenêtres de transmission prédéfinies. La synchronisation de toutes les radio-étiquettes doit être contrôlée par le lecteur. La taille de la fenêtre étant fixe, sa mise en œuvre est simple. Cependant, il a un point faible qui plombe l'efficacité de l'identification des radio-étiquettes dans le cas d'une taille de fenêtre importante en présence d'un nombre réduit de radio-étiquettes$^,$$^,$$^,$.
L'efficacité de transmission est approximativement de 36 %$^,$.
Algorithme Dynamic Framed Slotted ALOHA (DFSA)
L'algorithme DFSA peut identifier les radio-étiquettes plus efficacement puisque le lecteur régule la taille de la fenêtre en fonction du nombre de radio-étiquettes. Mais le changement de taille seul ne peut pas réduire indéfiniment les collisions en présence d'un nombre trop important de radio-étiquettes car il ne peut pas augmenter la taille de la fenêtre indéfiniment$^,$$^,$.
Algorithme Advanced Framed Slotted ALOHA (AFSA)
L'algorithme AFSA calcule combien de fenêtres sont nécessaires pour lire 99 % des radio-étiquettes. Puis, il sélectionne la taille de la fenêtre qui donne le plus petit nombre d'emplacements. Puisque l'algorithme AFSA estime le nombre de radio-étiquettes et détermine la taille de la fenêtre afin de minimiser la probabilité de collision, il est ainsi plus efficace. Néanmoins, la taille de la fenêtre ne peut toujours pas être augmentée indéfiniment$^,$.
D'autres algorithmes basés sur ALOHA ont été proposés, souvent nommés Enhanced Framed Slotted ALOHA (EFSA), ces algorithmes proposent chacun des points d'améliorations de performance dans certaines conditions.

#### Tree-Based Anti-Collision Algorithm

Ils sont également apparus comme une solution au problème de l'accès multiple. L'idée n'est plus de partager le temps de parole pour éviter les collisions mais d'essayer de les résoudre$^,$. Grâce à la désactivation temporaire de radio-étiquette, ces algorithmes ont des approches déterministes.
Quelques exemples d'implémentations basés sur le parcours d'arbre$^,$ :
* Binary Search Algorithm (BS)
* Dynamic Binary Search Algorithm (DBS)
* Query-Tree Algorithm
* Binary Tree Traversal Algorithm
* ID-Binary Tree Stack Algorithm
Encore une fois, d'autres variantes basées sur les arbres de recherche ont été développées, chacune ayant des points forts dans certains cas.

### Sécurité

De par sa capacité de calcul restreinte et sa mémoire limitée, les radio-étiquettes RFID à faible coût rendent les systèmes RFID plus vulnérables à de nombreuses attaques de sécurité. Il est, par exemple, impossible d'utiliser une authentification forte avec les radio-étiquette à bas coût.

#### Confidentialité

Quelques méthodes permettant de protéger la confidentialité :
* Tuer ou endormir : L'organisme EPC prévoit la possibilité de tuer indéfiniment la radio-étiquette ou de la désactiver temporairement.
* Limiter les accès : Le protocole de Weis et al en est un exemple. Pour déverrouiller une radio-étiquette, le lecteur interroge le metaID de l'étiquette. Il interroge également la base de données et transmet la clé associée à la radio-étiquette. La radio-étiquette hache la clé et la compare à la metaID stockée. Si les valeurs correspondent, cette dernière se déverrouille et offre sa pleine fonctionnalité à tous les lecteurs à proximité.
* Cryptographie "minimaliste": Juels propose un système «minimaliste» dans lequel chaque balise contient une petite collection de pseudonymes. La radio-étiquette répond un pseudonyme différent sur chaque requête de lecture. Le lecteur, lui, peut stocker peut consulter sa liste et récupérer l'identifiant réel de la radio-étiquette.
* Limiter des accès trop distants : Fishkin, Roy, and Jiang démontrent qu'il est possible de calculer approximativement la distance entre une radio-étiquette et le lecteur en utilisant le rapport signal/bruit.

#### Authentification

Les radio-étiquettes suffisamment puissantes partagent la cryptographie des ordinateurs modernes, il est possible d'utiliser par exemple du chiffrement symétrique et de s'authentifier à l'aide d'un challenge.

## Normes

Les deux principaux acteurs sont l'organisation internationale de normalisation (ISO) et l'organisation EPCglobal. Voici les principales normes sur lesquelles sont basées les protocoles RFID.

### ISO

L'organisation internationale de normalisation (ISO) a élaboré des normes RFID pour l'identification automatique. Cette norme, connue sous le nom de la série ISO 18000, couvre le protocole d'interface air pour les systèmes susceptibles d'être utilisés pour suivre les marchandises dans la chaîne d'approvisionnement. Ils couvrent les principales fréquences utilisées dans les systèmes RFID dans le monde entier. Les sept parties sont les suivantes$^,$ :

### EPC

Spécialisé dans la standardisation des radio-étiquettes à faible coût. Voici la dernière version des protocoles bas niveau qu'elle a publié :
* UHF Gen2 Air Interface Protocol : Ce protocole définit les exigences physiques et logiques pour une radio-étiquette passive, dans le cas où le lecteur parle en premier, sur la plage de fréquences allant de 860 MHz à 960 MHz.
* Radio-Frequency Identity Protocols EPC Class-1 HF RFID Air Interface Protocol : Ce protocole définit les exigences physiques et logiques pour une radio-étiquette passive, dans le cas où le lecteur parle en premier, sur la fréquence de 13.56 MHz.