Compartilhar via


Uso de certificado com o Azure Sphere

Este tópico fornece uma visão geral sobre o certificado do Azure Sphere "landscape": os tipos de certificados que os vários componentes do Azure Sphere usam, de onde eles vêm, de onde são armazenados, como são atualizados e como acessá-los quando necessário. Ele também descreve como o sistema operacional, o SDK e os serviços do Azure Sphere facilitam o gerenciamento de certificados para você. Presumimos que você tenha uma familiaridade básica com as autoridades de certificado e a cadeia de confiança.

Dispositivos do Azure Sphere

Cada dispositivo do Azure Sphere depende do repositório Raiz Confiável, que faz parte do sistema operacional do Azure Sphere. O repositório Raiz Confiável contém uma lista de certificados raiz que são usados para validar a identidade do Serviço de Segurança do Azure Sphere quando o dispositivo se conecta para autenticação de dispositivo e atestado (DAA), atualização do OTA (over-the-air) ou relatório de erro. Esses certificados são fornecidos com o sistema operacional.

Quando o atestado diário é bem-sucedido, o dispositivo recebe dois certificados: um certificado de atualização e um certificado do cliente. O certificado de atualização permite que o dispositivo se conecte ao Serviço de Atualização do Azure Sphere para obter atualizações de software e carregar relatórios de erro; não está acessível a aplicativos ou por meio da linha de comando. O certificado do cliente, às vezes chamado de certificado DAA, pode ser usado por aplicativos para se conectar a serviços de terceiros, como wolfSSL que usam tLS (segurança de camada de transporte). Esse certificado é válido por 24 horas. Os aplicativos podem recuperá-lo programaticamente chamando a função DeviceAuth_GetCertificatePath.

Dispositivos que se conectam a serviços baseados no Azure, como Hub IoT do Azure, Azure IoT Central e Azure IoT Edge devem apresentar seu certificado de AC de locatário do Azure Sphere para autenticar seu locatário do Azure Sphere. O comando azsphere ca-certificate download na CLI retorna o certificado de AC do locatário para esses usos.

Conexões de rede EAP-TLS

Os dispositivos que se conectam a uma rede EAP-TLS precisam de certificados para se autenticar com o servidor RADIUS da rede. Para se autenticar como um cliente, o dispositivo deve passar um certificado de cliente para o RADIUS. Para executar a autenticação mútua, o dispositivo também deve ter um certificado de AC raiz para o servidor RADIUS para que ele possa autenticar o servidor. A Microsoft não fornece nenhum desses certificados; você ou o administrador de rede são responsáveis por verificar a autoridade de certificado correta para o servidor RADIUS da rede e, em seguida, adquirir os certificados necessários do emissor.

Para obter os certificados para o servidor RADIUS, você precisará se autenticar na autoridade de certificado. Você pode usar o certificado DAA, conforme mencionado anteriormente, para essa finalidade. Depois de adquirir os certificados para o servidor RADIUS, você deve armazená-los no repositório de certificados do dispositivo. O repositório de certificados do dispositivo está disponível apenas para uso na autenticação de uma rede protegida com EAP-TLS. (O certificado DAA não é mantido no repositório de certificados do dispositivo; ele é mantido com segurança no sistema operacional.) O comando certificado de dispositivo do azsphere na CLI permite gerenciar o repositório de certificados da linha de comando. Os aplicativos do Azure Sphere podem usar a API do CertStore para armazenar, recuperar e gerenciar certificados no repositório de certificados do dispositivo. A API do CertStore também inclui funções para retornar informações sobre certificados individuais para que os aplicativos possam se preparar para expiração e renovação de certificado.

Consulte Usar o EAP-TLS para obter uma descrição completa dos certificados usados na rede EAP-TLS e consulte Proteger a empresa Wi-Fi acesso: EAP-TLS no Azure Sphere no Microsoft Tech Community para obter informações adicionais.

Aplicativos do Azure Sphere

Os aplicativos do Azure Sphere precisam de certificados para se autenticar em serviços Web e algumas redes. Dependendo dos requisitos do serviço ou ponto de extremidade, um aplicativo pode usar o certificado DAA ou um certificado de uma autoridade de certificado externa.

Aplicativos que se conectam a um serviço de terceiros usando wolfSSL ou uma biblioteca semelhante podem chamar a função DeviceAuth_GetCertificatePath para obter o certificado DAA para autenticação. Essa função foi introduzida no cabeçalho deviceauth.h no SDK 20.10.

