Protokollet e sigurisë te rrjetet pa tela

Wired Equivalent Protocol (WEP), Wi-fi Protected Access (WPA) dhe Wi-fi Protected Access2 (WPA2) janë protokolle të sigurisë që përdoren te rrjetet pa tela. Këta mekanizma përmes autentifikimit dhe kriptimit të të dhënave mes një hosti dhe një pike qasëse (AP) duke përdorur një çelës simetrik tentojnë të ofrojnë karakteristikat si:

 Konfidencialitet - Vetëm dërguesi dhe marrësi i synuar duhet të jenë në gjendje të kuptojnë përmbajtjen e mesazhit të transmetuar.
 Integritet të mesazheve - Dërguesi dhe marrësi i mesazhit dëshirojnë të sigurojnë që përmbajtja e komunikimit të tyre të mos ndryshohet, në mënyrë të qëllimshme ose rastësisht gjatë transmetimit në kanal.
 Autentifikim të nyjeve (dërguesit dhe marrësit) - Si dërguesi, ashtu edhe marrësi duhet të jenë në gjendje të konfirmojnë identitetin e palës tjetër të përfshirë në komunikim (për të konfirmuar se pala tjetër është me të vërtetë ai/ajo që pretendon se është).

 WEP- Wired Equivalent Protocol 
WEP është dizajnuar në vitin 1999 për të ofruar autentifikim dhe kriptim të të dhënave mes një hosti dhe një pike të qasjes duke përdorur një çelës simetrik. WEP-i nuk specifikon ndonjë metodë për menaxhimin e çelësave (gjenerimin, shpërndarjen, ruajtjen e tyre), mirëpo thjeshtë siguron që në një mënyrë hosti dhe pika e qasjes të kenë çelësin e njejtë.

Autentifikimi tek WEP mund të bëhet në dy mënyra:

 1.    Autentifikimi me çelësa të njejtë (shared-key) 
parapamje|390x390px|Autentifikimi me çelës të përbashkët
Në autentifikimin me çelësa të njëjtë, çelësi përdoret për të verifikuar nëse përdoruesi mund të qaset në WLAN. Përdoruesi dhe pika e qasjes bëjnë të ashtuquajturën “four-way handshake”

 Hosti kërkon autentifikim në pikë qasëse.

 Pika e qasjes i përgjigjet hostit me një vlerë nonce 128-bitëshe. Hosti kripton nonce vlerën duke përdorur çelësin simetrik dhe e dërgon te AP.
 AP e dekripton vlerën e marrur, nëse kjo vlerë është e njëjtë me vlerën origjinale të nonce atëherë AP e autentifikon hostin.  

parapamje|390x390px|Autentifikimi me Sistem të Hapur

 2.    Autentifikimi i hapur 
Në autentifikimin e hapur gjenerohen dy mesazhe:

 Hosti dërgon një kërkesë për autentifikim te pika e qasjes, i cili i kthen përgjigje (e autentifikon). 

 Hosti i dërgon kërkesë, kjo kërkesë përfshinë protokollin e autentifikimit dhe të kriptimit që ai dëshiron të përdorë. Nëse AP mbështet protokolet e kërkuara, asocimi është i suksesshëm dhe AP informon hostin që asocimi ka përfunduar. 

 Kriptimi te WEP protokolli 
parapamje|391x391px|Procesi i kriptimit te protokolli WEP
Përmes algoritmit RC4 gjenerohet çelësi simetrik 40–bitësh i cili kombinohet me një vektor inicializues 24-bitësh, më pastaj kjo vlerë 64-bitësh kripton të dhënat (mesazhin) përmes stream cipher metodës duke i’a bashkangjitur edhe CRC vlerën 4-bajtëshe.

Cipher teksti do jetë:

ci=di⊕kiIV

Marrësi do të shfrytëzoj çelësin e njejtë së bashku me IV për të dekriptuar cipher tekstin e marrur:

di=ci⊕kiIV
parapamje|391x391px|Procesi i dekriptimit te protokolli WEP
RC4 algoritmi kërkon që çelësi 64-bitësh të jetë unik sa herë që të përdoret, meqënse çelësi simetrik 40-bitësh nuk ndërron asnjëherë, mbetet që si vlerë unike të ofrojnë 24 bitat e vektorit inicializues duke krijuar kshtu gjithsejë 224 çelësa 64-bitësh. Vlera e IV ndryshon nga një kornizë në tjetrën dhe përfshihet në plaintext në kokën e secilës kornizë të kriptuar nga WEP. Kjo shpie te problemi i detektimit nga ana e sulmuesit numrin e duplikimeve të përdorimit të IV e cila lehtëson dekriptimin e mesazhit nga ana e sulmuesit. Problem tjetër është siç e cekëm ripërdorimi i çelësave.  

 WPA – Wi-fi Protected Access –IEEE 802.11I/D3.0 
