En este segundo post dedicado a la Seguridad Utilizable os presentaré varios sistemas alternativos de autenticación basados en la verificación en dos pasos, los cuales pueden ser encontrados en múltiples plataformas webs, tomando como ejemplo dos de ellas, concretamente Twitter y Google.
Este tipo de autenticación se basa en una máxima «algo que tienes más algo que sabes».
A la hora de acceder a cualquiera de las páginas anteriormente mencionadas, todos sabemos que debemos introducir nuestro usuario y contraseña y hasta aquí es todo normal y común al resto de sitios webs, pero ¿qué pasa si alguien adivina estos datos?. Para evitar que esto lleve a males mayores, se añade un factor extra al dato que nosotros sabemos. Este factor extra es algo que nosotros tengamos. En el caso de Twitter, ese algo, se trata de nuestro dispositivo móvil, personal e intransferible (no siempre, ¿verdad?). En otros casos como la banca, se puede usar otro tipo de dispositivo físico.
Pero, ¿cómo hace Twitter de nuestro móvil una llave?
Desde Twitter te mandan un código al móvil y te piden que lo introduzca en la página web. El siguiente paso será introducirlo en el formulario y verificarlo, así que si has metido el código correctamente es que tienes el móvil y por lo tanto no eres un maleante.
Otra opción para la misma función, es la denominada Contraseña de un Único Uso basada en el Tiempo (TOTP de sus siglas en inglés). Como su nombre indica, es una contraseña que sólo se puede usar una vez y que va cambiando con el tiempo.
¿Cómo funciona?
Se debe hacer una configuración inicial, en este paso, el servidor elige un número al que llamaremos clave, y que será la base de todas las contraseñas generadas. Esa clave se transmite al teléfono donde quedará almacenada.
Ahora toca el turno en el lado del cliente (en este caso el móvil). El servidor pide el segundo código de autenticación. Abres la aplicación en el móvil. En ese momento se calcula el código, para lo cual, la aplicación coge la clave y la fecha y hora actual, los combina y se genera el código de verificación.
Dado que el código sólo está guardado en tu aplicación y en el servidor, sólo tú puedes generar la contraseña y sólo el servidor puede decir si es correcta y, por lo tanto, si eres el usuario legítimo o no.
Los pasos anteriores se tratan de un vistazo rápido del proceso completo. Si queréis seguir leyendo sobre esto, lo podéis hacer en el siguiente enlace de la Wikipedia.
El mismo concepto que acabamos de explicar es el que se utiliza en la utilización de tokens físicos como pueden ser las llaves USB RSA SecurID. Como podéis ver en la figura 2 es un dispositivo USB (similar a las memorias) pero que presenta en mitad del mismo una pequeña pantalla que muestra unos números. Estos números representan la ID única generada por el dispositivo para usarla en la autenticación en dos pasos. Dicha secuencia numérica cambiara cada XX segundos, siendo este intervalo lo bastante amplio para que no caduque antes de usarlo.
Si estamos utilizando uno de estos dispositivos para iniciar sesión, debemos introducir nuestro usuario habitual, y a la hora de introducir nuestra contraseña, le deberemos añadir al final de la misma la secuencia de dígitos que muestre el llavero USB en ese momento. Al combinar la secuencia y nuestra contraseña habitual estamos generando una contraseña única en el tiempo.
En el caso de que queramos utilizar la verificación en dos pasos de Google, el procedimiento cambia un poco.
- Cada vez que inicies sesión, debes introducir tu contraseña del modo habitual.
- A continuación, se enviará un código a tu teléfono mediante un mensaje, una llamada de voz o a través aplicación para móviles. Si tienes una llave de seguridad (como la anteriormente descrita), puedes insertarla en el puerto USB de tu ordenador.
Durante el inicio de sesión, puedes elegir no utilizar de nuevo la verificación en dos pasos en ese ordenador en concreto. A partir de ese momento, cuando inicies sesión el ordenador solo te solicitará la contraseña.
La seguridad se mantiene, ya que cuando tú u otra persona intentéis iniciar sesión en tu cuenta desde otro ordenador, será obligatorio realizar la verificación en dos pasos.
Y después de todo esto ¿Ayuda la autenticación en dos pasos a la seguridad?
Realmente sí, lo hace más seguro el añadir una capa extra que los ciber-delincuentes deben tratar de superar, aunque si soy realmente preciso, no es solo una capa extra, ya que el segundo factor implicado esta en constante cambio. Con lo que en caso de que lo averigüen una primera vez, no tienen porque hacerlo para cada uno de los cambios.
Pero, ¿Es este tipo de verificación fácilmente utilizable?
Si lo evaluamos respecto al concepto de Usabilidad que venimos viendo desde el comienzo del Blog, comprobamos que realmente este tipo de verificación es más lenta que los sistemas de contraseña tradicionales. Esto hace que la percepción por parte del usuario sea de menor usabilidad, bien porque lleva más tiempo el acceso, o bien porque tener que introducir un token, mirar el número y añadirlo a la contraseña resulta difícil o tedioso para la mayoría de usuarios.
En conclusión, la autenticación en dos pasos es más segura pero menos utilizable.
¿Conocéis otros métodos de autenticación que sean más seguro y a la vez más utilizable?
Seguro que sí, y en próximos post seguiremos hablando de ellos.
Un saludo.
J.Fabello.
Seguridad Utilizable y III - Sistemas Biométricos -
[…] a los tradicionales por contraseña, de los cuales ya he hablado en post anteriores (Password o Verificación en dos pasos). Probablemente sea la variedad que estamos más habituados a ver en todo tipo de películas y […]