Compartilhar via


Como implantar certificados de dispositivo X.509

Durante o ciclo de vida de sua solução de IoT, você precisará implantar certificados. Duas das principais razões para implantar certificados seria uma violação de segurança e expirações de certificado.

A implantação de certificados é uma prática recomendada de segurança para ajudar a proteger seu sistema no caso de uma violação. Como parte da Metodologia Assume Breach, a Microsoft defende a necessidade de ter processos reativos de segurança em vigor, juntamente com medidas preventivas. Implantar seus certificados de dispositivo deve ser incluído como parte desses processos de segurança. A frequência em que você implantar seus certificados dependerá de necessidades de segurança da sua solução. Os clientes com soluções que envolvem dados altamente confidenciais podem implantar certificado diariamente, enquanto outros revertem seus certificados a cada dois anos.

Implantar certificados de dispositivo envolverá atualizar o certificado armazenado no dispositivo e IoT Hub. Depois disso, o dispositivo pode um reprovisionamento de si mesmo com o Hub IoT usando provisionamento normal com o Serviço de provisionamento do dispositivo.

Obter novos certificados

Há várias maneiras de obter novos certificados para seus dispositivos IoT. Isso inclui a obtenção de certificados de fábrica do dispositivo, gerar seus próprios certificados e contratar outras empresas para gerenciar a criação de certificado para você.

Os certificados são assinados por cada um para formar uma cadeia de confiança de um certificado de autoridade de certificação raiz para um certificado de folha. Um certificado de autenticação é o certificado usado para assinar o certificado de folha no final da cadeia de confiança. Um certificado de autenticação pode ser um certificado de autoridade de certificação raiz ou um certificado intermediário na cadeia de confiança. Para saber mais, confira Certificados X.509.

Há duas maneiras diferentes de obter um certificado de assinatura. A primeira maneira que é recomendada para sistemas de produção, é comprar um certificado de assinatura de uma autoridade de certificação (CA) raiz. Dessa forma encadeia segurança até uma fonte confiável.

A segunda maneira é criar seus próprios certificados X.509 usando uma ferramenta como o OpenSSL. Essa abordagem é ótima para testar os certificados x.509, mas fornece algumas garantias em relação à segurança. É recomendável que você só use essa abordagem para teste, a menos que você preparou atuar como seu próprio provedor de autoridade de certificação.

Implantar o certificado no dispositivo

Certificados em um dispositivo devem sempre ser armazenados em um local seguro, como um módulo de segurança de hardware (HSM). A maneira de implantar certificados de dispositivo dependerá de como foram criados e instalados nos dispositivos em primeiro lugar.

Se você obter seus certificados de terceiros, você deve examinar como distribuição seus certificados. O processo pode ser incluído em sua organização com eles, ou pode ser um serviço separado que oferecem.

Se você estiver gerenciando seus próprios certificados de dispositivo, você precisará criar seu próprio pipeline para a atualização de certificados. Verifique se ambos os certificados de folha antiga e nova têm o mesmo nome comum (CN). Por ter o mesmo CN, o dispositivo pode Reprovisionar em si sem criar um registro duplicado.

A mecânica de instalação de um novo certificado em um dispositivo geralmente envolve uma das seguintes abordagens:

  • Você pode disparar os dispositivos afetados para enviar uma nova solicitação de assinatura de certificado (CSR) para sua autoridade de certificação (AC) PKI. Nesse caso, cada dispositivo provavelmente será capaz de baixar seu novo certificado de dispositivo diretamente da AC.

  • Você pode reter um CSR de cada dispositivo e usá-lo para obter um novo certificado de dispositivo da AC PKI. Nesse caso, você precisará enviar o novo certificado para cada dispositivo em uma atualização de firmware usando um serviço de atualização OTA seguro, como a Atualização de Dispositivo para Hub IoT.

Implantar o certificado no DPS

O certificado do dispositivo pode ser adicionado manualmente para um Hub IoT. O certificado também pode ser automatizado usando uma instância do Serviço de Provisionamento de Dispositivos. Neste artigo, presumiremos que uma instância do Serviço de Provisionamento de Dispositivos está sendo usada para oferecer suporte ao provisionamento automático.

Quando um dispositivo for inicialmente provisionado por meio do provisionamento automático, ele é inicializado para cima e entra em contato com o serviço de provisionamento. O serviço de provisionamento responde ao executar uma verificação de identidade antes de criar uma identidade de dispositivo em um Hub IoT usando o certificado de folha do dispositivo como a credencial. O serviço de provisionamento, em seguida, informa o dispositivo, ele é atribuído a qual Hub IoT e o dispositivo, em seguida, usa seu certificado de folha para autenticar e conectar-se ao Hub IoT.