WPA apo Wi-fi Protected Access është zhvilluar si protokoll për të zëvendësuar WEP-in.

Janë dy verzione: WPA dhe WPA2. Për shkak të mënyrës se si funksionon WPA, nuk ka qenë e nevojshme të ndërrohen paisjet që kanë mbështetur WEP dhe këtë e ka mundësuar protokolli TKIP-Temporal Key Integrity Protocol. TKIP sikurse WEP përdor RC4 algortimin për kriptim dhe gjenerim të çelësave, mirëpo këtu çdo paketë kriptohet me çelësa unik dhe mbështet mekanizmin “re-keying” nga edhe e ka marrë emrin, ashtu që çelësat kriptues janë të përkohëshem. 

WPA mund të implementohet në dy mënyra:

1.      WPA-PSK (Pre-Shared Key)

2.      WPA-Enterprise

 WPA-PSK 
WPA-PSK (Pre-Shared Key) ndryshe njihet si WPA Personal ofron mundësin e ndarjes së një çelësi për të gjitha paisjet që dëshirojnë të qasen në WLAN.

Pre-Shared Key (PSK) është metodë për autentifikim të hostit që përdor një çelës të tipit string me gjatësi prej 8 deri 53 karaktere të ASCII. WPA –PSK përdor protokollin TKIP për të gjenruar çelësa për kriptim. Këta çelësa vazhdimisht ndërrojnë, që hosti të lidhet PSK autentifikimi i ofron hostit mundësinë të shkruaj fjalëkalimin që në fakt është çelësi me karaktere të ASCII. 
parapamje|338x338px|Procesi Four-way handshake
Temporal Key Integrity Protocol (TKIP)—TKIP përdor RC4 algortimin kriptues me çelësa 128-bitësh, Integrity Check Value ICV 32-bitësh dhe një kodë për integritet të mesazhit (MIC) 64-bitësh.

Autentifikimi tek WPA-PSK:

Një host lidhet në një rrjet pa tela përmes autentifikimit dhe asocimit me pikën qasëse. Ekzistojnë dy metoda autentifikuese. E para quhet Shared Key authentication e bazuar në WEP. Fatkeqësisht, kjo metodë është në thelb e pasigurt. Në ditët e sotme përdoret vetëm metoda e dytë, e quajtur autentifikim i sistemit të hapur (Open System authentication).

Kjo metodë është vetëm një formalitet që lejon të gjithë hostat të ”autentifikohen”, mirëpo autentifikimi i vërtetë ndodh në një fazë më të vonshme. Hosti pas autentifikimit dërgon një kërkesë të asocimit në pikën qasëse. Kjo kërkesë përfshinë protokollin e autentifikimit dhe të kriptimit që ai dëshiron të përdorë. Nëse AP mbështet protokolet e kërkuara, asocimi është i suksesshëm, dhe AP informon hostin që asocimi ka përfunduar.

Pas vërtetimit të asocimit pason “4-way handshake”.

Pasi që te dihen nga të dy anët Pre-Shared Key, AP i dërgon një vlerë Anounce (vlerë e gjeneruar në mënyrë të rastësishme e cila shërben si input për çelësat kriptues) hostit, hosti më pas gjeneron një çelës të përkohshëm (PTK=128-bitësh), dhe krijon një SNounce vlerë me të cilën e dërgon PTK të AP së bashku me një çelës për integritet të mesazhit MIC 64-bitësh. AP dërgon mesazhin e tretë me të cilin verifikon çelësin qe duhet përdorur dhe më pas hosti i kthen përgjigje pozitive.

Këto çelësa rinovohen pas një intervali të përcaktuar nga përdoruesi, i quajtur zakonisht re-keying-timeout. Shumica e AP-ve si parazgjedhje përdorin një afat kohor prej 1 ore. Hosti ose AP mund të përfundojnë lidhjen në çdo kohë duke kaluar një mesazh disasocim ose deautentifikim.

Dërgesa e frame-ave – kriptimi me protokollin TKIP

