Bueno, una forma sencilla y casi segura es registrar solo una contraseña antigua en el momento en que el usuario declara su nueva contraseña; es posible porque la mayoría de las formas de ingresar una nueva contraseña primero requieren la anterior.
De esa manera, incluso si la lista de contraseñas antiguas estuviera comprometida, un atacante no podría usarla para conectar el sistema en su nombre porque la contraseña anterior está garantizada porque la política no estará activa. Podría apostar una moneda que realmente se usa en algunas organizaciones sin un HSM ...
Desafortunadamente, en un mundo real con usuarios humanos, esta no es una forma inofensiva, ya que si un usuario usa una lista de acceso de 11 contraseñas, el atacante debería simplemente esperar un mes o dos, y debería obtener la contraseña de forma no automática. más de 10 intentos ... ¡Incluso si la política ha sido respetada!
De todos modos, en mi humilde opinión, el mayor problema si pocos usuarios pueden crear 10 contraseñas diferentes buenas y recordarlas. Por lo tanto, el riesgo de que un usuario escriba su propia lista de once contraseñas es alto, y el lugar más débil en la cadena de seguridad ya no es el almacenamiento seguro para la lista de contraseñas antiguas (HSM tiene una reputación suficientemente buena para eso) sino más simplemente el escritorio cajón que contiene la lista ...
La seguridad que viene a expensas de la usabilidad viene a expensas de la seguridad ...