Sistemas Biométricos

Publicado en

Cada vez es más común solicitar información biométrica para realizar trámites. En este artículo explicaremos por qué nos solicitan nuestra biometría y cómo se utiliza dentro de los sistemas.

Definamos primero qué es una biometría: una biometría se define como una característica física o conductual intrínseca que permite la identidad única de un humano.  Ejemplos de una biometría son: las huellas dactilares, el iris, los rasgos faciales del rostro, la venas de las manos, la palma de la mano, la firma y la voz.

Veamos algunos casos reales de porqué se tienen que incluir las biometrías dentro de algunos trámites. Pongamos primero el ejemplo de la credencial de elector para votar en México. Anteriormente el Instituto confiaba plenamente en el ciudadano que decía la verdad al llevar sus documento probatorios para obtener su credencial para votar. Después de un tiempo, se empezó a ver que una misma persona obtenía varias credenciales utilizando documentos probatorios apócrifos que le permiten obtenerla derivado que no era posible validar los documentos con la institución que los emitió. Se pierde la confianza en el ciudadano y es necesario tener otro mecanismo en donde se pueda identificar que el ciudadano dice ser quien es.

Otro ejemplo es el sistema de pensiones mexicano que está estrenando sistema biométrico; hace tiempo algunos de los empleados de las AFOREs, quienes se encargan de atraer a los trabajadores para tener su ahorro hacia su AFORE, utilizaban la documentación del trabajador que le permitía cambiarlo de AFORE sin su consentimiento. La forma de resolver este problema es que si el trabajador va a realizar algún trámite como retiro de ahorros, lo haga de forma confiable utilizando sus biometrías para identificar que es la persona correcta y el empleado de la AFORE tendrá que identificarse con su biometría permitiendo realizar ese trámite para el trabajador.

¿Ahora bien, cómo se utilizan las biometrías dentro los sistemas? Comencemos por definir sistema de enrolamiento. Un sistema de enrolamiento es un sistema completo se que se encarga de capturar las biometrías, validarlas, transformarlas y guardarlas para verificaciones posteriores. Este sistema puede variar su arquitectura pero de forma general tiene los siguientes elementos:

  • Dispositivos de captura.

  • Formato de la biometría.

  • Sistema de captura.

  • Formato de envío.

  • Middleware.

  • Motor biométrico.

  • Sistema de adjudicación.

A continuación los describo.

Dispositivos de captura

Como su nombre lo indica, son aparatos electrónicos que pueden capturar alguna de las biometrías de una persona. Por ejemplo, la mayoría conocemos los escaners para huellas digitales. Existe una gran diversidad de dispositivos para atender distintas necesidades y presupuestos. Existen dispositivos para tomar iris, huellas, rasgos faciales y cada uno de ellos captura la biometría y la convierte en un determinado formato binario. Típicamente estos dispositivos exponen APIs que nos permite consumir la información capturada en nuestros sistemas.

Formato de la biometría

Como ya mencionamos, los dispositivo capturan la biometría y la convierten en un formato binario. Por ejemplo, el formato de las huellas más usado es el WSQ (Wavelet Scalar Quantization) que fue desarrollado por el FBI [1] y el NIST (National Institute of Standards and Technology).

Sistema de captura

Es una aplicación de software que permite a un operador registrar la información biométrica capturada. Este elemento es de los más importantes dentro del sistema de enrolamiento ya que en esta aplicación definimos reglas de validación que podemos aplicar a las biometrías. Esto es necesario porque si queremos que nuestro sistema sea confiable, entonces las biometrías registradas deben tener la calidad suficiente para poder distinguirlas de las de otra persona. La única oportunidad de tomarle las biometrías a una persona es cuando la tienes presente, entonces el operador debe aprovechar al máximo que tiene a la persona frente a él y con la ayuda del sistema de captura debe tratar de tomar lo mejor posible la biometría.

Como ejemplo de esto veamos el caso de la validación de las huellas dactilares, que es una de las biometrías más utilizadas al dia de hoy en diversos sistemas biométricos. Existen diversos modelos de captores de huella que pueden capturar desde una huella, dos huellas o hasta capturar 4 huellas de una sola toma. Todos estos dispositivos tienen la cualidad que están estandarizados con algo que se denomina FAP (Fingerprint Acquisition Profile), que son perfiles de adquisición de huellas. Estos perfiles, determinan diferentes características de la toma de la huella como son: resolución de la imagen, área de captura del dispositivo, el tipo de dispositivo, algoritmo de compresión, nivel de compresión, etc. La tabla 1 muestra valores para distintos niveles de FAP.


 

