INSTITUTO TECNOLÓGICO DE MORELIA DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN Sistema de Autenticación para Dispositivos Móviles basado en Biometrı́a de comportamiento de Tecleo Tesis que presenta: Gerardo Iglesias Galván Para obtener el grado de: Ingeniero en Sistemas Computacionales Director de Tesis: Dr. Francisco José Rodrı́guez Henrı́quez CINVESTAV Asesor Interno: M.C. Cristóbal Villegas Santoyo ITM México, D.F. Junio 2007 Agradecimientos Quisiera agradecer a mi asesor, el Dr. José Francisco Rodrı́guez Henrı́quez, por darme la oportunidad de trabajar con él durante estos últimos meses, otorgándome toda su confianza y apoyo para el desarrollo del proyecto. También quiero dar las gracias al Centro de Investigación y de Estudios Avanzados del I.P.N. por abrir sus puertas para que personas como yo podamos realizar proyectos de este tipo, ası́ como por su apoyo económico durante la estancia, ya que sin él no hubiera sido posible la culminación de esta tesis. Dedicatoria A mis padres que siempre me han apoyado en todos mis proyectos y motivado para no darme por vencido. Índice general Agradecimientos I Dedicatoria II Introducción 2 1. SEGURIDAD Y AUTENTICACIÓN 4 1.1. ¿Qué es la seguridad? . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.1. Confidencialidad . . . . . . . . . . . . . . . . . . . . . 5 1.1.2. Integridad . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.3. Autenticidad . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.4. Posesión . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.5. Disponibilidad . . . . . . . . . . . . . . . . . . . . . . . 6 1.1.6. Utilidad . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2. Elementos a proteger . . . . . . . . . . . . . . . . . . . . . . . 6 1.3. Amenazas a la seguridad . . . . . . . . . . . . . . . . . . . . . 6 1.3.1. Interceptación . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.2. Interrupción . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.3. Modificación . . . . . . . . . . . . . . . . . . . . . . . . 7 iii ÍNDICE GENERAL iv 1.3.4. Fabricación . . . . . . . . . . . . . . . . . . . . . . . . 8 1.4. Autenticación de usuarios . . . . . . . . . . . . . . . . . . . . 8 1.4.1. Autenticación basada en algo que el usuario posee . . . 9 1.4.2. Autenticación basada en algo que el usuario conoce . . 10 1.4.3. Autenticación basada en algo que el usuario es . . . . . 12 2. BIOMETRÍA 13 2.1. La biometrı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2. Funcionamiento y desempeño . . . . . . . . . . . . . . . . . . 14 2.3. Biometrı́a estática . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3.1. Cara . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.2. Huella digital . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.3. Geometrı́a de la mano . . . . . . . . . . . . . . . . . . 18 2.3.4. Iris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.5. Retina . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4. Biometrı́a dinámica . . . . . . . . . . . . . . . . . . . . . . . . 19 2.4.1. Voz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.4.2. Manera de caminar . . . . . . . . . . . . . . . . . . . . 20 2.4.3. Firma autógrafa . . . . . . . . . . . . . . . . . . . . . . 20 2.5. Biometrı́a basada en dinámicas de tecleo . . . . . . . . . . . . 21 2.5.1. Historia . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5.2. Funcionamiento . . . . . . . . . . . . . . . . . . . . . . 22 2.5.3. Trabajo Previo . . . . . . . . . . . . . . . . . . . . . . 23 3. DISPOSITIVOS MÓVILES Y SU PROGRAMACIÓN INTITUTO TECNOLÓGICO DE MORELIA 26 v ÍNDICE GENERAL 3.1. Historia del cómputo móvil . . . . . . . . . . . . . . . . . . . . 26 3.2. PDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3. Smartphones . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.4. Sistemas operativos móviles . . . . . . . . . . . . . . . . . . . 30 3.5. .NET Compact Framework . . . . . . . . . . . . . . . . . . . . 31 4. DISEÑO DEL SISTEMA 34 4.1. Núcleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.2. Contador de tiempo . . . . . . . . . . . . . . . . . . . . . . . . 36 4.3. Criptografı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4. Registro y Verificación . . . . . . . . . . . . . . . . . . . . . . 37 4.5. Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5. PRUEBAS Y ANÁLISIS DE DESEMPEÑO 41 5.1. Estudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 6. CONCLUSIONES Y TRABAJO FUTURO 44 A. Funcionamiento del Sistema 46 A.1. Pantalla principal . . . . . . . . . . . . . . . . . . . . . . . . . 46 A.2. Pantalla de registro de usuario . . . . . . . . . . . . . . . . . . 48 A.3. Autenticación . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 B. Código Fuente del Sistema INTITUTO TECNOLÓGICO DE MORELIA 53 Índice de figuras 1.1. Triada de la seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2. Ataque de Interceptación . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3. Ataque de Interrupción . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4. Ataque de Modificación . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.5. Ataque de Fabricación . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.6. Ejemplo de un token de memoria 1.7. Ejemplo de tokens inteligentes 2.1. Proceso de registro y verificación en un sistema biométrico 2.2. Medidas de desempeño de un sistema biométrico 2.3. Aproximaciones para reconocimiento facial 2.4. Minucias en una huella digital 2.5. Medición de la geometrı́a de la mano 2.6. Adquisición de las caracterı́sticas del iris 2.7. Imagen de vasculatura retinal 2.8. Eventos en el cálculo de dinámica de tecleo 3.1. Osborne 1 3.2. Compaq Portable . . . . . . . . . . . . . . . . . . . . . 10 . . . . . . . . . . . . . . . . . . . . . . . 10 . . . . . . . . . . . 15 . . . . . . . . . . . . . . . 16 . . . . . . . . . . . . . . . . . 17 . . . . . . . . . . . . . . . . . . . . . . . 17 . . . . . . . . . . . . . . . . . . . . 18 . . . . . . . . . . . . . . . . . . 19 . . . . . . . . . . . . . . . . . . . . . . . 19 . . . . . . . . . . . . . . . . . 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 vi vii ÍNDICE DE FIGURAS 3.3. Radio Shack TRS-80 Model 100 . . . . . . . . . . . . . . . . . . . . . . 27 3.4. Psion 1 3.5. PDA con teclado externo 3.6. Smartphone 3.7. Estructura modular de Windows CE 3.8. Arquitectura del .NET Compact Framework 4.1. Diseño modular del sistema 4.2. Muestras de un usuario del sistema (milisegundos) 4.3. Gráfica en la que se indican los coeficientes de variación en el perfil de un usuario 4.4. Comparación entre los coeficientes de variación de una plantilla y los de una autenticación 5.1. Desempeño del sistema A.1. Imagen del PDA iPAQ rx4240 A.2. Pantalla principal de la aplicación A.3. Inicio del proceso de registro de un usuario A.4. Pantalla de registro de usuario A.5. Inicio de toma de muestras A.6. Toma de muestras A.7. Registro de usuario completado correctamente A.8. Autenticación correcta A.9. Autenticación incorrecta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 . . . . . . . . . . . . . . . . . . . . . . . . . 29 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 . . . . . . . . . . . . . . . . . . . . 31 . . . . . . . . . . . . . . . . . 33 . . . . . . . . . . . . . . . . . . . . . . . . 34 . . . . . . . . . . . . . . 37 . . 39 40 . . . . . . . . . . . . . . . . . . . . . . . . . 43 . . . . . . . . . . . . . . . . . . . . . . . 47 . . . . . . . . . . . . . . . . . . . . . 47 . . . . . . . . . . . . . . . . . 48 . . . . . . . . . . . . . . . . . . . . . . 49 . . . . . . . . . . . . . . . . . . . . . . . . 49 . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 . . . . . . . . . . . . . . . . 50 . . . . . . . . . . . . . . . . . . . . . . . . . . 51 . . . . . . . . . . . . . . . . . . . . . . . . . 52 INTITUTO TECNOLÓGICO DE MORELIA Índice de cuadros 1.1. Elección de contraseñas en base a longitud . . . . . . . . . . . . . . . . . . 11 1.2. Composición de contraseñas 2.1. Comparación entre varias tecnologı́as biométricas [21] 4.1. Comparación entre varias funciones de tiempo 4.2. Tiempos de las muestras de registro de un usuario (milisegundos) A.1. Principales caracterı́sticas técnicas del PDA iPAQ 4240 . . . . . . . . . . . . . . . . . . . . . . . 12 1 . . . . . . . . . . . . . 14 . . . . . . . . . . . . . . . . 36 . . . . . . . . 38 . . . . . . . . . . . . 46 Introducción En la actualidad al ver a nuestro alrededor, podemos observar que el mundo móvil adquiere cada vez mayor importancia y presencia en nuestras vidas diarias. Pero debemos darnos cuenta que más que una moda, la tecnologı́a móvil es una evolución que ha transformado la forma en que nos divertimos, en que trabajamos, como nos informamos y como nos comunicamos. Dentro de este mundo móvil uno de los integrantes más importantes son los sistemas de cómputo móvil, conocidos popularmente como handhelds o PDA (Personal Digital Assistant). Podemos considerarlos como uno de los grupos más importantes debido a que su uso ha tenido un crecimiento bastante considerable, incorporando grandes avances tecnológicos y revolucionando la forma en que las personas trabajan, permitiéndoles hacerlo dónde y cuándo deseen, incrementando su productividad y eficiencia. Según un estudio realizado por IDC, una de de las consultoras de T.I. más importantes del mundo, durante el 2005 se usaron más de 275 millones de dispositivos móviles alrededor del mundo dentro de las compañı́as pertenecientes al Fortune 2000 [52], el grupo de las 100 empresas más productivas del mundo. Otro estudio llevado a cabo en el 2005 por Gartner Group, indica que el 40 % de la información corporativa residı́a en dispositivos de tipo handheld [52]. Estos números nos permiten percibir la tendencia de la dinámica de los negocios y el uso descentralizado de la información. Pero toda nueva tecnologı́a trae consigo problemas inéditos, y en el caso de los dispositivos móviles una de las principales dificultades que los acompaña es la seguridad. Estos problemas de seguridad abarcan cuestiones como vulnerabilidades en los protocolos de comunicación inalámbrica y mecanismos de autenticación y protección de datos débiles dentro de los dispositivos. Respecto al primer punto se han estado haciendo grandes esfuerzos durante los últimos años para mejorarlo, pero en cuanto al segundo creemos que no se ha considerado lo crı́tico que es. 2 ÍNDICE DE CUADROS 3 La autenticación juega un papel muy importante en la seguridad informática, ya que por definición, a los usuarios autentificados se les permite el acceso a los recursos del sistema [57]. En los dispositivos móviles estos recursos pueden ser elementos confidenciales como direcciones, teléfonos, correos eletrónicos, cuentas bancarias y contraseñas, e incluso accesos a redes remotas, lo cual pondrı́a en peligro los recursos de terceros. Todo lo antes expuesto es lo que motivó la realización del actual proyecto de tesis, el cual pretende desarrollar un sistema capaz de reconocer dinámicas de tecleo y que pueda trabajar en conjunto, de forma transparente, con los tradicionales sistemas de autenticación basados en nombre de usuario y contraseña, y fortalecer la seguridad proporcionada por éstos últimos. El resto de esta tesis está organizado como sigue: en el Capı́tulo 1 se define el término de seguridad y otros conceptos relacionados. En el Capı́tulo 2 se introduce la Biometrı́a y sus divisiones, al mismo tiempo que se detallan los trabajos previos relacionados a esta tesis. El Capı́tulo 3, está dedicado a la historia y elementos del cómputo móvil. En el Capı́tulo 4 se hace la descripción del sistema desarrollado en este trabajo. Posteriormente, en el Capı́tulo 5 se describen las pruebas realizadas y resultados obtenidos con el sistema desarrollado. Finalmente en el Capı́tulo 6 se dan las conclusiones obtenidas en este trabajo. INTITUTO TECNOLÓGICO DE MORELIA Capı́tulo 1 SEGURIDAD Y AUTENTICACIÓN 1.1. ¿Qué es la seguridad? Definir el concepto de seguridad no es algo fácil, pero podemos empezar a partir de la frase citada por el Dr. Eugene Spafford: “El único sistema totalmente seguro es aquel que está apagado, desconectado, guardado en una caja fuerte de titanio, encerrado en un bunker de concreto y cuidado por guardias muy bien armados... y aún ası́ tengo mis dudas” [9]. Esta cita parece no llevarnos a ningún lado ni mucho menos aclarar el concepto, pero nos sirve para percatarnos de tres cosas: no podemos hablar de sistemas totalmente seguros, lo complicado que es el tratar de asegurar un sistema y, que esto conlleva un proceso sumamente complejo. Se puede decir que la seguridad consiste en que un sistema se comporte como el usuario espera que lo haga, y a su vez mantenerlo libre de amenazas y riesgos [46]. Por más de dos décadas se ha manejado que la seguridad se logra a partir de tres conceptos, conocidos como la triada de la seguridad: confidencialidad, integridad y disponibilidad [27][43]. En la actualidad esta percepción ha sido sustituida por los seis elementos atómicos de la información: confidencialidad, posesión o control, integridad, autenticidad, disponibilidad y utilidad [44]. 4 CAPÍTULO 1. SEGURIDAD Y AUTENTICACIÓN Figura 1.1: 1.1.1. 5 Triada de la seguridad Confidencialidad Consiste en mantener la información secreta a todos, excepto a aquellos que tienen autorización para verla [31]. Cuando la información de naturaleza confidencial ha sido accedida, usada, copiada o revelada a, o por una persona que no estaba autorizada, entonces se presenta una ruptura de confidencialidad. La confidencialidad es un requisito para mantener la privacidad de las personas [53]. 1.1.2. Integridad Significa que se debe asegurar que la información no ha sido alterada por medios no autorizados o desconocidos [31]. Un atacante no debe ser capaz de sustituir información legı́tima por falsa [51]. 1.1.3. Autenticidad Debe ser posible para un usuario establecer el origen de la información. Un atacante no debe tener la capacidad de hacerse pasar por otro usuario. [51]. 1.1.4. Posesión Es el mantener, controlar y tener la habilidad de usar la información. La posesión es la habilidad de realmente poseer y controlar la información INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 1. SEGURIDAD Y AUTENTICACIÓN 6 y cómo es usada [9]. Un ejemplo de pérdida de posesión es un empleado que envı́a información corporativa a una cuenta de correo electrónico que no pertenece a a la compañı́a, en ese momento se pierde la posesión exclusiva. 1.1.5. Disponibilidad Significa que todos aquellos elementos que sirven para el procesamiento de la información, ası́ como los que sirven para facilitar la seguridad, estén activos y sean alcanzables siempre que se requiera. Dicha caracterı́stica puede perderse a través de ataques de DoS (Denial of Service -Denegación de Servicio-). [9]. 1.1.6. Utilidad Utilidad de la información para un propósito. El valor de la información recae en su utilidad [9]. Por ejemplo, un archivo cifrado deja de ser útil si no se cuenta con las llaves necesarias para descifrarlo. 1.2. Elementos a proteger Los elementos que conforman un sistema informático se dividen en tres distintas categorı́as: hardware, software y datos. Lo que más nos interesa proteger son los datos, ya que éstos son los activos que poseen tanto empresas como usuarios, es el más amenazado, y normalmente es mucho más difı́cil recuperarlos en comparación con el hardware y el software [43]. Al asegurar los datos estamos asegurando la continuidad de operación de una organización, reduciendo al mı́nimo los daños causados por una contingencia y manteniendo a salvo nuestra persona, familia o patrimonio. 1.3. Amenazas a la seguridad Existe un gran número de amenazas que pueden afectar la seguridad de un sistema en sus distintas categorı́as, las cuales se pueden clasificar en cuatro INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 1. SEGURIDAD Y AUTENTICACIÓN 7 grandes grupos: interceptación, interrupción, modificación y fabricación [26]. Estos ataques afectan a uno o más de los elementos atómicos de la información. 1.3.1. Interceptación Estos ataques propician que una entidad no autorizada gane acceso a un elemento del sistema. Figura 1.2: 1.3.2. Ataque de Interceptación Interrupción Se dice que un ataque es una interrupción si se logra que un elemento se pierda, quede inutilizable o no disponible. Figura 1.3: 1.3.3. Ataque de Interrupción Modificación Este ataque se da después de una interceptación, cuando el oponente logra modificar el elemento. INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 1. SEGURIDAD Y AUTENTICACIÓN Figura 1.4: 1.3.4. 8 Ataque de Modificación Fabricación Se habla de una fabricación cuando el atacante logra crear un objeto el cual es difı́cil de distinguir si es un elemento genuino. Figura 1.5: 1.4. Ataque de Fabricación Autenticación de usuarios La palabra autenticación proviene del griego ‘αυθντ ικóς’ que significa verdadero o genuino, y authentes que significa el autor o dueño [12]. Es la acción de establecer o comprobar si una entidad es auténtica [17]. En el caso de este trabajo estaremos hablando de autenticar personas ante un sistema computacional, es decir, comprobar la identidad digital de un usuario para que pueda ganar acceso a un recurso del sistema. La autenticación es la base para los controles de acceso, ya que los sistemas deben ser capaces de identificar y diferenciar entre diversos usuarios [17]. Conviene hacer la distinción entre los términos identificación y autenticación, ya que con frecuencia se suelen confundir y usar ambos para hacer referencia a la misma acción. Identificación es el medio que un usuario proporciona a un sistema para afirmar una identidad, mientras que autenticación INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 1. SEGURIDAD Y AUTENTICACIÓN 9 es el medio para establecer la validez de esta afirmación [11]. Para aclarar un poco más esta diferencia pensemos en el esquema de control de acceso a través de ID y contraseña, el usuario se identifica con su ID, el cual es conocido por el administrador del sistema e incluso por otros usuarios, pero la manera en que se autentifica es con su contraseña secreta. De esta forma podemos ver claramente cómo el sistema reconoce a las personas basándose en los datos de autenticación que recibe. Existen tres métodos a través de los cuales un usuario puede autenticarse: algo que el usuario posee, algo que el usuario conoce y algo que el usuario es [11]. Cada método presenta sus propias ventajas y desventajas, por lo cual es aconsejable implementar controles de acceso multifactor, esto es combinando los grupos mencionados [45]. A pesar de las divisiones de mecanismos de autenticación que existen, todos ellos siguen un proceso bastante general: 1. El usuario pide acceso a un recurso. 2. El sistema le solicita al usuario su medio de autenticación. 3. El usuario entrega sus credenciales de autenticación. 4. El sistema verifica las credenciales del usuario. 5. El sistema niega o proporciona al usuario el acceso al recurso. 1.4.1. Autenticación basada en algo que el usuario posee Estos métodos se basan en que el usuario tiene en su poder un token, los cuales podemos dividir en tokens de memoria y tokens inteligentes [17]. En realidad son unos cuantos los sistemas de autenticación basados únicamente en algo que el usuario posee, ya que la mayorı́a se combinan con algo que el usuario sabe (autenticación multifactor), los pocos que solamente usan un token están orientados a acceso fı́sico. Los tokens de memoria son tokens que almacenan mas no procesan información, por lo que necesitan de dispositivos especiales de lectura/escritura para almacenar y extraer los datos. El más usado de éstos son las tarjetas con una cinta magnética en la parte posterior, como lo son las tarjetas de crédito. Se puede apreciar un ejemplo en la Figura 1.6. INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 1. SEGURIDAD Y AUTENTICACIÓN Figura 1.6: 10 Ejemplo de un token de memoria Los tokens inteligentes amplı́an su funcionalidad al incorporar uno o más circuitos integrados. Una de las ventajas que presentan los tokens inteligentes sobre los de memoria, es que comúnmente los inteligentes necesitan de una contraseña para poder habilitarlos y posteriormente usarlos para la autenticación, complicando ası́ la falsificación del token [17]. Figura 1.7: Ejemplo de tokens inteligentes Las desventajas de usar autenticación basada en tokens tienen que ver en general con el costo de su implementación, debido a que para su uso es necesaria la implementación de hardware extra. Otro punto desfavorable para el uso de tokens es que se pueden extraviar con relativa facilidad. Finalmente, los usuarios prefieren sistemas sencillos de usar, por lo que les desagrada el tener que cargar un token con ellos y presentarlo. 1.4.2. Autenticación basada en algo que el usuario conoce Los sistemas de autenticación más usados son aquellos basados en conocimiento, por ejemplo los que hacen uso de un ID de usuario y una contraseña, o de una llave criptográfica [17]. Las ventajas de estos sistemas son que los usuarios se familiarizan muy fácil y rápidamente con ellos, su implementación es muy sencilla y de bajo costo, y que en un ambiente debidamente administrado y controlado pueden INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 1. SEGURIDAD Y AUTENTICACIÓN 11 proporcionar un alto nivel de seguridad. El punto débil de estos sistemas no reside en el sistema en sı́, sino en las malas costumbres de los usuarios, por ejemplo, normalmente eligen como contraseñas nombres de familiares, mascotas, fechas de nacimiento, palabras comunes, etc., haciendo que el sistema se vuelva muy vulnerable a ataques de fuerza bruta1 o por diccionario2 . Otros malos hábitos consisten en proporcionar las contraseñas a otras personas y el tenerlas anotadas en lugares a la vista de otros. A continuación, en los Cuadros 1.1 y 1.2, podemos ver algunas estadı́sticas que muestran las tendencias de 13787 usuarios al establecer su contraseña [55]. Longitud de contraseña Número (caracteres) de usuario 1 55 2 87 3 212 4 449 5 1260 6 3035 7 2917 8 5772 Cuadro 1.1: Elección de contraseñas en base a longitud Al observar las tablas anteriores se puede percibir cómo los usuarios en general hacen uso de contraseñas consideradas como débiles de acuerdo con las recomendaciones y polı́ticas de seguridad creadas por los expertos [32], [42], [66]. En primer lugar ningún usuario eligió una contraseña de longitud mayor a ocho caracteres, tamaño que se considera como el mı́nimo para que una contraseña sea fuerte. Otro punto importante a notar en estas estadı́sticas es que el 38.1 % usaron contraseñas que contenı́an únicamente letras, lo que las hace muy vulnerables a ataques por diccionario y por fuerza bruta, facilitándoles en gran medida el trabajo a los atacantes. 1 Ataque en el que se intenta cada posible contraseña, una por una [51] Ataque en el que se toma una gran lista con palabras comunes y se va probando cada una de estas como contraseña [51] 2 INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 1. SEGURIDAD Y AUTENTICACIÓN 12 Tipo de caracteres Número de usuarios Porcentaje Solamente minúsculas 3988 28.9 % May/min mezcladas 5259 38.1 % Algunas mayúsculas 5641 40.9 % Dı́gitos 4372 31.7 % Metacaracteres 24 0.2 % Caracteres de control 188 1.4 % Espacios y/o tabuladores 566 4.1 % .,; 83 6.1 % - += 222 1.6 % ! # $ % & () 654 4.4 % Otros no alfanuméericos 229 1.7 % Cuadro 1.2: 1.4.3. Composición de contraseñas Autenticación basada en algo que el usuario es Para lograr la autenticación estos sistemas hacen uso de las caracterı́sticas o atributos, fisiológicos y de comportamiento, propios de cada individuo que lo hacen único. Dichos sistemas son conocidos también como sistemas biométricos. La autenticación biométrica es mucho más compleja y cara en su implementación, y no siempre tiene buena aceptación entre los usuarios, pero en general proporcionan un mejor nivel de seguridad con respecto al resto de los sistemas [16]. El rechazo de los usuarios hacia este tipo de sistemas de autenticación es debido principalmente a preocupaciones socioculturales, algunas erróneas, que se pueden englobar en tres grupos distintos: privacidad de la información, privacidad fı́sica y cuestiones religiosas. En el primer grupo se encuentran puntos como abuso de la información, rastreo y monitereo de la persona y, robo de identidad. Respecto a los aspectos fı́sicos se observa que las personas no aceptan los sistemas biométricos por una estigmatización relacionada al fichaje de delincuentes, inquietud por la higiene de los dispositivos biométricos, daño fı́sico, ası́ como que sistemas como los de lectura de iris pueden revelar la existencia de ciertas enfermedades [65]. INTITUTO TECNOLÓGICO DE MORELIA Capı́tulo 2 BIOMETRÍA 2.1. La biometrı́a Proveniente del griego ‘bios’, vida y ‘metron’, medida [12], se dice que es el estudio de los métodos para el reconocimiento de los humanos a través de rasgos intrı́nsecos fı́sicos y de conducta [2]. La biometrı́a puede ser usada en modo de identificación o de verificación. En el primero el sistema identifica a un individuo de entre una población registrada en una base de datos, buscando una igualación basándose únicamente en el parámetro biométrico; esto es conocido también como igualación 1 a N. El modo de verificación, llamado igualación 1 a 1, autentica la identidad de un usuario a partir de un patrón previamente registrado [47]. Como caracterı́sticas que se pueden usar para los sistemas biométricos podemos encontrar geometrı́a de la mano, rasgos faciales, iris, retina, voz, escritura, modo de caminar. Estas caracterı́sticas se dividen en estáticas o fı́sicas y, dinámicas o de comportamiento. En el Cuadro 2.1 están evaluadas varias tecnologı́as biométricas en base a distintos criterios, donde A, M y B son “Alto”, “Medio” y “Bajo”, respectivamente. 13 CAPÍTULO 2. BIOMETRÍA 14 UniversalidadUnicidadPermanenciaRecolectabilidadDesempeñoAceptabilidadFacilidad de engaño Cara A B M A B A B M A A M A M A M M M A M M M B B B M B M M de la mano M M M M M M A Iris A A A M A B A Retina A A M B A B A Firma B B B A B A B Voz M B B M B A B facial A A B A M A A ADN A A A B A B B Huella digital Geometrı́a de la mano Dinámica de tecleo Venas Termograma Cuadro 2.1: 2.2. Comparación entre varias tecnologı́as biométricas [21] Funcionamiento y desempeño En los sistemas biométricos el usuario tiene la comodidad de no tener que portar con él un token o crear y recordar una contraseña, únicamente la primera vez que use el sistema tendrá que presentar su “credencial” biométrica para que el sistema cree y registre su perfil, el cual será comparado en cada intento de autenticación contra la “credencial”. Cuando una persona hace uso de un sistema biométrico, se obtiene un rasgo fisiológico o conductual asociado a tal usuario. Dicha información es procesada por un algoritmo numérico para obtener una representación digital de la caracterı́stica biométrica. El proceso de convertir el rasgo biométrico en una plantilla digital es realizado cada vez que el usuario trata de autenticarse en el sistema. El desempeño de un sistema biométrico normalmente es medido usando varias tasas de error, siendo las más comunes la FAR (del inglés False Accept Rate -tasa de falsa aceptación-) y la FRR (del inglés False Reject Rate -tasa INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 2. BIOMETRÍA Figura 2.1: 15 Proceso de registro y verificación en un sistema biométrico de falso rechazo-) [6]. La FAR se refiere al error que ocurre cuando el sistema biométrico identifica de manera incorrecta los rasgos de la muestra biométrica como iguales con respecto a otros rasgos de una muestra almacenada en su base de datos, es decir, concede acceso a un usuario no legı́timo. Este error es conocido en Estadı́stica como Falsos Positivos. La FRR hace referencia a los errores que se presentan cuando el sistema incorrectamente no iguala la muestra biométrica con una muestra registrada en su base de datos, denegando el acceso a un usuario legı́timo. Dentro de la Estadı́stica este error se conoce como Falsos Negativos. Se considera que la FAR es más costosa que la FRR, ya que al producirse un error de este tipo, se rompe el esquema de seguridad. Al graficar la FAR contra la FRR, se puede obtener una nueva medida del sistema, que se muestra en la Figura 2.2; ésta medida es la tasa en la cual tanto la FAR como la FRR son iguales, y se conoce como tasa de error igual (EER, Equal Error Rate) o tasa de error de cruce (CER, Cross-over Error Rate). Se considera que mientras más bajo sea la CER, más exacto será el sistema [4]. 2.3. Biometrı́a estática Se conoce como biometrı́a estática a aquellas caracterı́sticas fisiológicas que son únicas en cada ser humano y que son estables en el tiempo (bajo INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 2. BIOMETRÍA Figura 2.2: 16 Medidas de desempeño de un sistema biométrico circunstancias naturales). Ejemplos de estos rasgos son el rostro, la mano, las huellas digitales, el iris. Como podemos ver en el Cuadro 2.1 el uso de cada uno de ellos como factor de autenticación tiene sus propias ventajas y desventajas. 2.3.1. Cara Las imágenes faciales son la caracterı́stica biométrica más usada por los humanos para el reconocimiento personal. Las principales aproximaciones para el reconocimiento facial son dos, la primera se basa en la localización y forma de rasgos de la cara, tales como cejas, ojos, nariz, labios, barbilla, y su relación espacial; la segunda aproximación consiste en un análisis global de la imagen de la cara representando una cara como un combinación ponderada de un número de rostros canónicos (Eigenfaces Recognition). Los problemas que presentan estos sistemas están relacionados a factores de condición del ambiente en el momento de la adquisición de la muestra, como pueden ser la iluminación, el fondo, el ángulo en que se toma la imagen. 2.3.2. Huella digital Las huellas digitales son el método de identificación de personas más antiguo [30]. Las huellas digitales están formadas por patrones de valles y crestas en las yemas de los dedos, los cuales se forman durante los primeros INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 2. BIOMETRÍA 17 Figura 2.3: Aproximaciones para reconocimiento facial siete meses de vida del feto. Existen dos técnicas para la identificación de huellas dactilares, en la primera se localizan las terminaciones de crestas, bifurcaciones, puntos y cruces (todos estos elementos se denominan minucias, podemos ver un ejemplo en la Figura 2.4), y partiendo de su geometrı́a, orientación y relación, se compara contra las mismas de la plantilla. La segunda técnica compara las zonas que rodean a las minucias para encontrar diferencias de deformaciones [67]. Una desventaja de estos sistemas es que requieren una cantidad importante de recursos computacionales [22]. Otro punto desfavorable es que en ocasiones puede llegar a ser inapropiado para ciertas personas que pueden sufrir cambios en sus huellas por factores genéticos, ambientales, de envejecimiento o propios de sus actividades profesionales. Figura 2.4: INTITUTO TECNOLÓGICO DE MORELIA Minucias en una huella digital CAPÍTULO 2. BIOMETRÍA 2.3.3. 18 Geometrı́a de la mano Para usar la geometrı́a de la mano como rasgo biométrico se coloca la mano sobre una superficie y se toman dos imágenes, una de la vista lateral y otra de la superior. A partir de estas imágenes se medirán la forma y tamaño de la palma y el largo y ancho de los dedos [47]. Tiene como desventaja que los lectores suelen ser de gran tamaño, lo que complica la incorporación en dispositivos móviles. Figura 2.5: 2.3.4. Medición de la geometrı́a de la mano Iris El iris es la parte del ojo que tiene el color, y está formado por un tejido con una textura compleja con un patrón único. El iris se forma durante el desarrollo fetal y se estabiliza en los primeros dos años de vida. La imagen del ojo es adquirida por una pequeña cámara infrarroja, para después identificar el iris y segmentarlo en bordes y convertir sus caracterı́sticas en datos numéricos (llamado IrisCode) [67]. Se considera que las sistemas que usan el iris son los más confiables de todos los sistemas biométricos que se han propuesto [28], pero a pesar de ser un sistema muy rápido y confiable, no existen muchas implementaciones hoy en dı́a debido a su alto costo [67]. 2.3.5. Retina Los vasos sanguı́neos de la retina poseen una estructura rica y única. El funcionamiento de los sistemas que hacen uso de la retina es muy similar INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 2. BIOMETRÍA 19 Figura 2.6: Adquisición de las caracterı́sticas del iris al de aquellos que usan el iris [23]. Un aspecto por el que no logran gran aceptación entre los usuarios es que las lecturas pueden revelar la existencia de ciertas enfermedades. Figura 2.7: 2.4. Imagen de vasculatura retinal Biometrı́a dinámica Los psicólogos han demostrado que los seres humanos somos predecibles en nuestro desempeño de tareas repetitivas y rutinarias. Aprovechando estas predicciones es que se ha desarrollado la biometrı́a dinámica o de comportamiento, que analiza rasgos de la persona tales como la voz, la forma de escribir, la manera de teclear e incluso el ritmo al caminar [58]. Estos rasgos presentan las desventajas generales de que no son estables en el tiempo y que pueden verse afectados por factores ambientales y de estado emocional [8]. INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 2. BIOMETRÍA 2.4.1. 20 Voz En los sistemas de autenticación por voz, el usuario emplea un micrófono para grabar sus voz, ya sea repitiendo un texto dado por el sistema o hablando libremente. Después la voz es digitalizada para poder extraer de ella algunas caracterı́sticas únicas y generar el perfil. La extracción de las caracterı́sticas puede lograrse a través de plantillas estocásticas o de plantillas modelo. En las plantillas estocásticas se usan técnicas de igualación probabilı́sticas como el Modelo Escondido de Markov, el cual produce una medida de similitud del modelo [25]. En las plantillas modelo se emplean técnicas de igualación determinı́sticas, que suponen que la muestra es similar al perfil, pero con alguna distorsión. A partir de aquı́ se mide la distancia de error mı́nimo, empleando algoritmos como envolvimiento de tiempo dinámico, cuantización de vectores y vecinos más cercanos [67]. 2.4.2. Manera de caminar La biometrı́a basada en la manera de caminar es un método espacialtemporal complejo, que se logra a través de filmaciones que analizan varios movimientos de cada articulación, es por esto que requieren un alto costo computacional. La manera de caminar puede parecer un rasgo no muy distintivo, pero es lo suficientemente discriminatorio como para permitir autenticaciones en ambientes de baja seguridad [23]. 2.4.3. Firma autógrafa Una firma desarrollada de forma natural representa el acto de escritura más frecuente y habitual, y aunque dos firmas nunca serán iguales, siempre la mantenemos dentro de ciertos lı́mites, los cuales representan de manera única a cada individuo. La firma ha sido aceptada como método de autenticación en el gobierno, transacciones legales y comerciales [24]. INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 2. BIOMETRÍA 2.5. 2.5.1. 21 Biometrı́a basada en dinámicas de tecleo Historia Al escuchar hablar a alguien acerca de que se puede identificar a un individuo a partir de sus dinámicas de escritura con un teclado, se podrı́a pensar que es una ciencia nueva y complicada, sin embargo esta técnica se viene empleando desde hace más tiempo del que podemos imaginar. Durante la década de 1860 en Estados Unidos, cuando el telégrafo estaba en su pleno auge, los operadores de telégrafos comenzaron a volverse un recurso valuable, y mientras ganaban experiencia, iban desarrollando una “firma” única, siendo posible que fueran identificados por su ritmo al pulsar los mensajes. Durante la Primera Guerra Mundial, los franceses entrenaban a sus operadores de radio para que pudieran reconocer a los operadores enemigos que transmitı́an en clave Morse, los operadores aprendı́an a reconocer a sus enemigos al distinguir las longitudes de los puntos, lı́neas, pausas y las variaciones de velocidad en la transmisión. Este método nuevamente volvió a usarse durante la Segunda Guerra Mundial en labores de inteligencia, y se conoció como “el puño del remitente” (“fist of the sender”). En tiempos actuales la National Science Foundation de los Estados Unidos se percató de la importancia de las dinámicas de tecleo y creó un proyecto de investigación para seguridad de computadoras en la RAND Corporation. Este proyecto arrojó como resultado que el concepto de “el puño del remitente” tenı́a importantes caracterı́sticas estadı́sticas que permitı́an que se usara como una tecnologı́a de seguridad. A inicios de la década de 1980 el SRI International fue fundado por el National Bureau of Standards de los Estados Unidos con el fin de desarrollar una solución biométrica que hiciera uso de los principios de “el puño del remitente”. El SRI logró el registro de una patente, con lo que demostraba que su implementación, al analizar las dinámicas de tecleo de un individuo que tecleaba un ID de usuario y contraseña, lograba una precisión del 98 %. El SRI, nuevamente a petición del National Bureau of Standards, llevó a cabo un estudio de viabilidad para la implementación de las dinámicas de tecleo en seguridad computacional. Su estudio mostró que un texto familiar al usuario bastaba para autenticarlo virtualmente libre de errores. En el año de 1984, International Bioaccess Systems Corporation adquirió todos los derechos de las tecnologı́as de dinámicas de tecleo previamente diseINTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 2. BIOMETRÍA 22 ñadas por SRI International. Posteriormente, en el 2002, Biopassword, Inc. compró todos los derechos para la tecnologı́a, secretos comerciales y patentes de dinámicas de tecleo. Desde entonces ha desarrollado nuevas patentes para reforzar y extender las ventajas tecnológicas de las dinámicas de tecleo, incluso ha desarrollado estándares para la junta de estándares M1 del International Committee for Information Technology Standards (INCITS) para usar las dinámicas de tecleo como una tecnologı́a de autenticación [20]. 2.5.2. Funcionamiento La naturaleza humana dicta que una persona no se sienta frente a una computadora y comienza a teclear en un flujo caótico, sino que teclea por un momento, se detiene para reunir ideas, se detiene para descansar, continúa tecleando y ası́ sucesivamente [10]. Este comportamiento único nos brinda las bases para desarrollar un esquema de autenticación; las caracterı́sticas que nos interesarán para el análisis del comportamiento están relacionadas con eventos de las pulsaciones de las teclas, y son: tiempo de presión (dwell time) y tiempo de cambio (flight time). El tiempo de presión es el tiempo que transcurre desde que se presiona una tecla hasta que se libera. El tiempo de cambio corresponde al tiempo que pasa desde que se suelta una tecla hasta que se presiona la siguiente [5]. Figura 2.8: Eventos en el cálculo de dinámica de tecleo El punto central para el cálculo de perfiles en estos sistemas consiste en poder medir en el tiempo con la mayor precisión posible la ocurrencia de estos eventos. Una vez que se tienen registrados todos los eventos ocurridos en la entrada de texto por parte del usuario, el resto consiste en aplicar un algoritmo para la obtención de una medida que represente a la muestra. Existen varias aproximaciones para procesar los datos de tiempo: métodos estadı́sticos, lógica difusa, redes neuronales [19]. Todas estas aproximaciones INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 2. BIOMETRÍA 23 han sido probadas en implementaciones para teclados convencionales dando buenos resultados. 2.5.3. Trabajo Previo Como se mencionó anteriormente, la identificación de usuarios a través de sus ritmos de “escritura” ha sido empleada por alrededor de un siglo, sin embargo su estudio y desarrollo cientı́fico data de inicios de la década de 1980. Desde entonces tanto investigadores como profesionales han llevado a cabo numerosos estudios donde se proponen diversas metodologı́as. A continuación se comentan algunos de los más importantes, la mayorı́a de ellos siendo realizados en los Estados Unidos. El trabajo pionero en el área es el realizado por Stockton et. al. [14] en 1980 en los Estados Unidos. En este estudio reunió a un grupo de seis secretarias a las que se les pidió que teclearan tres distintos pasajes con una longitud de entre 300 y 400 palabras, registrando el momento de cada presión de teclas con una precisión de milisegundos; cuatro meses después nuevamente las mismas seis personas capturaron los mismos pasajes de texto. El análisis se realizó midiendo la latencia entre tiempos de dı́grafos (un par de letras sucesivas), es decir, en la palabra ’biometrı́a’ un tiempo de dı́grafo es el tiempo que toma escribir bi, el tiempo que toma escribir io es otro y asi sucesivamente. Los dı́grafos considerados incluı́an únicamente letras minúsculas y mayúsculas, saltos de lı́nea y signos de puntuación. A éstos tiempos se les aplicó una prueba t de Student, arrojando resultados de una FAR de 0 % y una FRR de 4 %. En 1986 Garcı́a [15] publica una patente de un sistema con el que analizaba latencias entre dı́grafos usando un algoritmo de discriminación basado en la función de distancia de Mahalanobis. En su estudio cada participante escribió diez veces su nombre y mil palabras comunes. Obtuvo una FAR de 0.01 % y una FRR de 50 %. Joyce y Gupta [24] en 1990 llevan a cabo un estudio con 33 estudiantes universitarios, en el que cada persona teclea un nombre de usuario, contraseña, nombre y apellido ocho veces para estudiar las latencias de dı́grafos a través de la media y la desviación estándar de vectores de distancia. Se obtuvieron una FAR de 0.25 % y una FRR de 16.36 %. Para 1993 se publicó un innovador estudio hecho por Obaidat y Maccairo- INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 2. BIOMETRÍA 24 lo [40] en el que tomaron latencias de dı́grafos entre cadenas de referencia usando redes neuronales. En su experimento emplearon a seis usuarios, cada uno escribió 20 veces una frase de 15 caracteres, logrando un desempeño global del sistema de 97 %. En el mismo año Obaidat publica otro estudio [39] esta vez aplicando un algoritmo de Red Neuronal Perceptron sobre latencias de dı́grafos, para ello se apoyó en 24 usuarios que escribieron un número no determinado de veces su nombre de usuario; esta vez no logró resultados muy buenos, ya que reporta una FAR de 8 % y una FRR de 9 %. Cuatro años más tarde lanza un nuevo estudio [41], el de mejor desempeño hasta ahora, ya que logró un tasa del 0 % tanto para la FAR como para la FRR; en dicho experimento registró latencias de dı́grafos y tiempos de presión y los analizó a través de múltiples algoritmos de aprendizaje automático de máquina. Se apoyó en 15 personas que registraban un nombre de usuario 225 veces al dı́a durante 8 semanas. Monrose ha desarrollado dos estudios, uno en 1999 y otro en 2002. En el primero [34] participaron 63 personas que escribieron texto arbitrario que fue analizado usando una técnica de reducción de datos estadı́sticos, conocida como análisis de factor, calculando dı́grafos, y logrando desempeños globales de entre 83.22 % y 92.14 %. Su segundo trabajo [33], llevado a cabo en el 2001, únicamente reporta una FRR de 45 % y no explica de manera clara el algoritmo usado. Menciona que participaron 20 usuarios que escribı́an una contraseña de 8 caracteres, midiendo latencias de dı́grafos y tiempos de presión. En el 2002, Bergadano et. al. [7] reunieron un total de 220 muestras (de entre un total de 44 personas) formadas por un texto de 683 caracteres, las cuales se analizaron usando un algoritmo de vectores de grado de desorden para duración de trı́grafos (tres caracteres consecutivos). Obtuvo una FAR igual a 0.04 % y una FRR de 4 %. La novedad en este estudio es que el sistema permitı́a que los usuarios cometieran errores en el momento de que estuvieran tecleando la muestra. Araujo presentó en el 2004 en Brasil un trabajo [3] en el que empleaba clasificadores de lógica difusa, para ello tomó muestras de 20 usuarios que escribı́an dos contraseñas, una fija de 12 caracteres y otra libre de al menos 10 caracteres. Sus resultados fueron una FAR de 2.9 % y una FRR de 3.5 %. Un trabajo importante es el logrado por Nisenson en el 2004 [37], ya que en él aplica la biometrı́a de dinámicas de tecleo como un sistema de detección de intrusos, usando el algoritmo de compresión Lempel-Ziv. En la prueba participaron un total de 35 personas, 5 tomaron el papel de usuarios legı́timos, INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 2. BIOMETRÍA 25 mientras que el resto se hacı́an pasar por atacantes; todos escribı́an respuestas a varias preguntas, un texto fijo y posteriormente un texto libre, para un total de 2551 ± 1866 caracteres. Consiguió un promedio de desempeño global del 98.87 %. Hace dos años Bartlow [6] reunió un grupo de 41 personas quienes proporcionaron a lo largo de un mes de pruebas un total de 8775 muestras. Cada usuario tecleaba dos contraseñas, una de 8 caracteres y otra de 12, siguiendo ciertas reglas de composción. Haciendo uso de diversos algoritmos de aprendizaje de máquina, encontró los siguientes resultados: para el uso de contraseña corta, una FAR de 7 % y una FRR de 7 %; para la contraseña larga, una FAR y una FRR del 5 %. El estudio más reciente fue el conducido el año pasado en México por Aguilar [18]. El experimento se aplicó sobre un total de 230 personas, las cuales facilitaron 26100 muestras. El análisis se basó en las latencias entre teclas, que se analizaron en base a funciones estadı́sticas de dispersión. Se consiguió una FAR de 0 % y una FRR de 35 %. INTITUTO TECNOLÓGICO DE MORELIA Capı́tulo 3 DISPOSITIVOS MÓVILES Y SU PROGRAMACIÓN 3.1. Historia del cómputo móvil En el año de 1981 surgió lo que se puede considerar la primera computadora portátil, la Osborne 1. Tal vez las caracterı́sticas de dicho equipo no se ajusten a las consideraciones que implica el término “portátil” hoy en dı́a, pero cumplı́a con las consideraciones de diseño propuestas por un conocido editor de libro técnicos llamado Adam Osborne. Osborne querı́a una computadora con una pantalla integrada que pudiera caber debajo del asiento de un avión. La Osborne 1 contaba con un pantalla CRT de 5 pulgadas y venı́a con una suite de software que contaba con BASIC, SuperCalc y WordStar [59]. Figura 3.1: Osborne 1 En 1982 fue fundada la compañı́a Compaq con el lanzamiento de su computadora portátil, la Compaq Portable. La Compaq Portable era portátil 26 CAPÍTULO 3. DISPOSITIVOS MÓVILES Y SU PROGRAMACIÓN 27 únicamente en comparación con su competidor la PC de IBM. El equipo de Compaq tenı́a el tamaño de una máquina de coser y un peso de 12.7 Kg., logrando un rendimiento similar al de un PC IBM, con un microprocesador 8088, 128 KB de memoria RAM y un monitor integrado monocromático de 9 pulgadas, todo esto por un precio de 3 mil dólares. La Compaq Portable presenta ventajas con respecto a la Osborne 1 en cuanto que usaba MS-DOS y tenı́a compatibilidad con programas escritos para PC de IBM [29], [60]. Figura 3.2: Compaq Portable Durante los siguientes años siguieron apareciendo computadoras portátiles, pero ninguna tan importante en lo que serı́a la evolución hacia las computadoras de mano como lo fue la Radio Shack TRS-80 Model 100. Era la primera computadora de tamaño notebook, incorporaba una pantalla integrada LCD de 8 lı́neas por 40 caracteres, teclado regular, BASIC y un procesador de textos, además de que funcionaba con baterı́as AA [64]. Figura 3.3: Radio Shack TRS-80 Model 100 El género PDA (Personal Digital Assistant -Asistente Personal Digital-) fue creado por la compañı́a Psion, al lanzar en 1984 su organizador. La Psion 1 estaba basada en un microprocesador de 8 bits, tenı́a una pantalla LCD de 16 caracteres, almacenamiento no volátil de 10 KB en cartuchos, dos ranuras para cartuchos, reloj-calendario, una base de datos con función de búsqueda, paquete de funciones matemáticas y un paquete cientı́fico (opcional) que permitı́a correr programas cientı́ficos residentes capaces de programar en un lenguaje similar a BASIC. En 1993 Psion vuelve a innovar una vez más con INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 3. DISPOSITIVOS MÓVILES Y SU PROGRAMACIÓN 28 la presentación de su serie 3a, las cuales podı́an conectarse con una PC de escritorio para transferir, convertir y sincronizar datos [1]. Figura 3.4: 3.2. Psion 1 PDA Los PDA son dispositivos de cómputo del tamaño de la palma de la mano, y comúnmente son conocidos como computadoras de bolsillo o de mano. Los PDAs fueron ideados en un primer momento como simples organizadores personales, pero con el paso de los años se fueron volviendo más versátiles, agregando capacidades como videojuegos, procesamiento de textos, hojas de cálculo, acceso a Internet, conexiones inalámbricas, reproducción de audio y video, Sistemas de Posicionamiento Global (GPS) [62]. Aunque ya existı́an dispositivos que cumplı́an con muchas de las caracterı́sticas de un PDA, el término fue usado por primera vez el 7 de Enero de 1992 por el gerente general de Apple Computer, John Sculley, para referirse a su Apple Newton. La interacción con el usuario se logra principalmente a través de un touch screen y un stylus (especie de aguja o lápiz) haciendo uso de un teclado virtual, reconocimiento de caracteres o menús. Algunas veces se les puede conectar un teclado para mejorar y facilitar la introducción de datos. Los primeros modelos de PDA no contaban con posibilidad de almacenamiento externo, pero hoy en dı́a la mayorı́a incorporan ranuras para tarjetas Secure Digital o Compact Flash, mientras que algunas otras vienen con un puerto USB para poder hacer uso de una unidad USB Flash. Muchos modelos de PDA incorporan puerto de comunicación por infrarrojo, ya sea para comunicar dos PDA, con una computadora o conectar con otros periféricos. Los modelos más modernos hacen uso de tecnologı́a INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 3. DISPOSITIVOS MÓVILES Y SU PROGRAMACIÓN Figura 3.5: 29 PDA con teclado externo Bluetooth para lograr todo esto. La mayorı́a de PDAs tienen la capacidad de sincronizar su información con una computadora, caracterı́stica muy importante que permite mantener al dı́a directorios telefónicos, agendas, bases de datos e incluso respaldar esta y otra información. Dicha sincronización se logra con la ayuda de un software especial proporcionado por el fabricante del PDA. Un PDA se puede personalizar tanto en software como en hardware para agregarle nuevas funcionalidades y mejorar su uso. La compañı́a Palm Inc. fue un importante elemento en el desarrollo y masificación de esta tecnologı́a, con la comercialización de sus dispositivos. Fue tan grande el uso de éstos que con frecuencia se hace una generalización para nombrar, de manera errónea, a todos los PDA como Palm o PalmPilot, nombre de los productos de dicha compañı́a. 3.3. Smartphones Un smartphone es un teléfono móvil que incorpora funcionalidades de una computadora personal. Es importante hacer notar que en un smartphone es posible instalar aplicaciones desarrolladas por el fabricante, el operador o una tercera persona, a diferencia de los teléfonos móviles convencionales que solo permiten ciertas aplicaciones controladas. Otra caracterı́stica importante es que poseen un sistema operativo definido como Windows Mobile, Linux, Symbian o Palm OS [63]. Los smartphones incluyen casi todas las caracterı́sticas y funcionalidades de un PDA, como lo son acceso a Internet, acceso a correo electrónico, procesamiento de textos, reproducción de audio y video. Otro punto que los hace “inteligentes” es que incorporan un miniteclado para facilitar la introducción INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 3. DISPOSITIVOS MÓVILES Y SU PROGRAMACIÓN 30 de datos. Figura 3.6: 3.4. Smartphone Sistemas operativos móviles El sistema operativo móvil más usado, con un 51 % del mercado en el 2005 [36], es el Symbian OS, creado por Symbian Ltd., una compañı́a formada por Nokia, Ericsson, Sony Ericsson, Panasonic, Samsung y Siemens AG. El Symbian OS está basado en el software de Psion y tiene una arquitectura muy similar a la de las computadoras de escritorio. Linux también ha contribuido con distribuciones para cómputo móvil, tales como lo son Linux PDA y Linux Mobile, los cuales han tenido muy buena aceptación en el mercado [36]. El Palm OS es el sistema operativo compacto desarrollado por PalmSource Inc., un sistema operativo sencillo de usar muy parecido a los sistemas operativos Microsoft Windows, creado para ser usado en los dispositivos móviles de la compañı́a Palm. Sin embargo, el desarrollo de este sistema operativo se considera como muerto, dando paso al uso de otros [61]. En 1992 Microsoft comenzó con el desarrollo de dos proyectos: WinPad y Pulsar. El proyecto WinPad tenı́a como objetivo la creación de un dispositivo de tipo handheld basado en Windows 3.1, llamado PC Companion, que pudiera competir con el Newton de Apple. El proyecto Pulsar estaba orientado a dispositivos tipo localizador que usaran un sistema operativo orientado a objetos. Debido a dificultades para soporte de hardware ası́ como a problemas internos en la compañı́a, estos proyectos nunca vieron la luz, sin embargo en 1994 se reorganizaron bajo el nombre Pegasus, que serı́a la base para el lanzamiento en 1996 de Windows CE, el primer sistema operativo de Microsoft diseñado para dispositivos móviles [13]. INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 3. DISPOSITIVOS MÓVILES Y SU PROGRAMACIÓN 31 Windows CE está basado en su contraparte de escritorio, por lo tanto incorpora una API que resulta bastante familiar a los desarrolladores en Windows. A pesar de esto hay algunas consideraciones que deben tener los desarrolladores al momento de programar para dispositivos móviles, como son la interfaz gráfica de usuario, las limitaciones de almacenamiento, consumo de poder y opciones de comunicación. Windows CE está hecho sobre un enfoque modular que permite que se divida en alrededor de 300 módulos, a partir de los cuales los fabricantes de equipos pueden ir seleccionando para construir sus sistemas operativos. Figura 3.7: Estructura modular de Windows CE Desde el lanzamiento de Windows CE en 1996, Microsoft ha continuado con las mejoras y nuevas versiones de su sistema operativo móvil. 3.5. .NET Compact Framework Antes de comenzar a hablar del .NET Compact Framework habrı́a que aclarar qué es la plataforma .NET. La iniciativa .NET de Microsoft fue un proyecto que pretendı́a integrar todos sus productos, desde el sistema operativo hasta las herramientas, creando una nueva plataforma de desarrollo transparente en cuanto a redes, independiente de plataforma y que permitiera un desarrollo ágil, robusto y seguro. Con estas intenciones surge el marco de trabajo .NET, la base de la plataforma .NET y que está integrado principalmente por un conjunto de INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 3. DISPOSITIVOS MÓVILES Y SU PROGRAMACIÓN 32 lenguajes de programación, la biblioteca de clase base (Base Classes Library) y el entorno común de ejecución para lenguajes (Common Language Runtime) [48]. Algunos de los lenguajes incorporados en .NET son C#, Visual Basic, Turbo Delphi for .NET, C++, Python, Perl, J#, Cobol .NET y Fortran. Para cuando se empezó a desarrollar el .NET Framework ya existı́an algunas herramientas para el desarrollo de aplicaciones en dispositivos inteligentes: eMbedded Visual C++ y eMbedded Visual Basic, es por esto que se decidió incluir Windows CE dentro de la plataforma .NET y crear el .NET CF, teniendo como objetivos los siguientes puntos [49]: Desarrollo beneficiándose de las caracterı́sticas .NET. Mantener consistencia con la versión de escritorio. Asegurarse que se ejecute de manera correcta tanto en dispositivos móviles como en incrustados. Preservar la apariencia de las plataformas. Proveer portabilidad a otros sistemas operativos. De aquı́ es que surge el .NET CF como un subconjunto del .NET Framework, que utiliza algunas librerı́as completas de la versión de escritorio e incorpora algunas otras diseñadas especı́ficamente para su uso en dispositivos móviles. Para desarrollar aplicaciones que usen el .NET CF es necesario contar con la suite Visual Studio .NET 2003 o Visual Studio 2005, que permiten programar en Visual Basic y C#. INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 3. DISPOSITIVOS MÓVILES Y SU PROGRAMACIÓN Figura 3.8: Arquitectura del .NET Compact Framework INTITUTO TECNOLÓGICO DE MORELIA 33 Capı́tulo 4 DISEÑO DEL SISTEMA En el presente capı́tulo se detallan las diferentes partes o módulos que se integraron para el desarrollo del sistema propuesto en esta tesis, el cual fue programado en su totalidad usando Visual Basic .NET; la elección de Visual Basic .NET debido a la facilidad de integración que permite con la API de Windows. También se explica la metodologı́a usada para la obtención del perfil de los usuarios. En el Apéndice A se encuentra la descripción del hardware en el que se implementó el sistema y su funcionamiento. El sistema funciona a partir de un nombre de usuario y una contraseña elegida de manera libre, siendo ésta en la cual se hará el cálculo de la dinámica de tecleo del usuario. Figura 4.1: Diseño modular del sistema 34 CAPÍTULO 4. DISEÑO DEL SISTEMA 4.1. 35 Núcleo El módulo principal, o núcleo, es el encargado de interactuar con el usuario, y a partir de ahı́ llama a los demás módulos que se encargan de otras tareas. Para esta parte se tuvo la necesidad de desarrollar un teclado virtual para facilitar la introducción de datos por parte del usuario, ya que no nos servı́a el SIP (Simple Input Panel) que proporciona el sistema operativo, esto porque el SIP no permite calcular el tiempo que se mantiene presionada cada tecla (DT, dwell time), sino únicamente los tiempos de cambio entre teclas (FT, fligth time). Nuestra implementación resultó en un teclado con distribución QWERTY que contiene letras (mayúsculas y minúsculas) y dı́gitos. El poder registrar los DT era algo importante para el presente trabajo debido a que al tener un mayor número de eventos en una plantilla se mejora el desempeño al permitir comparar más caracterı́sticas de la dinámica de los usuarios, es decir, si solamente se capturaran los FT tendrı́amos NE = n − 1 (4.1) Donde: NE: es el número de eventos para la plantilla. n: es la longitud en caracteres de la contraseña. Ahora, si incluı́mos los DT en la plantilla obtenemos NE = 2n − 1 (4.2) Podemos observar como con esta aproximación aumenta significativamente el número de eventos a comparar, lo cual también ayuda a mejorar la seguridad sin tener que usar contraseñas tan largas. Otra ventaja que presenta esta modificación, al tomar en cuenta las dos caracterı́sticas, es la dificultad extra que representa para un atacante reproducir de manera conjunta todos los DT y FT de un usuario legı́timo, la cual crece mientras mayor sea la longitud de la contraseña usada. INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 4. DISEÑO DEL SISTEMA 4.2. 36 Contador de tiempo Este módulo es la parte esencial del sistema, ya que es el que permite registrar en el momento en el que ocurre cada uno de los eventos de escritura del usuario, por lo tanto debe proporcionar una alta precisión y exactitud. Existen varias funciones, como las que se listan en el Cuadro 4.1, que nos permiten calcular tiempos, cada una con sus propias caracterı́sticas [35]. Función Now, Time, Timer GetTickCount TimeGetTime QueryPerformanceCounter Cuadro 4.1: Unidad segundos milisegundos milisegundos QueryPerformanceFrequency Precisión 1 segundo ≈ 10 ms ≈ 10 ms Dependiente del microprocesador Comparación entre varias funciones de tiempo Se decidió emplear las funciones de código nativo pertenecientes a la API de Windows, QueryPerformanceCounter() y QueryPerformanceFrequency(), debido a que son las que proporcionan mayor precisión. Estas funciones acceden a un reloj de alta precisión del hardware del sistema. La primera de las funciones regresa el número de tics transcurridos desde el inicio del sistema, mientras que la segunda nos devuelve la frecuencia del reloj (número de tics por segundo), es por esto que las funciones deben usarse en conjunto para conocer la precisión de la plataforma sobre la que se están ejecutando. 4.3. Criptografı́a Una vez que el usuario ha introducido todos sus datos de manera satisfactoria durante el proceso de registro, el módulo criptográfico toma como entrada la contraseña y calcula un digesto1 haciendo uso del algoritmo MD52 , 1 Representación compacta de una cadena de entrada, la cual es calculada a través de una función de sólo ida [31]. 2 Sucesor del algoritmo MD4, similar en diseño aunque más complejo, que produce un digesto de 128 bits [51]. INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 4. DISEÑO DEL SISTEMA 37 el cual es almacenado en la base de datos para evitar tener la contraseña guardada en texto claro. Cuando el usuario intenta autenticarse, nuevamente el módulo criptográfico toma de entrada la contraseña y obtiene su digesto, el cual compara con el digesto del usuario en cuestión que está guardado en la base de datos, si los digestos coinciden, se continúa con el proceso de verificación biométrica, de lo contrario desde este punto se deniega el acceso. 4.4. Registro y Verificación Aunque en la Figura 4.1 el registro y la verificación se muestran como dos módulos distintos, aquı́ se explican de manera conjunta debido a que en esencia realizan la misma tarea: obtener el perfil de los usuarios a partir de sus tiempos. El método seguido para la obtención y comparación de perfiles es el mismo aplicado en [18], funciones estadı́sticas de dispersión. Se eligió este método debido a que reportan buenos resultados, además de que otros algoritmos como redes neuronales o lógica difusa no son viables para ser implementados en dispositivos móviles debido a la gran cantidad de recursos de cómputo que requieren durante la fase de entrenamiento. En la la Figura 4.2 aparecen graficados los tiempos de cada una de las cinco muestras que se tomaron de un usuario en el momento de su registro. Dicho usuario es uno de los participantes en el estudio descrito en la Sección 5.1, y que seleccionó como contraseña la palabra “MELLERAY”. En dicha gráfica se puede apreciar fácilmente como las cinco curvas siguen un patrón muy similar, lo que indica que el usuario en efecto tiene establecida una dinámica para escribir. Figura 4.2: Muestras de un usuario del sistema (milisegundos) INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 4. DISEÑO DEL SISTEMA 38 Para el proceso de registro se tiene como entrada, por cada muestra proporcionada por el usuario, un vector con los tiempos en milisegundos de cada uno de de los eventos DT y FT de la escritura de su contraseña. M M-E E E-L L L-L L L-E E E-R R R-A A A-Y Y Muestra 1 38 484 58 478 38 199 72 492 54 185 27 324 56 421 37 Muestra 2 62 485 52 504 41 259 81 407 56 191 37 266 76 402 84 Muestra 3 54 451 59 456 46 192 74 456 18 211 29 306 56 422 61 Muestra 4 51 418 31 462 32 195 80 463 35 192 21 341 45 420 70 Muestra 5 71 443 40 446 42 177 77 440 52 187 26 271 74 350 89 Cuadro 4.2: Tiempos de las muestras de registro de un usuario (milisegundos) A partir de estos datos se procede a obtener el tiempo promedio para cada uno de los eventos, es decir para cada columna que se presenta en el Cuadro 4.2. Enseguida necesitaremos medir la variabilidad que existe entre los diferentes tiempos de las muestras. Para ésto usamos una medida de dispersión: la desviación estándar. La desviación estándar es el promedio de distancia que existe entre los datos y su media, y está expresada en las mismas unidades que los datos originales [56] [50], y se calcula con: rP (x − x)2 S= n−1 (4.3) Donde: x: es cada uno de los tiempos de las muestras para un evento. x: es la media de cada evento. n: es el número de muestras tomadas para el perfil. Una vez que se tienen las desviaciones estándar, se calcula el coeficiente de variación, una medida que nos proporciona un número adimensional que describe la dispersión relativa a la media [54], y esta dado por: CV = Donde: INTITUTO TECNOLÓGICO DE MORELIA S x (4.4) CAPÍTULO 4. DISEÑO DEL SISTEMA 39 S: es la desviación estándar de cada evento. x: es la media de cada evento. Figura 4.3: Gráfica en la que se indican los coeficientes de variación en el perfil de un usuario Hasta aquı́ se han obtenido todos los valores necesarios para crear y registrar la plantilla del usuario, los cuales serán usados para comparar cada intento de autenticación. Para el proceso de autenticación se calcula una nueva media, que será la suma de la media de la plantilla más el tiempo de la nueva muestra. Al tener las nuevas medias, se pueden calcular las desviaciones estándar y los coeficientes de variación de igual manera que se calculan durante la creación del perfil. El siguiente paso consiste en calcular un parámetro llamado porcentaje de similitud, que nos indica en puntos porcentuales el grado de similitud de los nuevos tiempos con respecto a los tiempos de la plantilla. El porcentaje de similitud se calcula con: PS = C (100) NE (4.5) Donde: C: es el número de columnas donde el coeficiente de variación de la plantilla es mayor que su respectivo coeficiente de variación de la nueva muestra. NE: es el número de eventos en la plantilla. Este porcentaje de similitud se compara con otro parámetro llamado umbral de aceptación (UA), si el PS es mayor que el UA, entonces se considera que el usuario es el legı́timo y se le concede el acceso al recurso. El valor del INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 4. DISEÑO DEL SISTEMA 40 Figura 4.4: Comparación entre los coeficientes de variación de una plantilla y los de una autenticación UA se establece según el nivel de seguridad y comportamiento que se quiere lograr con el sistema, y se habla un poco más sobre él en el siguiente capı́tulo. 4.5. Logs Este módulo no es en sı́ parte funcional del sistema, sino que se incluyó únicamente por motivos estadı́sticos y de desempeño del sistema. Este módulo guarda, por cada intento de autenticación, un archivo que contiene toda la información generada por el módulo de verificación biométrica, como son los promedios de tiempos, desviaciones estándar, coeficientes de variación y porcentaje de similitud, ası́ como el resultado de si la autenticación fue exitosa o no, todo esto para poder analizar el comportamiento del sistema. INTITUTO TECNOLÓGICO DE MORELIA Capı́tulo 5 PRUEBAS Y ANÁLISIS DE DESEMPEÑO 5.1. Estudio Para probar el funcionamiento del sistema, se realizó un experimento en el que se reunió un grupo de personas para que hicieran uso del sistema. El grupo estaba formado por veinticinco personas de entre 22 y 34 años, las cuales se seleccionaron en base a que contaran con buenas habilidades de escritura en teclados convencionales y tuvieran alguna experiencia en el uso de un PDA, aunque solo dos de ellas aseguraron usar un PDA de manera cotidiana. Las pruebas se llevaron a cabo a lo largo de un periodo de siete dı́as. Con las pruebas se pretendı́a medir la tasa de falso rechazo (FRR) y la tasa de falsa aceptación (FAR), por lo que el experimento se dividió en dos dinámicas. En la primera fase se les pidió a los usuarios que dieran de alta su perfil en el sistema, para que posteriormente durante los siete dı́as, trataran de autenticarse cada uno un total de 26 ocasiones, para reunir un total de 650 muestras. Para la segunda fase se le pidió a una persona diferente del grupo inicial, que registrara su perfil en el sistema y permitiera a cada integrante del grupo observar y analizar su dinámica de escritura, ası́ después cada uno de los veinticinco individuos intentarı́a imitar su dinámica y engañar al sistema nueve veces, es decir, se realizaron un total de 225 ataques. Los usuarios podı́an elegir librememente la contraseña a usar, pero se les 41 CAPÍTULO 5. PRUEBAS Y ANÁLISIS DE DESEMPEÑO 42 hacı́a la recomendación de que usaran una palabra o frase con la que estuvieran familiarizados en su escritura y que fuera de al menos siete caracteres de longitud. El umbral de aceptación (UA) del sistema se fijó en 60 %, Se decidió tomar este valor en base a los resultados reportados en [18] y a algunas pruebas y observaciones preliminares hechas por nosotros. El sistema guardaba los tiempos de todos los intentos llevados a cabo por las personas que participaron en el estudio, esto con la intención de que después pudieramos analizar con mayor detalle el comportamiento del sistema. Dicho análisis consisitió en comenzar a ejecutar simulaciones del mismo experimento, proporcionándole como entrada al sistema los mismos tiempos que habı́an generado los usuarios previamente, pero cambiando en cada ejecución el valor del UA en intervalos de 5 %, comenzando en un 5 % y llevándolo hasta el 100 %. 5.2. Resultados Para la parte en que las personas interactuaron directamente con el software, de los 650 intentos de autenticación que hubo por parte de usuarios legı́timos, el sistema rechazó de manera equivocada un total de 297, lo que se transforma en una FRR de 44 %. Respecto a los intentos de falsificación de identidad, de los 225 únicamente 6 de ellos fueron exitosos, entregando una FAR con un valor del 2.664 %. Las simulaciones que se hicieron más tarde, nos ayudaron a calcular las curvas de la FRR y la FAR, que como ya se mencionó en la sección 2.2, describen el desempeño global de un sistema biométrico, y además nos proporciona la tasa de error de cruce (CER) que nos indica el umbral óptimo de sensibilidad del sistema [38]. En la Figura 5.1 podemos observar que el CER se encuentra en un UA de alrededor de 45 %, que hace que el software funcione con una FRR y una FAR de 15.11 %. INTITUTO TECNOLÓGICO DE MORELIA CAPÍTULO 5. PRUEBAS Y ANÁLISIS DE DESEMPEÑO Figura 5.1: INTITUTO TECNOLÓGICO DE MORELIA Desempeño del sistema 43 Capı́tulo 6 CONCLUSIONES Y TRABAJO FUTURO Esta tesis tuvo por objetivo lograr una nueva aportación a las áreas de seguridad de la información y los dispositivos móviles, al desarrollar un sistema capaz de reconocer dinámicas de tecleo y que pudiera trabajar en conjunto con los tradicionales sistemas de autenticación basados en nombre de usuario y contraseña, y de esta manera fortalecer la seguridad proporcionada por éstos últimos. Al ser este trabajo la primera implementación de este tipo para dispositivos móviles, los resultados fueron satisfactorios y prometedores, ya que nos dejan ver que el software puede madurar y convertirse en un producto robusto y confiable. La principal ventaja que se encontró en el actual sistema biométrico es que provee una segunda capa de seguridad, fortaleciendo los sistemas basados en nombre de usuario y contraseña; otra ventaja es, que actúa de manera transparente para el usuario durante la etapa de autenticación. La desventaja que presentó radica en la etapa de registro de usuario, ya que para algunos de ellos puede llegar a ser tedioso el escribir en repetidas ocasiones su contraseña. El sistema podrı́a llegar a presentar otra desventaja, la cual no se pudo probar, y es la disminución de precisión y desempeño del sistema al estar ejecutándose de manera simultánea con varias otras aplicaciones. Respecto al trabajo a futuro hay varios puntos importantes sobre los cuales enfocarse, el primero de ellos consiste en agregar al sistema un método de adaptación, es decir, que le permita al software reconocer y aprender las 44 CAPÍTULO 6. CONCLUSIONES Y TRABAJO FUTURO 45 variaciones y evolución que va sufriendo la dinámica de tecleo del usuario a lo largo del tiempo, lo que permitirı́a mejorar el desempeño. En un segundo punto se tratarı́a de modificar el software para que sea tolerante a los errores de escritura tanto en el proceso de registro como en el de autenticación. Un último aspecto sobre el cual hay que trabajar es el portar el sistema a teléfonos celulares convencionales, los cuales no cuentan con pantallas táctiles para el ingreso de datos. INTITUTO TECNOLÓGICO DE MORELIA Apéndice A Funcionamiento del Sistema En el Cuadro A.1 se muestran las especificaciones técnicas del hardware sobre el que se implementó y probó el sistema. Marca Modelo Sistema Operativo Procesador Memoria Display Dimensiones Peso Cuadro A.1: Hewlett-Packard iPAQ rx4240 Microsoft Windows Mobile 5.0 Samsung S3C2442 de 400 MHz ROM de 128 MB, SDRAM de 64 MB TFT 65536 colores 6.35 x 10.2 x 1.675 milı́metros 125 gramos Principales caracterı́sticas técnicas del PDA iPAQ 4240 En las siguientes secciones se detalla la composición de la interfaz gráfica del sistema, ası́ como su funcionamiento. A.1. Pantalla principal En la Figura A.2 se muestra la pantalla principal del sistema, en donde se pueden observar los diferentes elementos que la conforman. En esta primer pantalla aparece el menú “Nuevo”, el cual se debe seleccionar para dar de alta en el sistema un nuevo usuario. 46 APÉNDICE A. FUNCIONAMIENTO DEL SISTEMA Figura A.1: Figura A.2: INTITUTO TECNOLÓGICO DE MORELIA Imagen del PDA iPAQ rx4240 Pantalla principal de la aplicación 47 APÉNDICE A. FUNCIONAMIENTO DEL SISTEMA Figura A.3: A.2. 48 Inicio del proceso de registro de un usuario Pantalla de registro de usuario Con la interfaz de registro de usuario, Figura A.4, el sistema nos permite introducir todos los datos necesarios para crear un nuevo perfil en el sistema. En primer lugar, se deberá seleccionar un nombre de usuario y una contraseña, la cual debe ser capturada dos veces para confirmar que es correcta. Aquı́ aún no se miden los tiempos de escritura del usuario, por lo que se pueden cometer errores de escritura, borrar y volver a escribir. Cuando se confirma que el nombre de usuario seleccionado no existe y que las contraseñas coinciden, se procede a la toma de muestras de tiempos. El usuario deberá proporcionar cinco muestras, cada muestra consiste en la escritura de la contraseña seleccionada anteriormente. En este punto el usuario no deberá de equivocarse al teclear su contraseña, de ser ası́, deberá presionar el botón “Cancelar” y comenzar nuevamente dicha muestra. INTITUTO TECNOLÓGICO DE MORELIA APÉNDICE A. FUNCIONAMIENTO DEL SISTEMA Figura A.4: Pantalla de registro de usuario Figura A.5: INTITUTO TECNOLÓGICO DE MORELIA Inicio de toma de muestras 49 APÉNDICE A. FUNCIONAMIENTO DEL SISTEMA Figura A.6: Figura A.7: 50 Toma de muestras Registro de usuario completado correctamente INTITUTO TECNOLÓGICO DE MORELIA APÉNDICE A. FUNCIONAMIENTO DEL SISTEMA A.3. 51 Autenticación Cuando el usuario trata de autenticarse, debe escribir su nombre de usuario y contraseña, en el primero se le permite cometer errores, a diferencia del tecleo de la contraseña, donde en caso de cometer un error, tiene que hacer click en el botón “Cancelar” para introducir nuevamente la contraseña. El sistema mostrará un cuadro de diálogo indicando si el usuario logró autenticarse de manera correcta o no. Figura A.8: INTITUTO TECNOLÓGICO DE MORELIA Autenticación correcta APÉNDICE A. FUNCIONAMIENTO DEL SISTEMA Figura A.9: INTITUTO TECNOLÓGICO DE MORELIA 52 Autenticación incorrecta Apéndice B Código Fuente del Sistema En este apéndice se incluye un medio digital, el cual contiene los archivos con el código fuente de la aplicación. Se presenta de esta forma debido al gran número de lı́neas generadas. 53 Bibliografı́a [1] 3-Lib. History of Psion. http://3lib.ukonline.co.uk/historyofpsion.htm. [2] Ross J. Anderson and Ross Anderson. Security Engineering: A Guide to Building Dependable Distributed Systems. Wiley, 2001. [3] L.C.F. Araújo and M.G. Lizárraga and L.H.R. Sucupira Jr. Autentificación Personal por Dinámica de Tecleo Basada en Lógica Difusa. Revista IEEE América Latina, 2(1), Marzo 2004. [4] Julian Ashbourn. Biometrics: Advanced Identity Verification: The Complete Guide. Springer, 2000. [5] Ahmed Awad and Issa Traore. Detecting Computer Intrusions Using Behavioral Biometrics. Technical report, Department of Electrical and Computer Engineering, University of Victoria, 2005. [6] Nicholas Daniel Bartlow. Username and Password Verification through Keystroke Dynamics. Master’s thesis, College of Engineering and Mineral Resources, West Virginia University, 2005. [7] Francesco Bergadano and Daniele Gunetti and Claudia Picardi. User Authentication through Keystroke Dynamics. ACM Transactions on Information and System Security (TISSEC), Vol. 5, 2002. pp. 367–397. [8] Ruud Bolle and Jonathan Connell and Sharanthchandra Pankanti. Guide to Biometrics. Springer, 2003. [9] Seymour Bosworth and Arthur E. Hutt and Douglas B. Hoyt. Computer Security Handbook. Wiley, 1995. [10] S. Card and T. Moran and and AÑewell. The Keystroke Level Model for User Performance Time with Interactive Systems. In Communications of ACM, Vol. 23, 1980. pp. 396–410. 54 BIBLIOGRAFÍA 55 [11] D. W. Davies and W. L. Price. Security for Computer Networks: An Introduction to Data Security in Teleprocessing and Electronic Funds Transfer. Wiley, 1989. [12] Online Etymology Dictionary. http://www.etymonline.com. Authentication. [13] Dan Fox and Jon Box. Building Solutions with the Microsoft .NET Compact Framework: Architecture and Best Practices for Mobile Development. Addison-Wesley Professional, 2003. [14] R. Stockton Gaines, William Lisowski, and S. James Press. Authentication by keystroke timing:some preliminary results. Technical report, RAND Corporation, 1980. http://www.rand.org/pubs/reports/R2526/. [15] J Garcia. Personal identification apparatus. Patent 4,621,334, U.S. Patent and Trademark Office, 1986. [16] Eric Guerrino and Mike Kahn and Ellen Kapito. User authentication and encryption overview, 1997. [17] Barbara Guttman. An Introduction to Computer Security: The NIST Handbook. Diane Pub Co, 1995. [18] Jose Guadalupe Aguilar Hernández and Luis Adrian Lizama Pérez. Autenticación de usuarios a través de Biometrı́a de Tecleo. Mexican Conference on Informatics Security 2006, 2006. [19] Jarmo Ilonen. Keystroke Dynamics. Technical report, Lappeenranta University of Technology, 2004. [20] Biopassword Inc. Authentication Solutions Through Keystroke Dynamics. Whitepaper. http://www.biopassword.com/antiphishing-antifraudresources.php. [21] A.K. Jain. Biometric recognition: how do I know who you are? Signal Processing and Communications Applications Conference, 2004. [22] Anil K. Jain. Biometric Authentication based on Keystroke Dynamics Biometric. http://www.cse.msu.edu/ cse891/Sect601/. [23] Anil K. Jain and Arun Ross and Salil Prabhakar. An Introduction to Biometric Recognition. IEEE Transactions on Circuits and Systems for Video Technology, 14(1), January 2004. pp.4–20. INTITUTO TECNOLÓGICO DE MORELIA BIBLIOGRAFÍA 56 [24] R. Joyce and G. Gupta. Identity Authentication Based on Keystroke Latencies. In Communications of the ACM, vol. 33, no. 2, 1990. pp. 168-176. [25] J.P. Campbell Jr. Speaker Recognition: A Tutorial. In Proceedings of The IEEE, Vol. 85, No. 9, 1997. pp. 1437–1462. [26] James F. Kurose and Keith W. Ross. Computer Networking: A TopDown Approach Featuring the Internet. Addison Wesley, 2004. [27] J. C. Laprie. Dependability: Basic Concepts and Terminology. Springer, 1991. [28] Li Ma and Tieniu Tan, and Yunhong Wang. Efficient iris recognition by characterizing key local variations. IEEE Trans. on Image Processing, 2004. pp. 739-750. [29] CED Magic. Compaq Portable. http://www.cedmagic.com/history/compaqportable.html. [30] D. Maio and D. Maltoni and R. Capelli and A. Jain. Fingerprint Verification Competition. International Conference on Pattern Recognition (ICPR), 2002. pp. 811-814. [31] Alfred J. Menezes and Paul C. van Oorschot and Scott A. Vanstone. Handbook of Applied Cryptography (Crc Press Series on Discrete Mathematics and Its Applications). CRC, 1996. [32] Microsoft. Strong passwords: How to create and use them, 2006. http://www.microsoft.com/protect/yourself/password/create.mspx. [33] Fabian Monrose and Michael K. Reiter, and Susanne Wetzel. Password hardening based on keystroke dynamics. In Int. J. Inf. Sec., vol. 1, no. 2, 2002. [34] Fabian Monrose and Aviel D. Rubin. Keystroke dynamics as a biometric for authentication. Future Generation Computer Systems, 16(4):351– 359, 2000. [35] Microsoft Developer Network. How To Use QueryPerformanceCounter to Time Code. http://support.microsoft.com/kb/172338. [36] Internet News. Symbian at a mobile http://www.internetnews.com/stats/article.php/3584431. INTITUTO TECNOLÓGICO DE MORELIA loss. BIBLIOGRAFÍA 57 [37] Mordechai Nisenson and Ido Yariv, and Ran El Yaniv. Towards Behaviometric Security Systems:Learning to Identify a Typist, volume Volume 2838/2003 of Lecture Notes in Computer Science. Springer Berlin / Heidelberg, February 2004. pp. 363-374. [38] Puripant Ruchikachorn and Nongluk Covavisaruch and Pipat Prateepamornkul. Personal Verification and Identification Using Hand Geometry. In ECTI Transactions on Computer and Information Technology VOL.1, NO.2, 2005. [39] M.S. Obaidat and S. Bleha. Computer user verification using the perceptron. In IEEE Trans. Systems, Man, and Cybernetics, vol. 23, no. 3, 1993. pp. 900-903. [40] M.S. Obaidat and D.T. Maccairolo. An on-line neural network system for computer access security. In IEEE Trans.Industrial Electronics, vol. 40, no. 2, 1993. pp. 806-813. [41] M.S. Obaidat and B. Sadoun. Verification of computer users using keystroke dynamics. In IEEE Trans. Systems, Man, and Cybernetics, vol. 27, no. 2, 1997. pp. 367–397. [42] University of Kansas IT Security Office. Choosing good passwords, 2004. http://www.security.ku.edu/docs/doc-viewer.jsp?id=4. [43] Tomas Olovsson. A structured approach to computer security. Technical report, Chalmers University of Technology, 1992. http://www.asociacion-aecsi.es/doc/General Info/ [44] Donn B. Parker. Fighting Computer Crime: A New Framework for Protecting Information. Wiley, 2001. pp. 491-492. [45] Thomas R. Peltier and Justin Peltier. Complete Guide to CISM Certification. AUERBACH, 2006. [46] Charles P. Pfleeger and Shari Lawrence Pfleeger. Security in Computing (4th Edition). Prentice Hall PTR, 2006. [47] Fernando L. Podio and Jeffrey S. Dunn. Biometric Authentication Technology: From the Movies to Your Desktop. Technical report, Information Technology Laboratory, National Institute of Standards and Technology, 2001. http://www.itl.nist.gov/div893/biometrics/Biometricsfromthemovies.pdf. INTITUTO TECNOLÓGICO DE MORELIA BIBLIOGRAFÍA 58 [48] Larry Roof and Dan Fergus. The Definitive Guide to the .NET Compact Framework. Apress, 2003. [49] Erik Rubin and Ronnie Yates. Microsoft .NET Compact Framework Kick Start. Sams, 2003. [50] Deborah Rumsey. Statistics for Dummies. For Dummies, 2003. [51] Bruce Schneier. Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition. Wiley, 1995. [52] Bob Heard. Revolution or evolution?. SCMagazine. October 2003. [53] Jae Shim. The International Handbook of Computer Security. Routledge, 2000. [54] T. T. Soong. Fundamentals of Probability and Statistics for Engineers. Wiley-Interscience, 2004. [55] Eugene Spafford. Observing Reusable Password Choices. Technical report, Department of Computer Sciences, Purdue University, 1992. pp. 299–312. [56] D. H. Stamatis. Six Sigma and Beyond: Statistics and Probability, Volume III. CRC, 2002. [57] Mark Stamp. Information Security : Principles and Practice. WileyInterscience, 2005. [58] D. Umphress and G. Williams. Identity Verification Through keyboard Characteristics. International Journal of Man-Machine Studies, 1985. pp. 263-273. [59] Andy Wigley, Stephen Wheelwright, and Robert Burbidge. Microsoft .NET Compact Framework (Core Reference). Microsoft Press, 2003. [60] Wikipedia. Compaq Portable. http://en.wikipedia.org/wiki/Compaq Portable. [61] Wikipedia. Palm OS. http://en.wikipedia.org/wiki/Palm OS. [62] Wikipedia. Personal Digital http://en.wikipedia.org/wiki/Personal digital assistant. Assistants. [63] Wikipedia. Smartphone. http://en.wikipedia.org/wiki/Smartphone. [64] Wikipedia. TRS 80 Model 100. http://en.wikipedia.org/wiki/TRS-80. INTITUTO TECNOLÓGICO DE MORELIA BIBLIOGRAFÍA 59 [65] John D. Woodward. Army Biometric Applications: Identifying and Addressing Sociocultural Concerns. RAND Corporation, 2001. [66] Jianxin Yan and Alan Blackwell and Ross Anderson. The Memorability and Security of Passwords Some Empirical Results. Cambridge University Computer Laboratory, 2004. pp. 25-31. [67] Yau Wei Yun. The ’123’ of Biometric Technology. Technical report, Information Technology Standards Committee, 2002. http://www.itsc.org.sg/synthesis/2002/biometric.pdf. INTITUTO TECNOLÓGICO DE MORELIA