@ 21 Nov 09

Lecteur d'empreinte digitale et GNU/Linux

Longtemps réservée aux salles serveurs et salles hautes sécurité d'importantes sociétés et de datacenters, la biométrie s'infiltre maintenant depuis quelques années un peu partout sur le matériel professionnel voir même sur des produits destinés au grand public.

D'abord introduits sur les ordinateurs portables professionnels haut de gamme de grande marques (HP, IBM…), les lecteurs d'empreintes digitales sont maintenant présent sur de nombreux pc portables professionnels ou grand public, et de simple lecteurs externes USB se démocratisent (pas que tout le monde les utilise, mais ça se trouve maintenant facilement)

Je ne trouve pas ça révolutionnaire dans le cas d'un ordinateur portable, mais peu importe nos avis sur la question, le fait est que la biométrie et plus particulièrement par le biais des empreinte digitales, a de beaux jours devant elle.

Or, jusqu'il y a peu de temps, GNU/Linux était à la traîne sur nombre de ces équipements, tout simplement à cause des constructeurs qui ne développent aucun driver pour GNU/Linux ni ne distribuent les specifications du matériel.

Certain périphériques fonctionnaient pourtant (entre autre les lecteurs d'empreintes des T4xp d'IBM), en utilisant “BioAPI”, une api développée par le consortium du même nom. Mais seuls quelques périphériques fonctionnaient, et d'après ce que j'ai pu lire à droite ou à gauche, supporter un nouveau périphérique avec bioapi demandait beaucoup de travail et le code n'était pas toujours (jamais ?) réutilisé.

Ainsi lorsque j'ai acheté mon laptop, un HP pro NW8440, aucun driver n'existait pour son lecteur d'empreintes digitales, un Authentec 2501:

 Bus 002 Device 004: ID 08ff:2580 AuthenTec, Inc. 
 Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               1.10
 bDeviceClass          255 Vendor Specific Class
 bDeviceSubClass       255 Vendor Specific Subclass
 bDeviceProtocol       255 Vendor Specific Protocol
 bMaxPacketSize0         8
 idVendor           0x08ff AuthenTec, Inc.
 idProduct          0x2580 
 bcdDevice            6.21
 ...
 

Et bien si vous possédez ce matériel, sachez qu'il est maintenant supporté, grâce à un nouveau projet de librairie de biométrie et à de nouveaux drivers. Ce projet s'appelle Fprint. Libre, il permet la mutualisation du code afin d'écrire de nouveaux drivers plus rapidement et simplement.

Nous pouvons donc espérer que tous les lecteurs d'empreintes digitales intégrés à nos machines seront maintenant supportés ;)

Un module PAM (Pluggable Authentification Module) a été écrit, et permet d'utiliser le lecteur d'empreinte digitale dans un DM (Display Manager: gdm, kdm, xdm…) ou en console.

J'ai testé fprint et le module pam: ça fonctionne !

site du projet : Fprint

Edit:

Suite à la question de Seb:

Super article.
Petite question tout de même au niveau du stockage des données de l'empreinte autorisée: comment ça se passe? est-elle cryptée?

Tout d'abord, le cryptage n'existe pas (en français). Il faut parler de chiffrement :)

Non, les empreintes ne sont pas chiffrées, mais stockées en permissions 600. évidement, root en fais ce qu'il veux. Mais de toute façon, pour un mot de passe c'est la même chose ;)
Il faut toutefois faire attention a ce que les fichiers ne soient pas récupérés…