Kur dërgohet një TKIP frame së pari llogaritet vlera MIC e MAC Service Data Unit (MSDU). Qëllimi i MIC vlerës është mbrojtja e integritetit dhe autentifikimit të mesazhit. Duke e ditur që MSDU është i gjithë mesazhi që dërgohet, ka mundësi që ky mesazh të ndahet-fragmentohet në pjesë më të vogla të quajtura MAC Protocol Data Units (MPDU). MIC llogaritet përmes algoritmit të Michael, ky algoritëm ka dy hyrje: një për komunikim mes hostit dhe AP dhe një për komunikim mes AP dhe hostit. Vlera e MIC është 64-bitëshe.

Secila MPDU enkapsulohet sikurse tek WEP protokolli. ICV qëndron për Integrity Check Value që paraqet 32 bit CRC vlerën që vendoset tek të dhënat e kriptuara  me RC4 algoritmin që gjeneron një çelës të përkohshëm (TK=128-bitësh) dhe vektorin inicializues (IV=48-bitësh) me të cilin kriptohen të dhënat, duke i shtuar edhe MIC vlerën. 802.11 header-it i shtohet edhe një TSC – TKIP Sequence Counter që rritet sa herë që MPDU frame është dërguar me sukses.

Pranimi i frame-ave

Kur pranohet një TKIP frame hosti ose pika qasëse së pari shikojnë nëse TSC është në rregull, nëse jo atëherë frame humbet. Pastaj, vazhdon të kontrollojë vlerën e ICV nëse është e njejtë me vlerën e duhur, nëse nuk është prap frame bëhet drop (humbet). Nëse të gjitha MPDU janë pranuar në rregull ato bashkohen në formën e rregulltë të MSDU dhe verifikohet vlera e MCI. Nëse kjo vlerë është e njejtë me atë që kërkohet marrësi e pranon frame-in dhe e përditëson vlerën e TSC. Këto vlera të TSC bëhen me qëllim të detektimit të sulmeve, psh:

 Nëse një host pranon një vlerë jovalide të MIC dërgon raport të dështimit tek AP.
 Një AP kur pranon një vlerë jovalide të MIC nuk dërgon broadcast tek hostat por vetëm ruan në bufferin e tij dështimin.
 Nëse një AP detekton dy MIC dështime mbrenda një minute të gjithë hostat e lidhur në AP do të deautentifikohen dhe AP nuk do të pranoj frame-a për një minutë, pasi të kalojë kjo kohë hostat mund të inicojnë lidhjen në AP.

 WPA2 – Wi-fi Protected Access2 –IEEE 802.11I/D9.0 
Wi-fi Protected Access 2 është një teknologji e sigurisë së rrjetit që përdoret në rrjetet pa tela Wi-fi. Është zhvilluar për të zëvendësuar (përmisuar) teknologjinë origjinale WPA.

WPA2 është përdorur në të gjitha pajisjet e certifikuara pa tela që nga viti 2006 dhe bazohet në standardin e teknologjisë IEEE 802.11i për kriptimin e të dhënave.

WPA2 për autentifikim bazohet në standardin e IEEE 802.1X / EAP sikurse WPA, dallon vetëm mënyra e kriptimit të të dhënave, ashtu që WPA përdor protokollin TKIP ndërsa WPA2 përdor CCMP-AES.

 Advanced Encryption Standard (AES) 
Zhvillimi i AES algoritmit (Rijndael me bllok 128 bitësh është emri i algoritmit të specifikuar në AES standartin), filloi në vitin 1997 nga NIST bashkë me industrinë dhe komunitetin e kriptografisë. AES fillimisht ishte menduar të aplikohet për enkriptimin dhe ruajtjen e informacioneve konfidenciale të qeverisë, mirëpo më vonë AES u publikua si algoritëm i disponueshëm për të gjithë.

