AAA Authentication, Authorization and Accounting [309932]

UNIVERSITATEA “TITU MAIORESCU” DIN BUCUREȘTI

FACULTATEA DE INFORMATICĂ

LUCRARE DE LICENȚĂ

COORDONATOR ȘTIINȚIFIC:

CONF.UNIV.DR.ING. IOSIF PRAOVEANU

ABSOLVENT: [anonimizat]

2017

UNIVERSITATEA “TITU MAIORESCU” DIN BUCUREȘTI

FACULTATEA DE INFORMATICĂ

LUCRARE DE LICENȚĂ

REȚELE VIRTUALE PRIVATE

COORDONATOR ȘTIINȚIFIC:

CONF.UNIV.DR.ING. IOSIF PRAOVEANU

ABSOLVENT: [anonimizat]

2017

Listă acronime:

AAA= Authentication, Authorization and Accounting

AES =Advanced Encryption Standard

AH =Authentification Header

ASDL =Abstract-[anonimizat] =Asynchronous Transfer Mode

DES =Data Encryption Standard

DSA =Digital Signature Algoritm

DSS =Digital Signature Standard

ESP = Encapsulating Security Payload Protocol

ESP =Encapsulated Security Payload

FTP =File Transfer Protocol

GNS3 =Graphical Network Simulator

GRE =Generic Route Encapsulation

HMAC =Hash-Based Message Authentication Code

IDEA =International Data Encryption Algorithm

IETF =Internet Engineering Task Force

IKE =Internet Key Exchange

IP =Internet Protocol

IPSec =Internet Protocol Security

IPX =Internetwork Packet Exchange

ISAKMP =Internet Security Association and Key Management Protocol

ISDN =Integrated Services Digital Network

L2F =Layer 2 Forwarding

L2TP =Layer 2 Tunneling Protocol

MD5 =Message Digest Algorithm 5

NAS =Network-attached Storage

NAT =Network Address Translation

NetBEUI =NetBIOS Enhanced User Interface

PGP =Pretty Good Privacy

PKCS = Public-Key Cryptography Standards

PPP =Point-to-Point Protocol

PPTP =Point-to-Point Tunneling Protocol

RSA = Rivest Shamir Adleman

S/MIME =Secure/Multipurpose Internet Mail Extensions

SHA =Secure Hash Algorithm

SONET =Synchronous Optical Networking

TCP/IP =Transmission Control Protocol/Internet Protocol

UDP =User Datagram Protocol

VLSI = Very Large Scale Integration

VPN =Virtual Private Network

WAN =Wide Area Network

1. [anonimizat] (serviciul de e-mail) sau pentru a permite conexiuni multiple la un server și de către funcționarii corporațiilor pentru a partaja imprimantele. [anonimizat]. De aceea majoritatea protocoalelor de atunci nu aveau posibilitatea de a cripta datele (ex. Telnet, RIP, etc.).

[anonimizat]: [anonimizat], [anonimizat]-line, doar stând in fața computerului personal. Însă aceste beneficii aduc și o serie de consecințe negative. Potrivit buletinului de securitate Kaspersky numărul atacurilor informatice bazate pe browser (browser-based attacks) – [anonimizat], ransomware, cross-[anonimizat]. a atins valoare de 758.044.650 în anul 2016, iar 31,9 % dintre calculatoarele conectate la Internet au fost ținta unor atacuri de tip Malware.

[anonimizat]-stop pentru a [anonimizat] a [anonimizat] a posta poze personale sau pentru a [anonimizat], [anonimizat]ea rețelelor devine o mare problema potențială.

Securitatea este un subiect vast si asigură o gamă de imperfecțiuni. În forma sa cea mai simplă, ea asigură că un rău făcător nu va poate citi sau chiar modifica mesajele. De asemenea ea va poate garanta faptul că atunci când ați primit un mesaj de la persoana X, acel mesaj este într-adevăr de la acea persoană si nu de la un răuvoitor. Securitatea informatică este o artă. Trebuie asigurat un echilibru între nevoia de comunicații și conectivitate și, pe de altă parte, necesitatea asigurării confidențialității, integrității si autenticității informațiilor.

Așa cum medicina încearcă să prevină noi afecțiuni în timp ce le tratează pe cele actuale, securitatea informatică încearcă sa prevină potențiale atacuri în timp ce minimizează efectele atacurilor actuale.

1.1 Tipuri de atacuri informatice

Odată cu creșterea numărului de persoane care au avut acces la rețeaua Internet a crescut si numărul atacurilor. Primele atacuri au fost neintenționate, din pura curiozitate. De exemplu viermele Morris (creat de un student al universității Cornell pe nume Robert Tappan Morris in 1988) este considerat primul vierme distribuit pe Internet si totodată a atras prima condamnare la închisoare din istoria SUA. Viermele Morris a fost scris (potrivit creatorului său) pentru a măsura Internetul, pentru a vedea câte calculatoare sunt conectate, și nu pentru a cauza distrugeri. Însă Morris nu a prevăzut fiecare aspect al codului iar acest lucru a permis viermelui său să infesteze de mai multe ori un calculator ceea ce înseamnă mai multe procese deschise ceea ce cauzează încetinirea substanțială a calculatorului până la imposibilitatea de funcționare. După aceea au urmat Melissa Email Virus in 1999, in 2000 Mafiaboy DoS Attack, Love Bug Worm si a fost creat programul L0phtCrack, in 2001 Code Red DOS Attack a afectat 350.000 calculatoare si in 2004 o rețea de botnets a lovit sistemele armatei SUA.

Astăzi, sistemele informatice sunt amenințate atât din interior cât și din exterior, acest lucru fiind posibil deoarece, cu trecerea timpului, amenințările devin din ce in ce mai sofisticate iar nivelul cunoștințelor tehnice necesare pentru a le implementa scade. Pot fi persoane bine intenționate care fac diferite erori de operare sau persoane rău intenționate, care sacrifica timp si bani pentru penetrarea sistemelor informatice.

Dintre factorii tehnici care permit breșe de securitate pot fi anumite erori ale software-ului de prelucrare sau de comunicare sau anumite defecte ale echipamentelor de calcul sau de comunicație. De asemenea, lipsa unei pregătiri adecvate a administratorului, operatorilor si utilizatorilor de sisteme amplifică probabilitatea unor breșe de securitate.

Un studiu din 2016 arata ca 70% dintre atacurile asupra unei rețele sunt din interior. Ceea ce înseamnă ca în aproape trei sferturi din cazuri, atacurile asupra unei rețele sunt accidentale ori s-au folosit de neglijenta angajaților. Aceste tipuri de pericole pot fi înlăturate prin implementarea politicilor de securitate, asigurarea că angajații au înțeles cum trebuie folosite resursele companiei și că înțeleg importanța parolelor de acces pe care le dețin.

Restul de 30%, adică atacurile ce își au originea în exterior, pot fi catalogate după cum urmează:

– Viruși: constau în secvențe de cod ce se atașează de programe sau fișiere executabile, de obicei la începutul codului si când este activat (atunci când fișierul este executat sau la o anumită dată și oră predefinită) verifică hard-disk-ul in căutarea altor fișiere executabile neinfestate încă. Pot avea efecte nedăunătoare, cum ar fi afișarea pe ecran a unei poze, sau efecte dăunătoare cum ar fi ștergerea datelor de pe hard-disk. De asemenea pot fi programați să își modifice codul pentru a nu fi detectați.

– Viermi: sunt programe de sine stătătoare ce atacă un sistem prin exploatarea unei vulnerabilități cunoscute, apoi scanează rețeaua în căutarea unor noi sisteme pe care le poate exploata și infesta iar in cele din urmă execută codul dăunător care de obicei constă in instalarea de “backdoors” pe sistem (modalități prin care persoana care a creat sau folosit viermele poate avea acces la sistemul infestat ocolind sistemele de securitate.

– Cai troieni: sunt programe de sine stătătoare ce deși par a îndeplini o anumita funcție legitima (un joc, un anumit program) execută in background secvențe de cod ce exploatează privilegiile utilizatorului ce l-a rulat. Deși programul legitim este închis de utilizator, el rămâne deschis și poate oferi creatorului său acces pe calculatorul infestat, poate fura și trimite date sensibile (parole, conturi, etc.), șterge sau corupe fișiere, opri programele antivirus/firewall sau încetini sau chiar opri activitatea rețelei.

– Atac de recunoaștere: descoperirea si cartografierea neautorizată a sistemelor, serviciilor și vulnerabilităților unui sistem, ceea ce precede deseori alte tipuri de atacuri.

– Atac de tip acces: exploatează vulnerabilități cunoscute ale serviciilor de autentificare, FTP, servicii web, etc. pentru a căpăta acces la conturi web, baze de date sau alte informații sensibile. De obicei implică un atac de tip dicționar (Dictionary Attack) sau de tip forță brută (Brute Force) pentru a ghici parola de acces.

– Negarea serviciului: este poate cel mai des întâlnit tip de atac si cel mai ușor de realizat (de obicei cu ajutorul unor scripturi sau programe) și constă în trimiterea unui număr extrem de mare de cereri unui server/calculator până când acesta nu mai poate răspunde cererilor legitime.

1.2 Considerații generale privind securitatea în rețelele IP

Domeniul care se ocupă de studiul mecanismelor de protecție a informației în scopul asigurării unui nivel de încredere în aceasta se numește securitatea informației. Putem afirma că nivelul de încredere în informație depinde de nivelul mecanismelor de securitate care îi garantează protecția și de riscurile care apar asupra securității ei. Securitatea informației este un concept mai larg care se referă la asigurarea integrității, confidențialității și disponibilității informației. [1]

1.2.1 Servicii de securitate

Din punctul de vedere al obiectivelor de securitate, se disting patru obiective majore care sunt recunoscute de orice autor in domeniu. Fiecare din aceste servicii poate fi implementat la diverse nivele arhitecturale ale modelului OSI. Pentru a asigura securitatea unui nivel pot fi combinate unul sau mai multe servicii care la rândul lor pot fi compuse din câteva mecanisme. Primul obiectiv este confidențialitatea informației, sau asigurarea faptului că informația rămâne accesibilă doar părților autorizate în acest sens. Acesta este cel mai vechi obiectiv al criptologiei. În rândul necunoscătorilor este încă larg răspândită opinia că noțiunea de criptografie este sinonimă cu confidențialitatea, sigur opinia este eronată pentru că criptografia se ocupă și de asigurarea multor alte obiective, ce vor fi enumerate în continuare, și care nu au nici o legătura cu păstrarea secretă a informației.

Integritatea face referire la asigurarea faptului că informația nu a fost alterată pe parcursul transmisiei sau de către un posibil adversar.

Autentificarea având două coordonate distincte: autentificarea entităților și autentificarea informației. Autentificarea entităților se referă la existența unei garanții cu privire la identitatea unei anume entități. Autentificarea informației se referă la garantarea sursei de proveniență a informației – în mod implicit aceasta garantează și integritatea informației (este evident că asigurarea autenticității informației implică și asigurarea integrității acesteia). Autentificarea este în general strâns legată de un factor temporal, este evident că o informație stocată poate fi suspusă unui test de integritate pentru a se constata dacă a fost sau nu alterată dar nu poate fi supusă unui test de autenticitate dacă nu există o garanție cu privire la momentul de timp la care entitatea de care este legată a depozitat-o (deoarece în acest caz informația putea fi replicată și depusă de orice altă entitate).

Ultimul obiectiv este non-repudierea – previne o entitate în a nega o acțiune întreprinsă (acțiune materializată desigur în transmisia unei informații). Aceasta înseamnă că dacă la un moment dat o entitate neagă ca ar fi emis o anume informație, entitatea care a primit informația respectivă poate demonstra unei părți neutre că informația provine într-adevăr de la entitatea în cauză. [2]

1.2.2 Mecanisme de securitate specifice

OSI introduce opt mecanisme de securitate de bază, folosite individual sau combinat pentru a construi servicii de securitate. Un exemplu bun ar fi, serviciul de nerepudiere cu probarea livrării poate fi realizat utilizând o combinație potrivită a mecanismelor de integritate a datelor, semnătura digitală și notariat digital. În plus, un mecanism se poate baza pe un alt mecanism. De exemplu, mecanismul de autentificare a schimbului poate folosi mecanismul de criptare și, uneori, mecanismul de notariat (care presupune existența unei a treia părți, căreia i se acordă încredere).

Mecanismul de criptare are ca scop transformarea datelor astfel încât ele să devină inteligibile numai de către entitatea autorizată (care, în general, păstrează o cheie secretă pentru a le descifra) sau de a transforma datele într-o manieră unică, ce poate aparține numai expeditorului. Numai entitatea autorizată, care deține o cheie secretă, le poate decripta și citi. Acest mecanism este folosit pentru a furniza confidențialitate, dar el poate fi utilizat și pentru asigurarea altor câtorva servicii de securitate. ISO acceptă în criptare atât algoritmi simetrici cât si algoritmi nesimetrici (cu chei publice).

Mecanismul de semnătură digitală trebuie să garanteze că datele au fost produse chiar de către semnatar. Acest mecanism este deseori folosit de serviciile de integritate si autentificare a originii datelor. Sunt definite două proceduri pentru acest mecanism:

• procedura de semnare a unei entități de date;

• procedura pentru verificarea semnăturii.

Folosind criptografia asimetrică, semnătura poate fi generată prin calcularea unei funcții de dispersie pentru datele ce trebuie semnate, iar apoi, criptând valoarea rezultată folosindu-se componenta privată a cheii asimetrice a semnatarului. Această valoare depinde de momentul emiterii semnăturii, pentru a preveni falsificarea prin retransmitere a datelor respective, precum și de conținutul mesajului. Semnătura trebuie produsă numai pe baza informațiilor personale ale semnatarului (cheia sa privată a algoritmului de cifrare, de exemplu), în timp ce procedura de verificare este făcută publică.

Mecanismul de control al accesului controlează accesul entităților la resurse, presupunând cunoscută identitatea entității ce solicită accesul. Acțiunile se produc atunci când este încercat un acces neautorizat, fie prin generarea unei alarme, fie prin simpla înregistrare a incidentului. Politica de control al accesului poate fi bazată pe unul sau mai multe din următoarele soluții:

• lista drepturilor de acces (entitate, resursă);

• parole;

• capabilități;

• etichete de securitate;

• durata accesului;

• timpul de încercare a accesului;

• ruta (calea de încercare a accesului).

Mecanismul de integritate a datelor are rolul de a asigura integritatea unităților de date (în întregime sau parțial – numai un câmp), împiedicând modificarea, ștergerea sau amestecarea datelor pe durata transmisiei. Acest mecanism presupune două proceduri:

• una pentru emisie. Expeditorul adaugă la unitatea de date o informație adițională care depinde numai de datele transmise (“checkvalue” – o sumă de control criptată sau nu).

• una pentru recepție: partea receptoare generează aceeași sumă de control care se compară cu cea primită.

Mecanismul de stampile de timp (time stamping) poate fi folosit pentru transmisiile neorientate pe conexiune în scopul asigurării actualității datelor.

Mecanismul de autentificare mutuală este folosit pentru a dovedi, reciproc, identitatea entităților. Se pot folosi pentru acestea parole sau tehnici criptografice (parole cifrate, cartele magnetice sau inteligente, caracteristici biometrice, biochimice). Când sunt folosite tehnicile criptografice, acestea sunt deseori combinate cu protocoale cu interblocare, "hand-shaking", pentru protecția împotriva înlocuirii (reluării) datelor. Principiul este următorul: entitatea A trimite identitatea sa (cifrată sau nu) entității B, care generează o valoare aleatoare si o trimite (cifrat sau nu) lui A. A trebuie să cifreze valoarea aleatoare cu cheia sa privată si să o trimită lui B, care va verifica corectitudinea acesteia.

Mecanismul de "umplere" a traficului este folosit pentru a asigura diferite nivele de protecție împotriva analizei de trafic si implică una din următoarele metode:

• generarea unui trafic fals (rareori întrebuințată datorită costurilor pe care le implică);

• umplerea pachetelor de date transmise cu date redundante;

• transmiterea de pachete și spre alte destinații în afara celei dorite.

Mecanismul de control al rutării se bazează pe faptul că într-o rețea, anumite rute pot fi considerate mai sigure față de altele; de aceea, acest mecanism permite a se alege, fie într-un mod dinamic, fie într-un mod prestabilit, cele mai convenabile rute, în concordanță cu criteriile de securitate (importanta datelor si confidențialitatea legăturii). Acest mecanism trebuie folosit si ca suport pentru serviciile de integritate cu recuperarea datelor (de exemplu, pentru a permite selecția unor rute alternative în vederea protejării în cazul unor atacuri ce ar perturba comunicația).

Mecanismul de notarizare. Acest mecanism presupune stabilirea unei a treia părți (notar) în care au încredere toate entitățile, care au rolul de a asigura garanții în privința integrității, originii sau destinației datelor. Atunci când se folosește acest mecanism, datele sunt transferate între entități prin intermediul notarului. [3]

1.2.3 Tehnici de securitate

După momentul in care tehnicile de securitate au fost implementate intr-o retea, informațiile nu vor mai putea fi accesate sau interceptate de persoane neautorizate și se va împiedica falsificarea informații lor transmise sau utilizarea clandestină a anumitor servicii destinate unor categorii aparte de utilizatori ai rețelelor.

Tehnici specifice utilizate pentru implementarea securității unei rețele:

• protecția fizică a dispozitivelor de rețea și a liniilor de transmisie la nivelul fizic;

• proceduri de blocare a accesului la nivelul rețele;

• transport securizat al datelor in spațiul public prin tunele de securizare sau VPN-uri;

• aplicarea unor tehnici de criptare a datelor.

Lipsa unei politici de securitate riguroasă poate duce ca diversele mecanisme de securitate să poată fi aproape ineficiente întrucât nu ar corespunde strategiei si obiectivelor pentru care a fost proiectată rețeaua. O politică corectă de securitate, include următoarele nivele de securitate:

i) Primul nivel de securitate îl constituie un firewall pentru asigurarea unei conexiuni sigure la Internet.

ii) Se poate folosi, de asemenea, transmisia datelor criptate printr-un tunnel de securitate pe Internet prin crearea de rețele private virtuale. Criptarea datelor conferă un al doilea nivel de securitate. Mai mult, se pot folosi așa numitele certificate digitale pentru a se asigura comunicarea sigura cu partenerul dorit.

iii) Al treilea nivel de securitate este securitatea la nivelul aplicație.

Desigur că uneori nu este nevoie de toate aceste măsuri de securitate; în funcție de importanța datelor vehiculate se poate opta fie pentru un nivel sau altul de securitate, fie pentru toate trei la un loc. [4]

1.2.3.1 Securitate prin firewal

Firewall-ul este un sistem care impune o politică de control a accesului între două rețele. Acesta reprezintă implementarea politicii de securitate în termeni de configurare a rețelei. Un firewall este un sistem plasat la granița dintre două rețele și posedă următoarele proprietăți [5] :

• tot traficul dintre cele două rețele trebuie să treacă prin acesta;

• este permisă trecerea numai a traficului autorizat prin politica locală de securitate;

• sistemul însuși este imun la încercările de penetrare a securității acestuia.

Cel care controlează accesul între Internet și o rețea privată este firewall-ul; fără el, fiecare stație din rețeaua privată este expusă atacurilor de penetrare inițiate din afara rețelei. Folosirea unui firewall pentru asigurarea securității rețelelor furnizează numeroase avantaje, ajutând și la creșterea nivelului de securitate al calculatoarelor componente dintre care vor fi enumerate doar cele mai importante:

Concentrarea securității. Pentru a asigura securitatea unei rețele, un firewall poate fi o soluție mai puțin costisitoare din punctul de vedere al administrării în sensul că programele care trebuie modificate și software-ul adițional care trebuie instalat pot fi localizate (în totalitate sau în cea mai mare parte) în sistemul firewall, spre deosebire de situația în care acestea ar fi fost distribuit pe toate calculatoarele din rețea. Firewall-urile tind să fie mai ușor de implementat și administrat, software-ul specializat executându-se numai pe acestea.

Instituirea unei politici de acces în rețea. Un firewall furnizează mijloacele de control al accesului într-o rețea privată. Unele calculatoare gazdă pot fi accesibile din exterior, în timp ce altele pot fi protejate efectiv față de accesul nedorit.

Protecția serviciilor vulnerabile. Dacă întregul trafic spre/dinspre Internet trece printr-un firewall, atunci există posibilitatea monitorizării acestuia și furnizării de statistici cu privire la folosirea rețelei. Colectarea de date privitoare la încercările de atac asupra rețelei permite verificarea rezistenței firewall-ului la asemenea încercări, iar realizarea de statistici este folositoare pentru analizarea riscurilor și pentru studiile de dezvoltare a rețelei. În afara avantajelor folosirii unui firewall există, de asemenea, o serie de dezavantaje și un număr de probleme de securitate, care nu pot fi rezolvate prin intermediul acestuia. Printre dezavantajele utilizării unui firewall se pot enumera:

– Restricționarea accesului la unele servicii. Un firewall impune, de cele mai multe ori, restricționarea sau blocarea accesului la unele servicii considerate vulnerabile, servicii care sunt însă solicitate intens de utilizatori (de exemplu TELNET, FTP etc.);

