Principais conceitos para o gerenciamento de certificados (versão prévia)

O gerenciamento de certificados no Hub IoT do Azure simplifica o gerenciamento de certificados X.509 para dispositivos IoT. Este artigo apresenta os conceitos fundamentais relacionados ao gerenciamento de certificados e à autenticação baseada em certificado no Hub IoT. Para obter mais informações, consulte o que é o gerenciamento de certificados (versão prévia)?

Importante

O Hub IoT do Azure com integração ao Registro de Dispositivos do Azure e gerenciamento de certificados X.509 com suporte da Microsoft está em prévia pública e não é recomendado para cargas de trabalho de produção. Para obter mais informações, consulte FAQ: o que há de novo em Hub IoT?.

PKI (infraestrutura de chave pública)

A PKI é um sistema que utiliza certificados digitais para autenticar e encriptar dados entre dispositivos e serviços. Os certificados PKI são essenciais para proteger vários cenários, como identidade da Web e do dispositivo. Nas configurações de IoT, o gerenciamento de certificados PKI pode ser desafiador, caro e complexo, especialmente para organizações que têm um grande número de dispositivos e requisitos de segurança estritos. Você pode usar o gerenciamento de certificados para aprimorar a segurança de seus dispositivos e acelerar sua transformação digital para um serviço PKI de nuvem totalmente gerenciado.

Microsoft versus PKI de terceiros

Embora o Hub IoT dê suporte a dois tipos de provedores PKI para autenticação de certificado X.509, atualmente, o gerenciamento de certificados dá suporte apenas à PKI gerenciada pela Microsoft (de primeira parte). Para obter informações sobre como usar provedores PKI de terceiros, consulte Autenticar dispositivos com certificados de AC X.509.

Provedor PKI Integração necessária Registro de Dispositivo do Azure necessário Serviço de Provisionamento de Dispositivos necessário
PKI gerenciada pela Microsoft Não. Configure as autoridades de certificação diretamente no Registro de Dispositivos do Azure. Yes Yes
PKI de terceiros (DigiCert, GlobalSign etc.) Sim. Integração manual necessária. No No

Certificados X.509

Um certificado X.509 é um documento digital que associa uma chave pública à identidade de uma entidade, como um dispositivo, um usuário ou um serviço. A autenticação baseada em certificado fornece várias vantagens em relação a métodos menos seguros:

  • Os certificados usam criptografia de chave pública/privada. A chave pública é compartilhada livremente, enquanto a chave privada permanece no dispositivo e pode residir dentro de TPMs (Trusted Platform Modules) ou elementos seguros. Isso impede que os invasores se passem pelo dispositivo.
  • Os certificados são emitidos e validados por meio de uma hierarquia de autoridade de certificação (AC), permitindo que as organizações confiem em milhões de dispositivos por meio de uma única AC sem gerenciar segredos para cada dispositivo.
  • Os dispositivos se autenticam na nuvem e a nuvem é autenticada no dispositivo, habilitando a autenticação TLS (Mutual Transport Layer Security).
  • Os certificados têm períodos de validade definidos e podem ser renovados ou revogados centralmente.

Há duas categorias gerais de certificados X.509:

  • Certificados de autoridade de certificação: Esses certificados são emitidos por uma AC (Autoridade de Certificação) e você os usa para assinar outros certificados. Os certificados de Autoridade Certificadora incluem certificados raiz e certificados intermediários.

    • AC raiz: Um certificado raiz é um certificado autoassinado de nível superior de uma AC confiável que pode ser usado para assinar CAs intermediárias.

    • AC emissora ou intermediária: um certificado intermediário é um certificado de autoridade de certificação assinado por um certificado raiz confiável. Certificados intermediários também podem estar emitindo CAs, desde que sejam usados para assinar certificados de entidade final.

    Note

    Pode ser útil usar certificados intermediários diferentes para diferentes conjuntos ou grupos de dispositivos, como dispositivos de diferentes fabricantes ou modelos diferentes de dispositivos. O motivo para usar certificados diferentes é reduzir o impacto total da segurança se qualquer certificado específico estiver comprometido.

  • Certificados de entidade final: esses certificados, que podem ser certificados de dispositivos individuais ou folha, são assinados por certificados de AC e são emitidos para usuários, servidores ou dispositivos.

Solicitação de assinatura de certificado

Uma CSR (Solicitação de Autenticação de Certificado) é uma mensagem assinada digitalmente que um cliente, como um dispositivo IoT, gera para solicitar um certificado assinado de uma AC (Autoridade de Certificação). A CSR inclui a chave pública do dispositivo e informações de identificação, como sua ID de registro, e é assinada com a chave privada do dispositivo para provar a propriedade da chave.

Uma CSR deve seguir os requisitos de política da PKI, incluindo algoritmos de chave aprovados, tamanhos de chave e formatos de campo de assunto. Quando um dispositivo gera uma nova chave privada, ele também gera uma nova CSR. Depois que a AC verifica e aprova a CSR, ela emite um certificado X.509 que associa a identidade do dispositivo à chave pública. Esse processo garante que somente os dispositivos capazes de demonstrar a posse de sua chave privada recebam certificados confiáveis.

Requisitos de solicitação de assinatura de certificado no Serviço de Provisionamento de Dispositivos

No gerenciamento de certificados, os dispositivos enviam Solicitações de Assinatura de Certificado (CSRs) durante o provisionamento ou o reprovisionamento. O DPS (Serviço de Provisionamento de Dispositivos) espera CSRs no formato DER (regras de codificação diferenciadas) codificadas em Base64, seguindo a especificação PKCS (padrões de criptografia de chave pública) nº 10. O envio exclui cabeçalhos e rodapés de PEM (email aprimorado para privacidade). O campo nome comum (CN) na CSR deve corresponder exatamente à ID de registro do dispositivo.

Autenticação versus autorização

  • Autenticação significa provar a identidade para o Hub IoT. Ele verifica se um usuário ou dispositivo é quem ele afirma ser. Esse processo geralmente é chamado de AuthN.

  • Autorização significa confirmar o que um usuário ou dispositivo autenticado pode acessar ou fazer no Hub IoT. Ele define permissões para recursos e comandos. Às vezes, a autorização é conhecida como AuthZ.

O Hub IoT usa certificados X.509 apenas para autenticação, não para autorização. Ao contrário do Microsoft Entra ID e das assinaturas de acesso compartilhado, os certificados X.509 não suportam permissões personalizáveis.