Universidad Antonio de Nebrija Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Universidad Antonio de Nebrija Ingenierı́a Informática Proyecto Fin de Carrera Director: Julián Fiérrez Aguilar Tutor: Jesús Pancorbo López Autor: Manuel Ricardo Freire Santos Junio 2006 El trabajo de investigación que ha dado lugar a este Proyecto Fin de Carrera fue desarrollado en el Área de Tratamiento de Voz y Señales, Departamento de Ingenierı́a Informática, Escuela Politécnica Superior, Universidad Autónoma de Madrid. Índice general Preámbulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.. Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1. Estado del arte del reconocimiento de firma manuscrita . . . . . . . . . . 12 2.1.1. Introducción al reconocimiento biométrico . . . . . . . . . . . . . 12 2.1.2. Esquema general de un sistema de reconocimiento biométrico . . . 14 2.1.3. Medidas de evaluación . . . . . . . . . . . . . . . . . . . . . . . . 16 2.1.4. Reconocimiento de firma manuscrita . . . . . . . . . . . . . . . . 16 2.2. Estado del arte de los criptosistemas biométricos . . . . . . . . . . . . . . 19 2.2.1. Breve introducción a la criptografı́a . . . . . . . . . . . . . . . . . 19 2.2.2. Criptosistemas biométricos . . . . . . . . . . . . . . . . . . . . . . 23 2.2.3. Criptosistemas biométricos basados en firma manuscrita . . . . . 24 2.3. Tecnologı́as utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.1. Tableta digitalizadora . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.2. TabletPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.. Criptosistema biométrico basado en firma manuscrita . . . . . . . . . . . . . . 28 3.1. El esquema criptográfico fuzzy vault . . . . . . . . . . . . . . . . . . . . . 28 3.1.1. Codificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1.2. Decodificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.2. Sistema propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.1. Preprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.2. Extracción de caracterı́sticas . . . . . . . . . . . . . . . . . . . . . 32 3 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita 4.. Evaluación y experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1. Descripción de las bases de datos . . . . . . . . . . . . . . . . . . . . . . 33 4.1.1. MCYT-Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.2. ATVS-TabletPC . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.2. Evaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.3. Experimentos y resultados . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.3.1. Análisis de las funciones . . . . . . . . . . . . . . . . . . . . . . . 37 4.3.2. Comparativa de las funciones . . . . . . . . . . . . . . . . . . . . 38 4.3.3. Resolución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.3.4. Evaluación del sistema propuesto en entorno PC . . . . . . . . . . 39 4.3.5. Evaluación del sistema propuesto en entorno TabletPC . . . . . . 39 5.. Prototipo del sistema propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.1. Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.1.1. Introducción a BPG . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2. Arquitectura del prototipo . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.3. Implementación del cliente . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.4. Implementación del servidor . . . . . . . . . . . . . . . . . . . . . . . . . 45 6.. Conclusiones y trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.2. Lı́neas futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Glosario de acrónimos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Índice general 4 Índice de figuras 2.1. Ejemplos de rasgos biométricos: (a) ADN, (b) oreja, (c) cara, (d) termograma facial, (e) termograma palmar, (f) venas de la mano, (g) huella dactilar, (h) forma de andar, (i) iris, (k) huella palmar, (l) retina, (m) firma, y (n) voz. Fuente: [Jain et al., 2004]. . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2. Esquema de los tres modos de funcionamiento de los sistemas de reconocimiento biométrico. Fuente: Jain et al. [2004]. . . . . . . . . . . . . . . . 15 2.3. Curvas FAR y FRR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4. Curvas (a) ROC y (b) DET. . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.5. Ejemplo de firma genuina y falsificación de la base de datos MCYT, de arriba a abajo: imagen de la firma, señal temporal del eje x, señal temporal del eje y, señal temporal de presión p. . . . . . . . . . . . . . . . . . . . . 18 2.6. Esquema conceptual de la criptologı́a. . . . . . . . . . . . . . . . . . . . . 19 2.7. Red de Feistel, esquema habitual de los cifradores simétricos de bloque. . 21 2.8. Esquema general de un cifrador de clave asimétrica. Fuente: Stallings [2002]. 22 2.9. Esquema de (a) un criptosistema tradicional, y (b) un criptosistema biométrico basado en key release. Fuente: Uludag et al. [2004]. . . . . . . . . . . . 23 2.10. Tableta digitalizadora Wacom Intuos3 A6 USB. Fuente: http://www.wacom.com. 25 2.11. TabletPC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1. Esquema del criptosistema fuzzy vault: (a) codificación y (b) decodificación. 29 3.2. Codificación con fuzzy vault para un secreto S de 128 bits. . . . . . . . . 30 3.3. Decodificación con fuzzy vault para un secreto S de 128 bits. . . . . . . . 31 4.1. Ejemplo de plantilla utilizada en la captura de la base de datos MCYT. . 34 4.2. Representación de los ángulos de azimut e inclinación. Fuente: [OrtegaGarcia et al., 2003]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita 4.3. Ejemplos de firmas de la base de datos MCYT. En cada fila las tres firmas de la izquierda se corresponden con un usuario, y las tres de la derecha con otro. Dentro de cada usuario, las dos primeras firmas son genuinas, y la tercera es una falsificación entrenada. Las gráficas bajo las firmas son las señales adquiridas (xt , yt , pt , γt y ϕt ). Fuente: Ortega-Garcia et al. [2003]. 35 4.4. Muestras de firmas de la base de datos ATVS-TabletPC. En cada fila, las dos firmas de la derecha están capturadas con el modelo HP TC 1100, y las dos de la izquierda con el modelo Toshiba Portege M200. Para las firmas de cada usuario en cada modelo, la de la izquierda es genuina y la de la derecha una falsificación. En todos los casos, las gráficas bajo las firmas representan las señales adquiridas por la TabletPC (xt , yt y pt ). Fuente: Alonso-Fernandez et al. [2005]. . . . . . . . . . . . . . . . . . . . . . . . . 36 4.5. Histogramas del número de máximos y mı́nimos para las diferentes señales temporales de firma de la base de datos MCYT, de izquierda a derecha: posición en el eje x, posición en el eje y y presión p. . . . . . . . . . . . . 38 5.1. Pantallazo de la aplicación cliente del prototipo. . . . . . . . . . . . . . . 43 5.2. Flujo de ejecución de una operación en la aplicación cliente del prototipo. 44 5.3. Flujo de ejecución de la operación obtener clave en la aplicación servidor del prototipo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Índice de figuras 6 Índice de cuadros 2.1. Comparativa cualitativa de las caracterı́sticas de los distintos rasgos biométricos (A=Alto, M=Medio, B=Bajo). Fuente: Jain et al. [2004]. . . . . . . . 14 4.1. Número medio de coincidencias entre usuarios genuinos e impostores entrenados usando una única señal con una resolución de 10 bits. . . . . . . 38 4.2. Número medio de coincidencias entre usuarios genuinos e impostores para los valores del eje x con resoluciones de 8, 10 y 12 bits. . . . . . . . . . . 39 4.3. Rendimiento del sistema en entorno PC para usuarios genuinos con diferentes configuraciones de puntos de 10 bits (MCYTX, 126 usuarios). . . . 39 4.4. Rendimiento del sistema en entorno PC para falsificaciones entrenadas con diferentes configuraciones de puntos de 10 bits (MCYTX, 126 usuarios). . 40 4.5. Rendimiento del sistema en entorno PC para falsificaciones aleatorias con diferentes configuraciones de puntos de 10 bits (MCYTX, 126 usuarios). . 40 7 Preámbulo Organización del Proyecto El presente trabajo está describe el desarrollo de un criptosistema biométrico basado en firma manuscrita. El capı́tulo 1 contiene la introducción, la motivación y los objetivos de este Proyecto Fin de Carrera. En el capı́tulo 2 se realiza una revisión del estado del arte de las disciplinas y tecnologı́as tratadas en este trabajo. A continuación, en el capı́tulo 3 se expone el criptosistema biométrico propuesto, detallando el esquema criptográfico fuzzy vault y su adaptación a los parámetros locales de la firma manuscrita. En el capı́tulo 4 se describen en detalle las bases de datos utilizadas, y se incluyen los experimentos realizados y los resultados obtenidos . El capı́tulo 5 contiene la información relativa al desarrollo del prototipo software del sistema propuesto. Por último, en el capı́tulo 6 se exponen las conclusiones del Proyecto y se dibujan las lı́neas de trabajo futuro. Notaciones utilizadas Los términos pertenecientes al ámbito de las disciplinas tratadas han sido por norma general traducidos al castellano, salvo en dos casos: cuando el término en inglés es de uso común en la literatura en castellano y cuando, aun no estando extendido, su traducción no resulta directa. El significado de los acrónimos aparecidos en el trabajo se incluye en el Glosario. Se han utilizado las siguientes abreviaturas: Cap. (capı́tulo), Sec. (sección), Fig. (figura). Para la bibliografı́a se ha optado por la notación plainnat del módulo natbib de LATEX, por considerarla la más adecuada para este tipo de documentos por legibilidad y elegancia. Ejemplos de esta notación son [Jain et al., 2004] para referencias entre corchetes y Jain et al. [2004] para referencias inline. Este documento ha sido realizado siguiendo las recomendaciones del Anexo C de las 8 Normas del Proyecto Fin de Carrera del Departamento de Ingenierı́a Informática para el curso 2004-2005. Herramientas utilizadas El presente trabajo ha sido redactado por el autor usando LATEX. El formato del texto es Computer Roman Modern a tamaño 12pt. Todos los gráficos e imágenes fueron incluidos en formato Encapsulated PostScript. Los experimentos incluidos fueron escritos y ejecutados en Matlab 6.5. Nota sobre el copyright Los derechos de cualquier marca comercial o registrada mencionada en el presente documento son propiedad de sus respectivos titulares. 9 1 Introducción La Criptografı́a es uno de los pilares de la Seguridad Informática. Desgraciadamente, la seguridad de los criptosistemas está condicionada por una operación de autenticación que habitualmente utiliza claves pseudo-aleatorias (de al menos 128 bits en los cifradores simétricos), que son en la práctica imposibles de recordar. Como resultado se utilizan contraseñas generadas por los usuarios para revelar la clave real, disminuyendo la seguridad total del sistema (eslabón más débil) [Stallings, 2002]. Como solución a este problema se han propuesto recientemente sistemas en los que se reemplazan las contraseñas por patrones extraı́dos de rasgos biométricos (por ejemplo: firma, huella dactilar, iris, etc.) que no pueden ser robados ni olvidados. Este tipo de sistemas recibe el nombre de Criptosistemas Biométricos [Uludag et al., 2004]. Este Proyecto Fin de Carrera propone el desarrollo de un criptosistema biométrico basado en firma manuscrita, combinando la investigación de nuevas técnicas con la implementación de un prototipo software en un entorno TabletPC. Concretamente, el sistema propuesto se implementa en forma de cifrador de ficheros, donde se sustituye la contraseña del usuario por su firma manuscrita. En este trabajo se presenta una revisión del estado del arte del reconocimiento de firma manuscrita y de los criptosistemas biométricos, que sirve de referente para el trabajo de investigación. El objetivo principal de este Proyecto Fin de Carrera es presentar un nuevo criptosistema biométrico basado en firma manuscrita. Esta contribución tiene como fin investigar, describir y evaluar el criptosistema propuesto. El análisis del esquema esta apoyado por resultados experimentales, utilizando las bases de datos MCYT [Ortega-Garcia et al., 2003] y ATVS TabletPC Signature [Alonso-Fernandez et al., 2005]. La aplicabilidad real del proyecto es abordada mediante la implementación de un 10 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita prototipo software en forma de cifrador de ficheros. El prototipo interacciona con la aplicación del proyecto de código abierto BPG, creado y administrado por el Autor a raı́z del programa de becas Google Summer of Code 2005. 11 2 Estado del arte 2.1. Estado del arte del reconocimiento de firma manuscrita 2.1.1. Introducción al reconocimiento biométrico En una sociedad crecientemente interconectada, la identificación de los individuos representa un papel fundamental. Desde la autorización de transacciones bancarias al control de fronteras, la identificación fiable es un requisito imprescindible. Existen tres grandes modalidades de identificación: basada en algo que el individuo sabe (una contraseña), en algo que tiene (una llave), o en algo que es (su cara). El reconocimiento biométrico se corresponde con este último grupo [Jain et al., 2004]. Frente a los otros dos tipos de identificación, presenta la ventaja de que un rasgo biométrico no puede ser olvidado o robado. Como desventaja, la variabilidad en el reconocimiento biométrico disminuye la precisión de la identificación. Dentro del reconomiento biométrico se pueden utilizar diferentes rasgos para identificar al usuario: huella dactilar, voz, iris, cara, firma, etc. Estos se pueden clasificar asimismo en patrones fisiológicos (huella) y patrones de comportamiento (firma). La Fig. 2.1 contiene ejemplos de rasgos biométricos. La conveniencia de uno u otro rasgo para determinada aplicación se estudia teniendo en cuenta: Universalidad: existencia del rasgo en todos los usuarios. Unicidad: capacidad discriminativa del rasgo (personas distintas deben poseer rasgos distintos). 12 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Fig. 2.1: Ejemplos de rasgos biométricos: (a) ADN, (b) oreja, (c) cara, (d) termograma facial, (e) termograma palmar, (f) venas de la mano, (g) huella dactilar, (h) forma de andar, (i) iris, (k) huella palmar, (l) retina, (m) firma, y (n) voz. Fuente: [Jain et al., 2004]. Permanencia: variabilidad del rasgo en el tiempo. Mensurabilidad: capacidad para caracterizar el rasgo cuantitativamente. Aceptabilidad: grado de aceptación personal y social. Rendimiento: precisión y rapidez en la identificación. Evitabilidad: capacidad de eludir/burlar el sistema. Cada rasgo biométrico destaca en algún atributo y flaquea en otro, no existiendo uno sólo que abarque todos con éxito. La Tabla 2.1 incluye una comparativa de las diferentes caracterı́sticas de los distintos rasgos biométricos. Una forma de mejorar la fiabilidad del reconocimiento biométrico es utilizar distintos tipos de información biométrica al realizar la identificación. Esta modalidad se denomina multibiometrı́a y se puede realizar a distintos niveles [Ross et al., 2006]: múltiples rasgos, múltiples tomas del mismo rasgo, múltiples sensores, múltiples algoritmos de reconocimiento, etc. 2.1. ESTADO DEL ARTE DEL RECONOCIMIENTO DE FIRMA MANUSCRITA13 Aceptabilidad Evitabilidad A M B M A B M M A B B A A B B B A A A M A M M B M M M B A A B M A B M M M B B M B M B A A Permanencia Rendimiento ADN Oreja Cara Termograma facial Huella dactilar Forma de andar Geometrı́a de la mano Venas de la mano Iris Forma de teclear Olor Huella palmar Retina Firma Voz Unicidad A A A B M M A M A B M A A A B A M A A M M B B A M M M A M M M M A A A M B B B M A A A B M A A M A A M B B B B A M B B M Universalidad Mensurabilidad Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Tab. 2.1: Comparativa cualitativa de las caracterı́sticas de los distintos rasgos biométricos (A=Alto, M=Medio, B=Bajo). Fuente: Jain et al. [2004]. 2.1.2. Esquema general de un sistema de reconocimiento biométrico Habitualmente, un sistema de reconocimiento biométrico puede trabajar en tres modos: registro, identificación y verificación [Jain et al., 2004]. La Fig. 2.2 muestra el esquema de cada uno de ellos. Durante el registro, el sistema adquiere una plantilla del rasgo biométrico, que será utilizada posteriormente para evaluar la validez del usuario. Durante esta etapa, se produce un preprocesado de la señal biométrica, se extraen las caracterı́sticas de interés y se almacenan en el sistema, construyendo un modelo del usuario registrado. En el modo de verificación (o autenticación), el usuario facilita su identidad pretendida (por ejemplo, su identificador de usuario) y el rasgo biométrico requerido. El sistema comprueba si el rasgo presentado se corresponde con el modelo almacenado del usuario. En esta modalidad la comprobación es del tipo uno-a-uno. En la identificación el sistema recibe un rasgo biométrico, y comprueba si se corresponde con alguno de los modelos almacenados en la base de datos del sistema. Es, por tanto, una comprobación uno-a-muchos. 2.1. ESTADO DEL ARTE DEL RECONOCIMIENTO DE FIRMA MANUSCRITA14 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Fig. 2.2: Esquema de los tres modos de funcionamiento de los sistemas de reconocimiento biométrico. Fuente: Jain et al. [2004]. 2.1. ESTADO DEL ARTE DEL RECONOCIMIENTO DE FIRMA MANUSCRITA15 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita 2.1.3. Medidas de evaluación Para la evaluación de los sistemas de reconocimiento biométrico se suelen utilizar la tasa de falta aceptación (FAR, False Acceptance Rate) y la tasa de falso rechazo (FRR, False Rejection Rate). El FAR se calcula como el número de accesos fraudulentos entre el número total de intentos fraudulentos. El FRR es el número de usuarios válidos rechazados entre el número total de intentos de usuarios válidos. Fig. 2.3: Curvas FAR y FRR. El comportamiento de ambas tasas varı́a de forma opuesta en función del umbral de decisión del sistema, como se observa en la Fig. 2.3: si el sistema es muy permisivo (baja similitud implica identificación positiva), el FAR será alto y el FRR bajo; si por el contrario el sistema es muy restrictivo (sólo muy alta similitud implica identificación positiva), el FAR será bajo y el FRR alto. El punto donde las dos tasas coinciden se denomina tasa del mismo error (EER, Equal Error Rate), y da una idea del porcentaje de error global del sistema. En ocasiones se utilizan también otras curvas que representan el funcionamiento del sistema en todos los puntos de trabajo: las curvas ROC (Receiving Operating Characteristic) y DET (Detection Error Tradeoff ) [Martin et al., 1997]. Ambas muestran la relación entre la falsa aceptación y el falso rechazo en el sistema, aunque a diferente escala. La Fig. 2.4 muestra ejemplos de curvas ROC y DET. 2.1.4. Reconocimiento de firma manuscrita La firma manuscrita se ha utilizado tradicionalmente como método de identificación, gozando de gran aceptación social y legal [Plamondon and Lorette, 1989]. Pese a ser considerado habitualmente un rasgo poco distintivo por su alta variabilidad, el rendimiento de los sistemas actuales de reconocimiento de firma manuscrita es com2.1. ESTADO DEL ARTE DEL RECONOCIMIENTO DE FIRMA MANUSCRITA16 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Fig. 2.4: Curvas (a) ROC y (b) DET. parable al de los de huella dactilar, sobre todo en condiciones adversas de captura [Maio et al., 2004, Yeung et al., 2004]. Los sistemas de reconocimiento automático basados en firma manuscrita se dividen en dos grupos: basados en firma off-line y basados en firma on-line. Los primeros llevan a cabo la identificación utilizando la imagen estática obtenida de la realización de la firma. Los segundos utilizan la información dinámica de la adquisición respecto al tiempo (por ejemplo, posición, ángulo, presión, etc.), capturada con un dispositivo especial (por ejemplo, tableta digitalizadora, PDA, etc.). En la Fig. 2.5 se muestran ejemplos de firmas capturadas con información dinámica. A su vez, hay dos tipos de sistemas de reconocimiento de firma on-line [Fierrez-Aguilar et al., 2005b]: basados en parámetros locales (function-based ) y basados en parámetros globales (feature-based ). Sistemas basados en parámetros locales El reconocimiento de firma on-line basado en parámetros locales tiene en cuenta las funciones de la firma con respecto al tiempo (por ejemplo, posición, velocidad, aceleración, presión, etc.). Un ejemplo de este tipo de esquemas es el propuesto en Jain et al. [2002]. Consta de cuatro fases. Primero, la firma es preprocesada. Luego se extrae información espacial y temporal de la firma. Una vez extraı́do el vector, se compara con el de la firma registrada mediante la técnica de cálculo de similitud de cadenas DTW. Finalmente, el sistema decide si la verificación ha tenido éxito en función del umbral de similitud preestablecido. 2.1. ESTADO DEL ARTE DEL RECONOCIMIENTO DE FIRMA MANUSCRITA17 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita 3500 4000 3000 2500 X X 3000 2000 2000 1500 1000 50 100 150 200 250 300 350 400 8400 8600 8200 8400 8000 8200 Y Y 0 7800 50 100 150 200 250 300 350 400 450 0 50 100 150 200 250 300 350 400 450 0 50 100 150 200 250 300 350 400 450 8000 7600 7800 0 50 100 150 200 250 300 350 400 1000 800 Pressure Pressure 0 500 600 400 200 0 0 50 100 150 200 250 (Firma genuina) 300 350 400 0 (Falsificación) Fig. 2.5: Ejemplo de firma genuina y falsificación de la base de datos MCYT, de arriba a abajo: imagen de la firma, señal temporal del eje x, señal temporal del eje y, señal temporal de presión p. En Fierrez-Aguilar et al. [2005a] se presenta otro enfoque basado en información regional, en el cual se evalúa la similitud de las diferentes secciones temporales de la firma utilizando HMM. Consideramos esta modalidad como un subconjunto de los sistemas basados en parámetros locales. Sistemas basados en parámetros globales Los sistemas de reconocimiento de firma basados en parámetros globales extraen un vector de caracterı́sticas a partir de valores estadı́sticos de la firma, como la duración total, velocidad media, relación de aspecto, etc. En Fierrez-Aguilar et al. [2005b] se presenta un sistema experto basado en parámetros globales. Al introducir una firma, el sistema extrae de ella 100 caracterı́sticas. En el momento de la verificación se calcula el grado de similitud entre el vector de caracterı́sticas registrado del usuario y el presentado. 2.1. ESTADO DEL ARTE DEL RECONOCIMIENTO DE FIRMA MANUSCRITA18 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita 2.2. Estado del arte de los criptosistemas biométricos 2.2.1. Breve introducción a la criptografı́a La criptografı́a es la ciencia que desarrolla métodos de cifrado para proteger la información. El criptoanálisis estudia las técnicas para burlar los algoritmos de cifrado y conseguir la información original. La combinación de ambos recibe el nombre de criptologı́a (ver Fig. 2.6). Criptología Criptografía Clave simétrica Criptoanálisis Clave asimétrica Cifrado de bloque Cifrado de flujo Fig. 2.6: Esquema conceptual de la criptologı́a. Dentro del marco de la seguridad informática, la criptografı́a debe proporcionar: Confidencialidad: la información debe permanecer oculta para los usuarios no válidos. Autenticidad: el emisor y el receptor deben ser quien dicen ser. Integridad: la información no debe haber sido alterada. Revocabilidad: las claves utilizadas deben poder ser canceladas (por ejemplo, tras el hurto de la clave). La criptografı́a surge hace miles de años. Los cifradores clásicos (anteriores a la II Guerra Mundial) se basan en sustituciones monoalfabéticas y polialfabéticas. En los primeros, cada sı́mbolo del texto original se sustituye siempre por el mismo sı́mbolo en el texto cifrado (ejemplo: Cifrado de César ). En los segundos, los sı́mbolos del texto original se sustituyen por distintos sı́mbolos dependiendo de la clave (ejemplo: Cifrado de Vigenère) [Stallings, 2002, Stinson, 2002]. Con la revolución de la computación tras la II Guerra Mundial surgen los cifradores modernos. Se basan en dos operaciones, habitualmente en combinadas: 2.2. ESTADO DEL ARTE DE LOS CRIPTOSISTEMAS BIOMÉTRICOS 19 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Confusión: mediante sustituciones de sı́mbolos se intenta ocultar la relación entre el texto original y el texto cifrado. Difusión: mediante permutaciones se intenta repartir la influencia de cada elemento del mensaje original, para evitar que la redundancia en la fuente original se refleje en el texto cifrado. Los criptosistemas modernos se dividen en dos: los cifradores de clave simétrica, en los que la clave de cifrado y descifrado coinciden, y los cifradores de clave asimétrica (o pública), en los que hay dos claves distintas. Cifradores de clave simétrica Son aquellos criptosistemas que utilizan una clave aleatoria K para cifrar y descifrar la información. Se subdividen a su vez en dos grupos: cifradores de flujo y cifradores de bloque. En los cifradores de flujo, la clave K determina el estado inicial de un algoritmo determinista, que genera una secuencia cifrante que se opera bit a bit (generalmente mediante una operación XOR) con el texto original, dando lugar al texto cifrado. Durante el descifrado, se alimenta el algoritmo con la misma clave K, obteniendo la misma secuencia y operando con el texto cifrado, dando lugar a la información original. Ejemplos de cifradores de flujo son cifrador de Vernam y RC4. Más habituales son los cifradores de bloque, en los que el algoritmo de cifrado se aplica independientemente a cada bloque de N bits (en lugar de bit a bit como en los cifradores de flujo). Ası́, dos bloques iguales de texto original cifrados con la misma clave dan lugar al mismo texto cifrado. Ejemplos de cifradores de bloque son AES, DES y IDEA. La estructura tradicional de los cifradores de bloque es la Red de Feistel, mostrada en la Fig. 2.7. El tamaño habitual de la clave de los cifradores de bloque actuales es 128 ó 256 bits. Los algoritmos de bloque pueden utilizarse en diferentes combinaciones denominadas modos de operación. Con ellos se intenta solventar los patrones del texto original que permanecen latentes en el texto cifrado. Los más habituales son ECB, CBC, OFB y CFB. Cifradores de clave asimétrica A mediados de la década de 1970, Diffie y Hellman [Diffie and Hellman, 1976] propusieron un nuevo tipo de criptosistemas basado en la utilización de dos claves distintas: una para el cifrado y otra para el descifrado. Este hecho revolucionó la problemática de la distribución de claves: mientras que en los cifradores simétricos es necesario comunicar la clave K al receptor mediante un canal seguro, el nuevo enfoque permitı́a operar sobre canales inseguros (como lo es hoy Internet). 2.2. ESTADO DEL ARTE DE LOS CRIPTOSISTEMAS BIOMÉTRICOS 20 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Fig. 2.7: Red de Feistel, esquema habitual de los cifradores simétricos de bloque. 2.2. ESTADO DEL ARTE DE LOS CRIPTOSISTEMAS BIOMÉTRICOS 21 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Para conseguirlo, una de las claves se etiqueta como privada y nunca se transmite. La otra se hace pública. El esquema general de un criptosistema de clave asimétrica se muestra en la Fig. 2.8. Fig. 2.8: Esquema general de un cifrador de clave asimétrica. Fuente: Stallings [2002]. Supongamos dos sujetos, A y B. Cada uno de ellos tiene dos claves, una pública y otra privada (KA,pub , KA,priv , KB,pub , KB,priv ). A quiere enviar un mensaje confidencial a B. Para ello, cifra el mensaje con KB,pub , conocida puesto que es pública. El mensaje cifrado sólo podrá ser revelado por KB,priv , que sólo es conocida por B. Realizando esta operación hemos conseguido que el mensaje sea confidencial. Pero la confidencialidad no es la única caracterı́stica que podemos conseguir con estos criptosistemas. Si A cifra su mensaje con KA,priv , éste sólo podrá ser descifrado con KA,pub . Esta operación no proporciona confidencialidad, puesto que KA,pub es pública, pero en cambio garantiza la autenticidad : si un mensaje sólo puede ser descifrado utilizando KA,pub significa que ha sido cifrado con KA,priv , que sólo A conoce. Por tanto podemos concluir que el emisor es A. Además, cualquier alteración del mensaje cifrado lo invalidarı́a (no serı́a posible descifrarlo con KA,pub , por lo que también queda garantizada la integridad. La combinación de ambas operaciones garantiza a la vez confidencialidad, autenticidad e integridad. Este tipo de criptosistemas se suelen utilizar en entornos distribuidos (por ejemplo, el correo electrónico). Debido a su lentitud, suelen ser utilizados en combinación con cifradores simétricos. Ejemplos de criptosistemas asimétricos o de clave pública son RSA, DSA y ElGamal. El tamaño de claves recomendado para aplicaciones civiles se sitúa actualmente entre 1024 y 2048 bits. 2.2. ESTADO DEL ARTE DE LOS CRIPTOSISTEMAS BIOMÉTRICOS 22 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita 2.2.2. Criptosistemas biométricos Los algoritmos criptográficos utilizan habitualmente claves secretas aleatorias para cifrar y descifrar la información. El tamaño habitual de una clave para un criptosistema moderno de clave simétrica como AES (Advanced Encryption Standard ) [NIST, 2001] es de 128 o 256 bits. Ante la inconveniencia de memorizar claves aleatorias tan grandes, se utilizan en la práctica contraseñas, más fáciles de recordar, que liberan la clave aleatoria cuando se introducen correctamente. Desafortunadamente, este hecho disminuye la dificultad de burlar el cifrado por parte de un eventual atacante: la contraseña se convierte en el eslabón más débil del sistema. Con el objetivo de evitar esta degradación de la seguridad han surgido los criptosistemas biométricos [Uludag et al., 2004]. En ellos, un rasgo biométrico juega el papel de la contraseña, extrayéndose la clave aleatoria a partir del rasgo biométrico. Un esquema básico de este tipo de algoritmos se muestra en la Fig. 2.9. Fig. 2.9: Esquema de (a) un criptosistema tradicional, y (b) un criptosistema biométrico basado en key release. Fuente: Uludag et al. [2004]. Existen principalmente dos aproximaciones al problema: key release (liberación de la clave) y key generation (generación de la clave). Key release El método más intuitivo para abordar la creación de criptosistemas biométricos pasa por almacenar en el sistema la clave aleatoria sin cifrar y la plantilla del rasgo biométri2.2. ESTADO DEL ARTE DE LOS CRIPTOSISTEMAS BIOMÉTRICOS 23 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita co [Uludag et al., 2004]. Ası́, cuando un rasgo presentado por el usuario se corresponde con la plantilla, el sistema muestra la clave almacenada. Este enfoque no conlleva diseñar nuevos algoritmos, puesto que se basa en la aplicación de la autenticación biométrica tradicional al almacenamiento de claves criptográficas. La principal desventaja de esta aproximación es la vulnerabilidad del sistema ante accesos fraudulentos al dispositivo de almacenamiento que contiene la clave aleatoria y la plantilla (por ejemplo: fallo software, fallo hardware, hurto, etc.). Key generation Los criptosistemas biométricos que utilizan key generation se basan en algoritmos mediante los cuales la clave aleatoria y la plantilla biométrica se unen en un elemento de información indisoluble. Cuando el usuario presenta un patrón biométrico, el algoritmo lo utiliza para reconstruir la clave aleatoria. Con esta aproximación el sistema no es vulnerable a un posible acceso fraudulento a la información almacenada, ya que de ella no se puede extraer ni la clave ni la plantilla biométrica. El criptosistema propuesto en este trabajo sigue el enfoque key generation. 2.2.3. Criptosistemas biométricos basados en firma manuscrita Varios trabajos recientes han propuesto criptosistemas biométricos basados en firma manuscrita. En Vielhauer et al. [2002] se presenta un esquema de generación de claves (hashes) a partir de valores estadı́sticos de la firma on-line. En este caso se utilizan parámetros globales de la firma (ver Sec. 2.1.4). El sistema utiliza 24 parámetros de la firma. Algunos de estos parámetros son: duración de la firma, número de muestras, relación de aspecto, velocidad media, etc. Para un grupo reducido de 11 usuarios en una plataforma PDA, el sistema alcanza un FRR de 7,05 % para un FAR del 0 % en el acceso a la información encriptada. Un enfoque similar se sigue en Yip et al. [2006]. Utilizando la FFT, se extraen caracterı́sticas globales de la información dinámica de la firma, y luego se combinan con un token aleatorio. Este hecho garantiza la revocabilidad de la clave generada en caso de ser revelada, ya que bastarı́a con generar otro token aleatorio distinto. Sus experimentos, realizados sobre 40 usuarios, presentan un EER de 6,7 % en el peor de los casos. 2.2. ESTADO DEL ARTE DE LOS CRIPTOSISTEMAS BIOMÉTRICOS 24 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita 2.3. Tecnologı́as utilizadas 2.3.1. Tableta digitalizadora Una tableta digitalizadora es un dispositivo que permite capturar movimientos realizados con un bolı́grafo especial sobre su superficie. Un ejemplo de tableta digitalizadora Wacom se muestra en la Fig. 2.10. Fig. 2.10: Tableta digitalizadora Wacom Intuos3 A6 USB. Fuente: http://www.wacom.com. Las tabletas digitalizadoras almacenan generalmente información dinámica de los movimientos del bolı́grafo: posición, presión, azimut, inclinación, etc. Entre sus principales aplicaciones destacan: grafismo, escritura manual, captura de firma o sustituto del ratón. La programación de este tipo de dispositivos se realiza habitualmente mediante un API llamado Wintab, facilitando la reutilización del código en modelos de distintos fabricantes. 2.3.2. TabletPC El TabletPC es un dispositivo portátil a medio camino entre un PC y una PDA. El usuario interacciona con el dispositivo principalmente mediante un bolı́grafo especial que aplica directamente sobre la pantalla. Este bolı́grafo hace que el teclado y el ratón sean prescindibles, ya que tiene la capacidad tanto de apuntar y hacer clic como de realizar 2.3. TECNOLOGÍAS UTILIZADAS 25 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita trazos sobre la pantalla, que con un reconocedor de escritura pueden transformarse en caracteres tipográficos. La Fig. 2.11 muestra el aspecto de uno de estos dispositivos. Esta tecnologı́a permite entre otras cosas tomar notas como si se estuviera escribiendo en un papel, o realizar dibujos a mano alzada. Debido a la inclusión del bolı́grafo es también un excelente candidato para implementar reconocedores de firma manuscrita, como el de este trabajo. Fig. 2.11: TabletPC. Existen principalmente dos tecnologı́as de captura para las pantallas de TabletPC [de Herrera, 2002]: Sensor resistivo: Captura información espacial y temporal del puntero cuando éste se encuentra en contacto con la pantalla. Tiene la desventaja de que el digitalizador está situado delante de la pantalla, por lo que dificulta la visión. Se utiliza también en las pantallas de las PDA. Sensor activo: Además de información espacial y temporal también captura otros datos como la presión o la inclinación. En este caso el digitalizador se sitúa detrás de la pantalla, por lo que no dificulta la visión. No requiere que el bolı́grafo esté en contacto con la pantalla, sino que captura también la información desde que el bolı́grafo se encuentra a cierta altura. Es la tecnologı́a más habitual en TabletPC. 2.3. TECNOLOGÍAS UTILIZADAS 26 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita El sistema operativo más habitual en TabletPC es Windows XP TabletPC Edition. Incluye un SDK llamado Microsoft TabletPC SDK que permite desarrollar aplicaciones aprovechando el uso del puntero. 2.3. TECNOLOGÍAS UTILIZADAS 27 3 Criptosistema biométrico basado en firma manuscrita En este capı́tulo propondremos un criptosistema biométrico basado en firma on-line utilizando parámetros locales (ver Sec. 2.1.4). Para ello seguiremos el enfoque presentado en Uludag et al. [2005], en el que se adapta el esquema criptográfico fuzzy vault [Juels and Sudan, 2002] para crear un criptosistema biométrico basado en huella dactilar. En la Sec. 3.1 presentamos el esquema fuzzy vault. Posteriormente, describimos el sistema propuesto en la Sec. 3.2. 3.1. El esquema criptográfico fuzzy vault La construcción criptográfica fuzzy vault [Juels and Sudan, 2002] permite el cifrado y descifrado de información utilizando como clave un conjunto desordenado de puntos. En este sistema, la información secreta será revelada si las claves de cifrado y descifrado coinciden sustancialmente. El grado necesario de similitud para revelar el secreto se establece a priori. Supongamos que un emisor, Alice, quiere enviar el secreto S a un receptor, Bob. Para ello, Alice utiliza como clave un conjunto de puntos A = {3, 7, 5, 2, 9}, y envı́a a Bob el mensaje V , resultado de ejecutar el algoritmo con A y S. Bob recibe V e intenta revelar el secreto S utilizando su propio conjunto B. Suponiendo que, por ejemplo, el grado necesario de similitud es 4, Bob será capaz de lograr su objetivo si A y B comparten al menos 4 elementos en común. Ası́, B = {2, 7, 9, 3, 1} tendrı́a éxito, mientras que B = {2, 7, 8, 1, 4} no lo tendrı́a. 28 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Este esquema está representado en la Fig. 3.1. A = (3,7,5,2,9) S Codificación S Jaula (a) B = (2,7,9,3,1) S Descodificación S Jaula (b) Fig. 3.1: Esquema del criptosistema fuzzy vault: (a) codificación y (b) decodificación. El soporte de claves borrosas hacen del fuzzy vault un buen candidato para implementar un criptosistema biométrico de tipo key generation (ver Sec. 2.2.2), donde la información biométrica se convierte en la clave del sistema (A y B en la Fig. 3.1), y el secreto S es una clave aleatoria que se utilizará en un criptosistema tradicional como AES [NIST, 2001]. A continuación detallaremos cómo se realizan las operaciones de codificación y decodificación. 3.1.1. Codificación En la codificación (Fig. 3.2) el sistema recibe dos valores: un secreto S de K bits, que será la información protegida, y un vector de caracterı́sticas T extraı́do del rasgo biométrico. Actualmente, para un criptosistema como AES [NIST, 2001], un tamaño seguro de clave para aplicaciones civiles es 128 bits, por lo que K = 128. El vector de caracterı́sticas está formado por N elementos de 16 bits cada uno: T = {t1 , . . . tN }. Para permitir la reconstrucción del secreto S durante la descodificación, Uludag et al. [2005] propone adjuntar el CRC-16 [Ramabadran and Gaitonde, 1988] de S a la información protegida. Denominaremos al token resultante S 0 . En el caso de K = 128, el tamaño de S 0 es 144 bits. El siguiente paso es crear un polinomio de grado D = K/16 (en el caso supuesto, D = 3.1. EL ESQUEMA CRIPTOGRÁFICO FUZZY VAULT 29 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita 8). Los coeficientes del polinomio surgen de dividir S 0 en D +1 bloques Si0 , i = 1, . . . , D +1 0 1 0 de 16 bits: p(x) = S10 xn + . . . + SD x + SD+1 . T 128 S Cálculo CRC 144 Construcción del Polinomio Proyección del Polinomio 0110100010 Mezclado V 65198,1962,15689 ... Generación de Puntos Falsos Fig. 3.2: Codificación con fuzzy vault para un secreto S de 128 bits. Calculamos las proyecciones del polinomio para todos los puntos del vector de caracterı́sticas T en campos de Galois GF(216 ), obteniendo el conjunto de puntos válidos G = {(t1 , p(t1 )), . . . , (tN , p(tN ))} [Lin and Costello, 2004]. Además, generamos un conjunto C con M pares falsos: C = {(c1 , d1 ), . . . , (cM , dM )}, con la condición de que di 6= p(ci ). Con esto conseguimos pares que parecen válidos, pero que realmente no son resultado de proyectar el polinomio. Por último G y C se mezclan de manera aleatoria, generando un conjunto final V = {(v1 , w1 ), . . . , (vN +M , wN +M )} en el cual no es factible distinguir los valores válidos de los falsos. Este hecho consigue que a partir únicamente de V no se pueda reconstruir el polinomio p mediante interpolación (y por tanto extraer S de sus coeficientes). La posibilidad de un ataque de fuerza bruta se disminuye eligiendo un M suficientemente grande en relación con N . 3.1.2. Decodificación Durante la decodificación (Fig. 3.3), el sistema recibe un token cifrado V y un vector de caracterı́sticas de un rasgo biométrico Q = {q1 , . . . , qN } (preprocesado y obtenido igual que T en la codificación). Se extrae el subconjunto de V formado por aquellos pares para los que ∃ qi ∈ Q,vj ∈ V tal que qi = vj . Es decir, los puntos de Q que existen como abscisas en V . Estos serán los candidatos a puntos genuinos, que tomados de D + 1 en D + 1 serán utilizados para intentar interpolar el polinomio p original y por tanto el secreto S. Para cada conjunto de D + 1 candidatos, aplicamos el método de interpolación de Lagrange [Uludag et al., 2005]. Para comprobar si el polinomio obtenido es válido, com3.1. EL ESQUEMA CRIPTOGRÁFICO FUZZY VAULT 30 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Q V Identificación de Candidatos Selección de Candidato Interpolación del Polinomio CRC Check No cero 65198,1962,15689 ... Cero S 0110100010 Fig. 3.3: Decodificación con fuzzy vault para un secreto S de 128 bits. putamos el CRC-16 de los D primeros coeficientes (que formarı́an S si el polinomio fuera el correcto), y lo comparamos con el coeficiente D + 1. Si coinciden, podemos decir con una probabilidad de error de 2−16 que hemos reconstruido S con éxito. Si no coinciden, significará que el conjunto candidato elegido contenı́a al menos 1 valor falso, y por tanto el secreto no pudo ser reconstruido. 3.2. Sistema propuesto Siguiendo la aproximación de Uludag et al. [2005] para huellas dactilares, en el presente trabajo proponemos la creación de un criptosistema biométrico basado en fuzzy vault utilizando parámetros locales de la firma manuscrita on-line. Uno de las principales dificultades a las que se enfrenta un sistema de reconocimiento biométrico es el tratamiento automático de la información, requiriendo en muchos casos la supervisión de un experto. Sin embargo, en el presente trabajo el preprocesamiento de las firmas y la extracción de caracterı́sticas se realizan de forma totalmente automática. En este sentido, este es uno de los primeros criptosistemas biométricos propuestos operando sin supervisión. A continuación describimos el modo en que las firmas son preprocesadas de manera automática, y cómo se extraen las caracterı́sticas que formarán el vector utilizado para cifrar y descifrar la información. 3.2.1. Preprocesamiento El preprocesamiento se hace de manera automática, sin ningún tipo de prealineamiento manual. Primero, las muestras adquiridas durante el 10 % inicial y final de la captura de la firma son eliminadas, puesto que se ha observado que muestran una alta inestabilidad. Posteriormente, cada señal temporal de la firma x se normaliza utilizando la media µ y la desviación tı́pica σ según la fórmula (x − µ)/σ. 3.2. SISTEMA PROPUESTO 31 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Por último, realizamos un suavizado de las señales con el objetivo de reducir el ruido. La técnica utilizada es la de media móvil, donde se divide la señal en rangos de n valores (5 en nuestro caso), asignando a cada uno el valor promedio de los puntos contenidos en él. 3.2.2. Extracción de caracterı́sticas El vector de caracterı́sticas V del fuzzy vault está formado por N elementos de 16 bits. Por tanto, nuestro objetivo al extraer las caracterı́sticas de la firma es obtener N valores de 16 bits. Para ello hemos estudiado la estabilidad de las diferentes señales de la firma, y hemos observado que los máximos y mı́nimos de la señal del eje y de la firma suelen aparecer siempre en la misma región temporal. Ası́, en el primer paso de nuestra extracción de caracterı́sticas seleccionamos N máximos y mı́nimos en el eje y: M = {m1 , . . . mN } donde mi es la posición temporal del i-ésimo máximo o mı́nimo. Cuando la firma tiene más de N máximos y mı́nimos, la suavizamos progresivamente hasta que quedan N , lo que equivale a coger los máximos y mı́nimos más acusados. Posteriormente, extraemos 16 bits de información de la posición temporal almacenada. Para cada instante de tiempo la información que tenemos es: posición x, posición y, presión, azimut e inclinación. Nuestro objetivo es digitalizar estos valores utilizando distintas resoluciones, de manera que reflejen la variabilidad propia de las distintas realizaciones de la firma. Por ejemplo, si extraemos 8 bits de información del valor de una señal en un instante de tiempo estaremos definiendo de forma muy precisa la posición (256 valores posibles), mientras que si lo hacemos con 1 bit bastará con que la señal se encuentre en la misma mitad para el mismo instante de tiempo (2 valores posibles). Combinando las distintas señales en función de su estabilidad entre firmas formamos el vector de caracterı́sticas. En el Cap. 4 estudiamos el comportamiento del sistema para diferentes combinaciones y diferentes resoluciones. Finalmente, también hemos incluido experimentos utilizando varias firmas de entrenamiento. De este modo, la alta variabilidad entre las firmas se ha abordado seleccionando los N máximos y mı́nimos más estables entre las diferentes realizaciones de las utilizadas para el entrenamiento. 3.2. SISTEMA PROPUESTO 32 4 Evaluación y experimentos En este capı́tulo se presentan las bases de datos utilizadas, ası́ como los experimentos realizados y los resultados obtenidos. El sistema propuesto en el Cap. 3 se ha aplicado en dos entornos distintos. Primero, un entorno PC, donde las firmas son adquiridas mediante una tableta digitalizadora. Y segundo, en TabletPC (ver Sec. 2.3.2), una plataforma especialmente indicada para la utilización de firma manuscrita. 4.1. Descripción de las bases de datos 4.1.1. MCYT-Signature Para los experimentos del sistema propuesto en entorno PC se ha utilizado el subcorpus de firma de la base de datos multimodal MCYT [Ortega-Garcia et al., 2003]. La base de datos MCYT contiene 330 usuarios con 25 firmas genuinas y 25 falsificaciones entrenadas por usuario, capturadas en bloques de 5 firmas. La adquisición de las firmas se llevó a cabo utilizando una tablet WACOM modelo Intuos A6 USB. La captura se realizó utilizando un bolı́grafo WACOM con tinta en una plantilla de papel situada sobre la superficie de la tableta. Ası́ se obtuvo por una parte la firma on-line capturada por la tableta, y por otra la off-line en papel. La plantilla utilizada se muestra en 4.1. La resolución es de 2540 lı́neas por pulgada (100 lı́neas/mm), y la precisión es de ±0,24mm. La máxima altura detectada es 10mm, y el área de captura es de 127 × 97 mm. La tableta proporciona la información de captura dentro de los siguientes rangos: (i) posición en el eje x, xt : [0 − 12700], correspondiente a 0 − 127 mm; (ii) posición en el eje y, yt : [0 − 9700], correspondiente a 0 − 97 mm; (iii) presión pt aplicada sobre el 33 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Fig. 4.1: Ejemplo de plantilla utilizada en la captura de la base de datos MCYT. bolı́grafo: [0−1024]; (iv) ángulo de azimut γt del bolı́grafo respecto a la tableta: [0−3600], correspondiente a 0o − 360o ; y (v) ángulo de inclinación ϕt del bolı́grafo respecto a la tableta: [300 − 900], correspondiente a 30o − 90o . Los ángulos de azimut e inclinación se muestran en la Fig. 4.2. La frecuencia de muestreo de las señales es de 100Hz. Fig. 4.2: Representación de los ángulos de azimut e inclinación. Fuente: [Ortega-Garcia et al., 2003]. Las falsificaciones entrenadas son realizadas para cada usuario por 5 impostores distintos, que firman tras visualizar la imagen estática de la original y practicar al menos 10 veces. En la Fig. 4.3 se muestran ejemplos de firmas genuinas y falsificaciones de la base de datos MCYT. La firma comienza a capturarse en cuanto el bolı́grafo toca por primera vez la tableta. El final de la captura se produce cuando han pasado 3 segundos desde la última muestra con valor de presión no nulo. Para algunos experimentos se ha definido un subconjunto de usuarios, MCYTX, descartando los usuarios con firmas de baja complejidad. Se ha optado por esta opción debido al requisito de nuestro sistema de utilizar firmas con al menos N máximos y mı́nimos en la señal del eje y, donde N es el tamaño del vector de caracterı́sticas (ver Sec. 3.2). En nuestro caso hemos establecido N = 32, de tal modo que MCYTX se compone de 126 usuarios de los 330 iniciales disponibles en MCYT. 4.1. DESCRIPCIÓN DE LAS BASES DE DATOS 34 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Fig. 4.3: Ejemplos de firmas de la base de datos MCYT. En cada fila las tres firmas de la izquierda se corresponden con un usuario, y las tres de la derecha con otro. Dentro de cada usuario, las dos primeras firmas son genuinas, y la tercera es una falsificación entrenada. Las gráficas bajo las firmas son las señales adquiridas (xt , yt , pt , γt y ϕt ). Fuente: Ortega-Garcia et al. [2003]. 4.1. DESCRIPCIÓN DE LAS BASES DE DATOS 35 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita 4.1.2. ATVS-TabletPC Para los experimentos con TabletPC se ha utilizado la base de datos ATVS-TabletPC [Alonso-Fernandez et al., 2005]. Para la captura se utilizaron dos modelos de TabletPC: (i) Hewlett-Packard TC 1100 con procesador Intel Pentium Mobile 1.1 Ghz y 512 Mb RAM, y (ii) Toshiba Portege M200 con procesador Intel Centrino 1,6 Ghz y 256 Mb RAM. En ambas se ha capturado utilizando el sistema operativo Microsoft Windows XP TabletPC Edition 2005. Las dos tabletas capturan: posición en el eje x, posición en el eje y y presión p. La Fig. 4.4 muestra algunas firmas de ejemplo de la base de datos. Fig. 4.4: Muestras de firmas de la base de datos ATVS-TabletPC. En cada fila, las dos firmas de la derecha están capturadas con el modelo HP TC 1100, y las dos de la izquierda con el modelo Toshiba Portege M200. Para las firmas de cada usuario en cada modelo, la de la izquierda es genuina y la de la derecha una falsificación. En todos los casos, las gráficas bajo las firmas representan las señales adquiridas por la TabletPC (xt , yt y pt ). Fuente: Alonso-Fernandez et al. [2005]. La base de datos contiene 53 usuarios con 15 firmas genuinas y 15 falsificaciones entrenadas por usuario, adquiridas en 3 bloques de firmas diferentes (53 × 3 × 5 = 795 firmas genuinas y 795 falsificaciones entrenadas, 1590 firmas en total para cada TabletPC). Para realizar las falsificaciones los impostores disponı́an tanto de imagen estática (offline) como de una animación dinámica (on-line) de la realización de la firma original. Para ello se implementó un visor software especı́fico que reproduce la firma a la velocidad real a la que fue capturada, reflejando además la presión del bolı́grafo en el grosor de la lı́nea 4.1. DESCRIPCIÓN DE LAS BASES DE DATOS 36 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita (mayor presión, mayor grosor). La utilización de la información dinámica ha favorecido especialmente la alta calidad de las falsificaciones en esta base de datos. Nótese que la captura se realizó en apaisado, como en la Fig. 2.11. La información capturada de cada firma es, para ambas TabletPC: posición en el eje x, posición en el eje y, instante de tiempo, estado (cero para pen-ups, uno para pen-downs), y presión p. 4.2. Evaluación En los experimentos obtenemos dos tipos de información sobre el rendimiento del sistema. Primero, los datos en bruto del número de puntos coincidentes en los intentos de revelar el secreto almacenado en la fuzzy vault. Y segundo, tasas de falsa aceptación y falso rechazo en el acceso a la información encriptada, obtenidas a partir de fijar el grado del polinomio D (ver Sec. 3.1). De este modo, un intento de acceso es considerado satisfactorio si el número de puntos coincidentes es mayor o igual que D + 1. En nuestros experimentos, D = 8, ya que esto nos permite almacenar un secreto S de 128 bits, adecuado para un criptosistema moderno como AES [NIST, 2001]. En los experimentos calculamos las tasas de FRR, FAR para falsificadores entrenados y FAR para falsificadores casuales. En los experimentos en entorno PC, para cada usuario se codifica un secreto S utilizando 5 firmas genuinas. Después, se intenta revelar S utilizando cada una de las otras 20 firmas del usuario y sus 25 falsificaciones. En el caso del entorno TabletPC, el secreto S se codifica con 1 firma genuina e intenta decodificarse con cada una de las otras 14 firmas auténticas y sus 15 falsificaciones. El FAR para falsificadores casuales se calcula con el resto de los usuarios intentando revelar S utilizando la primera de sus firmas propias. Hemos evitado en este caso las comprobaciones simétricas, ya que es equivalente intentar falsificar A con B y B con A. Por tanto, el número total de inventos es: (i) para MCYTX, 126 × 20 = 2520 auténticas, 126 × 25 = 3150 falsificaciones entrenadas y 126 × 125/2 = 7875 falsificaciones casuales; (ii ) para ATVS-TabletPC, 53 × 14 = 742 auténticas, 53 × 15 = 795 falsificaciones entrenadas y 53 × 52/2 = 1378 falsificaciones casuales. 4.3. Experimentos y resultados 4.3.1. Análisis de las funciones Para seleccionar qué información utilizar a la hora de extraer el vector de caracterı́sticas, hemos hecho un estudio del número de máximos y mı́nimos en el eje x, el eje y y la presión p. Para este experimento hemos utilizado la base de datos MCYT completa (330 usuarios). En la Fig. 4.5 mostramos los histogramas del número de puntos crı́ticos (máximos y 4.2. EVALUACIÓN 37 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita mı́nimos) en los ejes x, y y p. Observamos que x e y tienen de media un número similar de máximos y mı́nimos (en torno a 35), mientras que p tiene más (49,2). 900 900 800 800 700 700 600 600 500 500 400 400 300 300 200 200 100 100 1200 1000 800 600 400 200 0 0 20 40 60 80 100 120 0 0 20 40 60 80 100 120 0 0 50 100 150 200 250 Fig. 4.5: Histogramas del número de máximos y mı́nimos para las diferentes señales temporales de firma de la base de datos MCYT, de izquierda a derecha: posición en el eje x, posición en el eje y y presión p. 4.3.2. Comparativa de las funciones Hemos estudiado el comportamiento por separado de t, x, y y p para los instantes de tiempo de los máximos y mı́nimos del eje y, utilizando una resolución de 10 bits. El objetivo de este experimento es medir la estabilidad y el grado discriminatorio de cada una de estas funciones. Para este experimento se ha utilizado el subcorpus MCYTX (126 usuarios), obteniendo el número medio de puntos coincidentes con firmas auténticas y falsificaciones entrenadas. Los resultados se muestran en la Tabla 4.1. Observamos que al considerar los impostores entrenados t y x tienen la menor tasa de aciertos. Señal t x y z Firmas auténticas 10,08 9,99 11,45 13,03 Falsificaciones entrenados 8,64 7,60 9,03 11,80 Tab. 4.1: Número medio de coincidencias entre usuarios genuinos e impostores entrenados usando una única señal con una resolución de 10 bits. 4.3.3. Resolución El tamaño de la cuantización o resolución de cada señal a la hora de construir los puntos que forman parte de la entrada del fuzzy vault determina completamente el rendimiento del sistema. En este experimento hemos medido el efecto de la resolución sobre una señal (posición en el eje x) para 8, 10 y 12 bits. 4.3. EXPERIMENTOS Y RESULTADOS 38 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita El número medio de coincidencias se muestra en la Tabla 4.2. Observamos que una mayor resolución disminuye las coincidencias de los impostores, pero disminuye la capacidad discriminativa (menos diferencia entre firmas auténticas y falsificaciones). Esto sucede debido al mayor efecto de la intervariabilidad del usuario a una mayor resolución. Resolución 8-bit 10-bit 12-bit Firmas auténticas 13,39 9,99 7,55 Falsificaciones entrenadas 10,41 7,60 5,71 Diferencia 2,98 2,39 1,84 Tab. 4.2: Número medio de coincidencias entre usuarios genuinos e impostores para los valores del eje x con resoluciones de 8, 10 y 12 bits. 4.3.4. Evaluación del sistema propuesto en entorno PC Para evaluar el sistema, estudiamos diferentes combinaciones de 10 bits de las señales del sistema, asignando su peso en función de los resultados de los experimentos anteriores. En este experimento hemos utilizado el subcorpus MCYTX (126 usuarios). Los resultados se incluyen en Tabla 4.3 (FAR), Tabla 4.4 (FAR entrenados) y Tabla 4.5 (FAR casuales). Podemos observar que con la mejor configuración (3 bits de resolución para t y x, 2 bits para y y z), se obtiene un FRR de 57,3 % para poder mantener un FAR para falsificadores entrenados de 1,2 % y para casuales de 0,3 %. Esto significa que el sistema requiere habitualmente una segunda realización de la firma del usuario auténtico para poder revelar la información cifrada. Resolución t x y p 3 3 2 2 3 4 2 1 4 4 2 0 3 4 3 0 Firmas genuinas Media coincidencias FRR 8,06 57,302 % 9,53 39,841 % 7,58 61,786 % 6,43 74,167 % Tab. 4.3: Rendimiento del sistema en entorno PC para usuarios genuinos con diferentes configuraciones de puntos de 10 bits (MCYTX, 126 usuarios). 4.3.5. Evaluación del sistema propuesto en entorno TabletPC Nuestro primer experimento del sistema en el entorno TabletPC consistió en utilizar la misma configuración del entorno PC con la base de datos ATVS-TabletPC. Observamos que utilizando los mismos parámetros que en el mejor resultado del sistema PC (resolución de 3 bits para t y x, 2 bits para y y p), el rendimiento se degrada 4.3. EXPERIMENTOS Y RESULTADOS 39 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Resolución t x y p 3 3 2 2 3 4 2 1 4 4 2 0 3 4 3 0 Falsificaciones entrenadas Media coincidencias FAR (Entrenadas) 2,32 1,175 % 3,71 7,778 % 2,51 2,318 % 2,12 0,921 % Tab. 4.4: Rendimiento del sistema en entorno PC para falsificaciones entrenadas con diferentes configuraciones de puntos de 10 bits (MCYTX, 126 usuarios). Resolución t x y p 3 3 2 2 3 4 2 1 4 4 2 0 3 4 3 0 Falsificaciones aleatorias Media coincidencias FAR (Aleatorias) 1,53 0,318 % 2,20 1,473 % 1,79 0,813 % 1,43 0,152 % Tab. 4.5: Rendimiento del sistema en entorno PC para falsificaciones aleatorias con diferentes configuraciones de puntos de 10 bits (MCYTX, 126 usuarios). hasta el 60 % de FRR para un FAR para falsificadores entrenados del 7 % y no entrenados del 1 %. Para intentar mejorar los resultados obtenidos en la adaptación al entorno TabletPC, hemos optado por evaluar el sistema utilizando más señales con una resolución menor. Ası́, los resultados preliminares para una firma de entrenamiento (frente a las cinco del experimento en PC), utilizando las señales disponibles a una resolución de 2 bits son: 59 % de FRR, 2 % de FAR de falsificadores entrenados y 0 % de FAR de los casuales. 4.3. EXPERIMENTOS Y RESULTADOS 40 5 Prototipo del sistema propuesto En el presente capı́tulo se describe el prototipo software realizado para demostrar la aplicabilidad del proyecto en un entorno real. 5.1. Descripción Se ha implementado un prototipo del criptosistema biométrico propuesto en el Cap. 3, en forma de cifrador de ficheros para TabletPC. En él, el usuario utiliza su firma manuscrita en lugar de su contraseña a la hora de codificar o decodificar un fichero. Puesto que el criptosistema propuesto es del tipo key-generation (ver Sec. 2.2.2), la firma se utiliza para proteger una clave K, en este caso de 128 bits, que cifra el documento utilizando el algoritmo AES [NIST, 2001]. Uno de nuestros objetivos era que nuestro prototipo fuese compatible con el proyecto BPG, ya que eso abre la posibilidad a una posible incorporación de capacidades biométricas al código base criptográfico administrado por el Autor del presente Proyecto. A continuación se resumen las caracterı́sticas principales de BPG. 5.1.1. Introducción a BPG El proyecto BPG es una implementación de OpenPGP (RFC 2440) con licencia BSD. Esta licencia de código abierto permite la redistribución del programa con o sin modificaciones, en forma de código fuente o archivo binario. El objetivo del proyecto es producir un toolkit, formado por: 41 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Un conjunto de librerı́as para encriptar y firmar datos, permitiendo la integración de la funcionalidad de OpenPGP en otras aplicaciones. Interfaces de usuario de lı́nea de comandos. Librerı́as de acceso para utilizar BPG desde lenguajes de script como Ruby, Python o Perl. 5.2. Arquitectura del prototipo La arquitectura de la aplicación es cliente/servidor. El usuario ejecuta el cliente en un dispositivo TabletPC y realiza la firma. Los datos son enviados en bruto al servidor, donde se ejecuta el algoritmo descrito en la Sec. 3.2. La arquitectura propuesta facilita la extensibilidad del prototipo, ya que puede intercambiarse con facilidad el encriptador de ficheros por otro tipo de aplicación sin tener que cambiar el algoritmo del servidor. La elección de la configuración cliente/servidor requiere en este caso el uso de un protocolo seguro de comunicación entre el cliente y el servidor (OpenSSL), para evitar ataques de eavesdropping, reenvı́o de paquetes y otros. 5.3. Implementación del cliente La aplicación cliente tiene como nombre criptofirma. El cliente debe estar alojado en una TabletPC con acceso en red al servidor. La Fig. 5.1 muestra la interfaz gráfica de la aplicación. El cliente tiene dos casos de uso: Encriptar fichero. Desencriptar fichero. El flujo de ejecución se representa en la Fig. 5.2. Inicialmente, el programa recibe la petición de realizar una operación. Obtiene la firma y el identificador del usuario que quiere encriptar/desencriptar. Envı́a al servidor una solicitud de obtener clave, y éste devuelve la clave de 128 bits K si ha tenido éxito o una cadena vacı́a si no. Si no ha tenido éxito, el programa termina. Si lo ha tenido, cifra/descifra el documento con el algoritmo AES [NIST, 2001] utilizando la clave K. La aplicación cliente está escrita en C++, y utiliza para la captura del puntero el Microsoft TabletPC SDK. 5.2. ARQUITECTURA DEL PROTOTIPO 42 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Fig. 5.1: Pantallazo de la aplicación cliente del prototipo. 5.3. IMPLEMENTACIÓN DEL CLIENTE 43 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Invocar Operaci ón Obtener ID del usuario Obtener Firma del usuario Enviar ID y Firma al Servidor ¿Éxito? NO SI Cifrar/ Descifrar con AES Almacenar FIN Fig. 5.2: Flujo de ejecución de una operación en la aplicación cliente del prototipo. 5.3. IMPLEMENTACIÓN DEL CLIENTE 44 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita 5.4. Implementación del servidor El servidor recibe el nombre de servidor. Se definen tres casos de uso: Crear clave. Borrar clave. Obtener clave. El flujo de ejecución del caso de uso Obtener clave se representa en la Fig. 5.3. Inicialmente, el servidor recibe la petición de realizar la operación, que viene acompañada de la firma y el identificador del usuario. El servidor consulta en su base de datos si existe una clave almacenada para ese identificador. Si no existe el programa finaliza. Si existe comienza el flujo del algoritmo descrito en la Sec. 3.2. Finalmente, si el algoritmo ha reconstruido la clave con éxito, se la envı́a al cliente. Si no, se devuelve un mensaje de error. La aplicación servidor se ejecuta como un servicio/demonio, recibiendo peticiones en el puerto 2509. El código está escrito en C. 5.4. IMPLEMENTACIÓN DEL SERVIDOR 45 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Obtener Clave Consulta BBDD ¿Existe usuario? SI Preprocesado de la Firma Extracción de característica s Fuzzy Vault NO ¿Éxito? Devuelve la clave K al cliente FIN Fig. 5.3: Flujo de ejecución de la operación obtener clave en la aplicación servidor del prototipo. 5.4. IMPLEMENTACIÓN DEL SERVIDOR 46 6 Conclusiones y trabajo futuro 6.1. Conclusiones En el presente Proyecto de Fin de Carrera se ha presentado un criptosistema biométrico basado en la información dinámica de la firma manuscrita. En él se han aplicado parámetros locales de la firma (posición y presión respecto al tiempo, ver Sec. 2.1.4) al esquema criptográfico fuzzy vault. El sistema propuesto es uno de los pocos criptosistemas biométricos con procesamiento totalmente automático, ası́ como el primero de ellos hasta el momento en utilizar parámetros locales de la firma para la generación de claves criptográficas reemplazables. Los experimentos sobre el sistema propuesto muestran la factibilidad de la aplicación de los parámetros locales de la firma manuscrita para la implementación de criptosistemas biométricos. Los resultados revelan todavı́a una alta tasa de falso rechazo para mantener la falsa aceptación baja (57,3 % FRR, 1,2 % FAR y 0,3 % FAR para falsificaciones entrenadas y casuales, respectivamente, en entorno PC). Sin embargo, hay todavı́a lugar para la mejora de los algoritmos de preprocesado y extracción de caracterı́sticas, y la posibilidad de fusión multibiométrica con sistemas basados en parámetros globales abre una prometedora lı́nea de investigación. En los experimentos comparativos realizados entre los dos entornos estudiados, PC y TabletPC, la aplicación al escenario TabletPC degrada el rendimiento del sistema. Este hecho se debe en parte a la menor precisión de la captura de la TabletPC con respecto a la tableta digitalizadora utilizada en PC, pero también a que la base de datos utilizada contiene falsificaciones más perfeccionadas, puesto que los impostores tienen también acceso a la información dinámica de la firma. El valor cientı́fico del presente trabajo ha sido respaldado por la publicación en dos 47 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita congresos internacionales de los resultados directos de su investigación. El primero de ellos [Freire-Santos et al., 2006b] enmarca el problema y describe el criptosistema biométrico propuesto para la generación de claves utilizando firma manuscrita. El segundo [FreireSantos et al., 2006a], pendiente de publicación, aborda por primera vez la fusión de información local y global de la firma en un criptosistema biométrico. 6.2. Lı́neas futuras Una vez demostrada la factibilidad de la aplicación de la firma manuscrita al escenario de los criptosistemas biométricos, existe todavı́a un largo camino que recorrer en cuanto a la mejora de los algoritmos de preprocesamiento y extracción de caracterı́sticas. El presente trabajo de investigación abre diversas lı́neas interesantes en el campo de los criptosistemas biométricos. Una continuación natural de este trabajo es aplicar un enfoque multibiométrico combinando tanto parámetros globales [Vielhauer et al., 2002, Yip et al., 2006] con parámetros locales como los que se han presentado en este Proyecto; el trabajo de investigación en curso referente a esta lı́nea está pendiente de publicación [Freire-Santos et al., 2006a]. Los resultados preliminares indican una mejora significativa del rendimiento del sistema. En cuanto a la aplicación de esta tecnologı́a al escenario TabletPC, el principal reto es optimizar los algoritmos de extracción de caracterı́sticas para esta plataforma, para mejorar el rendimiento respecto al escenario PC. Su interfaz basada en puntero convierte a este tipo de dispositivos en prioritarios a la hora de la futura aplicación de sistemas basados en firma manuscrita. Un posible objetivo final de esta lı́nea es el desarrollo de un producto que permita la sustitución de contraseñas por la firma del usuario en las aplicaciones de autenticación de TabletPC. 6.2. LÍNEAS FUTURAS 48 Glosario de acrónimos AES: Advanced Encryption Standard API: Application Programming Interface BSD: Berkeley Software Distribution CBC: Cipher-Block Chaining CFB: Cipher Feedback DES: Data Encryption Standard DET: Detection Error Tradeoff DSA: Digital Signature Algorithm DTW: Dynamic Time Warping ECB: Electronic Codebook EER: Equal Error Rate FAR: False Acceptance Rate FFT: Fast Fourier Transform FRR: False Rejection Rate HMM: Hidden Markov Models IDEA: International Data Encryption Algorithm OFB: Output Feedback PDA: Personal Digital Assistant RC4: Rivest Cipher 4 RFC: Request For Comments ROC: Receiving Operating Characteristic 49 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita RSA: Rivest-Shamir-Adleman (cifrador de) SDK: Software Development Kit 6.2. LÍNEAS FUTURAS 50 Bibliografı́a Fernando Alonso-Fernandez, Julian Fierrez-Aguilar, Francisco del Valle, and Javier Ortega-Garcia. On-line signature verification using Tablet PC. In Proc. IEEE Intl. Symposium on Image and Signal Processing and Analysis, Special Session on Signal and Image Processing for Biometrics, pages 245–250, Zagreb, Croatia, September 2005. IEEE Press. Chris de Herrera. Digitizers and styli - Differentiating the Tablet PC. http://www.tabletpctalk.com/faqs/digitizer.shtml, 2002. Whitfield Diffie and Martin E. Hellman. New directions in cryptography. IEEE Transactions on Information Theory, IT-22(6):644–654, 1976. URL citeseer.ist.psu.edu/diffie76new.html. Julian Fierrez-Aguilar, Stephen Krawczyk, Javier Ortega-Garcia, and Anil K. Jain. Fusion of local and regional approaches for on-line signature verification. In Proc. IWBRS, volume 3617 of Lecture Notes in Computer Science, pages 188–196. Springer, 2005a. Julian Fierrez-Aguilar, Loris Nanni, Jaime Lopez-Peñalba, Javier Ortega-Garcia, and Davide Maltoni. An on-line signature verification system based on fusion of local and global information. In Proc. AVBPA, volume 3617 of Lecture Notes in Computer Science, pages 523–532. Springer, 2005b. Manuel Freire-Santos, Julian Fierrez-Aguilar, and Javier Ortega-Garcia. Combining local and global features for cryptographic key generation using handwritten signature. In Proc. IEEE Intl. Carnahan Conf. on Security Technology, ICCST, Lexington, USA, October 2006a. IEEE Press. Manuel Freire-Santos, Julian Fierrez-Aguilar, and Javier Ortega-Garcia. Cryptographic key generation using handwritten signature. In Proc. SPIE, volume 6202, pages 225– 231, 2006b. Anil K. Jain, Friederike D. Griess, and Scott D. Connell. On-line signature verification. Pattern Recognition, 35(12):2963–2972, 2002. Anil K. Jain, Arun Ross, and Salil Prabhakar. An introduction to biometric recognition. IEEE Trans. Circuits Syst. Video Techn., 14(1):4–20, 2004. 51 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Ari Juels and Madhu Sudan. A fuzzy vault scheme. In Proc. IEEE Int. Symp. Information Theory, page 408, 2002. Shu Lin and Daniel J. Costello. Error Control Coding, Second Edition. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 2004. ISBN 0130426725. Dario Maio, Davide Maltoni, Raffaele Cappelli, James L. Wayman, and Anil K. Jain. FVC2004: Third Fingerprint Verification Competition. In Proc. ICBA, Lecture Notes in Computer Science, pages 1–7. Springer, 2004. Alvin Martin, George Doddington, Terri Kamm, Mark Ordowski, and Mark Przybocki. The DET curve in assessment of decision task performance. In Proc. of ESCA Eur. Conf. on Speech Comm. and Tech., EuroSpeech, pages 1895–1898, 1997. NIST. Advanced Encryption Standard (AES), 2001. Javier Ortega-Garcia, Julian Fierrez-Aguilar, Danilo Simon, Joaquin Gonzalez, Marcos Faundez-Zanuy, V. Espinosa, A. Satue, I. Hernaez, J.-J. Igarza, C. Vivaracho, D. Escudero, and Q.-I. Moro. MCYT baseline corpus: A bimodal biometric database. IEE Proceedings Vision, Image and Signal Processing, 150(6):395–401, 2003. Réjean Plamondon and Guy Lorette. Automatic signature verification and writer identification - The state of the art. Pattern Recognition, 22(2):107–131, 1989. Tenkasi V. Ramabadran and Sunil S. Gaitonde. A tutorial on CRC computations. IEEE Micro, 8(4):62–75, 1988. ISSN 0272-1732. doi: http://dx.doi.org/10.1109/40.7773. Arun A. Ross, Karthik Nandakumar, and Anil K. Jain. Handbook of Multibiometrics (International Series on Biometrics). Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2006. ISBN 0387222960. William Stallings. Cryptography and Network Security: Principles and Practice. Pearson Education, 2002. ISBN 0130914290. Douglas R. Stinson. Cryptography, Theory and Practice. Chapmann and Hall/CRC Press, 2002. Umut Uludag, Sharath Pankanti, and Anil K. Jain. Fuzzy vault for fingerprints. In Proc. AVBPA, volume 3546 of Lecture Notes in Computer Science, pages 310–319. Springer, 2005. Umut Uludag, Sharath Pankanti, Salil Prabhakar, and Anil K. Jain. Biometric cryptosystems: Issues and challenges. Proceedings of the IEEE, 92(6):948–960, June 2004. Claus Vielhauer, Ralf Steinmetz, and Astrid Mayerhoefer. Biometric hash based on statistical features of online signatures. In ICPR ’02: Proceedings of the 16 th International Conference on Pattern Recognition, volume 1, pages 123–126. IEEE Computer Society, 2002. BIBLIOGRAFÍA 52 Desarrollo de un Criptosistema Biométrico Basado en Firma Manuscrita Dit-Yan Yeung, Hong Chang, Yimin Xiong, Susan E. George, Ramanujan S. Kashi, Takashi Matsumoto, and Gerhard Rigoll. SVC2004: First International Signature Verification Competition. In Proc. ICBA, volume 3072 of Lecture Notes in Computer Science, pages 16–22. Springer, 2004. Kuan W. Yip, Alwyn Goh, David Ngo Chek Ling, and Andrew Teoh Beng Jin. Generation of replaceable cryptographic keys from dynamic handwritten signatures. In Proc. ICB, volume 3832 of Lecture Notes in Computer Science, pages 509–515. Springer, 2006. BIBLIOGRAFÍA 53