Verificar a propriedade de domínio do seu identificador descentralizado

Neste artigo, analisamos as etapas necessárias para verificar a propriedade do nome de domínio que você está usando para seu DID (identificador descentralizado).

Pré-requisitos

Para verificar propriedade do seu DID, você precisa:

Verificar a propriedade do domínio e distribuir o arquivo did-configuration.json

O domínio do qual você verifica a propriedade para o DID está definido na seção de visão geral. O domínio precisa ser um domínio sob seu controle e deve estar no formato https://www.example.com/.

  1. No portal do Azure, vá para a página ID verificada.

  2. Selecione Instalação>Verificar a propriedade do domínio e selecione Verificar para o domínio.

  3. Copie ou baixe o arquivo did-configuration.json.

    Captura de tela que mostra o download da configuração conhecida.

  4. Hospede o arquivo did-configuration.json no local especificado. Por exemplo, se você especificou o domínio https://www.example.com, o arquivo precisará ser hospedado em https://www.example.com/.well-known/did-configuration.json. Não pode haver outro caminho na URL, exceto o nome de .well-known path.

  5. Quando did-configuration.json estiver disponível publicamente na URL .well-known/did-configuration.json, verifique-a selecionando Atualizar status de verificação.

    Captura de tela que mostra a configuração conhecida verificada.

  6. Teste a emissão ou a apresentação com Microsoft Authenticator para validar. Certifique-se de que a configuração Avisar sobre aplicativos não seguros está ligada no Authenticator. A configuração é ativa por padrão.

Como posso verificar se a verificação está funcionando?

O portal verifica se did-configuration.json está acessível pela internet e válido quando você seleciona Atualizar status de verificação. O Authenticator não respeita redirecionamentos HTTP. Você também deve considerar verificar se pode solicitar essa URL em um navegador para evitar erros, como não usar HTTPS, um certificado SSL inválido ou a URL não pública. Se o arquivodid-configuration.json não puder ser solicitado anonimamente em um navegador ou por meio de ferramentas como curl, sem avisos ou erros, o portal também não poderá concluir a etapa Atualizar status de registro.

Observação

Se você estiver enfrentando problemas para atualizar seu status de verificação, poderá solucioná-lo executando curl -Iv https://yourdomain.com/.well-known/did-configuration.json em uma máquina com o sistema operacional Ubuntu. O Subsistema do Windows para Linux com Ubuntu também funciona. Se o CURL falhar, a atualização do status de verificação não funcionará.

Por que preciso verificar a propriedade do domínio da minha DID?

Uma DID começa como um identificador que não está ancorado a sistemas existentes. Uma DID é útil porque um usuário ou organização pode ser o proprietário e controlá-la. Se uma entidade que interage com a organização não sabe "a quem" a DID pertence, a DID não é tão útil.

Vincular uma DID a um domínio resolve o problema de confiança inicial, permitindo que qualquer entidade verifique criptograficamente a relação entre uma DID e um domínio.

A ID verificada segue a especificação de Configuração conhecida para DID para criar o link. O serviço de credenciais verificáveis vincula seu DID e seu domínio. O serviço inclui as informações de domínio que você forneceu em seu DID e gera o arquivo de configuração conhecida:

  1. A ID verificada usa as informações de domínio fornecidas durante a instalação da organização para gravar um ponto de extremidade de serviço no documento DID. Todas as partes que interagem com sua DID podem ver o domínio associado a ela.

    "service": [
      {
        "id": "#linkeddomains",
        "type": "LinkedDomains",
        "serviceEndpoint": {
          "origins": [
            "https://verifiedid.contoso.com/"
          ]
        }
      }
    ]
    
  2. O serviço de credencial verificável na ID verificada gera um recurso de configuração conhecida em conformidade, que você deve hospedar em seu domínio. O arquivo de configuração inclui uma credencial verificável emitida automaticamente do tipo de credencial DomainLinkageCredential, assinada com sua DID, que tem uma origem do seu domínio. Este é um exemplo do arquivo de configuração armazenado no URL de domínio raiz.

    {
      "@context": "https://identity.foundation/.well-known/contexts/did-configuration-v0.0.jsonld",
      "linked_dids": [
        "jwt..."
      ]
    }
    

