En qué consiste AuthCode, nuestro premiado sistema de autenticación continua, desarrollado junto a la Universidad de Murcia

Área de Innovación y Laboratorio de ElevenPaths  11 diciembre, 2018
Los sistemas de autenticación continua en dispositivos móviles tienen como objetivo la identificación del comportamiento de un usuario a través de la interacción de con su dispositivo. El principal beneficio de este tipo de autenticación es la mejora de la experiencia de usuario cuando hace uso de los servicios o aplicaciones de su dispositivo móvil, sin intrusiones. Fruto de una investigación conjunta con la Universidad de Murcia desarrollamos el proyecto AuthCode. Ha alcanzado un estado de madurez que permitió presentarla en el Security Innovation Day 2018, además de ser galardonada con varios premios y publicaciones. Vamos a explicar en qué consiste con algo más de detalle.

La autenticación continua evita, en la mayor parte de los casos, tener que hacer uso de la contraseña, patrón de acceso, reconocimiento biométrico, etc. cuando se quiere acceder a una aplicación o servicio que requiere autenticación. En este sentido, tener autenticado al usuario de forma permanente aumenta la seguridad del individuo respecto a las operaciones realizadas en el dispositivo. Además, podemos aprovechar ese estado continuo de confianza para permitir que la interacción del usuario con aplicaciones sea mucho más fluida y sencilla, mejorando con ello la experiencia del usuario.

A pesar de los beneficios proporcionados por los sistemas de autenticación continua, las soluciones actuales presentan una serie de retos como son la selección de dimensiones y funcionalidades que permitan tanto modelar el comportamiento del propietario como distinguir su comportamiento de otros usuarios de forma clara y precisa; permitir la adaptabilidad del sistema a cambios leves en el comportamiento del usuario; la reducción del tiempo de autenticación; el uso de nuevas características o la optimización del uso y consumo de los recursos de los dispositivos. Estos aspectos resultan críticos a la hora de ofrecer una experiencia de usuario agradable y que no repercuta en un excesivo perjuicio de la batería.

Contexto del reto

ElevenPaths, consciente de la utilidad y el potencial de este tipo de sistemas, presentó en la pasada edición 2017 de las Jornadas Nacionales de Investigación en Ciberseguridad (JNIC) un reto en el Track de Transferencia que abordaba el desarrollo de una prueba de concepto de un sistema de autenticación continua y adaptativa. Este reto fue asumido por el Cybersecurity and Cyberdefence Research Lab de la Facultad de Informática de la Universidad de Murcia que empezó a trabajar en ello adaptando los conocimientos de ciberseguridad de varios años del equipo con los nuevos y exigentes requerimientos del problema planteado.

El equipo fue formado por los alumnos José María Jorquera Valero y Pedro Miguel Sánchez Sánchez a cargo de los tutores Alberto Huertas Celdrán y Gregorio Martínez Pérez, que orquestaron las labores del Dpto. de Ingeniería de la Información y las Comunicaciones y el Dpto. de Arquitectura y Tecnología de Computadores de la Universidad de Murcia.

Solución propuesta

A partir del reto propuesto, surge una estrecha colaboración entre empresa y universidad con el fin de desarrollar una solución precisa que pudiera ser útil para la sociedad más allá del contexto que plantea el reto de transferencia, es decir, con intención de que el trabajo realizado no quedase únicamente en una propuesta de investigación sino que llegara a convertirse en una prueba de concepto en un escenario fuera de laboratorio y probada con éxito por usuarios en distintos escenarios realistas. La buena sintonía entre universidad y empresa ha demostrado los beneficios de unir dos sectores y visiones diferentes para un fin común.

El trabajo realizado consiste en el diseño e implementación de un sistema adaptativo de autenticación continua para dispositivos móviles que permite la identificación precisa del propietario del dispositivo. Este sistema se ha bautizado como AuthCode. La solución propuesta se basa en la creación de perfiles de usuario modelando su comportamiento cuando hace uso de aplicaciones, además de evaluar determinadas métricas recogidas a través de diversos sensores del dispositivo. AuthCode es un sistema capaz de adaptarse a nuevos cambios en el comportamiento del usuario. Adicionalmente, se hacen uso de técnicas de Machine Learning (con el algoritmo Isolation Forest) basadas en detección de anomalías apropiadas para dispositivos con bajos recursos computacionales. Como prueba de concepto, el sistema planteado ha sido implementado en Android, compatible a partir de la versión 6.0, y ha sido probado con éxito en varios grupos de usuarios.

