Sunteți pe pagina 1din 12

IPSecurity

1. Introducere

2. IP Security

CerinŃe de securitate la nivelul IP

AplicaŃii ale IP Security

Caracteristici ale utilizării IP Security

Servicii IP Security

Arhitectura IP Security

Moduri de utilizare a IP Security

Protocolul AH: Authentication Header

Protocolul ESP: Encapsulating Security Payload


1. Introducere

În sens larg, securitatea informaŃiei presupune asigurarea calităŃii datelor. Următoarele


trei cerinŃe sunt considerate fundamentale:
- ConfidenŃialitatea: siguranŃa că datele nu sunt cunoscute de entităŃi neautorizate
- Integritatea: siguranŃa ca datele sunt în forma originală
- Disponibilitatea: siguranŃa că datele sunt uşor accesibile.

ComunicaŃia în reŃele deschise este foarte ieftină, însă prezintă posibilitatea interceptării,
modificării, injectării de date de către un adversar. Datele stocate pe calculatoare legate în
reŃea sunt supuse aceloraşi ameninŃări.
Atunci când se consideră serviciile de securizare a informaŃiei asigurate de criptografie,
confidenŃialitatea şi integritatea sunt divizate în cinci servicii:

- ConfidenŃialitatea datelor: certitudinea că datele sunt neinteligibile pentru o


entitate neautorizată
- Autentificarea originii datelor: certitudinea că datele provin de la entitatea
specificată ca origine
- Integritatea datelor: certitudinea că datele nu au fost modificate de o entitate
neautorizată
- Autentificarea entităŃilor :certitudinea că o entitate este implicată într-o
comunicare în timp real cu o anume entitate
- Non-repudiabilitatea: certitudinea că o entitate nu poate nega generarea datelor.

AplicaŃiile în reŃea au impus asigurarea autenticităŃii mesajelor şi identificarea corectă a


utilizatorilor ca cerinŃe care depăşesc de multe ori ca importanŃă secretul comunicaŃiei.
Trebuie remarcată diferenŃa dintre autentificarea originii datelor şi autentificarea entităŃilor:
autentificarea entităŃilor include certitudinea asupra generării datelor în timp real şi exclude
posibilitatea comunicării cu un adversar care repetă date generate de sursa autentificată.

2. IP Security

CerinŃe de securitate la nivelul IP

O modalitate curentă de a asigura securitatea aplicaŃiilor care folosesc stiva de


protocoale TCP/IP o reprezintă dezvoltarea de mecanisme de securitate specifice pentru
diferite domenii de aplicaŃie: e-mail (S/MIME, PGP), client/server(Kerberos), accesul la Web
(SSL, TSL). Există însă anumite probleme de securitate care pot fi implementate în cadrul
stivei de protocoale TCP/IP: interzicerea legăturilor cu site-urile potenŃial nesigure, criptarea
pachetelor emise şi autentificarea pachetelor primite. Prin implementarea politicii de
securitate la nivelul protocolului IP, se poate asigura securitatea comunicaŃiei şi pentru
aplicaŃii care nu au mecanisme proprii de securitate.
Securitatea la nivelul IP cuprinde trei zone funcŃionale:

2
- autentificarea
- confidenŃialitatea
- managementul cheilor criptografice

Mecanismul de autentificare certifică transmiterea efectivă a unui pachet de către


entitatea indicată ca sursă în header-ul pachetului şi, în plus, faptul ca pachetul nu a fost
modificat în timpul tranzitului. FacilităŃile de criptare/decriptare a mesajelor în nodul
sursă/destinaŃie asigură confidenŃialitatea comunicaŃiei, iar facilităŃile privind managementul
cheilor criptografice asigură securitatea schimbului de chei.
Raportul ”Securitatea in arhitectura Internetului” (IAB-Internet Architecture Board -
1994) a stabilit necesitatea implementării unor mecanisme de securitate pentru Internet şi a
indicat ca priorităŃi pentru noile mecanisme de securitate împiedicarea monitorizării şi
controlului fără autorizare a traficului în reŃele şi securizarea traficului utilizator-utilizator
prin implementarea de mecanisme de autentificare şi criptare. Rapoartele anuale ale CERT
(Computer Emergency Response Team) indică ca principale tipuri de atac ”IP spoofing”, atac
în care intrusul creează pachete IP cu adrese IP false şi exploatează utilizarea de către aplicaŃii
a adreselor IP pentru autentificare, şi diferite forme de atacuri (”packet sniffing”) în care
intrusul citeşte informaŃiile transmise. IAB a inclus autentificarea şi criptarea ca mecanisme
obligatorii pentru următoarea variantă de protocol IPv6; implementarea facilităŃilor de
securitate pentru IP, cunoscută ca IPSecurity s-a făcut astfel încât să fie compatibilă atât cu
varianta actuală IPv4, cât şi cu varianta viitoare Ipv6.

