Um cenário muito comum nos dias de hoje é termos um emaranhado de senhas para acessarmos bancos, redes sociais, lojas online, Netflix, entre milhares de outros serviços. O mesmo se aplica no contexto empresarial, uma vez que em nossas empresas também temos que controlar credenciais de acesso para diversos sistemas como e-mail, sistemas de ERP, ECM, Recursos Humanos etc. O problema é tanto para usuários quanto para os administradores de TI que têm que gerenciar esses diversos repositórios de senhas.
Atualmente, para o contexto pessoal temos diversas alternativas para controle de senhas, como o gerenciador de senhas do Google Chrome, o qual, quando sincronizado ao nosso usuário da Google, permite armazenarmos diversas senhas. Nas empresas, o sonho de usuários e administradores de sistemas é ter uma senha única autenticada em apenas um lugar (o chamado Single Sign-on) e que permite acesso instantâneo a todos os sistemas da organização.
Para auxiliar nesse processo existem diversos mecanismos de autenticação integrada, que como o próprio nome diz, integram com os diversos sistemas da empresa e garantem a identidade do usuário sem precisarmos informá-la diversas vezes.
Como funcionam os mecanismos de autenticação integrada?
Basicamente estes sistemas funcionam da seguinte maneira:
- O sistema de autenticação integrada é configurado contra um repositório de usuários e senhas, o qual pode ser, por exemplo, um repositório de senhas próprio ou integrado com um Active Directory (repositório de usuários e computadores de um domínio Windows).
- Ao acesso de um usuário em alguma aplicação (no nosso exemplo o ERP da empresa), esta verifica se o usuário já está autenticado. Caso não, pergunta ao sistema de autenticação integrada “Qual usuário está logado?”.
- O sistema de autenticação integrada verifica se existe algum usuário autenticado. Se não houver, ele solicita as credenciais do usuário (usuário e senha).
- Uma vez o usuário logado no sistema de autenticação integrada, ele responde à aplicação qual o usuário que está logado.
- A aplicação ERP do nosso exemplo recebe o usuário e segue dando acesso à ferramenta.
- Caso o usuário acesse outra aplicação da empresa, como o sistema de RH, esta nova aplicação repete o passo 2. No entanto, como o usuário já está autenticado no sistema, pula-se direto para o passo 4.
Podemos ver que o funcionamento é relativamente simples: o usuário acessa seu sistema, o sistema acessa a autenticação integrada e esta passa ao sistema o usuário logado (e caso necessário cobra as credenciais do usuário).
Vantagens da autenticação integrada
Os mecanismos de autenticação integrada ainda permitem uma série de vantagens, das quais citamos:
- Interface de login amigável para o usuário, pois a “tela de login” será sempre a mesma;
- Repositório único de senhas;
- Possibilidade de implementar autenticação com token, autenticação multifator (com mensagem SMS por exemplo) para todas as aplicações; e
- Implementação de políticas (horários, estações permitidas, entre outras) que afetam a rotina de acesso aos sistemas.
Sistemas e protocolos de autenticação integrada
Aqui citaremos três:
- CAS
- SAML
- ADFS
CAS – Central Authentication Service
Trata-se de um protocolo de autenticação Single Sign-on para WEB, permitindo aos usuários acessarem várias aplicações informando suas credenciais apenas uma vez. Basicamente segue o script exposto acima: quando o cliente acessa um sistema que requer autenticação, este redireciona para o CAS, o qual autentica o usuário e o retorna para a aplicação.
O CAS foi concebido e desenvolvido na universidade de YALE e posteriormente se tornou um projeto do JASIG (Java in Administration Special Interest Group). Atualmente é mantido pela APEREO Foundation. Dentre os principais recursos podemos citar:
- Suporte a diversos protocolos de autenticação (LDAP, SAML entre outros);
- Autenticação Multifator (senha e SMS por exemplo);
- Gerenciamento de senhas e políticas de autenticação.
SAML – Security Assertion Markup Language
Diferente do CAS, o SAML é uma linguagem XML para troca de informações de segurança. Ele é citado aqui pois é utilizado por muitos mecanismos de autenticação integrada (incluindo o CAS) para a troca de informações.
Basicamente ele define um padrão de mensagens XML para as “conversas” entre a aplicação e o serviço de autenticação. Por exemplo, define o padrão de quais informações o IDP (Identity Provider ou provedor de identidade) deve retornar à aplicação de acordo com o que a mesma solicita.
Esta linguagem é bastante disseminada e pode funcionar com muitos sistemas de autenticação integrada e single sign-on como o CAS e o ADFS da Microsoft.
ADFS – Active Directory Federation Services
É um sistema de autenticação integrada que pode ser executado em servidores Windows e provedor single sign-on para aplicações localizadas na organização. O ADFS utiliza o Active Directory do Windows como provedor de identidade e repositório de senhas e integra com os sistemas através de vários protocolos como LDAP, SAML entre outros.
Concluindo
Neste artigo citamos apenas alguns protocolos e sistemas que permitem implementar autenticação integrada e single sign-on dentro das organizações, porém existem muitos outros sistemas e protocolos no mercado.
É importante reforçar que ao mesmo tempo que estas ferramentas aumentam a segurança – pois temos um repositório centralizado e um sistema especializado para o fim de controle de autenticação -, é necessária uma boa administração para que não haja pontos de vulnerabilidade. Políticas restritas, expiração de senhas, autenticação multifator são itens importantes a serem adotados para aumentar a segurança.
A implementação de sistemas de autenticação tem sua complexidade na escolha de ferramentas e protocolos suportados, mas sua adoção resolve uma série de problemas relacionados à autenticação, ainda aumentando a segurança e facilitando a vida dos usuários.
Para os nossos clientes, vale reforçar que o Fusion Platform suporta todos os mecanismos citados neste artigo, aderindo às políticas de empresas que adotam ou desejam adotá-los.