El funcionamiento del sistema se divide en cuatro fases:

  • Fase 0. Proceso de selección de dimensiones y características más relevantes para modelar el comportamiento del usuario. Destacar que este proceso de selección se realiza una única vez y previamente al desarrollo del sistema durante la fase de diseño.
  • Fase 1. Adquisición de los datos del dispositivo móvil para extraer las features previamente determinadas y crear un dataset donde serán almacenadas. La recolección de datos se realiza de forma periódica en ciclos de un minuto durante dos semanas.

  • Fase 2. En primer lugar, se realiza el entrenamiento del algoritmo de Machine Learning con el dataset generado para modelar el perfil de comportamiento del usuario. Tras finalizar el entrenamiento se inicia la fase de evaluación donde el sistema compara el comportamiento actual del usuario con el almacenado durante la fase de entrenamiento, devolviendo un nivel de autenticación entre 0.0 y 1.0. Esta evaluación se realiza también en ciclos de un minuto.
  • Fase 3. Adaptabilidad del sistema a nuevos cambios del comportamiento del usuario mediante la inserción y eliminación de vectores en el dataset, manteniéndolo actualizado y previniendo el sobre-entrenamiento del sistema.

Estas fases, junto con algunos pasos en detalle, pueden verse en la siguiente figura.

Fases del sistema imagen

El mencionado nivel de autenticación es clave para plasmar el verdadero objetivo de la tecnología desarrollada: obtener un valor determinado del grado de autenticación que el dispositivo es capaz de otorgar, basándose en el comportamiento del usuario. Este valor, establece unos niveles de confianza configurables de cara a la experiencia de usuario que permite su adaptabilidad. De esta forma un valor próximo al 1.0 permitiría que el usuario no tenga que introducir contraseñas, utilizar factores de autenticación adicionales y no tendrá ningún tipo de restricciones de usabilidad. Mientras que valores intermedios comenzarían a sufrir requerimientos de seguridad y tendrían limitaciones de uso del dispositivo hasta que corroborasen completamente su autenticidad. De esta manera el uso de AuthCode solamente aliviaría las necesidades de seguridad en casos donde la confianza en la identidad del usuario es inequívoca, gracias a su comportamiento, y en el peor de los casos se abre un abanico de posibilidades paliativas a realizar si detecta que el usuario no es el autorizado para utilizar el dispositivo. Lo que permitiría realizar acciones como bloqueo remoto, registro de acciones, tomar fotos del usuario actual y emitir notificaciones o alertas si fuese pertinente hacerlo. AuthCode permite la adaptabilidad del sistema siempre que la evaluación del usuario es positiva. En caso contrario, si el usuario del dispositivo genera un número concreto (y configurable según el escenario) de evaluaciones negativas seguidas, el dispositivo es bloqueado y es necesario introducir las credenciales apropiadas para poder desbloquearlo.

En el siguiente vídeo se detalla en mayor profundidad el diseño y el funcionamiento del sistema:

Una vez implementada la prueba de concepto, se desarrolla un caso de uso que permite mostrar la utilidad del sistema de autenticación continua en un entorno real. Este caso de uso consiste en una aplicación de banca cuya funcionalidad ha sido integrada con el servicio de autenticación continua. Para ello se ha diseñado e implementado una aplicación para dispositivos móviles que simula una app de banca online (nuestro Nevele Bank ficticio) conectada al sistema de autenticación continua.

Logros y premios

La solución final al reto del Track de Transferencia fue presentada en las Jornadas Nacionales de Investigación en Ciberseguridad (JNIC) 2018. Obtuvo el premio a mejor solución propuesta en relación con los retos presentados en el certamen.

Logros y premios imagen

Una vez concluido el reto, se siguió trabajando en la mejora de la prueba de concepto obtenida. Esta investigación adicional ha dado lugar a la publicación de un artículo en la revista Sensors (Q2 en el índice JCR de revistas).

Además, el reto sirvió de hilo conductor para que dos alumnos del Grado en Ingeniería Informática desarrollasen sus Trabajos Fin de Grado. Los trabajos fueron presentados en el Certamen Arquímedes del Ministerio de Ciencia, Innovación y Universidades, y llegaron a la fase final celebrada del 21 al 23 de noviembre en la Universidad Rey Juan Carlos. Finalmente, la investigación presentada obtuvo el premio especial de la Fundación ONCE al mejor de trabajo de investigación dirigido a la mejora de la calidad de vida de las personas con discapacidad junto con un accésit.

AuthCode se encuentra actualmente en fase de evaluación para obtener financiación por parte de la Fundación Séneca – Agencia de Ciencia y Tecnología de la Región de Murcia para convertirse en una prueba de concepto completamente funcional y probada por un gran número de usuarios en escenarios reales.

De igual manera, ElevenPaths, la Unidad de Ciberseguridad del grupo Telefónica, sigue colaborando de manera directa y aportando ideas y apoyo al equipo de investigación de la Universidad de Murcia para que la prueba de concepto pueda evolucionar, todo ello como un claro ejemplo de la apuesta decidida de ElevenPaths por la innovación y la transferencia de conocimientos entre la universidad y la empresa.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *