NFC - Near Field Communication

Sécurité

Généralités

Comme toutes les technologies sans fil, le NFC est plus sensible aux attaques qu'un réseau câblé, un contact physique n'étant pas nécessaire. Cependant, elle dispose d'un très courte portée qui favorise sa sécurité.

Attaques possibles

Plusieurs types d'attaques sont possibles sur le NFC. Le Eaves Dropping ou "écoutes aux portes" est le fait de récupérer le signal radio émis par les appareils pour subtiliser des informations personnels. Cette attaque peut être effectué depuis plusieurs mètre avec l'utilisation d'une antenne spécifique.

Un moyen simple de se protéger de cette attaque et de chiffrer les informations qui transitent entre les apapreils NFC. L'attaque de déni de service (DOS) est la plus simple à réaliser, cependant elle ne permet pas de récupérer d'information mais uniquement de rendre impossible l'utilisation du NFC d'un appareil.

L'algorithme de collision avoidance de NFC spécifie un temps d'attente avant toute émission, pendant ce temps, l'appareil écoute le canal et ne commence à émettre que s'il est libre. L'attaque DOS sur cette technologie requiert uniquement d'émettre sur la bande de fréquence du NFC (13,56 MHz). Aucune protection n'est possible contre ce type d'attaque si ce n'est de se trouver hors de porté de l'attaquant. La modification des données envoyés par un appareil NFC vers un autres est possible mais extrêmement difficile. Pour cela l'attaquant doit modifier l'amplitude des ondes émises pour que la cible l'interprète autrement.

Dans le cas d'une modulation avec un ratio de 10%, il faut laisser croire que les ondes reçues à pleine amplitude sont en réalités des pauses pour inverser les bits. Pour cela, il faut intercepter toutes les ondes et augmenter l'amplitude maximale. Il est cependant impossible d'utiliser ce processus avec un ratio de modulation de 100% car les pauses, représentées par l'absence totale d'émission, ne peuvent pas être générées.

Cette attaque nécessite un matériel couteux (récepteur, antenne) et est détectable car modifie l'amplitude du signal. L'attaque par relai cible essentiellement les cartes de paiement sans contact et consiste à utiliser un proxy NFC. Deux appareils sont donc nécessaire : le premier sera à l'écoute de la carte, le second près du terminal de paiement. Ce dernier va initier le paiement à la borne et transmettre toute la communication via une connexion wifi au complice. La communication va ensuite être transmise à la carte NFC qui va répondre comme si elle était en contact avec le terminal.

Cette attaque est simple à mettre en oeuvre, nécessite uniquement deux smartphone NFC et aucune connaissance du protocole utilisé par les cartes. En effet, le traffic passe par la connexion Wifi sans être altéré.

relai NFC
Principe de l'attaque par relai NFC

Pour se protéger de cette attaque, la mise en place d'un code PIN sur la carte est nécessaire, ce dernier n'est pas demandé dans certains Pays.

Protection

Le NFC étant sensible au Eaves Dropping, il est primordial de sécuriser les échanges. C'est ce qui est fait pour la carte Navigo qui ne contient aucune données personnelles (l'identifiant de la carte étant différent de l'identifiant de l'utilisateur) et dont le contenu est chiffré. Le passeport RFID est lui aussi chiffré et nécessite par ailleurs une combinaison de lecteur optique et RFID pour que le contenu soit lu.

Ces sécurités ne sont pourtant pas en place pour les cartes de paiement NFC, qui disposent d'information bien plus sensible. Aucun chiffrement ni authentification n'est en place dans leurs puces NFC. Il est ainsi possible de récupérer certaines informations personnels simplement en approchant un lecteur (smartphone) d'une carte :

Seul le code de sécurité n'est pas disponible (3 chiffres au dos de la carte).

Ces informations permettent cependant d'utiliser la carte sur certains site de e-commerce ne demandant pas le code de sécurité. Elle permettent aussi d'effectuer une attaque DoS de la carte en saisissant 3 mauvais code PIN. Il est aussi possible de cloner la bande magnétique et de l'utiliser.

Lecture d'une carte avec AndroidLecture d'une carte avec Linux
Lecture des informations d'une carte NFC avec Android et Linux