Sunteți pe pagina 1din 24

Securitatea la nivel IP: IP Security

Protocol (IPSec)
Cuprins

1. IPSec- generalitati, standarde

2. Functionare- componente si protocoale

3. Metode de implementare- pe router/ final host

4. Arhitectura IPSec- comparatie BITS si BITW

5. Modurile IPSec- Modul Tunel si Modul Transport

6. Protocolul Authentication Header

7. Encapsulating Security Payload

8. Concluzii

9. Bibliografie
1.IPSec - generalitati, standarde

Securitatea unei rețele de calculatoare poate fi afectată de mai mulți factori, cum ar fi:
dezastre sau calamități naturale, defectări ale echipamentelor, greșeli umane de operare sau
manipulare, fraude. Pentru asigurarea securității unei rețele s-au creat așa numitele servicii de
securitate care au scopul de a asigura securitatea aplicațiilor precum și a informațiilor stocate
pe suport sau transmise prin rețea. Când este vorba despre securitatea unei rețele apar mai
multe aspecte, cum ar fi: securizarea accesului fizic și logic, securitatea serviciilor de rețea,
secretizarea informațiilor etc. De‐a lungul anilor au fost realizate mai multe metode de
protecție pentru a spori gradul de securitate. Majoritatea s‐au concentrat pe nivelurile OSI
superioare pentru a compensa lipsa de securitate a IP‐urilor. Ceea ce era cu adevărat necesar
era o soluție care să asigure securitatea la nivel IP astfel încât toate protocoalele la niveluri
mai înalte în TCP / IP să poată profita de ea. Când s‐a luat decizia de a dezvolta o noua
versiune a IP (IPv6), aceasta a însemnat un prilej unic pentru a rezolva nu doar problemele
din IPv4 vechi, dar de asemenea şi lipsa de securitate. Noua tehnologie de securitate a fost
dezvoltată luând în considerare un IPv6, dar deoarece au fost necesari ani buni pentru ca IPv6
să fie realizat şi introdus, iar nevoia de securitate era presantă, soluția a fost concepută pentru
a fi utilizată atât pentru IPv4 cât şi pentru IPv6. Tehnologia care aduce comunicații securizate
la Protocolul de Internet este numită IP Security, frecvent abreviată IPSec.
IPSec este o prescurtare a lui IP Security, şi constă dintr‐un număr de servicii şi
protocoale care asigură securitate rețelelor IP. Este definit de o secvență de câteva standarde
de Internet.
IPSec este o suită de protocoale pentru securizarea comunicațiilor peste stiva TCP/IP.
Această suită se bazează pe folosirea funcțiilor matematice și a algoritmilor de criptare și
autentificare pentru a asigura confidențialitatea, integritatea și non-repudierea informațiilor
din fiecare pachet IP transmis pe rețea. IPSec este la ora actuală una dintre cele mai folosite
metode de securizare a transmisiei pe Internet, alături de SSL (Secure Sockets Layer) și TLS
(Transport Layer Security).
IPSec nu este doar un protocol, ci mai degrabă un set de servicii şi protocoale care
oferă o soluție completă de securitate pentru o rețea IP. Aceste servicii şi protocoale se
combină pentru a oferi diferite tipuri de protecție. Deoarece IPSec lucrează la nivelul IP, ea
poate oferi aceste protecții pentru orice aplicație sau protocol de nivel superior TCP / IP fara
a fi nevoie de metode suplimentare de securitate, ceea ce prezintă un avantaj major. Unele
dintre tipurile de servicii de protecție oferite de IPSec includ:
o Criptare a datelor pentru confidențialitate.
o Autenticitatea integrității mesajelor pentru a se asigura că nu sunt modificate pe traseu.
o Protecție la anumite tipuri de atacuri, ca „reply attack1”.
o Abilitatea anumitor echipamente de a negocia algoritmi de securitate şi chei necesare
pentru a asigura comunicarea securizată.
o Două moduri de securizare: tunelat şi transport pentru a satisface diferitele necesități ale
rețelei.[1]
Internet Protocol Security (IPsec) reprezinta un protocol de securitate bazat pe reguli
ce protejeaza datele transmise pe nivelul de retea. IPSec permite autentificarea si criptarea la
cerere a comunicatiilor IP intre doua sisteme. Pachetele IPSec sunt semnate,verificate,
criptate si decriptate la nivelul de transport, fiind transparent pentru aplicatii.
O colecție de RFC‐uri (Request for Comments) definesc arhitectura, serviciile şi
protocoalele specifice utilizate în IPSec.[2]
TABEL 1 – RFC‐URI PRIVIND ARHITECTURA, SERVICIILE ŞI PROTOCOALELE
SPECIFICE UTILIZATE ÎN IPSEC. SURSA: HTTP://WWW.IETF.ORG/RFC.HTML

2.Functionare - componente si protocoale


IPSec furnizează instrumentele pe care echipamentele de pe rețeaua TCP/IP le
folosesc pentru a comunica în siguranță. Când două echipamente (gazdele utilizatorilor finali
sau echipamentele intermediare, de exemplu routere sau firewall), doresc să se stabilească
comunicații sigure, ele creează o cale sigură între ele – cale care poate traversa mai multe
retele intermediare nesigure. Pentru a realiza acest lucru, ele trebuie să efectueze (cel puțin)
următorii paşi:
1. Se negocieze protocolul care se va utiliza, astfel încât fiecare să poată transmite date într‐
un format pe care ambele echipamente il pot interpreta
2. Se negocieze algoritmul de criptare folosit pentru criptarea datelor.
3. Se schimbe intre ele cheile care se utilizează pentru decriptarea datelor.
4. Odată ce primii trei paşi sunt realizați, fiecare echipament trebuie să utilizeze protocolul,
algoritmul şi cheile convenite anterior pentru criptarea datelor şi transmiterea lor prin
rețea.[2]
IPSec este cunoscut drept un protocol oportunist deoarece poate fi activat la cerere –
pentru unele sau toate conexiunile – bazat pe criterii puse de administrator precum adresa
IP,protocol sau port.
IPSec este mai mult decat o unealta pentru securizarea pachetelor. IPSec este
recomandat in urmatoarele cazuri :
• Filtrarea Pachetelor . IPSec asigura servicii firewall de baza prin determinarea carui trafic
este permis sa intre sau sa iasa dintrun sistem. Aceasta filtrare ar trebui folosita in cadrul
unei strategii de aparare in adancime.
• Securizarea traficului intre doua sisteme pe cai specifice. IPSec poate fi utilizat la
securizarea traficului intre calculatoare. Aceasta aparare se realizeaza prin crearea unor
politici IPSec ce includ o gama de adrese IP carora li se va aplica IPSec.
• Securizarea traficului catre servere. Se poate seta protectie IPSec pentru clientii ce se vor
conecta la server. IPSec permite specificarea clientilor care au acces la server.
• L2TP/IPSec pentru conexiuni VPN . IPSec poate fi folosit in combinatie cu Layer Two
Tunneling Protocol (L2TP) pentru securizarea conexiunilor VPN.
• Tunel intre Site‐uri . Se poate utiliza IPSec in mod tunel pentru a furniza interoperabilitate
cu sisteme ce nu suporta conexiune L2TP/Ipsec sau PPTP [1]

