Sigurimi i komunikimit ne rrjet

## Hyrje 
Internet Protocol Security eshte protokol i dizajnuar per te mundesuar komunikim te sigurt duke shfrytezuar TCP/IP. IPsec perfshin tri fusha funksionale, ku edhe bazohet e tere puna e ketij protokolli:
*	Authentifikimi (Authentication)
*	Fshehtesia (Confidentiality)
*	Menaxhimi I celesave (Key Management)
Authentifikimi kryhet permes HMAC(Hash based Message Authentication Code)[1].Cilido funksion kriptografik mund te shfrytezohet per kalkulimin e HMAC. Siguria e ketij kodi varet drejteperdrejte nga siguria e hash funksionit me te cilin eshte llogaritur.
Fshehtesia arrihet permes Encapsulation Security Payload(ESP),qe eshte format enkriptimi.ESP eshte nje Header qe shtohet menjhere pas Header-it te zakonshem te nje IP pakete dhe shfrytezohet per te siguruar fshehtesi,authentifikim te origjines se te dhenave dhe anti-replay service qe parandalon perseritjen e paketave.Se cilen prej ketyre funksioneve e kryn varet prej kushteve te vendosura ne Security Association(SA) si  dhe prej pozites ku eshte implementuar ne topologjine e rrjetes.
Mekanizmi I menaxhimit te celesave te IPsec perfshin vendosjen dhe shperndarjen e nje celesi secret. [2]Ky process kryhet duke u bazuar ne OAKLY Key Determination Protocol dhe ISAKMP.
IPsec mundeson  komunikim te sigurte brenda nje LAN-i(Local Area Network) ,brenda nje WAN-i(Wide Area Network) privat ose publik,si dhe ne Internet.Tipari kryesor i tij eshte mundesia e authentifikimit dhe kriptimit te te gjithe trafikut ne nivelin IP.[1]
Protokolet IPsec operojne ne pajisje te rrjetes ,sic jane ruteret (router) ose firewall-at,te cilet e lidhin LAN-in me boten e jashtme.Pajisjet e rrjetes te konfiguruara me IPsec I kriptojne dhe kompresojne te gjitha te dhenat qe kalojne ne WAN, dhe I dekriptojne e dekompresojne te gjitha te dhenat qe vijne prej WAN.
Ky protokoll gjen zbatim te madh ne konfigurimin e rrjetave lokale virtuale, per qajse te sigurte ne te dhena prej larg (remote access) permes Internet-it,per rritjen e sigurise ne transaksione elektronike,etj. Implementimi I IPsec ne nje firewall ose router ofron siguri te larte qe mund te aplikohet ne te gjithe trafikun qe kalon neper perimeter.Meqe ndodhet nen shtresen e transportit eshte transparente per aplikacionet softuerike.Prandaj,me implementimin e IPsec nuk ka nevoje te behet asnje adaptim softuerik perkates.

## Parimet e punes se IPsec 
IPsec i arrin funksionalitet e veta permes :
*	Authentication Header (AH)
*	Encapsulating Security Payload (ESP)
*	Internet Key Exchange (IKE)
*	Algoritmeve Kriptografike

### Authentication Header (AH) 
AH siguron integritetin e te dhenave dhe authentifikimin e IP paketave. Formati I ketij header-I perbehet prej:
*	Next Header (8 bit)-Percakton tipin e te dhenave te vendosura pas HA.
*	Payload Length (8 bit)-Percakton numrin e fjaleve kodike 32-biteshe ne AH minus 2.
*	Reserverd –Fushe e rezervuar per shfrytezime ne te ardhmen.Vlera e saj fillestare eshte zero.
*	SPI (32 bita)-Fushe e cila e identifikon ne menyre unike Security Association te vendosur mes derguesit dhe marresit te paketes.
*	Sequence Number (32 bit)-Kjo fushe permban nje numerues qe I sherben anti-replay funksionit  te protokollit.Edhe nese derguesi vazhdimisht dergon te njejten pakete ky numerues duhet te qendroje ne poziten e njejte,derisa te mos vij paketa vijuese.
*	Authentication Data-Kjo fushe permban Integrity Check Value ose MAC per paketen.Gjatesia e saj eshte variabile ,por duhet te jete shumefish I 32 bitave

### Encapsulating Security Payload (ESP) 
ESP Header-i eshte dizajnuar per te ofruar sherbime te sigurise ne IPv4 dhe IPv6.Permes tij kriptohen te dhenat dhe sigurohet integriteti I tyre.Arsyeja pse perveq ESP shfrytezohet edhe AH per siguri,integritet si dhe authetifikim te origjines se te dhenave eshte se ESP nuk mund te kriptoje pjese te header-it te zakonshem te nje IP pakete.[4]
Formati I nje ESP pakete perfshin:
*	Security Parameters Index, SPI –Vlere 32 biteshe qe  e identifikon ne menyre unike Security Association.
*	Sequence Number (32 bit)-Fushe e cila permban nje numerator qe e kontrollon pranimin e paketave me rradhe.
*	Payload Data –Permban te dhena te specifikuara ne Next Header fushen.Gjatesia e kesaj  fushe eshte variabile.Nese algoritmi kriptografik kerkon vektore inicializues ,atehere ky vektore do te vendosej ne kete fushe.
*	Padding-Nevojitet per te kontrolluar qe ciphertext-I te perfundoje ne kufi te vleres 32 bit si dhe per te kontrolluar qe algoritmi kriptues te marr blloqet e plaintext-it ne gjatesi adekuate.Pra,nese bitat qe duhet te kriptohen nuk jane shumefish I gjatesise se bllokut qe e merr algoritmi kriptues ,te dhenes I shtohen edhe disa bita dhe pastaj kalon neper procesin e kriptimit.
*	Pad Length-Kjo fushe tregon per numrin e bitave te shtuar gjate procesit te padding-ut.Vlerat e saj mund te jene prej 0-255,ku vlera 0 nenkupton se nuk eshte shtuar asnje bit.
*	Next Header-Tregon per tipin e te dhenave ne fushen Payload Data.
*	Authentication Data-Permban vleren ICV te llogaritur per ESP paketen pa te dhenat per authentifikim.

## Internet Key Exchange (IKE) 
### Protokoli OAKLEY per percaktimin e celesit 
Diffie-Hellman algoritmi per shkembim te celesave eshte  mekanizem ne te cilin dy shfrytezues vendosin per nje celes te perbashket pa pase nevoje per shfrytezimin e procesit te kriptimit ne mes. [2]Ky celes eshte I gatshem pastaj per kriptimin e te dhenave dhe komunikimi mund te filloje menjehere.Protokoli OAKLEY e refinon kete algoritem, duke I shtuar celesit nje identifikues per secilen pale pjesemarrese ne komunikim.
OAKLEY perdore cookies per: anti-clogging dhe emertim te celesave.Krijimi I tyre jep rezultation e nje funksioni nje-kahor te applikuar mbi nje vlere sekrete,per TCP IP adresen e derguesit dhe marresit, per UDP portin e derguesit dhe marresit.
Anti-Clogging Cookie ofron mbrojtje ndaj sulmeve per mohim ne qasje (access denial) duke shfrytezuar ne menyre racionale resurset e CPU per te authentifikuar derguesin e paketes.
OAKLEY po ashtu kontrollon perseritjen e paketave duke ruajtur nje numer te gjeneruar rastesisht prej transmetuesit.Keta numra mund te dergohen si pjese te paketave per shkembimin e celesit.
ISAKMP (Internet Security Association and Key Management Protocol) 
ISAKMP merret me menaxhimin e SA (Security Association) dhe percaktimin e celesit kriptografik per Internet.
SA e ISAKMP eshte e dy anshme,qe  nenkupton se  ne momentin kur vendoset secila prej paleve mund te inicioje komunikimin. [5]Me perdorimin e fazave te ketij protokoli behet vendosje shume e shpejte e celesave.
ISAKMP dallon prej protokoleve te tjera per vendosjen e celesave per shkak se ben nje ndarje strikte ne mes te detajeve se SA dhe te dhenave per shkembim te celesave.Ky protokoll mund te implementohet mbi cdo lloj protokoli transmetues ,dhe eshte protocol standard per shkembimin e celesave per IPsec.

