Conceitos de autenticação de dispositivo no IoT Central
Este artigo descreve como um dispositivo se autentica em um aplicativo do IoT Central. Para saber mais sobre o processo de conexão geral, confira Conectar um dispositivo.
A autenticação de dispositivos com o aplicativo do IoT Central ocorre por meio de um token de SAS (Assinatura de Acesso Compartilhado) ou de um certificado X.509. Os certificados X.509 são recomendados para ambientes de produção.
Use grupos de registro para gerenciar as opções de autenticação de dispositivo no aplicativo do IoT Central.
Este artigo descreve as seguintes opções de autenticação de dispositivo:
Cada uma dessas opções de autenticação requer que cada dispositivo tenha uma identificação do dispositivo única. A identificação do dispositivo é um identificador exclusivo para o dispositivo que você usa para gerenciar o dispositivo no aplicativo IoT Central.
Grupo de registro X.509
Em um ambiente de produção, o uso de certificados X.509 é o mecanismo de autenticação de dispositivos recomendado para o IoT Central. Para saber mais, consulte Autenticação de dispositivo usando certificados de AC X.509.
Um grupo de registro X.509 contém um certificado X.509 intermediário ou raiz. Os dispositivos podem se 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 aplicativo:
- Crie um grupo de registro que usa o tipo de atestado Certificados (X.509).
- Adicione e verifique um certificado X.509 intermediário ou raiz no grupo de registro.
- Gere um certificado secundário com base no certificado raiz ou intermediário no grupo de registro. Instale o certificado folha no dispositivo para uso quando ele se conectar ao seu aplicativo.
Cada grupo de registro deve usar um certificado X.509 exclusivo. O IoT Central não dá suporte ao uso do mesmo certificado X.509 em vários grupos de registro.
Para saber mais, confira Como conectar dispositivos com certificados X.509.
Apenas para fins de teste
Em um ambiente de produção, use certificados do provedor de certificados. Apenas para testes, você pode usar os utilitários a seguir para gerar certificados raiz, intermediários e de dispositivo:
- Ferramentas para o SDK do dispositivo de provisionamento de dispositivos IoT do Azure: uma coleção de ferramentas do Node.js que você pode usar para gerar e verificar certificados e chaves X.509.
- Gerenciar certificados de Autoridade de Certificação de teste para exemplos e tutoriais: uma coleção de scripts do PowerShell e Bash para:
- Criar 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 de folha para seus dispositivos usando suas IDs de dispositivo como um parâmetro para a ferramenta.
Grupo de registro SAS
Um grupo de registro SAS contém as chaves SAS no nível do grupo. Os dispositivos poderão ser autenticados se tiverem um token SAS válido derivado de uma chave SAS de nível de grupo.
Para conectar um dispositivo com o token SAS de dispositivo ao aplicativo:
Crie um grupo de registro que usa o tipo de atestado SAS (Assinatura de Acesso Compartilhado).
Copie, no grupo de registro, a chave primária ou secundária do grupo.
Use a CLI do Azure para gerar um token de dispositivo com base na chave do grupo:
az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
Dica
Cada dispositivo que se conecta ao aplicativo IoT Central deve ter uma identificação do dispositivo única. O comando anterior gera um token único para cada dispositivo.
Use a chave de dispositivo gerada quando o dispositivo se conectar ao aplicativo do IoT Central.
Observação
Para usar as chaves SAS existentes nos grupos de registro, desabilite a alternância Gerar chaves automaticamente e insira as chaves SAS manualmente.
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.
Registro individual
Normalmente, os dispositivos se conectam usando as credenciais derivadas de um grupo de registro X.509 ou uma chave SAS. No entanto, se os dispositivos tiverem credenciais próprias, você poderá usar registros individuais. Um registro individual é uma entrada para um único dispositivo, permitindo que ele se conecte. Os registros individuais podem usar certificados X.509 de folha ou tokens SAS (de um Trusted Platform Module físico ou virtual) como mecanismos de certificação. Para obter mais informações, consulte Registro individual do DPS.
Observação
Quando você cria um registro individual para um dispositivo, ele tem precedência sobre as opções de registro de grupo padrão no aplicativo do IoT Central.
Criar registros individuais
O IoT Central tem suporte para os seguintes mecanismos de atestado de registros 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 usa chaves simétricas, abra a página Conexão de dispositivo, selecione Registro individual como o tipo de autenticação e SAS (Assinatura de Acesso Compartilhado) 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.
Dica
Para fazer testes, você pode usar o OpenSSL para gerar chaves base64 codificadas:
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 como requisito que o emissor e o certificado CN estejam definidos para a ID do dispositivo.
Dica
Para fazer testes, você pode usar Ferramentas do SDK do dispositivo de provisionamento de dispositivos IoT do Azure para Node.js para gerar um certificado autoassinado:
node create_test_cert.js device "mytestdevice"
Atestado de 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 se conectar um dispositivo. Este artigo pressupõe que você está usando um TPM discreto, de firmware ou integrado. Os TPMs emulados para software são adequados para fazer protótipos ou teste, mas não oferecem o mesmo nível de segurança dos TPMs discretos, de firmware ou integrados. Não use TPMs de software na produção. Para criar um registro individual que usa 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 de TPM e salve as informações de conexão do dispositivo.
Registrar dispositivos automaticamente
Este cenário permite que os OEMs fabriquem dispositivos em massa que podem ser conectados sem a necessidade de um registro anterior em um aplicativo. Um OEM gera credenciais de dispositivo adequadas e configura os dispositivos na fábrica.
Para registrar automaticamente os dispositivos que usam certificados X.509:
Gere os certificados secundários para os dispositivos usando o certificado raiz ou intermediário que você adicionou ao grupo de registro X.509. Use as identificações do dispositivo como o
CNAME
nos certificados secundários. Uma identificação do dispositivo pode conter letras, números e o caractere-
.O OEM fornece a cada dispositivo uma identificação do dispositivo, um certificado X.509 secundário gerado e o valor do escopo de ID do aplicativo. O código do dispositivo também deve enviar a ID do modelo do dispositivo que ele implementa.
Ao ligar um dispositivo, primeiro ele se conecta ao DPS para recuperar suas informações de conexão do IoT Central.
O dispositivo usa as informações do DPS para se conectar e se registrar no seu aplicativo IoT Central.
O aplicativo do IoT Central usa a ID do modelo enviada pelo dispositivo para atribuir o dispositivo registrado a um modelo de dispositivo.
Para registrar automaticamente os dispositivos que usam tokens SAS:
Copie, no grupo de registro SAS-IoT-Devices, a chave primária do grupo:
Use o comando
az iot central device compute-device-key
para gerar as chaves SAS do dispositivo. Use a chave primária do grupo da etapa anterior. A identificação 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>
O OEM fornece a cada dispositivo uma identificação do dispositivo, uma chave SAS de dispositivo gerada e o valor do escopo de ID do aplicativo. O código do dispositivo também deve enviar a ID do modelo do dispositivo que ele implementa.
Ao ligar um dispositivo, primeiro ele se conecta ao DPS para recuperar suas informações de registro do IoT Central.
O dispositivo usa as informações do DPS para se conectar e se registrar no seu aplicativo IoT Central.
O aplicativo do IoT Central usa a ID do modelo enviada pelo dispositivo para atribuir o dispositivo registrado a um modelo de dispositivo.
Próximas etapas
Sugestão de próximas etapas:
- Veja as melhores práticas de desenvolvimento de dispositivos.
- Analise um exemplo de código que mostra como usar tokens SAS em Tutorial: criar e conectar um aplicativo cliente ao aplicativo do Azure IoT Central
- Saiba Como conectar dispositivos com certificados X.509 usando o SDK do dispositivo Node.js para o aplicativo IoT Central
- Saiba como Monitorar a conectividade do dispositivo usando o CLI do Azure
- Leia sobre Dispositivos do Azure IoT Edge e do Azure IoT Central