Locked History Actions

WPAprotocol

WPA saugumo standartas

WPA – tai šiuolaikinis standartas, apie kurį susitarė įrangos gamintojai, kol neatsirado IEEE 802.11i. Trumpai tariant WPA = 802.1x+EAP+TKIP+MIC, kur:

WPA-apsaugotos prieigos prie bevielių tinklų technologija (Wi-Fi Protected Access),

EAP-išplečiamas autentifikavimo protokolas (Extensible Authentification Protocol),

TKIP-laikinos raktų visumos protokolas (Temporal Key Integrity Protocol),

MIC- kriptografinės patikros technologija, patikrinti paketų pilnumą. (Message Integrity Code).

RADIUS protokolas – protokolas skirtas dirbti kartu su autentifikavimo serveriu. Šiuo atveju bevieliai taškai veikia enterprise režimu.

Jeigu tinkle nėra RADIUS-server, tai autentifikavimo serverio rolę vykdo pats prieigos taškas,- taip vadinamas WPA-PSK rėžimas (pre-shared key, bendras raktas). Šiame režime visų prieigos taškų nustatymuose iš anksto aprašomas bendras raktas. Jis aprašomas ir kliento bevieliuose įrenginiuose. Toks apsaugos metodas taip pat neblogai apsaugotas (WEP atžvilgiu), labai nepatogus valdymo atžvilgiu. PSK-raktą reikia aprašyti visuose bevieliuose įrenginiuose. Kitaip tariant, WPA-PSK rėžimas tinka namų tinklui ir galimai mažam ofisui, bet ne daugiau. Ir tik po sėkmingos autentifikavimo prievadas bus pilnai atidarytas ir vartotojas gaus prieiga prie visų tinklo resursų [1].

Vartotojo autentifikavimas

Kaip jau buvo minėta ankščiau 802.1x protokolas gali vykdyti kelias funkcijas. Šiuo atveju mus interesuoja vartotojo autentifikavimo funkcijos ir šifravimo raktų paskirstymas. Būtina paminėti, kad autentifikavimas vykdoma „prievado lygyje“ – tai yra, kol vartotojas nebus autentifikuotas, jam leidžiama siųsti ir gauti paketus susijusius tik su juo autentifikavimas ir ne daugiau. Ir tik po sėkmingo autentifikavimo įrenginio prievadas (tai prieigos taškas arba išmanusis komutatorius) bus atidarytas ir vartotojas gaus prieigą prie tinklo resursų.

WPA standartas naudoja 802.1x ir išplėstą autentifikavimo protokolą (Extensible Authentification Protocol, EAP) kaip autentifikavimo mechanizmo pagrindus. Autentifikavimas reikalauja, kad vartotojas pateiktų pažymą (credentials) apie tai, kad jam leidžiama gauti prieiga prie tinklo. Todėl šio vartotojo teisės tikrinamos registruotų vartotojų duomenų bazėje. Darbui tinkle vartotojas būtinai turi pereiti per autentifikavimo mechanizmą. Duomenų bazė ir patikrinimo sistema dideliuose tinkluose dažniausiai priklauso specialiam serveriui – dažniausiai tai būna RADIUS (centralizuotas autentifikavimo serveris). RADIUS serveris pradžioje patikrina vartotojo autentifikavimo informaciją arba jo skaitmeninį sertifikatą, o vėliau aktyvuoja dinaminį raktų šifravimo prieigos tašku generavimą ir kliento sistemą kiekvienam ryšio seansui.

  • Vis dėl to, kai WPA yra naudojamas visomis vartotojų kategorijomis, šis standartas turi supaprastintą režimą, kuris nereikalauja sudetingų mechanizmų. Šis režimas vadinamas Pre-Shared Key (WPA-PSK) – kuri naudojant būtina įvesti vieną slaptažodį kiekvienam bevielio tinklo mazgui (prieigos taškai, bevieliai maršrutizatoriai, kliento adapteriai, tiltai). Iki to laiko, kol slaptažodžiai sutampa, klientui bus skirta prieiga prie tinklo. [1,2]