Experiência do usuário na carteira

Quando um usuário está passando por um fluxo de emissão ou apresentando uma credencial verificável, ele deve saber algo sobre a organização e sua DID. O Authenticator valida uma relação da DID com o domínio que consta no documento da DID, e apresentará aos usuários duas experiências diferentes, dependendo do resultado.

Domínio verificado

Antes que o Authenticator exiba um ícone Verificado, alguns pontos precisam se cumprir:

  • A DID que assinou a solicitação SIOP (ID aberta autoemitida) deve ter um ponto de extremidade de serviço para o domínio vinculado.
  • O domínio raiz não usa um redirecionamento, usa HTTPS.
  • O domínio listado no documento de DID já tem um recurso conhecido resolvível.
  • A credencial verificável do recurso conhecido é assinada com a mesma DID usada para assinar o SIOP que o Authenticator usou para iniciar o fluxo.

Se os pontos mencionados acima forem verdadeiros, o Authenticator exibirá uma página verificada e incluirá o domínio que foi validado.

Captura de tela que mostra uma nova solicitação de permissão.

Domínio não verificado

Se qualquer um dos pontos anteriores não for verdadeiro, o Authenticator exibirá um aviso de página inteira indicando que o domínio não está verificado. O usuário é avisado de que está no meio de uma possível transação arriscada e deve continuar com cautela. Eles podem ter optado por seguir esta rota porque:

  • A DID não está ancorada a um domínio.
  • A configuração não foi definida corretamente.
  • O DID com o qual o usuário está interagindo com poderia ser mal-intencionado e, na verdade, não pode provar que ele possui o domínio vinculado.

É de alta importância que você vincule seu DID a um domínio que é reconhecível ao usuário.

Captura de tela que mostra o aviso de domínio não verificado na tela Adicionar uma credencial.

Como atualizo o domínio vinculado no meu DID?

Com o sistema de confiança da Web, não há suporte para a atualização do domínio vinculado. Você precisa recusar e integrá-lo novamente.

Domínio vinculado facilitado para desenvolvedores

Observação

O documento DID deve estar disponível publicamente para que o registro de DID seja bem-sucedido.

A maneira mais fácil para um desenvolvedor obter um domínio a ser usado para um domínio vinculado é usar o recurso de site estático do Armazenamento do Microsoft Azure. Você não pode controlar qual é o nome de domínio, exceto que ele contém o nome da conta de armazenamento como parte do nome do host.

Para configurar rapidamente um domínio a ser usado para o domínio vinculado:

  1. Criar uma conta de armazenamento. Durante a criação, selecione StorageV2 (conta v2 de uso geral) e LRS (armazenamento com redundância local).
  2. Vá para a conta de armazenamento e selecione o Site estático no menu mais à esquerda e habilite o Site estático. Se você não conseguir ver o item de menu do Site estático, não criou uma conta de armazenamento V2.
  3. Copie o nome do ponto de extremidade primário que aparece após salvar. Esse valor é seu nome de domínio. É algo semelhante a https://<your-storageaccountname>.z6.web.core.windows.net/.

Quando for a hora de carregar o arquivo did-configuration.json:

  1. Vá para a conta de armazenamento e selecione Contêineres no menu mais à esquerda. Em seguida, selecione o contêiner chamado $web.
  2. Selecione Upload e selecione o ícone de pasta para localizar seu arquivo.
  3. Antes de carregar, abra a seção Avançado e especifique conhecido na caixa de texto Upload para pasta.
  4. Carregue o arquivo.

Agora você tem seu arquivo disponível publicamente em um URL que se parece com https://<your-storageaccountname>.z6.web.core.windows.net/.well-known/did-configuration.json.

Próximas etapas