IPsec

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În domeniul telecomunicațiilor și tehnologiei informației, IPsec , prescurtare pentru securitate IP , este un standard pentru rețelele de pachete care are ca scop realizarea conexiunilor securizate prin rețelele IP . Această securitate se realizează prin adăugarea autentificării , criptării și verificării integrității pachetelor IP ( datagrame ). Capacitatea de a oferi protecție sau securitate este, prin urmare, asigurată la nivelul rețelei (spre deosebire de HTTPS , SSL / TLS ), ceea ce face ca acest protocol să fie transparent la nivelul aplicațiilor care, prin urmare, nu trebuie modificate.

Prezentare generală standard

Scopul proiectului

IPsec a fost conceput pentru a securiza atât comunicațiile de la portal la portal, cât și cele de la un capăt la altul . În prima configurație traficul este „ sigur ” pe diferite computere (în unele cazuri către o rețea LAN întreagă); în al doilea, doar colegii care stabilesc conexiunea schimbă pachete securizate. Cu toate acestea, utilizarea predominantă a IPsec este crearea VPN ( rețea privată virtuală ); ambele metode de mai sus pot fi utilizate pentru a atinge acest scop.

Introducere

IPsec este o colecție de protocoale formate din:

  • Protocoale care implementează schimbul de chei pentru a realiza fluxul criptat.
  • Protocoale care furnizează criptarea fluxului de date.

Există un singur protocol pentru schimbul de chei, protocolul IKE . IPsec este o parte integrantă a IPv6 , în timp ce este opțional în IPv4 . Ca rezultat, este de așteptat ca acesta să fie utilizat mai mult pe măsură ce IPv6 câștigă popularitate. Protocolul este definit în RFC-urile 2401-2412. Studii au fost începute din 2004 pentru actualizarea protocoalelor.

În ceea ce privește al doilea aspect, există două protocoale: Authentication Header (AH) și Encapsulating Security Payload (ESP).

AH asigură autentificarea și integritatea mesajelor , dar nu oferă confidențialitate și este protocolul IP 51.
În schimb, ESP oferă autentificare, confidențialitate și verificarea integrității mesajelor și este protocolul IP 50. Din aceste motive ESP este mult mai utilizat decât AH.

Detalii tehnice

IPsec acceptă două moduri de operare:

  • Mod de transport
    1. gazdă conexiune -sa-gazdă;
    2. folosit de puncte finale, nu de gateway-uri ;
    3. în caz de criptare, este criptată doar sarcina utilă a datagramelor IP, nu antetul ;
    4. computerizat ușor;
    5. fiecare gazdă care dorește să comunice trebuie să dețină tot software-ul necesar implementării IPsec;
    6. se adaugă doar antetul IPsec; adresele expeditorului și destinatarului punctelor finale sunt detectabile.
  • Mod tunel
    1. conexiune gateway-to-gateway;
    2. în caz de criptare, întregul pachet IP original este criptat;
    3. folosit pentru a construi VPN-uri;
    4. greu de calculat;
    5. numai gateway-urile trebuie să aibă software IPsec;
    6. există puncte de centralizare, deci puncte unice de eșec;
    7. folosește o dublă încapsulare , plasând ca sarcină utilă a comunicației între adresele gateway ceea ce se obține prin criptarea uniunii adreselor expeditorului și destinatarului punctelor finale cu sarcina utilă reală; adoptând protocolul Encapsulating Security Payload, adresele expeditorului și destinatarului punctelor finale nu mai sunt deci detectabile (ele rămân detectabile prin adoptarea AH).

Cele două moduri sunt acceptate atât de AH, cât și de ESP.

IPsec poate fi, de asemenea, utilizat pentru conexiuni între gateway-uri și gazde.

Asociația de securitate și politica de securitate

Conceptul Asociației de securitate ( SA pe scurt) stă la baza funcționării IPsec. O SA este un „contract” între cele două entități implicate în comunicare; stabilește mecanismele de protecție și cheile care trebuie utilizate în timpul transferului de date ulterior. În contextul IPsec, stabilirea asociațiilor de securitate este responsabilitatea protocolului IKE , deși este, de asemenea, posibil să le setați manual; evident, procedura manuală nu este recomandată, deoarece poate introduce erori care slăbesc tunelul.

O particularitate a SA este că identifică o comunicare unidirecțională; prin urmare, în timpul creării conexiunii, entitățile implicate creează și administrează o SA pentru fiecare dintre direcțiile de comunicare, apoi 2 SA identifică un canal full-duplex . Pentru a simplifica gestionarea SA-urilor, este utilizată o bază de date specială numită SAD ( S ecurity A ssociation D atabase), unde SA-urile active sunt ținute în evidență. În special, o SA constă din următorii parametri:

  • Adresele IP ale colegilor implicați în comunicare;
  • Protocolul care va fi utilizat pentru tunel (AH sau ESP);
  • tehnicile de criptare utilizate și cheile aferente;
  • Un întreg pe 32 de biți numit SPI, care vine de la S ecuritate P arameter I ndex.

Prin urmare, din examinarea parametrilor unei SA, se deduc toate informațiile necesare pentru stabilirea modalităților în care trebuie protejat traficul; următorul pas este de a defini ce trafic ar trebui protejat: de asta se ocupă Politica de securitate (pe scurt SP ). Un SP este o regulă care determină ce fel de trafic trebuie să fie direcționat în tunel și, prin urmare, să fie acoperit de IPsec; în mod similar cu societățile de supraveghere, SPS sunt conținute într - un SPD (S ecuritate P STRATEGICE D atabase). Politica de securitate conține:

  • Adresa sursă și adresa de destinație a pachetului. Aceste informații sunt deja conținute în SA și, prin urmare, pot părea redundante. De fapt, această informație are sens atunci când este utilizat modul Tunel.
  • Protocolul și portul său de rutare în tunel. Această opțiune depinde de implementarea protocolului și nu este întotdeauna avută în vedere; dacă nu este disponibil, tot traficul produs este transportat în tunel.
  • Un identificator SA care va fi utilizat pentru procesarea datelor.

Odată ce asociația de securitate și politica de securitate au fost stabilite , poate începe comunicarea care va utiliza protocolul AH sau protocolul ESP la care va fi transmis parametrul SPI, ceea ce va permite urmărirea tehnicilor criptografice care vor fi utilizate pentru transmisie.

Protocoale IPsec

IKE

Pictogramă lupă mgx2.svg Același subiect în detaliu: schimbul de chei Internet .

Descriere

IKE este un acronim pentru I nternet k EY și Xchange și este protocolul utilizat pentru a stabili o asociație de securitate în suita de protocoale IPsec. Acest protocol este definit în RFC 4306 . Este un protocol de strat de aplicație și folosește UDP ca protocol de transport ; portul pe care este stabilită conexiunea este 500.

Scopul IKE este de a stabili un secret de sesiune partajat , adică o cheie partajată corespunzătoare sesiunii care urmează să fie stabilită și în acest scop utilizează algoritmul Diffie-Hellman ; cheile criptografice care vor fi utilizate pentru comunicarea ulterioară sunt derivate ulterior din secretul partajat . Pentru a autentifica entitățile implicate în comunicare, se pot utiliza tehnici cheie simetrice sau, alternativ, tehnici cheie asimetrice; în acest din urmă caz, se utilizează infrastructurile cu cheie publică (PKI) și utilizarea certificatelor digitale .

Antet de autentificare (AH)

Descriere

Autentificare antet (prescurtat AH ), este un protocol care face parte din suita IPsec. Sarcina sa este de a asigura verificarea integrității pachet cu pachet, verificarea autenticității expeditorului și protecția împotriva redării . AH nu garantează în niciun fel confidențialitatea mesajului.

Autenticitatea este garantată prin funcții hash simetric de chei, adică prin mecanismul cheilor pre-partajate. Pentru a comunica, două entități trebuie să aibă aceeași cheie; această cheie este combinată cu mesajul original și apoi suma de control este calculată utilizând o funcție hash criptografică (MD5 sau SHA). În cele din urmă, mesajul și control sunt trimise la egal la egal la distanță. Peer la distanță primește mesajul; deoarece acest lucru este clar, îl poate citi, combina cu cheia pe care o știe și poate calcula suma de control. Dacă suma de verificare se potrivește cu cea trimisă, mesajul este autentic și este acceptat în caz contrar, este eliminat deoarece a fost modificat într-un mod nepermis de standard.

Protocolul AH este conceput pentru a proteja întregul pachet IP trimis; cu toate acestea, trebuie considerat că unele câmpuri ale antetului IP, cum ar fi TTL , variază în timpul transmisiei; aceste modificări trebuie neapărat permise, așa că înainte de a calcula suma de control, câmpurile cărora li se permite să varieze sunt setate la 0 .

Format pachet

Structura pachetului AH este prezentată mai jos (fiecare cutie reprezintă 1 octet ).

0 1 2 3
Următorul antet Dimensiunea sarcinii utile REZERVAT
Indicele parametrilor de securitate (SPI)
Numărul succesiunii

Date de autentificare (lungime variabilă)

Următorul antet
Indică ce fel de protocol va urma.
Dimensiunea sarcinii utile (8 biți)
Lungimea AH în cuvânt (1 cuvânt = 32 biți) minus 2. De exemplu, 96 sunt biții impliciți ai câmpului de date de autentificare, plus alți 96 de biți pentru câmpurile de lungime fixă ​​ale AH fac 6 cuvinte (96 + 96 = 192 biți, împărțiți la 32 = 6). Prin scăderea a 2 rezultă, prin urmare, 4 valoarea conținută a dimensiunii standard a sarcinii utile.
REZERVAT
Spațiu lăsat pentru evoluțiile viitoare. Toți biții din acest câmp sunt setați la 0.
Indicele parametrilor de securitate
Acest câmp identifică parametrii de securitate în combinație cu adresa IP. În general, este un număr pseudo-aleatoriu care identifică asociația de securitate din care face parte acest pachet.
Număr de secvență
O succesiune de numere în creștere monotonă. Pentru a preveni atacurile de reluare , numărul secvenței când atinge valoarea maximă (2 ^ {32} -1) nu trebuie să revină la 0, ci trebuie creat un nou SA.
Date pentru autentificare
Acesta conține valoarea de verificare a integrității (ICV) și reprezintă HMAC calculat de expeditorul mesajului. HMAC este calculat folosind câmpurile antetului IP (cu TTL original), câmpurile antetului AH, cu excepția datelor de autentificare (este considerat a fi 0) și în cele din urmă toate datele antetelor de nivel superior, inclusiv acele aplicații , care nu sunt modificate în timpul transportului.

Modul de transport și modul Tunel

AH suportă în mod nativ atât transportul, cât și modurile de tunel . În modul de transport, sunt protejate doar protocoalele de un nivel superior celui de rețea ( TCP , UDP etc.); în modul tunel, pachetul IP original este încapsulat într-un nou pachet IP, după ce a fost procesat de AH. Vă explicăm cum funcționează cu ajutorul unor desene. Indicatorul este, fără îndoială, pachetul IP original; în prezența unei conexiuni bazate pe IPsec, pachetul este evident modificat.

Antet IP Antet TCP Date

Pachet IP original

În funcție de modul de funcționare al IPsec (modul tunel sau modul de transport), pachetul original este modificat diferit.

Antet IP Antetul AH Antet TCP Date
date autentificate

AH în modul de transport

Antet IP extern Antetul AH Antet IP Antet TCP Date
date autentificate

AH în modul tunel

Linia albastră indică zonele pachetului care sunt autentificate. Din punct de vedere al securității, în ambele cazuri, pachetele sunt complet protejate. Observăm că în antetul IP, unele câmpuri variază în timpul tranzitului în rețea, de exemplu TTL . Aceste câmpuri sunt setate la 0 înainte de a calcula funcția hash , care este necesară pentru protecția pachetului. Din ceea ce tocmai s-a spus, este clar imediat că protocolul AH este incompatibil cu diferitele tehnici NAT ; de fapt, dacă câmpurile de adresă din antetul IP sunt modificate (în ambele moduri), suma de verificare eșuează imediat la recepție.

Incapsularea sarcinii utile de securitate (ESP)

Descriere

Incapsularea securității utile , notată cu acronimul ESP , este un protocol care face parte din suita IPsec. Scopul său este de a oferi autenticitate, confidențialitate și control al integrității comunicării. Contrar a ceea ce face AH , antetul IP nu este acoperit de verificări. La fel ca AH, totuși, acceptă atât modul tunel, cât și modul de transport.

Format pachet

Formatul pachetului ESP este prezentat mai jos (fiecare casetă reprezintă 1 octet ).

0 1 2 3
Indexul parametrilor de securitate (SPI)
Număr de secvență

Sarcină utilă * (variabilă)

Umplutură (0-255 octeți)
Lungimea tamponului Următorul antet

Date de autentificare (variabile)

Indexul parametrilor de securitate (SPI)
La fel ca ceea ce se întâmplă în AH, acest câmp, în combinație cu adresa IP, identifică Asociația de securitate căreia îi aparține pachetul.
Număr de secvență
O succesiune de numere în creștere monotonă, care identifică pachetul din cadrul Asociației de securitate și previne atacurile de redare .
Încărcătură utilă
Datele de transferat
Căptușeală
Este un câmp de umplere. Este necesar, deoarece unele coduri de cifrare funcționează pe blocuri cu lungime fixă. Este folosit pentru a crește dimensiunea datelor până când devine un multiplu al blocului pe care algoritmul utilizat este capabil să îl gestioneze.
Lungimea tamponului
Reprezintă, în octeți, dimensiunea datelor de umplere adăugate.
Următorul antet
Identifică protocolul datelor transferate
Date de autentificare
Conține datele utilizate pentru autentificarea pachetului.

Așa cum se poate vedea din structura pachetelor (dar va fi explicat mai jos), ESP „ înfășoară ” date din protocoalele de nivel superior, spre deosebire de AH care prevede un antet.

Modul tunel și modul Transport

Fiind un protocol de transfer de date al suitei IPsec, ESP acceptă atât modul Tunel, cât și modul Transport. În funcție de mod, tratează datele diferit. Înainte de a descrie încapsularea datelor, prezentăm pachetul IP original, care ar trece prin rețea în absența IPsec

Antet IP Antet TCP Date

Pachet IP original

Antet IP Antet ESP Antet TCP Date Remorcă ESP Autentificare ESP
Date autentificate

ESP în modul Transport

Antet IP Antet ESP Antet IP intern Antet TCP Date Remorcă ESP Autentificare ESP
Date autentificate

ESP în modul Tunel

Liniile albastre subordonează partea pachetului care este supusă unei verificări a autenticității și integrității; zonele verzi indică zonele de pachete care sunt protejate de algoritmi criptografici. În ceea ce privește algoritmii de criptare, pot fi utilizate Standardul de criptare a datelor (DES), 3DES , AES și Blowfish . Verificarea integrității și autenticității se efectuează prin HMAC (funcții hash); hashul este calculat printr-o funcție hash ( MD5 sau SHA1 ), utilizând o cheie partajată; hash-ul obținut este atașat la mesaj și trimis. La recepție, este verificată integritatea mesajului. Așa cum se arată în diagrame, adresa IP exterioară nu este acoperită de verificarea integrității. Această opțiune face ca protocolul ESP să fie adecvat pentru utilizarea în unele tipuri de NAT , în special în cele statice. Cu toate acestea, există soluții ad-hoc pentru funcționarea comună a IPsec și NAT, cum ar fi traversarea NAT.

Traversarea NAT

Descriere

Traversarea NAT (sau NAT-T pe scurt) este numele unui protocol care face parte din suita IPsec și standardizat în mai multe RFC-uri , dintre care cel oficial este RFC 3947 . Obiectivul acestui protocol este de a oferi posibilitatea stabilirii unui tunel IPsec chiar și atunci când unul dintre cei doi parteneri implicați este supus unei operațiuni NAT pentru a ajunge la cealaltă entitate implicată în comunicare.

Scenariu