– Protecția scăzută față de atacurile provenite din interior. În general, un firewall nu asigură o protecție față de amenințările interne. Un firewall nu poate opri o persoană din interiorul rețelei de a copia informații și de a le furniza apoi celor interesați. Un firewall nu poate asigura protecție împotriva unor uși secrete existente într-o rețea, cum ar fi, de exemplu, permiterea nerestricționată a accesului prin modem la unele dintre calculatoarele interne. Este total nerecomandată investirea de resurse importante într-un firewall, dacă celelalte modalități posibile pentru furtul datelor sau pentru atac împotriva sistemului sunt neglijate.

– Protecția scăzută față de viruși. Firewall-urile nu pot asigura protecție împotriva utilizatorilor care aduc local, din arhivele Internet, programe infectate de viruși. Din cauză că aceste programe pot fi codificate sau comprimate în mai multe moduri, un firewall nu le poate scana în scopul identificării semnăturilor virale. Această problemă a programelor infectate rămâne și va trebui rezolvată prin alte metode, din care cea mai recomandată ar fi instalarea unui software antivirus pe fiecare stație din rețea.

– Viteza de comunicație cu exteriorul. Un firewall reprezintă o potențială limitare pentru traficul dintre rețeaua internă și exterior. Totuși, această limitare nu constituie o problemă în rețelele legate cu exteriorul prin linii de mare viteză.

– Fiabilitatea protecției firewall. O rețea protejată prin firewall își concentrează securitatea într-un singur loc, spre deosebire de varianta distribuirii securității între mai multe sisteme. O compromitere a firewall-ului poate fi dezastruoasă pentru celelalte sisteme (mai puțin protejate) din rețea. Un contra-argument la acest dezavantaj constă în faptul că incidentele de securitate apar, mai degrabă, pe măsură ce numărul de sisteme din rețea crește, iar distribuirea securității între acestea face să crească modalitățile în care rețeaua poate fi atacată. În ciuda tuturor acestor probleme și dezavantaje, se recomandă ca protejarea resurselor unei rețele să se facă atât prin intermediul firewall-urilor, cât și al altor mijloace și tehnici de securitate.

1.2.3.2 Criptografia

“Criptografia înseamnă comunicare în prezența adversarilor”. Ronald Rivest

Multe servicii și mecanisme de securitate folosite în Internet au la baza criptografia, securizarea informației precum și autentificarea și restricționarea accesului într-un sistem informatic folosind metode matematice pentru transformarea datelor în intenția de a ascunde conținutul lor sau de a le proteja împotriva modificării.

Criptografia, folosită intr-un protocol de securitate, vrea să asigure dezideratele menționate mai sus, fundamentale pentru securitatea informației: confidențialitate, integritatea datelor, autenticitatea si ne-repudierea. Criptarea este o metodă de protejare a informațiilor sensibile stocate în sistemele de calcul, dar și a celor care sunt transmise pe liniile de comunicație. Informațiile care sunt criptate rămân sigure chiar dacă sunt transmise printr-o rețea care nu oferă o securitate puternică. Cea mai populară metodă de protecție, atât pentru comunicații, cât și pentru datele cu caracter secret a devenit criptarea. Rețeaua Internet, spre exemplu, oferă servicii de criptare utilizatorilor săi. Cu cat se avansează si se conștientizează beneficiile aduse de utilizarea criptării, a dezavantajelor lipsei de protecție a informațiilor și a faptului că tehnologia de criptare a devenit mai accesibilă, criptarea devine o metoda atractivă de protejare a datelor, indiferent că este vorba de date secrete transmise prin rețea sau date obișnuite stocate în sistemul de calcul. Este impresionant numărul mare de folosire a noțiunii de criptare-decriptare când este vorba de securitatea datelor. [6] Tehnologia de criptare asigură că mesajele nu sunt interceptate sau citite de altcineva decât destinatarul autorizat. Criptarea este folosită pentru a proteja date care sunt transportate printr-o retea publică, si folosește algoritmi matematici avansați pentru a cifra mesajele si documentele atașate. Există mai multe tipuri de algoritmi de criptare, dar unii sunt mai siguri decât alții. În cei mai mulți algoritmi, datele originale sunt criptate folosind o anumită cheie de criptare, iar computerul destinatar sau utilizatorul pot descifra mesajul folosind o cheie de decriptare specifică.[1]

Riscurile de securitate, ca orice alte riscuri de altfel, trebuie acoperite cu garanții de securitate. Atunci când obiectul manipulat este informația singura garanție poate fi oferită de către criptografie, deci rolul acesteia este de a oferi garanții în fața riscurilor de securitate.

1.2.3.3 Rețea Virtuală Privată

O tehnologie de comunicații computerizata sigură, dar bazată pe o rețea publică poarta numele de rețea privată virtuală, din cauza acestui fapt nu este foarte sigură. Tehnologia VPN este concepută tocmai pentru a crea într-o rețea publică o subrețea de confidențialitate aproape la fel de înaltă ca într-o rețea privată adevărată la care sunt legați numai utilizatori autorizați. În mod intenționat această subrețea, denumită totuși "rețea VPN", nu poate comunica cu celelalte sisteme sau utilizatori ai rețelei publice de bază. Utilizatorii unei rețele VPN pot căpăta astfel impresia că sunt conectați la o rețea privată dedicată, independentă, cu toate avantajele pentru securitate, rețea care în realitate este doar virtuală, ea de fapt fiind o subrețea înglobată fizic în rețeaua de bază. Tehnologia VPN folosește o combinație de tunneling, criptare, autentificare și mecanisme și servicii de control al accesului, folosite pentru a transporta traficul pe Internet. Rețelele private virtuale au fost create din dorința de a avea o mai bună securitate asupra informațiilor transmise de către utilizatori prin retea. Tehnologiile VPN oferă o cale de a folosi infrastructurile rețelelor publice cum ar fi Internetul pentru a asigura acces securizat și privat la aplicații și resurse ale companiei.

1.2.3.4 Securitatea la nivelul aplicație

Se asigură implementarea tuturor serviciilor de securitate datorita nivelului aplicației, chiar mai mult, unele, de exemplu, nerepudierea mesajelor poate fi realizată numai la acest nivel. Un avantajul major al asigurării securității la acest nivel este independența de sistemele de operare și de protocoalele utilizate pe nivelele inferioare. Dar obligatoriu, trebuie menționat faptul că la acest nivel securitatea este dependentă de aplicație, adică trebuie implementată individual pentru fiecare aplicație.

2. ALGORITMI DE CRIPTARE

Criptologia este considerată ca fiind cu adevărat o știință de foarte puțin timp. Aceasta cuprinde atât criptografia – scrierea secretizată – cât și criptanaliza. De asemenea, criptologia reprezintă nu numai o artă veche, ci și o știința nouă: veche pentru că este utilizata de pe timpul lui Iulius Cezar, dar nouă pentru că a devenit o temă de cercetare academico-științifică abia începând cu anii 1970. Această disciplină este legată de multe altele, de exemplu de teoria numerelor, algebră, teoria complexității, informatică. Criptografia este definită ca fiind studiul tehnicilor matematice referitoare la aspecte de securitatea informației precum confidențialitate, integritate,autentificarea entităților, autentificarea provenienței datelor. [7]

2.1 Introducere in criptografie

Atunci când trimit o scrisoare prin poștă, majoritatea oamenilor obișnuiesc să sigileze plicul. Dacă i-am întreba de ce fac asta, probabil că mare parte dintre ei ar spune fie că acționează din reflex sau că fac la fel ca toată lumea, fie că lipirea plicului împiedică scrisoarea să se rătăcească. Chiar dacă plicurile nu conțin informații personale sau strict secrete, mulți speră ca scrierile lor să nu fie citite decât de destinatar, motiv pentru care ei aleg să sigileze plicurile. Cu toate acestea, dacă cineva își dorește cu adevărat să citească conținutul unei scrisori care nu îi aparține, ar putea să o facă foarte ușor, rupând plicul. La fel se întâmplă și în cazul email-urilor, care ar putea fi citite cu ușurință de unii programatori iscusiți.

Pentru a evita astfel de neplăceri, am putea opta pentru criptografie, metoda de codare care ne asigură că scrisoare va rămâne inteligibilă pentru intruși, măcar o perioadă de timp, până când aceștia reușesc să găsească cheia.

Criptografia reprezintă o ramură a matematicii care se ocupă cu securizarea informației precum și cu autentificarea și restricționarea accesului într-un sistem informatic. În realizarea acestora se utilizează atât metode matematice (profitând, de exemplu, de dificultatea factorizării numerelor foarte mari), cât și metode de criptare cuantică. Termenul criptografie este compus din cuvintele de origine greacă „ascuns” și „a scrie”.

Prin sistem criptografic, sau simplu criptosistem, înțelegem un ansamblu format din trei algoritmi, lucru sugerat in figura 2.1:

• un algoritm de generare a cheilor (cheie de criptare și cheie de decriptare);

• un algoritm de criptare – procesul prin care mesajul este transformat in mesaj cifrat, utilizând un algoritm de criptare si o cheie de criptare specifică

• un algoritm de decriptare – proces invers criptării, prin care mesajul cifrat este transformat in mesajul inițial, original, utilizând o funcție de decriptare si o cheie de decriptare.

Figura 2.1. Sistem Criptografic

Elementele care au marcat cotitura semnificativă în tarea metodelor criptografice :

• primul este legat de dezvoltarea rețelelor de calculatoare, al căror stimulent extraordinar s-a manifestat atât prin presiunea exercitată de tot mai mulți utilizatori cât și prin potențarea gamei de instrumente folosite efectiv în execuția algoritmilor de cifrare. Utilizarea calculatoarelor electronice a permis folosirea unor chei de dimensiuni mai mari, sporindu-se astfel rezistența la atacuri criptoanalitice. Când cheia secretă are o dimensiune convenabilă și este suficient de frecvent schimbată, devine practic imposibilă spargerea cifrului, chiar dacă se cunoaște algoritmul de cifrare.

• al doilea moment important în evoluția criptografiei moderne l-a constituit adoptarea unui principiu diferit de acela al cifrării simetrice. Whitfield Diffie și Martin Hellman au pus bazele criptografiei asimetrice cu chei publice. În locul unei singure chei secrete, criptografia asimetrică folosește două chei diferite, una pentru cifrare, alta pentru descifrare. Deoarece este imposibilă deducerea unei chei din cealaltă, una din chei este făcută publică fiind pusă la îndemâna oricui dorește să transmită un mesaj cifrat. Doar destinatarul, care deține cea de-a doua cheie, poate descifra și utiliza mesajul. Tehnica cheilor publice poate fi folosită și pentru autentificarea mesajelor, fapt care i-a sporit popularitatea.

Criptografia stă la baza multor servicii și mecanisme de securitate folosite în Internet, securizarea informației precum și autentificarea și restricționarea accesului într-un sistem informatic folosind metode matematice pentru transformarea datelor în intenția de a ascunde conținutul lor sau de a le proteja împotriva modificării.

2.2 Algoritmi criptografici cu chei simetrice

Criptografia cu chei simetrice se referă la metode de criptare în care atât trimițătorul cât și receptorul folosesc aceeași cheie (sau, mai rar, în care cheile sunt diferite, dar într-o relație ce la face ușor calculabile una din cealaltă). Acest tip de criptare a fost singurul cunoscut publicului larg până în 1976.

Pentru asigurarea confidențialității datelor memorate in calculatoare sau transmise prin rețele se folosesc preponderent algoritmi criptografici cu cheie secretă (simetrici). Ei se caracterizează prin aceea că atât pentru criptare cât și pentru decriptare este utilizată aceeași cheie secretă. Cheia de criptare este necesar de păstrat in secret față de utilizatorii neautorizați, pentru ca cel ce are acces la acesta cheie poate avea acces si la informația secretă.

Algoritmii criptografici simetrici se caracterizează printr-o viteza de cifrare foarte mare, in comparație cu algoritmii criptografici asimetrici și sunt comozi la cifrarea blocurilor mari de informație. Securitatea acestui tip de algoritm depinde in mare măsură de lungimea cheii si posibilitatea de a o păstra secreta. Algoritmii criptografici cu chei simetrice se utilizează în special în cazul transferului unei cantități mari de date. În cadrul acestui tip de algoritmi se pot folosi cifruri secvențiale sau cifruri bloc [8]. Mesajul este criptat la nivel de octet de către cifrurile secvențiale, pe rând, unul câte unul. Se utilizează un generator de numere pseudoaleatoare care este inițializat cu o cheie și generează ca rezultat o secvență de biți denumită cheie secvențială. Cifrarea se poate face si cu sincronizare (în cazul în care cheia secvențială depinde de textul în clar), respectiv fără sincronizare. Cele mai utilizate sunt cifrurile fără sincronizare. Pentru fiecare octet al textului în clar și cheia secvențială se aplică operația XOR (sau exclusiv). Fiind un algoritm simetric, la decriptare se utilizează operația XOR între biții textului cifrat și cheia secvențială, astfel obținându-se textul în clar. Cifrurile bloc criptează mesajul în blocuri de 64 sau 128 de biți. Se aplică o funcție matematică între un bloc de biți ai mesajului în clar și cheie (care poate varia ca mărime), rezultând același număr de biți pentru mesajul criptat. Funcția de criptare este realizată astfel încât să îndeplinească următoarele cerințe:

• știind un bloc de biți ai textului în clar și cheia de criptare, sistemul să poată genera rapid un bloc al textului criptat;

• știind un bloc de biți ai textului criptat și cheia de criptare/decriptare, sistemul să poată genera rapid un bloc al textului în clar;

• știind blocurile textului în clar și ale textului criptat, sistemului să-i fie dificil să genereze cheia. Avantajul consta in faptul ca utilizarea cifrurilor în bloc este mai sigură decât utilizarea cifrurilor secvențiale, deoarece fiecare bloc este procesat în parte.

Dezavantajează faptul ca algoritmii care folosesc cifruri bloc sunt mai lenți decât algoritmii care folosesc cifruri secvențiale.

2.2.1 Algoritmul DES

Standardul de Criptare a Datelor (în engleză Data Encryption Standard, DES) este un cifru (o metodă de criptare a informației), selectat ca standard federal de procesare a informațiilor în Statele Unite în 1976, și care s-a bucurat ulterior de o largă utilizare pe plan internațional. Algoritmul a fost controversat inițial, având elemente secrete, lungimea cheii scurtă și fiind bănuit că ascunde de fapt o portiță pentru NSA.

DES a fost analizat intens de către profesionaliști în domeniu și a motivat înțelegerea cifrurilor bloc și criptanaliza lor.

DES este astăzi considerat nesigur pentru multe aplicații. Acest lucru se datorează în principiu cheii de 64 de biți (dintre care doar 56 de biți sunt folosiți propriu-zis de algoritm, restul de 8 fiind folosiți ca biți de paritate), considerată prea scurtă; cheile DES au fost sparte în mai puțin de 24 de ore.

De asemenea, există unele rezultate analitice care demonstrează slăbiciunile teoretice ale cifrului, deși nu este fezabilă aplicarea lor. Se crede că algoritmul este practic sigur în forma Triplu DES, deși există atacuri teoretice și asupra acestuia.

DES este alcătuit din 16 pași identici de procesare, numiți runde, care produc textul cifrat. În urma studiilor s-a concluzionat că numărul de runde este exponențial proporțional cu timpul necesar aflării cheii secret folosind atacul de tip forță brută. Pe măsură ce crește numărul de runde, securitatea algoritmului creste exponențial.

Pașii de procesare sunt prezentați in figura 2.2:

1. Textul în clar este împărțit în blocuri de 64 biți.

2. Din cheia de 56 biți se generează 16 chei de 48 biți. Cheia de 56 biți folosită pentru criptare este în realitate folosită doar la generarea primei sub-chei și nu este folosită în mod direct pentru criptarea datelor.

3. Textul în clar, o dată împărțit în blocuri, este supus unui proces de permutare bazat pe un table care specifică modul în care biții sunt permutați: bitul unul este mutat pe poziția bitului 40, bitul 2 pe poziția 23 etc.

4. După realizarea permutării, biții sunt trecuți prin cele 16 runde, folosind câte una din cele 16 sub-chei generate.

5. Cei 64 biți creați la pasul 3 sunt pasați unei runde, unde sunt împărțiți în 2 blocuri de câte 32 biți și procesați cu cheia corespunzătoare rundei respective.

6. Pasul 4 este repetat de 16 ori. Rezultatul unei runde este livrat următoarei runde.

7. După terminarea celei de-a 16-a runde, cele 2 jumătăți de câte 32 biți sunt lipite, rezultând un bloc de 64 biți.

8. Blocul de 64 biți este din nou permutat, folosind funcția inversă celei de la pasul 3.

Faptul ca nu se ridică probleme deosebite într-o implementare software, este datorită ca lungimii cheii de lucru și a operațiilor elementare pe care le folosește algoritmul; singura observație este că, datorită modulului de lucru (cu secvențe de date, cu tabele) practic algoritmul este lent într-o implementare software. Modul de concepere îl face însă perfect implementabil hard (într-un cip) ceea ce s-a și realizat, existând multiple variante de mașini hard de codificare.

Figura 2.2. Algoritmul DES

2.2.2 Triplu DES

3DES, numit și Triple DES, este un cifru bloc care aplică de 3 ori DES, așa cum se poate observa in figura 2.3. In momentul când s-a observat că aceste chei de 56 biți folosite de DES nu sunt suficiente pentru a proteja datele împotriva atacurilor de tip forță brută, 3DES a fost soluția pentru mărirea spațiului cheilor fără a schimba algoritmul.

Figura 2.3. Algoritmul Triplu DES

Triple DES, cu 3 chei diferite de 56 biți are o lungime a cheii de 168 biți. Datorită atacurilor “meet-in-the-middle” (un atac generic, aplicabil mai multor sisteme criptografice), securitatea efectivă este doar de 112 biți.

2.2.3 Algoritmul AES

AES (de la Advanced Encryption Standard – în limba engleză, Standard Avansat de Criptare), cunoscut și sub numele de Rijndael, este un algoritm standardizat pentru criptarea simetrică, pe blocuri, folosit astăzi pe scară largă în aplicații și adoptat ca standard de organizația guvernamentală americană NIST (National Institute of Standards and Technology – Institutul National pentru Standarde si Tehnologie). Standardul oficializează algoritmul dezvoltat de doi criptografi belgieni, Joan Daemen și Vincent Rijmen și trimis la NIST pentru selecție sub numele Rijndael.

În propunerea avansată NIST, cei doi autori ai algoritmului Rijndael au definit un algoritm de criptare pe blocuri în care lungimea blocului și a cheii puteau fi independente, de 128 de biți, 192 de biți, sau 256 de biți. Specificația AES standardizează toate cele trei dimensiuni posibile pentru lungimea cheii, dar restricționează lungimea blocului la 128 de biți. Astfel, intrarea și ieșirea algoritmilor de criptare și decriptare este un bloc de 128 de biți. În publicația FIPS numărul 197, operațiile AES sunt definite sub formă de operații pe matrice, unde atât cheia, cât și blocul sunt scrise sub formă de matrice. La începutul rulării cifrului, blocul este copiat într-un tablou denumit stare (în engleză state), primii patru octeți pe prima coloană, apoi următorii patru pe a doua coloană, și tot așa până la completarea tabloului.

Algoritmul modifică la fiecare pas acest tablou de numere denumit stare, și îl furnizează apoi ca ieșire.

Pașii sunt următorii:

1) Pasul SubBytes

Figura 2.4 Pasul SubBytes

Pasul SubBytes este un cifru cu substituție , figura 2.4., fără punct fix, denumit Rijndael S-box, care rulează independent pe fiecare octet din state. Această transformare este neliniară și face astfel întreg cifrul să fie neliniar, ceea ce îi conferă un nivel sporit de securitate.

Fiecare octet este calculat astfel:

unde bi este bitul corespunzător poziției i din cadrul octetului, iar c este bitul corespunzător poziției i din octetul ce reprezintă valoarea hexazecimală 63, sau, pe biți, 01100011.

Maparea octeților se poate reține într-un tabel, explicitat în FIPS PUB 197, în care este specificat rezultatul operației de mai sus efectuată pe fiecare din cele 256 de valori posibile reprezentabile pe un octet.

2) Pasul ShiftRows

Figura 2.5 Pasul ShiftRows

Pasul ShiftRows, figura 2.5., operează la nivel de rând al metricii de stare state. Pasul constă în simpla deplasare ciclică a octeților de pe rânduri, astfel: primul rând nu se deplasează; al doilea rând se deplasează la stânga cu o poziție; al treilea rând se deplasează la stânga cu două poziții; al patrulea se deplasează la stânga cu trei poziții. Rezultatul acestui pas este că fiecare coloană din tabloul state rezultat este compusă din octeți de pe fiecare coloană a stării inițiale. Acesta este un aspect important, din cauză că tabloul state este populat inițial pe coloane, iar pașii ulteriori, inclusiv AddRoundKey în care este folosită cheia de criptare, operațiile se efectuează pe coloane.

3) Pasul MixColumns

