Un ESP32 à quelques euros pour éviter le clavier Touch ID d'Apple

Posez votre doigt sur un capteur et hop, votre session s’ouvre. Sur un Mac, ce petit confort passe par exemple par le
Magic Keyboard avec Touch ID
(lien affilié) parce qu’Apple réserve la biométrie à son propre matériel. Mais le bidouilleur Zimeng Xiong a trouvé ça un peu chéros, alors il a bricolé la même chose avec un
ESP32-S3 à quelques euros
.

Le tout tient dans un boîtier imprimé en 3D contenant un capteur d’empreinte ZW101 qui lit votre doigt, et une carte ESP32-S3 (une
Seeed Studio XIAO
– lien affilié) qui se fait passer pour un clavier USB. Ensuite, si l’empreinte correspond, elle tape votre mot de passe suivi d’Entrée. Vu de l’ordinateur, l’engin n’est qu’un clavier qui tape à votre place, et n’est donc liée à aucun système d’exploitation en particulier.
Le truc bien pensé je trouve, c’est que le mot de passe ne vit jamais sur l’ESP. La carte ne garde qu’une clé d’appairage de 32 octets et le mot de passe, lui, reste sur l’ordinateur, conservé par un petit service que vous installez.
Quand vous posez le doigt, l’ESP réclame ce mot de passe via un échange chiffré, avec une clé d’appairage partagée et un nonce aléatoire pour bloquer les rejeux, le déchiffre en mémoire vive le temps de le taper, puis efface tout en quelques millisecondes. Il compte aussi sur le Secure Boot et le Flash Encryption de l’ESP32-S3 pour qu’un dump de la puce ne livre aucune clé.

Après, histoire d’être transparent avec vous, sachez que le seul maillon faible de ce gadget se situe entre le capteur et l’ESP car la liaison série n’est pas protégée. Toute la vérification de l’empreinte se passe dans le capteur, pas dans le microcontrôleur, donc quelqu’un qui aurait accès à votre machine et au boîtier en même temps pourrait usurper le capteur et forcer l’envoi du mot de passe. La parade de Zimeng c’est donc de noyer toute l’électronique dans de l’epoxy noir.
Sous Windows, vous branchez un lecteur d’empreinte USB et
Windows Hello
fait le reste, c’est plutôt simple. Apple par contre verrouille un peu plus le truc, donc il faudra installer le logiciel compagnon. Et Zimeng Xiong ne compte pas s’arrêter là, puisqu’il annonce une version qui émule une carte à puce, pour se connecter sans jamais taper de mot de passe, comme le font déjà
les passkeys
. Là, on serait un cran au dessus en matière de sécurité.
Le code est public sur
GitHub
si vous voulez tenter le montage. Rien de prêt pour la production évidemment, mais une chouette démonstration qu’avec un ESP32 et un peu de crypto, on peut faire de jolies choses.
Source : korben.info