Lire son passe Navigo
Sait-on réellement ce qu'il y a dans le passe Navigo utilisé par les franciliens pour leurs déplacements de tous les jours ? Tentons d'en extraire quelques informations ...
C'est la fin du confinement, la réduction du télétravail, le jour de la reprise sur site où l'on retrouve ce bon vieux RER 🚂 pour aller à la capitale 🗼. Oui mais en voulant réactiver le fameux sésame à carte à puce après un an de pause, le guichet automatique refuse de lire mon passe Navigo 💳. Un argument suffisant pour se lancer le projet de lire par nous même les informations contenues dans cette carte 🕵️.
Pas toujours clairs les messages d'erreur ...
Matériel
J'ai utilisé pour cette expérience un lecteur abordable (environ 30€) et multiplateforme: le SCR3500 de Identiv. Il ne sait pas lire le sans contact mais uniquement les cartes à puces comme les cartes bleues, la carte Vitale, ou encore la carte Navigo.
Logiciel
Côté logiciel, après avoir téléchargé et installé les drivers du lecteur, j'ai découvert le logiciel Cardpeek (dépôt GitHub) qui lit nombre de formats de cartes.
Compilation / exécution
Sous MacOS Catalina, après avoir récupéré le dépôt git
, j'ai rencontré quelques petites erreurs à la compilation:
- La commande
aclocal
n'était pas disponible, mais elle est installable avechomebrew
et le paquetautomake
. openssl
était nécessaire mais le chemin doit être passé explicitement dans leconfigure
.Xcode
doit être installé car le programme a besoin de certains frameworks. Malheureusement Xcode n'est plus installable directement avec l'appStore (il nécessite une version plus récente de MacOS). Il faut trouver une version plus ancienne. La dernière compatible Catalina est Xcode 12.4 (10Go) téléchargable à partir du site développeurs d'Apple. L'identification avec un compte développeur Apple (gratuit) est requise.
1git clone https://github.com/L1L1/cardpeek
2cd cardpeek
3brew install automake openssl gtk+3
4autoreconf --install
5./configure --with-openssl=/opt/homebrew/opt/openssl # Si MacOS Intel, le répertoire est /usr/local/opt/openssl
6make
7./cardpeek
Mise à jour Décembre 2023 : test OK sous Sonoma 14.2.1
Sous Debian et ses dérivées, il existe un paquet cardpeek directement installable via apt.
Malheureusement VirtualBox ne m'a pas permis de monter le périphérique USB dans ma VM Linux 🤷♂️ ...
La version Windows précompilée est téléchargeable sur le site du développeur (non testé).
Lecture
Au premier écran, on sélectionne notre lecteur de carte qui est bien reconnu
On choisit Calypso, qui est le standard utilisé avec Navigo (mais également avec MOBIB en Belgique, avec KorriGo en Bretagne...)
Et enfin la lecture des informations contenues. J'ai volontairement caché certaines infos personnelles ou que je n'ai pas réussi moi même à décrypter.
Et voilà, nous avons extrait des données (pas dit que ce soit exhaustif). Outre le card number
(qui est également sérigraphié sur la carte elle même), on retrouve quelques infos comme le pays, le nom du réseau, le statut de la carte. On remarque surtout que les 3 dernières validations en gare ont été enregistrées et je retrouve bien là mes dernières aventures souterraines d'avant confinement 🔒. Pas de mention du nom du titulaire de la carte mais il est déjà imprimé sur la carte, avec sa trombine.
Ça n'a pas résolu mon problème initial avec le guichet automatique mais au moins je sais que ma carte est techniquement lisible.
C'est tout pour aujourd'hui. Sur ce, bon voyage sur le réseau transilien 🛤️🚧🤠