You are on page 1of 14

Escuela Superior de Ingeniería C/ Chile, 1.

11002 Cádiz
Dirección Tlf. 956015100
Fax 956015101

Escuela Superior de Ingeniería

RESUMEN
PROYECTO FIN DE CARRERA

Autentificacíon centralizada basada en las venas de los dedos de las


manos
Autentificacíon centralizada basada en las venas de los dedos
de las manos

Carlos Zaccaro Salvador,


(1)
Víctor Manuel Sánchez Corbacho

Sevilla, 622112126, zaccaro_86@hotmail.com

(1)Escuela Superior de Ingeniería C/Chile, 1 Cádiz 11002 (Cádiz)

Extracto
Este trabajo muestra el diseño y la construcción de un dispositivo que usa las venas
superficiales de los dedos de la mano para identificar usuarios. El objetivo fundamental del
proyecto es trasladar todos los procesos que demandan recursos al servidor y así reducir los
requisitos de hardware permitiendo disminuir costos de producción. De esta manera la
arquitectura cliente-servidor permite múltiples puestos de identificación con un único
validador. También se ha creado una aplicación específica mediante Matlab que permite
registrar usuarios y verificar la identidad del individuo en proceso de verificación.

Palabras Clave: venas, identificación, biométrico, lector.

1. Introducción

Los métodos empleados para la identificación biométrica están perdiendo fiabilidad y


confianza día a día debido a la simplicidad de distintas formas publicadas para poder
vulnerarlos. El simple hecho de colocar un dedo en un lector de huellas dactilares deja
una copia de la “llave” accesible a cualquiera.

Es cierto que cuanto más seguro y fiable es un sistema mayor es su precio, aunque no es
la única diferencia. Los lectores biométricos se basan en distintas características para
diferenciar a los usuarios pero extraerlas puede suponer más o menos dificultad. En la
Tabla 1 se muestra una comparativa de los distintos tipos de identificadores, sus
ventajas, e inconvenientes.
Después de un estudio y valoración de los distintos sistemas se optó por elegir un
novedoso método, el de la biometría intravenosa de los dedos, que se presenta como un
patrón único en cada usuario, incluso en distintos dedos de un mismo usuario. Esta
característica hace que vulnerar el sistema resulte prácticamente imposible y que la
extracción sea cómoda para el usuario.

Tabla 1. Comparativa de las características de los sistemas biométricos.

Ojo Huellas Vascular Vascular Geometría de Escritura y


Ojo (Iris) Voz Cara
(Retina) dactilares dedo mano la mano firma

Fiabilidad Muy alta Muy Alta Muy Alta Muy Alta Muy Alta Alta Media Alta Alta

Facilidad de uso Media Baja Alta Muy Alta Muy Alta Alta Alta Alta Alta

Prevención de
Muy alta Muy Alta Alta Muy Alta Muy Alta Alta Media Media Media
ataques

Aceptación Media Baja Alta Alta Alta Alta Muy Alta Alta Muy alta

Estabilidad Alta Alta Alta Alta Alta Media Baja Media Media

Tras aclarar estas cuestiones fundamentales se definen los diferentes objetivos y límites
de diseño del proyecto.

2. Objetivos y alcance del proyecto

Un sistema de identificación biométrico consta de diferentes etapas, implementarlas


todas en un mismo dispositivo tiene la ventaja de la portabilidad y no requeriría de más
interconexión o hardware para su funcionamiento, por el contrario tiene el gran
inconveniente de que eleva el costo del dispositivo, al tener cada lector su propia base
de datos dificulta enormemente la ampliación del sistema a más dispositivos y la
adición de características como restringir el acceso según un horario o consultar el
registro de acceso se hacen tareas muy complicadas.
Para diseñar un sistema biométrico completo debemos tener en cuenta todos los
procesos necesarios involucrados en la identificación. Estos son:

 Captura del patrón

 Preprocesado de los Datos

 Extracción de Características

 Verificación

Vistos los inconvenientes que presenta una solución completa se optó por el diseño de
un sistema modularizado, esto quiere decir que no todos los componentes del sistema se
encuentran en el mismo dispositivo. De esta manera se deja abierta la posibilidad de
expansión y se facilita la adición de características, aunque con ello se renuncie a la
simplicidad de instalaciones de un solo identificador.

El objetivo principal es producir un hardware mínimo, orientado a una instalación de


