Descrever como as credenciais verificáveis funcionam
Identificadores descentralizados são um componente fundamental no processo usado para emitir, apresentar e verificar uma credencial verificável e são o motivo pelo qual os usuários podem controlar como e quando ela é apresentada e compartilhada. Em outras palavras, os DIDs habilitam credenciais verificáveis.
Entidades envolvidas em um ecossistema de credenciais verificáveis
É importante primeiro descrever algumas das partes envolvidas no ecossistema de credenciais verificáveis, conforme definido pela Recomendação W3C sobre o Modelo de Dados de Credenciais Verificáveis v1.1.
- Emissor – o emissor cria a credencial verificável. Exemplos de emissores incluem corporações, entidades governamentais, organizações comerciais e muito mais. O emissor faz declarações sobre você, como a entidade da credencial.
- Entidade – a entidade o objeto sobre o qual as declarações na credencial são feitas. A entidade de uma credencial verificável geralmente é uma pessoa, mas pode ser uma coisa ou um animal. Um exemplo em que a entidade pode ser uma coisa é uma credencial verificável que afirma que seu veículo está registrado em seu Estado. Da mesma forma, um animal poderia ser uma entidade, por exemplo, em uma credencial que afirma que seu animal de estimação está licenciado e vacinado contra a raiva. Para nosso cenário, vamos supor que a entidade é uma pessoa e podemos nos referir à entidade como o usuário em nosso cenário.
- Titular – um titular é uma entidade que detém uma ou mais credenciais verificáveis. Exemplos de titulares incluem alunos, funcionários, clientes etc. Um titular pode ser diferente da entidade, como seria o caso de um proprietário de animal de estimação que detém a credencial que afirma que seu animal de estimação (a entidade) está licenciado e vacinado. Em nosso exemplo e para simplificar, o titular e o entidade serão os mesmos e serão chamados de usuário ou titular, em nosso cenário.
- Verificador – o verificador é uma entidade que recebe a credencial verificável para processamento. Exemplos de entidades que podem servir como verificadores incluem empregadores, pessoal de segurança, sites, universidades etc.
- Registro de dados verificável – os registros de dados verificáveis são os sistemas envolvidos na criação e gravação de DIDs, chaves públicas e outros dados usados com credenciais verificáveis. Esses sistemas geralmente são redes distribuídas, como razão distribuída, blockchains, sistemas de arquivos distribuídos ou outro armazenamento de dados confiável. O tipo de registro usado depende do método DID. Dentro do ecossistema de credenciais verificáveis, pode haver muitos registros. Você pode pensar na coleção desses registros como uma rede subjacente que representa um sistema de confiança.
Todas as partes envolvidas na transação da credencial verificável (emissor, usuário, verificador) têm o próprio DID exclusivo que pode ser resolvido para seu documento DID associado.
Carteira digital
Outro componente importante no ecossistema de credenciais verificáveis é a carteira digital. Dito de modo simples, uma carteira digital é a representação de nossa carteira física como um aplicativo de software. Assim como nossas carteiras físicas, ela serve para guardar credenciais, como cartão de embarque, cartão de biblioteca, dinheiro, passagens e muitos outros tipos de credenciais e dados privados.
Na realidade, uma carteira digital é mais do que isso. Uma carteira digital tem duas partes, a própria carteira e um agente digital. A carteira serve como um contêiner para todas as coisas que você coloca nela, todas as credenciais, passagens, dados privados etc. O agente digital é o software que gerencia as interações com a carteira. O agente é um pouco parecido com o usuário que coloca as credenciais na carteira física e as leva para apresentar a alguém que precisa verificar sua identidade. No contexto de um ecossistema de credenciais verificáveis, o agente faz mais. O agente, em nome do usuário final (o titular da carteira digital), gera os pares de chaves públicas/privadas e DIDs, faz solicitações e apresenta credenciais (normalmente por meio do usuário de códigos QR), assina digitalmente as comunicações com emissores e verificadores de credenciais e muito mais. Algumas dessas coisas, como a criação de chaves criptográficas, DIDs, assinaturas digitais etc. são transparentes para o usuário, mas são componentes importantes usados no processo de emissão e validação de credenciais verificáveis.
Do ponto de vista do usuário final, a função do agente digital é indistinguível da própria carteira, pois o agente geralmente é integrado à carteira. Para este documento, tratamos a carteira e o agente digital como um e nos referimos a ele como a carteira digital.
Cenário e fluxo de credenciais verificáveis
Alice (usuária) é uma funcionária da Woodgrove, Inc. (emissor) que busca um desconto de funcionário de uma organização afiliada, Proseware (verificador).
- Conforme mencionado anteriormente, todas as partes têm suas chaves públicas e DID que são registradas em um registro de dados verificável, como um razão descentralizado. Para minimizar a desordem, a imagem mostrada ilustra a gravação dessas informações, no registro, somente para Woodgrove.
- Alice faz logon no portal do funcionário em Woodgrove e solicita uma prova de credencial de emprego. Neste ponto, a Woodgrove pode exibir um código QR no site do portal do funcionário. Alice examina com o código QR com o aplicativo de carteira digital em seu dispositivo móvel (pode ser o aplicativo Microsoft Authenticator) que inicia o modelo de atestado da Woodgrove para validar que Alice é uma funcionária real. O atestado pode ter formas diferentes. Por exemplo, a Woodgrove pode exigir que Alice se autentique em seu próprio diretório, pode exigir que Alice passe por um processo de verificação de identidade que envolva uma terceira parte responsável pela verificação e validação da identidade, ou pode exigir que Alice insira um PIN. Para esse cenário, suponha que Alice só precise inserir um pino, usando a carteira digital em seu dispositivo móvel.
- Depois que a Woodgrove validar que Alice é uma funcionária, a Woodgrove responderá com a credencial. Quando a Woodgrove emite a credencial, ela inclui:
- DID da Woodgrove (DID do emissora)
- DID da entidade (Alice é a entidade).
- As declarações de que Woodgrove está atestando. Nesse caso, a Woodgrove está atestando que Alice detém o cargo de gerente do programa desde 2011.
- Assinatura da Woodgrove (assinatura da emissora). A Woodgrove assina a credencial com sua chave privada.
- Alice aceita essa credencial, que então é adicionada à sua carteira digital. Agora que Alice tem sua credencial, ela vai ao site da Proseware comprar um computador.
- Antes de receber o desconto, a Proseware exige que Alice apresente provas de seu emprego.
- Alice agora pode olhar em sua carteira digital e autorizar a carteira, em seu nome, a apresentar essa credencial à Proseware. A apresentação inclui:
- A credencial, conforme emitida pela Woodgrove
- DID da Woodgrove (DID do emissora)
- DID de Alice (DID do assunto).
- As declarações de que Woodgrove está atestando. Nesse caso, a Woodgrove está atestando que Alice detém o cargo de gerente do programa desde 2011.
- Assinatura da Woodgrove (assinatura da emissora). A Woodgrove assina a credencial com sua chave privada.
- Assinatura de Alice (assinatura da entidade). Alice assina a credencial com sua chave privada.
- A credencial, conforme emitida pela Woodgrove
- A Proseware recebeu a prova de emprego e agora faz algumas pesquisas para verificar se a credencial foi emitida pela Woodgrove e se a entidade da credencial é Alice.
- Verifique a entidade:
- Como a credencial inclui o DID de Alice, a Proseware pode resolver o DID e obter o documento DID que contém a chave pública.
- Como a credencial foi assinada por Alice, a Proseware pode usar a chave pública para verificar se a assinatura na credencial realmente veio de Alice, como o entidade.
- Verifique o emissor:
- Como a credencial inclui o DID da Woodgrove, a Proseware pode resolver o DID para obter o documento DID da Woodgrove que contém a chave pública.
- Como a credencial também inclui a assinatura da Woodgrove, a Proseware pode usar a chave pública para verificar se a assinatura na credencial realmente veio da Woodgrove, como emissora.
- No processo de verificação do emissor, a Proseware nunca precisou se conectar diretamente à Woodgrove. A Proseware só precisa se conectar ao registro de dados distribuídos
- Agora que a Proseware recebeu e validou a credencial de Alice, a lógica de negócios da Proseware é iniciada para permitir que Alice compre um computador a um preço com desconto.
- Verifique a entidade:
Na transação de emissão, apresentação e verificação da transação, vale a pena destacar alguns pontos que ajudam a realçar o valor das credenciais verificáveis:
- Ao emitir uma credencial, as declarações apresentadas são o conjunto mínimo de declarações necessárias para alcançar o objetivo. Nesse caso, a credencial só precisa incluir uma reivindicação para o cargo de funcionário e o ano em que o emprego começou. Isso limita a quantidade de informações pessoais compartilhadas.
- O usuário está no controle da credencial e determina com quem compartilhará a credencial. Além disso, a carteira do usuário mantém um log das entidades com as quais a credencial foi compartilhada, além de outras informações.
- Quando o verificador valida a credencial, ele faz isso sem precisar se conectar com o emissor. O verificador resolve a DID do emissor para obter as chaves públicas e, com a chave pública, é capaz de validar a assinatura do emissor que aparece na credencial.
Um cenário comum com qualquer credencial é que a credencial pode expirar ou o emissor pode precisar revogar essa credencial. A Recomendação W3C para Modelo de Dados de Credenciais Verificáveis v1.1 inclui campos de propriedade na credencial para considerar esses cenários.
Na carteira digital de Alice, a credencial é representada como um cartão como o tipo de credencial que teríamos em nossa carteira física. Porém, na realidade, uma credencial verificável é uma estrutura de dados JSON legível por computador que consiste em uma série de pares chave/valor e incluiria o DID do emissor, declarações que estão sendo feitas na credencial, assinaturas digitais e muito mais.
Visite https://aka.ms/vcdemo para obter uma demonstração mais completa de um cenário de credencial verificável de integração.