A biblioteca IoT do Azure que está interna no Azure Sphere já confia na AC raiz necessária, portanto, os aplicativos que usam essa biblioteca para acessar serviços IoT do Azure (Hub IoT do Azure, Azure IoT Central, serviço de provisionamento de dispositivos) não exigem certificados adicionais.

Se seus aplicativos usarem outros serviços do Azure, marcar com a documentação desses serviços para determinar quais certificados são necessários.

API Pública do Azure Sphere

A API Pública do Azure Sphere (PAPI) se comunica com o Serviço de Segurança do Azure Sphere para solicitar e recuperar informações sobre dispositivos implantados. O Serviço de Segurança usa um certificado TLS para autenticar essas conexões. Isso significa que qualquer código ou script que use a API Pública, juntamente com outros clientes do Serviço de Segurança, como o SDK do Azure Sphere (incluindo a CLI clássica do Azure Sphere e a CLI do Azure Sphere), deve confiar nesse certificado para poder se conectar ao Serviço de Segurança. O SDK usa os certificados no repositório de certificados do sistema do computador host para validação do Serviço de Segurança do Azure Sphere, assim como muitos aplicativos de API Pública.

Em 13 de outubro de 2020, o Serviço de Segurança atualizou seu certificado TLS de API Pública para um emitido do certificado DigiCert Global Root G2. Os sistemas Windows e Linux incluem o certificado DigiCert Global Root G2, portanto, o certificado necessário está prontamente disponível. No entanto, como descrevemos em uma postagem anterior no blog, apenas cenários de cliente que envolviam sNI (assunto, nome ou emissor) fixando as alterações necessárias para acomodar essa atualização.

Serviço de Segurança do Azure Sphere

Os serviços de nuvem do Azure Sphere em geral e o Serviço de Segurança, em particular, gerenciam vários certificados que são usados na comunicação de serviço para serviço seguro. A maioria desses certificados é interna para os serviços e seus clientes, portanto, a Microsoft coordena as atualizações conforme necessário. Por exemplo, além de atualizar o certificado TLS da API Pública em outubro, o Serviço de Segurança do Azure Sphere também atualizou seus certificados TLS para o serviço DAA e o serviço Update. Antes da atualização, os dispositivos receberam uma atualização do OTA para o repositório Raiz Confiável que incluía o novo certificado raiz necessário. Nenhuma ação do cliente foi necessária para manter a comunicação do dispositivo com o Serviço de Segurança.

Como o Azure Sphere facilita as alterações de certificado para os clientes?

A expiração do certificado é uma causa comum de falhas para dispositivos IoT que o Azure Sphere pode impedir.

Como o produto do Azure Sphere inclui o sistema operacional e o Serviço de Segurança, os certificados usados por ambos os componentes são gerenciados pela Microsoft. Os dispositivos recebem certificados atualizados por meio do processo DAA, atualizações do sistema operacional e do aplicativo e relatórios de erros sem exigir alterações nos aplicativos. Quando a Microsoft adicionou o certificado DigiCert Global Root G2, nenhuma alteração do cliente foi necessária para continuar o DAA, atualizações ou relatório de erros. Os dispositivos que estavam offline no momento da atualização receberam a atualização assim que se reconectaram à Internet.

O sistema operacional do Azure Sphere também inclui a biblioteca IoT do Azure, portanto, se a Microsoft fizer alterações adicionais nos certificados que as bibliotecas IoT do Azure usam, atualizaremos a biblioteca no sistema operacional para que seus aplicativos não precisem ser alterados. Também informaremos você por meio de postagens adicionais no blog sobre quaisquer casos de borda ou circunstâncias especiais que possam exigir modificações em seus aplicativos ou scripts.

Ambos os casos mostram como o Azure Sphere simplifica o gerenciamento de aplicativos removendo a necessidade de atualizações de manutenção de aplicativos para lidar com alterações de certificado. Como cada dispositivo recebe um certificado de atualização como parte de seu atestado diário, você pode gerenciar facilmente a atualização de todos os certificados gerenciados localmente que seus dispositivos e aplicativos usam. Por exemplo, se seu aplicativo validar a identidade do servidor de linha de negócios (como deveria), você poderá implantar um pacote de imagem de aplicativo atualizado que inclui certificados atualizados. Os serviços de atualização de aplicativo fornecidos pela plataforma do Azure Sphere fornecem essas atualizações, removendo a preocupação de que o serviço de atualização em si incorrerá em um problema de expiração de certificado.

Para obter mais informações

Azure Sphere Device Authentication and Attestation Service

Atualizações de certificado adicionais para o Azure Sphere

Alterações no certificado TLS do Azure

TLS IoT do Azure: as alterações estão chegando! (... e por que você deve se importar)