De volta ao básico: A federação a nosso alcance
Bem, pretendo que este seja o último post da série De volta ao básico. Por que? Porque a partir de agora teremos que entrar um pouco mais fundo nos temas que foram abordados para entender melhor as tecnologias utilizadas. Só para relembrar, esta série é composta de 5 posts:
- Anatomia da identidade digital;
- O caos das identidades;
- A idéia do diretório único;
- E quando não é possível usar um diretório único?
- A federação a nosso alcance (este post).
Discutimos um pouco sobre a questão do caos das identidades e como a idéia de um diretório único poderia resolver o assunto. Mas a realidade é diferente da teoria, e múltiplos diretórios muitas vezes são necessários.
Um dos fatores que complicam ainda mais a questão de múltiplos diretórios é a contínua evolução da tecnologia de identificação digital. Pelo andar da carruagem, ainda há um longo caminho a percorrer, principalmente no que tocante à identificação de consumidores (ou cidadãos).
Uma das mais recentes tendências no campo de identidades digitais, é o uso de tecnologias de federação. A idéia que fundamenta a federação é muito simples. Vamos examinar um cenário e verificar como a federação ajuda.
Digamos que um funcionário de uma empresa seja cliente de um banco de varejo nacional. Estas duas empresas são parceiras de negócio em duas frentes: gestão de folha de pagamento e gestão de fluxo de caixa. Hoje em dia, o funcionário (vamos chamá-lo de FUNC1) tem sua identidade dentro da rede de sua empresa e tem também um par cliente/senha (mais, eventualmente, um token ou frase secreta) para acessar as informações de sua conta-salário no banco. O funcionário, logado na rede da empresa, ao entrar no site de relacionamento de seu banco vai ser apresentado à tela de login para poder acessar sua conta pois o banco não reconhece a identidade já utilizada pelo funcionário para acessar os recursos de rede de sua empresa.
No cenário de federação de identidades, a empresa e o banco assinam um acordo de confiança e criam uma infra-estrutura que reflita o acordo assinado. Neste cenário, o funcionário já logado na rede interna, ao acessar o site de relacionamento do banco poderá ser direcionado diretamente para sua página principal personalizada, sem necessidade de passar por uma tela de login do banco.
De forma simplificada, o que acontece é o seguinte: ao acessar o site de relacionamento do banco, já tendo logado na rede interna da empresa, o browser do funcionário é desafiado a apresentar as credenciais adequadas para o acesso. No primeiro cenário, em que não há federação de identidades, o browser não consegue apresentar nenhuma credencial, portanto a navegação é transferida para a página de login. No ambiente de federação, o browser é capaz de informar ao site de relacionamento que já existe um usuário logado na estação, cujo nome é FUNC1 e que pertence à empresa WOODGROVE. O web server do banco, ao receber esta informação verifica em sua tabela de confiança se a empresa WOODGROVE é uma empresa confiável, participante de seu ambiente de federação. Em caso positivo, o banco envia ao diretório federado da WOODGROVE a informação de que FUNC1 está tentando acesso ao seu site e requisita um token de acesso autenticado para aquela sessão. O diretório da WOODGROVE inicialmente verifica se FUNC1 está corretamente autenticado e envia para o banco um confirmação de identidade. Recebida esta confirmação, o site do banco efetua um acesso à sua base de clientes e verifica que FUNC1 da empresa WOODGROVE é o titular da conta 555-123456-7 e já carrega a página personalizada de serviços.
Enquanto FUNC1 não solicitar nada que gere novas transações no banco (por exemplo, fique apenas consultando indicadores financeiros, notícias, etc) a navegação segue normalmente. Caso FUNC1 tente acessar transações de saldo, extrato ou qualquer outra de transferência de fundos, o site do banco pode solicitar a ele uma nova prova, que pode ser um dos dados da tabela de controle de acesso (muito comum hoje) ou mesmo a confirmação de uma frase secreta. Como o site já sabe que o acesso inicial é feito por FUNC1, titular da conta 555-123456-7, basta apenas confirmar este complemento.
Extrapolando um pouco este exemplo, imagine como o relacionamento eletrônico em comércio eletrônico pode melhorar. Se o site de uma empresa de comércio eletrônico "confia" nas identidades geradas por uma instituição financeira, o processo de autorização de pagamento pode ser amplamente facilitado. E tudo isto com a vantagem de que o usuário pode ter um universo muito menor de identidades na Internet, podendo inclusive chegar a apenas uma identidade para todo seu trabalho.
Existe também a possibilidade de se criar, num ambiente federado, empresas especializadas apenas em processos de autenticação. Com isso, tanto a empresa de comércio eletrônico quanto a instituíção financeira podem "confiar" numa terceira entidade (o provedor de identidades) para realizar todas as suas transações.
E o que é melhor: os protocolos usados nos ambientes de federação de identidades são padronizados, portanto no nosso exemplo tanto empresa quanto banco e provedor de identidades podem estar se utilizando de diversas plataformas, com diferentes soluções de diretório (a mais adequada para seu negócio), para interoperarem uns com os outros.
É a possibilidade de termos um single sign-on de verdade.