Protocoale si componente IPSec

Cele două piese principale sunt o pereche de tehnologii numite uneori protocoalele de
bază ale IPsec. Acestea sunt cele care de fapt realizează codarea de informații pentru a
asigura securitatea.
Acestea sunt:
o IPSec Authentication Header (AH): Acest protocol asigură serviciile de autentificare
pentru IPSec; ceea ce înseamnă că emitentul mesajului ‐ se presupune ca a inițiatorul
mesajului este şi cel care îl transmite. De asemenea asigura şi integritatea mesajului
transmis şi protecția împotriva atacurilor „reply”, unde mesajul este capturat de cineva
neautorizat şi retransmis.
o Encapsulating Security Payload (ESP): Header‐ul de autentificare asigură integritatea
datelor nu şi confidențialitatea lor. Aceasta (confidențialitatea) se asigură utilizând
protocolul ESP care criptează informațiile din pachetul IP.
IPSec constă dintr‐un număr de componente diferite care conlucrează pentru a
asigura servicii de securitate. Principalele două sunt protocoalele numite Authentication
Header (AH) şi Encapsulating Security Payload (ESP), care asigură autenticitatea şi
confidențialitatea datelor IP sub formă de headere speciale adăugate la datagramele IP. AH si
ESP sunt deseori numite “protocoale”, deşi acest lucru este discutabil. Ele sunt implementate
ca headere în informația IP pentru a asigura autenticitatea şi confidențialitatea.
Niciunul din aceste componente nu poate funcționa fără celalalt. Pentru a funcționa
corect au nevoie şi de suportul altor protocoale şi servicii. Cele mai importante includ:
o Algoritmi de criptare/hash: AH si ESP au caracter generic şi nu specifică mecanismul
utilizat pentru criptare. Acest lucru le dă flexibilitatea de a lucra cu o varietate de algortmi
de criptare şi de a negocia care este cel mai bun pentru a fi utilizat. Doi dintre cei mai
utilizați în IPSec sunt Message Digest 5 (MD5) şi Secure Hash Algorithm 1 (SHA‐1). Se mai
numesc şi algoritmi hash deoarece funcționează calculând o funcție hash3 bazată pe datele
de intrare şi cheie.
o Politici de securitate şi asocieri, metode de management: întrucât IPSec asigură
flexibilitatea modului în care echipamentele pot să se asigure securitatea, trebuie să existe
posibilitatea gestionarii relațiilor de securitate dintre echipamente. Acest lucru se
realizează în IPSec folosind politici de securitate şi asocieri de securitate, precum şi căi de a
putea schimba informația.
o Cadrul de schimbare a cheilor şi mecanisme: pentru ca două echipamente să poată
schimba informație criptată au nevoie să schimbe şi cheile pentru decriptare. Mai au nevoie
să schimbe şi informație asociată securizată. În IPSec, protocolul care asigură acest lucru
este IKE (Internet Key Exchange).[7]

3.Moduri de implementare
Trei metode de implementare ale arhitecturii IPSec sunt definite în RFC 2401. Pe care
o folosim depinde de mulți factori care includ şi tipul de IP utilizat (IPv4 sau IPv6),
necesitățile aplicațiilor şi alți factori. Acestea la rândul lor se bazează pe o decizie de
implementare primară: dacă se poate aplica în toată rețeaua sau numai pe anumite
echipamente (anumite routere). Această decizie de implementare este una ce trebuie să se
bazeze pe cerințele rețelei. Există două opțiuni: implementarea IPSec pe gazda finală sau pe
routere.

IMPLEMENTAREA PE GAZDA FINALĂ

Implementarea pe toate gazdele din rețea asigură cea mai mare securiate şi
flexibilitate. Asigură comunicația securizată „end‐to‐end” între doua echipamente din rețea.
De multe ori datorita echipamentelor incluse într‐o rețea nu se poate implementa pe toate
datorită hardware‐ului utilizat (exemplu: imprimantele de rețea). De aceea se folosesc şi
echipamente intermediare care cunosc IPSec ( servere de printare IPSec).

IMPLEMENTAREA PE ROUTER

Acest tip de implementare este şi mai uşor de realizat deoarece presupune că se fac
modificări la câteva routere în loc de câteva sute sau mii de clienți. Ea asigură protecție între
perechile de routere care implementează IPSec, dar acest lucru poate fi suficient pentru
anumite aplicații, cum ar fi in rețelele virtuale private (VPN). Routerele pot fi folosite pentru
a oferi protecție numai pentru partea din rută pe care datagramele o parcurg în afara
organizației, lăsând conexiunile între routere şi gazde locale neasigurate (sau, eventual,
asigurate prin alte mijloace).[8]
4.Arhitectura IPSec - comparatie BITS si BITW
Arhitectura IPSec este definite de cateva componente fundamentale si relatiile dintre
ele. Se pot define patru sectiuni:
- SA ( Security Associations)
- SA si suportul pentru managementul chei
- Protocoalele IPSec
- Metode si algoritmi
-SA reprezinta o combinatie de politici si chei acceptate reciproc care definesc
serviciile de securitate, mecanismele si cheile folosite pentru a proteja comunicarea intre
participant. Fiecare SA este o conexiune unidirectionala sau simplex care ofera servicii de
securitate pentru traficul pe care il suporta. Deoarece SA-urile sunt definite pentru
comunicarea unidirectionala, fiecare sesiune IPSec are nevoie de doua SA-uri. De exemplu,
daca fiecare protocol IPSec- AH si ESP sunt folosite pentru o sesiune IPSec intre doi
participant, atunci sunt necesare patru SA-uri. SA-urile, in comunicatia securizata IPSec, au
nevoie de doua baze de date: SPD( Security Policy Database) si SAD( Security Association
Database). SPD stocheaza necesitatile securizarii sau politicile de securitate pentru ca SA sa
fie stabilita. Este folosita atat in timpul procesarii pachetelor la intrare cat si la iesire.IPSec
verifica pachetele de intrare pentru a se asigura faptul ca sunt securizate conform politicii
stabilite. Corespunzator politicii respective sunt securizate si pachetele de iesire.SAD contine
parametri pentru fiecare SA active. Protocolul IKE( Internet Key Exchange) populeaza
automat aceasta baza de date. Dupa ce un SA a fost stability, informatia pentru fiecare dintre
ele este stocata in SAD. [7]

-SA si suportul pentru managementul chei: IPSec necesita SA si suport pentru


managementul cheilor. ISAKMP( Internet Security Association and Key Management
Protocol) defineste framework-ul pentru autentificare si schimbul cheilor prin oferirea de
procedure pentru negociere, stabilire, schimbare si stergere SA-uri. Nu defineste schimbul
efectiv de chei, ci doar defineste cadrul in care se realizeaza acest lucru. IPSec necesita suport
atat pentru management manual cat si automat al SA-urilor si cheilor. IKE este protocolul de
management al cheilor automat si implicit. IKE este un protocol hibrid care incorporeaza
parti din protocolul de schimb de chie Oakley si din protocolul de creare a cheilor SKEME.
Protocolul Oakley utilizeaza schimbul de chei Diffie-Hellman sau un algoritm cheie
pentru a crea o cheie unica, secreta si comuna care este apoi utilizata pentru a crea un
material cheie pentru autentificare si criptare. De exemplu, o astfel de cheie comuna ar putea
fi folosita de algoritmul de criptare DES pentru materialul cheie necesar. Un schimb Diffie-
Hellman poate utiliza unul dintre numerele de grup care definesc lungimea numerelor prime
de baza (dimensiunea cheii), care sunt create pentru a fi utlizate in timpul procesului de
schimb de chei. Cu cat este mai mare numarul, cu atat este mai puternica cheia. Grupuri
bine-cunoscute includ grupurile: Grupul 1, Grupul 2 si Grupul 14.
Urmatoarea figura prezinta relatia dintre protocolul Oakley, algoritmul Diffie-
Hellman si bine-cunoscutele grupuri de schimb cheie Diffie-Hellman. [7]

Protocolul Oakley defineste mai multe moduri pentru procesul de schimb de chei.
Aceste moduri corespund celor 2 faze de negociere definite in protocolul ISAKMP. Pentru
faza 1, protocolul Oakley defineste doua moduri: principal si agresiv. IPSec pentru Windows
nu implementeaza modul agresiv. Pentru faza 2, protocolul Oakley defineste un singur mod,
modul rapid.
Pentru a oferi securitate pentru layerul de IP, IPSec defineste 2 protocoale:
Autentificare Header (AH) si de Securitate Incapsulata Payload (ESP). Aceste protocoale
furnizeaza servicii de securitate pentru SA. Fiecare SA este identificat prin Indexii
Parametrilor de Securitate (SPI), adresa de destinatie IP si identificatorul protocolului de
securitate ( AH sau ESP).
SPI este o valoare unica, identificand valoarea intr-un SA care este utilizat pentru a
distinge intre mai multe SA-uri pe computerul receptor. De exemplu comunicarea IPSec intre
2 computere necesita 2 SA-uri pe fiecare dintre ele. Un serviciu SA pentru traficul de intrare
si celalalt pentru traficul de iesire. Deoarece adresele IPSec pentru cele 2 SA-uri sunt la fel,
SPI-ul este folosit pentru a distinge intre intrare si iesire. Deoarece cheile de criptare difera
pentru fiecare SA, fiecare SA trebuie identificat in mod unic.[7]
Urmatoarea figura arata relatia dintre SA, SPI, adresa de destinatie IP si protocolul de
securitate.

Algoritmi si metode:
Protocoalele IPSec utilizeaza autentificare, criptare si algoritmi de schimb cheie.
Doua autentificari sau algoritmi hash cu cheie HMAC-MD5 ( Hash Message Authentification
Code MD5) si HMAC-SHA-1 sunt folosite cu protocoalele AH si ESP, iar algoritmii de
criptare DES si 3DES sunt utilizati cu ESP.
Urmatoarea figura reprezinta relatia dintre algoritmii de autentificare si algoritmii de
criptare si protocoalele AH si ESP.

Metodele de autentificare pentru IPSEC asa cum sunt definite prin protocolul IKE,
sunt grupate in 3 categorii: semnatura digitala, cheie publica si cheie predistribuita.
Urmatoarea figura prezinta relatia dintre protocolul IKE si metodele de autentificare.[7]
ARHITECTURI IPSEC
Sunt definite trei arhitecturi diferite care descriu metodele de a obține IPSec în setul
de protocoale TCP/IP.

ARHITECTURA INTEGRATĂ
În condiții ideale, protocoalele şi capacitățile IPSec‐lui s‐ar integra direct în IP.
Aceasta este soluția cea mai inteligentă, deoarece permite toate ca modurile de securitate şi
capacitățile IPsec să fie furnizate la fel de uşor ca şi la IP‐ul obişnuit. Nu sunt necesare
echipamente hardware sau straturi de arhitectură suplimentare. IPv6 a fost proiectat pentru a
sprijini IPSec, făcând din aceasta o opțiune viabilă pentru gazde sau routere. Cu IPv4,
integrarea ar necesita efectuarea de modificări la punerea în aplicare de IP pe fiecare
echipament ceea ce este adesea imposibil.

ARHITECTURA “BUMP IN THE STACK” (BITS)


