A Internet tem um problema…
É sério, e é bem absurdo se pararmos para pensar, mas em pleno 2020 ainda não temos um bom jeito de identificar pessoas na Internet!
Pense sobre o que acontece quando você faz login no email, twitter, facebook, etc.: você usa um usuário-e-senha diferente (assim espero) para cada site. Em cada site, essa é sua identidade: tom@bombadil.com e 12345678. Pode ser que o site solicite seu nome, RG e CPF, mas a não ser que seja um banco ou algo do tipo, geralmente é fácil fornecer valores falsos.
Claro, por um lado a anonimicidade da internet é ótima. Podemos, teoricamente, acessar qualquer conteúdo sem ser rastreados ou ter nossa identidade real exposta. Por outro lado, quando realmente precisamos nos identificar, usamos mecanismos arcaicos, que acarretam em problemas como:
Como se já não bastasse, há ainda um item mais crítico: Você não é dono da sua identidade na internet! Quem é o dono é o website onde você se registrou. Imagine se você tivesse um RG digital e ele ficasse no servidor do governo; toda vez que você precisasse usá-lo, você teria que pedir ao governo. Além disso permitir que você seja rastreado, se por qualquer razão esse governo parar de manter o servidor funcionando, a sua identidade vai embora! Se o exemplo parece absurdo com entidades públicas, é tão ou mais absurdo com empresas privadas.
Isso aconteceu, principalmente, porque a internet foi criada para conectar computadores, e não pessoas. Endereços MAC, IP, nomes de domínio, todos esses sistemas são excelentes para nomear máquinas no contexto de uma rede. No entanto, não criamos um equivalente para pessoas.
Então o problema começou quando as pessoas começaram a ter projetos e dados que elas queriam chamar de “meu”, salvos em computadores que eram compartilhados. Eis então que a solução mais simples e rápida, e talvez uma das maiores gambiarras da computação, foi criada: usuário e senha.
Como já temos algumas décadas desse paradigma instalado, e de alguma forma funcionando, simplesmente estamos acostumados com ele. Mas você já imaginou se houvesse outra solução? Se por exemplo, você pudesse provar, de forma totalmente digital e independente, que você é realmente o “Tom Bombadil”? Isso seria útil, por exemplo, na hora de abrir a conta em um banco digital (não vale tirar foto do RG físico :p). E claro, muito importante, isso deve ser possível sem que o “RG digital” esteja no servidor de ninguém, portanto evitando que seu uso seja rastreado.
Uma proposta para resolver esse problema é conhecida como identidade auto-soberana (do inglês, self-sovereign identity). Bastante detalhada em um artigo do Christopher Allen (em inglês) [1], a ideia é que você deve ser o dono da sua identidade digital e carregar ela com você, basicamente do jeito que você já faz com sua carteira física. O funcionamento, inclusive, seria bem parecido: você usa um app de “carteira digital” no smartphone para guardar todos os seus documentos digitais. Quando um site ou serviço precisar da sua identificação, você apresenta, com segurança criptográfica, o documento digital necessário.
O Christopher Allen, que foi um dos criadores do TLS, propôs 10 princípios da Identidade Auto-Soberana, que eu resumo abaixo, com comentários em itálico:
Bom, mas indiferente das reflexões filosóficas, que são importantes no contexto geral, na prática você precisa ao menos saber que um modelo centrado no indivíduo, e com privacidade e segurança elevados, não só é desejado: é possível.
Em resumo, dois novos padrões, desenvolvidos ao longo dos últimos 5 anos, estão sendo recomendados pelo Consórcio da World Wide Web (W3C) para habilitar identidade auto-soberana para todos. Se você não conhece o W3C, trata-se da organização que gerencia padrões na Web, tais como HTTP, HTML, e outros.
Bem, o primeiro padrão para realização da identidade auto-soberana é o Identificador Decentralizado (do inglês Decentralized Identifier), abreviado como DID [2]. Um DID contém chaves públicas e uma lista de serviços, e ele permite a criação de canais criptograficamente seguros para comunicação.
Já o segundo padrão, denominado Credenciais Verificáveis (do inglês Verifiable Credentials), ou VCs, permite a criação de “documentos digitais” [3]. Diferente do DID, que é mais baixo nível, uma VC pode ser usada, por exemplo, para provar que você tem os atributos nome=tom e sobrenome=bombadil. Agora, para que outras pessoas possam acreditar nessa sua “reinvindicação” (o termo usado em inglês é claim), basta que uma entidade confiável, tal como o governo, assine embaixo da sua VC.
Se você é da área técnica e está perdido/a, curioso, ou está captando que já existem algumas propostas parecidas com as VCs, relaxa, em um post futuro irei detalhar mais os DIDs e as VCs.
Bem, não. Mas pelo menos eu consegui escrever 80% do texto sem apelar para buzzwords 😃. Falta mais um ingrediente no sistema: Blockchain.
Mesmo que, lá em 1970, houvesse um consenso (trocadilho sutil não-intencional) geral sobre os problemas do modelo usuário-e-senha, seria difícil resolver. O principal motivo é que, até 2008, qualquer sistema de identidade necessariamente precisaria ser gerenciado por um sistema centralizado. Por exemplo, se o governo quisesse assinar a sua credencial, ele teria que colocar a chave pública dele em um diretório centralizado, para que outros pudessem verificar.
Como Blockchain é uma solução técnica para o problema de armazenamento decentralizado e confiável, ela se torna uma peça importante para habilitar a identidade auto-soberana. Em particular, entidades confiáveis podem colocar sua chave pública em uma Blockchain, permitindo assim uma verificação distribuída por outros nós da rede.
Essa postagem foi uma visão geral sobre o conceito de identidade auto-soberana. Espero que você tenha percebido os problemas da identidade hoje na Internet, e que a identidade de cada pessoa pertence apenas a ela mesma. Também espero ter despertado alguma curiosidade sobre o assunto, em especial os novos novos padrões, Decentralized Identifiers e Verifiable Credentials, que pretendo explicar melhor em postagens futuras.
Particularmente, estou muito animado com o assunto, especialmente por haver uma comunidade enorme trabalhando para trazer identidade auto-soberana à realidade [4][5]. Quem sabe em poucos anos teremos carteiras completamente digitais, e o conceito de login e senha será transformado em coisa do passado. 😃
[1] http://www.lifewithalacrity.com/2016/04/the-path-to-self-soverereign-identity.html
[2] https://www.w3.org/TR/did-core/
[3] https://www.w3.org/TR/vc-data-model/
[4] https://internetidentityworkshop.com/
[5] https://www.weboftrust.info/