Gerenciamento de Identidade: o que isso tem a ver com Twitter e Facebook?

Ontem fiz dois “tweets” assim:

Fala-se muito em ‘modelo de negócio’ em Redes Sociais… mas algumas coisas passam debaixo do nariz… (cont.)

(cont.) Exemplo: Facebook e Twitter estão comendo pelas bordas em “Identity Management”… depois não adianta reclamar!
Isso gerou uma conversa interessante com a @anagoelzer, o que me levou a escrever este post.

E o que é Gerenciamento de Identidade?

Você já ouviu uma frase popular (bem popular) que diz: “Cada um é cada um”?
Gerenciamento de Identidade é um mecanismo (um pouco mais científico do que a frase) para sustentar este conceito.
Você é um(a) só, mas já parou para pensar quantas vezes você precisa comprovar isso? No banco, em cada site da Internet, no PoupaTempo, na catraca de sua empresa, no telefonema para pedir pizza…
Você já parou para pensar em quantos lugares você já cadastrou seu nome? Obviamente, em conjunto com outras diversas informações associadas a você: telefone, endereço, CPF, e-mail, etc. Aposto que se você mudar o número do celular, não vai saber quantos cadastros você terá que atualizar, entre pessoas, empresas, sites e sistemas.
Para dar uma idéia da complexidade do problema, até mesmo dentro da própria empresa que você trabalha isto é grande desafio. Ao ser contratado, você recebe um crachá (sistema de acesso físico), talvez outro para o estacionamento, uma conta (e senha) para acesso à rede, outra para o sistema de gestão de clientes, outra ainda para o sistema de controle de horas, mais uma para o seu blog profissional, e por aí vai. Na demissão, deve existir um processo inverso, caso contrário você continuará tendo acesso a informações que não deveria mais acessar. Estes processos são chamados de “provisionamento” e “desprovisionamento”.
Prá piorar, entre o início (provisionamento) e o fim (desprovisionamento) existe o “meio”. Exemplo? É comum mulheres se casarem e agregarem o sobrenome do marido. Como ficam todos os cadastros onde este nome ficou desatualizado?

Centralização x Sincronismo

Há duas formas de lidar com este desafio: Centralizar os cadastros ou Sincronizá-los. Centralizar parece ser mais fácil, mas tecnicamente, não é bem assim. No caso de ambientes Microsoft, bastaria utilizar o “Active Directory” (recurso de “cadastro de usuários” do Sistema Operacional Windows Server) como cadastro único e centralizado.
Para isso, porém, todas as aplicações devem se integrar ao Active Directory (ou AD). Isso nem sempre é realizável – não foram poucas as vezes que vi clientes rodando aplicações cujo código fonte não existia ou estava fora do controle da empresa, impossibilitando tais adaptações.
Quando não é possível ter um cadastro só, os diversos sistemas devem ser sincronizados entre si. O ideal é realizar alterações em um único sistema, e a partir dele, o sistema de Gerenciamento de Identidade se encarrega de atualizar todos os demais.
Fácil de falar, muito difícil de fazer. E se duas alterações acontecerem simultaneamente em dois sistemas? E a consistência dos dados? E os homônimos? Tudo isso adiciona complexidade…

Na prática

Se você leu até aqui, deve ter começado a pensar nas inúmeras senhas que você tem que memorizar… Não seria lindo ter uma senha só? Não seria o máximo alterar a senha uma vez só, e todos os “seus” sistemas automagicamente passarem a trabalhar com a nova senha?
Isso é possível com os artifícios mencionados acima. E já existem algumas empresas que estão oferecendo alguns Serviços nesse contexto: Twitter, Facebook e a Fundação OpenID estão neste jogo.
Da mesma forma que Twitter e Facebook permitem que qualquer um desenvolva aplicações que interajam com eles através de API’s (Application Programming Interfaces), estas plataformas também permitem que aplicações “confiem” no login que você fez nelas. Isso significa, por exemplo, entrar no Facebook e a partir daí ter acesso a todas as aplicações “integradas” ao Facebook.

Implicações

Embora a proposta facilite bastante nossa vida e nos aproxime do “sonho do login único”, há alguns pontos interessantes a notar:

  • Seu cadastro é compartilhado entre aplicações. Você tem que confiar na plataforma que está gerenciando isso;
  • Uma vez que existe essa integração, a plataforma que gerencia identidades também consegue saber que aplicações você está utilizando, e com isso, ter mais informações sobre você. Se isso é bom ou ruim só vai depender do uso que a plataforma fizer desta informação;
  • A “autenticação” (login) costuma ser feita através de usuário e senha. Ter esta senha comprometida significa ter o acesso a muitos sistemas comprometido. Obviamente bancos não vão adotar este caminho e vão continuar com seus mecanismos de login com métodos adicionais de segurança (tokens, cartões de segurança, biometria, etc).

Bem, a idéia era abrir a discussão. Agora só falta o seu comentário 😉
Grande abraço!
Twitter do Palma Facebook do Palma Linkedin do Palma