/ / Como o OpenId é seguro? - autenticação, openid

Como o OpenId é seguro? - autenticação, openid

Eu encontrei isso em outro SO fio:

Passos:

  1. O usuário se conecta ao site ativado para OpenID.
  2. O usuário insere informações de credenciais.
  3. Um POST é feito com um BASE64 (site para provedor)
  4. Uma resposta é criada (que contém expiração)
  5. O site redireciona o usuário ao provedor para efetuar o login.
  6. O usuário digita a senha e envia.
  7. A verificação está concluída.
  8. Conecte-se!

Como as etapas 6-8 são protegidas? Do meu ponto de vista, o cliente está se autenticando com o provedor e relatando o resultado ao nosso servidor.

O que impede o cliente de falsificar o resultado da autenticação?

Respostas:

2 para resposta № 1

Principalmente, o resultado da autenticação é assinado criptograficamente pelo provedor. Existem também outras medidas de segurança que protegem contra outros ataques.

Citando o Especificação OpenID 2.0, seção 11.:

Quando a Parte Confiante recebe uma afirmação positiva, DEVE verificar o seguinte antes de aceitar a afirmação:

  • O valor de "openid.return_to" corresponde ao URL da solicitação atual (Seção 11.1)
  • As informações descobertas correspondem às informações na asserção (Seção 11.2)
  • Ainda não foi aceita uma afirmação deste OP com o mesmo valor para "openid.response_nonce" (Seção 11.3)
  • A assinatura na asserção é válida e todos os campos que precisam ser assinados são assinados (Seção 11.4)

Obviamente, o cliente pode enviar um resultado falso de autenticação, mas não passa na verificação.