'''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 ''iš ''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]