/ / ¿Cómo es seguro OpenId? - autenticación, openid

¿Cómo es seguro OpenId? - autenticación, openid

Encontré esto en otro SO hilo:

Pasos:

  1. El usuario se conecta al sitio web habilitado para OpenID.
  2. El usuario ingresa información de credenciales.
  3. Una POST se realiza con un BASE64 (sitio web para el proveedor)
  4. Se construye una respuesta (que contiene caducidad)
  5. El sitio web redirige al usuario al proveedor para iniciar sesión.
  6. El usuario ingresa la contraseña y la envía.
  7. La verificación está hecha.
  8. ¡Iniciar sesión!

¿Cómo se aseguran los pasos 6-8? A mi modo de ver, el cliente se está autenticando con el proveedor e informando el resultado a nuestro servidor.

¿Qué impide que el cliente falsifique el resultado de la autenticación?

Respuestas

2 para la respuesta № 1

Principalmente, el resultado de la autenticación está firmado criptográficamente por el proveedor. También hay otras medidas de seguridad que protegen contra otros ataques.

Citando el Especificación OpenID 2.0, sección 11.:

Cuando la Parte dependiente recibe una afirmación positiva, DEBE verificar lo siguiente antes de aceptar la afirmación:

  • El valor de "openid.return_to" coincide con la URL de la solicitud actual (Sección 11.1)
  • La información descubierta coincide con la información de la aserción (Sección 11.2)
  • Aún no se ha aceptado una aserción de este OP con el mismo valor para "openid.response_nonce" (Sección 11.3)
  • La firma en la aserción es válida y todos los campos que deben firmarse están firmados (Sección 11.4)

El cliente puede, por supuesto, enviar un resultado de autenticación falso, pero no pasará la verificación.