În această tehnică, IPSec este un strat separat arhitectural între IP şi stratul căii de
comunicare a datelor; numele se referă la faptul că IPSec este un element suplimentar în setul
de protocoale de rețea, după cum puteți vedea în figura de mai jos. IPSec interceptează
datagramele IP pe măsură ce acestea sunt transmise în jos în setul de protocoale,le procesează
pentru a asigura securitatea, şi apoi le trece prin layerul de transmisie al datelor. Avantajul
acestei tehnici este că IPSec poate fi "re‐echipat" la orice echipament IP, din moment ce
funcționalitatea IPSec este separată de IP. Dezavantajul este că nu există suprapunerea
eforturilor în comparație cu arhitectura integrată. BITS este folosit în general pentru gazde
IPv4.[3]
În acest tip de implementare a lui IPSec, IPSec devine un nivel separat în setul
TCP/IP. Este implementat ca software ce se află sub IP şi adaugă protecție de securitate la
datagramele create de nivelul IP‐ului.

ARHITECTURA “BUMP IN THE WIRE” (BITW)

În această metodă se adăuga un echipament hardware care oferă servicii de IPsec.


Aceste echipamente vor intercepta datagramele ce ies şi le adaugă protecție IPSec şi
segmentează datagramele primite.

În această arhitectură IPSec, IPSec este de fapt implementat în echipamente separate


care se află între echipamentele ce vor să comunice în siguranță. Această recondiționare
îndepărtează siguranța datagramelor IP pentru transport pe Internet. La fel cum BITS permite
să adăugați IPSec la gazde, BITW poate "re‐echipa" routerele non‐IPSec pentru a oferi
beneficii de securitate. Dezavantajele sunt complexitatea şi costurile de implementare
Cel mai bun model de implementat este arhitectura integrată, unde IPSec este
înglobat în nivelul IP al echipamentului direct. Celelalte două,“Bump In The Stack” (BITS)
şi “Bump In The Wire”(BITW), sunt moduri de stratificare a IPSec sub IP obişnuit, folosind
soluții software şi respectiv hardware.[3]

COMPARAȚIE ÎNTRE BITS ŞI BITW

De altfel, chiar dacă BITS şi BITW par a fi destul de diferite, ele sunt într‐adevăr
moduri diferite de a face acelaşi lucru. În cazul BITS vom adăuga un nivel suplimentar de
software care adaugă securitate datagramelor IP existente; la BITW aceeaşi treabă se face
prin dispozitive hardware distincte. În ambele cazuri, rezultatul este acelaşi, iar implicațiile
privind alegerea modului IPSec sunt de asemenea la fel.
5.Modurile IPSec- Modul Tunel si Modul Transport

Implementarea celor trei arhitecturi diferite poate fi utilizată pentru a oferi facilități
IPSec la rețelele TC /IP. Alegerea pe care o punem în aplicare, precum şi dacă implementăm
la gazdele finale sau routere, are impact asupra modului specific în care IPSec funcționează.
Două moduri specifice de funcționare sunt definite pentru IPSec, ce sunt legate de aceste
arhitecturi, numite mod transport şi de mod tunelat.
Modurile IPSec sunt strâns legate de funcția celor două protocoale de bază, Authentication
Header (AH) şi Encapsulating Security Payload (ESP). Ambele protocoale oferă o protecție
prin adăugarea la o datagramă a unui antet (şi, eventual, alte câmpuri), care conțin informații
de securitate. Alegerea modului nu afectează metoda prin care fiecare se generează antetul
său, ci mai degrabă, modifică ce părți specifice ale datagramei IP sunt protejate şi modul în
care antetele sunt aranjate pentru a realiza acest lucru, descrie modul în care AH sau ESP
funcționează. Este folosit ca bază pentru definirea altor concepte, cum ar fi asociațiile de
Securitate security associations (SAs).

MODUL TRANSPORT
După cum sugerează şi numele, în modul de transport, protocolul protejează mesajul
transmis la IP din layerul de transport. Mesajul este prelucrat de către AH / ESP si antetul
(antetele) corespunzător (corespunzătoare) se adaugă, în fața antetului transportului (UDP
sau TCP). Headerul IP este adăugat înainte prin IP. În mod normal, nivelul de transport
asamblează datele pentru transmitere şi le trimite la destinatie. Din perspectiva IP‐ului, acest
mesaj pe niveluri pentru transport este sarcină utilă a datagramei IP. Când IPSec este utilizat
în modul de transport, antetul IPSec este aplicat numai la această sarcină a IP‐ului, nu la
header‐ul IP. Antetele AH şi / sau ESP apar între original, antetul unic IP şi sarcina utilă
(datele ce sunt transmise) IP. Acest lucru este ilustrat în figura de mai jos. Când IPSec
operează în modul transport, este integrat în IP şi folosit pentru transportul mesajului direct la
nivelul superior (TCP/UDP). După prelucrare, datagrama are numai un header IP care conține
header‐ele AH şi/sau ESP IPSec.[4]
MODUL TUNELAT

În acest mod, IPSec este folosit pentru a proteja o datagramă IP complet încapsulată
după ce header‐ul IP a fost deja aplicat la acesta. Anteturile IPSec apar în fața headerului
original IP, şi apoi se adaugă un nou antet IP în fața headerului IPsec. Adică, întreaga
datagramă inițială IP este protejată şi apoi încapsulată într‐o altă datagramă IP. Modul tunel
al lui IPSec este numit astfel deoarece reprezintă o încapsulare a unei datagrame complete IP,
formând un tunel virtual între echipamentele adecvate ale lui IPSec. Datagrama IP este
transmisă la IPSec, unde se creează un nou header IP cu hederele AH şi/sau ESP IPSec
adăugate.[5]

COMPARAREA MODURILOR TRANSPORT ŞI TUNEL

Modul tunel protejează datagrama originală IP ca un întreg, în timp ce modul


