La semaine dernière, j’expliquais comment charger un Pass Navigo en USB sur un Mac. C’est une application RATP, ils vendent le lecteur pas trop cher (7 €) et ça marche assez bien. Mais si on allait voir ce qu’il y a exactement dans le Pass ?
Les Pass Navigo sont basés sur une technologie assez classique, Calypso (utilisée aussi en Belgique à Bruxelles). Et il est donc possible de lire ce que la carte enregistre assez facilement. Si le Mobib belge enregistre des données sensibles (genre le nom, etc.), le Pass Navigo franciliens se contente de choses comme le type de Pass (ici un Intégrale) et les dernières stations validées (en théorie les trois dernières, dans mon cas, j’en ai quatre, dont une ancienne).
Comment lire le Pass Navigo ?
Il y a quelques années, j’avais utilisé un site Internet qui permet de lire le contenu de la carte. Le site a disparu, mais le programme existe toujours. Il va donc falloir un lecteur de cartes, un serveur Web à la maison (on va supposer Mac OS X si vous êtes ici) et… c’est tout.
Première chose, activer Apache sous Mac OS X. Sous Lion ou Mountain Lion (sans la version Serveur), une simple commande suffit.
sudo apachectl start
Ensuite, on va télécharger Smart Tools sur github et on place le dossier atr dans Library/WebServer/Documents
(toujours sous Lion/Mountain Lion, sous Snow Leopard, dans ~/Site).
Quand c’est fait, on lance un navigateur (dans mon cas Firefox) et on va à l’adresse http://localhost/atr/
.
Le navigateur va vouloir installer un plug-in pour lire la carte, SConnect. Il vient de chez Gemalto (spécialiste des cartes à puce) et est normalement fiable.
La raison pour laquelle l’outil n’est pas en ligne est simple : SConnect ne fonctionne que si le site a un certificat SSL valide (i.e. accessible en https), ça évite en partie les soucis de sécurité… En local, ça fonctionne directement.
Une fois que c’est lancé, le lecteur doit apparaître dans la colonne de gauche, il suffit de cliquer dessus.
Un onglet Calypso Explorer s’ouvre, et il suffit d’explorer les valeurs. On trouve un peu de tout, dont notamment les heures des dernières validations (et souvent la ligne associée, ainsi que la gare).
C’est un code qui est utilisé pour identifier ligne et gare, mais en cherchant un peu, ça se trouve assez facilement. Une partie est par exemple disponible directement dans les Smart Tools. Pour la ligne, la valeur en hexa est juste le numéro de la ligne, en tout cas pour les métros.
Pour découvrir la gare de validation, c’est un peu compliqué. Premièrement, il faut récupérer la valeur EventLocationID. Dans notre cas, en hexadécimal, 0x1a70. On va ensuite la convertir en binaire, ce qui donne 0001 1010 0111 0000.
Les deux premiers bits ne servent pas. Les cinq suivants (01101) indiquent le code de la zone. En décimal, c’est donc le secteur 13. Les cinq suivants (00111) indiquent le code de la gare, ici la gare 7.
Maintenant, il suffit d’aller chercher sur un site qui répertorie les gares de métro pour découvrir que la gare 13-07 est Bercy sur la ligne 14.
Le calcul marche avec les lignes de métro, mais je ne connais pas le codage des gares SNCF ou celles de la RATP (et je n’ai pas cherché outre mesure). Ca doit se trouver en cherchant un peu, vu que le codage utilisé est a priori le même que celui utilisé sur les tickets de métro.
Et pour le recharger ? ;)
Y a le lien au début du post ;)
Recharger sans payer, en dehors du fait que c’est illégal, faut pas rêver, on est pas dans du Mifare, le truc est plutôt sécurisé…
voila qui me confirme dans mon choix d’un navigo découverte, anonyme, a tiens, ton passe a aussi en date d’expiration ?
L’anonyme a aussi une date de validité et stocke les mêmes infos. Mon Pass anonyme de test a pas ete utilise, donc je l’ai pas pris comme exemple ;)
Ah oui je n’avais pas vu le premier article ^^ Ouais si ca se trouve le truc est sécurisé comme les mots de passe Efi des mac :)
De toute façon moi je fais du vélo à Paris ^^
Calypso, c’est sécurisé. En gros, c’est essentiellement l’ID de la carte qui est validé par les bornes, donc bon.
A part modifier la valeur du dernier passage pour faire passer pleins de gens, y a pas des masses de chose à faire.
On peut aussi utiliser Cardpeek, qui peut lire les cartes Navigo, les cartes bancaires, les cartes vitales, et plus encore…
Cardpeek est disponible sous OS X dans l’environnement homebrew (http://http://brew.sh).
Sympa, j’essaie ça dès que possible !
Question con,
Si je prends un navigo anonyme, est-il possible de le copier sur un autre navigo anonyme ?
Dans ce cas, tu payes un seul abonnement pour plusieurs badges.
Premièrement, non, c’est pas possible de copier.
Ensuite, la RATP permettrait pas vraiment ça, la validation est a priori enregistrée chez eux (avec le numéro du badge), vu qu’on peut pas valider le même badge plusieurs fois dans un court laps de temps (5 minutes de battement environ)