Mi wpa_supplicant.conf
aspecto es este:
network={
ssid="Some name"
scan_ssid=1
key_mgmt=WPA-EAP
eap=PEAP
identity="my-user-id"
password="(clear text password here)"
ca_cert="/usr/share/ca-certificates/mozilla/GeoTrust_Global_CA.crt"
phase2="auth=MSCHAPV2"
}
Con esta combinación específica de WPA-EAP y MSCHAP-v2, ¿hay alguna manera de no incluir mi contraseña en claro en este archivo de configuración?
ChangeLog parece afirmar que esto es factible (¡desde 2005!):
* added support for storing EAP user password as NtPasswordHash instead
of plaintext password when using MSCHAP or MSCHAPv2 for
authentication (hash:<16-octet hex value>); added nt_password_hash
tool for hashing password to generate NtPasswordHash
Algunas notas:
Usar una contraseña diferente no es una opción, ya que no tengo control sobre esta red (esta es una red corporativa, y se usa un solo nombre de usuario / contraseña para acceder a todos los servicios, incluida la conexión a Wifi).
Una palabra sobre duplicados:
- 40: use-wpa-supplicant-without-plain-text-passwords se trata de claves precompartidas
- 74500: wpa-supplicant-store-password-as-hash-wpa-eap-with-phase2-auth-pap usa PAP como autenticación de fase 2 (no MSCHAP-v2).
- 85757: store-password-as-hash-in-wpa-supplicant-conf es muy similar a esta pregunta, pero se cerró (incorrectamente) como un duplicado de 74500 ; desafortunadamente, las respuestas dadas al supuesto duplicado son específicas de PAP y no se aplican al caso MSCHAP-v2. 85757 en sí tiene una respuesta que dice que es esencialmente imposible independientemente del protocolo, pero la justificación es inválida 1
1 Esa respuesta afirma que el uso de una contraseña hash significa que el hash se convierte en la contraseña. Esto es técnicamente cierto, pero al menos el hash es una contraseña solo para wifi , que es un progreso significativo sobre la filtración de una contraseña compartida que otorga acceso a múltiples servicios.
-d
huella de wpa_supplicant, consigo diferentesEAP-PEAP: Derived Session-Id
,EAP-PEAP: Decrypted Phase 2 EAP
,MSCHAPV2: auth_challenge - hexdump(len=16):
, yMSCHAPV2: password hash - hexdump(len=...)
salidas, y finalmente dos mensajes diciendoEAP-TLV: TLV Result - Failure
yEAPOL authentication completed - result=FAILURE