transport nu. Astfel, în termeni generali, ordinea antetelor este după cum urmează:
o Modul transport: header IP, headere IPSec (AH şi/sau ESP), sarcina utilă IP
(inclusive headerul de transport).
o Modul tunel: Header nou IP, headere IPSec (AH şi/sau ESP), header vechi IP, IP
sarcina utilă. Încă odată, aceasta este o privire de ansamblu simplificată a modului în care
datagramele IPSec sunt construite, realitatea este cu mult mai complexă. Modul exact în care
sunt aranjate header‐ele într‐o datagramă IPSec în ambele moduri ‐ transport şi tunel ‐
depinde de ce versiune de IP este utilizată; IPv6 foloseşte header‐e extensie care trebuie
aranjate într‐un mod special atunci când IPSec este utilizat. Plasarea antetului depinde de
asemenea de protocolul IPSec utilizat: AH sau ESP. Este, de asemenea, posibil să se aplice
atât AH cât şi ESP pentru aceeaşi datagramă; în acest caz, header‐ul AH apare întotdeauna
înaintea header‐ului ESP. Există deci trei variabile şi opt combinații de bază ale modului
(tunel sau transport), versiunea de IP (IPv4 sau IPv6) şi Protocolul (AH sau ESP). ESP
include de asemenea o “remorcă” ESP, care pleacă cu datele protejate. Se poate spune în ce
fel cele două moduri sunt legate de alegerea arhitecturii IPSec de la subiectul precedent.
Modul transport impune ca IPSec să fie integrat în IP, pentru că AH / ESP trebuie să fie
aplicate. Aceasta este adesea alegerea pentru implementări care necesită securitate end‐to‐end
cu gazde care rulează direct IPSec. Modul tunel reprezintă o încapsulare IP cu combinația de
IP + IPsec. Astfel, aceasta corespunde cu implementarea BITS şi BITW, unde IPSec se aplică
după ce IP a procesat mesajele nivelului superior şi a adăugat deja antetul său. Modul tunel
este o alegere obişnuită pentru implementarea VPN, care se bazează pe tunelarea
datagramelor IP prin intermediul unei rețele nesecurizate, cum ar fi Internetul.
IPSec are două moduri de bază de operare. În modul transport, header‐ele IPSec
AHşi /sau ESP sunt adăugate când datagrama originală IP este creată; acest mod este
asociat cu arhitecturile integrate IPSec. În modul tunel, datagrama originală IP este
creată normal, apoi întreaga datagramă is încapsulată într‐o nouă datagramă IP
conținând header‐ele AH/ESP IPSec. Acest mod este de obicei folosit la implementările
“Bump In The Stack” şi “Bump In The Wire”.[6]

6.Protocolul Authentication Header


HEADER DE IDENTIFICARE (AUTHENTICATION HEADER ‐ AH)
IPSEC

Unul dintre cele două protocoale de securitate de bază în IPSec este Antetul /Header‐
ul de autentificare (AH). Acesta este un protocol care asigură autentificarea fie pentru tot sau
pentru o parte din conținutul unei datagrame prin adăugarea unui antet care este calculat pe
baza valorilor din datagramă. Ce părți ale datagramei sunt utilizate pentru calcul, precum şi
plasarea headerului, depinde de mod (tunel sau transport), precum şi de versiunea de IP
(IPv4 sau IPv6). Funcționarea protocolului AH este simplă. Aceasta poate fi considerată
similară cu algoritmii utilizați pentru calcularea sumelor de control sau pentru efectuarea
controalelor CRC pentru detectarea erorilor. În aceste cazuri, un algoritm standard este folosit
de către expeditor pentru a calcula o sumă de control sau un cod CRC pe baza conținutului
unui mesaj. Acest rezultat calculate este transmis împreună cu datele originale la destinație,
care repetă calcularea şi elimina mesajul în cazul în care se găseşte o discrepanță între
calculul său şi cel efectuat de către sursă. Aceasta este aceeaşi idee din spatele AH, cu
excepția faptului că în loc de a folosi un algoritm simplu cunoscut de toată lumea, se
foloseste un algoritm special într‐o nouă formă şi o cheie cunoscută doar sursei şi destinației.
O asociație de securitate între cele două echipamente este configurată şi specifică aceste
detalii, astfel încât doar sursa şi destinația ştiu cum să efectueze calculul. La echipamentul
sursă, AH efectuează calculul şi pune rezultatul (numit Valoare de verificare a integritatii-
Integrity Check Value – ICV) într‐un header special cu alte câmpuri pentru transmisie.
Echipamentul de destinație face aceleaşi calcule ‐ utilizând cheia pe care cele
două dispozitive o împart - fapt care îi permite să vadă imediat dacă oricare dintre câmpurile
din datagrama originală au fost modificate (fie din cauza unei erori sau din rea voință).
Este important de subliniat în mod explicit că, la fel cum o sumă de control nu schimbă datele
originale, nici nu calculul ICV nu schimba datele originale. Prezența headerului AH ne
permite să verificăm integritatea mesajului, dar nu‐l criptează. Astfel, AH asigură
autentificarea dar nu confidenţialitatea.[5]

AMPLASAREA ŞI CONECTAREA HEADERULUI DE AUTENTIFICARE AL


DATAGRAMEI

Calcularea headerului de autentificare este similară atât pentru IPv4 cât şi pentru IPv6. O
diferență este în mecanismul exact utilizat pentru introducerea în datagramă a headerului şi
pentru conectarea headerelor împreună.

AMPLASAREA ŞI CONECTAREA HEADERULUI DE AUTENTIFICARE PENTRU IPV4

Într‐o datagramă IPv4, câmpul Protocol indică identitatea Protocolului din nivelul
superior (de obicei TCP sau UDP), transportat în datagramă. Ca atare, acest câmp "indică"
header‐ul următor, care se află la partea din față a sarcinii utile IP. AH ia această valoare şi o
pune în câmpul headerului său următor, apoi amplasează valoarea de protocol pentru AH în
sine (51 zecimal) în câmpul protocol IP. Acest lucru face ca header‐ul IP "să trimită" la AH,
care apoi "trimite" la indiferent ce datagrama header‐ul IP trimitea inițial. In modul transport,
headerul de autentificare se adaugă după headerul principal al IP al datagramei originale; în
modul tunel se adaugă după noul header IP care încapsulează datagrama originală ce este
tunelată.[7]

FORMATUL DATAGRAMEI IPV4 CU HEADERUL DE AUTENTIFICARE (AH) IPSEC