varios identificadores, que únicamente realicen la parte del proceso de identificación del
lado del usuario estrictamente necesaria, la “Captura del patrón”. De este modo se
consigue reducir en gran medida el costo de cada módulo identificador.

El dispositivo solamente extraerá la imagen de las venas del dedo y la enviará por la red
al servidor que se encargará de preprocesar los datos, extraer características y verificar
la identidad del individuo.

Aunque el objetivo principal de este proyecto sea el diseño del hardware se implementa
un algoritmo de extracción y verificación para demostrar el funcionamiento del sistema.

3. Requisitos de diseño

El funcionamiento de un lector vascular de los dedos es muy simple, en la Figura 1 se


muestra la forma de captura de las venas. Una iluminación infrarroja se proyecta sobre
el dorso de un dedo, después una cámara capaz de captar ese tipo de iluminación recibe
el patrón de las venas por que la hemoglobina desoxigenada tiene un coeficiente de
absorción de esa longitud de onda mayor que la del resto del dedo.
Figura 1. Esquema de funcionamiento del lector biométrico

Según este principio, para captar una imagen del patrón de las venas, únicamente se
necesitarían unos leds, un sensor de imagen, sus correspondientes ópticas, el
microcontrolador y una interfaz de red. Por usabilidad se optó por incluir también una
forma de alimentación a través del cable de datos llamada Power Over Ethernet (PoE)
[1], esto nos permite situar un dispositivo identificador en cualquier lugar sin las
limitaciones de tener una toma de alimentación cercana. Eso si, debe haber un cableado
de datos para permitir la comunicación y alimentación.

También se hace imprescindible informar al usuario de la correcta/incorrecta


identificación mediante un led indicativo bicolor. La latencia del dispositivo, el decir, el
tiempo que pasa desde que se coloca el dedo hasta que se da una indicación luminosa no
debe ser mayor a dos segundos.

En la Figura 2 se muestra un esquema de los posibles usos del dispositivo a través de la


conexión de red que incorpora. Estas posibilidades pueden ser desde su uso en un
mismo local o empresa, o usarlo en varias sucursales, delegaciones o plantas en
conexión mediante Internet con un único servidor.
Figura 2. Esquema de instalación haciendo uso de conectividad global (izquierda) y
conectividad local (derecha).

4. Análisis de soluciones

Durante este apartado se estudian las diferentes estrategias para cumplir con los
requisitos de diseño y la elección de los diferentes componentes necesarios para su
construcción.

4.1. El sensor de imagen

Para la elección de un sensor apto para la aplicación se tuvieron en cuenta


características como la sensibilidad, el formato de salida de los datos y el tamaño. Pero
por distintos problemas con varios de ellos se terminó escogiendo el MT9V32 de
Aptina, división de imagen de Micron. Este componente posee la característica de que
es muy sensible a las longitudes de onda infrarroja, tiene una resolución de 752Hx480V,
tiene un modo de captura instantánea llamado Global Shutter y requiere una
alimentación a 3.3V.

A este chip es necesario colocarle unas lentes para obtener imágenes validas

4.2 Microcontrolador

Analizando los microcontroladores y los precios que ofrece el mercado actual y


observando que “mejor no significa más caro”, se optó por elegir el LPC2364 [2] que
aúna rendimiento y economía, sin dejar de lado las conexiones necesarias como I2C
para la cámara y RMII necesaria para la conexión Ethernet. Los microcontroladores
ARM, además, tienen la ventaja de que al tener un núcleo RISC de 32 bits permite
aprovechar al máximo el número de instrucciones en relación con la velocidad de reloj.

4.3 Interconexión Cámara-microcontrolador

En un principio se pretendía usar una conexión directa del sensor con el


microcontrolador pero el descarte de los dos primeros candidatos, que tenían una
velocidad de transmisión más lenta, hizo necesaria la adaptación de la velocidad de
transferencia de datos. Para esto hubo que adquirir una memoria especial llamada FIFO
(first in first out), que permite adaptar dos señales de datos con un ancho de palabra de 8
bits de distinta velocidad y sincronismo. El integrado elegido se denomina AL422 de la
casa Averlogic y tiene una capacidad de 3Mbits, lo que permite guardar una imagen
completa del sensor de imagen. La diferencia de precio con cualquiera de sus similares
era de más del 1000%.

4.4 Conexión de red


