Adquirir e implantar certificados para redes EAP-TLS

Antes que um dispositivo do Azure Sphere possa se conectar a uma rede EAP-TLS, ele deve ter um certificado de cliente que o servidor RADIUS pode usar para autenticar o dispositivo. Se sua rede exigir autenticação mútua, cada dispositivo também deve ter um certificado de AC raiz para que ele possa autenticar o servidor RADIUS.

A forma como você adquire e implanta esses certificados depende dos recursos de rede disponíveis para seus dispositivos.

  • Se a rede EAP-TLS for a única rede disponível, você precisará implantar os certificados manualmente.
  • Se outra forma de rede, como uma rede aberta, estiver disponível, você poderá usar uma abordagem "bootstrap". Na abordagem de inicialização, um aplicativo de alto nível do Azure Sphere adquire os certificados da rede aberta e os usa para se conectar à rede EAP-TLS.

Cuidado

Como as IDs de certificado são em todo o sistema, um comando azsphere ou uma chamada de função que adiciona um novo certificado pode substituir um certificado que foi adicionado por um comando ou chamada de função anterior, potencialmente causando falhas de conexão de rede. Recomendamos que você desenvolva procedimentos claros de atualização de certificado e escolha as IDs de certificado cuidadosamente. Consulte IDs de certificado para obter detalhes.

Implantação manual

Se a rede EAP-TLS for a única rede disponível para seus dispositivos, você precisará implantar os certificados manualmente. A implantação manual envolve a aquisição dos certificados usando um computador em rede ou um computador Linux e, em seguida, carregar os certificados em cada dispositivo do Azure Sphere usando a CLI do Azure Sphere. Essa abordagem requer uma conexão física entre o computador ou o computador Linux e o dispositivo do Azure Sphere.

Adquirir os certificados manualmente

A AC raiz e os certificados de cliente devem estar no . Formato PEM a ser carregado no dispositivo do Azure Sphere. Você precisará adquirir o certificado de AC Raiz do servidor apropriado, juntamente com o certificado do cliente e a chave privada (e, opcionalmente, uma senha para sua chave privada) para seu dispositivo. Cada certificado deve ser gerado e assinado pelo servidor apropriado em sua rede EAP-TLS. Seu administrador de rede ou equipe de segurança pode fornecer os detalhes necessários para obter os certificados.

Salve os certificados no . Formato PEM no computador ou no computador Linux e use a CLI do Azure Sphere para armazená-los no dispositivo do Azure Sphere.

Armazene os certificados usando a CLI

Anexe o dispositivo do Azure Sphere ao computador em rede ou ao computador Linux e use o comando azsphere para armazenar os certificados no dispositivo.

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

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

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

azsphere device certificate add --cert-id "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_"

Implantação do Bootstrap

Para conectar dispositivos do Azure Sphere em grande número ou em muitos locais, considere usar uma abordagem "bootstrap". Para usar esse método, seus dispositivos devem ser capazes de se conectar a uma rede por meio da qual possam acessar um servidor que possa fornecer os certificados. Seu aplicativo Azure Sphere de alto nível se conecta ao servidor pela rede disponível, solicita os certificados e os armazena no dispositivo.

A figura a seguir resume esse processo.

Fluxo de certificado durante a implantação de inicialização

  1. O aplicativo no dispositivo do Azure Sphere se conecta à rede aberta e entra em contato com o Serviço de Segurança do Azure Sphere para obter seu certificado DAA. Em seguida, ele instala o certificado DAA no dispositivo. O dispositivo deve usar esse certificado para autenticar com o serviço de emissão de certificados.

  2. O aplicativo se conecta ao serviço de emissão de certificado que o administrador de rede designou. Ele apresenta seu certificado DAA para validar sua identidade com o servidor e solicita o certificado de AC Raiz para o servidor RADIUS na rede EAP-TLS, juntamente com o certificado do cliente e a chave privada. O serviço pode passar outras informações para o aplicativo, como a identidade do cliente e a senha da chave privada, se necessário. Em seguida, o aplicativo instala o certificado do cliente, a chave privada do cliente e o certificado de AC raiz no dispositivo. Em seguida, ele pode se desconectar da rede aberta.

  3. O aplicativo configura e habilita a rede EAP-TLS. Ele fornece o certificado do cliente e a chave privada para provar a identidade do dispositivo. Se a rede dá suporte à autenticação mútua, o aplicativo também autentica o servidor RADIUS usando o certificado de AC raiz.

Autenticar o dispositivo e obter o certificado do cliente durante a inicialização

Um dispositivo do Azure Sphere pode usar seu certificado DAA (autenticação e atestado de dispositivo) para autenticar um serviço que pode 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 a ID do locatário do Azure Sphere na seção DeviceAuthentication do manifesto do aplicativo para o aplicativo de alto nível.
  2. Chame DeviceAuth_CurlSslFunc do aplicativo de alto nível para obter a cadeia de certificados do locatário atual do Azure Sphere.

Se o manifesto do aplicativo incluir a ID do locatário do Azure Sphere para o dispositivo atual, a função DeviceAuth_CurlSslFunc usará a cadeia de certificados do cliente DAA para autenticação, se o serviço de destino exigir autenticação mútua TLS.

Obter o certificado de AC raiz para o servidor RADIUS

Para obter o certificado de AC raiz para o servidor RADIUS, o aplicativo se conecta a um ponto de extremidade do servidor de certificado acessível em sua rede e pode fornecer o certificado. O administrador de rede deve ser capaz de fornecer informações sobre como se conectar ao ponto de extremidade e recuperar o certificado.

Instalar os certificados usando a API do CertStore

O aplicativo usa a API do CertStore para instalar os certificados no dispositivo. A função CertStore_InstallClientCertificate instala o certificado do cliente e CertStore_InstallRootCACertificate instala o certificado de AC Raiz para o servidor RADIUS. Gerenciar certificados em aplicativos de alto nível fornece informações adicionais sobre como usar a API do CertStore para gerenciamento de certificados.

O aplicativo de exemplo Certificados mostra como um aplicativo pode usar essas funções.