De volta ao básico: anatomia da identidade digital
Tem sido bastante comum sermos bombardeados com uma infinidade de ofertas de produtos para o gerenciamento de identidades. A grande maioria das grandes empresas de tecnologia tem uma ou outra oferta, sempre salvadora, para nos ajudar a gerenciar esta selva tropical que é o mundo da autenticação/autorização.
Como sempre, no meio desta verdadeira Torre de Babel, falta um elemento: compreender o que é (ou o que deveria ser) uma identidade digital. Somente a partir daí é possível descobrir: essas ferramentas podem realmente ajudar ou vão complicar ainda mais o cenário?
O que é uma identidade?
Dentro do mundo físico, uma identidade é a parte verificável de uma informação que confere a seu portador uma série de deveres, direitos e privilégios. Normalmente esta identidade é emitida por uma autoridade, reconhecida pelas partes envolvidas no processo de aceite das afirmações.
Exemplos: passaporte, carteiras de identidades, crachás, etc. Esse conjunto de exemplos me ajuda a ilustrar bem o que é uma autoridade reconhecida e também o escopo desta autoridade: um passaporte é uma identidade internacional emitida, aqui no Brasil, por um órgão do governo federal reconhecido por outras nações como um emissor confiável Já a carteira de identidade é reconhecida apenas por instituições nacionais, não as internacionais. Para o crachá, então, a cadeia de confiança é muito menor: normalmente apenas parceiros de négócio confiam em suas informações.
O que é uma identidade digital?
No mundo digital, a identidade é um conjunto de informações estruturadas contendo quatro elementos básicos:
- Identificador
Elemento que identifica, inequivocamente, um determinado sujeito dentro de um namespace; - Credencial
Informação que permite validar a autenticidade e a posse de uma determinada identidade; - Perfil essencial
Informação comum, compartilhável com os sistemas consumidores da identidade, que complementam a identificação do sujeito; - Perfil de contexto
Informações sobre o sujeito que têm sentido somente dentro de um determinado contexto.
Identificador
Elemento que identifica, inequivocamente, um determinado sujeito dentro de um namespace.
Simples: um GUID ou um certificado. Serve para, em sistemas eletrônicos, subsitituir todo o conjunto de informações sobre um sujeito por um elemento único, inequívoco. Deve existir um e apenas um sujeito que possa ser representado por um identificador.
Credencial

Informação que permite validar a autenticidade e a posse de uma determinada identidade.
A credencial pode ser uma senha, um PIN, um fator biométrico que, quando aplicados os devidos algoritmos, permita garantir que o sujeito que está apresentando uma determinada identidade a um sistema, é possível validar que ele seja o proprietário desta identidade. A partir do momento em que esta posse é atestada, o identificador pode ser utilizado para representar as informações sobre o sujeito.
Perfil essencial
Informação comum, compartilhável com os sistemas consumidores da identidade, que complementam a identificação do sujeito.
Pense em homônimos: meu nome é Fernando Gebara Filho. Sei que existe mais do que um Fernando Gebara (pai) em nosso país, tornando não desprezível a probabilidade de eu ter um homônimo. O que serve para complementar a minha identificação (nome) neste caso? O parentesco (nome de pai e mãe), a cidade de nascimento, o estado natal, a data de nascimento, etc. Todos esses elementos, associados ao meu nome, ajudam na minha identificação (e, eventualmente, em sua desambigüidade). Sistemas que consomem a minha identidade podem, eventualmente, fazer uso desta informação, que será a mesma para todos esses sistemas.
Perfil de contexto
Informações sobre o sujeito que têm sentido somente dentro de um determinado contexto.
Vamos tomar como exemplo as faixas do judô. Neste esporte, o nível de um lutador é declarado explicitamente pela cor da faixa em sua cintura. Porém, existem diferenças de interpretação dependendo do país (em nosso caso, o contexto) em que você estiver. No Brasil, a graduação segue a seguinte seqüência: branca, cinza, azul, amarela, laranja, verde, roxa, marrom e preta. No Japão, só há três cores: branca, marrom e preta. Uma faixa azul no Japão, em princípio, não possui qualquer significado. Já uma faixa marrom, nos dois países, pode representar um grau de maturidade (ou combatividade) diferentes.
Como os elementos se relacionam?

No centro de tudo está o identificador; para ter acesso a ele é necessário que seja apresentada a credencial adequada. Uma vez feita esta validação, é possível obter os dados constantes do perfil essencial. Por fim, dependendo do sistema, dados referentes aos perfis de contexto podem ser obtidos e utilizados adequadamente.
Idealmente, os dados referentes ao identificador, à credencial e ao perfil essencial estão normalmente contidos em um sistema central de diretório (tal como uma infra-estrutura de Active Directory). Os dados referentes ao perfil de contexto podem também estar armazenados neste mesmo diretório (como é o caso, por exemplo, dos dados de caixa-postal do Microsoft Exchange) ou em um outro sistema diretório (muitas vezes um servidor LDAP ou mesmo tabelas armazenadas em um banco de dados SQL). O elemente que serve de chave de união de todas essas informações é o identificador, único para cada sujeito.
A seguir (próximo blog): O caos das identidades