Figura 2.6 Pasul MixColumns

În acest pas, figura 2.6., fiecare coloană a tabloului de stare este considerată un polinom de gradul 4 peste corpul Galois Fiecare coloană, tratată ca polinom, este înmulțită, modulo cu polinomul .

Operația se poate scrie ca înmulțire de matrice astfel:

unde sunt elementele de pe un vector coloană rezultate în urma înmulțirii, iar sunt elementele de pe același vector înaintea aplicării pasului.

Rezultatul are proprietatea că fiecare element al său depinde de toate elementele de pe coloana stării dinaintea efectuării pasului. Combinat cu pasul ShiftRows, acest pas asigură că după câteva iterații, fiecare octet din stare depinde de fiecare octet din starea inițială (tabloul populat cu octeții mesajului în clar). Acești doi pași, împreună, sunt principala sursă de difuzie în algoritmul Rijndael. Coeficienții polinomului a(x) sunt toți 1, 2 și 3, din motive de performanță, criptarea fiind mai eficientă atunci când coeficienții sunt mici. La decriptare, coeficienții pasului corespunzător acestuia sunt mai mari și deci decriptarea este mai lentă decât criptarea. S-a luat această decizie pentru că unele din aplicațiile în care urma să fie folosit algoritmul implică numai criptări, și nu și decriptări, deci criptarea este folosită mai des.

4) Pasul AddRoundKey și planificarea cheilor

Figura 2.7 Pasul AddRoundKey

În pasul AddRoundKey, figura 2.7., se efectuează o operație de sau exclusiv pe biți între octeții stării și cei ai cheii de rundă. Pasul AddRoundKey este pasul în care este implicată cheia. El constă într-o simplă operație de „sau” exclusiv pe biți între stare și cheia de rundă (o cheie care este unică pentru fiecare iterație, cheie calculată pe baza cheii secrete). Operația de combinare cu cheia secretă este una extrem de simplă și rapidă, dar algoritmul rămâne complex, din cauza complexității calculului cheilor de rundă (Key Schedule), precum și a celorlalți pași ai algoritmului.

2.2.4 IDEA

International Data Encryption Algorithm (Algoritmul IDEA) este un cod bloc simetric dezvoltat de Xuejia Lai și James Massey de la Institutul Federal al Tehnologiei din Elveția în anul 1990. El este patentat în Europa și în Statele Unite, dar poate fi utilizat gratuit în aplicații necomerciale. IDEA este unul dintre algoritmii care a fost propus pentru a înlocui DES. Acesta este unul dintre cei mai reușiți algoritmi din cei propuși (până în prezent nu a fost raportat nici un atac pentru decriptare reușit). De exemplu IDEA este inclus în PGP (Pretty Good Privacy) care a contribuit la răspândirea acestuia. IDEA este un cod bloc care folosește o cheie de 128 biți pentru a cripta blocuri de date de 64 de biți. Detaliile de proiectare a acestui algoritm sunt prezentate în cele ce urmează: Lungimea blocului: Lungimea blocului trebuie să fie destul de mare pentru a împiedica analiza statistică. În alta ordine de idei complexitatea implementării algoritmului de criptare crește exponențial cu lungimea blocului. Folosirea unui bloc de 64 biți este în general destul de puternică. Lungimea cheii: Lungimea cheii trebuie să fie destul de mare pentru a preveni căutarea exhaustivă. Confuzia: Legătura dintre mesajul original și cheie în mesajul criptat trebuie să fie cât mai complicată. Obiectivul este de a complica cât mai mult determinarea unor statistici din mesajul criptat care au legătură cu mesajul original. În acest scop IDEA folosește trei operații diferite spre deosebire de DES care se bazează pe operatorul XOR și pe cutiile S (S-boxes).

Difuzia: Fiecare bit din mesajul original trebuie să influențeze toți biții mesajului criptat și orice schimbare din cheie să influențeze orice bit din mesajul criptat. Această tehnică ascunde structura statistică a mesajului original. Din acest punct de vedere, IDEA este foarte eficace.

Revenind la ultimele două puncte, confuzia este obținută prin trei operații diferite. Fiecare dintre aceste operații este aplicată pe două segmente de intrare de 16 biți, producând o singură ieșire pe 16 biți. Aceste operații sunt:

• XOR (sau-exclusiv) pe biți.

• Adunarea de întregi modulo 216 (modulo 65 536) cu intrări și ieșiri tratate ca întregi pe 6 biți fără semn.

• Multiplicarea de întregi modulo 216+1 (modulo 65 537) cu intrări și ieșiri tratate ca întregi pe 16 biți fără semn.

IDEA este relative ușor de implementat atât software cât și hardware. Implementarea hardware (de obicei în VLSI) este proiectată pentru a obține o viteză foarte mare, în schimb cea software este mult mai flexibilă și mai ieftină.

• Se folosesc sub-blocuri: algoritmul poate opera cu sub-blocuri de 8, 16, 32 biți. Dimensiunea tipică este de 16 biți.

• Se folosesc operații simple: implementarea celor trei operații ce intervin în algoritmul IDEA

Principii de proiectare a implementării software:

• Criptarea și decriptarea sunt similare. Ele diferă doar prin ordinea folosirii sub-cheilor astfel încât același dispozitiv poate fi folosit atât pentru criptare, cât și pentru decriptare.

• Structură modulară: algoritmul trebuie să aibă o structură modulară care să faciliteze implementarea VLSI. IDEA este construit din două blocuri modulare de bază repetate de mai multe ori.

Schema bloc pentru criptarea IDEA este ilustrată în figura 2.8. Ca și în orice schemă de criptare, există două intrări: mesajul original și cheia de criptare. În acest caz, primul are lungimea de 64 biți, iar cheia este de 128 biți.

Urmărind partea stângă a figurii, se observă că algoritmul constă din 8 ture (runde) urmate de o transformare finală. Cei 64 biți de la intrare sunt divizați în 4 sub-blocuri de către 16 biți. Fiecare tură are ca intrare 4 sub-blocuri de 16 biți producând la ieșire tot 4 sub-blocuri de 16 biți. Aceeași regulă este valabilă și pentru transformarea finală, diferența fiind doar la ieșire unde cele 4 sub-blocuri sunt concatenate pentru a forma mesajul criptat. De asemenea fiecare tură folosește șase sub-chei de 16 biți, iar transformarea finală doar 4 sub-chei, în total fiind folosite 52 sub-chei. În partea dreaptă a figurii se observă că toate aceste sub-chei sunt generate din cheia originală de 128 biți.

Figura 2.8. Schema bloc a algoritmului IDEA

2.3 Algoritmi criptografici cu chei asimetrice

Criptografia asimetrică este un tip de criptografie care utilizează o pereche de chei: o cheie publică și o cheie privată. Un utilizator care deține o astfel de pereche își publică cheia publică astfel încât oricine dorește să o poată folosi pentru a îi transmite un mesaj criptat. Numai deținătorul cheii secrete (private) este cel care poate decripta mesajul astfel criptat. Matematic, cele două chei sunt legate, însă cheia privată nu poate fi obținută din cheia publică. In caz contrar, oricine ar putea decripta mesajele destinate unui alt utilizator, fiindcă oricine are acces la cheia publică a acestuia.

O analogie foarte potrivită pentru proces este folosirea cutiei poștale. Oricine poate pune în cutia poștală a cuiva un plic, dar la plic nu are acces decât posesorul cheii de la cutia poștală.

Criptografia asimetrică se mai numește criptografie cu chei publice.

Metodele criptografice în care se folosește aceeași cheie pentru criptare și decriptare sunt metode de criptografie simetrică sau criptografie cu chei secrete. Sistemele de criptare cu chei simetrice folosesc o singură cheie, atât pentru criptare cât și pentru decriptare. Pentru a putea folosi această metodă atât receptorul cât și emițătorul ar trebui sa cunoască cheia secretă. Aceasta trebuie sa fie unica pentru o pereche de utilizatori, fapt care conduce la probleme din cauza gestionarii unui număr foarte mare de chei. Sistemele de criptare asimetrice înlătura acest neajuns. De asemenea, se elimina necesitatea punerii de acord asupra unei chei comune, greu de transmis in condiții de securitate sporita intre cei 2 interlocutori.

Cele două mari ramuri ale criptografiei asimetrice sunt:

1.Criptarea cu cheie publică –un mesaj criptat cu o cheie publică nu poate fi decodificat decât folosind cheia privată corespunzătoare. Metoda este folosită pentru a asigura confidențialitatea.

2.Semnături digitale – un mesaj semnat cu cheia privata a emițătorului poate fi verificat de către oricine, prin acces la cheia publica corespunzătoare, astfel asigurându-se autenticitatea mesajului.

O analogie pentru semnăturile digitale ar fi sigilarea unui plic folosind un sigiliu personal. Plicul poate fi deschis de oricine, dar sigiliul personal este cel care verifică autenticitatea plicului.

O problema majoră în folosirea acestui tip de criptare este încrederea (dovada) că cheia publica este corectă, autentică și nu a fost interceptată sau înlocuită de o a treia parte rău voitoare. În mod normal problema este rezolvată folosind infrastructura cu cheie publică (PKI) în care una sau mai multe persoane asigură autenticitatea cheilor pereche. O altă

abordare folosită de PGP (Pretty Good Privacy) este cea a conceptului web of trust .

2.3.1 Algoritmul RSA

Algoritmul RSA a fost publicat pentru prima oară în 1977 de R. Rivest, A. Shamir și L. Adleman în revista “Scientific American” Sistemele de tipul RSA fac parte din categoria sistemelor criptografice cu cheie publică. Securitatea algoritmului se bazează pe problema factorizării numerelor foarte mari. Algoritmul poate fi utilizat pentru operații de: criptare/decriptare, semnare/verificare semnătura, asigurarea integrității datelor (prin semnare), schimb de chei. El este întâlnit în servere și browser-ere de web, în clienți și servere de e-mail, reprezentând practic coloana vertebrală a sistemului de plăți electronice prin card-uri de credit. [6] Algoritmul funcționează după cum urmează: [9]

• Se generează două numere prime p și q, de lungime biți. Deoarece mulțimea numerelor prime este suficient de densă, numerele prime pot fi generate alegând aleator numere întregi de n/2 biți și testându-le cu ajutorul unui test probabilistic. Apoi, fie

de lungime n biți.

• Numărul e trebuie ales astfel încât să îndeplinească următoarele condiții:

iar e și

să fie relativ prime, sau altfel spus, să nu aibă factori primi în comun.

• Se calculează d cu ajutorul algoritmului euclidian extins, astfel încât acesta să fie multiplul invers al lui e sau altfel spus

să fie divizibil cu

În practică, d se poate obține foarte simplu căutând rezolvarea

astfel încât d și x să fie numere întregi. Valorile d și e sunt numite exponentul privat, respectiv exponentul public al algoritmului.

• Funcția de criptare/semnare arată astfel:

unde M reprezintă mesajul de criptat (un întreg pozitiv mai mic decât N).

• Funcția de decriptare/verificare arată astfel:

unde C reprezintă textul criptat. Cheia publică este reprezentată de perechea (N, e), iar cheia privată de perechea (N, d). Numărul d mai este cunoscut și sub numele de “trap door”, deoarece cunoașterea sa permite inversarea rapidă a funcției RSA. Viteza algoritmului RSA depinde în mare măsură de lungimea cheilor utilizate, de tipul de implementare, de procesorul pe care se rulează aplicația, dar și de protocolul ce trebuie implementat. Deseori, pentru a obține o viteză sporită în aplicațiile practice, sunt utilizați exponenți publici mici, acest fapt implicând însă și riscuri corespunzătoare. Există chiar grupuri întregi de utilizatori care folosesc același exponent public, doar modulul N fiind diferit. În acest caz există însă reguli stricte ce trebuiesc respectate pentru cele două numere prime p și q, astfel încât siguranța algoritmului să nu fie periclitată.

Utilizând, cum spuneam, exponenți publici mici, se obține o viteză mai mare de criptare și verificare în comparație cu procesele inverse de decriptare și semnare a datelor. Utilizând algoritmii generali de calcul ai exponențialului, operațiile cu cheie publică consumă un timp proporțional cu O(n²) iar operațiile cu cheie privată necesită aproximativ O(n³) , unde n reprezintă numărul de biți ai lui N. Tehnicile de multiplicare rapidă, necesită de obicei mai puțini pași, sunt însă destul de rar folosite datorită complexității lor, și a faptului că pentru lungimi tipice de chei, ele sunt totuși mai lente.

Dacă comparăm viteza algoritmului RSA cu cea a unui algoritm cu cheie simetrică (DES de exemplu), putem observa că în funcție de implementare (HW sau SW) cel din urmă este cu până la aproximativ 1000 de ori mai rapid decât RSA. Cu toate acestea, utilizarea RSA în algoritmi de distribuire de chei (simetrice) sau în alte aplicații, în care viteza este mai puțin importantă, prezintă avantaje de netăgăduit. Securitatea sistemelor RSA se bazează pe presupunerea că funcția:

este unidirecțională, fiind computațional dificil de a se găsi mesajul inițial M în absența exponentului de decriptare d. Există însă posibilitatea, cel puțin teoretică, de a încerca factorizarea lui N prin metoda forței brute sau prin alte metode, fapt ce ar duce la aflarea numerelor p și q. Apoi utilizând algoritmul euclidian extins se poate calcula exponentul de decriptare d, ceea ce ar duce la compromiterea cheii private și la descifrarea textului criptat.

Încă de la publicarea sa, algoritmul RSA a fost studiat de o mulțime de cercetători, fiind supus la nenumărate teste. Cu toate că de-a lungul celor mai bine de 25 de ani de utilizare au rezultat diverse vulnerabilități, algoritmul s-a dovedit suficient de rezistent (până în prezent) pentru a putea oferi un grad ridicat de securitate. Metodele de atac rezultate nu fac decât să ilustreze încă o dată pericolul utilizării RSA în condiții necorespunzătoare, programarea unei versiuni sigure de RSA nefiind deloc o problemă simplă.

În practică, RSA este foarte des utilizat împreună cu algoritmi cu cheie simetrică (de exemplu DES). Se generează o cheie DES, cu care se criptează mesajul. Apoi, cheia simetrică se criptează cu ajutorul cheii publice a persoanei căreia îi este destinat mesajul și se trimite destinatarului împreună cu mesajul criptat (acestea două formează un “plic digital” RSA). Destinatarul va decripta mai întâi cheia DES cu ajutorul cheii sale private, apoi mesajul, cu ajutorul cheii simetrice, obținută din prima decriptare. Cheia DES poate fi în continuare utilizată și ca o cheie de sesiune. Pentru semnarea unui mesaj, mai întâi se creează o amprentă digitală (“message digest”) a acestuia cu ajutorul unei funcții hash. Aceasta se criptează cu ajutorul cheii private, rezultatul urmând a fi trimis destinatarului. Pentru verificarea semnăturii, se decriptează mesajul cu ajutorul cheii publice a semnatarului, obținând astfel amprenta digitală, care va fi comparată cu cea obținută aplicând din nou funcția hash asupra mesajului. Dacă cele două amprente sunt identice, rezultă faptul că semnătura digitală este autentică.

În momentul de față, RSA este utilizat într-o varietate de produse, platforme și standarde. El poate fi întâlnit în sisteme de operare, precum: Microsoft, Apple, Sun sau Novell, în componente hardware, precum: sisteme telefonice, card-uri de rețea sau smartcard-uri, în protocoale de comunicație, precum: S/MIME, SSL, IPSec, PKCS. El este în mod sigur cel mai răspândit algoritm cu cheie publică utilizat la ora actuală.

În ultimul timp a devenit clar că sistemele cu chei publice sunt un mecanism indispensabil atât pentru managementul cheilor cât și pentru comunicațiile sigure. Ceea ce este mai puțin clar este modalitatea de a alege cel mai bun sistem într-o anumită situație. Unul dintre criteriile cele mai des folosite pentru a alege îl constituie tehnica utilizată de algoritm. Fără o cunoaștere profundă a acesteia, a vulnerabilităților, dar mai ales a metodelor de atac, cu greu mai putem concepe astăzi programarea unui versiuni robuste și sigure a unui algoritm criptografic.

Mai mult de două decenii de atacuri împotriva RSA au produs o serie de atacuri interesante, dar nu au fost găsite (până în prezent) metode astfel încât algoritmul să fie compromis. Se poate deci presupune că implementările RSA, ce respectă un set de reguli bine stabilit, pot furniza un grad ridicat de securitate.

2.3.2 Algoritmul Diffie-Hellman

Whitfield Diffie si Martin Hellman au propus acest algoritm care este utilizat exclusiv pentru operațiile de schimbare de chei. Fiecare parte utilizează cheia sa privata si cheia publica a corespondentului pentru a crea o cheie simetrica pe care nici un alt utilizator nu o poate calcula. Protocolul începe cu fiecare parte care generează independent câte o cheie privată. În pasul următor, fiecare calculează câte o cheie publică, aceasta fiind o funcție matematică a cheilor private respective. Urmează schimbul de chei publice. În final, fiecare dintre cele două persoane calculează o funcție a propriei chei private și a cheii publice a celeilalte persoane. Matematica este cea care va face să se ajungă la aceeași valoare, care este derivată din cheile lor private. Securitatea acestui algoritm consta în dificultatea calculării logaritmilor discreți. Calculul acestor logaritmi pentru numere prime mari este considerat imposibil. În primul rând de definește a – rădăcina primitivă a unui număr prim p, ca fiind un număr a cărui puteri generează toți întregii de la 1 la p-1 prin aplicarea operației (mod p). Adică dacă a este rădăcina primitivă a unui număr p atunci numerele:

sunt distincte și constau din întregii de la 1 la p-1 într-o anumită permutare.

Pentru un întreg b și o rădăcină primitivă a unui număr p se poate găsi un unic exponent astfel încât:

Exponentul i se calculează prin logaritm discret (prezentat în literatura de specialitate ca fiind deosebit de dificil de determinat).

Metoda Diffie-Hellamn, precum și variantele ei sunt utilizate în câteva protocoale de securitate a rețelelor, și la Pretty Good Privacy pentru criptarea e-mail-urilor și a unor fișiere.

2.3.3 Semnături digitale

Standardul pentru semnături digitale (DSS – Digital Signature Standard) a fost adoptat în 1991, fiind revizionat în 1993. El folosește Secure Hash Algorithm (SHA) și prezintă o tehnică nouă pentru semnături digitale prin Digital Signature Algoritm (DSA). Spre deosebire de RSA acest algoritm este proiectat doar pentru furnizarea semnăturilor digitale nu și pentru funcții de criptare și decriptare, dar totuși este o metodă care folosește chei publice.

Figura 2.9 evidențiază diferența dintre modul de generare a semnăturilor digitale folosite de DSS și algoritmul RSA, creându-se astfel o paralela intre cele 2. În RSA, partea de mesaj care se dorește a reprezenta în final semnătura, este trecută printr-o funcție de amestecare (hash function) producând un cod amestecat (hash code) de lungime fixă, acesta fiind mai apoi criptat cu cheia privată a expeditorului formând semnătura digitală. Atât mesajul propriu-zis cât și semnătura digitală sunt transmise destinatarului. Destinatarul produce pe baza mesajului (fără partea care include semnătura) codul amestecat. De asemenea destinatarul decriptează semnătura folosind cheia publică a sursei. Dacă codul amestecat rezultat și semnătura obținută prin decriptare coincid, atunci semnătura este validată. Deoarece numai sursa cunoaște cheia sa privată rezultă că numai ea poate produce o semnătură validă.

Figura 2.9 Cele două abordări a semnăturilor digitale

Funcții de amestecare sunt folosite de asemenea si de Algoritmul DSS. Codul amestecat produs este folosit ca intrare într-o “funcție-semnătură” împreună cu un număr k generat aleator. “Funcția-semnătură” mai depinde și de cheia privată a sursei KRa precum și de un set de parametri cunoscuți participanților. Se consideră că acest set de parametrii constituie o cheie globală KUG. Rezultatul este o semnătură care constă din două componente notate s și r. La destinație un cod amestecat este generat pe baza mesajului recepționat. Acesta și semnătura servesc ca intrare funcției de verificare. Aceasta depinde de asemenea de cheia publică a sursei KUa și de cheia publică globală. Dacă ieșirea produsă de funcția de verificare coincide cu r (o parte din semnătură) atunci semnătura este validă.

2.4 Concluzii

Criptografia cu chei simetrice și cea cu chei publice prezintă atât avantaje și dezavantaje. Deoarece în cadrul criptografiei simetrice este utilizată aceeași cheie atât pentru criptare, cât și pentru decriptare, securitatea acestei criptări este redusă, depinzând în mod evident de împiedicarea obținerii cheii secrete de către o terță parte. De cele mai multe ori este necesară securizarea schimbului de chei înainte de începerea propriu-zisă a interschimbului de date criptate. În cazul algoritmilor asimetrici securitatea este asigurată prin folosirea cheii private și utilizarea certificatelor digitale. Algoritmii asimetrici sunt ecuații matematice complexe care operează cu numere foarte mari, ceea ce implică o relativă încetineală a procesului. Algoritmii simetrici sunt de obicei mult mai rapizi, având însă problema partajării cheii de criptare. Un astfel de algoritm este cu atât mai sigur, cu cât lungimea cheii este mai mare (numărul cheilor care ar putea fi testate de o persoană neautorizată crește). În practică se preferă combinarea celor două forme de criptografie, pentru optimizarea performanțelor. In tabelul de mai jos sunt evidențiate in paralel avantajele si dezavantajele celor doua chei:

3. SECURIZAREA COMUNICATIILOR DIGITALE PRIN INTERMEDIUL VPN

(VIRTUAL PRIVATE NETWORK)

O tehnologie de comunicații computerizată sigură, dar bazată pe o rețea publică este o rețea privată virtuală,și de aceea nu foarte sigură. Tehnologia VPN este concepută tocmai pentru a crea într-o rețea publică o subrețea de confidențialitate aproape la fel de înaltă ca într-o rețea privată adevărată la care sunt legați numai utilizatori autorizați. Tehnologia VPN este concepută tocmai pentru a crea într-o rețea publică o subrețea de confidențialitate aproape la fel de înaltă ca într-o rețea privată adevărată la care sunt legați numai utilizatori autorizați. În mod intenționat această subrețea, denumită totuși "rețea VPN", nu poate comunica cu celelalte sisteme sau utilizatori ai rețelei publice de bază. Utilizatorii unei rețele VPN pot căpăta astfel impresia că sunt conectați la o rețea privată dedicată, independentă, cu toate avantajele pentru securitate, rețea care în realitate este doar virtuală, ea de fapt fiind o subrețea înglobată fizic în rețeaua de bază.

O rețea privată virtuală este o rețea partajată în care datele private sunt segmentate de restul traficului, astfel încât numai destinatarul real are acces la ele, un exemplu general este ilustrat în figura următoare. Figura 3.1. prezintă o rețea VPN în care întreprinderile A și B nu se "văd" și nu se deranjează reciproc, deși ambele folosesc aceeași rețea fizică publică.

Figura 3.1 Rețele private virtuale

Rețelele VPN oferă multe avantaje: extinde aria geografică de conectivitate, sporește securitatea, reduce costurile operaționale, crește productivitatea, simplifică topologia rețelei, oferă oportunități de lucru într-o rețea globală, permite confidențialitatea datelor schimbate între punctele de lucru aflate la distanță și altele. În plus, VPN-urile securizate sunt mai ieftine decât liniile închiriate dedicate.

Un aspect important, vital al securității datelor este faptul că datele, în cursul lor spre destinatar, sunt protejate prin tehnologii de criptare. Un punct slab este ca rețelelor private le lipsește securitatea datelor, permițând astfel intrarea în rețea și citirea datelor. În schimb, rețelele private virtuale bazate pe IP Sec utilizează criptarea pentru a secretiza date, crescând astfel rezistența rețelei din punct de vedere al furtului datelor.

3.1 Tipuri de rețele VPN

Sunt trei tipuri principale de rețele VPN, figura 3.2.:

– VPN-urile cu acces de la distanță (Remote Access VPN) permit utilizatorilor dial-up să se conecteze securizat la un site central printr-o rețea publică.

– VPN-urile intranet (Intranet VPN) permit extinderea rețelelor private prin Internet sau alt serviciu de rețea publică într-o manieră securizată. Acestea sunt denumite și VPN-uri „site-to-site” sau „LAN-to-LAN”.

– VPN-urile extranet (Extranet VPN) permit conexiuni securizate între partenerii de afaceri, furnizori și clienți, în general în scopul realizării comerțului electronic. VPN-urile extranet sunt o extensie a VPN-urilor intranet la care se adaugă firewall-uri pentru protecția rețelei interne.

Figura 3.2 Tipuri de rețele VPN

3.1.1 Remote VPN

VPN-urile de tip acces de la distanță (remote access), numite și rețele virtuale private cu dial-up, este un tip de conexiune utilizator-către-LAN (figura 3.3) folosită cel mai adesea de companii ce au angajați cu necesități de conectare la resursele rețelei companiei din diverse locații.

Figura 3.3 Remote VPN

De regulă în momentul când se dorește accesul mai multor utilizatori la rețeaua locală, se apelează la o companie de out-sourcing ce folosește un server de acces în rețea pentru a acorda drepturi utilizatorilor și calculatoarelor acestora.

În general, în cazul implementării unei tehnologii VPN între sediile companiei, este de preferat să se apeleze la același ISP pentru toate locațiile. Apropierea geografică de regulă nu are nici o legătura cu “apropierea pe Internet”. Prin utilizarea de echipamente dedicate și criptare pe scară largă, o companie poate conecta multe locații (sucursale) fixe pe o rețea publică cum ar fi Internetul.

3.1.2 Intranet VPN

Rețeaua virtuală privată între sediile și departamentele aceleiași firme. Intranet-ul este definit ca o legătura semi-permanentă peste o rețea publică între un WAN și o filială a companiei. Aceste tipuri de conexiuni LAN-LAN (Fig. 3.4) se presupune că au cel mai mic risc din punct de vedere al securității pentru ca firmele au încredere în filialele lor. În astfel de cazuri compania are control asupra rețelei/nodurilor destinație cât și asupra celei sursă. Administratorii de sistem trebuie să decidă dacă aceasta situație este întâlnită și în propria firmă.

Cantități mari de date sunt schimbate frecvent între LAN-uri într-o rețea privată, deci importantă este viteza de transmisie și interoperabilitatea. LAN-urile care sunt conectate prin intermediul unor baze de date centralizate sau prin alte resurse de calcul răspândite în rețeaua firmei ar trebui să fie considerate ca făcând parte din aceeași rețea. Motivul principal pentru care majoritatea organizațiilor se orientează către tehnologia VPN este costul redus al acestei implementări.

Figura 3.4 Intranet VPN

3.1.3 Extranet VPN

Rețeaua virtuală privată care este relativ izolată față de intranet. Extranetul este destinat comunicării cu partenerii, clienții, furnizorii și cu angajații la distanță. Securizarea unei rețele de dimensiuni mari necesită îndrumări și instrumente adecvate. Un extranet VPN trebuie să ofere o ierarhie a securității și accesarea datelor confidențiale să se facă sub cel mai strict control. Principalul obiectiv al unui Extranet sau al VPN-ului între companii este să se asigure ca datele secrete ajung intacte și exact cui îi sunt adresate fără a exista riscul de a expune resursele protejate unor eventuale amenințări, așa ca firmele ar trebui să ia în considerare cele mai avansate soluții de VPN.

Figura 3.5 Extranet VPN

Un Extranet VPN, figura 3.5. sigur, în care o companie împarte informații cu clienții, partenerii, furnizorii și angajații aflați la distanță prin intermediul rețelei publice stabilind legături unidirecționale de la un capăt la altul printr-un server VPN. Acest tip de sistem permite unui administrator de rețea să definească drepturi specifice, cum ar fi cele ce ar permite unui membru din conducerea unei firme partenere să acceseze diferite/anumite rapoarte de vânzări de pe un server protejat. Acest tip de acces nu este posibil cu orice tip de soluție VPN.

Într-o situație reală de interconectare între parteneri de afaceri, administratorii trebuie să caute o soluție de VPN care să filtreze accesul la resurse în funcție de cât mai multe parametrii posibili, inclusiv sursa, destinația, utilizarea aplicației, tipul de criptare și autentificare folosit, și identitățile individuale și de grup. Managerii de sistem trebuie să identifice utilizatorii individual, nu numai adresele IP, fie prin parole, token card, smart card, sau orice alta metode de autentificare. Parolele sunt de obicei suficiente pentru o aplicație obișnuită de birou, dar nu sunt la fel de sigure precum token-urile sau smart card-urile.

Rețelele private virtuale folosesc Internetul pentru a conecta mai multe rețele LAN între ele, printr-o conexiune sigură. Conexiunile VPN realizează acest lucru cu două procese importante: crearea de tunele și securizarea. Mai întâi, o rețea VPN creează un circuit ,,virtual" între cele două puncte conectate, prin intermediul Internetului. Apoi, folosește metoda creării de tunele pentru a înfășura datele în protocolul (limbajul) Internetului – TCP/IP – astfel încât să poată fi transportate cu ușurință. Prin securizare se înțelege criptarea și încapsularea pachetelor trimise, astfel încât numai destinatarul căreia i se adresează să le poată decodifica și citi.

3.2 Protocoale de tunelare

Pentru a se face posibila implementarea rețelei VPN este necesară crearea unui tunel printr-o rețea publică pentru transferul datelor. Tunelarea este definita ca fiind o metodă de folosire a infrastructurii unei inter-rețele pentru transferul datelor dintr-o rețea peste o altă rețea. Datele de transferat pot fi cadrele (sau pachetele) altui protocol. În loc de a transmite cadrul în forma în care a fost produs de nodul sursă, protocolul de tunelare încapsulează cadrul într-un antet adițional. Acesta conține informații de rutare astfel încât încărcătura încapsulată poate traversa inter-rețeaua intermediară. Pachetele încapsulate sunt apoi rutate între capetele tunelului prin inter-rețea. Calea logică pe care pachetele încapsulate o urmează în inter-rețea se numește tunel. Odată ce cadrele încapsulate ajung la destinație prin inter-rețea, cadrul este decapsulat și trimis la destinația sa finală. De notat că tunelarea include întregul proces: încapsulare, transmitere și decapsulare a pachetelor.

Figura 3.3 Protocoale folosite pentru VPN

În esență, tunelarea este procesul prin care se introduce întreg pachetul IP în interiorul unui alt pachet, cu antete distincte, acesta fiind trimis ulterior prin rețea. Protocolul pachetului rezultat în urma tunelării este recunoscut de către rețea și de către ambele noduri sursă și destinație, la nivelul interfețelor de tunelare, prin care pachetele intră și ies din rețea. Tehnologia de tunelare poate fi bazată pe un protocol de tunelare pe nivel 2 sau 3. Aceste nivele corespund modelului de referință OSI (figura 3.3.).

3.2.1 Protocoale de nivel 2 OSI

Protocoalele de tunelare de nivel 2 corespund nivelului legătură de date, și folosesc cadre ca unitate de schimb. Ele încapsulează încărcătura într-un cadru PPP pentru a fi transmis peste inter-rețea. Pentru tehnologiile de nivel 2, cum ar fi PPTP sau L2TP, un tunel este asemănător cu o sesiune; ambele capete ale tunelului trebuie să cadă de acord asupra tunelului și să negocieze variabilele de configurare, cum ar fi atribuirea adreselor, criptarea, comprimarea. În cele mai multe cazuri, datele transferate prin tunel sunt trimise folosind un protocol bazat pe datagrame. Pentru gestionarea tunelului se folosește un protocol de menținere a tunelului. Pentru protocoalele de nivel 2, un tunel trebuie creat, menținut și distrus. [10]

Layer 2 forwarding este un protocol de tip forwarding, folosit pentru tunelarea protocoalelor de nivel înalt într-un protocol de nivel 2. Un exemplu este folosirea ca protocoale L2: HDLC, HDLC asincron sau cadre SLIP. Deși această soluție facilitează conectivitatea pe linii de acces în rețele cu comutație de circuite, informația din fluxul L2F nu este criptată. Acest protocol a fost creat de Cisco. Combinat cu PPTP, constituie componentă a L2TP.

Point to point tunneling protocol, reprezintă o extensie a Point-to-Point Protocol (PPP), care încapsulează datele, IPX sau NetBEUT în pachetele IP. Acest protocol este folosit în mod fundamental de echipamentele ISP, deoarece duce la un numitor comun participanții la sesiuni de comunicații. Este cea mai cunoscută dintre opțiunile pentru securitatea transferului de date în rețeaua VPN. Dezvoltat de Microsoft și inclus în Windows NT v 4.0 pentru a fi folosit cu serviciul de rutare și acces de la distanță. Acesta permite traficului IP, IPX și NetBEUI să fie criptat și încapsulat într-un antet IP pentru a fi transmis peste o inter-rețea IP de corporație sau publică (Internet).

PPTP suportă criptare pe 128 de biți și 40 de biți și poate folosi orice schemă de autentificare suportată de PPP. Ca și L2F, PPTP permite tunneling-ul unor cadre PPP de la clientul îndepărtat între un NAS și un VPN gateway/concentrator.

Layer 2 Tunneling Protocol, este o combinație dintre un protocol al firmei Cisco Systems (L2F) și cel al firmei Microsoft denumit Point-to-Point Tunneling Protocol (PPTP). Un tunel L2TP este creat încapsulând un cadru L2TP in interiorul unui pachet UDP, cel din urma fiind încapsulat in interiorul unui pachet IP a cărui adrese sursa si destinație definesc capetele tunelului.

Fiind conceput pentru a suporta orice alt protocol de rutare, incluzând IP, IPX și AppleTalk, acest L2TP poate fi rulat pe orice tip de rețea WAN, inclusiv ATM, X.25 sau SONET. Cea mai importantă trăsătură a L2TP este folosirea protocolului Point-to-Point, inclus de Microsoft ca o componentă a sistemelor de operare Windows 95, Windows 98 și Windows NT. Astfel că orice client PC care rulează Windows este echipat implicit cu o funcție de tunneling, iar Microsoft furnizează și o schemă de criptare denumită Point-to-Point Encryption. În afara capacității de creare a unei VPN, protocolul L2TP poate realiza mai multe tunele simultan, pornind de la același client.

Următorul tabel (tabel 3.1) ne oferă o comparație intre cele mai predominante protocoale de tunelare cu acces la distanță (remote acces), L2TP, PPTP și L2F:

Tabel 3.1 Comparație intre protocoale de tunelare cu acces la distanta

3.2.2 Protocoale de nivel 3 OSI

Protocoalele de nivel 3 corespund nivelului rețea, folosesc pachete IP și sunt exemple de protocoale care încapsulează pachete IP într-un antet IP adițional înainte de a le transmite peste o inter-rețea IP. Tehnologiile de tunelare pe nivel 3 pleacă de la premiza că toate chestiunile de configurare au fost efectuate, de multe ori manual. Pentru aceste protocoale, poate să nu existe faza de menținere a tunelului. Tunelul odată stabilit, datele tunelate pot fi trimise. Clientul sau serverul de tunel folosește un protocol de transfer de date de tunel pentru a pregăti datele pentru transfer. De exemplu, când clientul de tunel trimite informația utilă către serverul de tunel, clientul de tunel adaugă un antet de protocol de transfer de date de tunel la informația utilă. Apoi clientul trimite informația încapsulată rezultată prin inter-rețea, care o dirijează către serverul de tunel. Serverul de tunel acceptă pachetul, elimină antetul de protocol de transfer de date și transmite informația utilă la rețeaua țintă. Informația trimisă între serverul de tunel și client se comportă similar.

Generic Routing Encapsulation este un protocol de tunelare dezvoltat de Cisco care poate încapsula o mare varietate de tipuri de pachete ale protocoalelor de rețea în interiorul tunelelor IP, creând o legătură virtuală punct la punct, între routere aflate la distanță, peste o rețea IP.

Pentru rutarea cu adrese private, se încapsulează pachetele IP transmise în Internet cu antete suplimentare prin așa-numitul mecanism GRE, descris în RFC 1701. Pachetului inițial (payload packet /original packet) i se adaugă un antet GRE (GRE Header) și un antet de expediere privind modul de transfer specificat conform protocolului de rețea (delivery header).

În antetul GRE se specifică ruta pe care se va trimite forțat pachetul la destinație, fără a se lua alte decizii de rutare în routerele intermediare.

GRE asigură transparența adreselor intermediare și securitatea transmisiei, prin realizarea unui așa numit "tunel de transmisie" (tunnelling).

Uzual este cazul încapsulării pachetelor IP pentru transmisii cu IP (IP over IP) conform RFC 1702, standard definit pentru GRE. Adresele IP private pot fi utilizate în încapsularea GRE astfel încât cadrul să fie interpretat ca fiind încapsulat GRE și routerele 'de la distanță' să extragă adresa de destinație privată din pachetul original.

Tunelarea are implicații importante pentru VPN-uri. Astfel se pot transmite pachete care utilizează adrese IP private în interiorul unui pachet care utilizează adrese IP reale, în acest fel se poate extinde rețeaua privată prin Internet. Dar se poate transmite și un pachet care nu este suportat de protocolul Internet (precum NetBeui) în interiorul unui pachet IP iar acesta poate fi apoi transmis cu ușurință prin Internet.

Deși VPN-urile construite peste Internet folosind GRE sunt posibile, sunt foarte rar folosite de companii datorită riscurilor și lipsei de mecanisme de securitate.

Internet Protocol Security sau IPSec, este o suită de protocoale care asigură securitatea unei rețele virtuale private prin Internet.

Orice persoana care folosește VPN este preocupata de securizarea datelor când traversează o rețea publică. Totodată, dezvoltarea VPN-urilor pe baza rețelei publice Internet poate însemna reducerea costurilor semnificativ de mult comparativ cu liniile închiriate. Serviciile IPSec permit autentificare, integritate, controlul accesului și confidențializare. Cu IPSec, schimbul de informații între locațiile la distanță poate fi criptat și verificat. Cu IPSec pot fi dezvoltate soluții atât la distanță, cât și site-to-site. IPSec este poate cel mai autorizat protocol pentru păstrarea confidențialității și autenticității pachetelor trimise prin IP. Protocolul funcționează cu o largă varietate de scheme de criptare standard și negocieri ale proceselor, ca și pentru diverse sisteme de securitate, incluzând semnături digitale, certificate digitale, chei publice sau autorizații. Încapsulând pachetul original de date într-o destinație. Deoarece nu există modalități de autentificare sau criptare licențiate, IPSec se detașează de celelalte protocoale prin interoperabilitate. El va lucra cu majoritatea sistemelor și standardelor, chiar și în paralel cu alte protocoale VPN. De exemplu, IPSec poate realiza negocierea și autentificarea criptării în timp ce o rețea virtuală de tip L2TP primește un pachet, inițiază tunelul și trimite pachetul încapsulat către celălalt terminal VPN.

IPSec folosește un algoritm pentru schimbarea cheilor între părți, numit Internet Key Exchange (IKE), care permite calculatoarelor să aleagă o cheie de sesiune în mod securizat, folosind protocoalele ISAKMP pentru crearea de Securit Association și OAKLEY bazat pe algoritmul Diffie-Hellman pentru schimbarea cheilor între cele două părți. IKE se poate folosi în conjuncție cu Kerberos, certificate X.509v3 sau chei preshared.

Pentru a securiza comunicația în rețea cu IPSec între calculatoarele Windows se folosește 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 linie de comandă.

Implementarea unei soluții VPN de comunicație reliefează unele probleme specifice, probleme ce apar din cauza absenței standardelor. Internet Engineering Task Force (IETF) a stabilit un grup de lucru dedicat definirii standardelor și protocoalelor legate de securitatea Internetului. Unul dintre cele mai importante scopuri ale acestui grup de lucru este finalizarea standardului IPSec, care definește structura pachetelor IP și considerentele legate de securitatea în cazul soluțiilor VPN.

In ultimi ani in cadrul IETF, grupul de lucru IPSec a înregistrat mari progrese în adăugarea de tehnici de securitate criptografice la standardele pentru infrastructura Internet. Arhitectura de securitate specificată pentru IP oferă servicii de securitate ce suportă combinații de autentificare, integritate, controlul accesului și confidențialitate. Tunele GRE cu protecție IPSec. GRE este un protocol de tunelare dezvoltat de Cisco care poate înmagazina o multitudine de tipuri de pachete ale protocoalelor de rețea în interiorul tunelelor IP, creând o legătură virtuală punct la punct, între routere aflate la distanță, peste o rețea IP.

Tunelele GRE sunt create să fie complete, fără o stare persistentă, astfel fiecare capăt de tunel nu încapsulează nicio informație despre starea și disponibilitatea capătului de tunel de la distanță. O urmare a faptului acesta este că ruter-ul din capătul de tunel nu are abilitatea de a marca protocolul liniei interfeței tunelului GRE ca fiind inaccesibil dacă ruter-ul de la distanță, din celălalt capăt, nu este funcțional. Posibilitatea de a exprima că interfața este nefuncțională către celălalt capăt este eficientă pentru retragerea rutelor care o folosesc ca și interfață de ieșire, din tabela de rutare (în special rutele statice).

De cele mai multe ori, o interfață de tunel GRE este funcțională din momentul în care este configurată și rămâne așa cât timp este o adresă sursă a tunelului validă. Adresa IP destinație a tunelului trebuie să fie mereu rutabilă. Acest lucru este adevărat chiar dacă celălalt capăt al tunelului nu a fost configurat. Astfel, o rută statică a pachetelor via interfața tunelului GRE rămâne în vigoare chiar dacă pachetele tunelului GRE nu găsesc celălalt capăt de tunel.

Construirea unei rețele virtuale private folosind IPSec pentru conectivitatea dintre capete are câteva limitări:

– IPSec poate cripta/decripta doar traficul IP

– traficul IP destinat unei adrese de difuzare nu poate fi procesat de IPSec, ceea ce înseamnă că nu poate traversa tunelul.

