Como posso baixar o certificado de um AP sem fio usando o 802.1X?

8

Até onde eu sei, os pontos de acesso sem fio usando o WPA-Enterprise (ou seja, WPA mais 802.1X) podem enviar um certificado de chave pública para um cliente durante a configuração da conexão. O cliente pode verificar este certificado para certificar-se de que não está se conectando a um AP não autorizado (semelhante à validação de certificado em HTTPS).

Perguntas:

  • Eu entendi isso corretamente?
  • Se sim, existe uma maneira de baixar o certificado AP? Idealmente, gostaria de uma solução que funcionasse no Linux.

Gostaria de fazer o download de um certificado autoassinado para usá-lo para verificar as tentativas de conexão subsequentes. Isso seria mais simples do que pedir ao operador do AP por um arquivo.

    
por sleske 17.12.2014 / 01:05

1 resposta

8

Sim, as configurações mais comuns do WPA-Enterprise usam o PEAP ou o TTLS, ambos implementando o TLS sobre o EAP sobre o 802.1X.

Normalmente, o certificado já é publicado em algum lugar pelos operadores de rede exatamente para esse propósito. Não é algo que o usuário deve pedir .

Infelizmente, o wpa_supplicant não tem uma opção para descarregar os certificados, mesmo no modo de depuração. (Eu atualizarei isso se eu encontrar uma maneira melhor.) Você ainda pode monitorar o processo de autenticação EAPOL real, no entanto. Primeiro, instale o Wireshark.

Enquanto estiver desconectado, leve a interface manualmente e inicie uma captura:

$ sudo ip link set wlan0 up
$ wireshark -ki wlan0 &

Inicie o wpa_supplicant e logo você verá o handshake TLS:

OservidorenviaráseuscertificadosimediatamenteapósoServerHello.Selecioneoprimeirodessespacotese,emseguida,mergulheem:

802.1X└─ExtensibleAuthenticationProtocol└─SecureSocketsLayer└─HandshakeProtocol:Certificatte└─Certificates

Cliquecomobotãodireitodomousenaprimeirainstânciade"Certificado ( material )" e escolha "Exportar bytes de pacote selecionados". O Wireshark irá salvá-lo como um arquivo, no formato DER binário. Repita isso para todos os outros certificados. O mais alto (servidor RADIUS) tem informações que você pode configurar em altsubject_match ; o último (CA raiz) deve ser dado ao wpa_supplicant como ca_cert .

Agora você tem alguns arquivos *.crt ou *.der no formato DER binário. Converta-os para o formato "texto" do PEM:

openssl x509 -inform DER < mycert.der > mycert.pem

(Se o seu wpa_supplicant estiver usando o OpenSSL como o manipulador de TLS, você deve dar a ele o certificado da "CA raiz", dando a ele o certificado do servidor.

Observe que também é possível que o último certificado visto no Wireshark não seja de uma CA raiz, mas apenas emitido por uma das CAs raiz no diretório /etc/ssl/certs ... esse é o caso, não se esqueça de definir domain_suffix_match - caso contrário, usar CAs públicas seria inseguro (802.1X infelizmente não sabe para qual "hostname" verificar, como, por exemplo, HTTPS.)

    
por 17.12.2014 / 06:54