AES është një algoritëm simetrik i tipit block cipher, për enkriptim të të dhënave përdor blloqe 128 bit-ëshe, dhe përdor çelës me gjatësi 128, 192 ose 256 bits (figura 6). Siç është cekur më lartë kriptosistemet me çelës privat mbështeten në përsëritjen e operacioneve të ndryshme për të siguruar ruajtjen e informacioneve. Te procesi i enkriptimit me AES numri i raundeve varet nga gjatësia e çelësit. Numri i raundeve të përsëritjes së operacioneve do të jetë 10 për çelës me gjatësi 128 bits, 12 raunde për çelës 192 bits dhe 14 raunde për çelës 256 bits. Përvec raundit të fundit, të gjitha raundet tjera janë identike. Çdo raund i procesimit të AES përfshinë zëvendësime në nivel të byte-ve që shoqërohen pastaj me permutacione në nivel të word-it (word = 32 bits).       
+Kombinimet Çelës-Bllok-Raund të AES algoritmit Gjatësia e çelësit (Nk fjali)Madhësia e bllokut (Nb fjali)Numri i raundeveAES-1284410AES-1926412AES-2568414
AES gjenë përdorim në softuere dhe pjesën harduerike të kompjuterëve. Gjatësitë e çelësit të AES algoritmit ofrojnë siguri për kohë të gjatë ndaj sulmeve brute-force për disa dekada. 
parapamje|338x338px|Parametrat hyrës dalës të AES enkriptimi
AES ka disa shtresa, çdo shtresë manipulon me të gjithë 128 bit-at e të dhënave. Çdo raund përmban 3 shtresat e AES përveç të parit.

Një përshkrim i shtresave të AES:

 Key Addition Layer, një  çelës 128 bit, ose sub çelës, që derivohet nga çelësi kryesor, bëhet XOR me bllokun 128 bitësh  të informacionit të cilit do t’iu referohemi si gjendje.
 Byte Substitution layer (S-Box) Çdo element i gjendjes jo linearisht transformohet duke përdorur tabelën e kërkimit me veti matematike të caktuara.
 Diffusion layer, siguron difuzion në të gjithë bitat e gjendjes. Përmban 2 nën-shtresa të cilat kryejnë operacione lineare.
 ShiftRows ndryshon renditjen në nivel të byte-ve.
 MixColumn është një matricë e operacioneve që kombinon blloqet e 4 byte-ve

 Algoritmet Simetrike 
parapamje|341x341px|Enkriptimi Simetrik (me çelës privat)
Protokollet WEP, WPA, WPA2, përdorin algoritmet simetrike për menaxhim dhe gjenerim të çelësave kriptues. Algoritmet simetrike përdorin një çelës për të enkriptuar mesazhin dhe po të njejtin çelës për të dekriptuar mesazhin. Në enkriptimin simetrik mesazhi enkriptohet duke përdorur një çelës dhe një algoritëm për enkriptim, teksti i enkriptuar që fitohet pastaj dekriptohet duke përdorur çelësin dhe algoritmin e njejtë të cilët janë përdorur gjatë enkriptimit. Pasi përdoret një çelës për dy funksionet, kriptografia me çelës privat quhet enkriptim simetrik. Fakti që enkriptimi dhe dekriptimi bëhen me të njejtin çelës nënkupton se dërguesi dhe marrësi duhet të dijnë çelësin që në fakt është sekret. Enkriptimi simetrik është më i shpejtë dhe më pak kompleks. Kriptosistemet me çelës privat mbështeten në sigurinë që ofron aplikimi i përsëritur i operacioneve të ndryshme të cilat janë të vështira për t’u zgjidhur pa e ditur çelësin privat.

Egzistojnë dy teknika kryesore të kriptimit në sistemet simetrike: stream ciphers dhe block ciphers.

 Teknika Block Ciphers 
Në tekniken block cipher mesazhi që do të kriptohet procesohet në blloqe k-bitëshe, p.sh  mesazhi mund të ndahet në blloqe 64-bitëshe dhe secili bllok të kriptohet në mënyrë të pavarur. Mënyra më e zakonshme e kriptimit të blloqeve është një me një, ashtu që mesazhi k-bitësh kriptohet në mënyrë unike me k-bita si cipher mesazh. Nëse mesazhi është ndarë në blloqe 3-bitëshe atëherë janë gjithsejë blloqe që duhet të mapohen një me një dhe janë gjithsejë 8!=40325 cipher mesazhe të mundshme.

Block ciphers përdonin funksione që simulojnënë mënyrë të rastësishme tabelat mapuese. P.sh një mesazh i ndarë në blloqe 64-bitëshe përdor funksionin që së pari e ndanë bllokun 64-bitësh në nënblloqe 8-bitëshë që krijonë tabela të menagjueshme dhe pastaj i bashkon si output 64-bitësh. 

Sot ekzistojnë një numër i standardeve të cipher blocks të njohura duke përfshirë DES (Data Encryption Standard), 3DES, dhe AES (Advanced Encryption Standard). Secili prej këtyre standardeve përdor funksione, në vend se tabela të paracaktuara. Secili prej këtyre algoritmeve përdor gjithashtu një varg bitësh për një çelës. Për shembull, blloku 64-bitësh i DES përdor një çelës 56-bitësh. AES përdor blloqe 128-bitëshë dhe mund të funksionojë me çelësa që janë 128 ,192, dhe 256- bitësh.

