IBM propone nuevas técnicas criptográficas para contraseñas
Investigadores de IBM desarrollaron técnicas criptográficas para evitar la exposición de las contraseñas a “guardianes” poco confiables.
Imagine llegar a casa y en poner la llave en la cerradura, primero debes entregarla a un “guardián” para su verificación. Él tomaría la llave y la insertaría en una caja electrónica para confirmar que realmente es la correcta antes de que se pueda abrir la puerta. Este proceso sería molesto e inseguro; no querrás que ese guardián haga una copia de la llave. En cierto modo, esto es lo que ocurre cuando escribimos una contraseña en las plataformas digitales. Un equipo de IBM presentó una investigación detallada sobre el desarrollo de técnicas criptográficas novedosas para eludir al “guardián”, aumentando la privacidad de todos los usuarios de Internet.
Una de las soluciones consiste en permitir la verificación de identidad sin la necesidad de revelar la contraseña al “guardián”. En un protocolo más avanzado, la verificación se distribuye entre dos o más guardianes, ninguno de los cuales puede robar la identidad de un usuario por sí solo. Este trabajo también se amplía para proteger no solo las contraseñas digitales, sino también la biometría, como las huellas dactilares, que a veces se proporcionan como identificación. Es probable que estos protocolos avanzados aumenten la confianza de los usuarios en servicios como el comercio electrónico o la autenticación de dispositivos móviles.
Seguridad de la Capa de Transporte
La forma más común de iniciar sesión online con una clave es “contraseña sobre Seguridad de la Capa de Transporte” (TLS). Funciona enviando una contraseña de texto sin cifrar a los servidores de un proveedor de servicios web, a través de canales seguros. El usuario sabe que está usando TLS cuando la URL del sitio web comienza con “https” —en lugar de “http”— o cuando aparece un candado en la barra de direcciones del navegador. Pero a pesar de que la contraseña viaja de forma segura al servidor, todavía existe la posibilidad de que pueda ser robada en su destino.
Si bien los usuarios pueden confiar en las empresas que les brindan servicios de Internet, el hecho de que necesiten revelar su contraseña en cada inicio de sesión representa una amenaza para la seguridad. ¿Puede el usuario de un sitio web estar realmente seguro de que su contraseña no terminará en las manos equivocadas, debido, por ejemplo, a un empleado deshonesto, software o hardware defectuoso?
Por lo general, no obstante, las contraseñas de los usuarios no se almacenan en texto sin cifrar en los servidores de las empresas, lo que proporciona un cierto grado de protección de la privacidad. En cambio, se crea un “hash” con la ayuda de una función matemática. Este hash, una especie de versión codificada de la contraseña, se almacena junto con el nombre de usuario en una base de datos. Pero cuando los atacantes entran en esa base de datos de contraseña, a menudo pueden averiguar la contraseña de texto sin cifrar a partir del hash.
Esto es lo que las nuevas técnicas criptográficas de IBM están intentando cambiar. El equipo desarrolló protocolos que utilizan Oblivious Pseudo-Random Functions (OPRF), técnicas matemáticas que permiten una forma más segura de verificar que una contraseña coincide con su codificación en la base de datos. A diferencia de TLS, el cálculo de la codificación con OPRF se realiza sin revelar la contraseña al proveedor de servicios de Internet.
Regresando a la analogía del hogar, el uso de OPRF significa que en lugar de que un usuario entregue las llaves, el guardián ofrece la caja electrónica al usuario para su verificación, quien inserta la llave, y al guardián solo se le muestra el resultado, confirmando (o negando) la identidad. Esto reduce el riesgo asociado con la confianza en el guardián.
Más guardianes, más seguridad
El documento de técnicas criptográficas del equipo de IBM, investigó las posibles vulnerabilidades de seguridad de los servidores que almacenan los hash vinculados a las contraseñas. Publicaron una investigación sobre un protocolo modificado y mejorado basado en la popular autenticación de inicio de sesión único (SSO, por sus siglas en inglés). Muchos sitios web confían en SSO cuando ofrecen a los usuarios la posibilidad de iniciar sesión a través de su cuenta personal con una empresa de redes sociales.
SSO elimina la necesidad de crear una contraseña adicional para cada nuevo servicio web. En la analogía, se trata de una situación en la que un usuario tiene varias casas (sitios web) pero solo un guardián (la única empresa de redes sociales que se utiliza para SSO) que maneja su llave para la verificación de identidad. Esto reduce el riesgo. Solo se debe confiar en un guardián para acceder. Sin embargo, ese guardián es también un único punto de falla; podría hacerse pasar por el usuario e ingresar a cualquier sitio web visitado anteriormente sin su conocimiento.
Entonces, el equipo de IBM eliminó ese único guardián y creó un protocolo SSO distribuido que usa al menos dos proveedores de redes sociales para la autenticación. Con este nuevo método, los usuarios nunca necesitan entregar su contraseña a un guardián. En cambio, ellos mismos calculan codificaciones de contraseñas, utilizando un protocolo OPRF, con la ayuda de los proveedores de redes sociales, que nunca aprenden la contraseña en el proceso. Luego, las codificaciones se fragmentan en piezas ininteligibles y cada una se almacena en el servidor de un proveedor.
Dado que ninguno de los proveedores de servicios tiene la codificación completa, ya no pueden averiguar la contraseña y, por lo tanto, no es posible hacerse pasar por el usuario. Y tampoco los atacantes que ingresan a la base de datos. La única forma en que estos guardianes distribuidos podrían robar la identidad de un usuario es si todos conspiraran para hacerlo juntos. Pero mientras solo uno de ellos sea honesto, las contraseñas y las identidades digitales están seguras.