Descrever o que torna os DIDs diferentes de outros identificadores

Concluído

Conforme mencionado durante a reunião do W3C DID Working Group em Fukuoka, Japão, em setembro de 2019, houve quatro motivos atribuídos ao financiamento do desenvolvimento da especificação DID que está atualmente publicada como a recomendação W3C para arquitetura, modelo de dados e representações de DIDs (Identificadores Descentralizados) v1.0 Core.

  • "Um identificador permanente (persistente) – um DID foi projetado para ser persistente. Persistência significa que "um DID não pode ser removido ou inoperável por terceiros sem o consentimento do controlador do DID".
  • "Um identificador resolvível" – um DID é um identificador resolvível, o que significa que você pode pesquisá-lo para descobrir algo associado a esse DID, por exemplo, seus metadados. As informações que o DID resolve para são um documento DID.
  • "Um identificador criptograficamente verificável"– um DID é um identificador criptograficamente verificável, o que significa que a entidade que controla o DID, o controlador do DID, pode provar o controle do identificador usando criptografia.
  • "Um identificador descentralizado" – um DID é um identificador descentralizado. Isso significa que não há uma única autoridade de registro para criar e gerenciar DIDs. Os DIDs usam redes descentralizadas, também conhecidas como registros de dados verificáveis, para gravar e registrar transações. Esses registros podem ser razões distribuídos, blockchains, sistemas de arquivos distribuídos ou outro armazenamento de dados confiável. Há muitos tipos diferentes de registros de dados verificáveis que os DIDs podem usar. A abordagem empregada depende do método DID.

Esses quatro motivos servem como propriedades principais de DIDs. Embora haja identificadores que possam atender a algumas dessas propriedades, um DID é o primeiro novo tipo de identificador a atender a todas essas quatro propriedades.

Documentos DID e DID resolvíveis

Se você pensar em identificadores em geral, eles oferecem valor quando são usados no contexto de algum aplicativo em que ele pode fornecer algumas informações ou habilitar uma interação ou comunicação. Por exemplo, uma URL, que é um tipo de identificador, realmente só tem valor quando é inserida em um navegador da Web e retorna uma página da Web que pode ser consumida. Nesse contexto, uma URL é resolvida para uma página da Web. O mesmo conceito se aplica a DIDs, porém, em vez de usar um navegador da Web e resolver para uma página da Web, um DID usa um software ou hardware, chamado resolvedor, e retorna um documento DID.

Um documento DID é um conjunto de dados disponível publicamente, que descreve a entidade identificada pelo DID chamada de entidade DID. A recomendação do W3C para DIDs (Identificadores Descentralizados) v1.0 define as propriedades principais de um documento DID. As propriedades principais incluídas são:

  • Métodos de verificação - isso inclui chaves públicas criptográficas e metadados associados. Por exemplo, uma chave pública criptográfica pode ser usada como um método de verificação para uma assinatura digital.
  • Serviços - os serviços são usados para se comunicar ou interagir com os sujeitos DID. Isso pode incluir informações que o assunto deseja anunciar. Exemplos desses podem incluir serviços de repositório de credenciais verificáveis, serviços de armazenamento de arquivos, serviços de agente e muito mais. Eles são representados como pontos de extremidade de serviço representados como um endereço de rede, como uma URL HTTP.

Diagram that shows content that is included in a DID document. It includes the DID, the public keys, and service endpoints.

Esses são apenas alguns exemplos de dados, normalmente incluídos no documento DID. Documentos DID são documentos publicamente disponíveis consumidos pelos aplicativos e serviços que empregam DIDs (não destinados ao consumo do usuário final). Documentos DID contêm informações que descrevem o assunto DID, como sua chave pública, pontos de extremidade de serviço e outros metadados, mas não devem conter dados pessoais sobre o assunto. Como um documento disponível publicamente, uma prática recomendada é que ele contenha a quantidade mínima de informações necessárias para dar suporte à interação ou comunicação desejada.

DIDs e criptografia de chave pública

Para entender como os controladores DID podem provar o controle de seu identificador, é útil entender um pouco sobre a criptografia de chave pública.

Os DIDs usam criptografia assimétrica, também conhecida como criptografia de chave pública. A criptografia de chave pública usa um par de chaves pública e privada, é usada para proteger informações por meio de criptografia e estabelecer prova de autenticidade e consentimento por meio de assinaturas digitais. Confira Descrever conceitos de criptografia para obter informações mais detalhadas. Com a criptografia de chave pública, um desafio é validar que a chave pública compartilhada amplamente vem da entidade da qual você espera que ela venha, não de um impostor. Em outras palavras, como associar a chave pública ao identificador que representa a entidade? Na criptografia tradicional de chave pública, essa confiança é estabelecida por meio de certificados digitais de CAs (autoridades de certificação centralizadas) confiáveis que formam uma PKI (infraestrutura de chave pública) centralizada. Uma propriedade de DIDs, no entanto, é que eles são descentralizados para que você não queira ter uma dependência de uma AC. Os DIDs abordam isso porque o identificador específico do método é derivado, direta ou indiretamente, de informações relacionadas à chave pública. Isso torna o DID inerentemente associado à chave pública, sem nenhuma AC centralizada. O resultado líquido é que a entidade que controla o DID pode provar o controle desse identificador usando criptografia. Ao fazer isso, os DIDs habilitam um tipo de infraestrutura de chave pública distribuída.

Uma abordagem em que uma DID é baseada em uma chave pública sugere que o DID deve ser alterado se você precisar girar as chaves criptográficas para fins de segurança. A necessidade de alterar o DID contradiz a propriedade de que um DID é persistente. O documento DID resolve esse problema. Quando as chaves precisam ser alteradas, o controlador do DID pode publicar uma atualização no documento DID que inclui a nova chave pública, mas é assinado com a chave privada original. A atualização do documento DID pode ser autenticada porque a chave pública original pode ser rastreada até a versão original do documento DID. Essa abordagem estabelece uma cadeia de confiança entre as atualizações. Conceitualmente, você pode considerar isso semelhante ao controle de versão de software, em que há apenas uma versão atual do software. Mas é possível rastrear as versões anteriores para ver o que foi atualizado.