În modul transport, headerul de autentificare este adăugat între headerul IP şi datele IP;
câmpul Protocol al headerului IP header indicându‐l, în timp ce câmpul său Header Următor
conține valoarea de protocol anterioară a headerului IP (în acest caz 6, pentru TCP.) În modul
tunel, datagrama IPv4 este încapsulată într‐o nouă datagramă IPv4 care conține that headerul
de autentificare. In modul tunel, este folosita de către headerul de autentificare valorea 4 (
IPv4) in câmpul Header Următor.

Protocolul headerului de autentificare (AH) permite recipientului unei datagrame


să‐i verifice autenticitatea. Este implementat ca un header adăugat unei datagrame IP
ce conține o valoare de verificare a integrității calculată pe baza valorilor câmpurilor
din datagramă. Această valoare poate fi folosită de recipient pentru a se asigura că
datele nu au fost modificate în timpul tranzitului. Headerul de autentificare nu
încriptează datele şi astfel nu asigură confidențialitatea transmisiei.[3]

FORMATUL HEADERULUI DE AUTENTIFICARE

Dimensiunea câmpului de autentificare a datelor este variabilă pentru a sprijini diferite


lungimi de datagrame şi algoritmi de verificare (hashing algorithms). Lungimea totală a
acestuia trebuie să fie un multiplu de 32 de biți. De asemenea, întregul header trebuie să fie
un multiplu de fie 32 de biți (pentru IPv4) sau 64 biți (pentru IPv6), astfel încât umplerea
spațiului neutilizat suplimentar (padding) să poată fi adăugat la câmpul datelor de
autentificare dacă este necesar. Nici o adresă IP nu apare în header, condiție necesară pentru
compatibilitate între IPv4 şi IPv6.
FORMATUL HEADERULUI DE AUTENTIFICARE (AH) IPSEC[5]

7.ENCAPSULATING SECURITY PAYLOAD


IPSEC ENCAPSULATING SECURITY PAYLOAD (ESP)

Headerul de autentificare Authentication Header (AH) IPSec asigură servicii de autentificare


a integrității echipamentelor IPSec, astfel încât acestea să poată verifica dacă mesajele sunt
primite intact de la celelalte echipamente. Se doreste protectie nu numai împotriva
echipamentelor intermediare ce modifică datagramele , ci se doreste si protejarea continutului
acestora. Pentru acest nivel de comunicații confidențiale. AH nu este suficient, ci este
nevoie de protocolul Encapsulating Security Payload (ESP). Sarcina principală a ESP este
de a asigura confidențialitatea necesara pentru datagramele IP. Un algoritm de criptare
combină datele în datagramă cu o cheie pentru a o transforma într‐o formă încriptată. Aceasta
este apoi re‐combinată (repackaged) folosind un format special, şi transmisă la destinație,
unde se decriptează folosind acelaşi algoritm. ESP sprijină de asemenea propria sa schemă de
autentificare ca cea folosită în AH, sau care poate fi folosită împreună cu AH.[8]

CÂMPURILE ENCAPSULATING SECURITY PAYLOAD

ESP are câteva câmpuri care sunt aceleaşi cu cele folosite în AH, dar îşi impacheteaza
câmpurile într‐un mod total diferit. În loc de a avea numai un header, îşi împarte câmpurile în
trei componente:
o Header ESP: Acesta conține două câmpuri, SPI şi Sequence Number, şi este înaintea
datelor încriptate. Amplasarea sa depinde dacă ESP este folosit în modul transport sau în
modul tunel.
o Trailerul ESP: Această secțiune este amplasată după datele criptate. Ea conține umplerea
spațiului neutilizat (padding) ce este folosită pentru alinierea datelor încriptate, printr‐un
câmp Padding şi Pad Length. Ea cuprinde de asemenea câmpul Headerul Următor (Next
Header) pentru ESP.
o Datele de autentificare ESP: Acest câmp conține o valoare de verificare a integrității
(Integrity Check Value – ICV), calculată în mod similar modului în care operează protocolul
AH, pentru cazul în care se foloseşte caracteristica de autentificare opțională a ESP.
Există două motive pentru care aceste câmpuri sunt împărțite în bucăți. Primul motiv este
faptul că unii algoritmi de criptare necesită ca datele să fie criptate pentru a avea o anumită
dimensiune a blocurilor şi astfel umplerea spațiului neutilizat (padding) trebuie să apară după
blocul de date utile şi nu înaintea lor. De aceea, umplerea spațiului neutilizat (padding) apare
în ESP Trailer. Al doilea motiv este faptul că datele de autentificare ESP ( ESP
Authentication Data) apar separate deoarece sunt folosite pentru a autentifica restul
datagramei criptate după criptare. Aceasta înseamnă că nu pot apare în Headerul ESP sau în
Trailerul ESP.[7]

OPERAȚII ŞI FOLOSIREA CÂMPURILOR ENCAPSULATING SECURITY PAYLOAD

1. CALCULAREA ŞI AMPLASAREA HEADERULUI

Primul lucru ce trebuie luat în considerare este modul în care este amplasat headerul ESP;
aceasta este similar cu modul în care operează AH.
• IPv4: Ca şi cu AH, Headerul ESP este amplasat după headerul normal IPv4. În modul
transport, el apare după headerul original IP; în modul tunelat, după headerul IP al noii
datagrame ce încapsulează originalul.

FORMATUL DATAGRAMEI IPV4 CU IPSEC ENCAPSULATING SECURITY PAYLOAD (ESP)


Când această datagramă este procesată de esp în modul transport, headerul esp este amplasat
între headerul IPv4 şi date, cu trailerul esp şi datele de autentificare esp (esp authentication
data) urmând. În modul tunel, întreaga datagramă originală IPv4 este înconjurată de aceste
componente esp, față de numai datele IPv4. Gradul de acoperire de criptare şi autentificarea,
precum şi modul în care câmpul headerului următor (next header) “indică în spate” specifica
identitatea datagramei/datelor încriptate.[7]

2. CALCULAREA ŞI AMPLASAREA TRAILERULUI