## Algoritmet Kriptografike 
Kriptimi I te dhenave behet sipas protokolit ESP.ESP shfrytezon algoritme simetrike per kriptim,nder te cilat DES ne modin CBC,IDEA,CAST,RC5 and Blowfish. [2] 
Qe te aplikohet kriptimi,derguesi duhet te vendose te dhenat ne Payload,te beje Padding dhe te kriptoje rezultatin.Derguesi I krypton keto te dhenat me celesin e vendosur,permes algoritmit kriptues ne modin e vendosur sipas SA.
Kriptimi I te dhenave behet perpara authentifikimit,prandaj ne bllokun e fituar te ciphertext-it nuk perfshihen te dhenat per authentifikim.
Marresi e merr paketen dhe e dekripton Payload-in,Padding-un,Pad Length-in dhe Next Header.Dekriptimi I te dhenave ne anen e marresit nuk fillon perderisa te mos kryhet authentifikimi.Pasi te jete bere authentifikimi , verifikimi dhe dekriptimi kryhen paralelisht.Kur keto veprime kryhen parallel ,duhet te sigurohet qe paketa e dekriptuar te mos kaloje ne ndonje process te radhes pa u kryer verifikimi.Ky princip I punes mundeson detektimin e shpejte te gabimeve gjate procesit te transmetimit te paketave.
Authentifikimi kryhet permes algoritmeve simetrike (sic eshte DES) dhe hash funksioneve (SHA1, MD5). [2]Algoritmet simetrike shfrytezohen per verifikimin e MAC (Keyed Message Authentication Code) ,ndersa hash funksionet per kontrollimin e integritetit te te dhenave.
Modet e Punes
Te dy protokolet AH dhe ESP i perkrahin dy mode te punes, modin transportues dhe ate tunel.
Modi Transport
Modi Transport ofron mbrojtje per protokolet e shtresave te larta. 
ESP ne kete mod kripton dhe authentifikon (opcionale) vetem te dhenat e paketes pa header (IP Payload). [1]
AH ne anen tjeter e authentifikon Payload-in dhe pjeset e zgjedhura te IP header-it. [1]
Modi Tunnel
Modi Tunnel ofron mbrojtje per te gjithe IP paketen.Per te arritur kete mbrojtje ,pasi paketes ti shtohen header-at e AH dhe ESP, paketa se bashku me header-in e saj ku perfshin edhe pjeset e sigurise(IPsec) trajtohet sin je Payload( te dhena pa IP header) dhe ketij payload-I I shtohet pastaj nje header I jashtem. [1]Pra,paketa qe duhet te dergohet vendoset teresisht brenda nje pakete tjeter me nje tjeter IP header.
Ky mod I punes shfrytezohet kur sistemet qe komunikojne jane router-a ose firewall-a.
ESP ne kete mod kripton dhe authentifikon (opcionale) paketen e brendshme ,pra payload-in e paketes totale,duke perfshire ketu edhe header-in e paketes se brendshme. [1]
AH e authentifikon tere paketen e brendshme dhe pjese te header-it te jashtem. [1]
SA (Security Association)
Nje SA eshte nje lidhje logjike e nje-anshme mes nje derguesi dhe nje marresi qe mundeson vendosjen e sigurise se trafikut ne te cilin behet komunikimi. [1]
Nje SA identifikohet ne menyre unike permes tre parametrave:
*	Security Parameters Index (SPI)
*	IP Destination Address
*	Security Protocol Identifier
Security Parameters Index eshte nje kod qe vendoset ne AH dhe ESP header-at per te njoftuar sistemin marres per cilin SA duhet te procesohet paketa.
IP Destination Address eshte adresa e destinacionit te paketes(EndPoint) qe mund te jete shfrytezues fundor,ose router,firewall.
Security Protocol Identifier eshte fushe qe tregon nese SA eshte e tipit AH ose ESP.Kjo fushe vendoset ne IP header-in e jashtem te paketes.

Nje SA vendoset ne Security Association Database e definuar permes shtate parametrave:
*	Security Parameter Index
*	Sequence Number Counter
*	Sequence Counter Overflow
*	Anti-Replay Window
*	AH Informacioni
*	ESP Informacioni
*	Jete-gjatesia e SA
Security Parameter Index eshte nje vlere 32 biteshe e cila e identifikon ne menyre unike SA-ne.
Sequence Number Counter eshte vlere 32 biteshe qe shfrytezohet per gjenerimin e fushes Sequence Number ne header-at e AH dhe ESP.
Sequence Counter Overflow vlere e cila tregon nese ka ndodhe nje overflow te Sequence Number numeratori dhe duhet te nderpritet transmetimi I paketave ne kete SA.
Anti-Replay Window perdoret per te treguar nese paketa qe ka ardhur eshte e perseritur.
AH Informacioni permban algoritmin per authentifikim,celesat dhe parametrat tjeter te nevojshem per AH.
ESP Informacioni permban algoritmin per authentifikim dhe kriptim,celesat dhe parametrat tjere te nevojshem per ESP.
Jete-gjatesia e SA eshte nje interval kohor pas te cilit SA prezente duhet te nderrohet me nje te re.

## Referime