Në një block cipher, nëse kemi një bllok të një mesazhi do të enkriptohet në të njejtin ciphertext nëse përdoret i njejti çelës, kurse në stream cipher i njëjti mesazh (plaintext) enkriptohet dhe rezulton në ciphertext të ndryshëm. Një mod kriptografik është kombinim i një algoritmi të thjeshtë me veprime të tjera ose operacione të thjeshta. Operacionet janë të thjeshta sepse siguria është funksion i algoritmit dhe jo i modit.

Block cipher operojnë në disa mode si Electronic Codebook (ECB), Cipher Block Chaining (CBC), Output Feedback (OFB), Cipher Feedback (CFB), Couner (CTR).

 Electronic Codebook (ECB) modi më i thjeshtë, me aplikimin më të dukshëm, çelësi sekret përdoret për të enkriptuar bllokun e mesazhit dhe për të formuar bllokun e enkriptuar të tij. Dy blloqe identike të mesazhit, gjenerojnë të njejtin bllok të enkriptuar. E metë e këtij modi është se të dekriptohet nga lloje të ndryshme të brute-force sulmeve, sulmuesi mund të ndërhyjë në ndërrimin e njdonjë blloku edhe pa e ditur çelësin. 
 Cipher Block Chaining (CBC) modi funksionon ashtu që blloku i mesazhit para enkriptimit bëhet XOR (exclusively-OR) me bllokun e enkriptuar të më parshëm. Kështu dy blloqe identike të mesazhit janë të ndryshme kur enkriptohen në modin CBC, gjë që e dallon nga ai ECB. Modi CBC siguron mesazhin nga sulmet brute-force, fshirja apo ndërhyrja në ndrrimin e bllokut, mirëpo gabimi në ndonjë bit në një bllok të enkriptuar të mesazhit do të rezultojë në gabim të një blloku të tërë në të mesazhit të dekriptuar, dhe pastaj kjo do të përcjellet me gabim në bllokun e ardhshëm të dekripuar pasi që secili bllok i enkriptuar i mesazhit është i varur nga blloqet paraprake të enkriptuara. 

CBC operon siç vijonë:

Para se me e kriptu mesazhin (bllokun k-bitësh) dërguesi gjeneron një vektor inicializues k-bitësh të quajtur Initialization Vector (IV). Le të jetë ky vektor i definuar si c(0).

Dërguesi llogaritë XOR të IV me bllokun e parë. Pastaj rezultatin e kalon në bllokun që përmban algoritmin për kriptim së bashku me çelësin.

Për bllokun e i-të dërguesi gjeneron cipher mesazhin e i-të. 

 Teknika Stream ciphers 
Stream Ciphers operojnë në streams të mesazhit të thjeshtë dhe mesazhit të enkriptuar me një bit ose byte. Një stream cipher e ndan mesazhin në M meszhe dhe e konverton çdo bit në ciphertext, pra enkriptojnë çdo bit një nga një. Stream cipher shoqërohet me gjenerimin e një keystream. Gjenerimi i një key stream mund të bëhet me disa metoda:

 Peridoic bit sequence, ku një sekuencë e bitave e përsëritur periodikisht shërben si celës
 Running-text, ku gjenerimi i celësit aperiodik bëhet duke e marr një teks, stream të të dhënave ose fajll me gjatësi të paktën sa gjatësia e plaintext-it. XOR enkriptimi me running-text celës mund të thyhet lehtë.
 True Randome Sequence, celësi në këtë rast sekuencë e true random bitave. Ciphertexti është një sekuncë e bitave që quhet One-Time Pad (OTP)
 Pseudo-random Sequence, celësi është sekuencë e rëndomtë e bitave ose numrave.

Matematikisht mesazhi M ndahet ne bits m1, m2, ... mn dhe enkriptohet çdo mi me elementin i të keystream-it (me operacionin XOR) për të përfituar një stream të bit-ave të ciphertext-it:

ci = mi Xor ki

Për dekriptim të ciphertext-it bit-at e ciphertext-it bëhen XOR me po të njejtat elemente të keystream ashtu që të fitohen bit-at e plaintext-it:

mi = ci Xor ki 

Pasi që mi Xor ki Xor ki = mi   atëherë kjo funksionon. 

 Referime