Infraestrutura de autenticação e autorização federada

Uma infraestrutura de autenticação e autorização federada é constituída por dois tipos de elementos principais:

  • Provedores de Identidade, responsáveis pela manutenção das informações sobre usuários e por sua autenticação;
  • Provedores de Serviço, que oferecem acesso a um recurso ou serviço específico.

Um conceito básico de uma federação é a relação de confiança entre provedores de serviço e provedores de identidade. Os primeiros têm que acreditar na qualidade dos dados fornecidos pelos provedores de identidade. Por outro lado, estes têm que confiar nos provedores de serviço, garantindo que utilizarão os dados de usuários apenas para os fins combinados.

Outro aspecto da arquitetura de uma federação é o gerenciamento de informações sobre os provedores de identidade e serviço através da manutenção de metadados. A operação da CAFe mantém disponíveis para os participantes dados sobre cada uma das instituições participantes (endereço do servidor que atua como provedor de identidade, certificado de servidor, etc).

O suporte à autenticação federada se dá da seguinte forma: ao acessar um determinado provedor de serviço, o usuário é redirecionado para uma página que lhe apresenta uma lista de provedores de identidade. O usuário escolhe então sua instituição de origem, e seu navegador é redirecionado para o provedor de identidade dessa instituição. Após autenticar o usuário, o provedor de identidade repassa o resultado dessa autenticação ao provedor de serviço e cria uma sessão de uso associada ao usuário, de forma que acessos a novos serviços dentro de um determinado intervalo de tempo não gerem novas requisições de autenticação (single sign-on).

Além da garantia de autenticação, o provedor de serviço poderá requisitar ao provedor de identidade informações adicionais (atributos) sobre o usuário, como, por exemplo, seu vínculo com a instituição. Esses atributos podem ser utilizados para estabelecer as autorizações do usuário com respeito ao recurso ou serviço acessado. A configuração de privacidade adotada pelo provedor de identidade especifica que atributos de seus usuários poderão ser requisitados pelos provedores de serviço.

Fluxo de Informações

A figura a seguir ilustra as interações realizadas durante um acesso típico, via navegador, a um serviço federado. O fluxo apresentado assume que nenhuma informação sobre o usuário é conhecida pelo provedor do serviço, e que este é o primeiro acesso do usuário a um serviço federado.

Projeto gráfico: Diogo Martins | Ilustrador: Tecnodesign

 

1. O usuário direciona seu navegador para a página do serviço desejado.
2. O servidor redireciona o navegador para o serviço de descoberta da federação (WAYF).
3. O serviço de descoberta apresenta ao usuário as instituições que oferecem provedores de identidade para a federação.
4. O usuário seleciona uma instituição, e seu navegador envia ao serviço de descoberta os dados desssa seleção.
5. O serviço de descoberta redireciona o navegador para a instituição selecionada.
6. O provedor de identidade da instituição envia ao navegador a página de autenticação do usuário.
7. O usuário fornece suas credenciais e o navegador as envia ao provedor de identidade.
8. O provedor de identidade gera um handle e o envia ao navegador, que o encaminha ao provedor de serviço, que assim obtém a prova de autenticação do usuário. Para algumas aplicações, isso é suficiente para autorizar o acesso do usuário ao serviço.
9. Opcionalmente, o provedor de serviço pode enviar um pedido de atributos ao provedor de identidade/atributos, utilizando o handle para especificar o usuário em questão.
10. O provedor de identidade/atributos retorna os valores dos atributos requisitados.

 

Tecnologia adotada: SAML e Shibboleth
Atualmente, o protocolo SAML (Security Assertion Markup Language) vem se firmando como um padrão ad hoc para a troca de informações de autenticação e autorização entre provedores de identidade e de serviço, e é universalmente adotado pelas diversas federações de identidade acadêmicas. Entre as tecnologias baseadas no SAML, o pacote Shibboleth, desenvolvido no âmbito do projeto Internet2, vem sendo o mais amplamente utilizado. É essa a tecnologia adotada para a federação CAFe.
Esquema de Dados
Uma federação deve especificar que atributos de usuários deverão ser mantidos pelos provedores de identidade e, se assim permitido por sua configuração de privacidade, fornecidos aos provedores de serviço. Para a federação CAFe, o esquema de dados brEduPerson atende esse requisito.