Característica

FAP 10

FAP 20

FAP 30

FAP 40

FAP 45

FAP 50

FAP 60

Resolución de la imagen

500 PPP

± 10 PPP (±2%)

500 PPP

± 10 PPP (±2%)

500 PPP

± 10 PPP (±2%)

500 PPP

± 10 PPP (±2%)

500 PPP

± 5 PPP (±1%)

500 PPP

± 5 PPP (±1%)

500 PPP

± 5 PPP (±1%)

Área mínima de captura (pulgadas)

0.5de anchopor 0.65dealto

0.6 de ancho por 0.8 de alto

0.8 de ancho por 1.0 de alto

1.6 de ancho por 1.5 de alto

1.6 de ancho por 1.5 de alto

3.2 de ancho por 2.0 de alto

3.2 de ancho por 3 de alto

Tipo de dispositivo (referencia)

Unidactilar

Unidactilar

Unidactilar

Bidactilar

Bidactilar

Bidactilar

Decadactilar

Decadactilar

Algoritmo de compresión

WSQ 2.0 o superior

WSQ 2.0 o superior

WSQ 2.0 o superior

WSQ 2.0 o superior

WSQ 2.0 o superior

WSQ 3.1 o superior

WSQ 3.1 o superior

Nivel de compresión

10:1

10:1

10:1

15:1

15:1

15:1

15:1

Certificación del dispositivo

PIV

PIV

PIV

PIV

Apéndice F

Apéndice F

Apéndice F

 

Si queremos que nuestro sistema de enrolamiento biométrico de huellas sea los mas fiable posible, la recomendación de la mayoría de los proveedores de motores biométricos, es que se utilice en dispositivos el estándar del apéndice F (el cual es el estándar  FBI IAFIS IQS CJIS-RS-0010: V7). Si checamos en la tabla los dispositivos con FAP 45 o superior son los que cumplen con este estándar. Como breviario cultural, el INE utiliza dispositivos decadactilares (4-4-2) que cumplen con este estándar y toman las diez huellas en 3 pasos tomando primero 4 huellas de la mano derecha, 4 dedos de la mano derecha y al ultimo los dos pulgares.

Entonces con el simple hecho de utilizar un dispositivo de buena calidad, ya podremos tener una buena toma de una huella, pero aun no es suficiente. Hay más parámetros que podemos mover en los dispositivos para que la huella contenga más elementos biométricos, tales como las minucias o la calidad de la huella (NFIQ) que nos permitan asegurar más la unicidad de las huellas. En este punto todo parece que con comprar buenos dispositivos ya todo nuestro sistema de enrolamiento va a funcionar, ¡qué gran error!. Por ahi supe de un proyecto de renombre que tenían super captores de biometrías, pero no tenían la idea de como hacer un sistema de enrolamiento biométrico.

En este orden de ideas, el sistema de captura es el encargado de interactuar con los dispositivos modificando los diversos parámetros para obtener la mejor toma posible de la biometría. Estos sistemas de captura pueden ser desde aplicaciones de escritorio, hasta aplicaciones móviles.

Para finalizar el sistema de captura, hay una recomendación más que es muy, pero muy importante. Puedes tener un buen dispositivo y un buen software de captura, pero nada eso funciona sin la capacitación del operador. Es importante capacitar al operador con las mejores prácticas para que aprenda a tomar las biometrías, ya que en ocasiones las personas a las que se les tomará la biometría no saben como poner, por ejemplo, los dedos en un captor de huella. Una mala toma de la biometría produce que se tenga que hacer regresar a la persona y eso en ocasiones es muy costoso.

Formato de envío

Cuando se captura la biometría, los datos biográficos y de negocio en un sistema de enrolamiento es muy común que se tengan que enviar a algún sistema remoto para su procesamiento. Esto es, porque el verdadero procesamiento de la biometría se encuentra en un lugar central o distribuido; dependiendo la arquitectura derivada que se tiene que validar / cotejar con las millones de biometrías que se tienen capturadas de las demás personas. Para el envío de los datos, es necesario tener un formato que nos permita enviar las biometrías con sus datos intrínsecos y además los datos de negocio. Si el requerimiento de nuestro sistema biométrico no necesita la capacidad de comunicarse con algún otro sistema biométrico, nosotros bien podemos crear nuestro propio formato de envío que puede ir desde XML a JSON. Pero en el caso que tengamos que seguir los estándares de los sistemas biométricos o queramos interactuar con otros sistemas, es necesario ajustarse al formato ANSI/NIST-ITL 1-2011: Update 2015 que está regido por el NIST. Este formato es en realidad un XML que tiene todo el soporte para el envío de cualquier biometría con sus datos intrínsecos y es lo suficientemente flexible para que podamos enviar información propia de negocio.

Middleware

Este elemento es en realidad un sistema que se encarga de procesar las peticiones de enrolamiento que envía el sistema de captura; sus tareas son almacenar la información, validar las reglas de negocio y llevar la auditoría de todo lo que pasa con la petición de enrolamiento para determinar si este último procede o no y enviar la respuesta a quien corresponda. Este sistema interactúa de forma directa con el motor biométrico de tal forma que, lo que determine el motor biométrico determinará si procede o no el enrolamiento.

Motor biométrico

Este elemento es la piedra angular de nuestro sistema de enrolamiento y es un sistema que se encarga de validar y convertir las biometrías para poder procesarlas y poder realizar operaciones sobre ellas. Si nuestro requerimiento es que debemos tener personas no repetidas, y las biometrías serán nuestro elemento para identificarlas, entonces están de acuerdo en que tenemos que tener una base de datos con la cual podamos comparar cuando llegue una biometría nueva para que no se inserte una repetida o evitar que alguien haga fraude.  

Existen diversos proveedores de motores biométricos, los cuales tienen sus algoritmos secretos para tratar alguna de las biometrías y darnos la seguridad que el resultado de la búsqueda sea lo más certero y que nuestra base de biometrías esté libre de duplicados. Entre las empresas líderes en este segmento están NEC, 3M, Morpho y Neurotechnology.

Cada una tiene ventajas y desventajas con respecto al software que utiliza y la infraestructura que requiere pero al final digamos que hacen lo mismo; aquí mucho depende de la inversión que se quiera hacer y los requerimientos, ya que no son nada baratos y el precio depende mucho de qué tan rápido se requiere que responda y la cantidad de biometrías sobre las cuales tiene que trabajar.

El INE tiene aproximadamente unas 80 millones de personas con sus huellas (10 huellas) y su captura facial. Anteriormente era una de las bases biométricas más grandes del mundo, aunque ahora India nos ha superado.

Estos motores biométricos están basados fuertemente en infraestructura ya que, por ejemplo para hacer una comparación con 50 millones de huellas se requieren unos 30 servidores con cientos de GB de memoria RAM para que la búsqueda responda en menos de 3 minutos. Por su parte, 3M tiene una propuesta interesante en donde reduce dramáticamente el número de servidores con unas tarjetas especiales que tienen el propósito de realizar las comparaciones en un solo servidor.

Estos motores a grandes rasgos lo que hacen es convertir la biometría en un formato propietario (algo que le denominan template) el cual construyen a partir de las características intrínsecas de la biometría, por ejemplo, en el caso de las huellas se toman las minucias como base, suben a memoria los templates distribuidos en los diferentes servidores y con un software realizan las comparaciones de forma paralela en todos los servidores. Es importante mencionar que las comparaciones se basan mucho en estadística de qué tanto se parecen las biometrías y existen parámetros que se pueden calibrar para tener un equilibrio entre lo que se rechaza y lo que se acepta.

Los dos parámetros más importantes son el FAR (False Acceptance Rate) y el FRR (False Rejection Rate). El FAR mide la posibilidad de que el sistema acepte por error un acceso por un usuario no autorizado. En contraparte, el FRR mide la posibilidad de que un sistema rechace por error un acceso por un usuario autorizado.

