====== 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}}