Contenido
El sistema de identificación con huellas dactilares con KontroliD se compone de dos complementos móviles que se ejecutan desde KontroliD y permiten IDENTIFICAR personas a través de su huella dactilar en formato digital.


La captura de la huella se hace desde uno de los lectores biométricos más populares del mercado, el Digital Persona U are. U 4500 y ahora el nuevo EIKON TOUCH 710 que es de tecnología capacitiva que ahorra más energía y viene con conexión directa al celular y un cable corto de 50 cm.


Huellas dactilares
Las huellas dactilares son históricamente reconocidas como un método de identificación biométrica, seguro y de bajo costo. En el entorno digital, para su manejo y utilización, se han diseñado estándares de manejo que permiten una armonización en la forma de almacenamiento y su posterior reconocimiento.
El funcionamiento básico de todo sistema de identificación biométrica por huellas dactilares consiste en “capturar” elementos distintivos o patrones de las huellas después de procesos de corrección de calidad de la imagen. A estos patrones que codifican las características de cada huella se conocen como “minucias”.


Son estos detalles de las “minucias” los que se almacenan en un tipo de archivo especial y no las huellas dactilares en sí (De hecho no es posible reconstruir una imagen de una huella dactilar partiendo sólo de sus minucias). El registro de minucias que se almacena por cada huella se llama FMD (Fingerprint Minutiae Data), y son éstos FMDs los que se comparan cuando se va a realizar una identificación, mediante complejos algoritmos que permiten una comparación de 1 a N (Muchos).

Los datos del FMD se almacenan en Kontrolid como una cadena de caracteres extensa:

En resumen, todo sistema de identificación por huellas dactilares tiene dos procesos:

1. Enrollment (Enrolamiento)
Es el que permite la captura y almacenamiento de las minucias de las huellas dactilares:


2. Identification (Identificación)
Es el que permite la captura y comparación de las minucias de las huella dactilar contra todas las minucias almacenadas en la base de huellas, dando dos posibles resultados: Identificado y No identificado.

Complementos
El sistema de identificación con huellas dactilares con KontroliD se compone de dos aplicaciones móviles que se ejecutan desde KontroliD. Estos dos complementos no necesariamente se deben descargar y ejecutar en un mismo dispositivo ya que cada uno cumple una función distinta. Siendo un complemento para el Enrolamiento y el otro para la Identificación.

La aplicación KontroliD – FingerEnroll es la que se encarga de hacer la captura de cadauna de las huellas y enviarlas a un formulario en KontroliD. El formulario en KontroliD maneja todas las preguntas que se requieran para la plena identificación de la persona.

La aplicación KontroliD – FingerID es la que se encarga de hacer la captura de la huella a identificar y compararla contra la base de datos de huellas. Esta base de datos se almacena local mediante sincronización con los datos almacenados en Kontrolid.


FingerEnroll
Para usarse desde KontroliD, se debe construir un formulario que contenga mínimo dos preguntas:
1- Pregunta tipo texto para registrar un identificador (id) que será la llave que conectará los datos de la persona registrada con la huella. Puede tener cualquier nombre (Ej: id, cedula, identificación). Por lo general tendrá apariencia numbers si el identificador es numérico.
2- Pregunta tipo texto con nombre “huella” (Obligatorio mantener el mismo nombre). Contendrá los datos de las minucias de la huella dactilar registrada. Tendrá como apariencia el llamado a la aplicación externa así: ex:com.kontrolid.digital.fingerEnroll. En este caso visualiza la huella antes de enviarla a KontroliD. Si incluye el parámetro direct=’true’ así :
ex:com.kontrolid.digital.fingerEnroll(direct=’true’)
El valor de la minucia pasa directo a Kontrolid.
Parámetros
Este complemento tiene 2 parámetros de entrada:
token (Obligatorio)
Corresponde a la llave (Contraseña) requerida para que la aplicación se ejecute. Este token es único por cada aplicación u organización, por lo tanto, sólo es necesario incluirlo una vez en el formulario.
Ejemplo de token:
RIxq/dkHQYrLpb/VTgoAwnKcCuFixJAe4WNzYbUK4NzW7upLQIh+Rx36Hp+z9m1B5gjEDtLOdUdMHjt0t8Zblw
direct (Opcional)
direct= ‘true’: Si está definido permite que el resultado se entregue directamente a kontrolid sin tener que hacer click en el botón de Enviar.
El siguiente formulario es un ejemplo simple con las dos preguntas incluidas dentro de un grupo de repetición:

El formulario se puede sofisticar aún más para hacer validaciones de cédulas o permitir más de una huella por cédula. En el ejemplo de abajo se usan dos grupos de repetición anidados. El externo maneja el registro de personas múltiple y el interno, el registro de múltiples huellas por persona. Se parametrizó el conteo a 3 para obligar a 3 huellas:

Cuando conecta por primera vez el lector de huella dactilar, la aplicación pedirá los permisos de uso del USB. Puede marcar la opción para que quede como predeterminada. Si el lector de huellas no esta conectado al dispositivo, se mostrará el mensaje correspondiente.

