Creo que lo mejor es verificar la debilidad de la contraseña en el lado del servidor, esto puede ser una operación costosa (en la búsqueda de ejemplos en los diccionarios). También las contraseñas comúnmente utilizadas o verificadas para ataques son una buena apuesta.
Es posible que MS primero intente hacer hash de la contraseña y compararla con una lista de contraseñas no seguras (que en realidad no son utilizadas por ningún usuario real). Si el hash falla, entonces, en el ejemplo, podría intentar buscar la fuerza de la contraseña con otro eurista , finalmente puede rechazar o aceptar la contraseña y olvidarse de ella en su versión sin hash. Si se rechaza la contraseña, es probable que se haya agregado a la lista hash no segura .
La verificación de la debilidad de la contraseña también puede tener en cuenta los ataques comunes utilizados, por lo que tiene que ser un algoritmo en evolución.
Esto tiene 2 ventajas:
- No es necesario que almacene TODOS los hashes de contraseñas no seguras.
- Puede prohibir colisiones altogheter en hashes (por ejemplo, una contraseña segura con el mismo hash de una contraseña débil).
Por supuesto, esas son solo especulaciones, no podemos conocer las medidas de seguridad de contraseña tomadas por un cuerpo tan grande como Microsoft.
Como medida final, solo usaría un hash diferente para las contraseñas débiles en comparación con las contraseñas reales de los usuarios.
EDITAR:
¿Por qué incluso las contraseñas débiles deberían estar ocultas? Para mí no hay necesidad de un hash fuerte, pero las contraseñas débiles de hashing permitirían al menos "asegurar" datos valiosos. No tiene ningún costo hacer un hashing simple, pero si se produce una fuga de datos en la base de datos, sabrá que al menos los competidores no podrán revertir fácilmente las contraseñas débiles, que aún puede ser un problema de seguridad para los servicios que no utilizan la prohibición lista o al menos puede causar una pequeña ventaja económica .
Entonces, para responder al comentario de GroundZero: No, para mí ni las contraseñas débiles deben almacenarse en texto sin formato. Un simple hachís beneficiaría a la corporación de todos modos. Esto se debe a que hay contraseñas que son específicas de la cultura, recopilar esa información requeriría una inversión masiva, ¿por qué debería almacenar información valiosa de una manera fácil de recuperar?