¿Qué algoritmo se usa para la biometría de pulsación de tecla?

En TypingDNA trabajamos en varios productos diferentes, todos basados ​​en biometría de kesytroke, (también llamada biometría de tipeo o dinámica de pulsación de tecla).

Los algoritmos típicos utilizados para la autenticación con biometría de tipeo implican el uso masivo de aprendizaje automático / inteligencia artificial, especialmente el uso de redes neuronales profundas y otras arquitecturas de aprendizaje automático utilizadas para la detección de anomalías y el reconocimiento de patrones.

En TypingDNA utilizamos un complejo conjunto de algoritmos para poder diferenciar entre usuarios solo por la forma en que escriben. El campo es muy competitivo y necesita toneladas de datos estructurados y no estructurados, mucho conocimiento experto en aprendizaje automático y tiempo para crear algoritmos que alcancen una precisión del 98-99%.

Dado que escribir datos biométricos por sí solo no puede alcanzar una precisión de 99,99, no debe usarse como un factor único para la autenticación, sino como un segundo factor, junto con una contraseña, una clave de un solo uso o una autenticación biométrica diferente.

Obtenga más información en typingdna.com

Hace mucho tiempo, descubrí que Coursera autentica a sus usuarios / estudiantes usando el patrón de pulsación de tecla. Por primera vez, llegué a saber acerca de dicha aplicación.

Cualquiera que esté interesado en el tipo de algoritmos utilizados para la dinámica de Keystroke, puede seguir el documento de investigación “Comparación de algoritmos de detección de anomalías para la dinámica de Keystroke” de CMU.

Han aplicado de 10 a 15 tipos diferentes de detectores en el “conjunto de datos de referencia de dinámica de pulsación de teclas CMU”.

Además, se puede leer esta publicación de blog para comprender la aplicación y verificar la implementación completa de Python de algunos de los detectores / algoritmos mencionados en el documento de investigación citado anteriormente.

La publicación del blog implementa los siguientes 5 modelos diferentes de aprendizaje automático basados ​​en alguna métrica o puntuación a distancia.

  • Distancia de Manhattan
  • Distancia filtrada de Manhattan
  • Distancia escalada de Manhattan
  • Modelo de mezcla gaussiana (GMM)
  • Máquinas de vectores de soporte (SVM)

Los resultados se muestran en el “Conjunto de datos de referencia de dinámica de pulsación de teclas CMU”.

La pregunta parece demasiado amplia, intentaré explicar por qué es demasiado amplia. No existe un algoritmo único, pero una cadena de algoritmos juega un papel vital en la biometría. Suele denominarse cadena de herramientas. Es cierto para la mayoría de la biometría que existe. Puede dividir esta cadena de herramientas en cuatro partes principales de la siguiente manera:

  • Parte de adquisición de datos biométricos
  • Parte de procesamiento de datos
  • Pieza de extracción de plantilla
  • Toma de decisiones.

En la etapa de adquisición de datos, registramos algo como KeyPressTime, KeyReleaseTime, KeyHoldTime, etc. y muchos más. Como no hay señal o imágenes involucradas por simplicidad, podemos decir que no hay procesamiento involucrado. Luego calculamos que las características pueden ser veces entre KeyPress-KeyRelease, KeyPress-KeyPress, KeyRelease-KeyRelease, Bigrams, digrams (depende del tipo de teclado), etc. Estas características también se denominan plantillas. Después de extraer las plantillas, calculamos las distancias entre clases e intraclase entre las plantillas de la misma persona o de otra persona. Luego se aplica un umbral en esta distancia para tomar una decisión sobre aceptar o rechazar.