La autenticación es un aspecto importante tanto en el desarrollo como en la utilización de aplicaciones web. Mientras que al desarrollar sitios web es necesario buscar herramientas seguras y simples de implementar, es necesario que el proceso de autenticación sea lo más sencillo posible para el usuario. Esta tarea no es sencilla. Una herramienta que intenta llevar a cabo estos objetivos es Mozilla Persona, un sistema de autenticación descentralizado basado en el protocolo OpenID y adherente a la idea de Identity Bridging.
Conociendo Mozilla Persona
Mozilla Persona provee una forma simple de autenticación en sitios web, gracias a la utilización de una cuenta de correo. Este proceso de validación de credenciales puede efectuarse en cualquier sitio web que tenga implementado este sistema (como por ejemplo Ting, el servicio de Bugzilla de Mozilla o Voost).
El concepto detrás de este proceso se conoce como Identity Bridging. Este funciona de la siguiente forma: al tener que autenticarse en un sitio web que implemente Mozilla Persona, se verificará tu identidad gracias a OpenID u OAuth. En caso de que la cuenta con la que intentes registrarte no soporte ninguno de los dos servicios, Mozilla Persona enviará un mail a la cuenta de correo ingresada para validar tu identidad. Una vez llevado a cabo, finalizará el proceso de registro, sin necesidad de registrar usuarios y contraseñas en el sitio web donde se ha ingresado. A continuación, podemos observar un ejemplo de autenticación con Mozilla Persona:
La adopción de Mozilla Persona ha aumentado con el correr del tiempo. Un proyecto interesante sobre esta herramienta es Persowna, que además de respetar sus principios y finalidad, agrega funcionalidades extra como doble autenticación.
Ventajas para los usuarios que lo utilicen
- Sustituye el uso de múltiples contraseñas. La autenticación puede llevarse a cabo en múltiples sitios web con una única cuenta de Mozilla Persona.
- Evita el uso de contraseñas. Como estos datos no son almacenados en el sitio web, por consecuente no pueden ser robados en caso de que este sea atacado.
- Permite la utilización de múltiples correos en una misma cuenta de Mozilla Persona. Esto permite “categorizar” los registros a sitios web (trabajo, educación, ocio, etc.).
- No le permite al proveedor de correo electrónico rastrear las páginas web visitadas.
Ventajas para los desarrolladores que lo implementen
- Se enfoca a ser integrado completamente en el browser (evita el almacenamiento de datos confidenciales como usuarios y contraseñas).
- Es simple de implementar, aspecto de gran peso en un proceso de desarrollo.
- No presenta la necesidad de almacenar contraseñas de usuarios, porque la autenticación es llevada a cabo por Mozilla Persona.
- El código fuente se encuentra alojado en GitHub. Esto hace posible que se pueda analizar completamente.
Desventajas y vulnerabilidades descubiertas
En Septiembre fue descubierta una vulnerabilidad de seguridad a Mozilla Persona, gracias al Mozilla Security Bug Bounty Program (una campaña de Mozilla que premia a aquellos que encuentren vulnerabilidades de seguridad en sus productos). Esta permitía validar el proceso de autenticación con OpenID utilizando una cuenta existente de Gmail o Yahoo, y de esta forma permitía que un atacante pueda ingresar al sistema con credenciales aparentemente válidas.
Por otro lado, utilizar una única cuenta para registro en múltiples sitios web puede representar un aspecto peligroso ante la pérdida o falsificación de dichas credenciales.
Los principios de Mozilla Persona la hacen una herramienta útil para simplificar el proceso de autenticación, aunque también con una gran responsabilidad, la de administrar todas nuestros permisos de acceso.
Gastón N. Charkiewicz
Especialista de Awareness & Research