AplicaŃii al IP Security

IPSec asigură posibilitate unei comunicaŃii sigure în reŃele locale (LAN), reŃele de arie
largă (WAN), private sau publice, şi în Internet; exemple:

- VPN reŃea virtuală privată bazată pe Internet; se evită necesitatea realizării şi


gestionarii unei reŃele private de arie largă.
- Acces la distanŃă prin Internet; un utilizator final al cărui sistem pe al cărui
sistem este implementat protocolul IPSec poate apela la un furnizor de Internet
(ISP) şi obŃine accesul securizat la o reŃea privată
- ÎmbunătăŃirea securităŃii aplicaŃiilor care au mecanisme de securitate incluse.

Principala caracteristică a IPSec care îi permite să asigure aceste aplicaŃii variate este
faptul că întregul trafic, la nivel IP, poate utiliza mecanismele de criptare şi/sau autentificare.
Astfel toate aplicaŃiile distribuite: client/server, e-mail, transfer de fişiere, acces Web, remote
logon pot fi securizate.
Modul tipic de utilizare a IPSec în cazul unei organizaŃii cu reŃele locale aflate în
diferite locaŃii presupune că traficul intern reŃelelor locale nu este securizat în timp ce
traficul între reŃelele locale utilizează IPSec pentru asigurarea securităŃii. Acest protocol este
implementat în echipamentele de reŃea care conectează reŃele locale la reŃeaua de arie largă,
de exemplu rutere sau firewall-uri. OperaŃiile de criptare/decriptare şi autentificare executate
de echipamentele cu IPSec sunt transparente pentru staŃiile de lucru şi serverele din reŃelele
locale. Utilizatorii individuali, conectaŃi direct la WAN, pot utiliza aceleaşi facilităŃi cu
condiŃia implementării IPSec pe staŃia de lucru.

3
Caracteristici ale utilizării IP Security

- Dacă IPSec este implementat într-un firewall sau un ruter, asigură securizarea
pentru toate staŃiile de lucru din reŃeaua locala, fără ca traficul local să fie afectat
de mecanismele de securitate.
- IPSec implementat într-un firewall este eficient dacă tot traficul dinspre exterior
utilizează IP şi firewall-ul este singurul punct de intrare dinspre Internet în
reŃeaua locală
- IPSec este sub nivelul de transport (TCP, UDP) astfel încât este transparent
pentru aplicaŃii; software-ul de aplicaŃie nu trebuie modificat, indiferent dacă
IPSec este implementat în ruter/firewall sau în staŃia de lucru.
- IPSec este transparent pentru utilizatorii finali; nu este necesară cunoaşterea de
către utilizatori a mecanismelor de securitate.
- IPSec poate asigura securitatea pentru utilizatori individuali care lucrează în
afara sediului unei organizaŃii
- IPSec permite implementarea unei subreŃele virtuale securizate dedicată
anumitor aplicaŃii în cadrul unei organizaŃii.

IPSec poate avea un rol vital în elaborarea unei arhitecturi de rutare necesară
interconectării reŃelelor; exemple de utilizare:

- asigurarea că un mesaj de avertizare a prezenŃei unui nou ruter în reŃea provine


de la un ruter autorizat.
- asigurarea că un mesaj de stabilire sau menŃinere a legăturii dintre două rutere
provine de la un ruter autorizat.
- asigurarea că un mesaj redirecŃionat provine de la ruterul către care pachetul
iniŃial a fost trimis.
- informaŃia de actualizarea a unui ruter este autentică.

Fară astfel de măsuri de securitate un adversar poate perturba traficul; protocoale de


rutare trebuie rulate pe baza asociaŃiilor de securitate definite de IPSec.

Servicii IP Security
AH ESP ESP
(criptare) (criptare şi autentif.)
Controlul accesului X X X
Autentificarea originii datelor X - X
Rejectarea pachetelor duplicate X X X
ConfidenŃialitate - X X
ConfidenŃialitate limitată asupra traficului - X X

IPSec permite selectarea protocoalelor de securitate şi a algoritmilor, precum şi


stabilirea cheilor criptografice necesare asigurării serviciilor de securitate cerute la nivelul IP.
Două protocoale sunt folosite pentru asigurarea securităŃii: un protocol de autentificare
denumit după header-ul protocolului, AH –Authentication Header şi un protocol pentru

4
criptare/autentificare denumit după formatul pachetului pentru acest protocol ESP -
Encapsulating Security Payload.

Arhitectura IP Security

Documentele care definesc arhitectura IP Security sunt complexe, unele în faza de


propuneri. In 1995 IETF a publicat primul set de propuneri de standard pentru IPSec:
RFC1825-RC1829. Implementarea acestor RFC este obligatorie pentru IPv6 şi opŃională
pentru IPv4. Documentele elaborate sau în curs de elaborare pentru IPSec se împart în
următoarele grupuri:
- Arhitectură: concepte generale, cerinŃe de securitate, definiŃii.
- Encapsulating Security Payload (ESP): formatul pachetului şi probleme legate de
utilizarea ESP pentru criptare şi, opŃional, pentru autentificare.
- Authentication Header (AH): formatul pachetului i probleme legate de
autentificare.
- Algoritmi de criptare: modul de utilizare a diferiŃi algoritmi de criptare cu ESP.
- Algoritmi de autentificare: modul de utilizare a diferiŃi algoritmi de autentificare
cu AH sau cu opŃiunea de autentificare ESP.
- Managementul cheilor: protocoalele de autentificare mutuală şi schimb de chei.
- Domeniul de interpretare: valori care permit corelarea documentelor, - de
exemplu identificatori pentru algoritmii de autentificare şi criptare care pot fi
folosiŃi, parametri operaŃionali – de exemplu durata de viaŃă a cheilor.

Asocieri de securitate
Un concept de bază, care apare în mecanismele IP pentru autentificare şi
confidenŃialitate, este asocierea de securitate (SA-security association). SA este o relaŃie
unidirecŃională între o sursă şi o destinaŃie care asigură servicii de securitate traficului
efectuat pe baza ei; pentru un schimb securizat bidirecŃional sunt necesare două asocieri de
securitate. Serviciile de securitate pot fi asigurate de o asociere de securitate fie pentru
utilizarea protocolului AH, fie a protocolului ESP, dar nu pentru ambele.
O asociere de securitate este definită în mod unic de trei parametri:

- Indexul parametrilor de securitate (SPI): un şir de biŃi asignat unei SA, cu


semnificaŃie locală; este inclus în header-ele AH şi ESP pentru a permite
sistemului de destinaŃie să selecteze SA pentru procesarea pachetului recepŃionat.
- Adresa de destinaŃie IP: nu sunt permise adrese multiple, este adresa punctului
de destinaŃie final al SA, care poate fi un sistem gazdă sau un sistem al reŃelei –
ruter sau firewall
- Identificatorul protocolului de securitate: indică dacă este o SA pentru
protocolul AH sau pentru protocolul ESP.

Parametrii unei SA
În orice implementare a IPSec trebuie să existe o bază de date a SA, care defineşte
parametrii asociaŃi cu fiecare SA. O asociere de securitate este în mod tipic definită de
următorii parametri:
- Sequence Number Counter: un numărătorul de 32 de biŃi pentru generarea
numărului de secvenŃă utilizat în header-ul AH sau ESP .
- Sequence Counter Overflow: un flag care indică dacă a avut loc depăşirea
numărătorului pentru numere de secvenŃă şi împiedică folosirea SA pentru
transmiterea de noi pachete.

5
- Anti-Replay Window: permite detectarea repetării pachetelor.
- AH information: algoritmi de autentificare, chei criptografice, timp de viaŃă
pentru chei, parametri legaŃi de utilizarea AH
- ESP Information: Algoritmi de criptare şi autentificare, chei criptografice,
valori de iniŃializare, parametri legaŃi de utilizarea ESP
- Lifetime of this Security Association: indică timpul după care SA trebuie
înlocuită cu o nouă SA (şi un nou SPI) sau desfiinŃată şi care din aceste acŃiuni
trebuie să aibă loc.
- IPSec Protocol Mode: indică modul tunel sau transport
- Path MTU-Maximum Transmission UNIT- :dimensiunea maximă a pachetului
care poate fi transmis fără fragmentare.

Selectori SA
Politica de securitate prin care traficul IP este corelat cu anumite SA (sau cu nici o SA
în cazul traficului care nu este controlat de IPSec) este implementată prin Security Policy
Database (SPD). Fiecare intrare în SPD este definită printr-un set de valori definite de
câmpuri ale formatului IP şi ale formatului protocolului de nivel superior protocolului IP,
numite selectori şi conŃine o SA pentru tipul respectiv de trafic. Exemple de selectori:
adresele IP pentru sursă şi destinaŃie, denumirea protocolului de transport, a protocolului
IPSec (AH/ESP), adresele porturilor sursă sau destinaŃie. Aceşti selectori sunt folosiŃi pentru a
filtra traficul, astfel încât fiecare pachet să fie procesat de o SA corespunzător politicii de
securitate implementate.

Moduri de utilizare a IP Security

Protocoalele AH şi ESP permit două moduri de utilizare:


Modul transport asigură protecŃie pentru protocoalele de nivel superior IP, de
exemplu pachete TCP, UDP, ICMP, care lucrează imediat deasupra nivelului IP în stiva de
protocoale; este folosit în mod tipic pentru comunicaŃie între două calculatoare gazdă.
Modul tunel asigură protecŃie pentru întregul pachet IP; este utilizat atunci când sursa
şi/sau destinaŃia pachetului sunt rutere securizate sau firewall-uri.

6
Tabelul de mai jos prezintă principalele caracteristici ale celor două moduri:
Mod transport Mod tunel
AH Autentifică unitatea de date IP şi, Autentifică întregul pachet
selectiv, parŃi ale header-ului IP şi original IP plus, selectiv, parŃi ale
extensiile header-ului IPv6. noului header şi extensiile noului
header IPv6.
ESP Criptează unitatea de date IP şi toate Criptează pachetul IP original
extensiile header-ului IPv6 care
urmează după header-ul ESP.
ESP cu Criptează unitatea de date IP şi toate Criptează pachetul IP original;
autentificare extensiile header-ului IPv6 care autentifică pachetul IP original.
urmează după header-ul ESP;
autentifică unitatea de date IP.

Protocolul Authentication Header

Header-ul AH asigură mecanismul pentru controlul integrităŃii şi autenticităŃii


pachetului IP. Controlul integrităŃii elimină posibilitatea modificării pachetelor în tranzit, fără
ca modificările să fie detectate. Controlul autenticităŃii permite unui calculator gazdă sau unui
echipament de reŃea să autentifice utilizatorii şi aplicaŃiile şi să filtreze traficul corespunzător;
previne de asemenea atacurile bazate pe adrese (address spoofing attack) şi atacurile prin
repetarea pachetelor (replay attack).
Authentication Header este format din următoarele câmpuri:

- Next Header: identifică tipul header-ului imediat următor AH.


- Payload length: lungimea lui AH, în cuvinte de 32 biŃi, minus 2.
- Reserved
- Security Parameters Index: identifică asocierea de securitate.
- Sequence Number: un număr utilizat pentru eliminarea duplicatelor.
- Authentication Data: conŃine ICV – Integrity Check Value sau MAC –
Message Authentication Code pentru pachet.

Authentication Header pentru IPSec

Mecanismul anti-replay

7
La stabilirea unei noi asocieri de securitate SA, sursa iniŃializează un numărător de
pachete cu valoarea zero; acesta va fi incrementat cu fiecare pachet emis şi valoarea lui va fi
scrisă în câmpul Sequence Number din AH. La atingerea valorii 232– 1 sursa trebuie să
termine SA curentă şi să negocieze o nouă SA, cu o nouă cheie.

Fereastra de recepŃie anti-replay

Deoarece IP asigură un serviciu fără conexiune, IPSec recomandă ca destinatarul să


