Utilizar EAP-TLS
O Azure Sphere suporta a utilização da Autenticação Extensível Protocol-Transport Layer Security (EAP-TLS) para ligar a redes Wi-Fi. O EAP-TLS não é suportado através de Ethernet.
O EAP-TLS para Wi-Fi é um método de autenticação comum em cenários focados na segurança. Fornece uma segurança significativamente maior do que a utilização da palavra-passe SSID como um segredo global, mas requer trabalho adicional para garantir que o dispositivo do Azure Sphere e a rede estão corretamente configurados e autenticados.
A especificação do protocolo EAP-TLS está detalhada em RFC 5216. O SO do Azure Sphere não implementa diretamente o protocolo EAP-TLS; Em vez disso, incorpora um componente de wpa_supplicant open source que implementa o protocolo.
Terminologia
Ponto de Acesso (AP): Um dispositivo de hardware de rede que permite que outros dispositivos Wi-Fi se liguem a uma rede com fios.
Certificado: Uma chave pública e outros metadados assinados por uma AC.
Autoridade de Certificação (AC): Uma entidade que assina e emite certificados digitais.
Certificado de AC: O certificado de AC de raiz ao qual o certificado de autenticação do servidor RADIUS está ligado. Esta chave pública pode ser armazenada no dispositivo do Azure Sphere.
Certificado de Cliente: O certificado e a chave privada que são utilizados para autenticar na rede. O certificado de cliente e a respetiva chave privada emparelhada são armazenados no dispositivo do Azure Sphere.
Par de Teclas: Um conjunto criptograficamente vinculado de teclas. 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 de cliente e a respetiva chave privada.
Chave Privada: Uma chave que não deve ser exposta a nenhuma entidade, exceto ao proprietário fidedigno.
Infraestrutura de chaves públicas (PKI): O conjunto de funções, políticas, hardware, software e procedimentos necessários para criar, gerir, distribuir, utilizar, armazenar e revogar certificados digitais e gerir a encriptação de chaves públicas.
Serviço de Utilizador de Acesso Telefónico de Autenticação Remota (RADIUS): Um protocolo de rede que funciona na porta 1812 e fornece gestão de Autenticação, Autorização e Contabilidade centralizada (AAA ou Triple A) para os utilizadores que se ligam e utilizam um serviço de rede. Um servidor RADIUS recebe dados de autenticação de um cliente, valida-os e, em seguida, permite o acesso a outros recursos de rede.
Rivest–Shamir–Adleman (RSA): Um sistema criptosssistema de chave pública baseado no RFC 3447).
Suplicante: O cliente sem fios. O dispositivo do Azure Sphere é um suplicante.
Descrição geral da autenticação EAP-TLS
O diagrama seguinte resume o processo pelo qual um dispositivo do Azure Sphere utiliza o protocolo EAP-TLS para autenticar.
Quando um dispositivo do Azure Sphere necessita de acesso a um recurso de rede, contacta um ponto de acesso sem fios (AP). Após receber o pedido, a AP pede a identidade do dispositivo e, em seguida, contacta o servidor RADIUS para iniciar o processo de autenticação. As comunicações entre o ponto de acesso e o dispositivo utilizam o encapsulamento EAP através do protocolo LAN (EAPOL).
O ponto de acesso codifica novamente as mensagens EAPOL para o formato RADIUS e envia-as 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 através do ponto de acesso, que reencaminha as mensagens de um para o outro. Quando a autenticação estiver concluída, o servidor RADIUS envia uma mensagem de estado para o dispositivo. Se a autenticação for bem-sucedida, o servidor abre a porta para o dispositivo do Azure Sphere.
Após a autenticação com êxito, o dispositivo do Azure Sphere pode aceder a outros recursos de rede e internet.
A autenticação do servidor e a Autenticação de dispositivos descrevem o processo de autenticação mais detalhadamente.
Autenticação do servidor
A autenticação do servidor é o primeiro passo na autenticação EAP-TLS mútua. Na autenticação mútua, o servidor RADIUS não só autentica o dispositivo, como também autentica o servidor. A autenticação do servidor não é estritamente necessária, mas recomendamos vivamente que configure a sua rede e dispositivos para a suportar. A autenticação do servidor ajuda a garantir que um servidor não autorizado ou impostor não pode comprometer a segurança da rede.
Para ativar a autenticação do servidor, o servidor RADIUS tem de ter um certificado de autenticação de servidor assinado por uma AC. O certificado de autenticação de servidor é uma "folha" no final da cadeia de certificados do servidor, que pode incluir opcionalmente uma AC intermédia e, eventualmente, termina numa AC de Raiz.
Quando um dispositivo pede 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, uma vez que o dispositivo não pode sincronizar o tempo do SO com uma origem de tempo válida até ser autenticado na rede. Se o dispositivo estiver configurado para confiar numa AC de Raiz que corresponda à AC de Raiz do servidor, valida a identidade do servidor. Se o dispositivo não tiver uma AC de Raiz correspondente, a autenticação do servidor falhará e o dispositivo não conseguirá aceder aos recursos de rede. Tem de conseguir atualizar o RootCA no dispositivo de vez em quando, conforme descrito em Atualizar um certificado de AC de Raiz.
Autenticação de dispositivos
Após a conclusão da autenticação do servidor, o dispositivo envia o respetivo certificado de cliente para estabelecer as respetivas credenciais. O dispositivo também pode transmitir um ID de cliente. O ID de cliente é uma informação opcional que algumas redes podem exigir para autenticação.
Os requisitos específicos para a autenticação de dispositivos com êxito podem variar consoante a forma como a sua rede específica está configurada. O administrador de rede pode exigir informações adicionais para provar a validade dos seus dispositivos do Azure Sphere. Independentemente da configuração, tem de conseguir atualizar o certificado de dispositivo de vez em quando, conforme descrito em Atualizar um certificado de cliente.
Plataforma EAP-TLS do Azure Sphere
A plataforma EAP-TLS do Azure Sphere fornece as seguintes capacidades para a configuração e gestão de rede:
- Carregar um . Ficheiro PEM que contém o certificado de cliente do dispositivo e a chave privada para Wi-Fi ligações EAP-TLS.
- Configure a interface de Wi-Fi para utilizar o EAP-TLS. O . O ficheiro PEM que contém o certificado de cliente do dispositivo tem de estar presente no dispositivo.
- Ligue-se a uma rede não EAP-TLS existente para obter um certificado de dispositivo e uma chave privada, ativar uma rede EAP-TLS e ligar à rede EAP-TLS.
- Permitir que as aplicações utilizem o certificado de autenticação e atestado de dispositivos (DAA) utilizado para ligações HTTPS para autenticar num arquivo de certificados.
- API WifiConfig para gerir redes Wi-Fi.
- API Certstore para gerir certificados.
Todos os outros componentes de rede EAP-TLS são da responsabilidade do administrador de rede local.
Configuração da rede EAP-TLS
A configuração da rede EAP-TLS é da responsabilidade do administrador de rede. O administrador de rede tem de definir a infraestrutura de chave pública (PKI) e garantir que todos os componentes de rede estão em conformidade com as políticas. A configuração e a configuração da rede incluem, mas não se limita a, as seguintes tarefas:
- Configure o servidor RADIUS, adquira e instale o respetivo certificado de AC e estabeleça os critérios para um dispositivo provar a sua identidade.
- Configure os seus dispositivos do Azure Sphere com a AC de raiz do servidor RADIUS, para que possam autenticar o servidor.
- Adquira um certificado de cliente e uma chave privada para cada dispositivo e carregue-os para o dispositivo.
A aquisição e implementação de certificados EAP-TLS descreve como adquirir e implementar certificados em vários cenários de rede.
O certificado e a chave privada para a autenticação de cliente têm de ser fornecidos no formato PEM. A chave privada pode ser fornecida na sintaxe PKCS1 ou PKCS8, com ou sem uma palavra-passe de chave simétrica para a chave privada. O certificado de AC de raiz também tem de ser fornecido no formato PEM.
A tabela seguinte lista as informações utilizadas na configuração de uma rede EAP-TLS para o Azure Sphere.
Item | Descrição | Detalhes |
---|---|---|
Certificado de cliente | Certificado de AC assinado que contém a chave pública do certificado de cliente. Obrigatório. | Tamanho máximo: 8 KiB Comprimento máximo da cadeia de identificador: 16 carateres |
Chave privada do cliente | Chave privada emparelhada com o certificado de cliente. Obrigatório. | Tamanho máximo: 8 Kib RSA suportada; As chaves ECC não são suportadas |
Palavra-passe da chave privada do cliente | Palavra-passe utilizada para encriptar a chave privada do cliente. Opcional. | Tamanho mínimo: 1 byte Tamanho máximo: 256 bytes A cadeia vazia e a cadeia nula são interpretadas da mesma forma |
ID de Cliente | Cadeia ASCII que é transmitida para o servidor RADIUS e fornece informações adicionais sobre o dispositivo. Necessário para algumas redes EAP-TLS. | Tamanho máximo: 254 bytes Formato: user@domainname.com |
Certificado de AC de raiz | Certificado de AC de raiz do certificado de autenticação do servidor RADIUS. Tem de ser configurado em cada dispositivo. Opcional, mas vivamente recomendado; contacte o administrador de rede. | Tamanho máximo: 8 KiB Comprimento máximo da cadeia de identificador: 16 carateres |
Importante
Toda a configuração do servidor PKI e RADIUS para a sua rede, incluindo a gestão da expiração do certificado, é da sua responsabilidade.