Autentifikavimo funkcijos priskiriamos EAP protokolui, kuris yra tik autentifikavimo metodo karkasu. Visas protokolo grožis tame, kad jį labai paprasta realizuoti autentifikavimo taške, taip kaip jam nereikia žinoti jokių specialių, kitokių autentifikavimo metodų ypatybių. Autentifikavimo taškas reikalingas tik kaip perdavimo ryšys tarp kliento ir autentifikavimo serverio. Autentifikavimo metodu yra visai nemažai.

EAP autentifikavimo metodai

Message Digest 5 (MD5) – vienpusės supplicant autentifikavimo, autentifikavimo serveriu procedūra, sukurta panaudojant vartotojo vardo ir slaptažodžio MD5 hash sumą kaip patvirtinimą serveriui RADIUS. Šis metodas nepalaiko nei valdymo raktais nei dinaminių raktų sukūrimo. Tuo pačiu atmetama galimybė jį panaudoti 802.11i ir WPA.

Transport Layer Security (TLS) – autentifikavimo procedūra, kuri daro prielaidą, skaitmeninių sertifikatų X.509 panaudojimui, atvirų raktų infrastruktūros rėmuose (Public Key Infrastructure –PKI). EAP-TLS palaiko dinaminį raktų sukūrimą ir abipusį autentifikavimą tarp supplicant ir autentifikavimo serverio. Šio metodo trukumu yra atvirų raktų infrastruktūros palaikymo būtinybė.

Tunneled TLS (TTLS) – EAP plečiantis galimybes EAP-TLS. EAP – TTLS naudoja saugų sujungimą, nustatytą TLS- kvantavimo rezultate papildomos informacijos apsikeitimui tarp supplicant ir autentifikavimo serverio.

Taip pat egzistuoja ir kiti metodai:

EAP-SIM, EAP-AKA – naudojamas GSM ryšio tinkluose.

LEAP – nuosavybės metodas nuo Cisco Systems.

EAP-MD5 – paprasčiausias metodas, analoginis CHAP metodui.

EAP-MSCHAP V2 – autentifikavimo metodas login/password pagrindu MS tinkluose.

EAP-TLS – autentifikavimas skaitmeniniu sertifikatu pagrindu

EAP-SecureID – metodas vienkartiniu slaptažodžiu pagrindu [2]

Išskyrus aukščiau išvardintų, reikėtų išvardinti dar du metodus, EAP-TTLS ir EAP-PEAP. Skirtingai nuo ankstesnių, šie du metodai prieš tiesioginį vartotojo autentifikavimą, pirmiau sudaro TLS tunelį tarp kliento ir autentifikavimo serverio. O, šio tunelio viduje atliekamas pats autentifikavimas, su naudojimu kaip standartinio EAP (MD5, TLS), arba senų ne EAP metodų (PAP, CHAP, MS-CHAP, MS-CHAP v2), paskutinieji veikia tik su EAP-TTLS (PEAP naudojamas tik su EAP metodais). Išankstinis tuneliavimas padidina autentifikavimo saugumą, apsaugodamas nuo tokių atakų tipų: man-in-middle, session hihacking arba atakos pagal žodyną.

PPP protokolas yra todėl, kad pradžioje EAP buvo planuojamas naudojimui virš PPP tunelių. O taip kaip šio protokolo naudojimas tik autentifikavimui lokaliame tinkle – perdėtas perteklius, EAP-žinutės pakuojamos į EAP over LAN (EAPOL) paketus, kurie ir naudojami informacijos apsikeitimui tarp kliento ir autentifikavimo taško ( prieigos taško).

Autentifikavimo schema

Ji susideda iš trijų komponentų:

Supplicant – programinė įranga, paleista kliento mašinoje, bandanti prisijungti prie tinkle

  • Authenticator – prieigos mazgas, autentifikatorius (bevielis prieigos taškas arba komutatorius su 802.1x protokolo palaikymu)

Authentication Server – autentifikavimo serveris (paprastai tai RADIUS serveris)

Dabar peržiūrėsime patį autentifikavimo procesą. Jis susideda iš kelių stadijų:

* Klientas gali nusiųsti užklausą autentifikavimui (EAP – start message) prieigos taško pusei. * Prieigos taškas (Authentificator) atsakydamas klientui siunčia užklausą kliento identifikavimui (EAP – request/identity message). Prieigos taškas gali nusiųsti EAP – request savarankiškai, jeigu pamatys, kad kažkuris iš prievadų perėjo į aktyvią būseną. * Klientas atsakydamas nusiunčia EAP-response paketą su reikalingais duomenimis, kurį prieigos taškas nukreipia į RADIUS serverio pusę. Autentifikavimo serveris prieigos taškui nusiunčia challenge paketą ( informacijos užklausa apie kliento autentiškumą). Prieigos taškas persiunčia jį klientui. * Toliau vyksta serverio ir kliento abipusės identifikacijos procesas. Paketų persiuntimo stadijų kiekis varijuoja priklausomai nuo EAP metodo, bet bevieliams tinklams priimtinas tik „Strong“ autentifikavimas su abipusiu kliento ir serverio autentifikavimu (EAP-TLS, EAP-TTLS, EAP-PEAP) ir išankstiniu sujungimo kanalo šifravimu. * Sekančioje stadijoje, autentifikavimo serveris, gavęs iš kliento reikiamą informaciją, suteikia (Accept) arba atmeta (Reject) prieiga tam, su pranešimo persiuntimo prieigos taškui. Prieigos taškas atidaro prievadą suplikantui, jeigu iš RADIUS serverio pusės atėjo teigiamas atsakymas (Accept). * Prievadas atsidaro, prieigos taškas klientui persiunčia pranešimą apie sėkmingą procesą, ir klientas gauna prieiga prie tinklo. * Po kliento atsijungimo, prievadas prieigos taške vėl pereina į būseną „Uždarytas“. * Komunikacijai tarp kliento ir prieigos taško naudojami EAPOL paketai. RADIUS protokolas naudojamas informacijos apsikeitimui tarp prieigos taško ir RADIUS serverio. Prie tranzitinio informaciojos persiuntimo tarp kliento ir autentifikavimo serverio EAP paketai perpakuojami iš vieno formato į kitą, prieigos taške.[3] Autentifikavimo tipai

TLS - Autentifikavimo metodo tipas, naudojantis EAP protokolą ir saugumo protokolą, vadinamas Transporto lygio apsaugos protokolu (Transport Layer Security – TLS). EAP-TLS naudoja sertifikatus slaptažodžio pagrindu. EAP-TLS autentifikavimas palaiko dinaminį valdymą WEP raktu. TLS protokolas reikalingas apsaugai ir bendravimo autentifikavimui bendro naudojimo tinkluose, duomenų šifravimo keliu. Kvitavimo protokolas TLS leidžia klientui ir serveriui iki duomenų siuntimo įgyvendinti tarpusavio autentifikavimą ir sukurti algoritmą ir šifravimo raktus.

TTLS – Šie nustatymai apibrėžia protokolą ir identifikacinę informaciją, naudojamą vartotojo autentifikavimui. TTLS (Tunneled Transport Layer Security) autentifikavime, klientas naudoja EAP-TLS serverio autentiškumo patikrinimui ir kanalo tarp serverio ir kliento sukūrimui, šifruoto su TLS pagalba. Klientas gali naudoti kitą autentifikavimo protokolą. Paprastai protokolai slaptažodžiu pagrindu, naudojami per nedeklaruotą, apsaugotą TLS šifruotą kanalą. Šiuo metu TTLS palaiko visus metodus naudojamus EAP, o taip pat senesnius metodus ( PAP, CHAP, MS-CHAP ir MS-CHAP v2). TTLS lengvai plečiamas darbui su naujais protokolais per naujų atributų diegimą naujų protokolų aprašymui.

PEAP – tai naujas autentifikavimo protokolas EAP (Extensible Authentication Protocol –EAP) IEEE 802.1x standarto, sukurtas apsaugos sistemos pagerinimui EAP – Transport Layer Security (EAP-TLS) ir skirtingų autentifikavimo metodų palaikymui, įtraukiančius vartotojų slaptažodžius, vienkartinius slaptažodžius ir prieigos kortas (Generic Token Cards).

LEAP – autentifikavimo protokolo versija. LEAP (Light Extensible Authentication Protocol) pateikiama kaip specialus plečiantis autentifikavimo protokolas, sukurtas Cisco, kuris atsako už autentifikavimo procedūros saugumą „Užklausa/atsakymas“ ir dinaminio rakto paskyrimą.