En el móvil, en KontroliD cuando llegue a la pregunta correspondiente a la huella verá un botón Iniciar que activa la aplicación para escanear la huella dactilar. Si en parámetros auto=yes, la aplicación iniciará de manera automática.
Podrá iniciar la lectura de huella y enviar la información a Kontrolid.
La aplicación usa un algoritmo sofisticado para validar la calidad de la huella según los lineamientos de la NIST y la categoriza como Excelente, Muy buena, buena, regular y mala. Si el resultado de la evaluación es “mala”, la huella no se acepta. En los otros casos, si el parámetro direct = ‘true’, la huella se acepta directamente.

Se pueden hacer muchas lecturas de la huella simplemente colocando el dedo en el dispositivo si direct=’false’ o se omite. La aplicación cambiará la imagen correspondiente y deberá entonces hacer click en ENVIAR para capturar la huella en KontroliD. El valor corresponderá al dato de las minucias FMD.
Aunque se tomen múltiples escaneos de los mismos dedos, no siempre los valores de las minucias corresponden a una cadena de caracteres idénticas. El resultado depende de la posición, presión, orientación etc del dedo en el escáner.
El siguiente es un ejemplo de registros reales de 3 huellas del mismo dedo.

Sin embargo, esto no quiere decir que se reduzca la precisión del sistema de verificación, ya el sofisticado sistema de detección de patrones del software es el que permitirá identificar las minucias como idénticas dentro de un nivel de precisión elevado.

FingerID
Para usarse desde KontroliD, se debe construir un formulario que contenga mínimo una pregunta de texto que recibirá el valor del id. Puede contener cualquier nombre, el único requisito es que deberá tener como apariencia la siguiente estructura:
ex:com.kontrolid.digital.fingerID(formID='sxxx_yyyy',id='id',form='zzzzzzz', threshold='2147', token='xxxxxx')
Parámetros
Los parámetros iniciales corresponden a los parámetros donde fue almacenado las huellas dactilares con la aplicación Kontrolid – FingerEnroll.
formID (Obligatorio)
Corresponde al identificador del formulario. Este valor se toma del editor de formularios en el aplicativo web de Kontrolid, en el ítem Ajustes y/o Información.


Id (Obligatorio)
Corresponde al nombre de la pregunta que contiene el valor del id en el formulario de enrolamiento.
form (Opcional)
Si las huellas son almacenadas en ciclos de repetición (recomendado), este valor corresponde al nombre del grupo de repetición (subtabla). También lo puede verificar en el listado de los servicios del API:


Si las huellas son almacenadas dentro de la tabla main, o sea un formulario sin grupo de repetición, ésta parámetro debe obviarse.
threshold (Opcional)
threshold= ‘numero’: Si está definido permite determinar el porcentaje permitido de falsos positivos (huellas que identifica como buenas y que no son). Por ejemplo, un valor de 2147 equivale a un error de 1 en 1 millón. Si se omite, éste es el valor determinado.
En algunas aplicaciones se debe incluir este valor para balancear adecuadamente la tasa de rechazos entre falsos negativos y falsos positivos.

token (Obligatorio)
Corresponde a la llave (Contraseña) requerida para que la aplicación se ejecute. Este token es único por cada aplicación, por lo tanto, sólo es necesario incluirlo una vez en el formulario.
Ejemplo de token:
ywZ52O6FVIa262wKBHZ+Ihv06dOIZ+9NKjQojmnHGWxEn2/5wEZfPhrMM2Mb4XuzBF9MDoNF4vF 15B+SFVGgDg
Ejemplo de Apariencia:
ex:com.kontrolid.digital.fingerID(formID='s456_10961',id='id', form='RegistroHuellas', token=’asdfff’, threshold=’2147’)

En el móvil, en KontroliD cuando llegue a la pregunta correspondiente a la huella verá un botón Iniciar que activa la aplicación para escanear la huella dactilar.
La aplicación verifica en primera instancia que el lector de huellas esté conectado al puerto USB.
Cuando conecta por primera vez el lector de huella dactilar, la aplicación pedirá los permisos de uso del USB. Puede marcar la opción para que quede como predeterminada. Si el lector de huellas no está conectado al dispositivo, se mostrará el mensaje correspondiente.

Esta aplicación requiere configurar previamente los datos del usuario / contraseña que tiene privilegios de Analyst y por ende acceso a la API de datos de KontroliD, para poder sincronizar los datos del servidor y descargar localmente la base de datos de huellas.

Una vez ingresado las credenciales correctas se inicia automáticamente la ACTUALIZACION de la BASE DE DATOS de huellas. Esto permite que la información más actualizada sea descargada como una base de datos local y se pueda hacer la comparación de las huellas sin requerir conexión a internet.
Si el proceso es exitoso, se indica que se agregaron los registros, n caso contrario se despliega el mensaje con las posibles causas que corresponden básicamente a los parámetros ingresados en el formulario y la pregunta de inicio de la aplicación de huellas o las credenciales ingresadas.

Al iniciar la lectura de huella, se inicia la comprobación. Si la huella es identificada, o sea está en la base de datos de registrados o enrolados, devolverá como respuesta el id en KontroliD . En caso contrario, muestra un mensaje de error. El id será la llave que le permitirá conectar con el resto de información de la persona.

Enlaces de interés
- Video Ejemplo de registro de Huellas
- Formulario Excel de ejemplo.
- Video Ejemplo de Identificación con Huella.
- Formulario Excel de ejemplo.
