domingo, 26 de octubre de 2008

SOLAMENTE PARA LOS INTERESADOS




La biometría es técnica que estudia las características únicas de una persona, tales como huellas dactilares, geometría de la mano, estructura del ojo o patrón de la voz, entre otras.
El primer registro documentado del uso de esta técnica surge en China desde al menos el siglo XIV, donde un explorador y escritor que respondía al nombre de Joao de Barros escribió que los comerciantes chinos estampaban las impresiones y las huellas de la palma de las manos de los niños en papel con tinta. Los comerciantes hacían esto como método para distinguir entre los niños jóvenes.


En la actualidad la biometría despierta un gran interés en la comunidad académica, ya que la tecnología existente, ha provocado una reciente expansión en cuanto a términos de investigación y desarrollo de la misma aplicada en sistemas de autentificación.
Tradicionalmente, se usan dos vías distintas para la identificación de una persona, estas eran “algo que la persona tienen”, por ejemplo, una tarjeta de acceso magnético, una llave, etc. y “algo que la persona sabe”, una contraseña, un PIN (Personal Identification Number) o Número de Identificación Personal, etc.
Estas dos vías, al usarse en conjunto, aumentan la fiabilidad de un sistema de autentificación de usuarios. Sin embargo, existe otra vía, “lo que el usuario es”, Para lograr la autentificación, estos sistemas hacen uso de las características o atributos, fisiológicos y de comportamiento propios de cada individuo que lo hacen único. Estos sistemas son biométricos.
La biometría, puede dividirse en dos grandes aspectos, los atributos fisiológicos (huellas dactilares, iris, rostro, etc.), y los de comportamiento (forma de caminar, de firmar, escribir).

En la comunidad de investigadores que desarrolla la biometría del comportamiento, es común la frase “no es lo que haces, sino, como lo haces lo que te define como individuo” y podría decirse que todo trabajo en este campo, gira entorno a esa premisa.

En estos últimos años, los avances en el hardware y en el software, han permitido que la biometría del comportamiento desarrolle lo que se conoce como “keystroke dynamics” (la dinámica de golpe de teclado), que consiste en medir estadísticamente la manera en la que las personas utilizan un teclado frente a una computadora.

Si la dinámica de tecleado, es única para cada persona o no, es un tema actual de debate. Distintas tesis han probado que no, pero esto no descarta este método, como técnica de autentificación de usuarios, y otras tesis, han demostrado que la dinámica de tecleado es en un 98% eficaz.

Al escuchar hablar a alguien acerca de que se puede identificar a un individuo a partir de sus dinámicas de escritura con un teclado, se podría pensar que es una ciencia nueva y complicada, sin embargo esta técnica se viene empleando desde hace mas tiempo del que podemos imaginar. Durante la década de 1860 en Estados Unidos, cuando el telégrafo estaba en su pleno auge, los operadores de telégrafos comenzaron a volverse un recurso valuable, y mientras ganaban experiencia, iban desarrollando una “firma” única, siendo posible que fueran identificados por su ritmo al pulsar los mensajes. Durante la Primera Guerra Mundial, los franceses entrenaban a sus operadores de radio para que pudieran reconocer a los operadores enemigos que transmitían en clave Morse, los operadores aprendían a reconocer a sus enemigos al distinguir las longitudes de los puntos, líneas, pausas y las variaciones de velocidad en la transmisión. Este método nuevamente volvió a usarse durante la Segunda Guerra Mundial en labores de inteligencia, y se conocido como “el puño del remitente” (“fist of the sender”).
En tiempos actuales la National Science Foundation de los Estados Unidos se percató de la importancia de las dinámicas de tecleo y creo un proyecto de investigación para seguridad de computadoras en la RAND Corporation.
Este proyecto arrojó como resultado que el concepto de “el puño del remitente” tenía importantes características estadísticas que permitían que se usara como una tecnología de seguridad.

Existen dos maneras distintas por las cuales se pueden realizar autentificación de usuarios mediante keystroke dynamics, estas son: “forma activa” y “forma pasiva” y pueden ser usadas por separado o simultáneamente.
La forma pasiva, “observa” la forma de teclear solamente durante el inicio de una sesión, en el momento donde se ingresa el nombre de usuario y la contraseña, mientras que la forma activa “observa” de manera constante durante la duración sesión la forma de teclear. La ventaja de la forma pasiva es un costo computacional menor, ya que el algoritmo de identificación se utiliza solo en el momento en el que se coloca la contraseña, pero no asegura que durante la sesión, sea el mismo usuario que permanece frente a la computadora. Esta, es una posibilidad que contempla la forma activa, pero con el valor de un costo computacional más alto, ya que en este caso, el algoritmo se encuentra continuamente en ejecución.


La naturaleza humana dicta que una persona no se sienta frente a una computadora y comienza a teclear en un flujo caótico, sino que teclea por un momento, se detiene para reunir ideas, se detiene para descansar, continua tecleando y así sucesivamente. Este comportamiento único nos brinda las bases para desarrollar un esquema de autentificación; las características que nos interesan para el análisis del comportamiento están relacionadas con eventos de las pulsaciones de las teclas, y son: tiempo de presión y tiempo de cambio.
El tiempo de presión es el tiempo que transcurre desde que se presiona una tecla hasta que se libera. El tiempo de cambio corresponde al tiempo que pasa desde que se suelta una tecla hasta que se presiona la siguiente.

El punto central para el cálculo de perfiles en estos sistemas consiste en poder medir en el tiempo con la mayor precisión posible la ocurrencia de estos eventos. Hoy día esta precisión esta contemplada diezmilésimas de segundo.
Una vez que se tienen registrados todos los eventos ocurridos en la entrada de texto por parte del usuario, el resto consiste en aplicar un algoritmo para la obtención de una medida (o vector de tiempos) que represente a la muestra.
Existen varias aproximaciones para procesar los datos de tiempo: métodos estadísticos, lógica difusa, redes neuronales. Todas estas aproximaciones han sido probadas en implementaciones para teclados convencionales dando buenos resultados.
La manera que utilizan los algoritmos para crear este vector, es mediante lo que se llama “periodo de entrenamiento”, durante el cual, se le pide a la persona que ingrese su contraseña una “X” cantidad de veces, o hasta que el algoritmo de entrenamiento logre, estadísticamente, generar dicho vector.
A modo de ejemplo, supongamos que una persona escribe la palabra “password” que utilizará como contraseña, unas quince veces. El algoritmo de entrenamiento, podría detectar, que la letra “p” ocurre siempre con similares tiempos de presión, y que “ss” ocurre siempre con similares tiempos de cambio.
Una vez obtenido este vector de tiempos para una persona, se coloca en una base de datos, ya que posteriormente, servirá para compararla en un software con otra muestra tomada de la misma palabra.
LUCIANO MENCACCI
ESTUDIANTE DE INGENIERÍA EN INFORMATICA
UNL. SANTA FE. ARGENTINA

No hay comentarios: