Partilhar via


Adquirir e implementar certificados para redes EAP-TLS

Antes de um dispositivo do Azure Sphere se poder ligar a uma rede EAP-TLS, tem de ter um certificado de cliente que o servidor RADIUS possa utilizar para autenticar o dispositivo. Se a sua rede exigir autenticação mútua, cada dispositivo também tem de ter um certificado de AC de Raiz para que possa autenticar o servidor RADIUS.

A forma como adquire e implementa estes certificados depende dos recursos de rede que estão disponíveis para os seus dispositivos.

  • Se a rede EAP-TLS for a única rede disponível, terá de implementar os certificados manualmente.
  • Se estiver disponível outra forma de rede, como uma rede aberta, pode utilizar uma abordagem "bootstrap". Na abordagem de bootstrapping, uma aplicação de alto nível do Azure Sphere adquire os certificados a partir da rede aberta e, em seguida, utiliza-os para ligar à rede EAP-TLS.

Atenção

Uma vez que os IDs de certificado são ao nível do sistema, um comando az sphere ou uma chamada de função que adiciona um novo certificado pode substituir um certificado que foi adicionado por uma chamada de comando ou função anterior, potencialmente causando falhas de ligação de rede. Recomendamos vivamente que desenvolva procedimentos de atualização de certificados claros e escolha cuidadosamente os IDs de certificado. Veja IDs de certificado para obter detalhes.

Implementação manual

Se a rede EAP-TLS for a única rede disponível para os seus dispositivos, terá de implementar os certificados manualmente. A implementação manual envolve a aquisição dos certificados com um PC em rede ou um computador Linux e, em seguida, carregar os certificados para cada dispositivo do Azure Sphere com a CLI do Azure Sphere. Esta abordagem requer uma ligação física entre o PC ou o computador Linux e o dispositivo do Azure Sphere.

Adquirir os certificados manualmente

A AC de raiz e os certificados de cliente têm de estar no . Formato PEM para carregar para o dispositivo do Azure Sphere. Terá de adquirir o certificado da AC de Raiz a partir do servidor adequado, juntamente com o certificado de cliente e a chave privada (e, opcionalmente, uma palavra-passe para a sua chave privada) para o seu dispositivo. Cada certificado tem de ser gerado e assinado pelo servidor adequado na sua rede EAP-TLS. O administrador de rede ou a equipa de segurança podem fornecer os detalhes necessários para obter os certificados.

Guarde os certificados no . Formato PEM no seu PC ou computador Linux e, em seguida, utilize a CLI do Azure Sphere para armazená-los no dispositivo do Azure Sphere.

Armazenar os certificados com a CLI

Anexe o dispositivo do Azure Sphere ao seu PC ou computador Linux em rede e utilize o comando az sphere para armazenar os certificados no dispositivo.

Para armazenar o certificado da AC de Raiz no dispositivo do Azure Sphere:

az sphere device certificate add --certificate "server-key-xyz" --cert-type rootca --public-key-file <filepath_to_server_ca_public.pem>

Para armazenar o certificado de cliente no dispositivo do Azure Sphere:

az sphere device certificate add --certificate "client-key-abc" --cert-type client --public-key-file <filepath_to_client_public.pem> --private-key-file <filepath_to_client_private.pem> --private-key-password "_password_"

Implementação do bootstrap

Para ligar dispositivos do Azure Sphere em grande número ou em muitas localizações, considere utilizar uma abordagem "bootstrap". Para utilizar este método, os seus dispositivos têm de conseguir ligar-se a uma rede através da qual podem aceder a um servidor que possa fornecer os certificados. A sua aplicação de alto nível do Azure Sphere liga-se ao servidor através da rede disponível, pede os certificados e armazena-os no dispositivo.

A figura seguinte resume este processo.

Fluxo de certificado durante a implementação do bootstrap

  1. A aplicação no dispositivo do Azure Sphere liga-se à rede aberta e contacta o Serviço de Segurança do Azure Sphere para obter o respetivo certificado DAA. Em seguida, instala o certificado DAA no dispositivo. O dispositivo deve utilizar este certificado para autenticar com o serviço de emissão de certificados.

  2. Em seguida, a aplicação liga-se ao serviço de emissão de certificados que o administrador de rede designou. Apresenta o respetivo certificado DAA para validar a respetiva identidade com o servidor e pede o certificado da AC de Raiz para o servidor RADIUS na rede EAP-TLS, juntamente com o certificado de cliente e a chave privada. O serviço pode transmitir outras informações à aplicação, como a identidade do cliente, e a palavra-passe da chave privada, se necessário. Em seguida, a aplicação instala o certificado de cliente, a chave privada do cliente e o certificado da AC de raiz no dispositivo. Em seguida, pode desligar-se da rede aberta.

  3. A aplicação configura e ativa a rede EAP-TLS. Fornece o certificado de cliente e a chave privada para provar a identidade do dispositivo. Se a rede suportar a autenticação mútua, a aplicação também autentica o servidor RADIUS com o certificado de AC de Raiz.

Autenticar o dispositivo e obter o certificado de cliente durante o bootstrapping

Um dispositivo do Azure Sphere pode utilizar o respetivo certificado de autenticação e atestado de dispositivos (DAA) para autenticar num serviço que possa fornecer os outros certificados necessários. O certificado DAA está disponível no Serviço de Segurança do Azure Sphere.

Para obter o certificado DAA:

  1. Especifique o ID de inquilino do Azure Sphere (Legado) na secção DeviceAuthentication do manifesto da aplicação para a aplicação de alto nível.
  2. Chame DeviceAuth_CurlSslFunc da aplicação de alto nível para obter a cadeia de certificados do catálogo atual do Azure Sphere.

Se o manifesto da aplicação incluir o ID de inquilino do Azure Sphere (Legado) para o dispositivo atual, a função DeviceAuth_CurlSslFunc utilizará a cadeia de certificados de cliente DAA para autenticar, se o serviço de destino necessitar de autenticação mútua TLS.

Obter o certificado da AC de Raiz para o servidor RADIUS

Para obter o certificado da AC de Raiz para o servidor RADIUS, a aplicação liga-se a um ponto final do servidor de certificados que está acessível na respetiva rede e pode fornecer o certificado. O administrador de rede deve conseguir fornecer informações sobre como ligar ao ponto final e obter o certificado.

Instalar os certificados com a API CertStore

A aplicação utiliza a API CertStore para instalar os certificados no dispositivo. A função CertStore_InstallClientCertificate instala o certificado de cliente e CertStore_InstallRootCACertificate instala o certificado de AC de Raiz para o servidor RADIUS. Gerir certificados em aplicações de alto nível fornece informações adicionais sobre a utilização da API CertStore para gestão de certificados.

A aplicação de exemplo Certificados mostra como uma aplicação pode utilizar estas funções.