It should work…

Cuando cualquier trasto es útil

It should work… header image 2

[Fprint] Los dispositivos

October 9th, 2008 · 4 Comments · linux

Después de una introducción continuamos con los dispositivos que podemos emplear. Van siempre conectados al bus USB y según el wiki ahora mismo podemos usar los siguientes:

Poco a poco se van añadiendo modelos, de hecho, inicialmente sólo se dió soporte a 4 modelos distintos así que para ilustrar un poco las características que suelen tener estos cacharros vamos a ver los 4 primeros que se implementaron (empezando por el mio!) :

AuthenTec AES2501

Este es el que tengo yo en mi HP nc6400. Es “swipe-type fingerprint sensor” lo que viene a ser de barrido, es decir el usuario tiene que pasar el dedo y dependiendo de como lo haga la imagen resultante podrá ser distinta. Lo que hace es escanear durante distintos instantes de tiempo el trocito de huella que está encima del sensor en sí y luego presenta al sistema una serie de imagenes en ‘rebanadas’ de 192×16 píxeles en escala de grises. Con esas lonchas de imágenes el driver deberá eliminar el overlap entre los diferentes trozos y juntarlos para obtener la huella. Cuando este sensor viene montado en portátiles a veces se da el caso de que lo han puesto al revés así que, además de eliminar el overlap, se deberá también determinar la dirección de escaneo. Pero nos falta un detalle, digamos que unos dispositivos son más ‘tontos’ que otros, así que en este modelo también se deberá detectar cuando se ha puesto el dedo en el sensor y cuando se ha quitado. (lo cierto es que cuanto más tonto sea el dispositivo más guay porque al no hacer cosas automáticamente podremos hacer más cosas como queramos). Lo cierto es que a pesar que no tener implementadas en hardware funciones para detectar el dedo tiene un modo de captura en el cual devuelve el histograma de la imagen capturada pero SIN transferir los datos de esa imagen. Esto simplifica mucho las cosas porque calculando el area el histograma y teniendo un valor umbral podremos determinar la presencia de un dedo o no.

Respecto a la captura de las imágenes es un poco más complicado que en otros dispositivos, como hemos dicho devuelve una serie de imágenes de 192×16 pero el caso es que vienen codificadas y ordenadas de una forma un poco rara. Gracias a la especificación del fabricante se puede reordenar el churro de bytes y así obtener las imagenes en escala de grises.

AES2501 Slices

Estos dispositivos suelen estar presentes en los portátiles de HP y Fujitsu.

AuthenTec AES4000

Este modelo, a diferencia del anterior es “press-type USB fingerprint sensor” es decir, se coloca el dedo en lugar de arrastrarlo por el sensor. Devuelve una imagen cuadrada en escala de grises al sistema y tiene implementado en hardware funciones básicas para detectar la presencia del dedo. Es bastante común en periféricos autenticadores. Al igual que AES2501 ordena los bits de las imágenes del mismo modo extraño made in AuthenTec.

Su mayor problema es que lleva un sensor muy pequeño, de 223ppi (pixels per inch), comparado otros modelos y con los 500ppi recomendados por los algoritmos de identificación y verificación de huellas (mindtct, del cual hablaremos más adelante) . Originalmente las imágenes que se obtenían eran malísimas pero escalando la imagen antes del procesado se solventa gran parte del desastre.

A continuación el resultado de la binarización de la imagenes con ambos tamaños:

AES4000 223ppi binarized image

AES4000 223ppi enlarged and binarized image

Digital Persona U.are.U 4000B

Es un press-type USB fingerprint sensor también. Usa un sistema optico para capturar una imagen de alta resolución de la huella. Tiene implementado en hardware detección de la presencia del dedo y 2 modos de captura. Este dispositivo lo vende por separado la empresa Digital Persona y se encuentran en varios dispositivos de entrada embebidos de Microsoft. También se vende el módulo sensor por separado que, de hecho, otras empresas han integrado en más de uno de sus productos.

Devuelve imágenes de 8 bits en escala de grises estandar que no requiere de ningún tipo de reordenación como los casos anteriores.

UPEK TouchStrip

Es un “swipe-type USB fingerprint scanner” pero este dispositivo guarda una diferencia clave respecto al resto, lleva un coprocesador biométrico que realiza el procesado de la imagen en hardware y en lugar de presentar una imagen el sistema tan sólo presenta un resultado booleano de autenticación concedida o denegada. Por un lado eso nos ofrece desventajas a la hora de usar los algoritmos que queramos para el tratamiento de imágenes pero por otro nos podría simplificar el sistema a la hora de crear un sistema embebido y la ventaja de poder disminuir el tamaño del driver.

Este dispositivo se puede encontrar en portátiles de IBM/Lenovo, DELL y Toshiba. Existe un driver propietario de UPEK para linux y tambień tenemos disponible el driver Thinkfinger.

En las próximas entregas veremos que algoritmos se usan para tratar las imágenes. Y bueno, no hace falta decir que gran parte de lo que se conoce de todos estos dispositivo es gracias a la ingeniería inversa y a esnifar el bus USB. Si tienes un dispositivo que no esté soportado no dudes enviar tus chorrizos de bytes a la lista de correo de fprint.


Fuente original en http://vierito.es/wordpress

Similar Posts:

Tags: ··················

4 responses so far ↓

Leave a Comment