Sortie de Hex NFC 1.0.2 : passeports et DESFire améliorés

Un point sur l'avancement de Hex NFC et ses projets, dont l'annonce d'une prochaine version Android de l'application.

Matthew Scott7 min de lecture
Une image de couverture qui montre, de gauche à droite, une page de passeport, une puce électronique et un autocollant NFC.

Téléchargez Hex NFC gratuitement sur l'App Store ! Gratuite pour toujours, en toute transparence et sans publicité tierce.

Cela fait environ trois semaines que Hex NFC est sortie, et c'est un succès qui fait chaud au cœur. Les gens l'apprécient vraiment, et nous enregistrons chaque jour un nombre de téléchargements tout à fait honorable pour une application NFC, sur un marché aussi encombré.

Quelques utilisateurs enthousiastes nous ont fait des retours très utiles et ont testé beaucoup de puces NFC inhabituelles avec l'application, ce qui a révélé quelques défauts dans certains domaines.

Une contribution aux coûts de développement !

Avant d'aller plus loin, je tiens à saluer la personne qui a donné 5 dollars australiens pour les coûts de développement. Quand je développais l'application, j'ai publié les coûts de développement surtout pour montrer qu'elle était le fruit d'un vrai travail, et qu'il ne s'agissait pas d'une simple application vite faite, pondue à coups de prompts. Ma fiancée était plutôt sceptique à l'époque. En gros, son avis, c'était : « Qui irait payer pour une appli gratuite ? » J'avoue que j'avais moi aussi mes doutes. C'est pour ça que c'est un immense compliment de voir quelqu'un, à l'autre bout du monde, apprécier notre travail au point d'y contribuer, quelle que soit la somme. Nous avons dansé de joie dans toute la maison. Alors un grand « merci » de ma part et de la part de Hex Pro.

Le tour du monde en passeports et laissez-passer

Quelques utilisateurs avaient hâte de découvrir ce que donnerait le scan de documents de voyage particulièrement inhabituels. J'ai eu la chance d'être tenu au courant des résultats, et j'ai pu repérer un certain nombre d'améliorations à apporter à l'application.

Le processus de déchiffrement

Pour les non-initiés, les passeports électroniques (ISO/IEC 14443) utilisent un système de chiffrement qui exige le numéro du passeport, la date de naissance et la date d'expiration du document. C'est une solution évidente au problème du premier escroc venu qui siphonnerait l'identité de votre passeport pendant un voyage à l'étranger.

Hex NFC a été développée avec de simples champs de saisie pour le texte et les dates. L'un des principes fondamentaux de Hex Pro, c'est la protection de la vie privée des utilisateurs et les droits des consommateurs. Je veille à ce que nous ne demandions jamais d'autres autorisations que celles dont nous avons absolument besoin, et à faire preuve de retenue en matière de statistiques et de suivi (par exemple en choisissant Umami, hébergé sur nos propres serveurs, plutôt que Google Analytics). C'est pour cette raison qu'au départ, l'application ne demandait pas l'accès à l'appareil photo. Les utilisateurs ont vivement réclamé un scan par l'appareil photo pour relever les informations de leur passeport et faciliter le déchiffrement. Je me suis donc mis au travail pour l'ajouter au plus vite, et je ne le regrette vraiment pas. C'est rapide et ultra-fiable, alors scannez votre passeport et essayez !

Des documents inhabituels

Les utilisateurs avec qui j'ai échangé m'ont soumis des documents particulièrement intéressants. Le premier était un passeport chinois, et le deuxième un « document de voyage » de Taïwan qui, apparemment, repose exactement sur la même technologie et la même structure qu'un passeport ordinaire (allez comprendre). Et les suivants étaient des laissez-passer servant à circuler entre Macao et Hong Kong.

Le passeport chinois s'est scanné sans le moindre problème. Le document de voyage de Taïwan présentait quelques petits problèmes de décalage, qui faisaient déborder les données de certains champs sur d'autres ; ils ont été faciles à corriger.

