Title: Sin t
1Biometría del Tecleo
Keystroke Dynamics
Juan Alberto Sigüenza j.alberto.siguenza_at_uam.es
2Contenidos
- Hipótesis
- Trabajos Previos
- Ejemplo de Aplicación eCommerce
- El Problema del Tecleo en Internet
- El Problema del Reconocimiento
- Modelo Borroso
- Modelo Estadístico
- Resultados
- Curvas de Aprendizaje
- Todos vs. Todos
- Índice de Separabilidad
- Algunas conclusiones
3Hipótesis
Se puede autentificar a un usuario por su modo
de tecleo?
Cómo influye la dificultad de las secuencias de
tecleo?
Qué nivel de entrenamiento necesita el usuario?
4Fundamentos
- Es el principal mecanismo de interacción de una
persona con un ordenador. - Es un proceso complejo que involucra muchos
factores característicos del usuario, ya no sólo
su físico externo como p.e. en el caso de las
huellas dactilares, sino que llegamos a intentar
medir indirectamente la propia configuración de
los grupos neuronales del sistema nervioso del
usuario, con los que generan este proceso de
tecleo.
5Antecedente
- Echando la vista atrás podemos encontrar los
orígenes de la dinámica de tecleo en los primeros
sistemas de telégrafos de Estados Unidos, donde
se empezó a observar cómo los operadores eran
capaces de identificarse entre sí, en diferentes
estaciones, por el ritmo de pulsaciones del
código Morse que generaban cada uno de ellos al
transmitir los mensajes codificados - W.L. Bryan, N. Halter, Studies in the Physiology
and Psychology of the Telegraphic Language. - The Psychology of Skill Three studies, 1973.
6Investigaciones preliminares
- Williams, Umphress, (1985)
- Se utilizaron dos conjuntos de entradas por cada
usuario, el reference profile (entrenamiento) y
el test profile (explotación). Para cada tiempo
de tecleo entre dos pulsaciones se aproximó a la
centésima de segundo más próxima. - El resultado del experimento reveló que cuando
los profiles de reference y test eran del mismo
usuario el nivel de correlación era alto,
mientras que si eran distintos era un nivel
medio. En general se observó que cuando un
supuesto intruso se hacía pasar por otro
usuario se obtenían bajas puntuaciones de
similitud.
7Trabajos Previos
- Obaidat y col. 1993 , 1994, 1997
- Se comenzó utilizando tiempos entre pulsaciones
de una secuencia fijada de caracteres y
posteriormente se incluyeron hold times. Tiempo
en milisegundos. - Número reducido de usuarios (6-10).
- Se utilizaron técnicas de normalización.
- Reconocimiento con Redes neuronales, técnicas
borrosas y RBF. - Reconocimiento en torno al 98
- FAR8 y FRR9.
8Trabajos Previos
- Eloff y de Ru 1997
- Por un lado se capturaba la dificultad de tecleo
de dos caracteres consecutivos, generando una
puntuación de dificultad basada en la distancia
sobre el teclado de las dos teclas pulsadas y el
número de teclas que se debían de pulsar
simultáneamente para generar el carácter
requerido. Por otro lado se medía también el
intervalo de tiempo entre dos pulsaciones
consecutivas. - El algoritmo de reconocimiento utilizado
consistió en un modelo basado en comparación de
plantillas o templates borrosos. - Los resultados obtenidos con este modelo
alcanzaron porcentajes de reconocimiento entre el
72 y el 100 en la identificación correcta del
usuario real, y entre el 0 y el 15 de
aceptación de usuarios falsos (intrusos).
9Ej. Aplicación e-Commerce
10El Problema del Tecleo en Internet
- Composición de una muestra de tecleo
- Interkey times.
- Hold times.
- El muestreo en Internet independencia de la
máquina. - Alternativas de muestreo
- Con tiempo.
- Con ciclos máquina (pseudo-ciclos)
- Chequeo constante.
- Disparo de eventos.
- Normalización
- Por el Mínimo / Máximo.
- Por la Media.
11El muestreo en detalle (I)
- Los prototipos desarrollados se basan en modelos
de medición de ciclos máquina. Los ciclos máquina
pueden medirse directamente utilizando lenguajes
de bajo nivel y programando en ensamblador. Sin
embargo, este tipo de lenguaje es específico de
la plataforma para la que se vaya a desarrollar y
por tanto no es una aproximación válida a la hora
de desarrollar un sistema de comercio electrónico
para Internet, donde las plataformas son
heterogéneas y por razones de seguridad no se
permite la ejecución de programas de bajo nivel
en las máquinas clientes de los usuarios.
12El muestreo en detalle (II)
- Como alternativa se pueden medir los ciclos
máquina de forma indirecta usando pseudo-ciclos
máquina. Esto consiste en usar un lenguaje de
medio/alto nivel para lanzar un contador con
chequeo constante o por disparo de eventos de
forma que no se cuentan directamente los ciclos
máquina, sino estos multiplicados por un factor
constante que corresponde al número de
instrucciones máquina que compone la secuencia de
cuenta en el lenguaje de medio/alto nivel
elegido. - A pesar de ser menos precisión que los ciclos
máquina, veremos en los experimentos realizados
que los pseudo-ciclos máquina son suficientes
para el propósito buscado.
13Ejemplo Normalización
Experimento La secuencia "mtmmmcm". Interkey
times. (a)200 MHz (media 11484)
Intervalo T Tm (mt) 8725 0.7597
(tm) 6316 0.5499 (m) 24880 2.1664
(m) 13438 1.1709 (mm) 9875 0.8598
(mc) 9540 0.8307 (cm) 7620 0.6635
(b) 50 MHz (media 1789) Intervalo
T Tm (mt) 1263 0.7059
(tm) 1115 0.6232 (m) 3868 2.1621
(m) 2353 1.3152 (mm) 1420 0.7937
(mc) 1190 0.6651 (cm) 1316 0.7356
T interkey times en pseudo-ciclos. Tm
normalización de T por la media.
14El Problema del Reconocimiento
Ejemplos
- El Modelo Borroso
- El Modelo Estadístico
15Modelo borroso
- El prototipo basado en un modelo borroso (fuzzy),
se apoya en el componente de razonamiento bajo
incertidumbre implícito en el problema. Las
entradas del sistema son pulsaciones de teclas
que un usuario genera al interaccionar con el
ordenador i.e. tiempos más o menos iguales. La
idea es que si el usuario realiza una pulsación X
y genera un tiempo de 12775 pseudo-ciclos, en una
ocasión posterior con la misma pulsación X es de
esperar que su comportamiento tecleando sea
similar pero no exactamente el mismo, de forma
que generaría un tiempo como 12434 pseudo-ciclos.
Es decir, tiempos más o menos iguales.
16Modelo Borroso
T pseudociclos normalizados por la media U
categorización del usuario
Reglas Borrosas R1. T muy corto U muy
bueno. R2. T corto U bueno. R3. T normal U
normal. R4. T largo U malo. R5. T muy largo U muy
malo.
17Modelo Borroso
Reglas Borrosas 1.Si T es muy corto, entonces U
es muy bueno tecleando. 2.Si T es corto, entonces
U es bueno tecleando. 3.Si T es normal, entonces
U es normal tecleando. 4.Si T es largo, entonces
U es malo tecleando. 5.Si T es muy largo,
entonces U es muy malo tecleando. (1) T es muy
corto Fs1(x) 1/exp(4(x-0.001)(x-0.001)). (2
) T es corto Fs2(x) 1/exp(12(x-0.575)(x-0.
575)). (3) T es normal Fs3(x)
1/exp(7(x-1.000)(x-1.000)). (4) T es largo
Fs4(x) 1/exp(10(x-1.575)(x-1.575)). (5) T es
muy largo Fs5(x) 1/(1exp(-4x8)). (A) U
es muy malo tecleando Ft1(x)
triangle(x,0,200). (B) U es malo tecleando
Ft2(x) triangle(x,250,200). (C) U es normal
tecleando Ft3(x) triangle(x,500,200). (D) U es
bueno tecleando Ft4(x) triangle(x,750,200). (
E) U es muy bueno tecleando Ft5(x)
triangle(x,1000,200).
Valores calculados empíricamente
(x, c, s)
función triangular de variable x, centrada en c
y de ancho de base 2 s.
18Modelo Borroso
19Ejemplo Modelo Borroso
20Modelo Estadístico
- Estimación paramétrica.
- Densidad normal de media µ y varianza s²
(N(µ,s²)). - Estimación puntual de máx. verosimilitud.
- Estimadores µ,s² muestrales.
- Función de Scoring
- Ni(µ,s²) ? fi(x µ,s²) (1/v2 s²p) exp( (-1/2
s²) (x- µ)²) - Smax 1/v2 s²p
- S(x) exp( (-1/2 s²) (x- µ)² )
21Ejemplo Modelo Estadístico
Para el tiempo B, la puntuación que le
corresponde es un 9 de semejanza con el usuario
real, luego es muy probable que dicho tiempo no
haya sido generado por él. Sin embargo, el caso
A es lo contrario, es el caso perfecto donde el
tiempo obtenido corresponde exactamente con la
media de los tiempos generados anteriormente, y
por tanto se obtiene una puntuación del 100,
i.e. es muy probable que el usuario real sea
quien generó ese tiempo de tecleo.
22Resultados
- Resultados
- Curvas de Aprendizaje
- Todos vs. Todos
- Índice de Separabilidad
- Secuencias de Tecleo
- Usuario Clave
- autonoma internet
- despacho telefono
- software hardware
- carmil5 jim3eza
- qzrtmp9 ojmxdw2
- alcnei3 ñzurb1y
23Curvas de Aprendizaje
Interkey Times
24Curvas de Aprendizaje
Interkey Times
25Todos vs. Todos
autonoma
Interkey Times
Todos los voluntarios se hacen pasar por todos
los demás.
La diagonal más oscura indica que los niveles de
reconocimiento son máximos para cada usuario con
él mismo.
alcnei3
Modelo Borroso
26Todos vs. Todos
autonoma
27Índice de Separabilidad
Fallos 2 (serie 7) 2 (serie 8) 3 (serie 9)
3 (serie 10) 10 Total Elementos de la
matriz excepto la diagonal (13 13) 13
156 Indice de separabilidad 1 (Fallos /
Total) 1 (10 / 156) 0.93 93
28Ejemplo Gemelos Univitelinos
Interkey Times Modelo Borroso
29Algunas conclusiones...
- Área de Biometría
- Se puede identificar a un usuario por su tecleo
(incluso gemelos). - Secuencias sencillas funcionan mejor.
- Se requiere poco entrenamiento (entorno a 10
muestras). - Área de Internet
- Biometría del Tecleo Inet normalización
herramientas abiertas. - Ideal B2C (business-to-customer) no-intrusivo y
estándar. - Área de Reconocimiento de Patrones
- Los interkey caracterizan mejor que hold, pero
mixed supera ambos. - Modelos borroso y estadístico permiten reconocer
usuarios en Inet.