Para añadirle al microcontrolador la posibilidad de comunicación por Ethernet debemos
usar un circuito integrado que hace las veces de capa física del dispositivo. Esto
significa que, aunque el microcontrolador tenga incluida la característica de
conectividad Ethernet, necesita un integrado entre el propio cable y él para poder
implementar la conexión.
Se eligieron el conector MajJack con capacidad de PoE y el integrado KSZ8721BL por
ser los más económicos de su clase.

4.5 Alimentación del sistema


Como se ha comentado anteriormente el identificador dispone de dos modos de
alimentación: por un transformador común de 6-12V o por el mismo cable de datos.
Como la tensión que viene por los cables de datos es de unos 48V (max. 57V) se hizo
necesario el uso de un circuito convertidor-reductor. El integrado elegido debía poseer
la capacidad de alimentarse de una tensión baja como la de un transformador corriente
(6-12V) y una tal alta como la máxima posible más un 20% de seguridad, 68.4V para
ser exactos. El LM5085 cumplía todos los requisitos impuestos, tiene un rango de
entrada de 4.5-75V, una frecuencia de funcionamiento alta y una baja oscilación de
salida que reduce el ruido a los componentes sensibles como el sensor de imagen.

4.6 Captura, procesamiento y almacenamiento de datos


Para afrontar los requisitos propuestos hubo que disponer de varios programas y
proyectos ya disponibles y adaptarlos a las necesidades.

4.6.1 Captura
Para la captura de datos se valoraron distintos protocolos ya disponibles. Concretamente
SAMBA, FTP y TFPT, la decisión final apoyó el TFTP por su sencillez e incremento de
velocidad respecto de FTP.

4.6.2 Procesamiento
Para el procesamiento de imágenes se usó MATLAB, existía la opción de éste u Octave,
pero la práctica y el uso del primero a lo largo del curso hicieron de MATLAB el mejor
candidato.

4.6.3 Almacenamiento
Un registro unos pocos usuarios no supone ningún problema, pero, al ser la solución
propuesta escalable, se hace necesario el uso de un sistema de base de datos para
guardar nombres, imágenes, registros de uso, etc. Entre SQLite, POSTgreSQL y
MySQL se eligió el último por ser el del que mas información hay disponible.

4.6.4 Comunicación de órdenes


La comunicación de estados entre el servidor y el módulo identificador fue el problema
a abordar con mayor dificultad dada la naturaleza de la especialidad estudiada. En un
principio se pensó en Java pero la falta de asistencia que se obtuvo obligó a replantear
las posibilidades. Tras indagar se descubrió que MATLAB dispone también de un
módulo de comunicación por TCP.
5. Descripción de la solución adoptada

El funcionamiento del dispositivo para el usuario final es de la siguiente manera: Un


usuario coloca su dedo en el lector de venas, una luz roja empieza a parpadear y si el
acceso ha sido exitoso la luz deja de parpadear y se ilumina con un color verde, en caso
contrario la luz roja dejará de parpadear y se mantendrá encendida.

El modo de funcionamiento interno, mostrado en la Figura 3, es el siguiente: Una vez el


usuario ha colocado el dedo, el lector busca este evento analizando la luminosidad que
entra por el sensor de imagen. Cuando se oscurece captura una imagen y la envía al
servidor TFTP. En este momento, el lector, envía una petición de análisis al servidor de
solicitudes haciendo referencia a la imagen guardada anteriormente. El servidor recibe
esta petición, procesa la imagen referida, guarda un registro de la hora de acceso en caso
favorable y devuelve un resultado al dispositivo lector de “Acceso permitido” o
“Acceso denegado” y éste, a su vez informa al usuario con los leds.

Figura 3. Esquema funcional de la conexión terminal-servidor


5.1 Hardware del sistema

En el diseño de la parte de hardware se ha cuidado en detalle los componentes


esenciales para el funcionamiento y, naturalmente, sin quitarle prestaciones. En la
Figura 4 se muestra un esquema del hardware interior, también aparecen los conectores
de programación, y alimentación común como opción alternativa. En la Figura 5 el
diseño del hardware exterior.

Conector
SENSOR DATOS FIFO
para LEDS LED
IMAGEN

RMII IC de Ethernet
Conexión JTAG
JTAG MICROCONTROLADOR

Modulo de potencia Conector


Jack DC V+ 48V 3.3V 48V
RJ45

Figura 4. Diagrama de conexiones del Hardware

Aunque no están diseñados para ello, el sensor y la FIFO se pudieron interconexionar


