Single Sing-on e a Implementação da SAML

O chamado Single Sing-on é uma estratégia de autenticação permite ao usuário utilizar uma única conta para entrar em diversos serviços diferentes.

Este tipo de autenticação que funciona como um acordo entre três entidades distintas, sendo elas: o Usuário que precisa acessar algum recurso; o IDP (Identity Provider) que fornece a identificação acerca de quem é aquele usuário; e ainda o SP (Service Provider) que fornece o recurso requisitado pelo usuário.

Um grande exemplo de utilização deste recurso é o próprio Google, que através de seu SP, no caso o Google Accounts, fornece a identificação do usuário para que ele acesse diversos recursos do Google. No ambiente corporativo, o SP mais comum é o Active Directory (em ambiente Windows).

Tal comunicação ocorre através do SAML (Security Assertion Markup Language), um padrão aberto para o câmbio de arquivos de autenticação e autorização entre terceiros.

Ocorre então que o usuário realiza primeiro a autenticação no IDP, ele então gera uma declaração SAML, isto é, um arquivo XML contendo as informações de autorização para que possa ser validado pelo SP.

Esta declaração é então enviada ao SP para validação e, caso o usuário seja valido, este consegue realizar o login no serviço requisitado.

Vale ressaltar que o meio pelo qual a declaração SAML contendo as informações de autorização pode divergir entre sistemas. No caso do Google esse arquivo fica gravado nos Cookies do navegador.

Esta estratégia é bastante interessante, capaz de facilitar muito a vida do usuário, contudo, não se pode esquecer das questões de segurança que este assunto pode levantar, como o uso de ataques do tipo Replay, que podem se aproveitar da confiança do SP com o usuário, reenviando solicitações ilegítimas ao servidor de modo a usar a autenticação que o usuário fez para realizar autenticações à vontade do atacante. Outra questão a se lembrar é sobre a utilização de senhas fracas, que neste caso pode ter um impacto enorme uma vez que de posse de uma única senha o atacante pode acessar todos os serviços relacionados àquele IDP.

Leave a Reply

Your email address will not be published. Required fields are marked *