Windows CardSpace e o meta sistema de identidades

 

Introdução

Windows CarsdSpace é um software cliente que faz com que o usuário forneça sua identidade digital através da escolha de cartões de um modo simples e seguro. Por isso, é também conhecido como "Seletor de identidade". Podemos dizer que é a nova proposta da Microsoft como forma de autenticação para sites ou serviços web.

 

Para ajudar e minimizar os problemas que temos (tais como: muitos logins e senhas, sites e autenticações nada seguros, usuários e programas maliciosos, descentralização, phishing, spoofing, etc), a solução encabeçada pela Microsoft é apenas uma implementação (baseada na arquitetura do Sistema de identidade - "The Identity Metasystem") do seletor de identidade da Microsoft. Outros sistemas operacionais terão suas próprias implementações de seletores de identidade. Essa não é uma iniciativa que partiu apenas da Microsoft, outras empresas interessadas (que devem ser muitas) em soluções para os problemas envolvendo a identidade digital, contribuíram para que, Kim Cameron (Arquiteto de Identidade da Microsoft - www.identityblog.com), tomasse frente e implementasse uma solução baseada nas “Leis da Identidade”.

 

Cada identidade digital representa um cartão. O seletor de identidades simula bem a nossa carteira hoje em dia, conforme a figura abaixo.

 

ebwcsmsifig01.jpg 

Figura 01 – A idéia de um seletor de identidades.

 

Em nossa carteira temos: CPF, Cartão de crédito BB, Carteirinha do clube e muitos outros cartões representando cada um, uma identidade digital. Sempre que precisamos nos autenticar perante a algum órgão do governo, apresentamos nosso CPF, sempre que precisamos nos autenticar nos caixas do Banco do Brasil, inserimos nosso cartão, enfim, sempre que precisamos nos autenticar (provar quem somos) apresentamos um cartão que contém as nossas informações. E a idéia do meta sistema e do seletor de identidades é exatamente esta. Apresentar um cartão sempre que precisarmos nos autenticar. Para isso, ao invés de fornecermos usuários e senhas, e ficarmos carecas para lembrarmos estas, será requisitado um cartão que nos autenticará e provará nossa identidade.

 

ebwcsmsifig02.jpg 

Figura 02 – CardSpace, seletor de identidades da Microsoft.

 

O que é preciso ter instalado?

Essa é uma questão muito importante quando se trata de sistemas WEB. Hoje, precisamos ter o Windows Vista, XP-SP2 ou Windows Server, IE7 e/ou o Mozilla Firefox (para este, foi desenvolvida uma extensão que pode ser baixada em: http://www.perpetual-motion.com/IdentitySelector.xpi.zip) e, claro, o Framework 3, sem ele, não é possível termos autenticação utilizando o seletor CardSpace. Este último pode ser encontrado GRATUITAMENTE no site da Microsoft ou clicando aqui.

Para testar, você pode entrar no blog do Kim Cameron (www.identityblog.com) e clicar na aba Login. Lá temos duas opções: Login na forma tradicional e o login por cartões. Para simularmos, basta clicarmos em “With an Information Card”.

 

Funcionalidade

Quando o usuário precisa se autenticar, o CardSpace abre uma popup (sua janela, o seletor de identidade, como mostra na Figura 02) para que o usuário selecione um dos cartões disponíveis. Cada cartão contém uma determinada quantidade de informações, isso depende de QUEM (Identity provider - provedor de identidade) lhe forneceu este cartão. O usuário pode atuar como um provedor de identidade criando seus próprios cartões pessoais (personal card) e isso é o que fazemos quase o tempo todo ou, ainda, receber um cartão (managed card) de uma organização como um banco, órgão do governo, etc.

 

Exemplo: Quando vamos cadastrar um novo usuário para o hotmail, atuamos como os próprios provedores de identidade, afinal, informamos os dados que quisermos neste cadastro. Já no caso de uma conta de banco, um usuário do Active Directory na empresa, estas organizações atuam como os provedores de identidade, nós fornecemos nossos dados reais a eles e eles nos retornam alguns dados para acesso a seus sistemas.

 

Com isso, ao usuário selecionar um cartão, o formulário envia uma requisição de uma chamada de web service ao provedor e este retorna um token encriptado contendo as informações requeridas (ex.: número do cartão de crédito, número da agência, número da conta, nome, endereço, etc). Como o usuário tem controle de todo o fluxo, ele opta por aprovar e enviar o token para o relying party onde o token é processado e o usuário é autenticado.

 

Claims

Os claims são todas as informações de um cartão, ou seja, os dados (campos) que temos neste cartão. Exemplo: Suponhamos que estamos utilizando um cartão pessoal, então como claims teremos: Nome, endereço, telefone, e-mail, etc.

 

Bom, agora que sabemos o que é e para que serve o CardSpace e o meta-sistema de identidades, no próximo artigo faremos uma abordagem pelos protocolos de comunicação do sistema, o que é Provedor de Identidade (identity provider) e Terceira parte confiável (Relying Party) e veremos como suportar o seletor de identidades em nossos sistemas.

 

Até lá.