Emissão de certificados de dispositivo na gestão de certificados do Hub IoT do Azure (pré-visualização)

A emissão de certificados de dispositivo é o processo pelo qual os dispositivos solicitam e recebem um certificado como parte do provisionamento. O Azure Device Registry (ADR) gera e emite um novo certificado X.509 para os seus dispositivos IoT durante o provisionamento. Este artigo explica a responsabilidade de um dispositivo em enviar um Pedido de Assinatura de Certificados (CSR), como a ADR e o Serviço de Provisionamento de Dispositivos (DPS) trabalham em conjunto para emitir certificados em larga escala, e como o Hub IoT confia nos certificados emitidos.

Importante

Hub IoT do Azure com integração Azure Device Registry e gestão de certificados X.509 suportada por Microsoft está em pré-visualização pública e não é recomendada para cargas de trabalho em produção. Para mais informações, consulte FAQ: O que há de novo em Hub IoT?.

Como funciona a emissão de certificados de dispositivos

Os passos seguintes descrevem o fluxo de emissão de ponta a ponta:

  1. O dispositivo IoT liga-se ao endpoint DPS e autentica-se usando a sua credencial de integração pré-configurada, como uma chave simétrica, certificado X.509 ou Módulo de Plataforma Confiável (TPM). Como parte desta chamada de registo, o dispositivo envia um pedido de assinatura de certificado (CSR) que inclui a chave pública do dispositivo e o seu ID de registo.
  2. O DPS atribui o dispositivo IoT a um Hub IoT com base na configuração de inscrição.
  3. A identidade do dispositivo é criada no Hub IoT e registada no namespace ADR. O CSR é encaminhado para a PKI única atribuída ao Namespace ADR. A PKI valida o pedido e encaminha-o para a política associada à inscrição no DPS.
  4. A CA emissora da política assina e emite o certificado operacional.
  5. O DPS devolve o certificado emitido e os detalhes da ligação ao Hub IoT ao dispositivo.
  6. O dispositivo autentica-se com o Hub IoT apresentando toda a sua cadeia de certificados.

Diagrama que mostra como Azure Registo de Dispositivos se integra com Hub IoT e DPS para gestão de certificados durante o provisionamento.

Requisitos para pedidos de assinatura de certificados

Quando um dispositivo fornece ou reabastece, envia um CSR para o DPS. O DPS espera que o CSR cumpra os seguintes requisitos:

  • Formato: Regras de codificação distinta codificadas em Base64 (DER) seguindo a especificação #10 dos padrões de criptografia de chave pública (PKCS). Cabeçalhos e rodapés de correio com maior privacidade (PEM) não podem ser incluídos.
  • Nome comum (CN): O campo CN deve corresponder exatamente ao ID de registo DPS do dispositivo.
  • Algoritmo chave: Chave de curva elíptica (EC) usando a curva P-384 do NIST. As chaves RSA não são suportadas na pré-visualização atual.

Para exemplos de implementação, veja exemplos de SDK de dispositivos DPS.

Algoritmos de encriptação

A gestão de certificados utiliza os seguintes padrões criptográficos para todos os certificados emitidos por uma política:

Property Valor
Algoritmo chave ECC (ECDSA)
Curva NIST P-384 (secp384r1)
Algoritmo de hash SHA-384
Armazenamento de chaves Azure Managed HSM

O ECC com P-384 oferece segurança equivalente ao RSA em tamanhos de chave muito menores. Este algoritmo produz certificados mais pequenos, apertos de mão TLS mais rápidos e menor consumo de energia em dispositivos IoT restritos.

Confiança e sincronização de credenciais no Hub IoT

Para que um dispositivo se autentique com o Hub IoT utilizando o seu certificado emitido, o Hub IoT deve confiar na CA emissora que assinou o certificado do dispositivo. ADR gere esta confiança através da sincronização de credenciais, que envia o certificado da CA emissora da ADR para os seus Hubs IoT ligados.

Para executar manualmente a sincronização de credenciais, utilize o seguinte comando CLI do Azure:

az iot adr ns credential sync --namespace <namespace> -g <resource-group>

O Hub IoT armazena o certificado da CA emissora e usa-o para validar a cadeia de certificados que os seus dispositivos apresentam durante a autenticação TLS.