Trailerul ESP este anexat la datele ce se încriptează. ESP apoi realizează criptarea. Sarcina
utilă (payload) (mesaj TCP/UDP sau datagramă IP încapsulată) şi trailerul ESP sunt
încriptate amândouă, dar Headerul ESP nu este. Orice alte headere IP care apar între headerul
ESP şi sarcina utilă (payload) sunt de asemenea încriptate.
Normal, câmpul Next Header ar aparea în headerul ESP şi ar fi folosit pentru a conecta
headerul ESP cu headerul care îl urmează. Câmpul Next Header în ESP apare în trailer.
Totuşi, în ESP câmpul Next Header apare după datele încriptate, şi astfel “indică în spate” la
unul din următoarele: un header extensie al Destination Options (dacă există), un header
TCP/UDP (în modul transport) sau un header IPv4/IPv6 (în modul tunnel).

3. CALCULAREA ŞI AMPLASAREA CÂMPULUI DE AUTENTIFICARE ESP


Dacă trăsătura de autentificare ESP opțională este folosită, câmpul de autentificare este
calculat pe întreaga datagramă ESP (cu excepția câmpului Authentication Data, desigur).
Aceasta include headerul ESP, payload şi trailerul.

Protocolul IPSec Encapsulating Security Payload permite conținutului unei


datagrame să fie încriptat, pentru a se asigura că numai recipientul avut în vedere poate
vedea datele. Este implementat folosind trei componente: un ESP Header adăugat în
fața unei datagrame protejate, un ESP Trailer care urmează datele protejate, şi un
câmp opționalal ESP Authentication Data care asigură servicii de autentificare similare
cu cele oferite de headerul de autentificare Authentication Header (AH).[8]
FORMATUL ENCAPSULATING SECURITY PAYLOAD
MECANISMUL IPSEC DE SCHIMBARE A CHEII DE CRIPTARE (IKE)

IPSec, ca multe seturi de protocoale de securizare de rețea, se bazează pe conceptul de


“shared secret” – secret partajat. Două echipamente ce vor să transmită securizat informații,
le criptează şi decriptează folosind o informație pe care numai ele o ştiu. Cei care nu sunt
“avizați” asupra secretului pot intercepta informația dar sunt împiedicați fie să o citească
(dacă ESP este folosit pentru a cripta payload‐ul) fie să o falsifice fără a fi detectați (dacă AH
este folosit). Totuşi, înainte de a putea folosi fie AH sau ESP, este necesar ca cele două
echipamente să schimbe între ele “secretul” pe care protocoalele de securitate îl vor folosi.
Protocolul primar suport folosit în acest scop în IPSec se numeşte Mecanismul de schimbare
a cheii de criptare pe Internet (Internet Key Exchange – IKE). IKE este definit în RFC 2409,
şi este unul din cele mai complicate protocoale ale lui IPSec.[5]

GENERALITĂȚI ŞI RELAȚII ALE LUI IKE CU CELELALTE METODE DE SCHIMBARE A CHEII


DE CRIPTARE

Scopul IKE este să permită echipamentelor să schimbe informațiile necesare pentru o


comunicare securizată. Aceasta include chei criptografice folosite pentru a coda informațiile
de autentificare şi pentru a realiza criptarea sarcinii utile (payload). IKE operează permițând
echipamentelor calificate să schimbe asociațiile de securitate (SA), să stocheze în bazele de
date ale asociațiilor de securitate (SAD). Acestea sunt apoi folosite pentru schimbul efectiv al
datagramelor securizate cu protocoalele AH şi ESP. IKE este considerat un protocol “hibrid”
deoarece combină şi suplimentează funcțiile celorlalte trei protocoale. Primul dintre acestea
este Internet Security Association and Key Management Protocol (ISAKMP). Acest protocol
asigură un cadru pentru schimbarea cheilor de criptare şi a informațiilor privind asociațiile de
securitate. El operează permițând asociațiilor de securitate să fie negociate printr‐o serie de
faze. ISAKMP este un protocol generic care oferă suportul multor metode diferite de
schimbare a cheilor de criptare. În IKE, cadrul ISAKMP este folosit ca bază pentru o metodă
specifică de schimbare a cheilor de criptare care combină elemente de la două protocoale de
schimbare a cheilor de criptare:
o OAKLEY: Descrie un mecanism specific pentru schimbarea cheilor de criptare prin
definirea diferitelor “moduri” de schimbare a cheilor de criptare. Majoritatea proceselor IKE
de schimbarea cheilor de criptare se bazează pe OAKLEY.
o SKEME: Descrie un mecanism de schimbare a cheilor de criptare diferit față de OAKLEY.
IKE foloseşte unele elemente din SKEME, inclusiv metoda sa de criptare cu cheie publică
precum şi caracteristica sa rapidă de re‐criptare.[5]

OPERAREA IKE

