Empreintes digitales

September 23rd, 2008

J’ai en ma possession un Lenovo avec un joli lecteur d’empreintes digitales qui ne me sert à rien, et que jusque là j’avais eu une flemme monstre de configurer. Mais là il se trouve que j’ai quelques minutes à attendre, alors pourquoi pas s’y mettre (malgré la tonne trucs que je dois faire).
Donc manifestement c’est un peu le bazar ces histoires d’empreintes digitales, mais le logiciel qui semble émerger comme “standard” est fprint (ceci dit la dernière release date de fin 2007, et c’est pas mieux chez la concurence… décidément tout le monde s’en fout des empreintes digitales). Petite note : je fais la manip sous Ubunt Hardy Heron, mais ça doit pas être mortellement différent sous une autre distro.

Donc ben commençons. Visiblement madman2k avait fait des paquets, mais il a l’air de les avoir virés de son dépôt, donc on va faire à partir du code source.
Il y a 3 éléments à télécharger sur sourceforge : fprint_demo qui est un GUI qui montre ce que fprint peut faire, libfprint qui est le cœur du logiciel, et enfin pam_fprint qui sert à faire sauter le PC si l’authentification échoue ajouter la gestion de fprint dans PAM. Pour ma part j’ai tout téléchargé et décompressé dans /usr/src.

Une fois que c’est fait, il faut installer les dépendances de compilation, ce qui revient sous ubuntu à faire

aptitude install build-essential libusb-dev libssl-dev libglib2.0-dev libmagick9-dev libpam-dev libgtk2.0-dev

La compilation est tout ce qu’il y a de plus classique. On va commencer par libfprint :

cd /usr/src/libfprint-0.0.6
./configure --prefix=/usr
make -j3
sudo make install

(note : le -j3 du make n’est pas du tout nécessaire, c’est juste pour dire d’utiliser 3 threads; d’après la doc de gentoo le mieux est d’utiliser [nombre de cœurs] + 1 threads, et vu que j’ai un dual core, ben ça fait 3 threads)

Allez maintenant on fait le module PAM (oui c’est pareil que l’autre)

cd /usr/src/pam_fprint-0.2
./configure --prefix=/usr
make -j3
sudo make install

Et on fini avec l’outil de demo

cd /usr/src/fprint_demo-0.4
./configure --prefix=/usr
make -j3
sudo make install

Vous pouvez maintenant tester fprint_demo pour voir si ça marche bien. Bon chez moi ça a scanné mon doigt une fois et puis après ça s’est figé même après l’avoir relancé plusieurs fois et avoir supprimé le dossier de préférences….

On passe donc maintenant à la configuration de PAM, qui en fait est ce qui compte vraiment dans ce tuto.
Il faut donc aller modifier l’horriblement mal documenté PAM, et son fichier /etc/pam.d/common-auth
Donc théoriquement vous avez une ligne qui ressemble à

auth    required        pam_unix.so nullok_secure

Avant, ajoutez y la ligne

auth    sufficient      pam_fprint.so

Le nombre de fois que cette ligne apparaît correspond au nombre d’essais que vous avez (ça me semble foireux ça… si quelqu’un a une idée mieux je suis prenneur). Dans /etc/pam.d il y a plusieurs fichiers de configuration, genre “gdm” ou “sudo”, dans lesquels vous pouvez ajouter cette ligne pour ajouter l’authentification par emprunte digitale à ce service uniquement.

Il ne vous reste maintenant plus qu’à « enrôler » vos doigts, c’est à dire à taper la commande pam_fprint_enroll. Voici l’aide

Usage: pam_fprint_enroll options
        -h      --help                  Display this usage information.
        -f      --enroll-finger index   Enroll finger with index.

        Valid indexes are:
        1 - Left Thumb
        2 - Left Index Finger
        3 - Left Middle Finger
        4 - Left Ring Finger
        5 - Left Little Finger
        6 - Right Thumb
        7 - Right Index Finger
        8 - Right Middle Finger
        9 - Right Ring Finger
        10 - Right Little Finger

Et voici un exemple d’usage (pour enregister l’index droit) :

pam_fprint_enroll --enroll-finger 7

Et voilà normalement là PAM vous demande de scanner votre doigt (sauf pour gksudo visiblement) quand il faut vous identifier. Le seul truc c’est que pour l’instant il a jamais voulu reconnaitre mon doigt… Ça viendra peut être un jour ?

Edit : c’est venu \o/ En fait il faut bien poser son doigt à plat sur le lecteur, sinon ça marche pas…

Entry Filed under: Linux

Leave a Comment

hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe to the comments via RSS Feed


Calendar

July 2010
M T W T F S S
« Jun    
 1234
567891011
12131415161718
19202122232425
262728293031  

Most Recent Posts

Wikipedia Affiliate Button