EAP-SIM – EAP-SIM protokolas (Extensible Authentication Protocol Method for GSM subscriber Identity) – tai autentifikavimo ir seanso raktų dalinimo mechanizmas. Jis naudoja vartotojo SIM sistemos globalaus pozicionavimo mobilioms komunikacijoms GSM sistemai. EAP-SIM autentifikavimas naudoja dinaminį WEP raktą, sukurtą specialiai seansui, gautą duomenų šifravimui nuo kliento adapterio arba RADIUS serverio. EAP-SIM reikalingas specialus vartotojo patikrinimo kodas arba PIN, sąveikos su SIM kortelę apsaugai. SIM kortelė – tai speciali išmanioji kortelė, kuri naudojama skaitmeniniuose bevieliuose tinkluose GSM standartu.

EAP-AKA – Autentifikavimo metodas EAP – AKA (Extensible Authentication Protocol Method for UMTS Authentication and Key Agreement) – tai EAP mechanizmas, naudojamas autentifikavimui ir raktų dalinimo seansui, naudojamas USIM identifikacijos modulio (Subscriber Identity Module) universalios telekomunikacinės sistemos UMTS (Universal Mobile Telecommunications System) abonentu. USIM kortelė – tai speciali kortelė, skirta vartotojo autentiškumui mobiliajame tinkle patikrinimui.[4] Autentifikavimo protokolai

PAP – PAP (Password Authentication Protocol) protokolas – Dvipusis patvirtinimų apsikeitimo protokolas, skirtas naudojimui su PPP protokolais. PAP yra paprastu tekstiniu slaptažodžiu, naudojamu ankstesniuose SLIP sistemose. Jis nėra apsaugotas. Šis protokolas prieinamas tik TTLS autentifikavimo tipui.

CHAP – CHAP (Challenge Handshake Authentification Protocol) – tai tripusis patvirtinimų apsikeitimo protokolas, siūlantis geresnę apsaugą, nei PAP autentifikavimo protokolas (Password Authentification Protocol ). Šis protokolas prieinamas tik TTLS autentifikavimo tipui.

MS-CHAP (MD4) – RSA Message Digest 4 protokolo Microsoft versiją. Veikia tik Microsoft sistemose ir leidžia įgyvendinti duomenų šifravimą. Šio metodo pasirinkimas įgyvendins visų perduodamų duomenų šifravimą. Šis protokolas prieinamas tik TTLS autentifikavimo tipui.

MS-CHAP-v2 – Suteikia papildomą slaptažodžio keitimo galimybę, neprieinamą MS-CHAP-V1 arba standartiniame CHAP autentifikavime. Duota funkcija leidžia klientui keisti įrašo slaptažodį, jeigu RADIUS serveris praneša apie tai, kad slaptažodžio laikas baigėsi. Šis protokolas prieinamas tik TTLS ir PEAP autentifikavimo tipams.

GTC (GENERIC Token Card) – Suteikia galimybę naudoti specialias vartotojo kortelės autentifikavimui. Pagrindinė funkcija įkurta autentifikavimui skaitmeninio sertifikato į GTC pagalba. Išskyrus šios funkcijos, GTC yra galimybė paslėpti vartotojo identifikavimo informaciją, panaudojant šifravimo tunelį TLS, suteikia papildomą konfidencialumą, pagrįstą plataus vartotojų vardų dalinimo draudimu autentifikavimo stadijoje. Šis protokolas prieinamas tik PEAP autentifikavimo tipui.

TLS – šis protokolas reikalingas autentifikavimo komunikacijai ir apsaugai bendro naudojimo tinkluose, duomenų šifravimo keliu. TLS kvitavimo protokolas klientui ir serveriui iki duomenų siuntimo leidžia įvykdyti tarpusavio autentifikavimą ir parinkti algoritmą bei šifravimo raktus. Šis protokolas prieinamas tik PEAP autentifikavimo tipui.

Šifravimas

Pirminis autentifikavimas vykdomas bendrų duomenų pagrindu, apie kuriuos žino klientas ir autentifikavimo serveris (prisijungimo vardas/slaptažodis, sertifikatas ir t.t) – šiame etape generuojamas Master Key. Naudojant Master Key, autentifikavimo serveris ir klientas generuoja Pairwise Master Key ( porinis Master raktas), kuris perduodamas prisijungimo taškui ir generuojami visi likę dinaminiai raktai, kuriems ir uždaromas perduodamas „trafikas“. Reikia paminėti, kad pats Pairwise Master Key taip pat priklauso dinaminiams pokyčiams. Nežiūrint į tai, kad WPA pirmtakas, WEP protokolas, neturėjo išviso jokių autentifikavimo mechanizmų, WEP nesaugumas yra kriptografinio algoritmo šifravimo silpnume, raktinė WEP problema yra labai panašiuose raktuose skirtingiems duomenų paketams.