Depois que um novo certificado de folha for revertido para o dispositivo, ele pode não mais se conectar ao Hub IoT porque ele está usando um novo certificado para se conectar. O Hub IoT só reconhece o dispositivo com o certificado antigo. O resultado da tentativa de conexão do dispositivo será um erro de conexão "não autorizado". Para resolver esse erro, você deve atualizar a entrada de registro do dispositivo para a conta para o novo certificado de folha do dispositivo. Em seguida, o serviço de provisionamento pode atualizar as informações de registro de dispositivo Hub IoT conforme necessário, quando o dispositivo for provisionado novamente.

Uma possível exceção para essa falha de conexão seria um cenário que você criou um Grupo de Registro para seu dispositivo no serviço de provisionamento. Nesse caso, se você não estiver implatando a raiz ou os certificados intermediários na cadeia de certificados do dispositivo de confiança, em seguida, o dispositivo será reconhecido se o novo certificado fizer parte da cadeia de confiança definida no grupo de registro. Se esse cenário surgir como uma reação a uma violação de segurança, você deverá pelo menos não permitir os certificados de dispositivo específicos no grupo que são considerados violados. Para obter mais informações, confira Remover permissões de dispositivos específicos de um grupo de registro

Como tratar a atualização da entrada de registro dependerá se você estiver usando registros individuais ou registros em grupo. Além disso, os procedimentos recomendados diferem dependendo se você estiver implantando certificados devido a uma violação de segurança ou expiração do certificado. As seções a seguir descrevem como manusear essas atualizações.

Atualizar certificados para registros individuais

Se você estiver atualizando certificados em resposta a uma violação de segurança, deverá excluir imediatamente todos os certificados comprometidos.

Se você estiver implantando certificados para lidar com os vencimentos de certificado, você deve usar a configuração do certificado secundário para reduzir o tempo de inatividade para os dispositivos que tentam fazer o provisionamento. Mais tarde, quando o certificado secundário se aproximar do vencimento e precisar ser implantado, você poderá girá-lo usando a configuração primária. Girar entre os certificados primários e secundários dessa maneira reduz o tempo de inatividade para dispositivos de tentativa de provisionar.

Atualização das entradas de registro para certificados implantados é realizada na página Gerenciar Registros. Para acessar essa página, siga essas etapas:

  1. Entre no portal do Azure e navegue até a instância do Serviço de Provisionamento do Dispositivos que tem a entrada de registro do seu dispositivo.

  2. Selecione Gerenciar registros.

    Captura de tela que mostra a página Gerenciar registros no portal do Azure.

  3. Selecione a guia Registros individuais e escolha a entrada do ID de registro na lista.

  4. Marque as caixas Remover ou substituir certificado primário/secundário se deseja excluir um certificado existente. Selecione o ícone da pasta de arquivos para procurar e carregar novos certificados.

    Se algum dos seus certificados foi comprometido, você deve removê-los o mais rápido possível.

    Se um dos seus certificados estiver se aproximando do vencimento, você poderá mantê-lo em vigor, desde que o segundo certificado ainda esteja ativo após essa data.

    Captura de tela que mostra como remover um certificado e carregar novos.

  5. Selecione Salvar quando terminar.

  6. Se você removeu um certificado comprometido do serviço de provisionamento, o certificado ainda poderá ser usado para fazer conexões de dispositivo com o hub IoT, desde que um registro de dispositivo para ele exista. Há duas maneiras de abordar isso:

    A primeira maneira seria acessar manualmente seu hub IoT e remover imediatamente o registro de dispositivo associado ao certificado comprometido. Em seguida, quando o dispositivo provisionar novamente com um certificado atualizado, será criado um novo registro de dispositivo.

    A segunda maneira seria usar o reprovisionamento de suporte para reprovisionar o dispositivo para o mesmo hub IoT. Essa abordagem pode ser usada para substituir o certificado para o registro de dispositivo no hub IoT. Para obter mais informações, confira Como reprovisionar dispositivos.

Atualizar certificados para grupos de registro

Para atualizar um grupo de registro devido a uma violação de segurança, exclua a AC raiz comprometida ou o certificado intermediário imediatamente.

Se você está atualizando certificados devido ao vencimento, utilize a configuração de certificado secundário para evitar interrupções nos dispositivos que estão tentando provisionar. Posteriormente, quando o certificado secundário também estiver próximo do vencimento e precisar ser atualizado, você pode mudar para a configuração primária. Girar entre os certificados primários e secundários dessa maneira garante o tempo de inatividade para dispositivos de tentativa de provisionar.

