Recentemente ho appreso come funziona WPA-PSK. Se ho capito bene, l'handshake a 4 vie consente al protocollo di assicurare il possesso reciproco del PMK (e quindi del PSK) senza inviare il PMK / PSK. In questo modo non è suscettibile a un attacco man-in-the-middle.
La mia domanda è: come viene garantita l'autenticazione reciproca in caso di WPA-Enterprise? Sto utilizzando 802.1x con FreeRadius e PEAP nella mia rete domestica (proprio come un progetto per hobby) e funziona, ma non sono sicuro di capire come funziona.
Sto usando PEAP, quindi i client sono autenticati con nomi utente e password. Ma i clienti si assicurano che la rete WiFi con cui stanno parlando non sia un vero maniaco? Il server di autenticazione ha un certificato SSL / TLS, ma è autofirmato. Il certificato CA radice utilizzato per firmare il certificato del server non dovrebbe essere installato sui client affinché funzioni? Questo non è il caso nel mio setup, ma tutti i miei client Android si connettono bene.
Se la mia comprensione di cui sopra è corretta, ciò significherebbe che WPA-Enterprise con PEAP è meno sicuro di WPA-PSK perché un attacco man-in-the-middle è possibile per intercettare le password. Questo mi sembra strano. C'è un difetto nella mia comprensione?
EDIT:
Ho trovato una risposta parziale in questo articolo . Tuttavia, ho ancora domande senza risposta.
- Questo significa veramente che la mia configurazione PEAP WPA2-Enterprise è meno sicura rispetto a WPA2-PSK? Sembra davvero contro-intuitivo perché WPA2-PSK è molto più semplice e richiede solo un segreto condiviso. Com'è possibile che WPA2-PSK sia in grado di garantire l'autenticazione reciproca con un solo segreto condiviso mentre WPA2-Enterprise non lo è?
- Dovrei esserne preoccupato (e procedere a migliorare / proteggere il mio setup) o non è probabile che questo possa essere sfruttato?
- Come posso fare in modo che i client convalidino il certificato del server? L'unico modo per installare i certificati manualmente su tutti i client? (In tal caso, se devo comunque distribuire i certificati, posso passare a EAP-TLS)
- Oppure è possibile utilizzare un certificato pubblico proprio come con HTTPS? Come funzionerebbe? Con HTTPS, il tuo certificato è "ancorato" al tuo dominio, che hai dimostrato alla CA che è tua. Come funziona questo con i server RADIUS?
EDIT:
Trovato più risposte.
EAP-MS-CHAP-V2 (Microsoft Challenge-Handshake Authentication Protocol version 2) is a mutual authentication method that supports password-based user or computer authentication. During the EAP-MS-CHAP v2 authentication process, both the client and the RADIUS server must prove that they have knowledge of the user's password for authentication to succeed. Mutual authentication is provided by including an authenticator packet returned to the client after a successful server authentication.
(Non posso pubblicare più di 2 link, quindi non sarò in grado di fornire una fonte per questo preventivo)
Qui viene spiegato che il protocollo di autenticazione interno / seconda fase, MS-CHAPv2, è anch'esso un protocollo di autenticazione reciproca. Ha senso ora.
Tuttavia, questo articolo suggerisce che MS-CHAPv2 non sia non sono più al sicuro Dal momento che mi affido alle proprietà di autenticazione reciproca di MS-CHAPv2 nella mia configurazione WPA2-Enterprise, ci sono alternative a MS-CHAPv2 che sono più sicure?
EDIT:
Ho appena scoperto EAP-PWD, un nuovo protocollo di autenticazione EAP a stadio singolo che dovrebbe essere più potente di PEAPv0 / EAP-MSCHAPv2, fornisce l'autenticazione reciproca e non richiede affatto certificati SSL / TLS.
EAP-PWD is highly secure (the password is never transmitted, even in encrypted form), and does not require PKI certificates, and also requires only 3 authentication round-trips. So it is considered efficient to roll out in eg Eduroam and other environments. Requires that the Radiator user database has access to the correct plaintext password.
L'unico problema sembra essere che non è ancora ampiamente adottato. Android (> 4.0) tuttavia lo supporta, il che è bello. Ma non sono riuscito a trovare molte informazioni a riguardo e, a quanto sembra, Windows non lo supporta.