Forzar una nueva contraseña con autenticaciones de prueba de conocimiento cero

7

Supongamos que se utiliza un ZKP (por ejemplo, SRP6a), para la verificación de la contraseña.

Digamos que necesito obligar a un usuario a cambiar su contraseña (de modo que tengo el salt y el verificador para la contraseña actual). Para ello, el cliente deberá enviarme los nuevos valores de sal y verificador. Pero no puedo comprobar si la contraseña utilizada fue la misma si el valor salt es aleatorio.

La razón por la que me molesto es porque la contraseña inicial puede entregarse de una manera menos segura, y no quiero que la contraseña permanezca.

La única forma de asegurar que las contraseñas sean diferentes que encontré es exigir que la nueva sal sea igual a la antigua.

El mecanismo para cambiar la contraseña se expone como una API al cliente, y no necesariamente puedo confiar en que el cliente realice esa verificación.

Las preguntas son:

  1. ¿Hay una mejor manera?
  2. Si no, entonces ¿hay algún inconveniente para requerir la misma sal, es decir, estoy comprometiendo algo?
pregunta Pawel Veselov 23.07.2015 - 23:10
fuente

1 respuesta

1

En primer lugar, tenga en cuenta que si el servidor generó la primera contraseña insegura, le resultará fácil verificar si el cliente cambió la contraseña o no. Porque el único valor secreto en este esquema es la propia contraseña. Por lo tanto, el servidor puede intentar generar la variable v y simplemente verificar si son idénticas. Así que tu problema original se resuelve de esa manera.

Según tengo entendido, la idea detrás de la sal en este esquema es exactamente evitar que un adversario descubra cuándo se usa la misma contraseña. A mí me parece (no lo he comprobado, pero con una mirada rápida) que el esquema será lo suficientemente seguro si solucionas una sal aleatoria para cada cliente. Parece que la única ventaja en este caso es que el servidor puede detectar la reutilización de contraseñas.

    
respondido por el DiGMi 21.10.2015 - 11:42
fuente

Lea otras preguntas en las etiquetas