IKE nu implementează în mod strict nici OAKLEY nici SKEME dar ia bucăți din
fiecare pentru a‐şi forma propria sa metodă de folosire a ISAKMP. Deoarece IKE
funcționează în cadrul ISAKMP, funcționarea sa se bazează pe procesele de negociere pe
etape ale lui ISAKMP. Sunt două faze:
o ISAKMP Faza 1: este cea de “setup” – organizare când două echipamente convin asupra
modului în care vor schimba informații în mod securizat. Această negociere între cele două
echipamente creează o asociație de securitate chiar pentru ISAKMP ‐ o ISAKMP SA. Această
asociație de securitate este apoi folosită pentru a schimba în mod securizat mai multe
informații detaliate în Faza a 2‐a.
o ISAKMP Faza 2: În această etapă ISAKMP SA stabilită în Faza 1 este folosită pentru a
crea asociații de securitate pentru alte protocoale de securitate. Normal, atunci vor fi
negociați parametrii pentru asociațiile de securitate “reale” pentru protocoalele AH şi ESP.
Justificarea faptului ca negocierea se face in doua etape este aceea că, chiar dacă etapa
suplimentară adaugă overhead (folosirea resurselor computerului pentru a realiza o trăsătură
specifică: o funcție opțională sau o intensificare a unei aplicații existente), negocierile
multiple ale Fazei 2 pot fi realizate după o Fază 1, care amortizează “costurile” suplimentare
ale abordării în două etape. Este de asemenea posibil să se utilizeze o metodă de schimb mai
simplă pentru Faza 2 de îndată ce asociațiile de securitate ISAKMP au fost stabilite în Faza 1.
Asociațiile de securitate ISAKMP negociate în timpul Fazei 1 includ negocierea următoarelor
atribute folosite pentru negocierile ulterioare:
o Un algoritm de criptare ce va fi folosit, cum ar fi Standardul de criptare a datelor (Data
Encryption Standard – DES).
o Un algoritm de verificare (hash algorithm) (MD5 or SHA, aşa cum foloseşte AH sau ESP).
o O metodă de autentificare, cum ar fi autentificarea folosind chei de criptare folosite în
comun anterior.
o Un grup DiffieHellman.
Diffie şi Hellman au fost doi pionieri ai industriei care au inventat criptografia cu chei
publice de criptare. În această metodă, în loc de criptarea şi decriptarea cu aceeaşi cheie,
datele sunt criptate folosind o cheie publică cunoscută tuturor, iar decriptarea folosind o cheie
privată care este ținută secretă. Un grup Diffie‐Hellman defineşte atributele modului în care
să se realizeze acest tip de criptare. Patru grupuri predefinite derivate din OAKLEY sunt
specificate în IKE şi se permite de asemenea definirea de noi grupuri. Deşi asociațiile de
securitate sunt unidirecționale în general, ISAKMP SA este bidirecțională. De îndată ce se
termină Faza 1, oricare echipament poate stabili o asociație de securitate ulterioară pentru AH
sau ESP. Oakley furnizează trei moduri de schimb al cheilor şi de stabilire a AS‐urilor –
două pentru schimburile din faza întâi ISAKMP şi unul pentru schimburile din faza a doua.
• Modul principal este folosit în prima fază a protocolului ISAKMP pentru stabilirea unui
canal protejat.
• Modul agresiv este o altă cale de realizare a schimburilor din prima fază a protocolului
ISAKMP/Oakley – el este ceva mai simplu şi mai rapid decât modul principal şi nu asigură
protecția identității pentru nodurile care negociază, pentru că ele trebuie să‐şi transmită
identitățile înainte de a fi negociat un canal protejat.
• Modul rapid este folosit în faza a doua a protocolului ISAKMP la negocierea unui AS
general pentru cumunicație.
De fapt, ISAKMP/Oakley mai are încă un mod de lucru, denumit modul grupului nou (new
group mode), care nu se integrează în nici una din cele două faze şi care este folosit în
negocierea parametrilor pentru schema Diffie‐Hellman.[8]
Concluzii
IPSec este o extensie a protocolului IP, care aduce nivelele de securitate avansate
protocoluluiTCP/IP. Cu IPSec, nimeni cu exceptia celui cu care se realizează conexiunea de
VPN nu poate citi şi interpreta datele care se transmit între cele două puncte ale conexiunii.
Astăzi, fiind cel mai sigur protocol de VPN, IPSec este implementat în routerele proprii de
firme producătoare ca Cisco, Allied Telesyn, Nortel, Nokia, Bay Networks, Ericsson, etc.
IPSec se constituie din două părți majore: partea de management a cheilor de criptare
(IKE/ISAKMP) şi partea de criptare efectivă (ESP). Criptarea este facută de cei mai puternici
algoritmi şi anume Triple DES (3DES) sau AES. 3DES are un număr de chei de aproximativ
2 la puterea 112 , adică este pe 112 biți.
Un nou nivel de securitate introdus de IPSec, este schimbarea dinamică a cheilor de
criptare, astfel încât un set de chei de criptare este valid doar pentru o perioada scurta de
timp. Pentru a securiza comunicația în rețea cu IPSec între calculatoarele Windows se
folosesc o colecție de reguli, politici şi filtre pentru a permite în mod selectiv doar
comunicația pentru anumite protocoale.
Politicile de IPSec pot fi create şi aplicate cu Group Policy pentru calculatoarele din
domeniu. Pentru calculatoare care nu sunt în domeniu, de exemplu serverele bastion,
politicile pot fi aplicate cu script‐uri în linie de comandă.
Una dintre regulile de bază pentru securizarea traficului cu IPSec este crearea unei
hărți a traficului în rețea ce include traficul care trebuie permis sau blocat, punctele sursă
destinație şi informațiile despre protocoalele folosite, creîndu‐se filtre care corespund
traficului de rețea identificat anterior.
Rețelele VPN care folosesc IPSec au conexiuni bazate pe chei publice şi private
criptate. Când un mesaj este transmis de la un utilizator la altul, este în mod automat criptat
cu cheia privată a utilizatorului care expediază. Destinatarul utilizează cheia publică a celui
care a trimis pentru a decripta mesajul. Avantajele utilizării IPSec sunt obținerea
confidențialității, integrității şi autentificării în transportul datelor de‐a lungul canalelor de
comunicație nesigure.
Deşi scopul inițial a fost securizarea traficului pe rețele publice, este adesea utilizat pentru a
mări securitatea rețelelor private. Dacă este implementat corespunzător, IPSec oferă un canal
privat pentru a trimite si primi date vulnerabile, indiferent dacă aceste informații sunt email‐
uri, se încadrează în categoria ftp traffic, ştiri sau orice alt tip de date.
Bibliografie

[1] Kozierok, C. M. (September 20, 2005). IPSec Authentication Header (AH).


http://www.tcpipguide.com/free/t_IPSecAuthenticationHeaderAH.htm

[2] Network Sorcery Inc. (fără an). RFC


Sourcebookhttp://www.networksorcery.com/enp/default1004.htm

[3] The Internet Engineering Task Force. (fără an). Request for Comments (RFC).
: http://www.ietf.org/rfc.html

[4] World Wide Web Consortium. HTTP Hypertext Transfer Protocol.


http://www.w3.org/Protocols/rfc2616/rfc2616‐ sec14.html

[5] Guide to IPSec VPN - Sheila Frankel, Karen Kent, Ryan Lewkowski, Angela D.
Orebaugh, Ronald W. Ritchey, Steven R. Sharma; editura NIST

[6] IPSec VPN Design - Vijay Bollapragada, Mohamed Khalid, Scott Wainner; editura
Cisco Press

[7] Implementation-of-the-IPSec-Protocol-in-Microsoft-Windows-2003-XP-Environment-
Paul Szymanski MCSE

[8] https://technet.microsoft.com/en-us/library/cc759130(v=ws.10).aspx

S-ar putea să vă placă și