Estos dos parámetros definen el umbral con el cual se rechazará o aceptará la biometría dependiendo de la similitud. Calibrar estos parámetros es una de las actividades más importantes y complicadas al implementar sistemas biométricos. Debe haber un equilibrio entre ambas ya que si le das más peso a una podrías estar rechazando los enrolamientos, derivado a que es muy alto el valor de precisión o en su defecto podrías estar aceptando enrolamientos duplicados (ver figura 1).

Figura 1

Figura 1. Equilibrio de falsas aceptaciones y rechazos

Afortunadamente para nosotros, los proveedores de los servicios nos proponen los valores para estos parámetros, pero obviamente son referencia ya que esos valores son tomados de proyectos en los que han participado y no necesariamente son proyectos nacionales, entonces al final siempre tenemos que tropicalizarlos y hacerles el ajuste (tuning) correspondientes. Este ajuste es muy difícil de hacer cuando vas a empezar a enrolar desde cero y no tienes huellas con que probar, ya que para eso requieres un universo de huellas considerable (100,000 aproximadamente) que te permita probar y determinar una tasa baja de rechazos. Es uno de los problemas con los que te encuentras porque, ¿de donde sacas 100,000 huellas para probar?. Existen bases de datos de huellas públicas pero solo son 5,000 entonces solo puede probar con ese universo.

Estos motores biométricos por lo general exponen servicios que son independientes de la tecnología y la infraestructura para poder integrarlos con el middleware. Se pueden integrar a través de web services de tipo SOAP y REST o alguna API propietario en algún lenguaje específico.

Ahora bien, para poder enrolar a una persona con sus biometrías es necesario que le asignemos un identificador de negocio que nos permita saber desde nuestro ámbito de negocio a quién pertenecen esas biometrías. Una vez definido este identificador podemos pasar a explicar los servicios que exponen los motores biométricos.  Cada proveedor varía el conjunto de servicios que expone, pero estos son los más comunes:

  • Servicio de enrolamiento. Se encarga de insertar las biometrías en la base de datos. Primero hace una búsqueda sobre todas las biometrías existentes, si no hay coincidencias las inserta y las asocia con el identificador de negocio. En caso de que encuentre coincidencias rechaza la inserción y regresa los identificadores de las personas con las cuales hizo coincidencia.

  • Servicio de búsqueda. Hace una búsqueda sobre todas las biometrías existentes y regresa los identificadores de las personas con las cuales hizo coincidencia.

  • Servicio de inserción. Inserta las biometrías dentro de la base de datos sin ninguna validación.

  • Servicio de verificación. Se encarga de verificar que las biometrías de una persona coincidan con las biometrías que se enrolaron previamente. En este servicio se hace otra toma de las biometrías de una persona y se compara contra las huellas que se enrolaron previamente; el servicio nos regresa solamente un MATCH o NO MATCH que nos dice si la persona es realmente o no la que dice ser.

  • Servicio de borrado:  Se encarga de eliminar una biometría de la base de datos a partir del identificador de negocio.

La respuesta de estos servicios puede ser síncrona o asíncrona. Los servicios de enrolamiento y búsqueda son los que más frecuentemente son asíncronos por el tiempo que demoran. Este es un punto importante porque debemos considerarlo cuando se hace la integración con el middleware.

Ya tenemos la descripción completa de nuestro sistema de enrolamiento, ahora veamos cómo se utiliza en la realidad. El primer paso dentro del flujo del negocio de las empresas o entidades gubernamentales es generar una base de datos de identidades, en donde tengamos a una persona asociada a una identidad de negocio con cada una de sus biometrías, esto con la finalidad de poder identificarla en un segundo momento con una nueva toma de su biometría. Por ejemplo, cuando vamos a solicitar una nueva credencial de elector o hacemos un movimiento de nuestra Afore nos pedirán nuestras biometrías para realizar un enrolamiento de las mismas.

El sistema de enrolamiento será capaz de encontrar si alguna persona intenta volver a enrolarse con alguna identidad apócrifa apoyado por la búsqueda en la base de datos biométrica. En cuanto se tenga un enrolamiento válido será posible identificar a una persona por sus biometrías en un segundo paso. Por ejemplo, si un trabajador quiere hacer algún trámite con su afore solo tiene que poner alguno de sus dedos para poder verificar su identidad, esto lo  hace el servicio de verificación del motor biométrico que se describió anteriormente, como ya se tiene el identificador de negocio del trabajador y la toma de la huella, se comparara con las huellas que se tienen de su enrolamiento previo y el motor biométrico determinará si es la persona que dice ser.