C'est ce troisième groupe qui a donné des résultats très intéressants. À vrai dire, les laissez-passer se scannaient comme des passeports, mais recrachaient un charabia incompréhensible. Ils nous ont pourtant fourni d'excellentes données, à mon fidèle agent de codage et à moi, pour comprendre comment les décoder.

Je me suis alors perdu dans les méandres des pays aux documents de voyage non standard. Il s'avère que c'est dans l'Union européenne qu'apparaissent la plupart de ces étranges anomalies, à savoir en Belgique, au Portugal et peut-être en Espagne, où certains numéros comptent jusqu'à 12 caractères au lieu des 9 que prévoit la norme.

Prise en charge améliorée des DESFire

Une fonctionnalité manquait à la version 1.0.0 : la configuration de l'application NDEF et le retrait de l'application NDEF. Sans elle, les puces DESFire qui arrivent directement de chez le fabricant n'ont pas de capability container d'application installé. En somme, contrairement à des puces NFC plus courantes comme le NTAG213, elles ne sont pas formatées pour être utilisées.

Hex NFC permet désormais la configuration de l'application NDEF, ainsi que son retrait. C'est cette dernière fonctionnalité qui est particulièrement utile et peu commune. Grâce à elle, vous pouvez remettre votre DESFire dans son état d'usine, et vous restez libre de la réaffecter plus tard comme bon vous semble. Il suffit de scanner votre DESFire, d'aller dans Opérations, de faire défiler jusqu'à Actions dangereuses, puis de toucher Formater. Pour en savoir plus, consultez la documentation.

Des traductions et une documentation améliorées

Les traductions ont été améliorées sur toute la ligne : les mots sont mieux choisis, et quelques parties qui n'existaient encore qu'en anglais sont désormais traduites. L'application est actuellement traduite dans les langues prises en charge par Hex Pro :

Toute la documentation est intégralement traduite et accessible sur le site dans chacune de ces langues. Y compris toutes les images et les captures d'écran (un travail qui a pris un temps fou).

À venir : un avant-goût de la version 1.0.3

Roulement de tambour, s'il vous plaît ! Eh oui, Hex NFC arrive sur Android. Quand ? Bientôt disponible™. J'ai acheté trois appareils Android de marques et de capacités différentes, ce qui devrait nous assurer une large couverture des appareils. Le développement bat déjà son plein, avec des changements vraiment majeurs qui toucheront aussi la version 1.0.3 de l'application iOS.

De Swift à Rust, une histoire de simulateurs

La grande nouvelle, c'est que les simulateurs sont en cours de conversion en Rust, pour mieux se prêter au développement multiplateforme. Les simulateurs NFC sont conçus pour imiter le comportement des vraies puces NFC en silicium. Ils permettent de confronter rapidement le code de l'application Hex NFC à la logique de chaque puce prise en charge. Ils sont d'abord développés à partir des fiches techniques disponibles en ligne, puis au fil de rigoureux tests sur banc, en conditions réelles. Ces tests affinent la reproduction du comportement réel du silicium et garantissent que Hex NFC gère correctement tous les cas de figure possibles.

Une fois entièrement convertis en Rust, les simulateurs pourront servir à tester à la fois le code de l'application iOS et celui de l'application Android, qui seront très différents sous le capot. Cela garantit un comportement cohérent d'une plateforme à l'autre et rend moins probables les régressions lors de modifications futures.

En plus du passage à Rust, j'ai aussi voulu élargir la gamme des simulateurs à des puces prises en charge par Android mais pas par iOS, et aller plus loin dans l'enrichissement et l'amélioration des simulateurs existants. Pour cela, j'ai acheté toute une série de nouveaux tags de test, pour un total d'environ 160 dollars australiens. J'ai mis à jour la page des coûts de développement sur le site des applications. J'encourage vivement tous ceux qui apprécient ce travail à apporter leur contribution pour soutenir le développement, et à laisser une note de 5 étoiles et un avis sur l'App Store.

Travailler dur, travailler bien

Nous travaillons d'arrache-pied pour vous proposer les meilleurs logiciels que nous sachions faire. J'ai hâte de voir la suite, et j'espère que vous penserez à nous pour nos prochaines applications, notamment Sol et Nepali Companion, dont la sortie est prévue dans le courant du mois.