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!
Olá Luciano!
Trabalho com essa realidade diarimente, e realmente é um desafio encontrar uma regra que permita atualizar os dados de um cadastro em diversos ambientes, sendo que todos esses ambientes são atualizáveis.
No Brasil ainda não conseguimos ter nem mesmo uma identidade física única, apesar de algumas tentativas ainda não existe um documento padrão e único à todo cidadão, e acredito que esse é um dos fatores que dificulta (e muito) ter um cadastro único para tudo que exige disponibilização de dados.
Acredito que a questão da identidade única tende a ser um ponto chave nas discussões tanto sociais quanto tecnológicas, recentemente participei de um discussão a respeito desse assunto, e quando se discutia a criação de um sistema único de informações o maior empecilho era definir quem poderia alterar, e em caso de alteração simultâneas em mais de um ambiente, qual informação seria válida.
É curioso ver como ao mesmo tempo que estamos tão conectados ao mundo, ainda somos tão isolados de nós mesmos, ao ponto de como voc~e mesmo citou, nem sabermos mais onde nossos dados estão!
Abs!
Muito interresante seu post Palma.
A um tempo atrás vinha pensando muito nisso, um sistema integrado de gerenciamento de identidade, como um windows live ID universal.
Porém vem um grande problema que você mesmo citou:
“Ter esta senha comprometida significa ter o acesso a muitos sistemas comprometido”
Com a extinção de vários login’s acredito que deveria ser extinta também esta forma que utilizamos a muito tempo para comprovar nossa identidade, o sistema de usuário e senha.
Tudo evoluiu muito porém os metodos de login ficaram práticamente parados no tempo, salvo apenas os serviços críticos com o uso de tokens, biometria e etc.
A idéia que queria deixar é que talvez o problema de segurança no ato do login deva ser visto como um trampolim para uma evolução, forçando os usuários a utilizar opções mais seguras.
Adorei o termo “automagicamente”, hahaha
Abraço =)
Luciano, boa-tarde.
Estamos coletando alguns artigos científicos sobre SI-IDM, para o TCC.
Gostaríamos de trabalhar o “problema” de implantação da gestão de identidade, na área de Recursos Humanos, com fazer, os projetos, processos etc.
Você tem algum material sobre isso?
Muito obrigado.
Olá Allan,
Trabalhei com um produto da MS, o MMS (MS Metadirectory Service) nos idos de 2004. O produto pasou pelo nome ILM – Identity Lifecycle Manager e agora faz parte da família Forefront, com o (infeliz) nome de FIM – Forefront Identity Manager.
A Novell também tem seu produto (Novell Identity Manager: http://www.novell.com/products/identitymanager).
O Oracle oferece o Oracle Identity Manager: http://www.oracle.com/technetwork/middleware/id-mgmt/overview/index.html).
O produto da IBM é da família Tivoli (Tivoli Identity Management: http://www-142.ibm.com/software/products/br/pt/identity-mgr/)
Estes são produtos um pouco diferentes dos mecanismos de gestão de identidade do post, pois eles focam no ambiente corporativo (dentro da empresa).
Projetos deste tipo são extremamente críticos, pois ferramentas como as citadas acima podem criar grandes, ou melhor, enormes, ou melhor, gigantescos problemas quando mal utilizadas.
Espero que os links ajudem, mas se quiser discutir mais, mande um email: luciano@lpalma.com.