Educación, amenazas y herramientas.
La primera mitigación de problemas de seguridad es enlistar usuarios. De todos modos, no puede obtener una buena seguridad sin su conocimiento, por lo que puede pedir su ayuda. Publicar pautas sobre cómo se debe elegir una contraseña.
Para reforzar el punto anterior, presiona un poco (solo un poquito). Habla la palabra fatídica: "responsable". Los seres humanos son humanos, algunos necesitarán el incentivo adicional; En particular, tener cuidado de explícitamente deletrear quiénes serán los ataques de falla, enfatizará la seriedad del problema. La gente no creerá en la importancia de los problemas de seguridad si usted, como encargado del servidor, no hace su tarea. Estas amenazas pequeñas y poco ocultas empujarán a los usuarios a la zona ligeramente incómoda donde están alerta . ¡No te excedas! Quiere usuarios que cumplan , no usuarios que luchen contra su sistema .
En ese punto, ayuda a los usuarios. El hecho básico de la generación de contraseñas es que los humanos no son buenos para la aleatoriedad . Pero la aleatoriedad es lo que se necesita para una contraseña. Dado que se trata de una aplicación web, tiene un servidor web de confianza: "de confianza" en el sentido de que la contraseña es para garantizar la seguridad de ese servidor, por lo que el servidor mismo no puede ser un enemigo ( no tiene sentido). Por lo tanto, use ese servidor: incluya un generador de contraseñas . Algo que producirá buenas contraseñas, accesibles con un solo clic.
Las dos facetas de la generación de contraseñas son que la contraseña no debe ser adivinable, pero debe ser memorizada de todas formas. Al dar las reglas para la generación de contraseñas, asume que la mnemotecnia por la cual el usuario las recuerde la contraseña coincidirá exactamente con el proceso por el cual se creó la contraseña creada . Esta es una restricción artificial. Considere el famoso generador de contraseñas de XKCD : el generador no trata de elegir cuatro palabras que "tengan sentido" juntas; en su lugar, se trata de seleccionar cuatro palabras al azar y luego, solo entonces, encontrar un "significado" para ello (como el dispositivo de almacenamiento de electricidad que medita en mamíferos ungulados). Esto resalta cómo se generan las contraseñas seguras: usa la aleatoriedad , luego entrena al cerebro para enfrentar el resultado.
Un esquema de generación de contraseñas que me gusta mucho va así: genera dos letras, luego dos dígitos, luego dos letras, luego dos dígitos. Para complacer a las interfaces de aplicaciones inflexibles, haga que las dos primeras letras sean minúsculas y las otras dos mayúsculas. La entropía de este proceso de generación es 10 4 * 26 4 , es decir, un poco por encima de 2 32 . 32 bits de entropía no son malos: tomará un promedio de más de dos mil millones de intentos para romper una contraseña de ese tipo. Esto es suficiente para la seguridad en línea (a su servidor le tomaría mucho tiempo "probar" tantas contraseñas). Por otro lado, encuentro que estas contraseñas aleatorias son fáciles de recordar . Intentalo ! Ya recuerdas los números de teléfono, que son solo numéricos; Las letras son grandes "anclas" para la mente y hacen que la memorización sea más fácil. Aquí hay cinco contraseñas de ese tipo, recién generadas (no las elegí):
sf57HD04
sd82PI16
ny21BF75
xv53AQ36
jz91EQ92
Por cada uno de ellos, creo que ya estás encontrando una forma sencilla de "reconstruir" en tu cerebro, como si lo hubieras creado de una manera ingeniosa. Pero como se han generado con aleatoriedad real, su entropía está intacta.