Hasta este punto hemos descrito el camino feliz de un enrolamiento, ahora veamos las diferentes situaciones de casos excepcionales que son comunes en un sistema de identificación biométrica.

¿Qué pasa si las personas que vamos a enrolar no tienen las biometrías con las cuales se está enrolando? Por ejemplo, si se están enrolando las huellas y la persona no tiene manos, ¿qué se hace?. O si las huellas de la persona están tan desgastadas que no pueden ser leídas por el lector de huellas. O si una persona tiene lesionada las dos manos y no pueden ser leídas tampoco. Este tipo de situaciones se deben de considerar dentro de nuestro sistema desde el principio para ver cómo se deben manejar. En el caso de la persona que tiene las manos lesionadas, algun dia le tendrán que sanar, entonces se deberá de considerar un servicio de actualización de huellas que permita actualizar las de esta persona cuando esté sana para que se pueda identificar con su huella posteriormente.

Como ya había comentado la comparación biométrica no es del todo exacta, se basa mucho en estadística, es altamente probable que cuando una persona envía sus biometrías y se busquen en toda la base se encuentren coincidencias con otras personas que no necesariamente son la misma persona. A esto se le denomina falso positivo y se incrementa fuertemente cuanto más grande es la base de datos biométrica.

Sistema de adjudicación

¿Cómo determinamos si esas coincidencias son un intento de fraude o realmente si es otra persona con las biometrías muy parecidas?. Bueno, aquí es donde entra en acción el último elemento del sistema de enrolamiento: el sistema de adjudicación. Este se encarga de resolver casos donde un operador compara la información de la persona que se quiere enrolar contra la información de las personas que se encontraron como coincidencias.

Aquí mucho depende de qué información se tiene, pero anticipándonos a esta situación se recomienda evaluar desde un principio si es necesario incluir distintos datos biométricos en nuestro sistema de enrolamiento, con la finalidad de tener más elementos que permitan al operador tomar una decisión. Esta decisión afecta significativamente el presupuesto del proyecto, ya que por cada tipo de información biométrica necesitamos adquirir e integrar los dispositivos al sistema. Además, se necesita tener un motor biométrico por cada tipo de biometría para poder obtener los resultados numéricos de similitud de cada una y unificar los resultados para tomar un decisión.

Un sistema de adjudicación puede ser tan simple o tan complejo dependiendo de la implicación legal que tiene su resultado. Podemos tener un sistema que solo muestre las huellas que se capturaron y que un perito determine si las huellas son las mismas o no. O podemos tener por ejemplo el caso de la credencial de elector en donde el INE toma las huellas, la foto y la firma; entonces su sistema de adjudicación puede tener hasta 3 biometrías para que un operador pueda tener la decisión de adjudicación.  

Una vez que se tiene la respuesta del sistema de adjudicación, si es un intento de fraude o si es una persona diferente, es necesario que el sistema de enrolamiento tenga un flujo alterno para estos casos y como la primera vez que lo intentó enrolar no fue posible, debe hacerlo de otro modo. Recordemos que la primera vez usó el servicio de enrol que hace la búsqueda en toda la base biométrica, luego entonces no puede usar este servicio, en su lugar usa el servicio de inserción que introduce las biometrías sin realizar la búsqueda.

Conclusión

El presente artículo ha buscado brindar un panorama general sobre los principales componentes y aspectos a considerar en el desarrollo de un sistema de información para gestionar información biométrica. Esperamos les pueda aportar valor a la hora de implementar alguno.

Referencias

  1. FBI Biometrics Specifications. https://www.fbibiospecs.cjis.gov



 

Bio

Juan Manuel Reyes Medina es actualmente CIO de SynergyJ, empresa dedicada a la capacitación de tecnologías JVM. Es desarrollador de software desde hace 18 años, emprendedor desde hace algunos años e instructor de tecnologías y frameworks de JVM. Ha participado en proyectos en el sector privado y gobierno y dirigió dos proyectos exitosos de integración de sistemas biométricos que se encuentran actualmente en operación.