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. 

**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.

### 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).       

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.
* *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. 

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