Cómo funciona la nueva autenticación en dos pasos de Twitter - Lea Noticias

Cómo funciona la nueva autenticación en dos pasos de Twitter

Suscríbete a nuestro canal de Telegram "LeaNoticias" para que estés al día con toda la información sobre Venezuela y España.

Hace unos meses, Twitter anunció por fin que implementaría un sistema de autenticación en dos pasos. El problema es que, en lugar de usar la solución basada en OTP que usan otros como Google, Dropbox o Microsoft, hizo una solución propia basada en envíos de SMS.

650_1000_ninkasi_blog_image2_0

Hoy han cambiado esa solución, pasando a algo más fácil de usar y más seguro, según ellos. La idea es usar las aplicaciones de Twitter para iOS y Android: aparece una notificación en tu móvil que te lleva a la aplicación, desde donde tendrás que pulsar un botón para poder iniciar sesión en tu navegador.

Twitter usa esta solución porque dicen que es más segura: las claves secretas no se comparten entre el cliente y servidor como en OTP: la clave sólo se almacena en el cliente (tu aplicación móvil) y por lo tanto no hay problema si comprometen el servidor.

La base de la autenticación en dos pasos es la firma digital de un número generado en el servidor.

Este protocolo funciona con un esquema de firma digital RSA (vimos en qué consistía la firma digital cuando hablamos de una vulnerabilidad de Android). Al activar la verificación en dos pasos, se genera un par de clave pública/privada: la privada se almacena en tu teléfono y la pública en el servidor de Twitter. Cuando intentas iniciar sesión, el servidor genera un número aleatorio (challenge) y lo envía a través de una notificación push a tu teléfono, que te pedirá aceptar o rechazar el inicio de sesión. Si pulsas aceptar, la aplicación firmará el challenge con la clave privada, y enviará ese resultado al servidor de Twitter. Si la firma es correcta, la página del navegador se recargará y habrás iniciado sesión.

Suscríbete a nuestro canal de Telegram "LeaNoticias" para que estés al día con toda la información sobre Venezuela y España.

La seguridad de este método radica en que sólo tu clave privada puede generar una firma correcta, que se valide con la clave pública que tiene Twitter. No hay forma, tampoco, de obtener tu clave privada viendo sólo la firma digital del número.

Por otra parte, están los códigos de backup, los que te permiten iniciar sesión aunque hayas perdido el teléfono. Para generarlos, Twitter se ha inspirado en el algoritmo S/KEY, aprovechándose de las funciones hash (SHA256 en este caso). La aplicación genera un número aleatorio y obtiene su hash 10.000 veces. Envía ese resultado al servidor, y te pide guardar el número obtenido tras el hash 9.999. Cuando pierdes el móvil, introduces ese número: el servidor genera una vez más su hash y lo compara con el resultado que había enviado la aplicación en su momento. Si son iguales, te dejará entrar en tu cuenta.

La solución de Twitter no es multiplataforma

De esta forma, incluso aunque alguien obtenga los códigos almacenados en el servidor, no podrá acceder a ninguna cuenta: es prácticamente imposible obtener el hash número 9.999 a partir del número 10.000 (las funciones hash son funciones de una vía).

En definitiva, Twitter ha decidido crear sus propias soluciones de autenticación en dos pasos para mantener las cuentas seguras incluso aunque se comprometan sus servidores. Parece un objetivo muy loable, pero creo que las desventajas (la solución no es multiplataforma, sólo funciona en las aplicaciones de iOS y Android y no podemos usar otras aplicaciones de autenticación en dos pasos) superan a la principal ventaja, que tampoco es que sea muy clara: si comprometen el servidor de Twitter, tendrán otros problemas más grandes que el hecho de que tengan los códigos de autenticación en dos pasos.

Fuente:  Genbeta

Temas relacionados

Deje un comentario