¿Puede alguien ayudarme? ¿Qué es un desafío en el libro de texto de autenticación?
En un protocolo de autenticación, hay prover y verifier . En criptografía y computación en red en general, eres lo que sabes . De hecho, desde el exterior, lo "veo" solo a través de lo que hace en la red (los paquetes que emite), y así puedo hacer una diferencia entre "usted" y "otra persona" solo sobre la base de lo que pueda. hacer y que alguien mas no pueda. Dado que todos pueden comprar el mismo tipo de PC, "lo que puedes hacer" equivale a "lo que sabes".
Por ejemplo, supongamos un protocolo de autenticación simple basado en contraseña. "Lo que sabes" es la contraseña. "Lo que puedes hacer" es emitir un paquete que contiene la contraseña.
Un desafío es un valor no fijo que yo, como verificador, le enviaré a un investigador, desafiándolo a realizar un cálculo que involucre el desafío y cualquiera que sea Valor secreto que el proverbio conoce. Por ejemplo, conozco una contraseña y sé que el "Hossein genuino" también lo sabe. Alguien que alegue ser Hossein me contacta. Para asegurarme de que este es el verdadero Hossein, le envío un desafío, es decir, una cadena aleatoria r . Luego debe responder enviándome el hash de la concatenación del desafío r y la contraseña p . El verdadero Hossein puede hacer eso (él sabe p ) y, como también sé la contraseña, puedo calcular la respuesta esperada y ver si ese es el mismo valor que el supuesto Hossein devolvió.
La ventaja de este protocolo sobre el método simple "mostrar la contraseña" es que la contraseña no se envía "sin cifrar". Un atacante que observe los paquetes de datos no aprenderá la contraseña inmediatamente; simplemente aprende la "respuesta apropiada" para un desafío dado r . Pero esto no lo llevará lejos: si el atacante intenta hacerse pasar por Hossein más adelante, le enviaré otro valor de desafío: un nuevo desafío aleatorio r ', no el mismo r que anteriormente. El atacante, sin saber la contraseña, no podrá calcular la respuesta correcta para r ', ya que solo conoce la respuesta para el valor de desafío r .
(Este protocolo simplista tiene otros problemas, pero aún ilustra el concepto básico de "desafío" en un protocolo de autenticación).
Lea otras preguntas en las etiquetas authentication web-service