Conceitos de autenticação de dispositivo no IoT Central

Este artigo descreve como os dispositivos se autenticam em um aplicativo do IoT Central. Para saber mais sobre o processo geral de conexão, consulte Conectar um dispositivo.

Os dispositivos são autenticados com o aplicativo IoT Central usando um token de assinatura de acesso compartilhado (SAS) ou um certificado X.509. Os certificados X.509 são recomendados em ambientes de produção.

Você usa grupos de registro para gerenciar as opções de autenticação de dispositivo em seu aplicativo IoT Central.

Este artigo descreve as seguintes opções de autenticação de dispositivo:

Grupo de inscrição X.509

Em um ambiente de produção, o uso de certificados X.509 é o mecanismo de autenticação de dispositivo recomendado para o IoT Central. Para saber mais, consulte Autenticação de dispositivo usando certificados de autoridade de certificação X.509.

Um grupo de inscrição X.509 contém um certificado X.509 raiz ou intermediário. Os dispositivos podem autenticar se tiverem um certificado folha válido derivado do certificado raiz ou intermediário.

Para conectar um dispositivo com um certificado X.509 ao seu aplicativo:

  1. Crie um grupo de inscrição que use o tipo de atestado Certificados (X.509).
  2. Adicione e verifique um certificado X.509 intermediário ou raiz no grupo de registro.
  3. Gere um certificado folha a partir do certificado raiz ou intermediário no grupo de inscrição. Instale o certificado folha no dispositivo para que ele use quando se conectar ao seu aplicativo.

Cada grupo de inscrição deve usar um certificado X.509 exclusivo. O IoT Central não suporta o uso do mesmo certificado X.509 em vários grupos de inscrição.

Para saber mais, consulte Como conectar dispositivos com certificados X.509.

Apenas para fins de teste

Em um ambiente de produção, use certificados do seu provedor de certificados. Somente para teste, você pode usar os seguintes utilitários para gerar certificados raiz, intermediários e de dispositivo:

  • Ferramentas para o SDK do Dispositivo de Provisionamento de Dispositivo IoT do Azure: uma coleção de ferramentas de Node.js que você pode usar para gerar e verificar certificados e chaves X.509.
  • Gerenciar certificados de CA de teste para exemplos e tutoriais: uma coleção de scripts PowerShell e Bash para:
    • Crie uma cadeia de certificados.
    • Salve os certificados como arquivos .cer para carregar em seu aplicativo IoT Central.
    • Use o código de verificação do aplicativo IoT Central para gerar o certificado de verificação.
    • Crie certificados folha para seus dispositivos usando seus IDs de dispositivo como um parâmetro para a ferramenta.

Grupo de inscrição SAS

Um grupo de inscrição SAS contém chaves SAS no nível do grupo. Os dispositivos podem autenticar-se se tiverem um token SAS válido derivado de uma chave SAS ao nível do grupo.

Para conectar um dispositivo com token SAS de dispositivo ao seu aplicativo:

  1. Crie um grupo de inscrição que use o tipo de atestado SAS (Assinatura de Acesso Compartilhado).

  2. Copie a chave primária ou secundária do grupo de inscrição.

  3. Use a CLI do Azure para gerar um token de dispositivo a partir da chave de grupo:

    az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
    
  4. Use o token de dispositivo gerado quando o dispositivo se conectar ao seu aplicativo IoT Central.

Nota

Para usar chaves SAS existentes em seus grupos de registro, desative a alternância de geração automática de chaves e insira manualmente suas chaves SAS.

Se você usar o grupo de registro padrão SAS-IoT-Devices , o IoT Central gerará as chaves de dispositivo individuais para você. Para acessar essas chaves, selecione Conectar na página de detalhes do dispositivo. Esta página exibe o Escopo da ID, a ID do dispositivo, a Chave primária e a Chave secundária que você usa no código do dispositivo. Esta página também exibe um código QR que contém os mesmos dados.

Inscrição individual

Normalmente, os dispositivos se conectam usando credenciais derivadas de um certificado X.509 do grupo de registro ou de uma chave SAS. No entanto, se cada um dos seus dispositivos tiver suas próprias credenciais, você poderá usar inscrições individuais. Uma inscrição individual é uma entrada para um único dispositivo que permite que ele se conecte. As inscrições individuais podem usar certificados folha X.509 ou tokens SAS (de um módulo de plataforma confiável físico ou virtual) como mecanismos de atestado. Para obter mais informações, consulte Inscrição individual do DPS.

Nota