NAT este o tehnică larg utilizată pentru reutilizarea adreselor IP . Cu toate acestea, gazdele din spatele unui router (sau firewall ) care efectuează operațiuni NAT nu au conectivitate end-to-end . Deși există mai multe tipuri de NAT, obiectivul general este de a modifica antetele pachetelor. Acest comportament este în contrast puternic cu IPsec care are printre obiective verificarea integrității pachetelor. În special, NAT este incompatibil cu AH atât în ​​modul tunel, cât și în modul de transport, deoarece AH verifică integritatea întregului pachet IP. ESP, pe de altă parte, nu acoperă antetul IP cu verificări de nici un fel nici în modul Tunel, nici în modul Transport, deci este potrivit dacă NAT efectuat este de tip SNAT ; cu alte cuvinte, schimbarea făcută de router trebuie să implice doar antetul IP și nu portul de nivel superior.

NAT creează, de asemenea, probleme cu IKE și mai ales cu IKE în modul principal . Modul principal utilizat împreună cu metoda cheilor pre-partajate necesită autentificarea gazdelor implicate în comunicare și această autentificare asigură o verificare a adreselor IP; prin urmare, modificarea adresei de către un dispozitiv NAT provoacă eșecul autentificării.

În general, în dispozitivele responsabile de gestionarea tunelurilor IPsec și în clienții VPN, NAT-T nu este activat în mod implicit, ci trebuie setat manual; cu toate acestea, utilizarea acestuia rămâne opțională: de fapt, în timpul creării asociației de securitate , colegii determină dacă unul dintre cei doi suferă operațiuni NAT și numai în acest caz este utilizat NAT-T; acest lucru se face în timpul primei faze a negocierii IKE . În primul rând, colegii verifică dacă ambii sunt capabili de suport NAT-T; această verificare este efectuată chiar în prima fază a protocolului IKE, prin intermediul unui pachet cu un câmp ID-furnizor , care conține o valoare hash cunoscută.
Odată ce s-a stabilit că ambele suportă NAT-T, sunt trimise cadre „NAT-Discovery” (NAT-D), pentru a verifica care dintre cele două este supus NAT sau cel puțin dacă ambele sunt supuse acestuia.
Odată stabilit cine este supus NAT, comunicația se mută într-o nouă pereche de porturi UDP și entitatea „ nat-tata ” începe să trimită cadre keepalive ; aceste cadre sunt folosite pentru a menține fixate porturile de comunicații de pe router și pentru a preveni reasocierea acestora către o nouă comunicație.

Descriem cum este încapsulat pachetul ESP original.

Antet IP Antet ESP Antet IP intern Antet TCP Date Remorcă ESP Autentificare ESP

ESP în modul Tunel

Antet IP Antet UDP Antet NAT-T Antet ESP Antet IP intern Antet TCP Date Remorcă ESP Autentificare ESP

ESP în modul Tunel cu încapsulare UDP pentru NAT-T

Câmpurile marcate cu verde închis sunt cele referitoare la NAT-T; aceste câmpuri sunt inserate imediat după antetul IP extern, care nu este modificat, la fel cum următoarele câmpuri nu sunt modificate. La recepție, se efectuează operația inversă.

Lista RFC-urilor legate de IPsec

  • RFC 4301 : Arhitectura de securitate pentru protocolul Internet
  • RFC 2402 : Antet de autentificare
  • RFC 2406 : Incapsularea sarcinii utile de securitate
  • RFC 2407 : Domeniul de interpretare IPsec pentru ISAKMP (IPsec DoI)
  • RFC 2408 : Internet Security Association and Key Management Protocol (ISAKMP)
  • RFC 2409 : Internet Key Exchange (IKE)
  • RFC 2410 : Algoritmul de criptare NULL și utilizarea sa cu IPsec
  • RFC 2411 : Foaia de parcurs a documentului de securitate IP
  • RFC 2412 : Protocolul de determinare a cheii OAKLEY
  • RFC 3947 : Negocierea NAT-Traversal în IKE

Elemente conexe

linkuri externe

Controlul autorității LCCN (EN) sh99003638 · GND (DE) 4595061-1