Como verificar certificados de CA X.509 com o Serviço de Provisionamento de Dispositivo

Um certificado de autoridade de certificação (CA) X.509 verificado é um certificado de autoridade de certificação que foi carregado e registrado em seu serviço de provisionamento e, em seguida, verificado, automaticamente ou por meio de prova de posse com o serviço.

Os certificados verificados desempenham um papel importante ao usar grupos de inscrição. A verificação da propriedade do certificado fornece uma camada de segurança adicional, garantindo que o carregador do certificado esteja na posse da chave privada do certificado. A verificação impede que um ator mal-intencionado que fareja seu tráfego extraia um certificado intermediário e use esse certificado para criar um grupo de registro em seu próprio serviço de provisionamento, sequestrando efetivamente seus dispositivos. Ao provar a propriedade do certificado raiz ou intermediário em uma cadeia de certificados, você está provando que tem permissão para gerar certificados folha para os dispositivos que serão registrados como parte desse grupo de registro. Por esse motivo, o certificado raiz ou intermediário configurado em um grupo de registro deve ser um certificado verificado ou deve ser acumulado para um certificado verificado na cadeia de certificados que um dispositivo apresenta quando se autentica com o serviço. Para saber mais sobre o certificado X.509, consulte Certificados X.509.

Pré-requisitos

Antes de começar as etapas neste artigo, prepare os seguintes pré-requisitos:

  • Uma instância do DPS criada em sua assinatura do Azure.
  • Um arquivo de certificado .cer ou .pem.

Verificação automática de CA intermediária ou raiz por meio de autoatestado

Se você estiver usando uma autoridade de certificação intermediária ou raiz em que confia e sabe que tem propriedade total do certificado, pode atestar automaticamente que verificou o certificado.

Para adicionar um certificado de verificação automática, siga estes passos:

  1. No portal do Azure, navegue até seu serviço de provisionamento e selecione Certificados no menu à esquerda.

  2. Selecione Adicionar para adicionar um novo certificado.

  3. Insira um nome de exibição amigável para seu certificado.

  4. Navegue até o arquivo .cer ou .pem que representa a parte pública do seu certificado X.509. Clique em Carregar.

  5. Marque a caixa ao lado de Definir status do certificado como verificado ao carregar.

    Captura de tela que mostra o upload de um certificado e a configuração do status para verificado.

  6. Selecione Guardar.

  7. Seu certificado é exibido na guia do certificado com um status Verificado.

    Captura de tela que mostra o certificado verificado após o upload.

Verificação manual de AC intermediária ou raiz

A verificação automática é recomendada quando você carrega novos certificados de CA intermediários ou raiz no DPS. No entanto, você ainda pode executar a prova de posse se fizer sentido para seu cenário de IoT.

A prova de posse envolve as seguintes etapas:

  1. Obtenha um código de verificação exclusivo gerado pelo serviço de provisionamento para seu certificado de CA X.509. Pode fazê-lo a partir do portal do Azure.
  2. Crie um certificado de verificação X.509 com o código de verificação como assunto e assine o certificado com a chave privada associada ao seu certificado de CA X.509.
  3. Carregue o certificado de verificação assinado para o serviço. O serviço valida o certificado de verificação usando a parte pública do certificado da autoridade de certificação a ser verificado, provando assim que você está na posse da chave privada do certificado da autoridade de certificação.

Registre a parte pública de um certificado X.509 e obtenha um código de verificação

Para registrar um certificado de autoridade de certificação em seu serviço de provisionamento e obter um código de verificação que você pode usar durante a prova de posse, siga estas etapas.

  1. No portal do Azure, navegue até seu serviço de provisionamento e abra Certificados no menu à esquerda.

  2. Selecione Adicionar para adicionar um novo certificado.

  3. Insira um nome de exibição amigável para seu certificado no campo Nome do certificado .

  4. Selecione o ícone da pasta e navegue até o arquivo .cer ou .pem que representa a parte pública do seu certificado X.509. Selecione Abrir.

  5. Depois de receber uma notificação de que o certificado foi carregado com êxito, selecione Salvar.

    Captura de ecrã que mostra o carregamento de um certificado sem verificação automática.

    Seu certificado será exibido na lista Explorador de Certificados. Observe que o status deste certificado é Não verificado.

  6. Selecione o certificado que você adicionou na etapa anterior para abrir seus detalhes.

  7. Nos detalhes do certificado, observe que há um campo de código de verificação vazio. Selecione o botão Gerar código de verificação.

    Captura de tela que mostra a geração de um código de verificação para prova de posse.

  8. O serviço de provisionamento cria um código de verificação que você pode usar para validar a propriedade do certificado. Copie o código para a área de transferência.

Assine digitalmente o código de verificação para criar um certificado de verificação

Agora, você precisa assinar o código de verificação do DPS com a chave privada associada ao seu certificado de CA X.509, que gera uma assinatura. Esta etapa é conhecida como Prova de posse e resulta em um certificado de verificação assinado.

A Microsoft fornece ferramentas e exemplos que podem ajudá-lo a criar um certificado de verificação assinado:

  • O SDK C do Hub IoT do Azure fornece scripts PowerShell (Windows) e Bash (Linux) para ajudá-lo a criar certificados CA e folha para desenvolvimento e executar prova de posse usando um código de verificação. Você pode baixar os arquivos relevantes para o seu sistema para uma pasta de trabalho e seguir as instruções no Leiame Gerenciando certificados de autoridade de certificação para executar a prova de posse em um certificado de autoridade de certificação.
  • O SDK C# do Hub IoT do Azure contém o exemplo de verificação de certificado de grupo, que você pode usar para fazer prova de posse.

Os scripts PowerShell e Bash fornecidos na documentação e SDKs dependem do OpenSSL. Você também pode usar OpenSSL ou outras ferramentas de terceiros para ajudá-lo a fazer prova de posse. Para obter um exemplo usando ferramentas fornecidas com os SDKs, consulte Criar uma cadeia de certificados X.509.

Carregue o certificado de verificação assinado

Carregue a assinatura resultante como um certificado de verificação para o seu serviço de provisionamento no portal do Azure.

  1. Nos detalhes do certificado no portal do Azure, de onde você copiou o código de verificação, selecione o ícone de pasta ao lado do campo Arquivo .pem ou .cer certificado de verificação . Navegue até o certificado de verificação assinado do seu sistema e selecione Abrir.

  2. Quando o certificado for carregado com êxito, selecione Verificar. O status do certificado muda para Verificado na lista Certificados. Selecione Atualizar se ele não for atualizado automaticamente.

Próximos passos