EAP [1] ( English Extensible Authentication Protocol , Extensible Authentication Protocol) este un cadru de autentificare care este adesea folosit în rețelele fără fir și conexiunile punct la punct . Formatul a fost descris pentru prima dată în RFC 3748 și actualizat în RFC 5247 .
EAP este utilizat pentru a selecta o metodă de autentificare, pentru a trece cheile și pentru a procesa acele chei cu plug-in-uri numite metode EAP . Există multe metode EAP, atât definite cu EAP în sine, cât și lansate de furnizori individuali. EAP nu definește stratul de legătură, definește doar formatul mesajului. Fiecare protocol care utilizează EAP are propriul protocol de încapsulare a mesajelor EAP.
EAP este un format destul de popular, este folosit în IEEE 802.11 ( WiFi ), aproximativ o sută de metode EAP din IEEE 802.1X au fost adoptate ca mecanisme oficiale de autentificare în standardele WPA și WPA2 .
Există trei participanți principali în procesul de autentificare:
În unele cazuri, serverul de autentificare și autentificatorul pot fi același dispozitiv, cum ar fi dispozitivele de acasă care utilizează metoda EAP-PSK. În general, procesul de autentificare este următorul:
Tabel rezumat al codurilor pachetelor EAP:
Codul | Nume | Descriere |
---|---|---|
0 | Nedefinit | Nefolosit |
unu | Cerere | Folosit pentru a porni procesul de autentificare de către autentificator, conține informații despre metodele EAP acceptate. |
2 | Raspuns | Folosit pentru a confirma că clientul a început autentificarea. |
3 | succes | Folosit pentru a raporta clientului autentificarea reușită. |
patru | Eșec | Folosit pentru a raporta clientului eșecul de autentificare. |
5 | Iniţia | Folosit de client pentru a „cere” autentificatorului să înceapă procesul de autentificare. |
Deoarece EAP este un cadru de autentificare și nu un mecanism specific [2] , oferă unele funcționalități generale și negocierea metodei de autentificare (metode EAP). Până acum au fost definite aproximativ 40 de metode diferite. De obicei, metodele sunt definite în IETF , de exemplu: EAP-MD5 , EAP-POTP , EAP-GTC , EAP-TLS , EAP-IKEv2 , EAP-SIM , EAP-AKA și EAP-AKA' . Există, de asemenea, metode și propuneri ale furnizorilor de soluții specifice și ale producătorilor de echipamente. De obicei, se folosesc metode moderne care pot funcționa în rețelele fără fir, de exemplu: EAP-TLS , EAP-SIM , EAP-AKA , LEAP și EAP-TTLS . Cerințele pentru metodele utilizate în rețelele fără fir sunt descrise în RFC 4017 . Acest standard descrie, de asemenea, în ce condiții poate fi utilizată metoda de gestionare a cheilor AAA descrisă în RFC 4962.
Lightweight Extensible Authentication Protocol , o metodă dezvoltată de Cisco înainte ca IEEE să ratifice standardul de securitate 802.11i [3] . Cisco a distribuit protocolul prin CCX (Cisco Certified Extensions) ca parte a protocolului 802.1X și a WEP dinamic din cauza lipsei unui standard industrial separat în industrie. Nu există suport încorporat pentru protocolul LEAP [4] în sistemele de operare din familia Windows , cu toate acestea, suportul pentru protocol este larg răspândit în programele client terțe (cel mai adesea la pachet cu echipamente wireless). Suportul LEAP în Windows poate fi adăugat prin instalarea software-ului client Cisco care oferă suport pentru protocoalele LEAP și EAP-FAST. Mulți alți producători de echipamente WLAN acceptă, de asemenea, protocolul LEAP datorită prevalenței sale ridicate.
LEAP folosește o versiune modificată a protocolului MS-CHAP , un protocol de autentificare slab sigur în care informațiile despre utilizator și parolă sunt ușor compromise ; La începutul anului 2004, Joshua Wright a scris un exploit pentru protocolul LEAP numit ASLEAP [5] . Hackul se bazează pe faptul că, în primul rând, toate elementele cererii și răspunsului, pe lângă hash-ul parolei, sunt transmise necriptate sau ușor de calculat pe baza datelor care sunt trimise prin rețea. Aceasta înseamnă că va fi suficient ca un atacator de tip om-in-the-middle să obțină o parolă hash pe care să o reautorizeze. În al doilea rând, generarea cheilor este potențial slabă. Completarea a 5 octeți cu zerouri înseamnă că ultima cheie are un spațiu de taste de 2 16 . În cele din urmă, același text simplu este criptat cu două chei (când trimiteți hash-ul către server și când răspundeți), ceea ce înseamnă că complexitatea de 2 56 este suficientă pentru a sparge ambele chei. Odată ce atacatorul are toate cheile, el primește un hash al parolei, care este suficient pentru a se reautentifica (mai multe detalii în MS-CHAP ).
Cisco recomandă clienților care nu pot renunța la LEAP să utilizeze parole complexe, deși parolele complexe sunt dificil de introdus, reținut și aplicat cerințele de complexitate. Cea mai recentă recomandare a Cisco este de a utiliza protocoale EAP mai noi și mai sigure, cum ar fi EAP-FAST, PEAP sau EAP-TLS.
Transport Layer Security , definită în RFC 5216 , este un standard deschis și utilizează protocolul TLS . Metoda autentifică atât clientul, cât și serverul (adică este o metodă de autentificare reciprocă). Bine susținut de producătorii de echipamente wireless. EAP-TLS a fost prima versiune standard wireless a protocolului de autentificare LAN EAP.
EAP-TLS este în continuare considerat unul dintre cele mai sigure standarde, cu condiția ca utilizatorul să înțeleagă riscul utilizării acreditărilor false și să fie susținut de aproape toți producătorii de echipamente wireless și dezvoltatorii de software de rețea. Înainte de aprilie 2005, EAP-TLS era singura metodă necesară pentru certificarea WPA sau WPA2 [1] .
Suportul încorporat pentru această metodă este disponibil în toate sistemele de operare din familia Windows (începând cu Windows 2000 SP4 ), Linux și Mac OS X (de la versiunea 10.3).
Spre deosebire de multe alte implementări ale TLS , cum ar fi HTTPS , majoritatea implementărilor EAP-TLS necesită un certificat X.509 preinstalat pe client, fără posibilitatea de a dezactiva cerința, deși standardul nu impune acest lucru [6] [7] . Este posibil ca acest lucru să fi împiedicat răspândirea punctelor de acces fără fir „deschise”, dar criptate [6] [7] . În august 2012 , hostapd și wpa_supplicant au adăugat suport pentru UNAUTH-TLS, o metodă nativă de autentificare EAP [8] , iar pe 25 februarie 2014, au adăugat suport pentru WFA-UNAUTH-TLS, o metodă de autentificare care autentifică doar serverul [9] [10 ] ] . Acest lucru vă va permite să lucrați prin EAP-TLS în același mod ca prin HTTPS , unde punctul de acces wireless permite conexiune gratuită (adică nu necesită autentificare client), dar criptează traficul ( IEEE 802.11i-2004 , care este, WPA2 ) și permite autentificarea prin trecere, dacă este necesar. Standardele conțin, de asemenea, propuneri de utilizare a IEEE 802.11u la punctele de acces pentru a semnala disponibilitatea unei metode EAP-TLS care autentifică doar serverul folosind protocolul standard IETF EAP-TLS, mai degrabă decât o metodă EAP terță parte [11] .
Cerința unui certificat preinstalat pe partea clientului este unul dintre motivele securității ridicate a metodei EAP-TLS și un exemplu de sacrificare a confortului în favoarea securității. Pentru a sparge EAP-TLS, nu este suficient să compromiți parola utilizatorului; pentru un atac de succes, atacatorul va trebui, de asemenea, să intre în posesia certificatului de client corespunzător utilizatorului. Cea mai bună securitate poate fi obținută prin stocarea certificatelor de client în carduri inteligente . [12]
Tunneled Transport Layer Security (Transport Layer Security through the Tunnel), o metodă EAP care extinde capacitățile metodei TLS. A fost dezvoltat de Funk Software și Certicom și este destul de bine acceptat pe majoritatea platformelor (Windows începând cu versiunea 8 și Windows Mobile începând cu versiunea 8.1 [13] [14] ).
Clientul poate (dar nu este necesar) să fie autentificat de către server folosind un certificat PKI semnat de CA. Autentificarea opțională a clientului simplifică foarte mult procedura de configurare, deoarece nu este necesară generarea și instalarea unui certificat individual pentru fiecare dintre ele.
După ce serverul este autentificat de către client folosind un certificat semnat de CA și, opțional, de client-server, serverul poate folosi conexiunea securizată rezultată (tunel) pentru a autentifica în continuare clientul. Tunelul permite utilizarea protocoalelor de autentificare concepute pentru canalele care nu sunt protejate de atacurile MITM și de „interceptări”. Atunci când utilizați metoda EAP-TTLS, niciuna dintre informațiile utilizate pentru autentificare nu este transmisă în mod clar, ceea ce face și mai dificilă piratarea.
Pre-Shared Key , o metodă definită în RFC 4764 care utilizează o cheie pre-partajată pentru autentificare reciprocă și schimb de chei de sesiune . Metoda este concepută pentru a funcționa pe rețele nesigure, cum ar fi IEEE 802.11 și, dacă este autentificată cu succes , oferă o conexiune bidirecțională sigură între client și punctul de acces.
EAP-PSK este documentat într-un RFC experimental și oferă o metodă EAP ușoară și extensibilă care nu utilizează criptarea asimetrică . Această metodă necesită patru mesaje (numărul minim posibil) pentru autentificare reciprocă.