¿Por qué es importante que Alicia no sepa K ? ¿Qué podría pasar si Alicia supiera K ?
Gracias a los comentarios de @Anders (¡thx!), no estoy seguro de que el generador de contraseñas sea un servicio compartido o un token de autenticación personal como digipass o SecureID .
El generador de contraseñas es un servicio compartido
En esta situación, Alice solo puede obtener la respuesta firmada H(R,K)
demostrando al generador de contraseñas que es Alice presentando su PIN. Si Alice supiera K
, entonces podría calcular H(R,K)
por su cuenta. Esto permitiría a Alice hacerse pasar por cualquier usuario de Bob. La comunicación sería:
I'm Joe User
R
H(R,K)
que Alice calculó por sí misma Alice ahora ha suplantado con éxito al usuario Joe.
El generador de contraseñas es un token de autenticación personal
En esta situación, el token se está utilizando para implementar 2FA . El factor algo que sabes es el PIN de Alice, y el factor algo que tienes es el token de autenticación. Si Alice conoce el K
que está almacenado en su token, entonces puede calcular H(R,K)
por su cuenta. Esto le permitiría iniciar sesión en el sistema utilizando solo un factor, a saber, algo que ella sabe. Si bien hay dos cosas: su PIN y K
, todavía es solo el factor algo que sabes . Como todo el objetivo del token es implementar 2FA, K
debe mantenerse en secreto de Alice.
Lea otras preguntas en las etiquetas web-application passwords banks protocols challenge-response