Description of image

Phantom

esp32C++

L'objectif de ce projet est d'étudier les caractéristiques de sécurité de la technologie NFC (Near Field Communication). Aujourd'hui, cette technologie est largement utilisée pour les badges, par exemple, pour entrer dans des bâtiments ou des bureaux d'entreprise. Mais cette technologie est-elle toujours sûre ? L'objectif de ce projet est de démontrer que de mauvaises pratiques de sécurité dans ce protocole de communication peuvent avoir des conséquences désastreuses. J'ai donc acheté une carte programmable ESP-32 et un module NFC PN532 pour un total de 20 euros.

Proof of concept

La plupart des cartes NFC portent la marque MIFARE, une marque déposée par NXP semiconductors. Les cartes MIFARE « Classic » sont des cartes à mémoire (logique câblée). Elles ne sont que partiellement conformes à la norme ISO 14443A, car elles utilisent un jeu de commandes propriétaire au lieu du protocole de haut niveau ISO 14443-4, et ne respectent pas le format de trame ISO 14443-3 dans les communications cryptées. Elles utilisent un protocole de sécurité propriétaire de NXP (CRYPTO1) pour l'authentification et le cryptage, qui a été cassé en 2008. Néanmoins, ces cartes sont encore largement utilisées.

Illustration du protocole MIFARE

Protocole Mifare 1K


La structure de la carte MIFARE Classic est composée de 16 secteurs, chaque secteur étant composé de 4 blocs. Chaque bloc a une longueur de 16 octets. Pour lire ou écrire un bloc, la carte doit être authentifiée avec la bonne clé. Le problème est que ce mécanisme d'authentification qui repose sur l'algorithme Crypto1 est aujourd'hui cassé et que les clés par défaut sont largement connues. Il est donc possible de lire et d'écrire sur une carte MIFARE Classic sans être authentifié. Ainsi, pour une carte qui contient des informations sensibles, il est possible de les lire et de les modifier sans être autorisé à le faire.

Résultats

Ce projet est toujours en cours de développement, mais quelques résultats ont déjà été obtenus. J'ai réussi à lire et à écrire sur une carte MIFARE Classic 1K de test. La partie UI/UX reste à développer pour rendre l'outil plus accessible et plus facile à utiliser, toujours dans le but de démontrer la faiblesse de cette technologie.

Ce projet est en cours de développement et n'est pas encore disponible publiquement.