Buenas.
Lo que pides es un sistema de dinámica de tecleo o escritura, un método biométrico más.
Modelos gráficos como las redes bayesianas no se suelen utilizar en lo que buscas debido a la complejidad de modelar las redes en este caso, ¿cómo modelas la distribución conjunta entre las características que se usan normalmente?. Dejémoslas para aplicaciones donde sí estén claras dichas relaciones y puedan ser especificadas por expertos.
Centrémonos en utilizar otros sistemas de clasificación, hay muchos enfoques, es tu tarea determinar aquel que se comporte mejor, las características a utilizar y el preproceso en función de los datos que tengas.
Te dejo un ejemplo que hice hace unos dias,
https://github.com/overxfl0w/Typing-Recognition . La idea es, para cada usuario, entrenar con un texto prefijado escrito varias veces y extraer el tiempo que mantiene pulsada cada tecla, el tiempo que pasa entre la pulsación de una tecla y la siguiente, tiempo entre soltado de una tecla y la siguiente, número de errores y lo que se te pueda ocurrir para discriminar (ojo, siempre que aporte información y no sea redundante con las anteriores).
Una vez extraídas las características ya es cuestión de visualizar la distribución en el espacio muestral y tomar ciertas decisiones sobre qué clasificadores utilizar y como preprocesar los datos. En mi caso uso support vector machine sin kernel ni márgenes blandos solo por probar ya que son de los sistemas que normalmente mejores resultados ofrecen (a cambio de cierto coste en el entrenamiento..).
He intentado hacerte un resumen de todo el proceso, no es cuestión de profundizar demasiado en un post porque todo lo que tienen por debajo este tipo de aplicaciones lleva unos cuantos años de estudio. Si estás interesado en estos temas, siempre que tengo tiempo publico entradas relacionadas en nuestro blog,
http://indeseables.github.io/ , no estaría mal seguirlo
. Espero haber ayudado.
Edit: Corregidos los enlaces