Sistema de autenticación único basado en biométricos
Texto completo
(2) SISTEMA DE AUTENTICACIÓN ÚNICO BASADO EN BIOMÉTRICOS. DIEGO LUIS MALDONADO REY. Proyecto De Grado. Directora BEATRIZ ACOSTA. UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA DEPARTAMENTO INGENIERIA DE SISTEMAS Y COMPUTACION BOGOTA 2003.
(3) AGRADECIMIENTOS. Agradezco a las personas que me han apoyado, ayudado y motivado en el desarrollo del presente trabajo. Ante todo a mis padres, su apoyo, cariño, ejemplo entre muchas cosas que como siempre, me ayudaron a realizar el presente trabajo. A mi asesora Beatriz Acosta por su paciencia, aportes, y ánimo constantes durante el desarrollo del proyecto. Agradezco adicionalmente a mis amigos, que con sus ideas y apoyo me ayudaron más de lo que se imaginan. Dentro de mis amigos, quiero agradecer de manera especial a uno que me demostró su apoyo, y me brindó herramientas útiles y necesarias en el desarrollo del proyecto: Juan Diego Losada..
(4) A mis padres, todo lo que soy, todo lo que seré, todo lo que tengo y todo lo que tendré, se los debo a ellos. Si esta vida fuese eterna, no me alcanzaría el tiempo para reunir recursos para saldar mi deuda. Por siempre agradecido..
(5) TABLA DE CONTENIDO. 1.. INTRODUCCIÓN .........................................................................................................5. 1.1.. Objetivo general ................................................................................................................................................. 7. 1.2.. Objetivos específicos.......................................................................................................................................... 8. 1.3.. Plan del documento ........................................................................................................................................... 8. 2.. BIOMÉTRICOS ..........................................................................................................10. 2.1. Definición de biométricos...............................................................................................................................10 2.1.1. Modos de identificación a través de biométricos y errores ..............................................................10 2.1.2. Uso de biométricos.......................................................................................................................................11 2.1.3. Uso de biométricos en el proyecto...........................................................................................................12 2.2. Descripción de la tecnología de huella digital...........................................................................................13 2.2.1. Categorías de huellas digitales .................................................................................................................14 2.2.2. Tecnología AFIS ..........................................................................................................................................15 2.2.3. Tecnología Finger Scan ..............................................................................................................................17 2.3. Iris ........................................................................................................................................................................20 2.3.1. Cómo funciona..............................................................................................................................................20 2.4.. 3.. Comparación entre las dos tecnologías a utilizar en el proyecto ........................................................24. HERRAMIENTAS DE PROGRAMACIÓN ADICIONALES................................26. 3.1.. BIOAPI...............................................................................................................................................................26. 3.2.. JNI (Java Native Interface)...........................................................................................................................29. 4.. ALMACENAMIENTO DE LA INFORMACIÓN EN LDAP ..................................32. 4.1.. Introducción a LDAP (Lightweight Directory Access Protocol) .......................................................32. 4.2.. Diferencias entre directorio y base de datos relacional ........................................................................33. 4.3.. Estructura de directorio en LDAP .............................................................................................................33. 4.4.. Protocolo LDAP ..............................................................................................................................................34.
(6) 4.5.. Directorio LDAP ............................................................................................................................................35. 4.6.. Servidores Stand Alone .................................................................................................................................35. 4.7.. Modelos LDAP.................................................................................................................................................36. 4.8.. LDAP en el proyecto ......................................................................................................................................36. 5. SISTEMAS ACTUALES DE AUTENTICACIÓN POR DIFERENTES MÉTODOS BIOMÉTRICOS .............................................................................................39 5.1.. Sistemas de autenticación multimodal ......................................................................................................39. 5.2.. Sistemas integrados de seguridad................................................................................................................39. 5.3.. Sistemas de contr ol de acceso con acoplamiento a los sistemas de información actuales ............41. 6.. DISEÑO DE SISTEMA Y ANÁLISIS DE REQUERIMIENTOS..........................43. 6.1.. Metas ..................................................................................................................................................................43. 6.2.. Alcance...............................................................................................................................................................43. 6.2.. Usuarios del sistema.......................................................................................................................................44. 6.3. Análisis de requerimientos ...........................................................................................................................44 6.3.1. Casos de uso de la aplicación ....................................................................................................................44 6.4. DISEÑO Y ARQUITECTURA...................................................................................................................56 6.4.1. Diagrama de componentes ........................................................................................................................56 6.4.2. Diagrama de clases ......................................................................................................................................59 6.4.3. Diagramas de secuencia .............................................................................................................................63 6.4.4. Estructura de información adicional utilizada ....................................................................................70 6.4.4.1. Estructura de información biométrica.......................................................................................70 6.4.4.2. Estructura de información de logs..............................................................................................71 6.4.4.3. Definición de esquemas y atributos adicionales.......................................................................72 6.5.. Interfaz y visualización de la aplicación...................................................................................................73. 6.6.. Atributos del sistema......................................................................................................................................74. 7.. IMPLEMENTACIÓN ..................................................................................................82. 7.1.. Detalles de implementación..........................................................................................................................82. 7.2.. Herramientas utilizadas ................................................................................................................................83. 7.3.. Posibles mejoras futuras ...............................................................................................................................84. 8.. PROBLEMAS ENCONTRADOS ............................................................................85.
(7) 8.1.. Obstáculos iniciales en la implementación ...............................................................................................85. 8.2.. Problemas en la implementación ................................................................................................................86. 8. 10.. CONCLUSIONES......................................................................................................87 REFERENCIAS......................................................................................................89.
(8) ISC-2003-1-24. 5. 1. INTRODUCCIÓN. Desde que las organizaciones se comenzaron a establecer formalmente como entidades, ha existido el interés de proteger sus activos, que son finalmente la esencia de la organización, son lo que la compone. Los activos están conformados por el personal de la empresa, sus bienes físicos, reputación, maquinaria, productos, investigación, entre otros, y el más importante de ellos: la información. Este interés de proteger sus activos de personas indeseadas, de evitar el acceso indebido a los recursos por personas no autorizadas o de limitar las acciones que las personas autorizadas podían ejercer sobre determinados activos, llevó a la creación de diferentes mecanismos de control sobre el acceso de las personas sobre los recursos de la organización. Los mecanismos de control de acceso han sido implementados para controlar el acceso a diferentes recursos: acceso físico a instalaciones que se consideran de alta confidencialidad o alto riesgo, control de acceso a las instalaciones de la empresa y control a los recursos de información de la empresa. En los últimos tiempos se han incrementado los esfuerzos de controlar el acceso de las personas a los diferentes recursos de la organización, principalmente a los controles que manejan y controlan el acceso a la información de la empresa, considerada hoy en día el activo más importante de la compañía. Gracias a diferentes hechos como el ocurrido en el 11 de septiembre de 2001, y al aumento en el número de ataques y violaciones a la seguridad de los diferentes sistemas, se ha visto la necesidad de incrementar los sistemas utilizados en el control de acceso. En la actualidad que estamos viviendo, se está presentando una nueva era en la seguridad. El 11 de septiembre de 2001 como en algunos medios de comunicación lo titularon: “el día en que cambió el mundo” [1] ha marcado un cambio de era en la seguridad, ocasionando un creciente interés, ya no sólo de las compañías gubernamentales y oficiales, sino de todas las empresas en la seguridad. Esto se ha podido observar en la bolsa de valores de NASDAQ en Estados Unidos, donde se ha aumentado el valor de las acciones de las empresas de tecnologías biométricas y se ha visto un incremento considerable en las utilidades del sector pasando de 523.9 millones de dólares en 2001, a 729.1 millones en 2002 y se espera que se generen 1049.6 millones en 2003 [2]. La guerra contra el terrorismo ha comenzado, y en ella los sistemas de seguridad juegan un rol muy importante..
(9) ISC-2003-1-24. 6. Actualmente el método para controlar el acceso a los recursos más utilizado, tanto para acceso desde una terminal a la información bancaria como para ingresar los datos de correo electrónico es la utilización de una contraseña y un identificador único de la persona o PIN. Ésta alternativa ha demostrado ser de un costo relativamente bajo en su construcción y desarrollo, como también en su incorporación en los diferentes ambientes laborales. Sin embargo, se han visto diferentes debilidades en su implementación; se han visto patrones de comportamiento entre los individuos que utilizan éste medio para autenticar que permiten que los controles pierdan su efectividad y el sistema se vuelva vulnerable. Dentro de las soluciones emergentes al problema de control de acceso ha surgido un mecanismo que ha venido creciendo y gozando de una popularidad cada vez mayor, por su familiaridad con los datos necesarios para realizar la autenticación. Éstos son los sistemas de verificación y autenticación a través de los biométricos, o medidas basadas en el cuerpo. La creciente popularidad de éste sistema de autenticación, se debe en parte a que la información que se está utilizando para autenticar al usuario es su mismo cuerpo. Se han demostrado diferentes ventajas en la utilización de biométricos para identificar de manera única a las personas, algunas de ellas son: conveniencia; la persona no debe cargar ningún objeto ni aprenderse ninguna información adicional, exactitud; las medidas corporales utilizadas son únicas a cada persona y ofrecen un alto grado de exactitud en la verificación de la identidad de una persona, seguro; representa un mayor reto y dificultad para personas que deseen falsificar la identificación de otra persona, precio; disminuye el costo administrativo de seguridad que se requiere con otros sistemas de autenticación y aceptación; las personas que lo han utilizado han visto la facilidad y conveniencia de utilizar un sistema basado en la biometría. El principal objetivo del proyecto es construir una solución al problema de autenticación mediante el uso de diferentes tecnologías biométricas, logrando integración de diferentes tecnologías actuales en una misma aplicación o sistema de autenticación. Se busca tener un repositorio de datos central y una aplicación que lo maneje y administre, en el cual la autenticación se realice independiente del dispositivo utilizado para la captura de las medidas biométricas, y exista un único registro con toda la información relevante a una persona, reuniendo toda la información de las diferentes medidas tomadas. Se busca que la aplicación que se desarrolle sea capaz de dar un veredicto frente a la validez de la identificación de la persona, independientemente de la medida proporcionada, si previamente se ha alistado en el sistema y esa medida está soportada. Para lograr un adecuado control de acceso, que responda a los requerimientos y situaciones actuales de seguridad de la información, se hace necesario implementar un sistema que utilice varios mecanismos de autenticación, dependiendo del nivel de seguridad requerido en los diferentes escenarios o para los diferentes tipos de recursos de la organización. Para un manejo más consistente de la información de cada usuario para su autenticación, se desea un sistema que centralice y maneje toda la información referente al control de acceso de los usuarios. Este puede ser por medio de una contraseña, por medio de la huella digital,.
(10) ISC-2003-1-24. 7. por medio del patrón del iris, por medio de la forma de la mano o cualquier otro mecanismo de identificación que se considere adecuado. Es interés de éste trabajo entonces, modelar, analizar y construir un piloto de un sistema de control de usuarios que permita una integración de tecnologías tales de autenticación. Un sistema único que almacene y verifique los datos de las personas que deseen autenticarse, ya sea esta autenticación realizada a través de un login y una contraseña, o se realice con la ayuda de un dispositivo que mida un biométrico en particular. Este sistema almacenará toda la información referente a un usuario en particular, y permitirá hacer una validación con cualquiera de los datos almacenados en el registro de este usuario para verificar su identidad. El sistema que se desea desarrollar será único en el proceso de autenticación para los diferentes modos de ingreso de datos, permitiendo un manejo centralizado, consistente y de mayor facilidad en los controles de auditoría y en el mantenimiento del sistema. Actualmente existen varias soluciones similares ofrecidas por diferentes empresas de seguridad y por algunos proveedores de servicios. El mayor problema de las soluciones actuales es el elevado costo de las soluciones ofrecidas por estas compañías, ya que los productos son ofrecidos por empresas especialistas en seguridad, y la competencia de productos ofrecidos en este sector es reducida. Es por esto que se desea construir un proyecto que ofrezca una solución más económica, supliendo las necesidades en seguridad de las empresas. Para el desarrollo de este sistema se requiere tener conocimientos básicos de la tecnología biométrica que se utilizará, en este caso huella digital y patrón del iris del ojo. Se requiere adicionalmente tener conocimientos del repositorio que datos que se utilizará para almacenar la información, para el desarrollo de este proyecto se utilizarán directorios LDAP. Y para el desarrollo mismo de la aplicación se necesitan conceptos en herramientas de programación y arquitecturas, que para este proyecto va a ser basado en Java, aprovechando la interoperabilidad que éste ofrece. Adicionalmente, por desarrollar una aplicación que utilizará diferentes tecnologías biométricas se utilizará una interfaz de programación que se ha desarrollado para tal fin, el BioAPI.. 1.1. Objetivo general. El principal objetivo del presente trabajo es diseñar una solución para la autenticación de usuarios, que permita la validación del usuario a través de diferentes tecnologías biométricas..
(11) ISC-2003-1-24. 8. 1.2. Objetivos específicos. Adquirir conocimiento de las tecnologías biométricas, principalmente las relacionadas con la huella digital y el iris. Adquirir conocimiento acerca de las posibles herramientas (en lo posible libres), que permitan el desarrollo de la aplicación que se desea desarrollar. Diseñar una solución general al problema, que sea independiente de los fabricantes de tecnologías biométricas, de los proveedores del servidor de base de datos e independiente del sistema operativo sobre el cual se ejecuta. Desarrollar un piloto de la aplicación que implemente el diseño presentado y permita en un futuro extenderse a una solución de autenticación completa en un ambiente real.. 1.3. Plan del documento. El plan del presente documento busca establecer una estructura adecuada para la comprensión del mismo, que permita entender y estructurar las ideas utilizadas en la solución del problema. El segundo capítulo explica brevemente algunos de los conceptos necesarios para la comprensión de este trabajo. Se comienza con una explicación del concepto de biométricos, de la evolución e importancia de ésta tecnología y su principal uso. Luego se ilustra el funcionamiento de las tecnologías biométricas que se utilizarán (huella digital e iris). El tercer capítulo expone dos interfaces de programación que se debieron estudiar para implementar la solución planteada: el BioApi, el cual expone una manera estándar se utiliza para la comunicación con los dispositivos y JNI (Java Native Interface) necesaria para la integración de código en diferentes lenguajes, en este caso Java y C. El cuarto capítulo abarca los conceptos de la solución que se utilizó para la persistencia de la información: LDAP, mostrando sus ventajas y aplicabilidad dentro del trabajo. En el quinto capítulo se exponen los diferentes problemas actuales, y las soluciones existentes en este campo. Se pretende contextualizar al lector con algunas de las soluciones que se han construido hasta el momento. Para esta etapa del documento, se pretende que el lector visualice el problema que se desea solucionar, y tenga las bases para entender la solución planteada..
(12) ISC-2003-1-24. 9. En el capítulo 6, ya se propone la solución del problema. En este capítulo se presentan los diferentes formatos y diagramas en UML que permiten expresar los casos de uso de la aplicación que se va a desarrollar y se expresa de manera gráfica el diseño de la aplicación (diagrama de clases y por componentes), la interacción entre los diferentes componentes de la aplicación (diagramas de secuencia), la estructura de la información biométrica utilizada y la interfaz con el usuario. En el capítulo 7 se documentan algunos detalles de la implementación hecha, se nombran las herramientas utilizadas y aspectos relacionados. El capítulo 8 busca, presenta y explica los problemas encontrados previamente y durante el desarrollo del proyecto. Esto busca que el lector considere los problemas presentados en la implementación, ya sea para proponer soluciones o para que utilice los analice. En el último capítulo se presenta una conclusión del trabajo realizado estableciendo la importancia que se desea que tenga el trabajo; luego de lo cual se procede a realizar proyecciones, estableciendo un panorama futuro. Finalmente se presentarán las referencias y bibliografía utilizadas..
(13) ISC-2003-1-24. 10. 2. BIOMÉTRICOS. 2.1. Definición de biométricos. La biometría se conoce como la ciencia y tecnología que analiza y mide estadísticamente datos biológicos o comportamentales. En tecnología de información, la biometría se conoce como el estudio de diferentes medidas en el cuerpo humano que sirvan como medida o dato de entrada en la autenticación de un usuario ante un sistema [3]. Dentro de las diferentes medidas utilizadas actualmente para la autenticación está la huella digital, el iris del ojo, la retina del ojo, la forma de la cara, la forma de la mano, patrones de voz y patrones de comportamiento en la firma de documentos, entre los más utilizados. Entre los menos utilizados están algunas medidas biológicas, como lo puede llegar a ser el olor del cuerpo de una persona. Utilizar la biométrica para la autenticación personal está llegando a ser conveniente y considerablemente más exacto que los métodos actuales (contraseñas, PIN, smartcards, etc.). Esto es porque la biométrica liga el acontecimiento a un individuo particular (una contraseña o un token puede ser utilizado por alguien diferente al usuario autorizado), es conveniente (nada que llevar o recordar), exacto (provee autentificación positiva con un alto grado de certidumbre), puede proporcionar un rastro de auditoría (se pueden rastrear las diferentes acciones de las personas) y está llegando a ser socialmente aceptado (está siendo aceptado por un número creciente de personas) y barato (se están comenzando a ofrecer productos cada vez más económicos y portables) [4].. 2.1.1. Modos de identificación a través de biométricos y errores. El reconocimiento biométrico se puede utilizar en el modo de la identificación, donde el sistema biométrico identifica a una persona entre la totalidad de la población alistada, buscando en la base de datos por su igual. Un sistema también se puede utilizar en el modo de verificación, donde el sistema biométrico autentica la validez de la identidad demandada de una persona por su patrón previamente alistado [5]..
(14) ISC-2003-1-24. 11. Sin embargo, los sistemas que se basan en biométricos están sujetos a errores, los cuales se pueden clasificar a grandes rasgos en dos categorías: errores debidos a falsa aceptación y errores debidos a falsos rechazos. Los errores debidos a la falsa aceptación ocurren cuando en un sistema se acepta identificación de un usuario no registrado en el sistema, esto se puede dar por diferentes motivos, como la falsificación de datos de manera malintencionada, el bajo grado de exactitud en las medidas realizadas o inclusive por errores en la toma de la medida donde los datos ingresados se asemejen a otros. Los errores de falsos rechazos ocurren cuando el sistema rechaza a un usuario válido, lo cual se puede dar por errores en la toma de datos, como por ejemplo si tiene las manos sucias y el sistema utilizado se basa en huella digital, o si el sistema utiliza el reconocimiento de voz, y la persona que se desea autenticar tiene gripa. Los falsos rechazos se pueden generar también por el cambio en la medida biológica natural en la persona, caso en el cual se le deberá actualizar la información en la base de datos [6]. La rata de falsos rechazos y de aceptaciones falsas son en muchos casos contrarias, ya que si un sistema desea disminuir al máximo la tasa de falsas aceptaciones, va a estar sujeta a unas tasa de falsos rechazos mayor, ya que tendrá que manejar un grado de exactitud mayor en la toma de datos y pueden ocurrir errores como los anteriormente mencionados y ocasionar falsos rechazos de usuarios válidos.. Imagen de la Universidad de Stanford [6]. 2.1.2. Uso de biométricos. Los biométricos se utilizan para identificar de manera única a una persona, tratando de establecer medidas que no se encuentren duplicadas entre diferentes personas. Esto sirve principalmente entonces, para identificar de manera única a una persona, y en tecnología de información se utiliza para autenticar y validar la identificación de una persona ante un sistema..
(15) ISC-2003-1-24. 12. De esta manera, el principal desarrollo de estas tecnologías, y de interés para el trabajo que se desea realizar es desarrollar dispositivos y programas que permitan el manejo acertado de la información de las diversas medidas biológicas para lograr diferenciar las personas. Esta tecnología principalmente se utiliza en los sistemas de autenticación y validación de usuarios reemplazando o complementando el hoy tan difundido sistema de autenticación a través de contraseñas. Los biométricos brindan una alternativa de solución al problema de autenticación interesante, sin embargo posee algunas desventajas. Según el Electronic Frontier Foundation [7] el 1% de las personas posee biomas, o medidas biométricas no aptas para la utilización de estos dispositivos, no permiten una lectura y toma de medidas correcta, que permitan su identificación. Existen personas cuyas huellas digitales son difíciles de tomar por la contextura de sus dedos, así como hay personas que han perdido algunos miembros de su cuerpo por diferentes causas. Este problema resulta ser importante si consideramos el 1% de errores en la toma de medidas simplemente, más el error que pueda presentar el sistema en la verificación de la información es un problema que puede representar el fracaso de un sistema basado en biométricos. Para mitigar en parte los problemas ocasionados por esto, se recomienda utilizar sistemas que no se basen en una única medida biométrica para la autenticación de las personas, sino que utilice diferentes medidas, y pueda reducir el riesgo asociado con esto.. 2.1.3. Uso de biométricos en el proyecto. Para el desarrollo de este proyecto se pretende poder utilizar cualquier dispositivo soportado por la interfaz de programación que se usará en el desarrollo de la aplicación (BioApi)1 . Sin embargo, para propósito de implementación de la aplicación se sugiere utilizar dispositivos de escaneo de huella digital y dispositivos basados en el patrón del iris del ojo por razones que se explicarán mas adelante en el documento. Se escogió la huella digital como medida biométrica por ser la tecnología más difundida, de mayor crecimiento y actualmente la más económica de utilizar dentro de las relacionadas con la biometría. La huella digital es el medio biométrico de mayor aceptación actualmente, ya que desde hace varias décadas se viene usando como método de verificación de la identidad de las personas en documentos, medicina forense y sistema penitenciario. Es por esto que la tecnología relacionada con la huella digital tiene un mayor avance y madurez. Además se están comenzando a producir dispositivos de menor precio, que buscan servir como dispositivo de autenticación dentro de las oficinas, como parte de las estaciones de. 1. En el capítulo 2.5 del presente documento se detalla el bioApi..
(16) ISC-2003-1-24. 13. trabajo. Esto la hace una de las tecnologías más atractivas para utilizar en el desarrollo de este proyecto. Para el desarrollo de este proyecto se utilizará la tecnología de Finger Scan, ya que el objetivo es ofrecer autenticación a través de un sistema de validación2 y no de identificación3 , lo cual hace poco viable la opción de utilizar un sistema AFIS (Automated Fingerprint Identification System, sistema principalmente basado en identificación el cual se describe más adelante en el documento). Además los costos relacionados a la implementación de un sistema que utiliza Finger Scan son mucho menores que los que se deben asumir si se desea implementar un sistema que utilice AFIS. Una razón adicional para la elección del sistema basado en Finger Scan es su facilidad para incorporarse en las estaciones y equipos de trabajo de las oficinas, permitiendo un menor impacto en la vida laboral de las personas al introducir el sistema de autenticación en las empresas. La otra tecnología biométrica escogida es el iris. Esta tecnología promete convertirse en una de las biometrías más exitosas en los próximos años. Su alto grado de exactitud en la toma de los patrones, su unicidad en cada ojo, y su facilidad y comodidad de captura son algunos de los motivos que hacen que esta tecnología tenga proyecciones prometedoras como mecanismo de autenticación. Además sus características le permiten ser más versátil y robusta que otros métodos biométricos al poder ser utilizada tanto para validación como para identificación de las personas.. 2.2. Descripción de la tecnología de huella digital La huella digital es usada como mecanismo de autenticación e identificación por diferentes motivos inherentes a las características a las huellas digitales [8]: 1. Los patrones de arrugas y detalles en áreas pequeñas, presentes en la superficie de fricción de la piel son únicas, y nunca se repiten entre diferentes personas. 2. Las arrugas de fricción son desarrolladas en el feto, y toman su forma definitiva antes de nacer. 3. Las arrugas son permanentes a través de toda la vida, excepto por cicatrices permanentes. 4. Los patrones de arrugas en la piel varían dentro de algunos límites, lo que permite realizar una clasificación.. 2. 3. Los sistemas que realizan validación de usuarios hacen una comparación 1:1 del dato biométrico del usuario, verificando la validez de la identificación que el usuario dice tener. En estos sistemas el usuario da su identificación con anticipación y el sistema verifica que la persona sea quien dice ser. Los sistemas que realizan identificación de usuarios hacen una comparación de 1:N del dato biométrico del usuario buscando su identificación en la base de datos. Estos se basan en una tasa de error aceptada, para encontrar las medidas más cercanas a la tomada..
(17) ISC-2003-1-24. 14. Desde aproximadamente el año 1000 AC, los arqueólogos han encontrado evidencia de antiguas civilizaciones chinas y babilónicas que utilizaban la huella digital para firmar documentos legales [9]. La huella digital es el mecanismo de autenticación por biométricos más popular, más económico y el que mayor crecimiento proyecta para los próximos años. Su proyección de crecimiento se manifiesta por el creciente interés hacia los biométricos, siendo la huella digital la más popular entre las diferentes medidas. Con el incremento de la conciencia hacia la seguridad en los últimos tiempos, la investigación en tecnologías para la utilización eficiente de la huella digital ha aumentado considerablemente. Esto ha permitido el desarrollo de diferentes algoritmos para la comparación y manejo de la huella digital, así como desarrollo de nuevos materiales y dispositivos para la captura de las medidas. Esto permite la visión de un futuro desarrollo de productos de manera masiva, ayudando a disminuir los precios de la tecnología, abarcando cada vez a más sistemas y usuarios. El tamaño de los dispositivos actuales ha permitido que se integren con periféricos y se adapten más fácilmente al ambiente empresarial y de trabajo, evitando que se presente un impacto muy grande al introducir el nuevo sistema de autenticación. Además, hace que los computadores personales sirvan como herramienta dentro de la arquitectura de seguridad.. 2.2.1. Categorías de huellas digitales. Para el análisis de las huellas digitales, se ha logrado establecer categorías según el patrón y características de la huella. Las categorías han permitido facilitar y volver más eficientes las búsquedas en las bases de datos, limitando el rango de búsqueda una vez se logra clasificar.. Categorías de las huellas La clasificación de las huellas se basa principalmente en la forma de la huella, y en la ubicación de los puntos de minucia4 . Esta clasificación se hace con base en el sistema de Henry, que ya lleva varias décadas de vigencia. Las huellas se clasifican principalmente en 3 categorías de acuerdo a su forma, que luego son discriminadas según su sentido y ubicación dentro del dedo [10].. 4. Los puntos minucia, son puntos en los cuales los arcos de la huella se bifurcan, parten, nacen o cambian su trayectoria..
(18) ISC-2003-1-24. Arco. 15. Ciclo. Remolino. Para la comparación de las huellas se utilizan principalmente dos algoritmos: uno basado en la ubicación de las minucias, y otro basado en el cambio relativo de los diferentes puntos cuando se traslada y rota la imagen con respecto a la almacenada en la base de datos.. Actualmente, existen dos tecnologías principales para el manejo de la huella digital. Las dos tecnologías son importantes y difieren en su principal objetivo.. 2.2.2. Tecnología AFIS. Imagen de tomada de www.deakin.edu.au. La primera herramienta o sistema, y el más antiguo, es el AFIS (Automated Fingerprint Identification System). Este sistema es utilizado principalmente como mecanismo de identificación, más que de autenticación. La identificación realiza consultas de uno a muchos dentro de una base de datos para establecer la identidad de un sujeto dentro del sistema. Estos sistemas se utilizan principalmente para la búsqueda de criminales por los principales departamentos policiales y forenses del mundo. Las huellas que se extraen de las escenas del crimen son utilizadas para realizar la búsqueda del criminal, previamente almacenada en la base de datos..
(19) ISC-2003-1-24. 16. En la base de datos se almacena la imagen completa de las huellas digitales (generalmente de las diez) de las personas para poder establecer la identidad de una persona con cualquiera de las huellas. Estas imágenes requieren de aproximadamente 250kb de espacio para cada imagen de la huella, y es almacenada como imagen completa de bits de aproximadamente 500dpi. El sistema debe ser complementado por un experto en huellas digitales, ya que el sistema tiene la capacidad de establecer candidatos que cumplen con las características dadas y es el experto el encargado de establecer si existe dicho sujeto, o si los candidatos arrojados no corresponden con la identificación de la persona que se busca. Además el experto en huellas digitales debe determinar la validez de las huellas ingresadas en el sistema, él debe establecer si las huellas ingresadas al sistema para ser almacenadas son lo suficientemente claras y concisas, así como si la huella ingresada para la búsqueda cumple con algunos parámetros que le permita al sistema realizar su labor de manera eficaz [11]. Características [8] • Tiempo de respuesta: La búsqueda de los posibles candidatos puede tardar varias horas, ya que se realiza una búsqueda de uno a muchos en una base de datos, basándose en algoritmos de comparación. • Costo: Debido al poder computacional y dispositivos requeridos, el costo del sistema completo puede llegar a ser de varios miles de dólares. • Exactitud: El sistema detecta los principales candidatos, basado en una previa categorización y clasificación de las huellas por patrones previamente establecidos. Para la identificación completa, el sistema debe ser complementado por un experto en huellas digitales que determine la validez e identidad definitivas. • Escalabilidad: Estos sistemas fueron construidos para ser escalables a varios miles, e incluso millones de usuarios en la base de datos, realizando consultas de 1:N. • Captura: Estos sistemas utilizan la imagen completa de la huella digital, se toma la imagen de uña a uña. • Almacenamiento: Se almacena la imagen completa, para que una vez se establezcan los candidatos, un experto tome la decisión y realice la comparación en mayor detalle. El tamaño de la imagen requerido es 250kb en mapa de bits de 500dpi. • Infraestructura: Estos sistemas generalmente requieren de sistemas de almacenamiento, digitalización de imagen, procesamiento y seguridad de alto desempeño, que pueden llegar a ser bastante costosos. Uso y aplicación: • Identificación de sospechosos en escenas de crimen o para identificar crímenes recurrentes en comisarías y estaciones policiales. • Identificación de verdadera identidad de los sujetos • Identificación de personas con características determinadas, como enfermedades contagiosas o alguna otra característica que se desea detectar..
(20) ISC-2003-1-24. •. 17. Identificación de la identidad de personas que no son capaces de identificarse por sí mismas (ej. pacientes con Alzheimer).. 2.2.3. Tecnología Finger Scan. Esta tecnología ya es líder en el mercado de biométricos, y se proyecta como líder hasta el 2005. Gracias al la variedad de ambientes en los cuales la el mecanismo puede ser implementado y utilizado, y gracias a que compañías fuertes e importantes están destinando recursos significativos al desarrollo de ésta tecnología, se proyecta que los ingresos de ésta industria crezcan de US$57.2 millones en el 2000 a US$453 millones en el 2005 en Estados Unidos [8]. Este mecanismo se basa en la extracción de información relevante para la validación o verificación de usuarios de la huella digital, para la construcción de una plantilla que será utilizada posteriormente para comparar las huellas ingresadas. Una vez que una imagen de alta calidad se captura, hay varios pasos requeridos para convertir sus características distintivas en una plantilla compacta. Cada una de las principales empresas que producen dispositivos de este tipo, desarrollan mecanismos propietarios para la extracción de características utilizando diferentes algoritmos. Una vez que se captura una imagen de la calidad, debe ser convertida a un formato usable. Para esto se utiliza un mecanismo a través del cual se reduce el ancho de los arcos de manera significativa, dejando sólo aquella información relevante a las terminaciones y bifurcaciones de los arcos en la huella. A partir de ésta imagen se procede a la detección de las los puntos de minucia. A continuación se procede a la aplicación de diferentes algoritmos de mejoramiento y filtración de la imagen, para eliminar todos aquellos puntos incoherentes que pudieron haber surgido por errores en la toma de la huella, como mugre, defectos en la superficie,.
(21) ISC-2003-1-24. 18. sudor, etc. En este proceso se elimina un gran porcentaje de puntos de minucia que no tienen sentido. Una vez se establecen los puntos relevantes para la plantilla, se ubican éstos en un sistema coordenado al que generalmente se le asigna el punto (0,0) en el centro de la huella. Además de la ubicación de los puntos dentro del eje coordenado, se utiliza el ángulo con respecto al origen, este ángulo se mide a partir de una línea paralela al eje x, siguiendo la curvatura de los arcos.. Generalmente se toman entre 30 y 40 puntos de minucia relevantes en la huella, para construir la plantilla que se almacena en la base de datos.. Imagen tomada www.stanford.edu [6]. El algoritmo utilizado por los diferentes fabricantes, es entonces utilizado para verificar las imágenes tomadas por el dispositivo y comparar la imagen con la plantilla almacenada en la base de datos. El sistema entonces, da un veredicto afirmativo o negativo acerca de la validez de la identificación ingresada [13].. Características [8] • Tiempo de respuesta: El tiempo de respuesta es relativamente corto (1-3 segundos), esto se logra gracias que las búsquedas se hacen 1:1, para validación únicamente. El tiempo de respuesta se limita en algunos casos por la claridad de la huella ingresada. • Costo: Gracias a la reciente masificación de la tecnología, y a los avances en la producción de dispositivos, ahora se consiguen dispositivos desde US$100 en adelante, hasta incluir dispositivos muy completos. • Exactitud: El sistema, al ser un mecanismo de validación, está diseñado para dar respuestas afirmativas o negativas de la validez de la identificación proporcionada. Los errores para rechazo falso son menores al 1%, y los errores ocasionados por la falsa aceptación son menores al 0.01%. • Escalabilidad: Estos sistemas son casi invariablemente 1:1, y gracias a la utilización de patrones para el reconocimiento hace que se dificulte una posible aplicación en un sistema de identificación que necesite consultas 1:N. • Captura: Se utiliza únicamente la parte central de la huella, a la cual se le extrae la información relevante para la construcción de la plantilla..
(22) ISC-2003-1-24. • •. 19. Almacenamiento: Se almacena la plantilla con la información relevante a los puntos minucia y algunos otros datos relevantes, lo cual requiere de 250-1000 bytes únicamente. Infraestructura: E poder computacional para la aplicación que realiza la verificación es relativamente bajo, y depende más del tamaño de la base de datos almacenado, pero para una base de datos mediana se puede correr sobre un computador personal.. Uso y aplicación: • • • • •. Validación de ingreso a zonas de un cierto nivel de seguridad. Validación de usuarios para el ingreso al sistema corporativo de una empresa. Validación para el control de acceso a diferentes recursos dentro de una organización. Validación de la identificación de la persona en aeropuertos, aduanas, controles de inmigración y otros lugares donde se requiera validar la identificación de las personas. Integración con periféricos del escritorio, que permiten reemplazar de manera natural las contraseñas, donde éstas son empleadas.. Tipos de dipositivos utilizados -. -. -. Ópticos: Es la tecnología más antigua y de mayor uso. La mayoría de las compañías actualmente trabajan con dispositivos ópticos. Estos dispositivos funcionan con una pantalla de CCD (Charged Coupled Device), la cual convierte las arrugas de la huella en una imagen digital. Esta es la más popular, y posee ciertas ventajas sobre resistencia al cambio de temperatura y calidad de la imagen. Tecnología de silicio: La mayoría de éstos dispositivos se basan en la capacitancia DC. El sensor de silicio actúa como un plato del condensador y el dedo, como el otro. La diferencia de capacitancia entre los dos es posteriormente convertida a una imagen. Esta tecnología produce imágenes de mejor calidad, con menor área de placa que los ópticos. Tecnología ultrasonido: A pesar de ser considerada la más exacta, es poco utilizada. Transmite ondas acústicas y mide la impedancia del dedo, la placa de contacto y el aire. Esta tecnología permite tomar imágenes aceptables a pesar de mugre, sudor y otros factores que pueden limitar la toma de imágenes en los sensores ópticos..
(23) ISC-2003-1-24. 20. 2.3. Iris. La idea de usar patrones de las características del iris para la identificación fue propuesta originalmente en 1936 por el oftalmólogo Frank Burch. Por los años 80, la idea había aparecido en las películas de James, pero todavía seguía siendo ciencia ficción. En 1987 dos otros oftalmólogos, Aran Safir y Leonard Flom, patentaron la idea, y en 1989 pidieron a John Daugman (que en ese entonces enseñaba en la universidad de Harvard) que intentara crear los algoritmos reales para el reconocimiento del iris. Estos algoritmos, que Daugman patentó en 1994 son propiedad de Iridian Technologies, son la base para todos los sistemas actuales del reconocimiento del iris [16]. La tecnología que utiliza el patrón de la forma del iris como medida para establecer identificación y verificación de usuarios es de las tecnologías más certeras en cuanto a la cantidad de errores a los que se induce cuando se utiliza. El iris representa una medida única entre las personas, el patrón del iris del ojo inclusive es diferente en cada ojo de la misma persona. La utilización de ésta tecnología permite establecer identificaciones de manera única de una forma asombrosa, se podría potencialmente almacenar a toda la población del planeta, y aún así la tasa de falsas aceptaciones y falsos rechazos es mínima, al compararse con las demás medidas biométricas. La medida representa tal exactitud y unicidad, que es posible utilizar esta tecnología para realizar la identificación de personas, además de la verificación. El reconocimiento del iris está basado en las cualidades visibles del iris. Una característica visible principal, es el estroma conjuntivo (formado a partir del octavo mes de gestación), éste tejido da la apariencia de dividir el iris radialmente desde el centro de la pupila. Otras características importantes en el reconocimiento del patrón de la forma del iris son anillos, surcos, pecas y la corona, entre las características más familiares del ojo.. 2.3.1. Cómo funciona.
(24) ISC-2003-1-24. 21. Imagen tomada de International Biometric Group. La tecnología de reconocimiento del iris convierte estas características visibles en un formato de 512 bytes llamado IrisCode™, el cual representa una plantilla que se almacena para futuras comparaciones. El iris se dice que tiene 266 puntos únicos, en contraste con los 13 a 60 puntos únicos de otras medidas biométricas tradicionales. Estos 266 puntos se obtienen a partir de aplicar las funciones correlativas del algoritmo de reconocimiento a la imagen tomada del iris de una persona, y tomando las características inherentes a la mayoría de ojos humanos. El proceso consiste primero en la localización del ojo por una cámara a no más de un metro de distancia. Después de localizado el ojo, el algoritmo disminuye el rango de búsqueda ubicando los extremos derecho e izquierdo externos de la pupila. Esta aproximación horizontal, busca tener en cuenta la obstrucción acusada por los párpados. Simultáneamente se ubican los bordes internos del iris ubicados en la pupila. La cámara utiliza luz visible así como infrarroja para la extracción de la imagen. A continuación se procede a emplear operaciones de demodulación matemática empleando las Ondas en 2D de Gabor para filtrar y trazar los segmentos del iris en pequeños vectores (fasores). El algoritmo procede a la asignación de valores a las longitudes de onda extraídas de la orientación y frecuencia espacial de fragmentos de área del iris seleccionados, así como la posición de éstas áreas. En el análisis del iris, se descartan partes superiores e inferiores, ya que pueden ser afectados por los párpados y reflejos de luz. Con ésta información se procede a construir la plantilla que será almacenada, y utilizada posteriormente en comparaciones de la representación hexadecimal de la plantilla construida [18]..
(25) ISC-2003-1-24. 22. Imagen tomada de International Biometric Group [16]. Características [16] • Tiempo de respuesta: El proceso completo es muy rápido, el iris es normalmente ubicado y la plantilla generada en menos de un cuarto de segundo. Las búsquedas en la base de datos a su vez son muy veloces, analizando cientos de miles de registros por segundo en sistemas de bases de datos completos. • Costo: Los costos de los dispositivos y sistemas necesarios han venido disminuyendo con el avance en la tecnología de cámaras y dispositivos ópticos. En el momento se pueden conseguir dispositivos de hasta cerca de 500 dólares para arriba. • Exactitud: Es uno de los biométricos más certeros y exactos. La rata de falsos rechazos es prácticamente igual a la tasa de falsas aceptaciones, siendo una tasa impresionante de 1 en 1.2 millones. La probabilidad de que dos irises diferentes produzcan la misma plantilla es de 1 en 1052 . • Escalabilidad: Estos sistemas fueron construidos para ser escalables a millones de usuarios en la base de datos, permitiendo una tasa de error mínima. El sistema permite que se realicen consultas de verificación 1:1 o de identificación 1:N, de una manera muy eficiente y eficaz. • Captura: Se construye y almacena una plantilla a partir de la imagen del iris del ojo, la tecnología utilizada es tan potente, que permite que se obtengan identificaciones con un error menor a 1 en 100.000 con tan sólo un tercio de la imagen del ojo capturada de manera exitosa y clara. • Almacenamiento: Se almacena la plantilla IrisCode™, de los diferentes datos únicos del iris a cada ojo. Cada plantilla, incluye las características de los 266 puntos únicos a cada ojo almacenados en tan sólo 512 bytes. • Infraestructura: Estos sistemas generalmente requieren de sistemas de almacenamiento, captura de imagen y procesamiento. El acceso a la información (sistemas de almacenamiento secundario) y el desempeño del procesador, pueden generar un cuello de botella en sistemas con un alto número de personas registradas..
(26) ISC-2003-1-24. 23. Uso y aplicación: • • • • •. Sistema de autentificación, verificación en entidades financieras para establecer la identidad de los individuos en la realización de las diferentes transacciones. Identificación de individuos buscados o considerados peligrosos en los sitios de acceso fronterizo. Su implementación se puede hacer en aeropuertos, oficinas de inmigración, etc. Identificación de criminales recurrentes. Se puede utilizar como reemplazo o complemento a la existente huella digital, ya que permite una menor tasa de error. Identificación y verificación de acceso físico a áreas de seguridad restringida, en las cuales se desee proteger algún activo dentro de la compañía. Se puede utilizar en cualquier escenario en el cual los sistemas de autenticación de usuarios sean necesarios. Su efectividad y certeza hace que se convierta en uno de los mejores mecanismos de autenticación en el mercado actualmente.. Sensores. En sistemas para el reconocimiento del iris se utilizan cámaras de vídeo de tipo CCD en la mayoría de los sistemas.. El corazón de la cámara es un circuito integrado tipo CCD (Dispositivo de Carga Acoplada). Este dispositivo consiste de varios cientos de miles de elementos individuales (píxeles) localizados en la superficie de un diminuto CI. Cada píxel se ve estimulado con la luz que incide sobre él (la misma que pasa a través de los lentes y filtros de la camera), almacenando una pequeña carga de electricidad. Los píxeles se encuentran dispuestos en forma de malla con registros de transferencia horizontales y verticales que transportan las señales a los circuitos de procesamiento de la cámara (convertidor analógico-digital y circuitos adicionales). Esta transferencia de señales ocurre 6 veces por segundo [19]..
(27) ISC-2003-1-24. 24. 2.4. Comparación entre las dos tecnologías a utilizar en el proyecto. Cuadro comparativo de las dos tecnologías extraído de International Biometric Group Technology. Fingerscan. Iris-scan. Negative Privacy Aspects. Positive Privacy Aspects. BioPrivacy Technology Risk Ratings. · Can provide different fingers for different systems · Large variety of vendors with different templates and algorithms. · Storage of images in public sector applications · Use in forensic applications · Strong identification capabilities. Verification/ identification: H Overt/covert: M Behavioral/physiological: H Give/grab: M Risk Rating: H. · Current technology requires high degree of user cooperation - difficult to acquire image without consent · Iris images not used in forensic applications. · Very strong identification capabilities · Development of technology may lead to covert acquisition capability · Most iris templates can be compared against each other - no vendor heterogeneity. Verification/ identification: H Overt/covert: L Behavioral/physiological: H Give/grab: M Risk Rating: H. c) Copyright 2002 International Biometric Group. Cuadro comparativo realizado por ADMS (Advanced Digital Microsystems) [23] Ease of Characteristic use. Error incidence. Accuracy. User acceptance. Required security level. Long-term stability. Fingerprints. High. Dryness, dirt, age. High. Medium. High. High. Iris. Medium. Poor Lighting. Very High. Medium. Very High. High. Cuadro de exactitud inherente a los sistemas de autenticación realizado por ADMS [23] Biometric. Crossover Accuracy. Iris Scan. 1:131,000. Fingerprints. 1:500.
(28) ISC-2003-1-24. 25. Zephyr Analysis de International Biometric Group [24].
(29) ISC-2003-1-24. 3.. 26. HERRAMIENTAS DE PROGRAMACIÓN ADICIONALES. Para el desarrollo y programación del presente proyecto se hizo necesario utilizar algunas herramientas de programación adicionales a las de los lenguajes de programación que se utilizarán. Dos de las herramientas que presentan gran importancia en el proyecto, y de las cuales fue necesario estudiar para ser utilizadas en el desarrollo de la solución fueron el BioApi (Interfaz de programación para biométricos) y JNI (Interfaz para incorporar funciones desarrolladas en lenguajes diferentes a Java).. 3.1. BIOAPI [25]. “La especificación de BioAPI representa un paso importante en la industria de la biométrica, pues define un API abierto estándar que permite a las aplicaciones comunicarse con una amplia gama de tecnologías biométricas de una manera común.”5 El consorcio de BioAPI fue formado para desarrollar un API extensamente disponible y aceptado, que servirá para las diferentes tecnologías biométricas. El BioAPI está desarrollado con la intención de proveer un modelo de autenticación genérico de alto nivel e independiente de la tecnología biométrica utilizada. En él se cubren las funciones básicas de inscripción, verificación e identificación, e incluye adicionalmente una interfaz con la base de datos que permite a un proveedor de servicios biométricos (BSP) manejar la población para la identificación de manera óptima. También provee funciones que le permiten a la aplicación manejar la captura de las muestras a un cliente, así como la inscripción, verificación e identificación en el servidor. El BioAPI está diseñado para uso de los desarrolladores de aplicación, así como para desarrolladores o constructores de la tecnología biométrica. Para permitir la integración de la tecnología lo más simple y directa posible (así mejorando su viabilidad comercial), la aproximación tomada por esta interfaz es esconder o encapsular al máximo las complejidades de la tecnología biométrica. Ésta aproximación también sirve para extender 5. Palabras de Richard E. Norton, Executive Director of the International Biometric Industry Association (IBIA) en un comunicado de prensa. http://www.bioapi.org/BioAPI_news_press_files/press_files/PR01001.htm.
(30) ISC-2003-1-24. 27. la generalidad de la interfaz, y poder abarcar un mayor número de potenciales tecnologías biométricas y aplicaciones. Existen tres principales funciones abstraídas en el API: 1. Inscripción: Se capturan muestras a través de un dispositivo, se construyen plantillas para la futura comparación y posteriormente son retornadas a la aplicación. 2. Verificación: Una o más muestras son capturadas, procesadas en datos utilizables que sirvan para realizar comparaciones y luego comparadas contra alguna plantilla previamente construida. 3. Identificación: Una o más muestras son capturadas, procesadas en datos que puedan ser utilizados en comparaciones y posteriormente comparados contra un conjunto de plantillas. Se retorna un listado con los candidatos, mostrando qué tan cerca estuvieron los candidatos de la muestra tomada. Adicionalmente el BioApi ofrece funciones para manejar la captura de las muestras en el cliente, distribuciones de las funciones básicas de inscripción, verificación e identificación entre el cliente y el servidor. Se soporta también el manejo de payload, información almacenada junto con el dato biométrico para ser revelada en el momento en que se haga una validación certera o una identificación de un usuario. Junto con esto el BioApi brinda la interfaz para que la aplicación pueda comunicarse con el servidor de servicios biométricos (BSP) y pueda ofrecer una interfaz con el usuario diferente a la que éste presenta. Si el BSP soporta administración y manejo de una base de datos interna, la interfaz (BioApi) ofrece funciones para comunicarse con ésta y para realizar las operaciones de gestión de dicha base de datos desde la aplicación. Se ofrece el llamado a funciones tales como crear base de datos, borrar base de datos, ingresar nuevo registro, etc. Algunos BSP ofrecen su propia base de datos principalmente por dos razones: optimizar el manejo de la información biométrica en bases de datos extensas y hacer un almacenamiento local en dispositivos que lo soporten..
(31) ISC-2003-1-24. 28. Posibles estrategias de implementación tomadas del documento BioAPI 1.1. El intercambio de información biométrica se realiza a través de un formato de información biométrica llamado en BIR (Biometric Identification Record), éste sigue las especificaciones descritas en el CBEFF (Common Biometric Exchange File Format) desarrollado por el CBEFF Technical Development Team.6 Este formato de información biométrica es usado en la construcción de las plantillas para almacenamiento en la base de datos, y en el procesamiento de las muestras capturadas en vivo para comparación.. Estructura del BIR descrita en el documento de referencia de BioApi 1.1. Implementación del BioAPI permitirá: • Rápido desarrollo de aplicaciones que utilicen biométricos • Depuración flexible de biométricos a través de diferentes plataformas.. 6. Mayor información del CBEFF se puede encontrar en la publicación NISTIR 6529 de Enero 3 de 2001 del National Institute of Standards..
(32) ISC-2003-1-24. • • • • • •. 29. Habilidad mejorada para explotar las mejoras en precio y desempeño en los biométricos. Puesta en práctica mejorada de alternativas utilizando múltiples tecnologías biométricas. Desarrollo de interfaces simples en las aplicaciones. Acceso modular estándar a las funciones biométricas, algoritmos y dispositivos. Métodos estándar para diferenciar datos biométricos y tipos de dispositivos. Soporte para identificación biométrica en sistemas distribuidos.. Esto agregará valor a: • Los administradores de seguridad de información y recursos. • Integradores de sistema y revendedores de soluciones de seguridad. • Desarrolladores de aplicaciones • Usuarios finales de tecnología biométrica. Actualmente el bioApi se encuentra en la versión 1.1 de su especificación, y junto a ella desarrolló la primera versión de su implementación, desarrollada en C para Win32. En la implementación se incluye un ejemplo de aplicación utilizando la especificación y librerías proporcionadas en el mismo paquete, también programas de muestra de un Bsp, y algunos otros programas de muestra. Parte de la importancia en la utilización ésta interfaz para el desarrollo de aplicaciones biométricas se debe a que en 2002, BioApi ver1.1 fue aprobada por el ANSI y publicado como estándar nacional americano con el número ANSI/INCITS 358-2002. Adicionalmente en la reunión de diciembre del mismo año del ISO/IEC JTC1 SC37, el subcomité de la ISO para biométricos, los miembros de EU. del comité lo propusieron como estándar ISO [26]. Sin embargo, la implementación del BioApi 1.1 es la primera implementación disponible públicamente para el desarrollo de aplicaciones biométricas, razón por la cual la información para el desarrollo de aplicaciones basándose en esta interfaz es todavía escasa. Los que mayores avances y productos han sacado son los fabricantes de dispositivos biométricos y los proveedores de soluciones de seguridad basados en biométricos, y el código y documentación que ellos están dispuestos a contribuir para el desarrollo libre es casi nulo.. 3.2. JNI (Java Native Interface). Java Native Interface es una interface de programación estándar para escribir métodos nativos Java y embeber la Java Virtual Machine en aplicaciones nativas. JNI es una interfaz de programación nativa, ella permite que código que se ejecute dentro de una máquina.
(33) ISC-2003-1-24. 30. virtual java (JVM) interaccione con aplicaciones y librerías hechas en lenguajes de programación diferentes a Java, por ejemplo C, C++ y lenguaje Ensamblador. Uno de los más importantes beneficios de ésta interfaz es que no impone restricciones a la implementación de la JVM sobre la cual se ejecutan las aplicaciones. Anteriormente se habían presentado interfaces desarrolladas por los mismos proveedores de las máquinas virtuales, como por ejemplo: JRI (Java Runtime Interfaces) interfaz de Netscape y RNI (Raw Native Interfaces), uno de los métodos de bajo nivel de Microsoft 7 . JNI ofrece una interfaz común para facilidad de mantenimiento y desarrollo por parte de los programadores, los cuales no tienen que cambiar la implementación y compilación de sus métodos nativos dependiendo de la máquina virtual sobre la cual se va a ejecutar, perdiendo la interoperabilidad de Java. La utilización de métodos nativos (desarrollados en lenguajes diferentes a Java) es necesaria en varias situaciones. Algunas de ellas son [27]: •. • •. Cuando queramos utilizar una característica dependiente de la plataforma en donde vayamos a ejecutar nuestra aplicación como puede ser una tarjeta de recogida de datos. Cuando tengamos que trabajar con librerías escritas en otro lenguajes y son imprescindibles para nuestra aplicación, y resulta más difícil pasar la librería a Java. Métodos críticos en ejecución, que queramos que se ejecuten de manera más eficiente en un lenguaje de programación nativo como c o ensamblador. Esto con los nuevos avances en tecnología Java cada vez será menos preciso utilizar métodos nativos para lograr velocidad, con la perdida de portabilidad que esto supone.. Al utilizar JNI se pueden programar métodos nativos que sean capaces de crear, consultar y actualizar objetos Java, hacer llamados a métodos de Java, coger y arrojar excepciones, cargar clases y obtener información de ellas, y realizar revisiones de tipos. Esto es, se puede hacer casi todo lo que se hace en código Java desde código nativo. Sin embargo, existen algunas desventajas al utilizar la interfaz de programación JNI frente al desarrollo de la aplicación enteramente en Java. Algunas de las ventajas más sobresalientes en la utilización de ésta interfaz son [28]: - Perdida de interoperabilidad La facilidad que provee Java de generar un único código que sea transportable a múltiples plataformas se pierde cuando se utiliza este modelo, ya que las funciones implementadas en código nativo por las librerías que llama la aplicación Java son dependientes de la plataforma para la cual se desarrolle.. 7. JNI ha sido un punto de discusión entre Sun y Microsoft, ya que Microsoft busca crear su propia interfaz para código nativo y Sun alega que esto violaría su acuerdo de licencias..
(34) ISC-2003-1-24. 31. - Dificultad en la depuración La depuración de errores se dificulta, ya que las herramientas de programación ofrecen herramientas para la depuración de aplicaciones escritas en solo un lenguaje. Si se presentan errores en la comunicación, en el llamado a librerías adicionales requeridas o en el proceso de link, las herramientas de programación no ofrecen mayor descripción del problema. La depuración y corrección de este tipo de errores requiere de mayor experiencia y conocimiento. - Riesgos potenciales en la seguridad de la aplicación Al realizar llamados a métodos nativos desde Java, se pierden las restricciones de acceso a memoria y seguridad que Java proporciona para desarrollar aplicaciones más seguras. Utilizando métodos nativos, la seguridad de la aplicación es responsabilidad del programador. - Dificultad en programación y desarrollo La programación de aplicaciones utilizando dos lenguajes de programación diferentes y comunicación mediante JNI, requiere que el programador tenga más pericia y conocimientos que en una aplicación desarrollada completamente en Java. La programación de aplicaciones utilizando este modelo, además de requerir mayor conocimiento, implica mayor dificultad y complejidad en el código. Al diseñar una aplicación utilizando este modelo, hay que analizar posibles alternativas y considerar la viabilidad y conveniencia de utilizar JNI en el desarrollo de la solución. Para el presente proyecto, se consideró que JNI ofrecía la solución más apropiada para la utilización de la implementación de BioApi hecha en C..
(35) ISC-2003-1-24. 32. 4. ALMACENAMIENTO DE LA INFORMACIÓN EN LDAP. Para el almacenamiento de los datos correspondientes a las diferentes medidas biométricas, se consideró la utilización de un servicio de directorios. El servicio de directorios presenta facilidades de búsqueda y agrupación de información y está diseñado para agilizar las consultas sobre los datos. Adicionalmente posee una estructura que facilita el almacenamiento de la información de los individuos que pertenecen a una compañía. La utilización de un sistema de directorios para el almacenamiento de la información presenta una solución satisfactoria para la construcción del repositorio de la información en este proyecto. La naturaleza estática de la información que se almacenará en el repositorio, la necesidad de optimizar las consultas realizadas y la estructura de la información misma, en la cual se desea agrupar la información de las diferentes medidas biométricas de una misma persona en una misma entrada de la base de datos, hacen que el servicio de directorios sea un sistema apropiado para almacenar la información de los diferentes mecanismos biométricos. LDAP ofrece adicionalmente mayor simplicidad que los servidores de directorios basados exclusivamente en el estándar X.500 y ofrece un protocolo más eficiente para el manejo de los datos a través de la red.. 4.1. Introducción a LDAP (Lightweight Directory Access Protocol). LDAP es una tecnología de crecimiento acelerado, que sirve para acceso a información de directorios común. Se está generando como un estándar abierto, independiente del proveedor, que proporciona una arquitectura extensible para un almacenamiento y administración de la información de manera central. LDAP define un método estándar para tener acceso y actualizar la información en un directorio. LDAP está ganando aceptación como el método de acceso a directorios en Internet. Está siendo apoyado por un número significativo de los vendedores de software e incorporado en un número creciente de aplicaciones..
(36) ISC-2003-1-24. 33. 4.2. Diferencias entre directorio y base de datos relacional [33]. Un directorio es una especie de base de datos especializada o repositorio, en la cual se almacena información ordenada de alguna manera acerca de objetos. Existen algunas características que separan a un directorio de una base de datos relacional. Una característica principal es que los directorios son accedidos con una frecuencia mucho mayor de que la frecuencia a la cual se actualiza la información. Gracias a que los directorios están diseñados para soportar grandes volúmenes de lecturas o accesos a la información, generalmente están optimizados para realizar consultas eficientes. Por lo que los directorios están diseñados para almacenar información relativamente estática, y están optimizados para ello, no se recomienda almacenar en ellos información que cambie continuamente. Otra característica importante que diferencia a los directorios de las bases de datos relacionales de propósito general es, que los directorios no soportan el concepto de transaccionalidad (operaciones que se definen para que se ejecuten de manera atómica, todo o nada). La información almacenada en un directorio puede llegar a ser temporalmente inconsistente, ya que la información allí almacenada no es transaccional, y los cambios a ella son infrecuentes. El acceso a la información se diferencia al utilizado en las bases de datos convencionales, la mayoría de las base de datos soportan un método de acceso muy complejo y poderoso llamado SQL, en cambio LDAP utiliza un protocolo simplificado y optimizado del acceso que puede ser utilizado en aplicaciones livianas y relativamente simples. 4.3. Estructura de directorio en LDAP. La unidad básica de información almacenada en un directorio es una entrada. Las entradas representan objetos de interés, están compuestas de una colección de atributos que contienen información de un objeto. Cada atributo tiene un tipo y uno o más valores asociados. El tipo de atributo a su vez es asociado con una sintaxis, que especifica qué tipo de valores pueden ser almacenados. Adicionalmente a definir qué tipo de datos pueden ser almacenados en un atributo, la sintaxis también define el comportamiento de éstos valores en las diferentes consultas y operaciones sobre los directorios..
Documento similar
Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre
(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,
d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que
Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y
Proporcione esta nota de seguridad y las copias de la versión para pacientes junto con el documento Preguntas frecuentes sobre contraindicaciones y
[r]
Contraindicaciones: El uso de la mascarilla está contraindicado para los pacientes y los miembros de sus familias, profesionales sanitarios y compañeros de
Sólo que aquí, de una manera bien drástica, aunque a la vez coherente con lo más tuétano de sí mismo, la conversión de la poesía en objeto -reconocida ya sin telarañas