Latch Voice: Generación Cripto-biométrica del OTP

martes, 3 de octubre de 2017

El uso de un segundo factor de autenticación, obteniendo un código a través de un código enviado por SMS o por email, es una práctica cada vez más extendida debido a su alto nivel de seguridad. Aun así, estos métodos no son infalibles y sería posible suplantar la identidad real del usuario. Vamos a poner un ejemplo, simplemente robando o interceptando el teléfono móvil a donde se va a recibir el SMS con el código o consiguiendo acceso no autorizado al email. Entonces, ¿cómo puede estar seguro el sistema que soy yo la persona que ha solicitado el acceso? Sólo existe una forma de asegurarnos de la identidad de la persona que requiere acceso, utilizando biometría.

En ElevenPaths hemos llevado a cabo una investigación con el objetivo de dar un paso más a la hora de aumentar la protección de esta técnica. Para ello hemos añadido un tercer factor de autenticación que se basa en la biometría del usuario, en concreto, en su voz. De esta forma, el caso antes mencionado de robo del dispositivo o de las credenciales del email, no afectarían a la seguridad final del usuario, ya que para obtener el OTP a través de Latch se debería verificar, mediante el uso de la voz, que somos quién debemos ser para obtener y descifrar el OTP. En concreto, se aumenta considerablemente la seguridad ya que se cumplen a la vez estas tres directivas utilizadas en los factores de autenticación:
  • Es algo que el usuario tiene físicamente (está en posesión del dispositivo). 
  • Es algo que sólo el usuario conoce (nombre de usuario y password de Latch).
  • Se verifica que el usuario es quien dice ser con biometría (utilizando su voz). 

Este nuevo factor de autenticación está basado en la generación de contraseñas tipo OTP (One-Time-Password o contraseña de un solo uso) generadas a partir de información biométrica obtenida de la voz del usuario. Además, el proceso de capturar y procesar los datos biométricos que se utilizaran a su vez para generar una clave, son realizados desde el smartphone del usuario, no requiriendo de ningún otro dispositivo adicional o especial. Esta clave criptográfica generada a partir de esta información se utilizará para cifrar y descifrar la información intercambiada con el servidor.
El proceso para comenzar a utilizar este nuevo sistema de autenticación consta de dos fases, una fase de entrenamiento y otra fase de autenticación

Durante la fase de entrenamiento se ejecuta el proceso de aprendizaje para que el módulo de reconocimiento biométrico reconozca la voz del usuario como única. Para ello, se realizan varias muestras de voz de los dígitos del 0 al 9 pronunciados en voz alta por el usuario. Esta fase de entrenamiento es obligatoria para poder generar el perfil biométrico del usuario que será utilizado para validarlo frente al servicio que esté utilizando. 

Por otro lado, la fase de autenticación ocurre una vez se haya iniciado una petición de acceso a un servicio. La autenticación se realizará indicando al usuario que diga en voz alta un código específico que previamente habrá recibido en su smartphone para validar su identidad, contrastando la información obtenida de su voz con el perfil biométrico anteriormente generado en la fase de entrenamiento. Finalmente, esta información se contrasta para su validez o denegación en función del resultado obtenido.

Este sería un esquema simple de su funcionamiento:
El usuario solicita acceso a un servicio remoto desde su ordenador

El servidor hace una petición de validación de acceso a Latch y este envía el código de validación al dispositivo del usuario

El usuario valida con su voz el código recibido en Latch
FIGURA 1

A continuación, pasamos a explicar un ejemplo sencillo de caso de uso. El usuario solicita el acceso a un servicio (1) desde su ordenador. Este servicio, el cual está enlazado con Latch, realiza el proceso de verificación del usuario (2). Para ello, envía un código al dispositivo móvil del usuario con un código de validación. Una vez se recibe el código (3) en el dispositivo (app de Latch), el usuario valida dicho código utilizando su voz, diciendo en voz alta el código recibido. Latch validará esta información y devolverá la respuesta al servidor del servicio solicitado.

FIGURA 2

Como se puede observar, la utilización por parte del usuario final es muy sencilla e intuitiva. Pero, detrás de esta sencillez, existe un complejo sistema de cifrado (Figura 2) y generación de contraseñas seguras OTP que ofrece un alto nivel de seguridad y protección hacia el usuario final. De esta manera logran protegerse de ataques de fuerza bruta o simplemente de robos o pérdidas del dispositivo móvil.

Para finalizar, os dejamos un vídeo de ejemplo de uso:


video


Fran Ramírez
Security Researcher en ElevenPaths

1 comentario:

  1. Excelente idea. Espero ver este aplicativo disponible pronto, como usuario de Latch que soy. Saludos.

    ResponderEliminar