TKIP, MIC ir 802.1x lygties dalys, WPA vaidina savo vaidmenį duomenų tinklų šifravimo su WPA sustiprinimui: TKIP padidina rakto dydį nuo 40 iki 128 bitų ir pakeičia statinį WEP raktą, raktais kurie automatiškai sukuriami ir skleidžiami autentifikavimo serveriu. TKIP naudoja raktų hierarchiją ir valdymo raktais metodologiją, kuri panaikina nuspėjamumą, naudojamą apsaugos rakto hakeriais.

Todėl TKIP sustiprina 802.1x/EAP struktūrą. Autentifikavimo serveris po vartotojo mandato priėmimo naudoja 802.1x unikalaus vienetinio dvipusio rakto sukūrimui, duotam seansui. TKIP perduoda šį raktą klientui ir prieigos taškui, vėliau nustato raktų hierarchiją ir valdymo sistemą, naudojant dvipusį raktą, dinaminių raktų sukūrimą duomenų šifravimui, kurie naudojami kiekvieno duomenų paketo šifravimui, kurie perduodami bevieliu tinklu vartotojo seanso metu. TKIP Raktų hierarchija pakeičia vieną statinį WEP raktą į maždaug 500 milijardų galimų raktų, kurie bus naudojami duoto duomenų paketo šifravimui.

Žinučių visumos patikrinimas (Message Integrity Check, MIC) skirtas užkirsti kelią duomenų paketų perėmimui, jų turinio pakeitimui ir pakartotiniam persiuntimui. MIC sukurta panaudojant galingą matematinę funkciją, kurią naudoja siuntėjas ir gavėjas, o vėliau sulyginami rezultatai. Jeigu jie nesutampa, tai duomenys laikomi netikrais ir paketas atmetamas. Su reikšmingu raktų ir naudojamų raktų skaičiaus padidinimu, o taip pat visumos patikrinimo mechanizmo sukūrimu, TKIP padaugina duomenų dekodavimo sudėtingumą bevieliame tinkle. TKIP reikšmingai padidina bevielio šifravimo galią ir sudėtingumą, padarant invazijos procesą į bevielius tinklus žymiai sudėtingesniu o galbūt neįmanomu visai.

Svarbu paminėti, kad šifravimo mechanizmai, naudojami WPA ir WPA-PSK yra vienodi. Vienintelis WPA-PSK skirtumas yra tame, kad ten autentifikavimas vykdomas pagal kažkokį slaptažodį o ne vartotojo mandatą. Kai kurie tikrai pastebės, kad prieiga naudojant slaptažodį WPA-PSK padaro pažeidžiamu parinkimo metodu atakomis. Bet aš norėjau pabrėžti, kad WPA-PSK nuima painiavą su WEP raktais, pakeičiant juos integruota, aiškia sistema skaitmenų-raidžių slaptažodžio pagrindu. Robert Moskowitz ICSA Labs pastebėjo, kad raktinė frazė WPA gali būti nulaužta. Taip yra todėl, kad hakeris gali įpareigoti prieigos tašką regeneruoti apsikeitimą raktais mažiau nei per 60 sekundžių. Ir net jeigu apsikeitimas raktais labai saugus momentinėms atakoms, jį galima bus išsaugoti ir naudoti OFFLINE perrinkimui. Dar vienas klausimas yra tame, kad EAP perduoda duomenis atviru tekstu. Iš pradžių EAP sesijos šifravimui buvo naudojamas Transport Layer Security (TLS), bet jo darbui kiekviename kliente reikalaujamas sertifikatas. TTLS dalinai išsprendė šią problemą. Čia, pradedant su Service Pack 2, darbe su bevieliais tinklais leidžia naudoti autentifikavimą su Login/Password (t.y PEAP) ir autentifikavimą su skaitmeniniu sertifikatu (EAP-TLS). [4]