Como implantar certificados X.509 com a instância de serviço de provisionamento do 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.

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

Pré-requisitos

Antes de iniciar as etapas deste 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 AC intermediária ou raiz por meio de autoatestado

Se você estiver usando uma CA intermediária ou raiz na qual confia e souber que tem a propriedade total do certificado, poderá autoatestar que verificou o certificado.

Para adicionar um certificado autoverificado, siga estas etapas:

  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 fácil para o certificado.

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

  5. Marque a caixa ao lado de Definir status do certificado para verificado no upload.

    Screenshot that shows uploading a certificate and setting status to verified.

  6. Selecione Salvar.

  7. Seu certificado será mostrado na guia do certificado com o status Verificado.

    Screenshot that shows the verified certificate after upload.

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

A verificação automática é recomendada quando você carrega novos certificados de autoridade de certificação 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. Obter um código de verificação exclusivo gerado pelo serviço de provisionamento para seu certificado de autoridade de certificação X.509. Você pode obter isso no Portal do Azure.
  2. Criar um certificado de verificação X.509 com o código de verificação como seu assunto e assinar o certificado com a chave privada associada ao seu certificado de autoridade de certificação X.509.
  3. Carregar 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 de autoridade de certificação a ser verificado, assim, provando que você está em posse da chave privada do certificado de autoridade de certificação.

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

Para registrar um certificado de autoridade de certificação com o serviço de provisionamento e obter um código de verificação que pode ser usado durante a prova de posse, siga estas etapas.

  1. No portal do Azure, navegue até o 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 de pasta e navegue até o arquivo .cer ou .pem que representa a parte pública do certificado X.509. Selecione Abrir.

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

    Screenshot that shows uploading a certificate without automatic verification.

    Seu certificado será mostrado na lista Explorador de Certificados. Observe que o status desse 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 Código de verificação vazio. Selecione o botão Gerar código de verificação.

    Screenshot that shows generating a verification code for proof-of-possession.

  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.

Assinar 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 autoridade de certificação X.509, que gera uma assinatura. Essa 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 de PowerShell (Windows) e Bash (Linux) para ajudá-lo a criar certificados de autoridade de certificação e folha para desenvolver e executar uma prova de posse usando um código de verificação. Você pode fazer o download dos arquivos relevantes para seu sistema para uma pasta de trabalho e seguir as instruções no leiame Gerenciar certificados de autoridade de certificação para executar uma prova de posse de 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 de PowerShell e Bash fornecidos na documentação e SDKs dependem do OpenSSL. Você também pode usar o OpenSSL ou outras ferramentas de terceiros para ajudá-lo a fazer uma prova de posse. Para ver um exemplo de como usar as ferramentas fornecidas com os SDKs, consulte Criar uma cadeia de certificados X.509.

Carregar o certificado de verificação assinado

Carregue a assinatura resultante como um certificado de verificação para 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 .pem ou arquivo .cer certificado de verificação. Navegue até o certificado de verificação assinado do seu sistema e selecione Abrir.

  2. Depois que o certificado for carregado com êxito, selecione Verificar. O status do certificado é alterado para Verificadona lista Certificados . Selecione Atualizar se ele não for atualizado automaticamente.

Próximas etapas