Quando você cria um registro individual para um dispositivo, ele tem precedência sobre as opções padrão do grupo de registro em seu aplicativo do IoT Central.

Criar inscrições individuais

O IoT Central suporta os seguintes mecanismos de atestado para inscrições individuais:

  • Atestado de chave simétrica: o atestado de chave simétrica é uma abordagem simples para autenticar um dispositivo com a instância DPS. Para criar um registro individual que use chaves simétricas, abra a página Conexão de dispositivo para o dispositivo, selecione Registro individual como o tipo de autenticação e Assinatura de acesso compartilhado (SAS) como o método de autenticação. Insira as chaves primária e secundária codificadas em base64 e salve as alterações. Use o escopo da ID, a ID do dispositivo e a chave primária ou secundária para conectar seu dispositivo.

    Gorjeta

    Para testes, você pode usar OpenSSL para gerar chaves codificadas base64: openssl rand -base64 64

  • Certificados X.509: Para criar um registro individual com certificados X.509, abra a página Conexão de dispositivo , selecione Registro individual como o tipo de autenticação e Certificados (X.509) como o método de autenticação. Os certificados de dispositivo usados com uma entrada de registro individual têm um requisito de que o emissor e o CN do assunto estejam definidos para a ID do dispositivo.

    Gorjeta

    Para testes, você pode usar Ferramentas para o SDK de Dispositivo de Provisionamento de Dispositivo do Azure IoT para Node.js para gerar um certificado autoassinado: node create_test_cert.js device "mytestdevice"

  • Atestado TPM (Trusted Platform Module): Um TPM é um tipo de módulo de segurança de hardware. Usar um TPM é uma das maneiras mais seguras de conectar um dispositivo. Este artigo pressupõe que você esteja usando um TPM discreto, firmware ou integrado. Os TPMs emulados por software são adequados para prototipagem ou teste, mas não fornecem o mesmo nível de segurança que TPMs discretos, de firmware ou integrados. Não use TPMs de software na produção. Para criar um registro individual que use um TPM, abra a página Conexão de dispositivo , selecione Registro individual como o tipo de autenticação e TPM como o método de autenticação. Insira a chave de endosso do TPM e salve as informações de conexão do dispositivo.

Registrar dispositivos automaticamente

Esse cenário permite que os OEMs fabriquem em massa dispositivos que podem se conectar sem primeiro serem registrados em um aplicativo. Um OEM gera credenciais de dispositivo adequadas e configura os dispositivos na fábrica.

Para registrar automaticamente dispositivos que usam certificados X.509:

  1. Gere os certificados folha para seus dispositivos usando o certificado raiz ou intermediário que você adicionou ao seu grupo de registro X.509. Use os IDs do dispositivo como os CNAME certificados de folha. Um ID de dispositivo pode conter letras, números e o - caractere.

  2. Como um OEM, pisce cada dispositivo com um ID de dispositivo, um certificado folha X.509 gerado e o valor do escopo do ID do aplicativo. O código do dispositivo também deve enviar o ID do modelo do dispositivo que implementa.

  3. Quando você liga um dispositivo, ele primeiro se conecta ao DPS para recuperar suas informações de conexão do IoT Central.

  4. O dispositivo usa as informações do DPS para se conectar e se registrar com seu aplicativo IoT Central.

  5. O aplicativo IoT Central usa a ID do modelo enviada pelo dispositivo para atribuir o dispositivo registrado a um modelo de dispositivo.

Para registrar automaticamente dispositivos que usam tokens SAS:

  1. Copie a chave primária do grupo de inscrição SAS-IoT-Devices:

    Screenshot that shows the group primary key from SAS IoT Devices enrollment group.

  2. Use o az iot central device compute-device-key comando para gerar as chaves SAS do dispositivo. Use a chave primária do grupo da etapa anterior. O ID do dispositivo pode conter letras, números e o - caractere:

    az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
    
  3. Como um OEM, pisce cada dispositivo com o ID do dispositivo, a chave SAS do dispositivo gerado e o valor do escopo do ID do aplicativo. O código do dispositivo também deve enviar o ID do modelo do dispositivo que implementa.

  4. Quando você liga um dispositivo, ele primeiro se conecta ao DPS para recuperar suas informações de registro do IoT Central.

  5. O dispositivo usa as informações do DPS para se conectar e se registrar com seu aplicativo IoT Central.

  6. O aplicativo IoT Central usa a ID do modelo enviada pelo dispositivo para atribuir o dispositivo registrado a um modelo de dispositivo.

Próximos passos

Alguns próximos passos sugeridos são: