Usar EAP-TLS

O Azure Sphere dá suporte ao uso do EAP-TLS (Extensible Authentication Protocol-Transport Layer Security) para se conectar a redes Wi-Fi. O EAP-TLS não tem suporte na Ethernet.

EAP-TLS para Wi-Fi é um método de autenticação comum em cenários focados em segurança. Ele fornece uma segurança significativamente maior do que usar a senha SSID como um segredo global, mas requer trabalho adicional para garantir que o dispositivo do Azure Sphere e a rede estejam configurados e autenticados corretamente.

A especificação de protocolo EAP-TLS é detalhada no RFC 5216. O sistema operacional do Azure Sphere não implementa diretamente o protocolo EAP-TLS; Em vez disso, ele incorpora um componente de wpa_supplicant de software livre que implementa o protocolo.

Terminologia

Ponto de Acesso (AP): Um dispositivo de hardware de rede que permite que outros dispositivos Wi-Fi se conectem a uma rede com fio.

Certificado: Uma chave pública e outros metadados que são assinados por uma AC.

Autoridade de Certificado (AC): Uma entidade que assina e emite certificados digitais.

Certificado de AC: O certificado de AC raiz ao qual o certificado de autenticação do servidor RADIUS é vinculado. Essa chave pública pode ser armazenada no dispositivo do Azure Sphere.

Certificado do cliente: O certificado e a chave privada que são usados para autenticar na rede. O certificado do cliente e sua chave privada emparelhada são armazenados no dispositivo do Azure Sphere.

Par de chaves: Um conjunto de chaves vinculada criptograficamente. Em muitos cenários, um par de chaves significa uma chave pública e uma chave privada; no cenário EAP-TLS do Azure Sphere, no entanto, o par de chaves indica o certificado do cliente e sua chave privada.

Chave Privada: Uma chave que não deve ser exposta a nenhuma entidade, exceto ao proprietário confiável.

PKI (infraestrutura de chave pública): O conjunto de funções, políticas, hardware, software e procedimentos necessários para criar, gerenciar, distribuir, usar, armazenar e revogar certificados digitais e gerenciar criptografia de chave pública.

RADIUS (Serviço de Usuário Discado de Autenticação Remota): Um protocolo de rede que opera na porta 1812 e fornece gerenciamento centralizado de Autenticação, Autorização e Contabilidade (AAA ou Triplo A) para usuários que se conectam e usam um serviço de rede. Um servidor RADIUS recebe dados de autenticação de um cliente, valida-os e habilita o acesso a outros recursos de rede.

Rivest-Shamir-Adleman (RSA): Um criptosistema de chave pública baseado no RFC 3447).

Suplicante: O cliente sem fio. O dispositivo do Azure Sphere é um suplicante.

Visão geral da autenticação EAP-TLS

O diagrama a seguir resume o processo pelo qual um dispositivo do Azure Sphere usa o protocolo EAP-TLS para autenticação.

autenticação EAP_TLS

  1. Quando um dispositivo do Azure Sphere requer acesso a um recurso de rede, ele entra em contato com uma AP (ponto de acesso sem fio). Ao receber a solicitação, a AP solicita a identidade do dispositivo e entra em contato com o servidor RADIUS para iniciar o processo de autenticação. As comunicações entre o ponto de acesso e o dispositivo usam o protocolo EAP encapsulamento por LAN (EAPOL).

  2. O ponto de acesso recodifica as mensagens EAPOL para o formato RADIUS e as envia para o servidor RADIUS. O servidor RADIUS fornece serviços de autenticação para a rede na porta 1812. O dispositivo do Azure Sphere e o servidor RADIUS executam o processo de autenticação por meio do ponto de acesso, que retransmite as mensagens de um para o outro. Quando a autenticação é concluída, o servidor RADIUS envia uma mensagem de status para o dispositivo. Se a autenticação for bem-sucedida, o servidor abrirá a porta para o dispositivo do Azure Sphere.

  3. Após a autenticação bem-sucedida, o dispositivo do Azure Sphere pode acessar outros recursos de rede e internet.

A autenticação do servidor e a autenticação do dispositivo descrevem o processo de autenticação com mais detalhes.

Autenticação de servidor

A autenticação do servidor é a primeira etapa na autenticação EAP-TLS mútua. Na autenticação mútua, não só o servidor RADIUS autentica o dispositivo, mas o dispositivo autentica o servidor. A autenticação do servidor não é estritamente necessária, mas recomendamos fortemente que você configure sua rede e dispositivos para dar suporte a ela. A autenticação do servidor ajuda a garantir que um servidor desonesto ou impostor não possa comprometer a segurança da rede.

Para habilitar a autenticação do servidor, o servidor RADIUS deve ter um certificado de autenticação de servidor assinado por uma AC. O certificado de autenticação do servidor é uma "folha" no final da cadeia de certificados do servidor, que pode incluir opcionalmente uma AC intermediária e, eventualmente, termina em uma AC Raiz.

Quando um dispositivo solicita acesso, o servidor envia toda a cadeia de certificados para o dispositivo. O Azure Sphere não impõe verificações de validação de tempo no certificado ou cadeia de autenticação do servidor, pois o dispositivo não pode sincronizar o tempo do sistema operacional com uma fonte de tempo válida até que ele tenha se autenticado na rede. Se o dispositivo estiver configurado para confiar em uma AC Raiz que corresponda à AC Raiz do servidor, ele valida a identidade do servidor. Se o dispositivo não tiver uma AC Raiz correspondente, a autenticação do servidor falhará e o dispositivo não poderá acessar recursos de rede. Você deve ser capaz de atualizar o RootCA no dispositivo de tempos em tempos, conforme descrito em Atualizar um certificado de AC raiz.

Autenticação de dispositivo

Após a conclusão da autenticação do servidor, o dispositivo envia seu certificado de cliente para estabelecer suas credenciais. O dispositivo também pode passar uma ID do cliente. A ID do cliente é uma informação opcional que algumas redes podem exigir para autenticação.

Os requisitos específicos para autenticação bem-sucedida do dispositivo podem variar, dependendo de como sua rede específica está configurada. O administrador de rede pode exigir informações adicionais para provar a validade de seus dispositivos do Azure Sphere. Independentemente da configuração, você deve ser capaz de atualizar o certificado do dispositivo de tempos em tempos, conforme descrito em Atualizar um certificado do cliente.

Plataforma EAP-TLS do Azure Sphere

A plataforma EAP-TLS do Azure Sphere fornece os seguintes recursos para configuração e gerenciamento de rede:

  • Carregue um . Arquivo PEM que contém o certificado cliente do dispositivo e a chave privada para Wi-Fi conexões EAP-TLS.
  • Configure a interface Wi-Fi para usar o EAP-TLS. O. O arquivo PEM que contém o certificado cliente do dispositivo deve estar presente no dispositivo.
  • Conecte-se a uma rede não EAP-TLS existente para obter um certificado de dispositivo e uma chave privada, habilitar uma rede EAP-TLS e conectar-se à rede EAP-TLS.
  • Permitir que os aplicativos usem o certificado DAA (autenticação e atestado) do dispositivo usado para conexões HTTPS para autenticação em um repositório de certificados.
  • A API WifiConfig para gerenciar redes de Wi-Fi.
  • A API do Certstore para gerenciar certificados.

Todos os outros componentes de rede EAP-TLS são de responsabilidade do administrador de rede local.

Configuração de rede EAP-TLS

A configuração da rede EAP-TLS é responsabilidade do administrador de rede. O administrador de rede deve definir a PKI (infraestrutura de chave pública) e garantir que todos os componentes de rede estejam em conformidade com suas políticas. A configuração e a configuração de rede incluem, mas não se limita a, as seguintes tarefas:

  • Configure o servidor RADIUS, adquira e instale seu certificado de AC e estabeleça os critérios para um dispositivo provar sua identidade.
  • Configure seus dispositivos do Azure Sphere com a AC raiz do servidor RADIUS, para que eles possam autenticar o servidor.
  • Adquira um certificado de cliente e uma chave privada para cada dispositivo e carregue-os no dispositivo.

A aquisição e implantação do certificado EAP-TLS descreve como adquirir e implantar certificados em vários cenários de rede.

O certificado e a chave privada para autenticação do cliente devem ser fornecidos no formato PEM. A chave privada pode ser fornecida na sintaxe PKCS1 ou PKCS8, com ou sem uma senha de chave simétrica para a chave privada. O certificado de AC raiz também deve ser fornecido no formato PEM.

A tabela a seguir lista as informações usadas na configuração de uma rede EAP-TLS para o Azure Sphere.

Item Descrição Detalhes
Certificado do cliente Certificado de AC assinado que contém a chave pública para o certificado do cliente. Necessário. Tamanho máximo: 8 KiB
Comprimento máximo da cadeia de caracteres do identificador: 16 caracteres
Chave privada do cliente Chave privada emparelhada com o certificado do cliente. Necessário. Tamanho máximo: 8 Kib
RSA com suporte; Não há suporte para chaves ECC
Senha da chave privada do cliente Senha usada para criptografar a chave privada do cliente. Opcional. Tamanho mínimo: 1 byte
Tamanho máximo: 256 bytes
Cadeia de caracteres vazia e cadeia de caracteres nulas são interpretadas como a mesma
ID do cliente Cadeia de caracteres ASCII que é passada para o servidor RADIUS e fornece informações adicionais sobre o dispositivo. Exigido por algumas redes EAP-TLS. Tamanho máximo: 254 bytes
Formato: user@domainname.com
Certificado de AC raiz Certificado de AC raiz do certificado de autenticação do servidor RADIUS. Deve ser configurado em cada dispositivo. Opcional, mas altamente recomendado; marcar com o administrador de rede. Tamanho máximo: 8 KiB
Comprimento máximo da cadeia de caracteres do identificador: 16 caracteres

Importante

Toda a configuração do servidor PKI e RADIUS para sua rede, incluindo o gerenciamento da expiração do certificado, é sua responsabilidade.