implementeze o fereastra de recepŃie W cu valoarea implicită W=64. Limita superioară a
ferestrei este reprezentată de N numărul de secvenŃă cel mai mare recepŃionat pentru un
pachet valid, iar limita inferioară este N – W + 1. Numărul de secvenŃă al pachetelor
recepŃionate este folosit astfel:

1. Dacă pachetul este nou şi numărul lui de secvenŃă este în cadrul ferestrei, se
verifică ICV. Dacă pachetul este autentificat, poziŃia corespunzătoare din
fereastră este marcată.
2. Dacă pachetul este nou şi numărul de secvenŃă este mai mare decât limita
superioară a ferestrei, se verifică ICV. Dacă pachetul este autentificat, se
deplasează fereastra la noul număr se secvenŃă şi poziŃia corespunzătoare
pachetului este marcată.
3. Dacă pachetul are numărul de secvenŃă mai mic decât limita inferioară a
ferestrei sau dacă autentificarea eşuează, pachetul este eliminat.

ICV- Integrity Check Value


Câmpul Authentication Data din AH conŃine o valoare denumită ICV; este un cod de
autentificare a mesajului -MAC- sau o versiune trunchiată a unui cod produs cu un algoritm
MAC. Implementările IPSec trebuie să fie compatibile cu:

- HMAC-MD5-96
- HMAC-SHA-1-96

Ambele tipuri de MAC folosesc algoritmul HMAC, primul cu codul hash MD5, al
doilea cu codul hash SHA-1. În ambele cazuri valoarea HMAC rezultată din calcul este
trunchiată prin utilizarea primilor 96 biŃi, lungimea câmpului Authentication Data din AH.
MAC este calculat asupra următoarelor câmpuri:

- câmpurile din header-ul IP care nu se modifică în tranzit sau care au la destinaŃie


valori cunoscute; câmpurile care se pot schimba în tranzit şi a căror valoare la

8
destinaŃie nu poate fi prevăzută sunt considerate de valoare zero pentru calcul,
atât la sursă cât şi la destinaŃie.
- header-ul AH cu excepŃia câmpului Authentication Data care este considerat de
valoare zero, atât la sursă cât şi la destinaŃie.
- unitatea de date a protocolului de nivel superior.

Adresele sursei şi destinaŃiei sunt protejate, astfel încât se previne un atac de tipul
„address spoofing”

Formatele AH în mod transport şi în mod tunel

Pentru protocolul AH în mod transport utilizând standardul IPv4, AH este inserat după
header-ul IP original; autentificarea acoperă întregul pachet, cu excepŃia câmpurilor variabile
din header-ul IP care sunt setate zero pentru calcularea MAC. În contextul IPv6, header-ul
AH nu este examinat sau procesat de rutere intermediare, ca urmare AH este inserat după
header-ul IP original şi extensiile lui; autentificarea acoperă întregul pachet, cu excepŃia
câmpurilor variabile care sunt setate zero pentru calcularea MAC.
Pentru protocolul AH în mod tunel, întregul pachet IP original este autentificat şi AH
este inserat între noul header şi header-ul original. Header-ul intern va conŃine adresa
destinaŃiei finale, iar header-ul extern poate conŃine adresa unui firewall sau a unui ruter
securizat. Autentificarea acoperă întregul pachet original; noul header, cu extensiile lui în
cazul IPv6, este autentificat pentru câmpurile fixe.

9
Protocolul ESP

Encapsulating Security Payload asigură confidenŃialitatea conŃinutului mesajelor şi,


parŃial, confidenŃialitatea traficului. OpŃional, poate asigura şi serviciile de autentificare ale
protocolului AH. Formatul unui pachet ESP are următoarele câmpuri:
- Security Parameters Index: identifică asocierea de securitate.
- Sequence Number: număr utilizat pentru eliminarea duplicatelor.
- Payload Data: pachet al nivelului de transport (în mod transport) sau pachet IP
(în mod tunel) care este protejat prin criptare.
- Padding
- Pad Length: indică numărul de octeŃi ai câmpului imediat precedent
- Next Header: identifică tipul de date conŃinute în câmpul Payload prin indicarea
primului header din acest câmp,
- Authentication Data: conŃine ICV – Integrity Check Value calculată asupra
pachetului ESP minus câmpul Authentication Data.

Formatul ESP pentru IPSec

