Comparando os 3 Principais Provedores de Indentidade Federada: OpenID, OAuth, SAML8 min read

OpenID

OpenID é um padrão aberto patrocinado pelo Facebook, Microsoft, Google, PayPal, Ping Identity, Symantec, e Yahoo. OpenID permite ao utilizador ser autenticado usando um serviço de terceiros chamado fornecedores de identidade. Os utilizadores podem optar por utilizar os seus fornecedores de OpenID preferidos para entrar em websites que aceitem o esquema de autenticação OpenID.

A especificação OpenID define três funções:

  • O utilizador final ou a entidade que procura verificar a sua identidade
  • A parte confiante (RP), que é a entidade que procura verificar a identidade do utilizador final
  • O fornecedor de OpenID (OP), que é a entidade que regista a URL de OpenID e pode verificar a identidade do utilizador final

O diagrama seguinte explica um caso de utilização para um cenário OpenID:

p>identidade federada_OpenID

Considerações de segurança

OpenID teve algumas vulnerabilidades interessantes no passado, por exemplo:

  • Phishing Attacks: Uma vez que a parte confiante controla o processo de autenticação (se necessário) ao fornecedor de OpenID, é possível que uma parte confiante desonesta encaminhe o utilizador para um fornecedor falso de OpenID e recolha as credenciais do utilizador para o fornecedor legal de OpenID.
  • Falhas de Autenticação: Em Março de 2012, três investigadores apresentaram um trabalho que destacou duas vulnerabilidades em OpenID. Ambas as vulnerabilidades permitem que um atacante se faça passar por qualquer utilizador de um website se o website não verificar devidamente se a resposta do fornecedor de OpenID contém um endereço de correio electrónico devidamente assinado.

SAML

Security Assertion Markup Language (SAML) é um produto do Comité Técnico dos Serviços de Segurança da OASIS. Datado de 2001, SAML é um padrão aberto baseado em XML para o intercâmbio de dados de autenticação e autorização entre as partes.

A especificação SAML define três papéis:

  • O principal, que é tipicamente o utilizador que procura verificar a sua identidade
  • O fornecedor de identidade (idP), que é a entidade capaz de verificar a identidade do utilizador final
  • O fornecedor de serviços (SP), que é a entidade que procura utilizar o fornecedor de identidade para verificar a identidade do utilizador final

O diagrama seguinte explica um caso de utilização para um cenário SAML:

identidade federada_SAML

Considerações de segurança

    li>Um grupo de investigadores apresentou um trabalho em 2011 onde utilizou uma vulnerabilidade de embrulho de assinatura XML para se fazer passar por qualquer utilizador.

    OAuth

    OAuth é outro padrão aberto. Datando de 2006, OAuth é diferente de OpenID e SAML por ser exclusivamente para fins de autorização e não para fins de autenticação.

    As especificações do OAuth definem os seguintes papéis:

    • O utilizador final ou a entidade que possui o recurso em questão
    • O servidor de recursos (OAuth Provider), que é a entidade que hospeda o recurso
    • O cliente (OAuth Consumer), que é a entidade que procura consumir o recurso após obter autorização do cliente

    O diagrama seguinte explica um caso de utilizador para um cenário OAuth:

    Considerações de segurança

    • Uma falha de vulnerabilidade de fixação de sessão foi encontrada no OAuth 1.0. Um agressor pode corrigir um sinal para a vítima que é autorizado. O atacante utiliza então o token fixado.
    • OAuth 2.0 foi descrito como um protocolo inerentemente inseguro, uma vez que não suporta assinatura, encriptação, ligação de canal, ou verificação de cliente. O protocolo baseia-se inteiramente na segurança da camada de transporte subjacente (por exemplo, SSL/TLS) para proporcionar confidencialidade e integridade.

    Esta tabela explica as principais diferenças entre os três protocolos:

    OpenID

    OAuth

    SAML

    Datas De
    Versão actual

    OpenID 2.0

    OAuth 2.0

    SAML 2.0

    Main Purpose

    Sinal Único…On for Consumers

    AutorizaçãoAPI Entre Aplicações

    Sinal Único…On for Enterprise Users

    Protocolos Utilizados

    XRDS, HTTP

    JSON, HTTP

    SAM, XML, HTTP, SOAP

    No. de CVEs relacionados

    Outros Protocolos

    Existe um número crescente de outras opções de identidade federada. Aqui estão alguns exemplos.

    Higgins: Higgins é um novo protocolo de código aberto que permite aos utilizadores controlar que informação de identidade é divulgada a uma empresa.

    Windows CardSpace: CardSpace é o novo sistema de metas de identidade da Microsoft que fornece interoperabilidade entre os fornecedores de identidade e as partes que confiam no controlo do utilizador. Este protocolo está reformado e a Microsoft está a trabalhar num substituto chamado U-Prove.

    MicroID: MicroID é uma nova camada de identidade para a web e microformatos que permite a qualquer pessoa reclamar simplesmente a propriedade verificável sobre as suas próprias páginas e conteúdos alojados em qualquer lugar.

    Liberty Alliance: Liberty Alliance é um grande protocolo de orientação comercial que proporciona confiança de identidade inter-empresarial. É o maior protocolo de confiança de identidade existente em todo o mundo.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *