====== Autenticación con Huella Dactilar (fingerprint) ======
===== Situación =====
Tenemos un portatil Fujitsu/Siemens Lifebook S7110 WB1 con lector de huella dactilar.
usuario@maquina:~$ lsusb
Bus 004 Device 002: ID 08ff:2580 AuthenTec, Inc.
Bus 004 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 005 Device 002: ID 0c24:000f Taiyo Yuden
Bus 005 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
{{howto:fujitsu_fingerprint.jpg|Lector de Huellas}}
Queremos utilizar dicho lector para autenticar a los usuarios y tenemos como único sistema operativo Ubuntu Gutsy (7.10)
===== Lectura de la Huella =====
Para leer al huella se va a utilizar [[http://fprint.sf.net|FPrint]], el cual se basa en unas librerías para la lectura de las huellas ([[http://www.reactivated.net/fprint/wiki/Libfprint|libfprint]]) a través de diversos dispositivos, y dos programas que utilizan dichas librerías para configuración de las huellas dactilares ([[http://www.reactivated.net/fprint/wiki/Fprint_demo|Fprint_demo]]) y autenticación con PAM ([[http://www.reactivated.net/fprint/wiki/Pam_fprint|Pam_fprint]])
==== Instalación ====
Descargamos, descomprimimos e instalamos la última versión de ([[http://www.reactivated.net/fprint/wiki/Libfprint|libfprint]]) de la web: http://sourceforge.net/project/showfiles.php?group_id=208521
en nuestro caso y a fecha de hoy, pues es la versión 0.0.4, por lo que:
usuario@maquina:~$ cd /usr/local/src
usuario@maquina:/usr/local/src$ sudo wget http://heanet.dl.sourceforge.net/sourceforge/fprint/libfprint-0.0.4.tar.bz2
usuario@maquina:/usr/local/src$ sudo tar jxvf libfprint-0.0.4.tar.bz2
usuario@maquina:/usr/local/src$ cd libfprint-0.0.4
usuario@maquina:/usr/local/src/libfprint-0.0.4$ sudo ./configure && sudo make && sudo make install
Actualizamos la base de datos de librerias:
usuario@maquina:/usr/local/src/libfprint-0.0.4 $ sudo ldconfig
E instalamos la interfaz gráfica para gestionar nuestras huellas dactilares:
usuario@maquina:~$ cd /usr/local/src/
usuario@maquina:/usr/local/src$ sudo wget http://garr.dl.sourceforge.net/sourceforge/fprint/fprint_demo-0.4.tar.bz2
usuario@maquina:/usr/local/src$ sudo tar jxvf fprint_demo-0.4.tar.bz2
usuario@maquina:/usr/local/src$ cd fprint_demo-0.4
usuario@maquina:/usr/local/src/fprint_demo-0.4 $ sudo ./configure && sudo make && sudo make install
==== Añadiendo huellas dactilares al usuario ====
Configuramos nuestras huellas a través de fprint_demo, ejecutamos fprint_demo y añadimos nuestras huellas.
{{howto:pantallazo-fprint_project_demo.png|Fprint Demo añadiendo huellas}}
Y luego podemos verificar que funciona correctamente (he añadido lineas en negro para que nadie me copie la huella dactilar: [[http://www.ccc.de/biometrie/fingerabdruck_kopieren.xml?language=en|How to copy fingerprints de la CCC]] y [[http://www.youtube.com/watch?v=3M8D4wWYgsc|Video demostración de copia de huellas dactilares de la CCC]]
{{howto:pantallazo-fprint_project_demo-1.png|Verificando la huella dactilar}}
Cuando añadas las huellas mira que se vean completas, para ello pasa el dedo en uno o dos segundos por el lector comenzando por el interior del dedo y terminando en la punta.
Aqui teneis un video de todo lo anterior:
{{flowplay>howto:fprint-demo.flv}}
===== Autenticando mediante la huella dactilar =====
Para autenticar a los usuarios en linux utilizando la huella dactilar, vamos a añadir un sitema de validación a [[wp>Pluggable_Authentication_Modules|PAM]]
==== Instalación ====
Descargamos [[http://www.reactivated.net/fprint/wiki/Pam_fprint|Pam_fprint]], lo descomprimimos y lo instalamos:
usuario@maquina:~$ cd /usr/local/src
usuario@maquina:/usr/local/src$ sudo wget http://downloads.sourceforge.net/fprint/pam_fprint-0.2.tar.bz2
usuario@maquina:/usr/local/src$ sudo tar jxvf pam_fprint-0.2.tar.bz2
usuario@maquina:/usr/local/src$ cd pam_fprint-0.2
usuario@maquina:/usr/local/src/pam_fprint-0.2$ sudo ./configure && sudo make && sudo make install
==== Configuración ====
Ahora configuramos el método de autenticación por defecto de pam y añadimos el soporte para fprint_pam, de manera que el fichero ///etc/pam.d/common-auth//
#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
#
auth sufficient pam_fprint.so
auth sufficient pam_unix.so nullok_secure
auth required pam_deny.so
==== Funcionamiento ====
Pues ya podemos hacer logging en la maquina utilizando la huella, o en su defecto la contraseña del usuario, aquí podés ver una demo, no se ve muy bien, pero es dificil grabar y utilizar el ordenador a la vez, así como el video esta creado con un movil (me lo acaban de regalar):
{{flowplay>howto:fprint-auth.flv}}