Algoritmi de criptare şi autentificare


Câmpurile: Payload Data, Padding, Pad Length şi Next Header sunt criptate de ESP.
SpecificaŃiile curente pentru IPSec impun compatibilitatea cu algoritmul DES în modul
înlănŃuit; documentele elaborate de IP Security Protocol Working Group al IETF stabilesc
identificatori pentru următori algoritmi:

- Three-key triple DES


- RC5
- IDEA şi three-key triple IDEA
- CAST.

10
La fel ca protocolul AH, protocolul ESP permite utilizarea unui MAC cu lungimea de
96 biŃi iar specificaŃiile curente impun compatibilitatea cu:

- HMAC-MD5-96
- HMAC-SHA-1-96

Formatele ESP în mod transport şi în mod tunel

- Pentru protocolul ESP în mod transport utilizând standardul IPv4, header-ul ESP
este inserat după header-ul IP original şi un trailer-ul ESP (câmpurile: Padding,
Pad Length, Next Header) este plasat după pachetul IP ; dacă se optează pentru
autentificare, câmpul ESP Authentication Data este adăugat după trailer-ul ESP.
Întregul segment al nivelului de transport şi trailer-ul ESP sunt criptate.
Autentificarea acoperă tot textul cifrat, plus header-ul ESP.
Etapele de operare în mod transport sunt următoarele:
- La sursă blocul format din segmentul nivelului de transport plus trailer-ul ESP
sunt criptate şi textul clar este înlocuit cu textul criptat pentru a forma pachetul
IP de transmis; se adaugă şi informaŃia de autentificare, dacă s-a selectat această
opŃiune.
- Pachetul este rutat către destinaŃie. Fiecare ruter intermediar examinează şi
procesează header-ul IP şi extensiile sale necriptate, dar nu examinează textul
criptat.
- Nodul de destinaŃie examinează şi procesează header-ul IP şi extensiile sale
necriptate. Apoi, pe baza SPI – Indexul Parametrilor de Securitate din header-ul
ESP, nodul de destinaŃie decriptează restul pachetului pentru a reconstitui ca text
clar segmentul nivelului de transport.

11
Utilizarea modului de transport asigură confidenŃialitate pentru orice aplicaŃie care
utilizează acest mod, evitând necesitatea ca fiecare aplicaŃie să trateze această problemă în
mod individual. Acest mod de operare este eficient, lungimea pachetului IP mărindu-se
nesemnificativ; nu împiedică analiza traficului.
Pentru protocolul ESP în mod tunel, header-ul ESP este adăugat la începutul
pachetului original, apoi pachetul plus trailer-ul ESP sunt criptate şi încapsulate într-un nou
pachet IP, noul header va permite rutarea, dar va limita posibilitatea de analiză a traficului.
Modul tunel este util pentru configuraŃii care includ firewall-uri sau alte tipuri de porŃi
securizate care protejează reŃele locale. Problemele de securitate sunt preluate de firewall,
eliminându-se necesitatea implementării facilităŃilor de securitate în fiecare staŃie de lucru a
reŃelei locale.
Etapele de operare în mod tunel, în cazul în care o staŃie de lucru exterioară unei reŃele
locale protejate cu firewall comunică cu o staŃie din reŃea, în staŃia exterioară şi în firewall
fiind implementat protocolul ESP, sunt următoarele:
- StaŃia de lucru exterioară reŃelei locale pregăteşte un pachet IP având ca adresă
finală staŃia din reŃeaua locală. Acest pachet este procesat pentru a se obŃine
formatul pentru ESP în mod tunel; adresa IP din noul header va fi adresa
firewall-ului
- Pachetul este rutat către firewall-ul de destinaŃie. Fiecare ruter intermediar
examinează şi procesează header-ul IP exterior şi extensiile sale necriptate, dar
nu examinează pachetul textul criptat.
- Firewall-ul de destinaŃie examinează şi procesează header-ul IP exterior şi
extensiile sale necriptate. Apoi, pe baza SPI – Indexul Parametrilor de Securitate
din header-ul ESP, nodul de destinaŃie decriptează restul pachetului pentru a
reconstitui ca text clar pachetul IP încapsulat.
- Pachetul IP reconstituit este rutat în reŃeaua locală către staŃia de destinaŃie.

12