Lo que voy a escribir aquí no es mejor práctica , porque si alguna investigación de seguridad útil ha demostrado, es que la mejor práctica (por ejemplo, las pautas del NIST) se está quedando muy rezagada en la investigación. Este es un resumen de la investigación realizada sobre el tema, mis propias discusiones con expertos en seguridad utilizables en UCL y mi propio enfoque como diseñador de interacción.
Responda la pregunta a la inversa: ¿cuáles son los requisitos de seguridad de su sitio web y cuáles son los requisitos de autenticación?
Seguridad
Para la mayoría de los sitios web, esto se reduce a una simple pregunta: ¿qué externalidades irreversibles los usuarios (los usuarios primero, por favor. Luego, usted como proveedor) sufrirán si su cuenta es robada?
Si los usuarios sufren graves consecuencias (por ejemplo, pérdidas financieras, pérdida significativa de reputación, usurpación de identidad con posibles repercusiones legales), entonces le preocupa que tengan una contraseña segura no reutilizable. De lo contrario, puede dejar que reutilicen una contraseña de su elección.
Esto determina si usted controla el factor de autenticación, o ellos lo hacen. La verdad intrínseca detrás de esta regla es que los usuarios reutilizarán las contraseñas simplemente porque tienen que manejar demasiadas contraseñas para crear una única para cada sitio web (consulte la investigación sobre la gestión de carteras de contraseñas).
Usabilidad
Ahora es el momento de hablar sobre las modalidades de interacción. Lo que estamos viendo aquí es proporcionalizar la cantidad de esfuerzo del usuario al beneficio percibido de usar los servicios de su sitio web. ¿Los usuarios deben iniciar sesión una vez al año para hacer alguna declaración de impuestos o renovar una suscripción? Entonces, no hagas que recuerden una contraseña segura.
¿Deben iniciar sesión regularmente en su servicio y no es recomendable iniciar sesión automáticamente (por ejemplo, banca en línea o correo electrónico)? Entonces, los usuarios pueden ser más tolerantes a aprender una contraseña generada. La clave aquí es que los propios usuarios deben estar convencidos de que el beneficio percibido del servicio supera el costo de seguridad percibido, o se desactivarán (consulte la teoría del presupuesto de cumplimiento).
Autenticación fuerte de bajo esfuerzo
¿Qué hacemos cuando los usuarios no pueden tolerar el requisito de esfuerzo de una contraseña segura? Veamos ahora sus propios requisitos de autenticación. La opción más deslumbrante aquí es delegar la autenticación a un tercero. Esto podría ser Facebook o Google, o un esquema de identidad federado respaldado por el gobierno para servicios con obligaciones legales para autenticar usuarios en el mundo real.
También puede cambiar a tokens de autenticación o agregar factores de autenticación para compensar una contraseña potencialmente débil. También puede seguir la ruta de las contraseñas de un solo uso enviadas por correo electrónico. Las soluciones disponibles dependen de las restricciones que tenga con respecto a formas alternativas de autenticación.
Autenticación fuerte de alto esfuerzo
Recuerde mantener la relación costo / beneficio percibida de su esquema de autenticación equilibrada a lo largo del tiempo.
No sea el tipo de imbécil que impone una contraseña única y supercompleja a sus usuarios solo para obligarlos a cambiarla cada 3 meses, a menos que su modelo de amenaza realmente lo justifique. Esta es una forma segura de hacer que los usuarios almacenen sus contraseñas. Y con los usuarios que inician sesión en los servicios a través de su computadora, dispositivo móvil, equipo de oficina, etc., no todos usarán un administrador de contraseñas acreditado (a pesar de los ataques a la API del portapapeles que amenazan una amplia variedad de casos de uso para usuarios de administrador de contraseñas tanto en dispositivos móviles como escritorio).
También puede actuar sobre el beneficio percibido y el costo comunicando a sus usuarios lo que obtienen al usar una contraseña única y por qué es importante hacerlo específicamente para su servicio . A cambio, debe comprometerse con las buenas prácticas de seguridad y con respetar el tiempo de sus usuarios al no imponerles un teatro de seguridad adicional. Si respetan su decisión, serán menos propensos a pasar por alto su medida de seguridad o cambiar a servicios de la competencia.
Autenticación de baja seguridad
Simplemente envíeles un enlace de restablecimiento de contraseña, déjelos hacer lo que quieran, siéntese y relájese. O, de todos modos, cambie a la autenticación de Google / Facebook porque aún es más seguro y utilizable que la autenticación de contraseña.