sin ayuda de ningún componente externo, con la configuración I2C de la cámara se
pudo configurar una salida apta para manejar las señales de sincronismo del buffer.
Figura 5. Modelado del exterior del identificador

5.2 Software del sistema

El software del sistema consta principalmente de dos etapas diferenciadas:


programación del servidor y programación del módulo identificador.

5.2.1 Programación del microcontrolador

En esta apartado se implementa toda la programación relacionada con la detección del


dedo del usuario mediante el análisis continuo de las imágenes de la cámara, la pila para
el uso de la red mediante el proyecto de código abierto uIP [3], que hubo que adaptarlo
a nuestra arquitectura. Y, por último, el cliente TFTP, que fue creado a partir de un
código fuente existente en la red que hubo que adaptar para este proyecto, de este modo
el cliente TFTP programado era capaz de comunicarse con uIP y este a su vez con la
interfaz RMII del microcontrolador. Para configurar la cámara tuvo que usarse el
protocolo I2C, que también fue implementado en el microcontrolador.

5.2.2 Programación Matlab

El sistema de reconocimiento, tiene cuatro etapas las cuales las mencionamos a


continuación:
 Captura de la imagen: En el microcontrolador.

 Preprocesado de los datos capturados (para adaptarlos al siguiente paso): La


imagen obtenida directamente de la cámara, como se muestra en la Figura 6,
está distorsionada por el gran angular de la lente. Para corregirla hubo que hacer
una función que transformara la imagen de forma inversa a su distorsión.

Figura 6. Captura de la imagen obtenida de la cámara (derecha) y su corrección (izquierda)

 Extracción de características propias del usuario: Para esta tarea se usa el


método desarrollado por N. Miura [4]. En él, se explica como resaltar y extraer
las venas a partir de una imagen. En la Figura 7 se muestran los pasos.

Figura 7. Imágenes del proceso de extracción de características


 Verificación (comparación) de las características extraídas, con el patrón
previamente almacenado: En este último paso se crea un algoritmo que permite
comprobar si la foto de la venas de un usuario coinciden con la almacenada en la
base de datos, aunque halla puesto el dedo en una posición distinta. El algoritmo
se basa en la transformada de Laplace: la imagen es transformada al dominio de
la frecuencia de modo que haciendo una correlación obtenemos los puntos de
mayor coincidencia y su respectivo porcentaje de la misma.

Para poder trabajar con el sistema hubo que diseñar una interfaz gráfica, se eligió
Matlab por la simple implementación con las funciones ya programadas. El panel
principal dispone de una ventana donde aparece la imagen y el nombre de la persona
que se está identificando. También existe una ventana de registro que permite introducir
nuevos usuarios en la base de datos. En la Figura 8 se muestra una captura de dicha
ventana.

Figura 8. Ventana de registro de nuevos usuarios

También está programado en Matlab un pequeño servidor para intercambiar mensajes


entre el dispositivo y el servidor como “Acceso a dispositivo X permitido”, “Dispositivo
X denegado” o por ejemplo “Analiza la imagen x del dispositivo 1”.
6. Conclusiones

Personalmente, la experiencia me ha servido para consolidar los conocimientos y


estudios realizados en años previos así como profundizar conocimientos sobre
procesamiento de imágenes e interconexión de redes. Gracias al desarrollo del proyecto
he podido abordar cuestiones de investigación sobre los diferentes caminos para
solventar los distintos problemas encontrados durante el diseño. La materialización
física del sistema mediante un prototipo refleja la posibilidad de trasladar desde el papel
una idea inicial que en un principio puede parecer inalcanzable pero finalmente, y tras
mucho tiempo de trabajo, es una realidad que termina produciendo una gran satisfacción
personal.

7. Referencias

1. IEEE Std 802.3at, Power Over Ethernet, (2009).

2. Nxp Semiconductors, UM10120 LPC236x User Manual, (2005).

3. Adam Dunkels, The uIP 1.0 Reference Manual, (Junio 2006).

4. N. Miura, A. Nagasaka, and T. Miyatake, Extraction of finger-vein patterns using


maximum curvature points in image profile. IEICE TRANS. INF. & SYST, August
2007.

8. Agradecimientos

Agradezco al tutor del proyecto, Víctor Manuel Sánchez Corbacho, toda su ayuda y
sacrificio para sacar este proyecto adelante.

También a Joaquín Pizarro su colaboración en la parte de Procesamiento de Imágenes.

You might also like