– de asemenea, rutarea dinamică folosind protocoale ca EIGRP, OSPF, RIPv2 nu pot fi configurate între două capete IPSec. Aceste probleme se pot rezolva prin configurarea unui tunel GRE între cele două noduri și aplicarea ulterioară a protecției IPSec pe acest tunel. Este în esență că GRE încadrează orice informație utilă dintr-un pachet unicast destinat unui capăt GRE. In momentul când se utilizează GRE îmbinat cu IPSec se poate folosi atât modul tunel cât și cel transport (modul tunel va adăuga un antet IP pachetelor GRE, în timp ce modul transport va folosi antetul original GRE).

Teoretic, modul transport se recomanda in momentul când se utilizează combinarea dintre IPSec și GRE pentru că deja protocolul de încapsulare GRE adaugă un antet IP nou pachetului util. Totuși, această situație presupune existența unor adrese IP sursă și destinație care sunt accesibile prin calea IP dintre noduri.

Utilizarea protocolului GRE împreună cu IPSec face configurarea echipamentelor VPN mai simplă. În situația tradițională IPSec era nevoie de o politică anume care să specifice subrețelele protejate pentru ca traficul dintre acestea să fie criptat/decriptat și de fiecare dată când o subrețea era adăugată trebuia să fie reînnoită structura la ambele capete. În cazul utilizării GRE, regulile trebuie să corespundă doar traficului dintre adresele de capăt GRE (tot ce trece prin tunelul GRE este criptat).

Unul din multiplele motive pentru care este bine sa folosești GRE combinat cu IPSec este faptul ca exista astfel posibilitatea de a rula protocoale dinamice între locații pentru a anunța subrețelele protejate. Rutarea dinamică ajută implicit și în situații de eșec a transferului, in acest fel se pot detecta interfețele care nu mai funcționează și nu mai participă în VPN.

3.3 Standardizarea rețelelor VPN – protocoalele ISAKMP si IPSec

ISAKMP (Internet Security Association and Key Management Protocol – Protocolul pentru Managementul Cheilor si Asociația Securității Internetului) , un protocol cheie în arhitectura IPSec, combina conceptele de securitate ale autentificării, gestionarea cheilor și asocieri de securitate pentru a stabili nivelul de securitate necesar pentru guverne, comunicații comerciale și private de pe Internet .

ISAKMP definește procedurile și formatele de pachete pentru a stabili, negocia, modifica și șterge asocierile de securitate (SAs). Acestea conțin toate informațiile necesare pentru executarea diferitelor servicii de securitate de rețea, cum ar fi serviciile de la nivelul IP (cum ar fi autentificarea antetului și încapsulare încărcăturii) , nivelul transport sau servicii de la nivelul aplicație, sau auto-protecția traficului de negociere. ISAKMP definește încărcături pentru schimbul de generare a cheii și datele de autentificare. Aceste formate oferă un cadru coerent pentru transferul cheilor și autentificarea datelor independente de tehnica de generare a cheilor, algoritmul de criptare și mecanism de autentificare.

ISAKMP este diferit de protocoale de schimb de chei, în scopul de a separa detaliile de management ale asocierilor de securitate (și de gestionare a cheilor) de detaliile de schimb de chei. Pot exista mai multe protocoale diferite de schimb de chei, fiecare cu proprietăți diferite de securitate. Cu toate acestea, este necesar un cadru comun de acord cu formatul atributelor asocierilor de securitate și pentru negocierea, modificarea și ștergerea asocierilor. ISAKMP servește ca acest cadru comun.

Separarea funcționalității în trei părți adaugă complexitate analizei securității unei implementări ISAKMP complete. Cu toate acestea, separarea este esențială pentru interoperabilitate între sisteme cu cerințele de securitate diferite și ar trebui să simplifice, de asemenea, analiza evoluției ulterioare a unui server ISAKMP. ISAKMP este destinat să sprijine negocierile asocierilor pentru protocoale de securitate la toate nivelurile stivei de rețea (de exemplu, IPSEC, TLS, TLSP, OSPF, etc.). Prin centralizarea managementului asocierilor de securitate, ISAKMP reduce cantitatea de funcționalitate duplicat în fiecare protocol de securitate.

IPSec a apărut în cadrul efortului de standardizare pentru IPv6 și reprezintă singura soluție deschisă pentru securizarea conexiunilor pe Internet. IPSec poate fi configurat pentru două moduri distincte: modul tunel și modul transport. În modul tunel, IPSec încapsulează pachetele IPv4 în cadre IP securizate, pentru transferul informației, între două sisteme firewall, de exemplu. În modul transport, informația este încapsulată altfel încât ea poate fi securizată între punctele terminale ale conexiunii, deci "ambalajul" nu ascunde informația de rutare cap-la-cap. Modul tunel este cea mai sigură metodă de securizare, însă crește gradul de încărcare a sesiunii de comunicație, prin mărirea dimensiunilor pachetelor.

Controlul securității se poate face la oricare dintre cele patru nivele ale stivei TCP/IP; datele sunt pregătite pentru transport și sunt tranzitate de la cel mai înalt la cel mai jos nivel, adăugându-se treptat noi informații. Astfel, nivelele de mai sus nu pot asigura protecție totală pentru nivelele de jos pentru că acestea adaugă informații după ce s-au aplicat măsurile de securitate mai sus. Controlul la nivel rețea a devenit foarte utilizat în rețelele de date pentru că propune o soluție mai balansată și are marele avantaj de a priva utilizatorul de implicarea în configurarea echipamentelor.

La ora actuală există două tipuri de antete ce pot fi atașate la un pachet IP pentru realizarea securității: Authentification Header și Encapsulated Security Payload, definite după cum urmează:

• Authentification Header este folosit pentru a furniza integritatea și autentificarea originii pentru orice datagramă IP, fără ca aceste atribute să fie orientate pe conexiune. Această proprietate este denumită generic "autentificare".

• Encapsulated Security Payload furnizează autentificarea și criptarea datagramelor IP folosind algoritmul de criptare stabilit de către utilizator. În autentificarea ESP, sumarul de mesaj este inserat la sfârșitul pachetului (în timp ce în AH, sumarul se află în interiorul câmpului de autentificare).

Standardul IPSec stabilește că înainte de orice transfer de date trebuie negociată o asociere de securitate (Security Association – SA) între cele două noduri VPN (de tip gateway sau client), care să conține toate informațiile necesare pentru execuția diferitelor servicii de securitate pe rețea, cum sunt serviciile corespunzătoare nivelului IP (autentificarea antetului și încapsularea datelor), serviciile nivelurilor de transport sau aplicație, precum și autoprotecția traficului de date din negociere.

IPSec poate fi privit ca un nivel intermediar sub stiva TCP/IP. Acest nivel este controlat de o politică de securitate pe fiecare mașină și de o asociere de securitate negociată între emițător și receptor. Politica constă într-un set de filtre și un set de profile de securitate asociate. Dacă un pachet are adresa, protocolul și numărul de port corespunzătoare unui filtru, atunci pachetul este tratat conform profilului de securitate asociat.

În afara protocoalelor de securitate prezentate anterior, IPSec mai conține și protocolul Internet Key Exchange (IKE). IPSec folosește IKE pentru a negocia setările de conexiune IPSec, pentru a autentifica vecinii unul cu celălalt, pentru a defini parametrii IPSec pentru conexiuni private, pentru a negocia cheile secrete și pentru a administra, îmbunătăți și șterge canalele de comunicație IPSec.

3.3.1 Protocolul AH

Authentification Header (unul dintre protocoalele de securitate IPSec) oferă siguranța integrității datelor și autentificării utilizatorilor. In mod opțional se poate oferi protecția accesului și împotriva atacurilor de replicare, iar aceasta nu poate cripta nicio porțiune din pachet. În versiunea inițială IPSec, AH și ESP erau des utilizați împreună (ESP nu asigura autentificarea), dar în cea de-a doua versiune, AH devine mai puțin semnificativ, până la stadiul în care unele sisteme nu mai suportă AH. Totuși, acest protocol este valoros pentru că poate autentifica porțiuni de pachet pe care ESP nu poate.

AH se prezintă sub forma a două moduri: transport și tunel. În modul tunel, AH creează un nou antet IP pentru fiecare pachet iar în modul transport nu. În arhitecturile IPSec care utilizează o poartă(gateway), sursa și destinația adevărată a pachetelor trebuie să fie modificate pentru a fi adresa IP a porții. Modul transport este utilizat în general în arhitecturile stație-la-stație, deoarece aceasta nu poate modifica antetul original IP sau să creeze un alt antet.

Procesul NAT împreună cu protocolul AH nu poate avea loc. AH protejează întregul pachet IP, incluzând câmpurile invariante ale antetului (adresele IP sursă și destinație), printr-un sumar de mesaj pentru a produce un hash cifrat. Receptorul va folosi acest hash pentru a autentifica pachetul, deci dacă orice câmp din pachetul IP original este modificat, autentificarea va eșua și pachetul va fi aruncat.

Procesul de protejare a integrității are ca si prim pas este crearea unui hash folosindu-se de un algoritm de control cifrat, care mai poarta si denumirea de algoritm MAC (cod de autentificare a mesajului). De cele mai multe ori hash-urile sunt confundate cu criptarea. Algoritmii hash produc o „amprentă” a unei informații, astfel încât aceste date vor produce de fiecare dată aceeași valoare. Dacă un singur bit se schimbă, atunci și amprenta va fi diferită. Acești algoritmi sunt utilizați pentru a asigura integritatea prin faptul că ne asigură că datele nu au fost modificate în tranzit. Verificarea se face prin adăugarea hash-ului datelor trimise iar la destinație se rulează același algoritm asupra datelor, obținându-se același hash (dacă datele nu au fost modificate). Cei mai importanți algoritmi hash sunt MD5 și SHA-1. Ambele preiau la intrare date de lungime arbitrară și produc la ieșire o amprentă de 128 biți, respectiv 160. SHA-1 conține măsuri adiționale de securitate, cum ar fi o rundă în plus pentru calcularea valorii.

Pentru a preveni un atac de interceptare a transmisiei se introduce în algoritm și o cheie secretă, cunoscută de capetele de tunel. Astfel, valoarea aleatoare procesată (cheia) va furniza autentificarea mesajului, mecanismul care dă o astfel de integritate se numește Cod de autentificare a mesajului (MAC). Atunci când MAC-urile se utilizează cu algoritmii de tip hash, va purta numele de HMAC. IPSec folosește algoritmi de autenticitate HMAC, care execută două hash-uri acordate. Ca și exemplu, cei mai utilizați algoritmi sunt HMAC-MD5 și HMAC-SHA-1. Un alt algoritm cunoscut MAC este AES Cipher Block Chaining MAC (AES-XBC-MC-96).

3.3.2 Protocolul ESP

Al doilea protocol de securitate folosit de IPSec este ESP. Începând cu a doua variantă IPSec, protocolul poate performa autentificarea, pentru protejarea integrității, deși nu și pentru antetul IP extrem (cel mai din afară). ESP-ul mai are si o alta opțiune si anume aceea de a oferi posibilitatea de a dezactiva criptarea prin algoritmul Null ESP.

Protocolul ESP se găsește sub forma a două moduri: tunel și transport. În primul mod, ESP realizează un antet IP nou pentru fiecare pachet care afișează limitele de tunel ESP, dar arata atât sursa cat și destinația pachetului. În situație de față se poate realiza criptarea și protejarea integrității atât a datelor cât și a antetului original IP al fiecărui pachet. Dacă se utilizează și autentificarea, fiecare pachet va avea o secțiune de autentificare ESP la sfârșit. În modul transport, ESP utilizează antetul original IP, în loc să creeze unul nou. În acest caz, ESP poate doar să cripteze și să asigure integritatea doar a anumitor componente ESP și a informației utile din pachet, nu și a antetelor IP. Acest mod este incompatibil cu NAT, pentru că NAT modifică pachetul TCP și trebuie să recalculeze suma de verificare pentru verificarea integrității. Pe de altă parte, autentificarea ESP va eșua dacă NAT actualizează suma de verificare TCP iar dacă NAT nu face actualizarea (de exemplu, dacă informația utilă este criptată), va eșua verificarea TCP. În modul tunel, ESP și NAT pot funcționa împreună pentru că adresa originală IP și informația de transport sunt incluse în informația utilă. Astfel, NAT poate avea loc dacă maparea este de tip unu-la-unu. Tabelul (tabel 3.2) de mai jos prezintă principalele caracteristici ale celor două moduri:

Tabel 3.2 Moduri de utilizare a IP Security

În cazul protocolului ESP se utilizează criptografia simetrică. Totuși, amândouă capete ale conexiunii IPSec, protejată de ESP, trebuie sa utilizeze aceeași cheie pentru criptare și decriptare a pachetelor. Algoritmii de criptare recomandați de ESP sunt: AES, DES și 3DES.

ESP adaugă un antet și un subsol porțiunii de informație a fiecărui pachet. Fiecare antet ESP conține două câmpuri:

•SPI – fiecare capăt a fiecărei conexiuni IPSec are o valoare SPI arbitrar aleasă, care se comportă ca un identificator unic. Destinatarul folosește această valoare, adresa IP destinație și (opțional) tipul protocolului IPSec (în cazul de față, ESP), pentru a determina ce SA este folosită.

• Numărul de secvență – fiecărui pachet îi este asignat un număr secvențial și doar pachete dintr-o anumită fereastră sunt acceptate.

Informația utilă reprezintă următoarea parte a pachetului, formată din Date (criptate) și Vectorul de Inițializare, acesta fiind necriptat. Valoarea acestui vector este diferita în fiecare pachet, deci dacă două pachete au același conținut, vectorul de inițializare va cauza criptarea diferită a acestora.

Partea a treia a unui pachet o constituie informația suplimentară de la sfârșit, care conține cel puțin două câmpuri (opțional mai poate conține încă unul).

3.3.3 Protocolul IKEv1 si IKEv2

1) IKEv1

Protocolul IKE are trei obiective principale: să negocieze, să creeze și să administreze Asocierile de Securitate (SA). SA face referire la un termen generic pentru un grup de valori care definesc caracteristicile IPSec și protecțiile aplicate unei conexiuni; acestea pot fi create și manual, folosind valori decise în avans de cele două părți, dar nu pot fi reînnoite. O asociere de securitate, mai comun referită ca SA, este un bloc de bază pentru IPSec. Aceasta reprezintă o intrare în baza de date SA (SABD), care conține informații despre securitatea negociată între două părți pentru IKE sau IPSec. Sunt două tipuri de SA:

• IKE sau ISAKMP SA – sunt folosite pentru traficul de control, cum ar fi negocierea algoritmilor pentru criptarea traficului IKE și autentificarea utilizatorilor. Este o singură IKE SA între participanți și de obicei are mai puțin trafic și o durată de viață mai mare decât IPSec SA.

• IPSec SA – sunt folosite pentru a negocia algoritmii de criptare pentru traficul IP, bazându-se pe definirea regulilor de stabilire a traficului ce va fi protejat. Pentru că sunt unidirecționale, cel puțin două sunt necesare (traficul de intrare și de ieșire) .

O problema pe care o ridica IKE este problema cu dispozitivele NAT, care modifică transparent pachetele de ieșire. Prima problemă se referă la faptul că unele echipamente ar putea depinde de negocierea IKE făcută de pachetele de intrare trimise de pe portul 500 UDP. Dacă se introduce un proces NAT, portul pachetului final nu va fi, cu siguranță, cel așteptat deci negocierea nu va începe. Alt eveniment neplăcut apare când IKE include adresele IP ca parte a procesului de autentificare, care depinde de modul IKE folosit. Dacă autentificarea se bazează pe adresa IP, schimbările făcute de NAT vor cauza eșuarea procesului IKE. Principala funcție a protocolului IKE consta in faptul ca ambele tipuri de SA sunt stabilite între participanții IPSec folosind protocolul IKE. Acest protocol operează în două faze pentru a stabili aceste asociații de securitate:

Prima faza este schimbul în prima etapă, faza în care se stabilesc chei pentru sesiunea respectivă si asigurarea autentificării reciproce a celor două capete IKE. Această fază creează o ISAKMP SA (asociere de securitate pentru IKE) care odată ce a fost stabilită, toate comunicațiile IKE dintre inițiator și cel care răspunde sunt protejate cu criptare și cu o verificare a integrității prin autentificare. Există o diferență între ISAKMP și IKE care trebuie precizată: ISAKMP definește cum capetele IPSec comunică, cum realizează schimbul de mesaje și starea tranzițiilor prin care trec pentru a stabili conexiunea (mai exact arată scopul autentificării și schimbului de informații pentru interschimbul de cheie) iar IKE definește cum se realizează schimbul de cheie.

Etapa unu (cunoscută și ca IKE SA) reprezintă momentul în care cele două capete IPSec negociază cu succes un canal sigur prin care pot fi stabilite și transmise apoi SA-urile IPSec. Astfel, se garantează criptarea bidirecțională și autentificarea pentru alte schimburi IKE. Această fază poate fi realizată în două moduri: principal și agresiv.

Modul principal tratează stabilirea unei IKE SA prin trei perechi de mesaje. În prima pereche de mesaje, fiecare capăt recomanda parametrii folosiți de SA. Patru parametrii dintre aceștia sunt obligatorii și alcătuiesc așa numita suită de protecție:

• Algoritmul de criptare – specifică algoritmul care criptează datele: DES, 3DES, AES.

• Algoritmul de protecție a integrității – indică ce algoritmi de tip hash de pot folosi: HMAC-MD5 sau HMAC-SHA-1

• Metoda de autentificare – sunt 3 posibilități de autentificare a utilizatorilor (chei prestabilite, semnături digitale, criptare cu cheie publică)

• DH Group – este folosit pentru generarea unui secret comun într-o manieră sigură, astfel încât un observator a etapei 1 IKE să nu îl poată determina.

A doua pereche de mesaje execută un schimb de cheie prin DH, folosind parametrii negociați la primul pas. Conținutul acestei perechi de mesaje variază în funcție de metoda de autentificare. În cea de-a treia pereche de mesaje, fiecare capăt este autentificat (și aici contează metoda de autentificare folosită). În cazul cheilor prestabilite (figura 3.4), rezumatele de autentificare se schimbă acum iar în cazul celorlalte două posibilități acesta sunt folosite (au fost schimbate în timpul perechii de mesaje anterioare).

Metoda mai rapidă a modului principal este oferită de modul agresiv. Se negociază stabilirea IKE SA prin trei mesaje în locul celor trei perechi din modul principal. Primele două mesaje negociază parametrii IKE SA și realizează un schimb de cheie; al doilea și al treilea mesaj autentifică utilizatorii.

În primul mesaj prima stație trimite trei informații: toți parametrii suitei de protecție , porțiunea sa de schimb de cheie DH care este un număr folosit o singură dată (nonce) și identitatea sa. În al doilea mesaj, cealaltă stație trimite patru informații: parametrii suitei sale de protecție, porțiunea sa de DH, care este un numărul folosit o singură dată (nonce), identitatea sa și informația utilă de autentificare. Al treilea mesaj este utilizat pentru ca prima stație să trimită propria sa informație de autentificare.

Figura 3.3 Mecanismul de criptarea a datelor IPSec utilizând chei publice și chei private.

A doua faza se refera la schimbul în etapa a doua care furnizează negocierea și stabilirea asociațiilor de securitate IPSec (IPSec SA) folosind ESP sau AH pentru protejarea traficului IP. Scopul celei de-a doua etape este stabilirea asocierilor de securitate pentru o conexiune IPSec actuală (IPSec SA). O conexiune IPSec între două sisteme necesită două IPSec SA, pentru că acestea sunt unidirecționale. Aceste perechi sunt create prin intermediul unui singur mod, modul rapid, care folosește trei mesaje pentru a stabili SA. Comunicațiile din acest mod sunt criptate prin metoda specificată în IKE SA-ul stabilit în faza 1.

În primul mesaj, prima stație trimite trei informații: cheile, numerele unice și sugestiile de parametri IPSec SA. Numerele unice se folosesc ca si măsură împotriva atacurilor de replicare.

În al doilea mesaj, cealaltă stație trimite cheile, numerele și selecțiile parametrilor IPSec SA și în plus procedurile hash de autentificare.

Al treilea mesaj este folosit doar pentru ca prima stație să trimită procedura hash pentru autentificare. După ce a doua stație validează al treilea mesaj, se poate spune că s-a stabilit o asociere de securitate IPSec, cele active fiind reținute într-o bază de date (SADB).

IKE SA și IPSec SA au o limită de viață, care nu poate fi mărită după ce SA a fost creată. Dacă o SA este aproape de sfârșitul duratei de viață, capetele ar trebui să creeze una nouă, printr-un proces de restabilire a cheii. Durata de viață a unei SA spune cât de des ar trebui fiecare SA să fie restabilită, bazându-se fie pe un anumit timp scurs fie pe cantitatea de trafic din rețea.

În mod asemănător cu modelul TCP/IP, IPSec are o multitudine de componente implicate și caracterizează un set complet de interacțiuni de-a lungul acestora. Structura protocolului asigură avantajul modularizării: când are loc o schimbare a unei componente, celelalte nu se schimbă implicit. Dezavantajul modularizării este că greu de explicat fără scheme, pur și simplu pentru că multe componente trebuie să lucreze împreună pentru ca protocolul să opereze.

Arhitectura IPSec presupune:

Nucleul (IPSec driver or core engine) – această componentă realizează criptarea, decriptarea, autentificarea și verificarea semnăturii; de asemenea este responsabil pentru coordonarea efortului altor componente IPSec pentru a asigura că poate îndeplini sarcinile.

Agentul de politică (IPSec Policy Agent) – este funcția cognitivă a protocolului și examinează setările IPSec ale sistemului specificând ce trafic ar trebui protejat; nu protejează datele ci doar avertizată ca un anumit trafic ar trebui protejat.

ISAKMP – este negociatorul setărilor de securitate ale Internetului; atunci când două stații vor să comunice, ISAKMP negociază grupul de setări folosite pentru criptare și autentificare.

IKE (Internet Key Exchange) – pentru că IPSec-ul folosește chei secrete împărțite, trebuie să fie un mecanism care să conecteze echipamentele și să se pună de acord asupra unei chei; acesta depinde de setările furnizate de ISAKMP. In figura 3.4 este prezentata Interacțiunea componentelor:

Figura 3.4 Interacțiunea IPSec

În momentul pornirii unui echipament se aplică politica locală sau de grup, dar se poate aplica periodic în timp ce activează în rețea. Orice politică IPSec este preluată de agentul de politică IPSec. Atunci când există mai multe reguli stabilite, agentul monitorizează comuniați cu protocolul TCP/IP din toate aplicațiile, caută traficul care se potrivește acestora, adică acela care trebuie protejat.

Agentul de politică îi va comunica dispozitivului IPSec tipul de protecție de care este nevoie in momentul in care traficul de rețea (care necesită protecție) este identificat. Apoi, urmând ca echipamentul IPSec sa determine dacă există o Asociere de Securitate care poate fi folosită pentru a proteja traficul; dacă nicio SA nu există, funcția IKE va fi contactată; aceasta va folosi ISAKMP pentru a negocia autentificarea reciprocă și pentru a stabilit cheia. Apoi, IKE va furniza o SA activă către IPSec driver, care va proteja traficul. Astfel, traficul protejat va fi returnat către protocolul TCP/IP pentru procesare.

Cea mai importanta caracteristica referitoare la IPSec este faptul ca acesta este un standard Internet acceptat și că în momentul actual un număr din ce in ce mai de utilizatori și furnizori de servicii cooperează pentru a furniza o gamă completă de soluții IPSec. Folosind capacitatea de tunelare a IPSec, se pot implementa rețele virtuale private.

2) IKEv2

IKEv2 (descris in Anexa A din RFC 4306) vine cu următoarele îmbunătățiri:

• NAT traversal: încapsulare lui IKE și ESP în portul UDP 4500 permite acestor protocoale să treacă printr-un dispozitiv sau firewall ce efectuează NAT.

• Schimbul de mesaj simplu: IKEv2 are un mecanism de schimb inițial de patru mesaj în timp ce IKE furniza opt mecanisme distincte de schimb inițiale, fiecare dintre care având avantaje și dezavantaje.

• Mecanisme criptografice mai puține: IKEv2 utilizează mecanisme criptografice pentru a proteja pachetele sale, care sunt foarte asemănătoare cu ceea folosite de IPSec pentru încapsularea încărcăturii de securitate (ESP) pentru a proteja pachetele IPSec. Acest lucru a dus la implementări simple si certificări de criterii comune, care necesită fiecare implementare criptografică a fi validate separat.

• Fiabilitate și managementul stării: IKEv2 utilizează numere de secvență și confirmări pentru a oferi fiabilitate și pentru a mandata unele erori la procesare. IKE ar putea ajunge într-o stare moarta din cauza lipsei de măsuri de fiabilitate, în situația în care ambele părți se așteptau ca cealaltă să inițieze o acțiune .

• Rezistența la atacul de tip DoS (Denial of Service – Refuzul Serviciului) : IKEv2 nu efectuează procesarea până când nu determină dacă există de fapt un solicitant. Aceasta tactica a rezolvat problemele cu atacurile DoS suferite de IKE care efectua o mulțime de prelucrări criptografice din locații fantomă.

3.4 Principalele avantaje ale rețelelor virtuale private

Reducerea costurilor – furnizorii de VPN pot înșira o mulțime de beneficii pe care le aduce tehnologia, multe apărând odată cu dezvoltarea ei. Poate cel mai puternic argument folosit este reducerea costurilor. Rețelele virtuale private sunt mult mai ieftine decât rețelele private proprietare ale companiilor; se reduc costurile de operare a rețelei (linii închiriate, echipamente, administratori rețea). Dacă folosiți Internetul pentru a distribui servicii de rețea la mare distanță, atunci puteți evita achiziția de linii închiriate, extrem de scumpe, între reprezentanțe și firmă, dar și costurile convorbirilor interurbane pe modem-uri dial-up sau ISDN. Reprezentanța va trebui să se conecteze numai local, la un provider Internet, pentru a ajunge în rețeaua firmei mamă. Economii se fac și relativ la lipsa necesității investițiilor în echipament WAN adițional, singura achiziție fiind legată de îmbunătățirea capacităților de conectare la Internet a serverului.

Integrare, simplitate, ușor de implementat – rețeaua virtuală privată poate fi imediat realizată peste conexiunea deja existentă la Internet, nefiind necesară o infrastructură separată. Se simplifică topologia rețelei companiei private. De asemenea, prin aceeași conexiune se pot integra mai multe aplicații: transfer de date, Voice over IP, Videoconferințe.

Ușurința administrării – in cazul unei interconectări complete a sucursalelor unei firme, liniile private pot deveni un coșmar. Trebuie instalate și administrate linii între fiecare două sucursale. Folosind Internetul, nu trebuie decât să asiguri fiecărei sucursale acces la Internet. În cazul accesului utilizatorilor de la distanță, problemele de administrare sunt transferate complet ISP.

Ignorarea învechirii morale a tehnologiei – riscul învechirii morale a tehnologiei se transferă de la corporație la ISP. Accesul la distanță prin Internet permite utilizatorilor să folosească tehnologii de acces variate, inclusiv ISDN și modem-uri. Cum apar tehnologii de acces de viteză mare, cum ar fi ASDL, ATM, organizația va putea profita de ele fără a face investiții în echipamente. ISP suportă majoritatea costurilor schimbării tehnologiilor.

Mobilitate – angajații mobili precum și partenerii de afaceri (distribuitori sau furnizori) se pot conecta la rețeaua companiei într-un mod sigur, indiferent de locul în care se află.

Scalabilitate – afacerea companiei crește, deci apare o nevoie permanentă de angajați mobili și conexiuni securizate cu partenerii strategici si distribuitorii. Pe măsură ce cererea de acces la distanță crește, organizația nu va avea nevoie să cumpere și să instaleze echipamente de comunicație noi. E nevoie doar de comandarea unui nou cont de acces la un ISP.

Securitate – Rețeaua virtuală privată asigură un nivel ridicat de securitate a informațiilor transmise prin utilizarea unor protocoale avansate de autentificare și criptare. Informațiile care circulă prin VPN sunt protejate prin diferite tehnologii de securitate (criptare, autentificare, IPSec). Nu trebuie să vă temeți că datele traficate prin VPN pot fi compromise.

Conectivitate globală – pe măsură ce economia continuă să se globalizeze, rețelele de firmă trebuie să crească în afara granițelor statale. Infrastructura cu fibră optică pentru linii private de calitate nu este disponibilă în multe țări. Internetul, pe de altă parte, este ideal pentru conectivitate internațională. Protocolul Internetului (IP) poate rula pe orice infrastructură de comunicație. [11]

3.5 “Best practices” in rețelele private virtuale

Securitatea VPN se bazează foarte mult pe autentificare și criptare. Acestea sunt considerate cele mai bune practici pentru a utiliza întotdeauna cea mai bună autentificare posibila, în cele mai multe cazuri aceasta fiind L2TP peste IPSec cu utilizarea de carduri inteligente. Din nou, dacă soluția cardurilor inteligente nu sunt fezabile, atunci ar trebui să fie utilizate certificatele de autentificare.

Adresele IP ar trebui să fie întotdeauna atribuite de către serverul VPN, dacă este posibil.

Traficul trebuie să fie întotdeauna monitorizat în timp real. Toate computerele care utilizează VPN ar trebui să rămână întotdeauna la curent cu actualizările critice și definițiile antivirus.

Și toți utilizatorii ar trebui să fie educați în ceea ce privește activități le ce sunt permise a fi realizate pe computerele client, inclusiv ceea ce programe pot fi instalate.

4. SIMULAREA UNEI REȚELE CARE IMPLEMENTEAZĂ SECURITATEA TRANSMISIILOR OFERITE DE VPN

Utilizarea unei rețele compusa din echipamente reale este foarte scumpa drept urmare cest proiect va folosi un simulator ce lucrează cu sisteme de operare reale ale echipamentelor de retea folosite. Ne vom concentra pe modul de configurare, analiza performantei rețelei si influenta politicilor de securitate asupra acesteia. Rezultatul obținut va oferi o mai buna înțelegere a procesului de configurare a echipamentelor si in special a celor produse de Cisco.

Simulările software sunt des utilizate in toate domeniile. Multe produse, atât hardware dar si software, sunt pretextate in aplicații software. Avantajele utilizării simulatoarelor software sunt evidente:

– Mai puțin timp pentru dezvoltarea produselor hardware si software;

– Abilitatea de a testa diferite scenarii pentru prototipurile hardware si software fără dezavantajul costului sau al timpului pierdut;con

– Prezicerea potențialelor probleme înainte de producția in masa.

Topologia de retea va fi dezvoltata si simulata folosind aplicația de simulare GNS3 (împreuna cu Wireshark). Programul de simulare GNS3 oferă posibilitatea modificării configurației unui echipament si observarea imediata a efectelor. Aceste simulări oferă mijloacele de testare pentru diverse schimbări ce ar putea avea loc înainte de implementarea reala, analiza fiabilității componentelor si efectelor defectării uneia, planificarea scalabilității si multe altele.

Scopul studiului meu este acela de a crea trei tunele diferite: GRE, IPSec si GRE over IPSec folosind GNS3. In cele din urma vom compara avantajele si dezavantajele fiecărui tip de tunel.

4.1 Utilitare pentru simulare și analiza rezultatelor

GNS3 (Graphical Network Simulator) este un emulator grafic de rețea ce permite simularea unei rețele complexe, este o unealtă complementară pentru laboratoarele reale de rețelistică pentru ingineri de rețea, administratori, etc. GNS3 este o aplicație grafica care permite utilizatorului sa creeze vizual o topologie de retea bazata pe rutere Cisco .

GNS3 are unele caracteristici cu adevărat utile în simularea de rețea, cu ar fi:

– Crearea unor topologi de rețea complexe

– Emularea platformelor IOS Cisco

– Conectarea rețelei simulate cu lumea reală

– Captura pachetelor cu ajutorul Wireshark

GNS3 este o interfață pentru Dynamips, ce comunica cu acesta prin intermediul unui hipervizor. Dynamips este o aplicație gratuita open-source care emulează un sistem de operare Cisco care poate rula in Windows, Linux sau MacOS. Poate emula platformele: 1700, 2600, 3600, si 7200 si rulează imagini IOS standard. Dynamips permite utilizatorilor săi să creeze rutere virtuale care rulează cu un sistem de operare Cisco utilizând resursele calculatorului gazda. Avantajul de a folosi Dynamips este ca acesta nu e un simulator, ci un emulator care rulează direct codul Sistemului de Operare Cisco. Pe lângă comportamentul real al unui echipament Cisco acesta ne permite sa cream si o diversitate de topologii.

În ciuda faptului ca throughput-ul sau este de numai 1kbps si nu poate fi folosit in rețelele reale, acesta emulează pe deplin tot ceea ce este necesar pentru a simula și testa in mod corespunzător o rețea.

Este util in testarea configurațiilor, de asemenea este posibila captarea pachetelor din legăturile ruterelor virtuale. Cu Dynamips ruterele virtuale pot interacționa cu rutere reale ceea ce permite testarea unei topologii de dimensiuni mai mari. Un alt aspect important pentru utilizatori este captura traficului de retea cu ajutorul analizorului de pachete Wireshark.

Crearea unei topologii in GNS3 este simplă, in special pentru utilizatorii care sunt familiarizați si cu alte simulatoare de rețea cum ar fi Opnet sau Packet Tracer. Înainte de a folosi programul, utilizatorii au nevoie de imaginile IOS pentru a putea utiliza echipamentele.

Figura 4.1 prezintă spațiul de lucru în GNS3. Acesta este divizat in patru panouri, cel din stânga prezintă tipurile de noduri disponibile. Utilizatorul poate vedea simbolul ruterelor pentru diferite platforme, PIX Firewall, Ethernet swtich, etc. Panoul din dreapta prezintă sumarul topologiei. Secțiunea din mijloc conține două panouri. Cel superior reprezintă spațiul de lucru, este locul unde utilizatorul construiește topologia. Cel inferior este consola de gestionare pentru Dynagen.

GNS3 este intuitiv, dispozitivele fiind pur si simplu trase in spațiul de lucru pentru a putea fi folosite in topologie. Pentru început sunt configurate tipul de conexiune, folosind Ethernet, serial sau alte tipuri. Fiecare tip de ruter are propriul tip de conexiune, de exemplu: ruterul Cisco 3640 suportă conexiunea Ethernet-switch (poate fi utilizat ca și comutator). Pentru a conecta fiecare ruter, acest program ne oferă butonul “add a link” (reprezentat cu simbolul unui conector Ethernet). Utilizatorul trebuie să aleagă conexiunea potrivită, bazându-se pe configurația care a fost aleasa pentru ruter.

Înainte de a începe simularea exista câteva setări ce trebuie realizate in GNS3. În primul rând imaginile IOS trebuiesc încărcate. Fiecare model de ruter are imaginea sa, depinde de utilizator ce model dorește să ruleze in simulare. După aceasta, este necesar să fie definită valoarea ”Idle PC” cu scopul de a reduce consumul de resurse al calculatorului atunci când rulează simularea.

După aceasta ruterele sunt adăugate în spațiul de lucru. Pentru început trebuie configurate sloturile adaptor pentru a defini tipul de conexiune care va fi necesar in topologie. Apoi este necesară configurarea echipamentelor.

Fig. 4.1 – Interfața GNS3.

Wireshark este un program de tip open source, un analizor de pachete gratuit folosit atât pentru analiza traficului dintr-o retea, identificarea si depanarea eventualelor probleme cat si in scopuri educative. Este scris in limbajul de programare C iar la baza are cunoscuta aplicație tcpdump. Wireshark permite unui utilizator sa analizeze tot traficul dintr-o retea (Fig. 4.2) prin configurarea interfeței de retea in modul promiscuu. In acest mod, interfața primește si procesează tot traficul, nu doar pe cel care ii este destinat.

Aplicația cuprinde un set bogat de capabilitatea cum ar fi:

– Inspectarea a sute de protocoale;

– Interfață pentru navigarea prin conținutul pachetelor (packet browser);

– Citire și scriere în diferite ormate open-source și proprietare de fișiere: tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog,

– Analiză offline și captura pachetelor live

– Portabilitate (există versiuni pentru Linux, Windows, OS X, Solaris, BSD etc.);Datele capturate pot fi studiate printr-o interfață grafică sau în linie de comandă;

– Multiple posibilități de filtrare a datelor capturate;

– Interfața poate fi personalizată, folosind reguli de colorare asupra listei de pachete pentru o analiză rapidă și intuitivă;

– Exportul datelor în format XML, PostScript, CSV sau text simplu.

Fig. 4.2 – Analizorul de trafic Wireshark

Wireshark utilizează API-ul (Application Programming Interface) pcap pentru captura pachetelor drept urmare, aplicația funcționează doar pentru rețelele suportate de acest API. Un alt dezavantaj constă în faptul că, pentru a putea captura pachetele în format neprelucrat de la o interfață de rețea, Wireshark trebuie să ruleze cu drepturi de administrator. Acest lucru prezintă, evident, probleme de securitate pentru sistemul de pe care este rulată aplicația. O soluție a acestei probleme este aceea de a rula doar utilitarul tcpdump sau componenta dumpcap a aplicației la un nivel privilegiat pentru a putea captura traficul iar analiza acestuia urmând a se efectua ulterior cu Wireshark rulând la un nivel restricționat. De asemenea rularea aplicației Wireshark intr-o retea de dimensiuni mari cu o activitate încărcată poate produce fișiere de captura de dimensiuni foarte mari si poate consuma parțial sau chiar total resursele sistemului, ceea ce ar putea duce la o încetinire a sistemului sau chiar la blocarea acestuia.

Dynagen este o interfața pentru Dynamips, ce comunica cu acesta printr-un hipervizor. O problema majora in folosirea Dynagen este aceea ca procesorul este utilizat 100% indiferent daca ruterul este in uz sau in stare de repaus.

În scopul de a crea topologii multiple ce permit utilizatorilor să configureze diverse scenarii si să învețe tehnici noi si tehnologii folosite in rețelistică un emulator este soluția potrivită.

4.2 Topologia rețelei

Figura 4.3 – Topologia creată

În topologia de mai sus au fost create 3 tunele:

– GRE over IPSec intre HQ si Branch 2;

– IPSec intre HQ si Branch 1;

– GRE intre Branch 1 si Branch 2.

4.3 Configurarea echipamentelor de retea

În topologie sunt folosite:

– Cisco ASA 5520:

o RAM: 512 MiB

o Model interfața retea: e1000

o Initrd: asa842-initrd.gz

o Kernel: asa842-vmlinuz

– Router Cisco c3640

o RAM: 128 MiB

o IOS: c3640-is-mz_120-7_t.image

o Model interfața retea: NM-1FE-TX

Configurația completa a echipamentelor de retea se găsește in Anexa 1.

Descrierea conexiunilor in rețeaua simulată:

– Branch1-ASA interfața Ethernet0 se conectează la ISP3; interfața Ethernet 1 se conectează la Branch1-R;

– Branch1-R interfața Fastethernet 0/0 se conectează la Branch1 interfața Fastethernet 1/0 se conectează la Host2;

– Branch2-ASA interfața Ethernet0 se conectează la ISP2; interfața Ethernet 1 se conectează la Branch2-R;

– Branch2 R interfața Fastethernet 0/0 se conectează la Branch2-ASA interfața Fastethernet 1/0 se conectează la Host3;

– HQ-ASA interfața Ethernet0 se conectează la ISP1; interfața Ethernet 1 se conectează la HQ-R;

– HQ-R interfața Fastethernet 0/0 se conectează la HQ interfața Fastethernet 1/0 se conectează la Host1;

– ISP1: interfața Fastethernet 0/0 se conectează la HQ interfața Fastethernet 1/0 se conectează la ISP2; interfața Fastethernet 2/0 se conectează la ISP3;

– ISP2: interfața Fastethernet0/0 se conectează la Branch2-ASA; interfața Fastethernet 1/0 se conectează la ISP3; interfața Fastethernet 2/0 se conectează la ISP1;

– ISP3: interfața Fastethernet0/0 se conectează la Branch1-ASA; interfața Fastethernet 1/0 se conectează la ISP1; interfața Fastethernet 2/0 se conectează la ISP2.

Configurarea interfețelor:

1. Branch1-ASA:

Asignarea adreselor IP:

interface GigabitEthernet0

– nameif WAN

– security level 0

– ip address 22.22.22.2 255.255.255.252

– no shutdown

interface GigabitEthernet1

– nameif LAN

– security level 100

– ip address 192.168.2.1 255.255.255.252

– no shutdown

Configurare OSPF

router ospf 1

– network 22.22.22.0 255.255.255.252 area 0

– network 192.168.2.0 255.255.255.252 area 0

– log-adj-changes

2. Branch1-R:

Asignarea adreselor IP:

interface FastEthernet0/0

ip address 192.168.2.2 255.255.255.252

no ip directed-broadcast

duplex auto

speed auto

no shutdown

interface FastEthernet1/0

ip address 10.10.2.1 255.255.255.0

no ip directed-broadcast

duplex auto

speed auto

no shutdown

Configurare OSPF:

router ospf 1

passive-interface FastEthernet1/0

network 10.10.2.0 0.0.0.255 area 0

network 172.28.3.0 0.0.0.3 area 0

network 192.168.2.0 0.0.0.3 area 0

3. Branch2-ASA:

Asignarea adreselor IP:

interface GigabitEthernet0

– nameif WAN

– security level 0

– ip address 33.33.33.2 255.255.255.252

– no shutdown

interface GigabitEthernet1

– nameif LAN

– security level 100

– ip address 192.168.3.1 255.255.255.252

– no shutdown

Configurare OSPF

router ospf 1

network 33.33.33.0 255.255.255.252 area 0

network 192.168.3.0 255.255.255.252 area 0

log-adj-changes

4. Branch2-R:

Asignarea adreselor IP:

interface FastEthernet0/0

ip address 192.168.3.2 255.255.255.252

no ip directed-broadcast

duplex auto

speed auto

no shutdown

interface FastEthernet1/0

ip address 10.10.3.1 255.255.255.0

no ip directed-broadcast

duplex auto

speed auto

no shutdown

Configurare OSPF:

router ospf 1

passive-interface FastEthernet1/0

network 10.10.3.0 0.0.0.255 area 0

network 172.28.2.0 0.0.0.3 area 0

network 172.28.3.0 0.0.0.3 area 0

network 192.168.3.0 0.0.0.3 area 0

5. HQ-ASA:

Asignarea adreselor IP:

interface GigabitEthernet0

– nameif WAN

– security level 0

– ip address 11.11.11.2 255.255.255.252

– no shutdown

interface GigabitEthernet1

– nameif LAN

– security level 100

– ip address 192.168.1.1 255.255.255.252

– no shutdown

Configurare OSPF

router ospf 1

network 11.11.11.0 255.255.255.252 area 0

network 192.168.1.0 255.255.255.252 area 0

log-adj-changes

6. HQ-R:

Asignarea adreselor IP:

interface FastEthernet0/0

ip address 192.168.1.2 255.255.255.252

no ip directed-broadcast

duplex auto

speed auto

no shutdown

interface FastEthernet1/0

ip address 10.10.1.1 255.255.255.0

no ip directed-broadcast

duplex auto

speed auto

no shutdown

Configurare OSPF:

router ospf 1

passive-interface FastEthernet1/0

network 10.10.1.0 0.0.0.255 area 0

network 172.28.2.0 0.0.0.3 area 0

network 192.168.1.0 0.0.0.3 area 0

7. ISP1:

Asignarea adreselor IP:

interface FastEthernet0/0

ip address 11.11.11.1 255.255.255.252

no ip directed-broadcast

duplex auto

speed auto

no shutdown

interface FastEthernet1/0

ip address 77.77.77.1 255.255.255.252

no ip directed-broadcast

duplex auto

speed auto

no shutdown

interface FastEthernet2/0

ip address 88.88.88.2 255.255.255.252

no ip directed-broadcast

duplex auto

speed auto

no shutdown

Configurare OSPF:

router ospf 1

network 11.11.11.0 0.0.0.3 area 0

network 77.77.77.0 0.0.0.3 area 0

network 88.88.88.0 0.0.0.3 area 0

8. ISP2:

Asignarea adreselor IP:

interface FastEthernet0/0

ip address 33.33.33.1 255.255.255.252

no ip directed-broadcast

duplex auto

speed auto

no shutdown

interface FastEthernet1/0

ip address 99.99.99.1 255.255.255.252

no ip directed-broadcast

duplex auto

speed auto

no shutdown

interface FastEthernet2/0

ip address 77.77.77.2 255.255.255.252

no ip directed-broadcast

duplex auto

speed auto

no shutdown

Configurare OSPF:

router ospf 1

network 33.33.33.0 0.0.0.3 area 0

network 77.77.77.0 0.0.0.3 area 0

network 99.99.99..0 0.0.0.3 area 0

9. ISP3:

Asignarea adreselor IP:

interface FastEthernet0/0

ip address 22.22.22.1 255.255.255.252

no ip directed-broadcast

duplex auto

speed auto

no shutdown

interface FastEthernet1/0

ip address 88.88.88.1 255.255.255.252

no ip directed-broadcast

duplex auto

speed auto

no shutdown

interface FastEthernet2/0

ip address 99.99.99.2 255.255.255.252

no ip directed-broadcast

duplex auto

speed auto

no shutdown

Configurare OSPF:

router ospf 1

network 22.22.22.0 0.0.0.3 area 0

network 88.88.88.0 0.0.0.3 area 0

network 99.99.99..0 0.0.0.3 area 0

În continuare se va analiza dimensiunea unui pachet de date “eșantion” (ping) circulând atât in text clar (netunelat) cat si prin cele trei tipuri de tuneluri.

Scenariul 1: Ping-ul nu trece prin niciun tunel. Nu este încapsulat si nici criptat. Din analiza pachetului se pot determina atât IP-urile sursa si destinație cat si detaliile pachetului ICMP. Captarea s-a realizat pe interfața Fastethernet0/0 a routerului ISP1. De asemenea se poate observa că dimensiunea totală a pachetului este de 98 octeți.

Figura 4.4 – Ping Host1 – Host2 text clar

Scenariul 2: Tunel GRE intre Branch 1 si Branch 2.

După configurarea tunelului GRE putem vizualiza pachetul “eșantion” (echo-request) circulând în rețea încapsulat însa necriptat. Captarea s-a realizat pe interfața Fastethernet 0/0 a routerului ISP3.

Figura 4.5 – Ping Host2 – Host3 tunel GRE

Din captură se poate observa atât dimensiunea totala a pachetului crescuta de la 98 octeți la 122 octeți cât si încapsularea pachetului de nivel 3 OSI (Nivelul Retea) intr-un altul ce are ca adrese IP sursa si destinație capetele tunelului GRE. In figura 4.5 se poate observa doar mesajul Echo-request deoarece diferența dintre acesta si Echo-replay consta numai in tipul mesajului ICMP (Echo-request conținând in câmpul “Type” al header-ului codul 8 iar Echo-reply codul 0). Captura pachetului Echo-reply se găsește in Anexa 2.

Scenariul 3: Tunel IPSec intre HQ si Branch 1. Vom configura politica ISAKMP cu următorii parametri:

Vom folosi o politica ikev1 cu prioritatea 1 (cea mai mare)

HQ-ASA(config)# crypto ikev1 policy 1

Vom folosi autentificare cu chei simetrice

HQ-ASA(config-ikev1-policy)#authentication pre-share

Ca algoritm de criptare se va folosi algoritmul AES cu chei de 256 biți.

HQ-ASA(config-ikev1-policy)#encryption aes-256

Algoritmul pentru hash folosit va fi SHA

HQ-ASA(config-ikev1-policy)#hash sha

Grupul Diffie-Hellman va fi 2

HQ-ASA(config-ikev1-policy)#group 2

Durata de viața a unei asocieri va fi de 3600 secunde

HQ-ASA(config-ikev1-policy)#lifetime 3600

Se configurează tipul tunelului (Land to land)

HQ-ASA(config )#tunnel-group 22.22.22.2 type ipsec-l2l

Se intra in modul de configurare al atributelor tunelului

HQ-ASA(config)# tunnel-group 22.22.22.2 ipsec-attributes

Se configurează cheia simetrica de autentificare

HQ-ASA(config-tunnel-ipsec)#ikev1 pre-shared-key licenta

Se configurează transform-set-ul ce conține algoritmii de criptare si hash pe care ii va folosi tunelul.

HQ-ASA(config)#crypto ipsec ikev1 transform-set HQ-Br1 esp-aes-256 esp-sha-hmac

Se creează lista de acces “HQ-Br1-Map” ce identifica traficul dintre HQ si Branch 1. Branch1-LAN este un obiect ce conține subnet-ul 10.10.2.0 cu masca de retea 255.255.255.0 (toate adresele din Branch 1).

HQ-ASA(config)#access-list HQ-Br1-Map extended permit ip object HQ-LAN object Branch1-LAN

Construim un crypto map pentru a îngloba toate blocurile construite:

Se vor selecta adresele IP către Branch1

HQ-ASA(config)#crypto map HQ-Map 1 match address HQ-Br1-Map

Se setează celalalt capăt al tunelului

HQ-ASA(config)#crypto map HQ-Map 1 set peer 22.22.22.2

Se configurează algoritmii de criptare si hash folosiți.

HQ-ASA(config)#crypto map HQ-Map 1 set ikev1 transform-set HQ-Br1

În final se aplică harta nou creată pe interfața externă a firewall-ului:

HQ-ASA(config)#crypto map HQ-Map interface WAN

Analog se va configura si Branch1-ASA. Odată tunelul configurat se poate testa conexiunea. Vom trimite un mesaj ICMP Echo-request de la Host1 către Host2.

Figura 4.6 – stabilirea tunelului IPSec

Figura 4.7 – Stabilirea asocierii IPSec intre cele doua echipamente.

După stabilirea asocierii de securitate tunelul este funcțional. Putem trimite pachetul eșantion de la Host1 către Host2. După cum se poate observa in figura 4.8 IPSec criptează datele de la nivelul 3 OSI in sus. In captura se pot observa adresele de nivel 2 (MAC) însă cele de nivel 3 (IP) sunt adresele capetelor tunelului. Restul mesajului este criptat. De asemenea se poate observa ca acum dimensiunea totala a mesajului a ajuns la 166 octeți. In figura 4.8 se poate observa doar mesajul Echo-request. Captura pachetului Echo-reply se găsește in Anexa 3.

Figura 4.8 – Ping Host1 – Host2 prin tunel IPSec

Scenariul 4: tunel GRE over IPSec intre HQ si Branch2

Mai întâi se configurează protocolul GRE pe ruterele din cele două sedii: apoi, asemănător Scenariului 3, se configurează IPSec intre cele doua firewall-uri:

Vom configura politica ISAKMP cu următorii parametri:

Vom folosi o politica ikev1 cu prioritatea 1 (cea mai mare)

HQ-ASA(config)# crypto ikev1 policy 1

Vom folosi autentificare cu chei simetrice

HQ-ASA(config-ikev1-policy)#authentication pre-share

Ca algoritm de criptare se va folosi algoritmul AES cu chei de 256 biti.

HQ-ASA(config-ikev1-policy)#encryption aes-256

Algoritmul pentru hash folosit va fi SHA

HQ-ASA(config-ikev1-policy)#hash sha

Grupul Diffie-Hellman va fi 2

HQ-ASA(config-ikev1-policy)#group 2

Durata de viață a unei asocieri va fi de 3600 secunde

HQ-ASA(config-ikev1-policy)#lifetime 3600

Se configurează tipul tunelului (Land to land)

HQ-ASA(config )#tunnel-group 33.33.33.2 type ipsec-l2l

Se intra in modul de configurare al atributelor tunelului

HQ-ASA(config)# tunnel-group 33.33.33.2 ipsec-attributes

Se configurează cheia simetrica de autentificare

HQ-ASA(config-tunnel-ipsec)#ikev1 pre-shared-key licenta

Se configurează transfor-set-ul ce conține algoritmii de criptare si hash pe care ii va folosi tunelul.

HQ-ASA(config)#crypto ipsec ikev1 transform-set HQ-Br2 esp-aes-256 esp-sha-hmac

Se creează lista de acces “HQ-Br2-Map” ce identifica traficul dintre HQ si Branch 2.

Branch2-LAN-GRE este un obiect ce conține adresa 192.168.3.2 (capătul tunelului GRE din Branch 2).

HQ-ASA(config)#access-list HQ-Br2-Map extended permit ip object HQ-LAN -GRE object Branch2-LAN GRE

Construim un crypto map pentru a îngloba toate blocurile construite:

Se vor selecta adresele IP către Branch2

HQ-ASA(config)#crypto map HQ-Map 2 match address HQ-Br2-Map

Se setează celalalt capăt al tunelului

HQ-ASA(config)#crypto map HQ-Map 2 set peer 33.33.33.2

Se configurează algoritmii de criptare si hash folosiți.

HQ-ASA(config)#crypto map HQ-Map 2 set ikev1 transform-set HQ-Br2

În final se aplica harta nou creata pe interfața externa a firewall-ului:

HQ-ASA(config)#crypto map HQ-Map interface WAN

Analog se va configura si Branch2-ASA. După stabilirea asocierii de securitate tunelul este funcțional. Putem trimite pachetul eșantion de la Host1 către Host3.

Figura 4.9 Stabilirea asocierii IPSec intre cele două echipamente

Figura 4.10 – Cele două tunele (HQ către Branch1 si către Branch2) sunt active.

După cum se poate observa in figura 4.11 IPSec criptează datele de la nivelul 3 OSI in sus. În captură se pot observa adresele de nivel 2 (MAC) însă cele de nivel 3 (IP) sunt adresele capetelor tunelului. Restul mesajului (inclusiv protocolul GRE) este criptat. De asemenea se poate observa că acum dimensiunea totală a mesajului a ajuns la 182 octeți.

In figura 4.11 se poate observa doar mesajul Echo-request. Captura pachetului Echo-reply se găsește in Anexa 4.

Figura 4.11 Host1 – Host3 tunel GRE over IPSec.

CONCLUZII

În mai puțin de o generație, revoluția informației și introducerea calculatoarelor în virtual, fiecare dimensiune a societății a schimbat lumea. Predicțiile unor importanți oameni în domeniul ingineriei se adeveresc și lumea se transformă astfel într-un “sat global” unde nu mai există granițe pentru afaceri, comunicații sau comerț.

Informația reprezintă moneda economiei Internet; tehnologiile de securitate a informației au un imens impact asupra modului în care organizațiile conduc afaceri electronice și, implicit, își ating obiectivele strategice. Prezenta lucrare discută importanța tehnologiilor de securitatea informației în societatea informației, și explicarea avantajelor adoptării tehnologiilor de securitatea informațiilor.

Rețelele private virtuale (VPN) au fost concepute din dorința de a avea o mai bună securitate a informațiilor transmise de către utilizatori prin intermediul unei rețea de calculatoare.

Scopul propus de această lucrare a fost implementarea cu ajutorul simulatorului GNS3 unei rețele care utilizează diferitele protocoale de tunelare.

Din scenariul 1 am văzut cum arata un pachet de date (ping) ce este transmis in text clar – necriptat și netunelat. Am putut observa cum un analizor de trafic poate extrage toate informațiile din acel pachet (sursă, destinație și tipul pachetului). De asemenea s-a putut observa că dimensiunea totală a pachetului este de 98 octeți.

Din scenariul 2 am văzut ca tunelele GRE, deși oferă eficiență rețelei și sunt ușor de implementat au un mare dezavantaj în faptul că nu criptează datele transmise prin așa numitul “tunel de transmisie”. De asemenea am observat că, în acest caz, dimensiunea totală a pachetului a crescut la 122 octeți. Diferența de 12 octeți este dată de header-ul IP adăugat de către protocolul GRE.

În scenariul 3 si 4 am implementat un tunel IPSec și un tunel GRE cu protecție IPSec. Deși sunt mai greu de configurat, necesitând cunoștințe avansate de rețelistică, rețelele virtuale private bazate pe IPSec utilizează criptarea pentru a secretiza datele pe care le transmit, astfel crescând rezistența rețelei din punctul de vedere al furtului de date. De asemenea se poate observa ca dimensiunea pachetului a crescut la 166 octeți, respectiv 182 octeți datorită datelor adăugate de protocolul IPSec.

În această lucrare am încercat să evidențiez clar procesul de configurare a diferitelor tipuri de tuneluri de securitate, dar și importanța deosebită care trebuie acordată problemei securității. Deși Internetul se confruntă cu amenințări de securitate din ce in ce mai avansate acest lucru nu a împiedicat răspândirea sa la scara globală. Fiind imposibilă înlăturarea în totalitate a unui atac tot ce ne rămâne de făcut este sa îngreunăm încercările atacatorilor de a obține acces la informațiile personale.

BIBLIOGRAFIE

1) Cisco Network Security Internet Technical Solution (e-Seminar)

2) Bogdan Groza, “Introducere in Sisteme Criptografice cu Cheie Publica”, Curs

3) Alexandru Isar, “Curs securitatea transmiterii informației prin internet”, Curs

4) Asist. Răzvan ZOTA, “Soluții de securitate pentru Internet”, in Revista Informatica

Economica, nr.12/1999 69

5) Luminița S. , Ion B. , “Securitatea Rețelelor de Comunicații”, Casa de editura

“Venus” Iași 2008

6) Revista 52 Informatica Economică nr. 2(30)/2004 An Overview of the Attack

Methods Directed Against the RSA Algorithm

7) Bogdan Groza, „Introducere în Sistemele Criptografice cu Cheie Publică”,

8)Asist. Simona Ionescu, “Considerations on data encryption and decruption”, in Revista

Informatica Economica, nr.2(30)/2004

9) Revista 52 Informatica Economică nr. 2(30)/2004 An Overview of the Attack

Methods Directed Against the RSA Algorithm

10) Martin W. Murhammer, "A Comprehensive Guide to Virtual Private Networks",

International Technical Support Organization 1999

11) http://ro.wikipedia.org/wiki/Vpn

ANEXE

ANEXA 1 – Configurația completă a echipamentelor de rețea

1. Configurație Branch1-ASA

Branch1-ASA# sh run

: Saved

:

ASA Version 8.4(2)

!

hostname Branch1-ASA

enable password 8Ry2YjIyt7RRXU24 encrypted

passwd 2KFQnbNIdI.2KYOU encrypted

names

!

interface GigabitEthernet0

nameif WAN

security-level 0

ip address 22.22.22.2 255.255.255.252

!

interface GigabitEthernet1

nameif LAN

security-level 100

ip address 192.168.2.1 255.255.255.252

!

interface GigabitEthernet2

shutdown

no nameif

no security-level

no ip address

!

interface GigabitEthernet3

shutdown

no nameif

no security-level

no ip address

!

ftp mode passive

same-security-traffic permit inter-interface

object network HQ-LAN

subnet 10.10.1.0 255.255.255.0

object network Branch1-LAN-GRE

host 192.168.2.2

object network Branch2-LAN-GRE

host 192.168.3.2

object network Branch1-WAN

host 22.22.22.2

object network Branch1-LAN

subnet 10.10.2.0 255.255.255.0

access-list WAN-IN extended permit ip object HQ-LAN object Branch1-LAN

access-list WAN-IN extended permit ip object Branch2-LAN-GRE object Branch1-LAN-GRE

access-list WAN-IN extended deny ip any any

access-list HQ-Br1-Map extended permit ip object Branch1-LAN object HQ-LAN

pager lines 24

mtu WAN 1500

mtu LAN 1500

no failover

icmp unreachable rate-limit 1 burst-size 1

no asdm history enable

arp timeout 14400

nat (WAN,LAN) source static HQ-LAN HQ-LAN destination static Branch1-LAN Branch1-LAN

nat (WAN,LAN) source static Branch2-LAN-GRE Branch2-LAN-GRE destination static Branch1-LAN-GRE Branch1-LAN-GRE

nat (LAN,WAN) source static Branch1-LAN Branch1-LAN destination static HQ-LAN HQ-LAN

nat (LAN,WAN) source static Branch1-LAN-GRE Branch1-LAN-GRE destination static Branch2-LAN-GRE Branch2-LAN-GRE

access-group WAN-IN in interface WAN

!

router ospf 1

network 22.22.22.0 255.255.255.252 area 0

network 192.168.2.0 255.255.255.252 area 0

log-adj-changes

!

timeout xlate 3:00:00

timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02

timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00

timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00

timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute

timeout tcp-proxy-reassembly 0:01:00

timeout floating-conn 0:00:00

dynamic-access-policy-record DfltAccessPolicy

user-identity default-domain LOCAL

no snmp-server location

no snmp-server contact

snmp-server enable traps snmp authentication linkup linkdown coldstart warmstart

crypto ipsec ikev1 transform-set HQ-Br1 esp-aes-256 esp-sha-hmac

crypto map HQ-Br1 1 match address HQ-Br1-Map

crypto map HQ-Br1 1 set peer 11.11.11.2

crypto map HQ-Br1 1 set ikev1 transform-set HQ-Br1

crypto map HQ-Br1 interface WAN

crypto isakmp identity address

crypto ikev1 enable WAN

crypto ikev1 policy 1

authentication pre-share

encryption aes-256

hash sha

group 2

lifetime 3600

telnet timeout 5

ssh timeout 5

console timeout 0

threat-detection basic-threat

threat-detection statistics access-list

no threat-detection statistics tcp-intercept

tunnel-group 11.11.11.2 type ipsec-l2l

tunnel-group 11.11.11.2 ipsec-attributes

ikev1 pre-shared-key *****

!

!

prompt hostname context

no call-home reporting anonymous

call-home

profile CiscoTAC-1

no active

destination address http https://tools.cisco.com/its/service/oddce/services/DDCEService

destination address email callhome@cisco.com

destination transport-method http

subscribe-to-alert-group diagnostic

subscribe-to-alert-group environment

subscribe-to-alert-group inventory periodic monthly

subscribe-to-alert-group configuration periodic monthly

subscribe-to-alert-group telemetry periodic daily

crashinfo save disable

Cryptochecksum:ba7d3cb2c380c0fddb84278117917571

: end

2. Configurație Branch1-R

Branch1-R#sh run

Building configuration…

Current configuration : 1208 bytes

!

version 12.4

service timestamps debug uptime

service timestamps log uptime

no service password-encryption

!

hostname Branch1-R

!

boot-start-marker

boot-end-marker

!

no aaa new-model

memory-size iomem 5

ip cef

!

ip auth-proxy max-nodata-conns 3

ip admission max-nodata-conns 3

!

ip tcp synwait-time 5

!

interface Tunnel2

ip address 172.28.3.1 255.255.255.252

ip mtu 1400

tunnel source 192.168.2.2

tunnel destination 192.168.3.2

!

interface FastEthernet0/0

ip address 192.168.2.2 255.255.255.252

duplex auto

speed auto

!

interface FastEthernet0/1

no ip address

shutdown

duplex auto

speed auto

!

interface FastEthernet1/0

ip address 10.10.2.1 255.255.255.0

duplex auto

speed auto

!

router ospf 1

log-adjacency-changes

passive-interface FastEthernet1/0

network 10.10.2.0 0.0.0.255 area 0

network 172.28.3.0 0.0.0.3 area 0

network 192.168.2.0 0.0.0.3 area 0

!

ip forward-protocol nd

ip route 10.10.3.0 255.255.255.0 172.28.3.2

!

no ip http server

no ip http secure-server

!

control-plane

!

line con 0

exec-timeout 0 0

privilege level 15

logging synchronous

line aux 0

exec-timeout 0 0

privilege level 15

logging synchronous

line vty 0 4

login

!

end

3. Configurație Branch2-ASA

Branch2-ASA# sh run

: Saved

:

ASA Version 8.4(2)

!

hostname Branch2-ASA

enable password 8Ry2YjIyt7RRXU24 encrypted

passwd 2KFQnbNIdI.2KYOU encrypted

names

!

interface GigabitEthernet0

nameif WAN

security-level 0

ip address 33.33.33.2 255.255.255.252

!

interface GigabitEthernet1

nameif LAN

security-level 100

ip address 192.168.3.1 255.255.255.252

!

interface GigabitEthernet2

shutdown

no nameif

no security-level

no ip address

!

interface GigabitEthernet3

shutdown

no nameif

no security-level

no ip address

!

ftp mode passive

same-security-traffic permit inter-interface

object network HQ-LAN-GRE

host 192.168.1.2

object network Branch1-LAN-GRE

host 192.168.2.2

object network Branch2-LAN-GRE

host 192.168.3.2

object network Branch2-WAN

host 33.33.33.2

access-list WAN-IN extended permit ip object HQ-LAN-GRE object Branch2-LAN-GRE

access-list WAN-IN extended permit ip object Branch1-LAN-GRE object Branch2-LAN-GRE

access-list WAN-IN extended deny ip any any

access-list HQ-Br2-Map extended permit ip object Branch2-LAN-GRE object HQ-LAN-GRE

pager lines 24

mtu WAN 1500

mtu LAN 1500

no failover

icmp unreachable rate-limit 1 burst-size 1

no asdm history enable

arp timeout 14400

nat (WAN,LAN) source static HQ-LAN-GRE HQ-LAN-GRE destination static Branch2-LAN-GRE Branch2-LAN-GRE

nat (WAN,LAN) source static Branch1-LAN-GRE Branch1-LAN-GRE destination static Branch2-LAN-GRE Branch2-LAN-GRE

nat (LAN,WAN) source static Branch2-LAN-GRE Branch2-LAN-GRE destination static HQ-LAN-GRE HQ-LAN-GRE

nat (LAN,WAN) source static Branch2-LAN-GRE Branch2-LAN-GRE destination static Branch1-LAN-GRE Branch1-LAN-GRE

access-group WAN-IN in interface WAN

!

router ospf 1

network 33.33.33.0 255.255.255.252 area 0

network 192.168.3.0 255.255.255.252 area 0

log-adj-changes

!

timeout xlate 3:00:00

timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02

timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00

timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00

timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute

timeout tcp-proxy-reassembly 0:01:00

timeout floating-conn 0:00:00

dynamic-access-policy-record DfltAccessPolicy

user-identity default-domain LOCAL

no snmp-server location

no snmp-server contact

snmp-server enable traps snmp authentication linkup linkdown coldstart warmstart

crypto ipsec ikev1 transform-set HQ-Br2 esp-aes-256 esp-sha-hmac

crypto map HQ-Map 1 match address HQ-Br2-Map

crypto map HQ-Map 1 set peer 11.11.11.2

crypto map HQ-Map 1 set ikev1 transform-set HQ-Br2

crypto map HQ-Map interface WAN

crypto isakmp identity address

crypto ikev1 enable WAN

crypto ikev1 policy 1

authentication pre-share

encryption aes-256

hash sha

group 2

lifetime 3600

telnet timeout 5

ssh timeout 5

console timeout 0

threat-detection basic-threat

threat-detection statistics access-list

no threat-detection statistics tcp-intercept

tunnel-group 11.11.11.2 type ipsec-l2l

tunnel-group 11.11.11.2 ipsec-attributes

ikev1 pre-shared-key *****

!

!

prompt hostname context

no call-home reporting anonymous

call-home

profile CiscoTAC-1

no active

destination address http https://tools.cisco.com/its/service/oddce/services/DDCEService

destination address email callhome@cisco.com

destination transport-method http

subscribe-to-alert-group diagnostic

subscribe-to-alert-group environment

subscribe-to-alert-group inventory periodic monthly

subscribe-to-alert-group configuration periodic monthly

subscribe-to-alert-group telemetry periodic daily

crashinfo save disable

Cryptochecksum:178258714e4126f8be0c0a164ed023cd

: end

4. Configurație Branch2-R

Branch2-R#sh run

Building configuration…

Current configuration : 1386 bytes

!

version 12.4

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

!

hostname Branch2-R

!

boot-start-marker

boot-end-marker

!

no aaa new-model

memory-size iomem 5

!

ip cef

!

ip tcp synwait-time 5

!

interface Tunnel1

ip address 172.28.2.2 255.255.255.252

ip mtu 1400

tunnel source 192.168.3.2

tunnel destination 192.168.1.2

!

interface Tunnel2

ip address 172.28.3.2 255.255.255.252

ip mtu 1400

tunnel source 192.168.3.2

tunnel destination 192.168.2.2

!

interface FastEthernet0/0

ip address 192.168.3.2 255.255.255.252

duplex auto

speed auto

!

interface FastEthernet1/0

ip address 10.10.3.1 255.255.255.0

duplex auto

speed auto

!

interface FastEthernet2/0

no ip address

shutdown

duplex auto

speed auto

!

router ospf 1

log-adjacency-changes

passive-interface FastEthernet1/0

network 10.10.3.0 0.0.0.255 area 0

network 172.28.2.0 0.0.0.3 area 0

network 172.28.3.0 0.0.0.3 area 0

network 192.168.3.0 0.0.0.3 area 0

!

no ip http server

no ip http secure-server

!

ip route 10.10.1.0 255.255.255.0 172.28.2.1

ip route 10.10.2.0 255.255.255.0 172.28.3.1

!

control-plane

!

line con 0

exec-timeout 0 0

privilege level 15

logging synchronous

line aux 0

exec-timeout 0 0

privilege level 15

logging synchronous

line vty 0 4

login

!

end

5. Configurație HQ-ASA

HQ-ASA# sh run

: Saved

:

ASA Version 8.4(2)

!

hostname HQ-ASA

enable password 8Ry2YjIyt7RRXU24 encrypted

passwd 2KFQnbNIdI.2KYOU encrypted

names

!

interface GigabitEthernet0

nameif WAN

security-level 0

ip address 11.11.11.2 255.255.255.252

!

interface GigabitEthernet1

nameif LAN

security-level 100

ip address 192.168.1.1 255.255.255.252

!

interface GigabitEthernet2

shutdown

no nameif

no security-level

no ip address

!

interface GigabitEthernet3

shutdown

no nameif

no security-level

no ip address

!

boot config disk0:/startup-config

ftp mode passive

same-security-traffic permit inter-interface

object network HQ-LAN-GRE

host 192.168.1.2

object network HQ-WAN

host 11.11.11.2

object network Branch1-LAN

subnet 10.10.2.0 255.255.255.0

object network Branch2-LAN-GRE

host 192.168.3.2

object network HQ-LAN

subnet 10.10.1.0 255.255.255.0

object network RemoteUsers

subnet 10.20.1.0 255.255.255.0

object network Host1

host 10.10.1.100

access-list WAN-IN extended permit ip object Branch1-LAN object HQ-LAN

access-list WAN-IN extended permit ip object Branch2-LAN-GRE object HQ-LAN-GRE

access-list WAN-IN extended permit ip object RemoteUsers any

access-list WAN-IN extended deny ip any any

access-list HQ-Br1-Map extended permit ip object HQ-LAN object Branch1-LAN

access-list HQ-Br2-Map extended permit ip object HQ-LAN-GRE object Branch2-LAN-GRE

pager lines 24

mtu WAN 1500

mtu LAN 1500

ip local pool RemotePool 10.20.1.1-10.20.1.254

no failover

icmp unreachable rate-limit 1 burst-size 1

no asdm history enable

arp timeout 14400

nat (WAN,LAN) source static HQ-LAN HQ-LAN destination static Branch1-LAN Branch1-LAN

nat (LAN,WAN) source static Branch1-LAN Branch1-LAN destination static HQ-LAN HQ-LAN

nat (WAN,LAN) source static HQ-LAN-GRE HQ-LAN-GRE destination static Branch2-LAN-GRE Branch2-LAN-GRE

nat (LAN,WAN) source static Branch2-LAN-GRE Branch2-LAN-GRE destination static HQ-LAN-GRE HQ-LAN-GRE

nat (WAN,LAN) source static RemoteUsers RemoteUsers destination static Host1 Host1

access-group WAN-IN in interface WAN

!

router ospf 1

network 11.11.11.0 255.255.255.252 area 0

network 192.168.1.0 255.255.255.252 area 0

log-adj-changes

!

timeout xlate 3:00:00

timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02

timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00

timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00

timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute

timeout tcp-proxy-reassembly 0:01:00

timeout floating-conn 0:00:00

dynamic-access-policy-record DfltAccessPolicy

user-identity default-domain LOCAL

no snmp-server location

no snmp-server contact

snmp-server enable traps snmp authentication linkup linkdown coldstart warmstart

crypto ipsec ikev1 transform-set HQ-Br1 esp-aes-256 esp-sha-hmac

crypto ipsec ikev1 transform-set HQ-Br2 esp-aes-256 esp-sha-hmac

crypto ipsec ikev1 transform-set RemoteSet esp-aes-256 esp-sha-hmac

crypto dynamic-map HQ-Map-dynamic 1 set ikev1 transform-set RemoteSet

crypto dynamic-map HQ-Map-dynamic 1 set reverse-route

crypto map HQ-Map 1 match address HQ-Br1-Map

crypto map HQ-Map 1 set peer 22.22.22.2

crypto map HQ-Map 1 set ikev1 transform-set HQ-Br1

crypto map HQ-Map 2 match address HQ-Br2-Map

crypto map HQ-Map 2 set peer 33.33.33.2

crypto map HQ-Map 2 set ikev1 transform-set HQ-Br2

crypto map HQ-Map 3 ipsec-isakmp dynamic HQ-Map-dynamic

crypto map HQ-Map interface WAN

crypto isakmp identity address

crypto ikev1 enable WAN

crypto ikev1 policy 1

authentication pre-share

encryption aes-256

hash sha

group 2

lifetime 3600

telnet timeout 5

ssh timeout 5

console timeout 0

threat-detection basic-threat

threat-detection statistics access-list

no threat-detection statistics tcp-intercept

username remoteuser password CxAh5EQ/8f4FVvNi encrypted privilege 15

tunnel-group 22.22.22.2 type ipsec-l2l

tunnel-group 22.22.22.2 ipsec-attributes

ikev1 pre-shared-key *****

tunnel-group 33.33.33.2 type ipsec-l2l

tunnel-group 33.33.33.2 ipsec-attributes

ikev1 pre-shared-key *****

tunnel-group RemoteGroup type remote-access

tunnel-group RemoteGroup general-attributes

address-pool RemotePool

tunnel-group RemoteGroup ipsec-attributes

ikev1 pre-shared-key *****

!

prompt hostname context

no call-home reporting anonymous

call-home

profile CiscoTAC-1

no active

destination address http https://tools.cisco.com/its/service/oddce/services/DDCEService

destination address email callhome@cisco.com

destination transport-method http

subscribe-to-alert-group diagnostic

subscribe-to-alert-group environment

subscribe-to-alert-group inventory periodic monthly

subscribe-to-alert-group configuration periodic monthly

subscribe-to-alert-group telemetry periodic daily

crashinfo save disable

Cryptochecksum:49cf86e142916bbad507c01ab3b85bc9

: end

6. Configurație HQ-R

HQ-R#sh run

Building configuration…

Current configuration : 1195 bytes

!

version 12.4

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

!

hostname HQ-R

!

boot-start-marker

boot-end-marker

!

no aaa new-model

memory-size iomem 5

ip cef

!

ip auth-proxy max-nodata-conns 3

ip admission max-nodata-conns 3

!

interface Tunnel2

ip address 172.28.2.1 255.255.255.252

ip mtu 1400

tunnel source 192.168.1.2

tunnel destination 192.168.3.2

!

interface FastEthernet0/0

ip address 192.168.1.2 255.255.255.252

duplex auto

speed auto

!

interface FastEthernet0/1

no ip address

shutdown

duplex auto

speed auto

!

interface FastEthernet1/0

ip address 10.10.1.1 255.255.255.0

duplex auto

speed auto

!

router ospf 1

log-adjacency-changes

passive-interface FastEthernet1/0

network 10.10.1.0 0.0.0.255 area 0

network 172.28.2.0 0.0.0.3 area 0

network 192.168.1.0 0.0.0.3 area 0

!

ip forward-protocol nd

ip route 10.10.3.0 255.255.255.0 172.28.2.2

!

no ip http server

no ip http secure-server

!

control-plane

!

line con 0

exec-timeout 0 0

privilege level 15

logging synchronous

line aux 0

exec-timeout 0 0

privilege level 15

logging synchronous

line vty 0 4

login

!

end

7. Configurație ISP1

ISP1#sh run

Building configuration…

Current configuration : 975 bytes

!

version 12.4

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

!

hostname ISP1

!

boot-start-marker

boot-end-marker

!

no aaa new-model

memory-size iomem 5

!

ip cef

!

ip tcp synwait-time 5

!

interface FastEthernet0/0

ip address 11.11.11.1 255.255.255.252

duplex auto

speed auto

!

interface FastEthernet1/0

ip address 77.77.77.1 255.255.255.252

duplex auto

speed auto

!

interface FastEthernet2/0

ip address 88.88.88.2 255.255.255.252

duplex auto

speed auto

!

router ospf 1

log-adjacency-changes

network 11.11.11.0 0.0.0.3 area 0

network 77.77.77.0 0.0.0.3 area 0

network 88.88.88.0 0.0.0.3 area 0

!

no ip http server

no ip http secure-server

!

control-plane

!

line con 0

exec-timeout 0 0

privilege level 15

logging synchronous

line aux 0

exec-timeout 0 0

privilege level 15

logging synchronous

line vty 0 4

login

!

end

8. Configurație ISP2

ISP2#sh run

Building configuration…

Current configuration : 1099 bytes

!

version 12.4

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

!

hostname ISP2

!

boot-start-marker

boot-end-marker

!

no aaa new-model

memory-size iomem 5

ip cef

!

ip auth-proxy max-nodata-conns 3

ip admission max-nodata-conns 3

!

ip tcp synwait-time 5

!

interface FastEthernet0/0

ip address 33.33.33.1 255.255.255.252

duplex auto

speed auto

!

interface FastEthernet0/1

no ip address

shutdown

duplex auto

speed auto

!

interface FastEthernet1/0

ip address 99.99.99.1 255.255.255.252

duplex auto

speed auto

!

interface FastEthernet2/0

ip address 77.77.77.2 255.255.255.252

duplex auto

speed auto

!

router ospf 1

log-adjacency-changes

network 33.33.33.0 0.0.0.3 area 0

network 77.77.77.0 0.0.0.3 area 0

network 99.99.99.0 0.0.0.3 area 0

!

ip forward-protocol nd

!

no ip http server

no ip http secure-server

!

control-plane

!

line con 0

exec-timeout 0 0

privilege level 15

logging synchronous

line aux 0

exec-timeout 0 0

privilege level 15

logging synchronous

line vty 0 4

login

!

end

9. Configurație ISP3

ISP3#sh run

Building configuration…

Current configuration : 1099 bytes

!

version 12.4

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

!

hostname ISP3

!

boot-start-marker

boot-end-marker

!

no aaa new-model

memory-size iomem 5

ip cef

!

ip auth-proxy max-nodata-conns 3

ip admission max-nodata-conns 3

!

ip tcp synwait-time 5

!

interface FastEthernet0/0

ip address 22.22.22.1 255.255.255.252

duplex auto

speed auto

!

interface FastEthernet0/1

no ip address

shutdown

duplex auto

speed auto

!

interface FastEthernet1/0

ip address 88.88.88.1 255.255.255.252

duplex auto

speed auto

!

interface FastEthernet2/0

ip address 99.99.99.2 255.255.255.252

duplex auto

speed auto

!

router ospf 1

log-adjacency-changes

network 22.22.22.0 0.0.0.3 area 0

network 88.88.88.0 0.0.0.3 area 0

network 99.99.99.0 0.0.0.3 area 0

!

ip forward-protocol nd

!

no ip http server

no ip http secure-server

!

control-plane

!

line con 0

exec-timeout 0 0

privilege level 15

logging synchronous

line aux 0

exec-timeout 0 0

privilege level 15

logging synchronous

line vty 0 4

login

!

end

ANEXA 2 – Echo-reply in tunel GRE

ANEXA 3 – Echo-reply in tunel IPSec

ANEXA 4 – Echo-reply in tunel GRE over IPSec

Similar Posts

  • . 10 10 06 Disertatie [621640]

    0 C U P R I N S PLAN DE IDEI ………………………….. ………………………….. ………………………….. ……………… 1 INTRODUCERE; prezentarea și justificarea temei ………………………….. …………………. 2 1. PROIECTAREA SPAȚIILOR PENTRU ÎNVĂȚĂMÂNT – aspecte și criterii fundamentale AMPLASAMENTUL și OCUPAREA TERENULUI ………………………….. ………………. 3 FUNCȚIUNILE ………………………….. ………………………….. ………………………….. ………….. 4 DIMENSIONAREA UNITĂȚILOR ………………………….. ………………………….. ………….. 6 ALEGEREA FORMEI…

  • I. Capitolul 1. Cancerul colorectal colorectal … … … 9 [603561]

    1 2 Cuprins Cuprins ………………………….. ………………………….. ………………………….. ………………………….. …………………. 2 Lista abrevierilor ………………………….. ………………………….. ………………………….. ………………………….. ……. 4 Introducere ………………………….. ………………………….. ………………………….. ………………………….. ……………. 6 Partea Generală ………………………….. ………………………….. ………………………….. ………………………….. ………. 8 I. Capitolul 1. Cancerul colorectal colorectal ………………………….. ………………………….. ……………………… 9 I.1.1. Date epidemiologice ………………………….. ………………………….. ………………………….. ………………. 9 I.1.2 Factorii de risc…

  • Stănese Daniel -Ioan [629579]

    UNIVERSITATEA “LUCIAN BLAGA” SIBIU FACULTATEA DE INGINERIE INGINERIA SISTEMELOR MULTIMEDIA PROIECT DE DIPLOMĂ Îndrumător: Conf.dr.ing. Sima Dorin Absolvent: [anonimizat], 201 9 – UNIVERSITATEA “LUCIAN BLAGA” SIBIU FACULTATEA DE INGINERIE INGINERIA SISTEMELOR MULTIMEDIA PROIECT DE DIPLOMĂ Bullseye – Aplicație de dezvoltare și îmbunătățire a memoriei vizuale î n C# Îndrumător: Conf.dr.ing. Sima Dorin Absolvent: [anonimizat], 201…

  • Specializarea: Contabilitate și Informatică de Gestiune [611433]

    1 Specializarea: Contabilitate și Informatică de Gestiune CONTROL FINANCIAR ANUL II Semestrul 2 Cluj-Napoca 201 8 2 3 Cuprins 1. INFORMAȚII GENERALE DESPRE CURS ȘI SEMIN AR ………………………….. ………………………….. ………………….. 5 1.1. INFORMAȚII DESPRE CUR S ………………………….. ………………………….. ………………………….. ………………………….. … 5 1.2. CONDIȚIONĂRI ȘI CUNOȘ TINȚE PRERECHIZITE ………………………….. ………………………….. ………………………….. ………. 5 1.3. DESCRIEREA…

  • Munteanu S.D Maria-Ecaterina [307944]

    UNIVERSITATEA „AUREL VLAICU” DIN ARAD FACULTATEA DE DESIGN PROGRAMUL DE STUDIU DESIGN FORMA DE ÎNVĂȚĂMÂNT CU FRECVENȚĂ LUCRARE DE LICENȚĂ ÎNDRUMĂTOR ȘTIINȚIFIC: Conf. Univ. Dr. Călin Lucaci ABSOLVENT: [anonimizat] 2017 UNIVERSITATEA „AUREL VLAICU” [anonimizat]: Conf. Univ. Dr. Călin Lucaci ABSOLVENT: [anonimizat] 2017 CUPRINS INTRODUCERE ……………………………………………………………………………. 1 CAPITOLUL 1. ISTORIA ILUSTRAȚIILOR ȘI A DESIGNULUI CARTE ……………..

  • Cristina PREUTU [623947]

    319 Cristina PREUTU Rolul și efectul scrisorilor adresate puterii în Rom ânia socialist ă The Role and Effect of Letters to Political Power in Socialist Romania I focus my research on one of the official communication networks between state and society in soc ialist Romania, more precisely, the communication through letters. Letters sent by citizens…