Definir certificados da AC raiz

  1. Selecione Certificados na seção Configurações do menu de navegação da instância do Serviço de Provisionamento de Dispositivos.

    Captura de tela que mostra a página de certificados.

  2. Escolha o certificado comprometido ou vencido na lista e selecione Excluir. Confirme a exclusão inserindo o nome do certificado e selecione OK.

  3. Siga as etapas descritas em Configura Certificados de Autoridade de Certificação para adicionar e verificar os novos certificados de autoridade de certificação raiz.

  4. Selecione Gerenciar registros na seção Configurações do menu de navegação da instância do Serviço de Provisionamento de Dispositivos e selecione a guia Grupos de registro.

  5. Escolha o nome do grupo de registro na lista.

  6. Na seção Configurações de certificado X.509, selecione seu novo Certificado de Autoridade de Certificação raiz para substituir o certificado comprometido ou vencido ou adicioná-lo como um certificado secundário.

    Captura de tela que mostra a seleção de um novo certificado carregado para um grupo de registro.

  7. Selecione Salvar.

  8. Se você removeu um certificado comprometido do serviço de provisionamento, o certificado ainda poderá ser usado para fazer conexões de dispositivo com o hub IoT, desde que os registros de dispositivo para ele existam. Há duas maneiras de abordar isso:

    A primeira maneira seria acessar de modo manual o hub IoT e remover imediatamente os registros de dispositivo associados ao certificado comprometido. Em seguida, quando os dispositivos forem provisionados novamente com certificados atualizados, um novo registro de dispositivo será criado para cada um deles.

    A segunda maneira seria usar o reprovisionamento de suporte para reprovisionar os dispositivos para o mesmo hub IoT. Essa abordagem pode ser usada para substituir certificados para os registros de dispositivos no hub IoT. Para obter mais informações, confira Como reprovisionar dispositivos.

Atualizar os certificados intermediários

  1. Selecione Gerenciar registros na seção Configurações do menu de navegação da instância do Serviço de Provisionamento de Dispositivos e selecione a guia Grupos de registro.

  2. Escolha o nome do grupo na lista.

  3. Marque as caixas Remover ou substituir certificado primário/secundário se deseja excluir um certificado existente. Selecione o ícone da pasta de arquivos para procurar e carregar novos certificados.

    Se algum dos seus certificados foi comprometido, você deve removê-los o mais rápido possível.

    Se um dos seus certificados estiver se aproximando do vencimento, você poderá mantê-lo em vigor, desde que o segundo certificado ainda esteja ativo após essa data.

    Cada certificado intermediário deve ser assinado por um certificado de Autoridade de Certificação raiz verificado que já foi adicionado ao serviço de provisionamento. Para saber mais, confira Certificados X.509.

    Captura de tela que mostra a substituição de um certificado intermediário por um grupo de registro.

  4. Se você removeu um certificado comprometido do serviço de provisionamento, o certificado ainda poderá ser usado para fazer conexões de dispositivo com o hub IoT, desde que os registros de dispositivo para ele existam. Há duas maneiras de abordar isso:

    A primeira maneira seria acessar manualmente seu hub IoT e remover imediatamente o registro de dispositivo associado ao certificado comprometido. Em seguida, quando os dispositivos forem provisionados novamente com certificados atualizados, um novo registro de dispositivo será criado para cada um deles.

    A segunda maneira seria usar o reprovisionamento de suporte para reprovisionar os dispositivos para o mesmo hub IoT. Essa abordagem pode ser usada para substituir certificados para os registros de dispositivos no hub IoT. Para obter mais informações, confira Como reprovisionar dispositivos.

Reprovisionar o dispositivo

Depois que o certificado for lançado no dispositivo e no Serviço de Provisionamento de Dispositivos, o dispositivo poderá ser reprovisionado contatando o Serviço de Provisionamento de Dispositivos.

Uma maneira fácil de programação de dispositivos para reprovisionar é programar o dispositivo para contatar o serviço de provisionamento para percorrer o fluxo de provisionamento se o dispositivo recebe um erro "não autorizado" de tentar se conectar ao hub IoT.

Outra maneira são os antigos e os novos certificados para que seja válido a uma sobreposição curta e usar o hub IoT para enviar um comando para dispositivos registrá-los novamente por meio do serviço de provisionamento para atualizar as informações de conexão do Hub IoT. Como cada dispositivo pode processar comandos de formas diferentes, você precisa programar seu dispositivo para saber o que fazer quando o comando for acionado. Há várias maneiras que você pode comandar o seu dispositivo por meio do Hub IoT, e é recomendável usar métodos diretos ou trabalhos para iniciar o processo.

Depois que o reprovisionamento for concluído, os dispositivos poderão se conectar ao Hub IoT usando os novos certificados.

Não permitir certificados

Em resposta a uma violação de segurança, talvez seja necessário remover permissões de um certificado de dispositivo. Para remover permissões de um certificado de dispositivo, desabilite a entrada de registro para o dispositivo/certificado de destino. Para obter mais informações, consulte dispositivos na lista de bloqueios no artigo Gerenciar o Cancelamento do Registro.

Depois que um certificado é incluído como parte de uma entrada de registro desabilitado, qualquer tentativa de registrar com um hub IoT usando esses certificados falhará mesmo se ela estiver habilitada como parte de outra entrada de registro.

Próximas etapas