Sunteți pe pagina 1din 139

1

UNIVERSITATEA POLITEHNIC BUCURETI


FACULTATEA DE ELECTRONIC, TELECOMUNICAII I
TEHNOLOGIA INFORMAIEI
LUCRARE DE LICEN
Coordonator tiinific:
S.l. dr. ing. ADRIAN FLORIN PUN
Absolvent:
CONSTANTIN
MANEA
Bucureti
2013
2
UNIVERSITATEA POLITEHNIC BUCURETI
FACULTATEA DE ELECTRONIC, TELECOMUNICAII I
TEHNOLOGIA INFORMAIEI
SECURITATEA IN RETELELE
TCP/IP
Coordonator tiinific:
S.l. dr. ing. ADRIAN FLORIN PUN
Absolvent:
CONSTANTIN
MANEA
Bucureti
2013
3
4
CUPRINS:
1. Introducere....pag.00
1.1 Tipuri de atacuri informatice.......pag.00
1.2 Consideraii generale privind securitatea n reelele IP...pag.00
1.2.1 Servicii de securitate.....pag.00
1.2.2 Mecanisme de securitate specifice....pag.00
1.2.3 Tehnici de securitate..pag.00
1.2.3.1 Securitate prin firewal....pag.00
1.2.3.2 Criptografia....pag.00
1.2.3.3 Reea Virtual Privat....pag.00
1.2.3.4 Securitatea la nivelul aplicaie...pag.00
2. Algoritmi de criptare.pag.00
2.1 Introducere in criptografie...pag.00
2.2 Algoritmi criptografici cu chei simerice..pag.00
2.2.1 DES...pag.00
2.2.2 Triplu DES....pag.00
2.2.3 AES...pag.00
2.2.4 IDEA.pag.00
2.3 Algoritmi criptografici cu chei asimetrice..pag.00
2.3.1 Algoritmul RSApag.00
2.3.2 Algoritmul Diffie-Hellman ..pag.00
2.3.3 Semnaturi digitale.pag.00
2.4 Concluzii.pag.00
3. Securizarea comunicatiilor digitale prin intermediul VPN (Virtual Private
Network) ..pag.00
3.1 Tipuri de retele VPN....pag.00
3.1.1 Remote VPN.pag.00
3.1.2 Intranet VPN.pag.00
3.1.3 Extranet VPN....pag.00
3.2 Protocoale de tunelare..pag.00
3.2.1 Protocoale de nivel 2 OSI.pag.00
3.2.2 Protocoale de nivel 3 OSI.pag.00
3.3 Standardizarea retelelor VPN protocoalele ISAKMP si IPsec.pag.00
3.3.1 Protocolul AH...pag.00
3.3.2 Protocolul ESP..pag.00
3.3.3 Protocolul IKE si IKEv2...pag.00
3.4 Principalele avantaje ale reelelor virtuale private...pag.00
3.5 Best practices in retelele private virtuale..pag.00
4. Metode de control al accesului la servicii prin schimb de chei de acces..pag.00
4.1 SSL i TLS...pag.00
4.2 Arhitectura TLS ...pag.00
4.2.1 Protocolul de Handshake TLS...pag.00
4.3 Arhitectura SSL....pag.00
4.3.1 Criptri folosite de SSL.....pag.00
4.3.1.1 Suite de cifruri cu chei RSA...pag.00
4.3.2 Protocolul SSL de handshake .....pag.00
5
4.3.2.1 Autentificarea serverului....pag.00
4.3.2.2 Autentificarea clientului.pag.00
4.4 Atacuri rezolvate n SSL v3.pag.00
4.5 Diferene ntre SSLi TLS ..pag.00
4.6 Protocolul de login la distan Secure Shell (SSH) .pag.00
4.6.1 Arhitectura SSH....pag.00
4.6.2 Protocolul SSH la nivel transport..pag.00
4.6.3 Strategia SSH....pag.00
5. Aplicatie: simularea unei retele VPN (remote VPN, Intranet VPN si Extranet
VPN) .pag.00
Concluzii..pag.00
Bibliografie..pag.00
6
LISTA ACRONIME:
AAA= Authentication, Authorization and Accounting
AES =Advanced Encryption Standard
AH =Authentification Header
ASDL =Abstract-Type and Scheme-Definition Language
ATM =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
SHA =Secure Hash Algorithm
SONET =Synchronous Optical Networking
SSL =Secure Sockets Layer
TCP/IP =Transmission Control Protocol/Internet Protocol
UDP =User Datagram Protocol
VLSI = Very Large Scale Integration
VPN =Virtual Private Network
WAN =Wide Area Network
7
1. INTRODUCERE
In primii ani ale existenei lor, reelele de calculatoare au fost folosite de catre
cercettorii din universiti pentru trimiterea potei electronice (serviciul de e-mail) sau pentru
a permite conexiuni multiple la un server i de ctre funcionarii corporaiilor pentru a partaja
imprimantele. n aceste condiii, problema securitii nu atrgea prea mult atenia. De aceea
majoritatea protocoalelor de atunci nu aveau posibilitatea de a cripta datele (ex. Telnet, RIP,
etc.).
Cu timpul, oamenii cu vazut potentialul extraordinar al retelelor de calculatoare si
multiplele beneficii pe care le pot aduce: oamenii pot impartasi cunostinte, pot trimite poze,
pot tine legatura cu persoanele dragi, putand chiar sa isi plateasca facturile sau sa plaseze
comenzi de produse on-line, doar stand in fata computerului personal. Insa aceste beneficii
aduc si o serie de consecinte negative. Potrivit buletinului de securitate Kaspersky numarul
atacurilor informatice bazate pe browser (browser-based attacks) cum ar fi phising, Java
exploits, cross-site scripting, etc. a crescut in 2012 de la 946,393,693 la 1 595 587 670.
Atunci cand oamenii folosesc Internet-ul aproape non-stop pentru a plati facturi,
pentru a achizitiona diferite produse, pentru a posta poze personale sau pentru a trimite mesaje
celor dragi si, in plus, folosesc parole simple si usor de ghicit la conturile pe care le detin,
securitatea retelelor devine o mare problema potentiala.
Securitatea este un subiect vast si asigura o gama de imperfectiuni. In forma sa cea
mai simpla ea asigura ca un raufacator nu va poate citi sau chiar modifica mesajele. De
asemenea ea va poate garanta faptul ca atunci cand ati primit un mesaj de la persoana X, acel
mesaj este intr-adevar de la acea persoana si nu de la un rauvoitor. Securitatea informatica
este o arta. Trebuie asigurat un echilibru intre nevoia de comunicatii si conectivitate si, pe de
alta parte, necesitatea asigurarii confidentialitatii, integritatii si autenticitatii informatiilor.
Asa cum medicina incearca sa previna noi afectiuni in timp ce le trateaza pe cele
actuale, securitatea informatica incearca sa previna potentiale atacuri in timp ce minimizeaza
efectele atacurilor actuale.
8
1.1 Tipuri de atacuri informatice
Odata cu cresterea numarului de persoane care au avut acces la reteaua Internet a
crescut si numarul atacurilor. Primele atacuri au fost neintentionate, din pura curiozitate. De
exemplu viermele Morris (creat de un student al universitatii Cornell pe nume Robert Tappan
Morris in 1988) este considerat primul vierme distribuit pe Internet si totodata a atras prima
condamnare la inchisoare din istoria SUA. Viermele Morris a fost scris (potrivit creatorului
sau) pentru a masura Internetul, pentru a vedea cate calculatoare sunt conectate, si nu pentru a
cauza distrugeri. Insa Morris nu a prevazut fiecare aspect al codului iar acest lucru a permis
viermelui sau sa infesteze de mai multe ori un calculator ceea ce inseamna mai multe procese
deschise ceea ce cauzeaza incetinirea substantiala a calculatorului pana la imposibilitatea de
functionare. Dupa 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 retea de botnets a lovit sistemele armatei
SUA.
Astazi, sistemele informatice sunt amenintate atat din interior cat si din exterior, acest
lucru fiind posibil deoarece, cu trecerea timpului, amenintarile devin din ce in ce mai
sofisticate iar nivelul cunostintelor tehnice necesare pentru a le implementa scade. Pot fi
persoane bine intentionate care fac diferite erori de operare sau persoane rau intentionate, care
sacrifica timp si bani pentru penetrarea sistemelor informatice.
Dintre factorii tehnici care permit brese de securitate pot fi anumite erori ale software-
ului de prelucrare sau de comunicare sau anumite defecte ale echipamentelor de calcul sau de
comunicatie. De asemenea, lipsa unei pregatiri adecvate a administratorului, operatorilor si
utilizatorilor de sisteme amplifica probabilitatea unor brese de securitate.
Un studiu din 2012 arata ca 70% dintre atacurile asupra unei retele sunt din interior.
Ceea ce inseamna ca in aproape trei sferturi din cazuri atacurile asupra unei retele sunt
accidentale ori s-au folosit de neglijenta angajatilor. Aceste tipuri de pericole pot fi inlaturate
prin implementarea politicilor de securitate, asigurarea ca angajatii au inteles cum trebuiesc
folosite resursele companiei si ca inteleg importanta parolelor de acces pe care le detin.
Restul de 30%, adica atacurile ce isi au originea in exterior, pot fi catalogate dupa cum
urmeaza:
- Virusi: constau in secvente de cod ce se ataseaza de programe sau fisiere
executabile, de obicei la inceputul codului si cand este activat (atunci cand fisierul este
executat sau la o anumita data si ora predefinita) verifica hard-disk-ul in cautarea altor
9
fisiere executable neinfestate inca. Pot avea efecte nedaunatoare, cum ar fi afisarea pe
ecran a unei poze, sau efecte daunatoare cum ar fi stergerea datelor de pe hard-disk.
De asemenea pot fi programati sa isi modifice codul pentru a nu fi detectati.
- Viermi: sunt programe de sine statatoare ce ataca un sistem prin exploatarea unei
vulnerabilitati cunoscute, apoi scaneaza reteaua in cautarea unor noi sisteme pe care le
ploate exploata si infesta iar in cele din urma executa codul daunator care de obicei
consta in instalarea de backdoors pe sistem (modalitati 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 statatoare ce desi par a indeplini o anumita
functie legitima (un joc, un anumit program) executa in background secvente de cod
ce exploateaza privilegiile utilizatorului ce l-a rulat. Desi programul legitim este inchis
de utilizator, el ramane deschis si poate oferi creatorului sau acces pe calculatorul
infestat, poate fura si trimite date sensibile (parole, conturi, etc), sterge sau corupe
fisiere, opri programele antivirus/firewall sau incetini sau chiar opri activitatea retelei.
- Atac de recunoastere: descoperirea si cartografierea neautorizata a sistemelor,
serviciilor si vulnerabilitatilor unui sistem, ceea ce precede deseori alte tipuri de
atacuri.
- Atac de tip acces: exploateaza vulnerabilitati cunoscute ale serviciilor de
autentificare, FTP, servicii web, etc. pentru a capata acces la conturi web, baze de date
sau alte informatii sensibile. De obicei implica un atac de tip dictionar (dictionary
attack) sau de tip forta bruta (brute force) pentru a ghici parola de acces.
- Negarea serviciului: este poate cel mai des intalnit tip de atac si cel mai usor de
realizat (de obicei cu ajutorul unor scripturi sau programe) si consta in trimiterea unui
numar extrem de mare de cereri unui server/calculator pana cand acesta nu mai poate
raspunde cererilor legitime.
10
1.2 Consideraii generale privind securitatea n reelele IP
Domeniul care se ocup de studiul mecanismelor de protecie a informaiei n scopul
asigurrii unui nivel de ncredere n aceasta se numeste securitatea informatiei. Putem afirma
c nivelul de ncredere n informaie depinde de nivelul mecanismelor de securitate care i
garanteaz protecia i de riscurile care apar asupra securitii ei. Securitatea informaiei este
un concept mai larg care se refer la asigurarea integritii, confidenialitii i disponibilitii
informaiei. [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 rndul lor pot fi compuse din
cteva mecanisme.
Primul obiectiv este confidenialitatea informatiei, sau asigurarea faptului c
informaia rmne accesibil doar prilor autorizate n acest sens. Acesta este cel mai vechi
obiectiv al criptologiei. n rndul necunosctorilor este nc larg rspndit opinia c noiunea
de criptografie este sinonim cu confidenialitatea, 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 legtura cu pstrarea secret a informaiei.
Integritatea face referire la asigurarea faptului c informaia nu a fost alterat pe
parcursul transmisiei sau de ctre un posibil adversar.
Autentificarea avand dou coordonate distincte: autentificarea entitilor i
autentificarea informaiei. Autentificarea entitilor se refer la existena unei garanii cu
privire la identitatea unei anume entiti. Autentificarea informaiei se refer la garantarea
sursei de provenien a informaiei n mod implicit aceasta garanteaz i integritatea
informaiei (este evident c asigurarea autenticitii informaiei implic i asigurarea
integritii acesteia). Autentificarea este n general strns legat de un factor temporal, este
evident c o informaie 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
11
garanie cu privire la momentul de timp la care entitatea de care este legat a depozitat-o
(deoarece n acest caz informaia putea fi replicat i depus de orice alt entitate).
Ultimul obiectiv este non-repudierea previne o entitate n a nega o aciune ntreprins
(aciune materializat desigur n transmisia unei informaii). Aceasta nseamn c dac la un
moment dat o entitate neag ca ar fi emis o anume informaie, entitatea care a primit
informaia respectiv poate demonstra unei pri neutre c informaia provine ntr-adevr 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 livrrii poate fi realizat utiliznd o combinatie potrivit a mecanismelor de
integritate a datelor, semntura digital si 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 si, uneori, mecanismul de notariat (care presupune existenta unei a
treia pri, creia i se acord ncredere).
Mecanismul de criptare are ca scop transformarea datelor astfel nct ele s devin
inteligibile numai de ctre entitatea autorizat (care, n general, pstreaz o cheie secret
pentru a le descifra) sau de a transforma datele ntr-o manier unic, ce poate aparine numai
expeditorului. Numai entitatea autorizat, care deine o cheie secret, le poate decripta i citi.
Acest mecanism este folosit pentru a furniza confidenialitate, dar el poate fi utilizat i pentru
asigurarea altor ctorva servicii de securitate. ISO accept n criptare att algoritmi simetrici
ct si algoritmi nesimetrici (cu chei publice).
Mecanismul de semntur digital trebuie s garanteze c datele au fost produse
chiar de ctre 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 entitti de date;
procedura pentru verificarea semnturii.
Folosinduse criptografia asimetric, semntura poate fi generat prin calcularea unei funcii
de dispersie pentru datele ce trebuie semnate, iar apoi, criptnd valoarea rezultat folosindu-se
componenta privat a cheii asimetrice a semnatarului. Aceast valoare depinde de momentul
12
emiterii semnturii, pentru a preveni falsificarea prin retransmitere a datelor respective,
precum i de coninutul mesajului. Semntura trebuie produs numai pe baza informaiilor
personale ale semnatarului (cheia sa privat a algoritmului de cifrare, de exemplu), n timp ce
procedura de verificare este fcut public.
Mecanismul de control al accesului controleaz accesul entitilor la resurse,
presupunnd cunoscut identitatea entitii ce solicit accesul. Aciunile se produc atunci cnd
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
urmtoarele soluii:
lista drepturilor de acces (entitate, resurs);
parole;
capabiliti;
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 unitilor de
date (n ntregime sau partial numai un cmp), mpiedicnd modificarea, tergerea sau
amestecarea datelor pe durata transmisiei. Acest mecanism presupune dou proceduri:
una pentru emisie. Expeditorul adaug la unitatea de date o informaie adiional care
depinde numai de datele transmise (checkvalue - o sum de control criptat sau nu).
una pentru receptie: partea receptoare genereaz aceeasi 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 asigurrii actualitii datelor.
Mecanismul de autentificare mutual este folosit pentru a dovedi, reciproc,
identitatea entitilor. Se pot folosi pentru acestea parole sau tehnici criptografice (parole
cifrate, cartele magnetice sau inteligente, caracteristici biometrice, biochimice). Cnd sunt
folosite tehnicile criptografice, acestea sunt deseori combinate cu protocoale cu interblocare,
"hand-shaking", pentru protectia mpotriva nlocuirii (relurii) datelor. Principiul este
urmtorul: entitatea A trimite identitatea sa (cifrat sau nu) entittii 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.
13
Mecanismul de "umplere" a traficului este folosit pentru a asigura diferite nivele de
protecie mpotriva analizei de trafic si implic una din urmtoarele metode:
generarea unui trafic fals (rareori ntrebuintat datorit costurilor pe care le implic);
umplerea pachetelor de date transmise cu date redundante;
transmiterea de pachete i spre alte destinaii n afara celei dorite;
Mecanismul de control al rutrii se bazeaz pe faptul c ntr-o reea, 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 confidentialitatea legturii). Acest mecanism
trebuie folosit si ca suport pentru serviciile de integritate cu recuperarea datelor (de exemplu,
pentru a permite selecia unor rute alternative n vederea protejrii n cazul unor atacuri ce ar
perturba comunicaia).
Mecanismul de notarizare. Acest mecanism presupune stabilirea unei a treia pri
(notar) n care au ncredere toate entitile, care au rolul de a asigura garanii n privina
integritii, originii sau destinatiei datelor. Atunci cnd se foloseste acest mecanism, datele
sunt transferate ntre entiti prin intermediul notarului. [3]
1.2.3 Tehnici de securitate
Dupa momentul in care tehnicile de securitate au fost implementate intr-o retea,
informaiile nu vor mai putea fi accesate sau interceptate de persoane neautorizate i se va
impiedica falsificarea informaiilor transmise sau utilizarea clandestin a anumitor servicii
destinate unor categorii aparte de utilizatori ai reelelor.
Tehnici specifice utilizate pentru implementarea securitatii unei retele:
protecia fizic a dispozitivelor de reea i a liniilor de transmisie la nivelul fizic;
proceduri de blocare a accesului la nivelul reele;
transport securizat al datelor in spatiul 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 sa poata fi aproape ineficiente intruct nu ar corespunde strategiei si obiectivelor
pentru care a fost proiectat reeaua. O politic corect de securitate, include urmatoarele
nivele de securitate:
14
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 reele private virtuale. Criptarea datelor
confer un al doilea nivel de securitate. Mai mult, se pot folosi asa numitele certificate
digitale pentru a se asigura comunicarea sigura cu partenerul dorit.
iii) Al treilea nivel de securitate este securitatea la nivelul aplicatie.
Desigur c uneori nu este nevoie de toate aceste msuri de securitate; n funcie de
importana 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
reele. Acesta reprezint implementarea politicii de securitate n termeni de configurare a
reelei. Un firewall este un sistem plasat la grania dintre dou reele i posed urmtoarele
proprieti [5] :
tot traficul dintre cele dou reele trebuie s treac prin acesta;
este permis trecerea numai a traficului autorizat prin politica local de securitate;
sistemul nsui este imun la ncercrile de penetrare a securitii acestuia.
Cel care controleaz accesul ntre Internet i o reea privat este firewall-ul; fr el,
fiecare staie din reeaua privat este expus atacurilor de penetrare iniiate din afara reelei.
Folosirea unui firewall pentru asigurarea securitii reelelor furnizeaz numeroase avantaje,
ajutnd i la creterea nivelului de securitate al calculatoarelor componente dintre care vor fi
enumerate doar cele mai importante: Concentrarea securitii. Pentru a asigura securitatea
unei reele, un firewall poate fi o soluie mai puin costisitoare din punctul de vedere al
administrrii n sensul c programele care trebuie modificate i software-ul adiional care
trebuie instalat pot fi localizate (n totalitate sau n cea mai mare parte) n sistemul firewall,
spre deosebire de situaia n care acestea ar fi fost distribuit pe toate calculatoarele din reea.
Firewall-urile tind s fie mai uor de implementat i administrat, software-ul specializat
executndu-se numai pe acestea.
15
Instituirea unei politici de acces n reea. Un firewall furnizeaz mijloacele de
control al accesului ntr-o reea privat. Unele calculatoare gazd pot fi fi accesibile din
exterior, n timp ce altele pot fi protejate efectiv fa de accesul nedorit
Protecia serviciilor vulnerabile. Dac ntregul trafic spre/dinspre Internet trece
printr-un firewall, atunci exist posibilitatea monitorizrii acestuia i furnizrii de statistici cu
privire la folosirea reelei. Colectarea de date privitoare la ncercrile de atac asupra reelei
permite verificarea rezistenei firewall-ului la asemenea ncercri, iar realizarea de statistici
este folositoare pentru analizarea riscurilor i pentru studiile de dezvoltare a reelei. n afara
avantajelor folosirii unui firewall exist, de asemenea, o serie de dezavantaje i un numr de
probleme de securitate, care nu pot fi rezolvate prin intermediul acestuia. Printre
dezavantajele utilizrii unui firewall se pot enumera: Restricionarea accesului la unele
servicii. Un firewall impune, de cele mai multe ori, restricionarea sau blocarea accesului la
unele servicii considerate vulnerabile, servicii care sunt ns solicitate intens de utilizatori (de
exemplu TELNET, FTP etc.)
Protecia sczut fa de atacurile provenite din interior. n general, un firewall
nu asigur o protecie fa de ameninrile interne. Un firewall nu poate opri o persoan din
interiorul reelei de a copia informaii i de a le furniza apoi celor interesai. Un firewall nu
poate asigura protectie mpotriva unor ui secrete existente ntr-o reea, cum ar fi, de exemplu,
permiterea nerestricionat a accesului prin modem la unele dintre calculatoarele interne. Este
total nerecomandat investirea de resurse importante ntr-un firewall, dac celelalte modaliti
posibile pentru furtul datelor sau pentru atac mpotriva sistemului sunt neglijate.
Protecia sczut fa de virui. Firewall-urile nu pot asigura protecie mpotriva
utilizatorilor care aduc local, din arhivele Internet, programe infectate de virui. Din cauz c
aceste programe pot fi codificate sau comprimate n mai multe moduri, un firewall nu le poate
scana n scopul identificrii semnturilor virale. Aceast problem a programelor infectate
rmne i va trebui rezolvat prin alte metode, din care cea mai recomandat ar fi instalarea
unui software antivirus pe fiecare staie din reea.
Viteza de comunicaie cu exteriorul. Un firewall reprezint o potenial limitare
pentru traficul dintre reeaua intern i exterior. Totui, aceast limitare nu constituie o
problem n reelele legate cu exteriorul prin linii de mare vitez.
Fiabilitatea proteciei firewall. O reea protejat prin firewall i concentreaz
securitatea ntr-un singur loc, spre deosebire de varianta distribuirii securitii ntre mai multe
sisteme. O compromitere a firewall-ului poate fi dezastruoas pentru celelalte sisteme (mai
puin protejate) din reea. Un contra-argument la acest dezavantaj const n faptul c
16
incidentele de securitate apar, mai degrab, pe msur ce numrul de sisteme din reea crete,
iar distribuirea securitii ntre acestea face s creasc modalitile n care reeaua poate fi
atacat. n ciuda tuturor acestor probleme i dezavantaje, se recomand ca protejarea
resurselor unei reele s se fac att prin intermediul firewall-urilor, ct i al altor mijloace i
tehnici de securitate. [6]
1.2.3.2 Criptografia
Criptografia nseamn comunicare n prezena adversarilor. Ronald Rivest
Multe servicii i mecanisme de securitate folosite n Internet au la baza criptografia,
securizarea informaiei precum i autentificarea i restricionarea accesului ntr-un sistem
informatic folosind metode matematice pentru transformarea datelor n intenia de a ascunde
coninutul lor sau de a le proteja mpotriva modificrii.
Criptografia, folosit intr-un protocol de securitate, vrea s asigure dezideratele
mentionate mai sus, fundamentale pentru securitatea informatiei: confidenialitate, integritatea
datelor, autenticitatea si ne-repudierea. Criptarea este o metod de protejare a informaiilor
sensibile stocate n sistemele de calcul, dar i a celor care sunt transmise pe liniile de
comunicaie. Informaiile care sunt criptate ramn sigure chiar dac sunt transmise printr-o
reea care nu ofer o securitate puternic. Cea mai popular metod de protecie, att pentru
comunicaii, ct i pentru datele cu caracter secret a devenit criptarea. Reeaua Internet, spre
exemplu, ofer servicii de criptare utilizatorilor si. Cu cat se avanseaza si se constientizeaza
beneficiile aduse de utilizarea criptrii, a dezavantajelor lipsei de protecie a informatiilor 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 reea sau date
obinuite stocate n sistemul de calcul. Este impresionant numarul mare de folosire a noiunii
de criptare-decriptare cnd este vorba de securitatea datelor. [6] Tehnologia de criptare
asigur c mesajele nu sunt interceptate sau citite de altcineva dect destinatarul autorizat.
Criptarea este folosit pentru a proteja date care sunt transportate printr-o retea public, si
foloseste algoritmi matematici avansati pentru a cifra mesajele si documentele atasate. Exist
mai multe tipuri de algoritmi de criptare, dar unii sunt mai siguri dect altii. n cei mai multi
algoritmi, datele originale sunt criptate folosind o anumit cheie de criptare, iar computerul
17
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 garanii de securitate.
Atunci cnd obiectul manipulat este informaia singura garanie poate fi oferit de ctre
criptografie, deci rolul acesteia este de a oferi garanii n faa riscurilor de securitate.
1.2.3.3 Reea Virtual Privat
O tehnologie de comunicaii computerizata sigur, dar bazat pe o reea public poarta
numele de reea privat virtual, din cauza acestui fapt nu este foarte sigur. Tehnologia VPN
este conceput tocmai pentru a crea ntr-o reea public o subreea de confidenialitate aproape
la fel de nalt ca ntr-o reea privat adevrat la care sunt legai numai utilizatori autorizai.
n mod intenionat aceast subreea, denumit totui "reea VPN", nu poate comunica cu
celelalte sisteme sau utilizatori ai reelei publice de baz. Utilizatorii unei reele VPN pot
cpta astfel impresia c sunt conectai la o reea privat dedicat, independent, cu toate
avantajele pentru securitate, reea care n realitate este doar virtual, ea de fapt fiind o subreea
nglobat fizic n reeaua de baz. [7] Tehnologia VPN folosete o combinaie de tunneling,
criptare, autentificare i mecanisme i servicii de control al accesului, folosite pentru a
transporta traficul pe Internet. Retelele private virtuale au fost create din dorinta de a avea o
mai bun securitate asupra informatiilor transmise de ctre utilizatori prin retea. Tehnologiile
VPN ofer o cale de a folosi infrastructurile reelelor publice cum ar fi Internetul pentru a
asigura acces securizat i privat la aplicaii i resurse ale companiei.
1.2.3.4 Securitatea la nivelul aplicaie
Se asigur implementarea tuturor serviciilor de securitate datorita nivlului aplicatiei,
chiar mai mult, unele, de exemplu, nerepudierea mesajelor poate fi realizat numai la acest
nivel. Un avantajul major al asigurrii securitii la acest nivel este independena de sistemele
de operare i de protocoalele utilizate pe nivelele inferioare. Dar obligatoriu, trebuie
menionat faptul c la acest nivel securitatea este dependent de aplicaie, adica trebuie
implementat individual pentru fiecare aplicaie.
18
2. ALGORITMI DE CRIPTARE
Criptologia este considerat ca fiind cu adevrat o tiin de foarte puin timp. Aceasta
cuprinde att criptografia - scrierea secretizat - ct i criptanaliza. De asemenea, criptologia
reprezint nu numai o art veche, ci i o tiina nou: veche pentru c este utilizata de pe
timpul lui Iulius Cezar, dar nou pentru c a devenit o tem de cercetare academico-tiinific
abia ncepnd cu anii 1970. Aceast disciplin este legat de multe altele, de exemplu de
teoria numerelor, algebr, teoria complexitii, informatic.
Criptografia este definit ca fiind studiul tehnicilor matematice referitoare la aspecte de
securitatea informaiei precum confidenialitate, integritate, autentificarea entitilor,
autentificarea provenienei datelor. [9]
2.1 Introducere in criptografie
Atunci cnd trimit o scrisoare prin pot, majoritatea oamenilor obinuiesc s sigileze
plicul. Dac i-am ntreba de ce fac asta, probabil c mare parte dintre ei ar spune fie c
acioneaz din reflex sau c fac la fel ca toat lumea, fie c lipirea plicului mpiedic
scrisoarea s se rtceasc. Chiar dac plicurile nu conin informaii personale sau strict
secrete, muli sper ca scrierile lor s nu fie citite dect de destinatar, motiv pentru care ei aleg
s sigileze plicurile. Cu toate acestea, dac cineva i dorete cu adevrat s citeasc
coninutul unei scrisori care nu i aparine, ar putea s o fac foarte uor, rupnd plicul. La fel
se ntmpl i n cazul email-urilor, care ar putea fi citite cu uurin de unii programatori
iscusii.
Pentru a evita astfel de neplceri, am putea opta pentru criptografie, metoda de codare
care ne asigur c scrisoare va rmne inteligibil pentru intrui, mcar o perioad de timp,
pn cnd acetia reuesc s gseasc cheia.
Criptografia reprezint o ramur a matematicii care se ocup cu securizarea
informaiei precum i cu autentificarea i restricionarea accesului ntr-un sistem informatic.
n realizarea acestora se utilizeaz att metode matematice (profitnd, de exemplu, de
dificultatea factorizrii numerelor foarte mari), ct i metode de criptare cuantic. Termenul
criptografie este compus din cuvintele de origine greac ascuns i a scrie.
Prin sistem criptografic, sau simplu criptosistem, nelegem 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)
19
un algoritm de criptare procesul prin care mesajul este transformat in mesaj cifrat,
utilizand un algoritm de criptare si o cheie de criptare specific
un algoritm de decriptare proces invers criptrii, prin care mesajul cifrat este tranformat in
mesajul initial, original, utiliznd o funie de decriptare si o cheie de decriptare.
Figura 2.1. Sistem Criptografic
Elementele care au marcat cotitura semnificativ n dezvoltarea metodelor
criptografice :
primul este legat de dezvoltarea reelelor de calculatoare, al cror stimulent
extraordinar s-a manifestat att prin presiunea exercitat de tot mai muli utilizatori ct i prin
potenarea gamei de instrumente folosite efectiv n execuia algoritmilor de cifrare. Utilizarea
calculatoarelor electronice a permis folosirea unor chei de dimensiuni mai mari, sporindu-se
astfel rezistena la atacuri criptoanalitice. Cnd cheia secret are o dimensiune convenabil i
este suficient de frecvent schimbat, devine practic imposibil spargerea cifrului, chiar dac
se cunoate algoritmul de cifrare.
al doilea moment important n evoluia criptografiei moderne l-a constituit adoptarea
unui principiu diferit de acela al cifrrii simetrice. Whitfield Diffie i Martin Hellman au pus
bazele criptografiei asimetrice cu chei publice. n locul unei singure chei secrete, criptografia
asimetric foloseste dou chei diferite, una pentru cifrare, alta pentru descifrare. Deoarece este
imposibil deducerea unei chei din cealalt, una din chei este fcut public fiind pus la
ndemna oricui dorete s transmit un mesaj cifrat. Doar destinatarul, care deine cea de-a
20
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 informaiei precum i autentificarea i restricionarea accesului ntr-un sistem
informatic folosind metode matematice pentru transformarea datelor n intenia de a ascunde
coninutul lor sau de a le proteja mpotriva modificrii.
2.2 Algoritmi criptografici cu chei simerice
Criptografia cu chei simetrice se refer la metode de criptare n care att trimitorul
ct i receptorul folosesc aceeai cheie (sau, mai rar, n care cheile sunt diferite, dar ntr-o
relaie ce la face uor calculabile una din cealalt). Acest tip de criptare a fost singurul
cunoscut publicului larg pn n 1976.
Pentru asigurarea confidenialitii datelor memorate in calculatoare sau transmise prin
retele se folosesc preponderent algoritmi criptografici cu cheie secret (simetrici). Ei se
caracterizeaz prin aceea c att pentru criptare ct i pentru decriptare este utilizat aceeai
cheie secret. Cheia de criptare este necesar de pstrat in secret fa de utilizatorii
neautorizati, pentru ca cel ce are acces la acesta cheie poate avea acces si la informaia
secret. Algoritmii criptografici simetrici se caracterizeaz printr-o viteza de cifrare foarte
mare, in comparaie cu algoritmii criptografici asimetrici i sunt comozi la cifrarea blocurilor
mari de informaie. Securitatea acestui tip de algoritm depinde in mare masur de lungimea
cheii si posibilitatea de a o pstra secreta.
Algoritmii criptografici cu chei simetrice se utilizeaz n special n cazul transferului
unei cantiti mari de date. n cadrul acestui tip de algoritmi se pot folosi cifruri secveniale
sau cifruri bloc [10]. Mesajul este criptat la nivel de octect de catre cifrurile secveniale, pe
rnd, unul cte unul. Se utilizeaz un generator de numere pseudoaleatoare care este iniializat
cu o cheie i genereaz ca rezultat o secven de bii denumit cheie secvenial. Cifrarea se
poate face si cu sincronizare (n cazul n care cheia secvenial depinde de textul n clar),
respectiv fr sincronizare. Cele mai utilizate sunt cifrurile fr sincronizare. Pentru fiecare
octet al textului n clar i cheia secvenial se aplic operaia XOR (sau exclusiv). Fiind un
algoritm simetric, la decriptare se utilizeaz operaia XOR ntre biii textului cifrat i cheia
secvenial, astfel obinndu-se textul n clar. Cifrurile bloc cripteaz mesajul n blocuri de 64
21
sau 128 de bii. Se aplic o funcie matematic ntre un bloc de bii ai mesajului n clar i
cheie (care poate varia ca mrime), rezultnd acelai numr de bii pentru mesajul criptat.
Funcia de criptare este realizat astfel nct s ndeplineasc urmtoarele cerine:
tiind un bloc de bii ai textului n clar i cheia de criptare, sistemul s poat genera
rapid un bloc al textului criptat;
tiind un bloc de bii 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 dect
utilizarea cifrurilor secveniale, deoarece fiecare bloc este procesat n parte.
Dezavantajeste faptul ca algoritmii care folosesc cifruri bloc sunt mai leni dect
algoritmii care folosesc cifruri secveniale.
2.2.1 Algoritmul DES
Standardul de Criptare a Datelor (n englez Data Encryption Standard, DES) este un
cifru (o metod de criptare a informaiei), selectat ca standard federal de procesare a
informaiilor n Statele Unite n 1976, i care s-a bucurat ulterior de o larg utilizare pe plan
internaional. Algoritmul a fost controversat iniial, avnd elemente secrete, lungimea cheii
scurt i fiind bnuit c ascunde de fapt o porti pentru NSA.
DES a fost analizat intens de ctre profesionaliti n domeniu i a motivat nelegerea
cifrurilor bloc i criptanaliza lor.
DES este astzi considerat nesigur pentru multe aplicaii. Acest lucru se datoreaz n
principiu cheii de 64 de bii (dintre care doar 56 de biti sunt folositi propriu-zis de algoritm,
restul de 8 fiind folositi ca biti de paritate), considerat prea scurt; cheile DES au fost sparte
n mai puin de 24 de ore.
De asemenea, exist unele rezultate analitice care demonstreaz slbiciunile teoretice
ale cifrului, dei nu este fezabil aplicarea lor. Se crede c algoritmul este practic sigur n
forma Triplu DES, dei exist atacuri teoretice i asupra acestuia.
DES este alctuit din 16 pasi identici de procesare, numiti runde, care produc textul
cifrat. n urma studiilor s-a concluzionat c numrul de runde este exponential proportional cu
22
timpul necesar aflrii cheii secret folosind atacul de tip for brut. Pe msur ce crete
numrul de runde, securitatea algoritmului creste exponential.
Paii de procesare sunt prezentati in figura 2.2:
1. Textul n clar este mprit n blocuri de 64 bii.
2. Din cheia de 56 bii se genereaz 16 chei de 48 bii. Cheia de 56 bii 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 mprit n blocuri, este supus unui proces de permutare bazat
pe un table care specific modul n care biii sunt permutai: bitul unul este mutat pe poziia
bitului 40, bitul 2 pe poziia 23 etc.
4. Dup realizarea permutrii, biii sunt trecui prin cele 16 runde, folosind cte una
din cele 16 sub-chei generate.
5. Cei 64 bii creai la pasul 3 sunt pasai unei runde, unde sunt mprii n 2 blocuri
de cte 32 bii i procesai cu cheia corespunztoare rundei respective.
6. Pasul 4 este repetat de 16 ori. Rezultatul unei runde este livrat urmtoarei runde.
7. Dup terminarea celei de-a 16-a runde, cele 2 jumti de cte 32 bii sunt lipite,
rezultnd un bloc de 64 bii.
8. Blocul de 64 bii este din nou permutat, folosind funcia 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 operaiilor elementare pe care le folosete algoritmul; singura
observaie este c, datorit modulului de lucru (cu secvene 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, existnd multiple variante de maini
hard de codificare.
23
Figura 2.2. Algorimul DES
24
2.2.2 Triplu DES
3DES, numit i Triple DES, este un cifru bloc care aplic de 3 ori DES, asa cum se
poate observa in figura 2.3. In momentul cand s-a observat c aceste chei de 56 bii folosite de
DES nu sunt suficiente pentru a proteja datele mpotriva atacurilor de tip for brut, 3DES a
fost soluia pentru mrirea spaiului cheilor fr a schimba algoritmul.
Figura 2.3. Algorimul Triplu DES
Triple DES, cu 3 chei diferite de 56 bii are o lungime a cheii de 168 bii. Datorit
atacurilor meet-in-the-middle (un atac generic, aplicabil mai multor sisteme criptografice),
securitatea efectiv este doar de 112 bii.
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 astzi pe scar larg n aplicaii i adoptat ca standard de
organizaia 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
selecie sub numele Rijndael.
25
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 bii, 192 de bii, sau 256 de bii. Specificaia AES standardizeaz toate cele trei
dimensiuni posibile pentru lungimea cheii, dar restricioneaz lungimea blocului la 128 de
bii. Astfel, intrarea i ieirea algoritmilor de criptare i decriptare este un bloc de 128 de bii.
n publicaia FIPS numrul 197, operaiile AES sunt definite sub form de operaii pe matrice,
unde att cheia, ct i blocul sunt scrise sub form de matrice. La nceputul rulrii cifrului,
blocul este copiat ntr-un tablou denumit stare (n englez state), primii patru octei pe prima
coloan, apoi urmtorii patru pe a doua coloan, i tot aa pn la completarea tabloului.
Algoritmul modific la fiecare pas acest tablou de numere denumit stare, i l
furnizeaz apoi ca ieire.
Pasii sunt urmatorii:
1) Pasul SubBytes
Figura 2.4 Pasul SubBytes
Pasul SubBytes este un cifru cu substituie, figura 2.4., fr 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 b
i
este bitul corespunztor poziiei i din cadrul octetului, iar c
i
este bitul corespunztor
poziiei i din octetul ce reprezint valoarea hexazecimal 63, sau, pe bii, 01100011.
Maparea octeilor se poate reine ntr-un tabel, explicitat n FIPS PUB 197, n care este
specificat rezultatul operaiei de mai sus efectuat pe fiecare din cele 256 de valori posibile
reprezentabile pe un octet.
26
2) Pasul ShiftRows
Figura 2.5 Pasul ShiftRows
Pasul ShiftRows, figura 2.5., opereaz la nivel de rnd al matricii de stare state. Pasul
const n simpla deplasare ciclic a octeilor de pe rnduri, astfel: primul rnd nu se
deplaseaz; al doilea rnd se deplaseaz la stnga cu o poziie; al treilea rnd se deplaseaz la
stnga cu dou poziii; al patrulea se deplaseaz la stnga cu trei poziii. Rezultatul acestui pas
este c fiecare coloan din tabloul state rezultat este compus din octei de pe fiecare coloan
a strii iniiale. Acesta este un aspect important, din cauz c tabloul state este populat iniial
pe coloane, iar paii ulteriori, inclusiv AddRoundKey n care este folosit cheia de criptare,
operaiile 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
27
nmulit, modulo cu polinomul . Operaia se poate
scrie ca nmulire de matrice astfel:
unde sunt elementele de pe un vector coloan rezultate n urma nmulirii, iar sunt
elementele de pe acelai vector naintea aplicrii pasului.
Rezultatul are proprietatea c fiecare element al su depinde de toate elementele de pe
coloana strii dinaintea efecturii pasului. Combinat cu pasul ShiftRows, acest pas asigur c
dup cteva iteraii, fiecare octet din stare depinde de fiecare octet din starea iniial (tabloul
populat cu octeii mesajului n clar). Aceti doi pai, mpreun, sunt principala surs de
difuzie n algoritmul Rijndael. Coeficienii polinomului a(x) sunt toi 1, 2 i 3, din motive de
performan, criptarea fiind mai eficient atunci cnd coeficienii sunt mici. La decriptare,
coeficienii pasului corespunztor acestuia sunt mai mari i deci decriptarea este mai lent
dect criptarea. S-a luat aceast decizie pentru c unele din aplicaiile n care urma s fie
folosit algoritmul implic numai criptri, i nu i decriptri, deci criptarea este folosit mai
des.
4) Pasul AddRoundKey i planificarea cheilor
Figura 2.7 Pasul AddRoundKey
28
n pasul AddRoundKey, figura 2.7., se efectueaz o operaie de sau exclusiv pe bii
ntre octeii strii i cei ai cheii de rund.
Pasul AddRoundKey este pasul n care este implicat cheia. El const ntr-o simpl
operaie de sau exclusiv pe bii ntre stare i cheia de rund (o cheie care este unic pentru
fiecare iteraie, cheie calculat pe baza cheii secrete). Operaia de combinare cu cheia secret
este una extrem de simpl i rapid, dar algoritmul rmne complex, din cauza complexitii
calculului cheilor de rund (Key Schedule), precum i a celorlali pai 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 Elveia n
anul 1990. El este patentat n Europa i n Statele Unite, dar poate fi utilizat gratuit n aplicaii
necomerciale. IDEA este unul dintre algoritmii care a fost propus pentru a nlocui DES.
Acesta este unul dintre cei mai reuii algoritmi din cei propui (pn n prezent nu a fost
raportat nici un atac pentru decriptare reuit). De exemplu IDEA este inclus n PGP (Pretty
Good Privacy) care a contribuit la rspndirea acestuia. IDEA este un cod bloc care folosete
o cheie de 128 bii pentru a cripta blocuri de date de 64 de bii. 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. In alta ordine de ider
complexitatea implementrii algoritmului de criptare crete exponenial cu lungimea blocului.
Folosirea unui bloc de 64 bii este n general destul de puternic. Lungimea cheii: Lungimea
cheii trebuie s fie destul de mare pentru a preveni cutarea exhaustiv. Confuzia: Legtura
dintre mesajul original i cheie n mesajul criptat trebuie s fie ct mai complicat. Obiectivul
este de a complica ct mai mult determinarea unor statistici din mesajul criptat care au
legtur cu mesajul original. n acest scop IDEA folosete trei operaii 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 influeneze toi biii mesajului criptat i orice schimbare din cheie
s influeneze orice bit din mesajul criptat. Aceast tehnic ascunde structura statistic a
mesajului original. Din acest punct de vedere, IDEA este foarte eficace.
29
Revenind la ultimele dou puncte, confuzia este obinut prin trei operaii diferite.
Fiecare dintre aceste operaii este aplicat pe dou segmente de intrare de 16 bii, producnd o
singur ieire pe 16 bii. Aceste operaii sunt:
XOR (sau-exclusiv) pe bii.
Adunarea de ntregi modulo 216 (modulo 65 536) cu intrri i ieiri tratate ca ntregi
pe 16 bii fr semn.
Multiplicarea de ntregi modulo 216+1 (modulo 65 537) cu intrri i ieiri tratate ca
ntregi pe 16 bii fr semn.
IDEA este relative usor de implementat att software ct i hardware. Implementarea
hardware (de obicei n VLSI) este proiectat pentru a obine o vitez foarte mare, n schimb
cea software este mult mai flexibil i mai ieftin. Principii de proiectare a implementrii
software:
Se folosesc subblocuri: algoritmul poate opera cu subblocuri de 8, 16, 32 bii.
Dimensiunea tipic este de 16 bii.
Se folosesc operaii simple: implementarea celor trei operaii ce intervin n
algoritmul IDEA se face pe baza operaiilor primitive la nivel de bit (adunare, deplasare, etc.).
Principii de proiectare a implementrii hardware:
Criptarea i decriptarea sunt similare. Ele difer doar prin ordinea folosirii subcheilor
astfel nct acelai dispozitiv poate fi folosit att pentru criptare, ct 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 intrri: mesajul original i cheia de criptare. n acest caz, primul are
lungimea de 64 bii, iar cheia este de 128 bii.
Urmrind partea stng a figurii, se observ c algoritmul const din 8 ture (runde)
urmate de o transformare final. Cei 64 bii de la intrare sunt divizai n 4 subblocuri de cte
16 bii. Fiecare tur are ca intrare 4 subblocuri de 16 bii producnd la ieire tot 4 subblocuri
de 16 bii. Aceeai regul este valabil i pentru transformarea final, diferena fiind doar la
ieire unde cele 4 subblocuri sunt concatenate pentru a forma mesajul criptat. De asemenea
fiecare tur folosete ase subchei de 16 bii, iar transformarea final doar 4 subchei, n total
fiind folosite 52 subchei. n partea dreapt a figurii se observ c toate aceste subchei sunt
generate din cheia original de 128 bii.
30
Figura 2.8. Schema bloc a algoritmului IDEA
31
2.3 Algoritmi criptografici cu chei asimetrice
Criptografia asimetric este un tip de criptografie care utilizeaza o pereche de chei: o
cheie public i o cheie privat. Un utilizator care deine o astfel de pereche i public cheia
public astfel ncat oricine dorete s o poata folosi pentru a i transmite un mesaj criptat.
Numai deintorul cheii secrete (private) este cel care poate decripta mesajul astfel criptat.
Matematic, cele dou chei sunt legate, ns cheia privat nu poate fi obinut din cheia
public. In caz contrar, orcine 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 potale. Oricine poate
pune n cutia potal a cuiva un plic, dar la plic nu are acces dect posesorul cheii de la cutia
potal.
Cripografia asimetric se mai numete criptografie cu chei publice.
Metodele criptografice n care se folosete aceeai 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, att pentru criptare ct i pentru decriptare. Pentru a
putea folosi aceast metod att receptorul ct i emitorul 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 numar foarte mare de chei. Sistemele de criptare
asimetrice inlatura acest neajuns. De asemenea, se elimina necesitatea punerii de acord asupra
unei chei comune, greu de transmis in conditii 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 decat folosind cheia privat corespunztoare. Metoda este folosit pentru a asigura
confidenialitatea.
2.Semnturi digitale un mesaj semnat cu cheia privata a emitorului poate fi
verificat de catre oricine, prin acces la cheia publica corespunzatoare, astfel asigurandu-se
autenticitatea mesajului.
O analogie pentru semnturile 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 increderea (dovada) c
cheia publica este corect, autentic i nu a fost interceptat sau nlocuit de o a treia parte ru
voitoare. n mod normal problema este rezolvat folosind infrastructura cu cheie public
32
(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
factorizrii numerelor foarte mari. Algoritmul poate fi utilizat pentru operatii de:
criptare/decriptare, semnare/verificare semnatura, asigurarea integritatii datelor (prin
semnare), schimb de chei. El este ntlnit n servere i browsere de web, n clieni i servere
de e-mail, reprezentnd practic coloana vertebral a sistemului de pli electronice prin card-
uri de credit. [8] Algoritmul funcioneaz dup cum urmeaz: [11]
Se genereaz dou numere prime p i q, de lungime biti. Deoarece mulimea numerelor
prime este suficient de dens, numerele prime pot fi generate alegnd aleator numere ntregi
de n/2 bii i testndu-le cu ajutorul unui test probabilistic. Apoi, fie
de lungime n bii.
Numrul e trebuie ales astfel nct s ndeplineasc urmtoarele condiii:
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 nct acesta s fie multiplul
invers al lui e sau altfel spus
33
s fie divizibil cu
n practic, d se poate obine foarte simplu cutnd rezolvarea
astfel nct d i x s fie numere ntregi. Valorile d i e sunt numite exponentul privat, respectiv
exponentul public al algoritmului.
Funcia de criptare/semnare arat astfel:
unde M reprezint mesajul de criptat (un ntreg pozitiv mai mic dect N). Funcia 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). Numrul d mai este cunoscut i sub numele de trap door,
deoarece cunoaterea sa permite inversarea rapid a funciei RSA. Viteza algoritmului RSA
depinde n mare msur de lungimea cheilor utilizate, de tipul de implementare, de procesorul
pe care se ruleaz aplicaia, dar i de protocolul ce trebuie implementat. Deseori, pentru a
obine o vitez sporit n aplicaiile practice, sunt utilizai exponeni publici mici, acest fapt
implicnd ns i riscuri corespunztoare. Exist chiar grupuri ntregi de utilizatori care
folosesc acelai 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 nct sigurana
algoritmului s nu fie periclitat.
Utiliznd, cum spuneam, exponeni publici mici, se obine o vitez mai mare de
criptare i verificare n comparaie cu procesele inverse de decriptare i semnare a datelor.
34
Utiliznd algoritmii generali de calcul ai exponenialului, operaiile cu cheie public consum
un timp proporional cu O(n) iar operaiile cu cheie privat necesit aproximativ O(n) , unde
n reprezint numrul de bii ai lui N. Tehnicile de multiplicare rapid, necesit de obicei mai
puini pai, sunt ns destul de rar folosite datorit complexitii lor, i a faptului c pentru
lungimi tipice de chei, ele sunt totui mai lente.
Dac comparm viteza algoritmului RSA cu cea a unui algoritm cu cheie simetric
(DES de exemplu), putem observa c n funcie de implementare (HW sau SW) cel din urm
este cu pn la aproximativ 1000 de ori mai rapid dect RSA. Cu toate acestea, utilizarea RSA
n algoritmi de distribuire de chei (simetrice) sau n alte aplicaii, n care viteza este mai puin
important, prezint avantaje de netgduit. Securitatea sistemelor RSA se bazeaz pe
presupunerea c funcia:
este unidirecional, fiind computaional dificil de a se gsi mesajul iniial M n absena
exponentului de decriptare d. Exist ns posibilitatea, cel puin teoretic, de a ncerca
factorizarea lui N prin metoda forei brute sau prin alte metode, fapt ce ar duce la aflarea
numerelor p i q. Apoi utiliznd 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 mulime de cercettori,
fiind supus la nenumrate teste. Cu toate c de-a lungul celor mai bine de 25 de ani de
utilizare au rezultat diverse vulnerabiliti, algoritmul s-a dovedit suficient de rezistent (pn
n prezent) pentru a putea oferi un grad ridicat de securitate. Metodele de atac rezultate nu fac
dect s ilustreze nc o dat pericolul utilizrii RSA n condiii necorespunztoare,
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 creia i este destinat mesajul i se trimite
destinatarului mpreun cu mesajul criptat (acestea dou formeaz un plic digital RSA).
Destinatarul va decripta mai nti cheia DES cu ajutorul cheii sale private, apoi mesajul, cu
ajutorul cheii simetrice, obinut din prima decriptare. Cheia DES poate fi n continuare
utilizat i ca o cheie de sesiune. Pentru semnarea unui mesaj, mai nti se creeaz o amprent
digital (message digest) a acestuia cu ajutorul unei funcii hash. Aceasta se cripteaz cu
ajutorul cheii private, rezultatul urmnd a fi trimis destinatarului. Pentru verificarea
semnturii, se decripteaz mesajul cu ajutorul cheii publice a semnatarului, obinnd astfel
35
amprenta digital, care va fi comparat cu cea obinut aplicnd din nou funcia hash asupra
mesajului. Dac cele dou amprente sunt identice, rezult faptul c semntura digital este
autentic.
n momentul de fa, RSA este utilizat ntr-o varietate de produse, platforme i
standarde. El poate fi ntlnit n sisteme de operare, precum: Microsoft, Apple, Sun sau
Novell, n componente hardware, precum: sisteme telefonice, card-uri de reea sau smartcard-
uri, n protocoale de comunicaie, precum: S/MIME, SSL, IPSec, PKCS. El este n mod sigur
cel mai rspndit algoritm cu cheie public utilizat la ora actual.
n ultimul timp a devenit clar c sistemele cu chei publice sunt un mecanism
indispensabil att pentru managementul cheilor ct i pentru comunicaiile sigure. Ceea ce
este mai puin clar este modalitatea de a alege cel mai bun sistem ntr-o anumit situaie. Unul
dintre criteriile cele mai des folosite pentru a alege l constituie tehnica utilizat de algoritm.
Fr o cunoatere profund a acesteia, a vulnerabilitilor, dar mai ales a metodelor de atac, cu
greu mai putem concepe astzi 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 gsite (pn n prezent) metode astfel nct algoritmul s fie
compromis. Se poate deci presupune c implementrile 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 operatiile de schimbare de chei. Fiecare parte utilizeaza 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 cte o cheie
privat. n pasul urmtor, fiecare calculeaz cte o cheie public, aceasta fiind o funcie
matematic a cheilor private respective. Urmeaz schimbul de chei publice. n final, fiecare
dintre cele dou persoane calculeaz o funcie a propriei chei private i a cheii publice a
celeilalte persoane. Matematica este cea care va face s se ajung la aceeai valoare, care este
derivat din cheile lor private.
36
Securitatea acestui algoritm consta n dificultatea calculrii logaritmilor discrei.
Calculul acestor logaritmi pentru numere prime mari este considerat imposibil. n primul rnd
de definete a - rdcina primitiv a unui numr prim p, ca fiind un numr a crui puteri
genereaz toi ntregii de la 1 la p-1 prin aplicarea operatiei (mod p). Adic dac a este
rdcina primitiv a unui numr 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 rdcin primitiv a a unui numr p se poate gsi un unic
exponent astfel nct:
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 cteva protocoale de
securitate a retelelor, i la Pretty Good Privacy pentru criptarea e-mail-urilor i a unor fiiere.
2.3.3 Semnaturi digitale
Standardul pentru semnturi digitale (DSS Digital Signature Standard) a fost adoptat
n 1991, fiind revizionat n 1993. El folosete Secure Hash Algorithm (SHA) i prezint o
tehnic nou pentru semnturi digitale prin Digital Signature Algoritm (DSA). Spre deosebire
de RSA acest algoritm este proiectat doar pentru furnizarea semnturilor digitale nu i pentru
funcii de criptare i decriptare, dar totui este o metod care folosete chei publice.
Figura 2.9 evidentiaza diferenta dintre modul de generare a semnturilor digitale
folosite de DSS i algoritmul RSA, creandu-se astfel o paralela intre cele 2. n RSA, partea de
mesaj care se dorete a reprezenta n final semntura, este trecut printr-o funcie de
amestecare (hash function) producnd un cod amestecat (hash code) de lungime fix, acesta
fiind mai apoi criptat cu cheia privat a expeditorului formnd semntura digital. Att
mesajul propriu-zis ct i semntura digital sunt transmise destinatarului. Destinatarul
produce pe baza mesajului (fr partea care include semntura) codul amestecat. De asemenea
destinatarul decripteaz semntura folosind cheia public a sursei. Dac codul amestecat
rezultat i semntura obinut prin decriptare coincid, atunci semntura este validat.
37
Deoarece numai sursa cunoate cheia sa privat rezult c numai ea poate produce o
semntur valid.
Figura 2.9 Cele dou abordri a semnturilor digitale
Funcii de amestecare sunt folosite de asemenea si de Algoritmul DSS. Codul
amestecat produs este folosit ca intrare ntr-o funcie-semntur mpreun cu un numr k
generat aleator. Funcia-semntur mai depinde i de cheia privat a sursei KRa precum i
de un set de parametri cunoscui participanilor. Se consider c acest set de parametrii
constituie o cheie global KUG. Rezultatul este o semntur care const din dou componente
notate s i r. La destinaie un cod amestecat este generat pe baza mesajului recepionat. Acesta
i semntura servesc ca intrare funciei de verificare. Aceasta depinde de asemenea de cheia
public a sursei KUa i de cheia public global. Dac ieirea produs de funcia de verificare
coincide cu r (o parte din semntur) atunci semntura este valid.
38
2.4 Concluzii
Criptografia cu chei simetrice i cea cu chei publice prezint atat avantaje i
dezavantaje. Deoarece n cadrul criptografiei simetrice este utilizat aceeai cheie att pentru
criptare, ct i pentru decriptare, securitatea acestei criptri este redus, depinznd n mod
evident de mpiedicarea obinerii cheii secrete de ctre 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 ecuaii matematice
complexe care opereaz cu numere foarte mari, ceea ce implic o relativ ncetineal a
procesului. Algoritmii simetrici sunt de obicei mult mai rapizi, avnd ns problema partajrii
cheii de criptare. Un astfel de algoritm este cu att mai sigur, cu ct lungimea cheii este mai
mare (numrul cheilor care ar putea fi testate de o persoan neautorizat crete). n practic se
prefer combinarea celor dou forme de criptografie, pentru optimizarea performanelor. In
tabelele de mai jos (Tabel 1 si Tabel 2) sunt evidentiate in paralel avantajele si dezavantajele
celor doua chei:
Tabel 1
Avantaje Dezavantaje
Chei
simetrice
Cheile folosite pentru algoritmii
simetrici sunt relativ scurte
ntr-o comunicaie cheia trebuie sa
ramana permament secreta n (cel putn)
doua locuri distincte
Algoritmii folosii permit
gestionarea unor volume mari de
date, cu vitez reletiv bun.
Exista implementari hard care
pentru unele sisteme de criptare
pot asigura rate de criptare de
sute de mega-octeti pe secunda
Cu cat lungimea unui mesaj criptat este
mai mare, cu atat el este mai usor de
spart
Prin compunere pot conduce la
sistme de criptare puternice
Necesita un canal sigur de comunicare,
cel putin pentru transmiterea cheii. Acest
lucru devine dificil mai ales pentru
sistemele care necesita schimbari
frecvente ale cheilor de
criptare/decriptare
Pot fi folosite ca baza de
constructie a diverselor
mecanisme de criptare, cum ar fi
generatori de numere pseudo-
aleatoare, generatori de functii de
dispersie, scheme de semnatura
In retele mari, o gestionare a cheilor
devine extrem de dificila
39
Tabel 2
Avantaje Dezavantaje
Cheie
publica
Conduc la aplicatii de mare ntindere:
semnaturi electronice, algoritmi de
autentifi- care, componente de comert
electronic
Sunt necesare chei de lungimi mult mai
mari
In functie de modul de utilizare, o
pereche de chei (publica,privata) poate
fi pastrata o perioada mai lunga de timp
Nu se poate garanta securitatea absoluta a
nici unei scheme de criptare cu cheie
publica
Sistemele cu cheie publica sunt simplu
de definit si elegante matematic
Implementarea trebuie realizata cu foarte
mare grija. Sisteme cu grad ridicat teoretic
de securitate pot fi sparte usor printr-o
implementare neglijenta
Sistemul este ideal pentru transmiterea
informatiei prin canale nesigure
Viteza algoritmilor cu chei publice este de
cteva ori mai mic decat a celor cu chei
simetrice
Doar cheia de decriptare trebuie tinuta
secreta, la un singur punct (destinatar)
40
3. SECURIZAREA COMUNICATIILOR DIGITALE PRIN
INTERMEDIUL VPN (VIRTUAL PRIVATE NETWORK)
O tehnologie de comunicaii cumputerizat sigur, dar bazat pe o reea public este o
reea privat virtual,i de aceea nu foarte sigur. Tehnologia VPN este conceput tocmai
pentru a crea ntr-o reea public o subreea de confidenialitate aproape la fel de nalt ca ntr-
o reea privat adevrat la care sunt legai numai utilizatori autorizai. Tehnologia VPN este
conceput tocmai pentru a crea ntr-o reea public o subreea de confidenialitate aproape la
fel de nalt ca ntr-o reea privat adevrat la care sunt legai numai utilizatori autorizai. n
mod intenionat aceast subreea, denumit totui "reea VPN", nu poate comunica cu
celelalte sisteme sau utilizatori ai reelei publice de baz. Utilizatorii unei reele VPN pot
cpta astfel impresia c sunt conectai la o reea privat dedicat, independent, cu toate
avantajele pentru securitate, reea care n realitate este doar virtual, ea de fapt fiind o subreea
nglobat fizic n reeaua de baz.
O reea privat virtual este o reea partajat n care datele private sunt segmentate de
restul traficului, astfel nct numai destinatarul real are acces la ele, un exemplu general este
ilustrat n figura urmtoare. Figura 3.1. prezint o reea VPN n care ntreprinderile A i B nu
se "vd" i nu se deranjeaz reciproc, dei ambele folosesc aceeai reea fizic public.
Figura 3.1 Reele private virtuale
41
Reelele VPN ofer multe aventaje: extinde aria geografic de conectivitate, sporete
securitatea, reduce costurile operaionale, crete productivitatea, simplific topologia reelei,
ofer oportuniti de lucru ntr-o reea global, permite confidenialitatea datelor schimbate
ntre punctele de lucru aflate la distan i altele. n plus, VPN -urile securizate sunt mai
ieftine dect liniile nchiriate dedicate.
Un aspect important, vital al securitii datelor este faptul c datele, n cursul lor spre
destinatar, sunt protejate prin tehnologii de criptare. Un punct slab este ca reelelor private le
lipsete securitatea datelor, permind astfel intrarea n reea i citirea datelor. n schimb,
reelele private virtuale bazate pe IP Sec utilizeaz criptarea pentru a secretiza date, crescnd
astfel rezistena reelei din punct de vedere al furtului datelor.
3.1 Tipuri de retele VPN
Sunt trei tipuri principale de retele 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 reea public.
- VPN-urile intranet (Intranet VPN) permit extinderea reelelor private prin Internet
sau alt serviciu de reea 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 clieni, n general n scopul realizrii comerului electronic. VPN-urile
extranet sunt o extensie a VPN-urilor intranet la care se adaug firewall-uri pentru protecia
reelei interne.
42
Figura 3.2 Tipuri de reele VPN
3.1.1 Remote VPN
VPN-urile de tip acces de la distan (remote access), numite i reele virtuale private
cu dial-up, este un tip de conexiune utilizator-ctre-LAN (figura 3.3) folosit cel mai adesea
de companii ce au angajai cu necesiti de conectare la resursele reelei companiei din diverse
locatii.
Figura 3.3 Remote VPN
43
De regul n momentul cnd se dorete accesul mai multor utilizatori la reeaua local,
se apeleaza la o companie de out-sourcing ce folosete un server de acces n reea pentru a
acorda drepturi utilizatorilor i calculatoarelor acestora.
In general, n cazul implementarii unei tehnologii VPN ntre sediile companiei, este de
preferat s se apeleze la acelai ISP pentru toate locaiile. Apropierea geografic de regul nu
are nici o legatura cu apropierea pe Internet.
Prin utilizarea de echipamente dedicate i criptare pe scar larg, o companie poate conecta
multe locaii (sucursale) fixe pe o reea public cum ar fi Internetul.
3.1.2 Intranet VPN
Reeaua virtual privat ntre sediile i departamentele aceleiai firme. Intranet-ul
este definit ca o legtura semi-permanent peste o reea 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 securitii pentru ca firmele au ncredere n filialele lor. n astfel de
cazuri compania are control asupra reelei/nodurilor destinaie ct i asupra celei surs.
Administratorii de sistem trebuie s decid dac aceasta situaie este ntlnit i n propria
firm.
Cantiti mari de date sunt schimbate frecvent ntre LAN-uri ntr-o reea 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 rspndite n reeaua
firmei ar trebui s fie considerate ca fcnd parte din aceeai reea. Motivul principal pentru
care majoritatea organizaiilor se orienteaz ctre tehnologia VPN este costul redus al acestei
implementari.
Figura 3.4 Intranet VPN
44
3.1.3 Extranet VPN
Reeaua virtual privat care este relativ izolat fa de intranet. Extranetul este
destinat comunicrii cu partenerii, clienii, furnizorii i cu angajaii la distan. Securizarea
unei reele de dimensiuni mari necesit ndrumri i instrumente adecvate. Un extranet VPN
trebuie s ofere o ierarhie a securitii i accesarea datelor confideniale 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 fr a exista riscul de a
expune resursele protejate unor eventuale ameninri, aa ca firmele ar trebui s ia n
considerare cele mai avansate soluii de VPN.
Figura 3.5 Extranet VPN
Un Extranet VPN, figura 3.5. sigur, n care o companie mparte informaii cu clienii,
partenerii, furnizorii i angajaii aflai la distan prin intermediul reelei publice stabilind
legturi unidirecionale de la un capt la altul printr-un server VPN. Acest tip de sistem
permite unui administrator de reea s defineasc drepturi specifice, cum ar fi cele ce ar
permite unui membru din conducerea unei firme partenere s acceseze diferite/anumite
rapoarte de vnzri de pe un server protejat. Acest tip de acces nu este posibil cu orice tip de
soluie VPN.
ntr-o situaie real de interconectare ntre parteneri de afaceri, administratorii trebuie s
caute o soluie de VPN care s filtreze accesul la resurse n funcie de ct mai multe
parametrii posibili, inclusiv sursa, destinaia, utilizarea aplicaiei, tipul de criptare i
45
autentificare folosit, i identitile 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 aplicaie
obinuit de birou, dar nu sunt la fel de sigure precum token-urile sau smart card-urile.
Reelele private virtuale folosesc Internetul pentru a conecta mai multe reele LAN ntre
ele, printr-o conexiune sigur. Conexiunile VPN realizeaz acest lucru cu dou procese
importante: crearea de tunele i securizarea. Mai nti, o reea VPN creeaz un circuit
,,virtual" ntre cele dou puncte conectate, prin intermediul Internetului. Apoi, folosete
metoda crerii de tunele pentru a nfura datele n protocolul (limbajul) Internetului - TCP/IP
- astfel nct s poat fi transportate cu uurin. Prin securizare se nele criptarea i
ncapsularea pachetelor trimise, astfel nct numai destinatarul creia i se adreseaz s le
poat decodifica i citi.
3.2 Protocoale de tunelare
Pentru a se face posibila implementarea reelei VPN este necesar crearea unui tunel
printr-o reea public pentru transferul datelor. Tunelarea este definita ca fiind o metod de
folosire a infrastructurii unei inter-reele pentru transferul datelor dintr-o reea peste o alt
reea. 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 adiional. Acesta conine informaii de rutare astfel nct ncrctura
ncapsulat poate traversa inter-reeaua intermediar. Pachetele ncapsulate sunt apoi rutate
ntre capetele tunelului prin inter-reea. Calea logic pe care pachetele ncapsulate o urmeaz
n inter-reea se numete tunel. Odat ce cadrele ncapsulate ajung la destinaie prin inter-
reea, cadrul este decapsulat i trimis la destinaia sa final. De notat c tunelarea include
ntregul proces: ncapsulare, transmitere i decapsulare a pachetelor.
46
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 reea. Protocolul pachetului
rezultat n urma tunelrii este recunocut de ctre reea i de ctre ambele noduri surs i
destinaie, la nivelul interfeelor de tunelare, prin care pachetele intr i ies din reea.
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 legtur de date, i folosesc
cadre ca unitate de schimb. Ele ncapsuleaz ncrctura ntr-un cadru PPP pentru a fi
transmis peste inter- reea. Pentru tehnologiile de nivel 2, cum ar fi PPTP sau L2TP, un tunel
este asemntor 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 folosete un protocol de
meninere a tunelului. Pentru protocoalele de nivel 2, un tunel trebuie creat, meninut i
distrus. [12]
47
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. Dei aceast soluie faciliteaz
conectivitatea pe linii de acces n reele cu comutaie de circuite, informaia 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 participanii
la sesiuni de comunicaii. Este cea mai cunoscut dintre opiunile pentru securitatea
transferului de date n reeaua 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-
reea IP de corporaie sau public (Internet).
PPTP suport criptare pe 128 de bii i 40 de bii i poate folosi orice schem de
autentificare suportat de PPP. Ca i L2F, PPTP permite tunneling-ul unor cadre PPP de la
clientul ndeprtat ntre un NAS i un VPN gateway/concentrator.
Layer 2 Tunneling Protocol, este o combinaie 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 incapsuland un cadru L2TP in interiorul unui pachet UDP, cel din
urma fiind incapsulat in interiorul unui pachet IP a carui adrese sursa si destinatie definesc
capetele tunelului.
Fiind conceput pentru a suporta orice alt protocol de rutare, incluznd IP, IPX i
AppleTalk, acest L2TP poate fi rulat pe orice tip de reea WAN, inclusiv ATM, X.25 sau
SONET. Cea mai important trstur 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
funcie de tunneling, iar Microsoft furnizeaz i o schem de criptare denumit Point-to-Point
Encryption. n afara capacitii de creare a unei VPN, protocolul L2TP poate realiza mai
multe tunele simultan, pornind de la acelai client.
Urmtorul tabel (tabel 3.1) ne ofer o comparaie intre cele mai predominante
protocoale de tunelare cu acces la distan (remote acces), L2TP, PPTP i L2F:
48
PPTP L2F L2TP
Transport IP/GRE IP/UDP, FR, ATM IP/UDP, FR, ATM
Criptare Criptare Microsoft
PPP (MPPE)
Criptare Microsoft
PPP (MPPE); IPsec
opional
Criptare Microsoft
PPP (MPPE/ECP);
IPsec opional
Autentificare Autentificare PPP
(utilzator)
Autentificare PPP
(utilzator); IPsec
opional (pachet)
Autentificare PPP
(utilzator); IPsec
opional (pachet)
Tabel 3.1 Comparaie intre protocoale de tunelare cu acces la distanta
3.2.2 Protocoale de nivel 3 OSI
Protocoalele de nivel 3 corespund nivelului reea, folosesc pachete IP i sunt exemple
de protocoale care ncapsuleaz pachete IP ntr-un antet IP adiional nainte de a le transmite
peste o inter-reea 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 meninere a tunelului. Tunelul odat stabilit, datele tunelate pot fi
trimise. Clientul sau serverul de tunel folosete un protocol de transfer de date de tunel pentru
a pregti datele pentru transfer. De exemplu, cnd clientul de tunel trimite informaia util
ctre serverul de tunel, clientul de tunel adaug un antet de protocol de transfer de date de
tunel la informaia util. Apoi clientul trimite informaia ncapsulat rezultat prin inter-reea,
care o dirijeaz ctre serverul de tunel. Serverul de tunel accept pachetul, elimin antetul de
protocol de transfer de date i transmite informaia util la reeaua int. Informaia 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 reea n interiorul
tunelelor IP, crend o legtur virtual punct la punct, ntre routere aflate la distan, peste o
reea IP.
Pentru rutarea cu adrese private, se ncapsuleaz pachetele IP transmise n Internet cu
antete suplimentare prin aa-numitul mecanism GRE, descris n RFC 1701. Pachetului iniial
49
(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 reea (delivery
header).
n antetul GRE se specific ruta pe care se va trimite forat pachetul la destinaie, fr
a se lua alte decizii de rutare n routerele intermediare.
GRE asigur transparena adreselor intermediare i securitatea transmisiei, prin
realizarea unui aanumit "tunel de transmisie" (tunnelling) .
Uzual este cazul ncapsulrii 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 nct cadrul s fie interpretat ca fiind ncapsulat GRE i routerele 'de
la distan s extrag adresa de destinaie privat din pachetul original.
Tunelarea are implicaii 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 reeaua 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 uurin prin Internet.
Dei VPN-urile construite peste Internet folosind GRE sunt posibile, sunt foart 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 reele virtuale private prin Internet.
Orice persoana care folosete VPN este preocupata de securizarea datelor cnd
traverseaz o reea public. Totodat, dezvoltarea VPN-urilor pe baza reelei publice Internet
poate nsemna reducerea costurilor semnificativ de mult comparativ cu liniile nchiriate.
Serviciile IPSec permit autentificare, integritate, controlul accesului i confidenialitare. Cu
IPSec, schimbul de informaii ntre locaiile la distan poate fi criptat i verificat. Cu IPsec
pot fi dezvoltate soluii att la distan, ct i site-to-site.
IPSec este poate cel mai autorizat protocol pentru pstrarea confidenialitii i
autenticitii pachetelor trimise prin IP. Protocolul funcioneaz cu o larg varietate de scheme
de criptare standard i negocieri ale proceselor, ca i pentru diverse sisteme de securitate,
incluznd semnturi digitale, certificate digitale, chei publice sau autorizaii. ncapsulnd
pachetul original de date ntr- destinaie. Deoarece nu exist modaliti de autentificare sau
criptare liceniate, IPSec se detaeaz 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 criptrii n timp ce o reea virtual
50
de tip L2TP primete un pachet, iniiaz tunelul i trimite pachetul ncapsulat ctre cellalt
terminal VPN.
IPSec folosete un algoritm pentru schimbarea cheilor ntre pri, numit Internet Key
Exchange (IKE), care permite calculatoarelor s aleaga o cheie de sesiune n mod securizat,
folosind protocoalele ISAKMP pentru crearea de Security Associations i OAKLEY bazat pe
algoritmul Diffie-Hellman pentru schimbarea cheilor ntre cele dou pri. IKE se poate folosi
n conjuncie cu Kerberos, certificate X.509v3 sau chei preshared.
Pentru a securiza comunicaia n reea cu IPSec ntre calculatoarele Windows se
foloseste o colecie de reguli, politici i filtre pentru a permite n mod selectiv doar
comunicaia 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 soluii VPN de comunicaie reliefeaz unele probleme specifice,
probleme ce apar din cauza absenei 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 definete structura pachetelor IP i considerentele legate de
securitatea n cazul soluiilor VPN.
In ultimi ani in cadrul IETF, grupul de lucru IPSec a nregistrat mari progrese n
adugarea de tehnici de securitate criptografice la standardele pentru infrastructura Internet.
Arhitectura de securitate specificat pentru IP ofera servicii de securitate ce suport
combinaii de autentificare, integritate, controlul accesului i confidenialitate.
Tunele GRE cu protecie IPSec. GRE este un protocol de tunelare dezvoltat de Cisco
care poate nmagazina o multitudine de tipuri de pachete ale protocoalelor de reea n
interiorul tunelelor IP, crend o legtur virtual punct la punct, ntre routere aflate la distan,
peste o reea IP.
Tunelele GRE sunt create s fie complete, fr o stare persistent, astfel fiecare capt
de tunel nu ncapsuleaza nicio informaie despre starea i disponibilitatea captului de tunel de
la distan. O urmare a faptului acesta este c ruter-ul din captul de tunel nu are abilitatea de
a marca protocolul liniei interfeei tunelului GRE ca fiind inaccesibil dac ruter-ul de la
distan, din cellalt capt, nu este funcional. Posibilitatea de a exprima c interfaa este
nefuncional ctre cellalt capt este eficient pentru retragerea rutelor care o folosesc ca i
interfa de ieire, din tabela de rutare (n special rutele statice).
51
De cele mai multe ori, o interfa de tunel GRE este funcional din momentul n care
este configurat i rmne aa ct timp este o adres surs a tunelului valid. Adresa IP
destinaie a tunelului trebuie s fie mereu rutabil. Acest lucru este adevrat chiar dac cellalt
capt al tunelului nu a fost configurat. Astfel, o rut static a pachetelor via interfaa tunelului
GRE rmne n vigoare chiar dac pachetele tunelului GRE nu gsesc cellalt capt de tunel.
Construirea unei reele virtuale private folosind IPSec pentru conectivitatea dintre
capete are cteva limitri:
-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 procoale 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 proteciei IPSec pe acest tunel. Este n esen c GRE
incadreaz orice informaie util dintr-un pachet unicast destinat unui capt GRE.
In momentul cand se utilizeaz GRE mbinat cu IPSec se poate folosi att modul tunel
ct i cel transport (modul tunel va aduga un antet IP pachetelor GRE, n timp ce modul
transport va folosi antetul original GRE).
Teoretic, modul transport se recomanda in momentul cnd se utilizeaz combinarea
dintre IPSec i GRE pentru c deja protocolul de ncapsulare GRE adaug un antet IP nou
pachetului util. Totui, aceast situaie presupune existena unor adrese IP surs i destinaie
care sunt accesibile prin calea IP dintre noduri.
Utilizarea protocolului GRE mpreun cu IPSec face configurarea echipamentelor
VPN mai simpl. n situaia tradiional IPSec era nevoie de o politic anume care s
specifice subreelele protejate pentru ca traficul dintre acestea s fie criptat/decriptat i de
fiecare dat cnd o subreea era adugat trebuia s fie rennoit structura la ambele capete. n
cazul utilizrii GRE, regulile trebuie s corespund doar traficului dintre adresele de capt
GRE (tot ce trece prin tunelul GRE este criptat).
Unul din multiplele motive pentru care este bine sa folosesti GRE combinat cu IPSec
este faptul ca exista astfel posibilitatea de a rula protocoale dinamice ntre locaii pentru a
anuna subreelele protejate. Rutarea dinamic ajut implicit i n situaii de eec a
transferului, in acest fel se pot detecta interfeele care nu mai funcioneaz i nu mai particip
n VPN.
52
3.3 Standardizarea retelelor VPN protocoalele ISAKMP si IPsec
ISAKMP (Internet Security Association and Key Management Protocol Protocolul
pentru Managementul Cheilor si Asociatia Securitatii Internetului) , un protocol cheie n
arhitectura IPsec, combina conceptele de securitate ale autentificarii, gestionarea cheilor i
asocieri de securitate pentru a stabili nivelul de securitate necesar pentru guverne, comunicatii
comerciale i private de pe Internet .
ISAKMP definete procedurile i formatele de pachete pentru a stabili, negocia,
modifica i terge asocierile de securitate (SAs). Acestea conin toate informaiile necesare
pentru executarea diferitelor servicii de securitate de reea, cum ar fi serviciile de la nivelul IP
(cum ar fi autentificarea antetului i ncapsulare incarcaturii), nivelul transport sau servicii de
la nivelul aplicaie, sau auto-protecia traficului de negociere. ISAKMP definete incarcaturi
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 proprieti
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 servete ca acest cadru comun.
Separarea funcionalitatii n trei pri adaug complexitate analizei securitatii unei
implementari ISAKMP complete. Cu toate acestea, separarea este esenial pentru
interoperabilitate ntre sisteme cu cerinele de securitate diferite i ar trebui s simplifice, de
asemenea, analiza evoluiei ulterioare a unui server ISAKMP.
ISAKMP este destinat s sprijine negocierile asocierilor pentru protocoale de
securitate la toate nivelurile stivei de reea (de exemplu, IPSEC, TLS, TLSP, OSPF, etc). Prin
centralizarea managementului asocierilor de securitate, ISAKMP reduce cantitatea de
functionalitate duplicat n fiecare protocol de securitate.
IPSec a aprut n cadrul efortului de standardizare pentru IPv6 i reprezint singura
soluie 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 informaiei, ntre dou sisteme
53
firewall, de exemplu. n modul transport, informaia este ncapsulat altfel nct ea poate fi
securizat ntre punctele terminale ale conexiunii, deci "ambalajul" nu ascunde informaia de
rutare cap-la-cap. Modul tunel este cea mai sigur metod de securizare, ns crete gradul de
ncrcare a sesiunii de comunicaie, prin mrirea dimensiunilor pachetelor.
Controlul securitii se poate face la oricare dintre cele patru nivele ale stivei TCP/IP;
datele sunt pregtite pentru transport i sunt tranzitate de la cel mai nalt la cel mai jos nivel,
adugndu-se treptat noi informaii. Astfel, nivelele de mai sus nu pot asigura protecie total
pentru nivelele de jos pentru c acestea adaug informaii dup ce s-au aplicat msurile de
securitate mai sus. Controlul la nivel reea a devenit foarte utilizat n reelele de date pentru c
propune o soluie 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 ataate la un pachet IP pentru
realizarea securitii: 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, fr 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 ctre utilizator. n autentificarea ESP, sumarul de
mesaj este inserat la sfritul pachetului (n timp ce n AH, sumarul se afl n interiorul
cmpului de autentificare).
Standardul IPSec stabilete 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 conine toate informaiile necesare pentru execuia diferitelor servicii de
securitate pe reea, cum sunt serviciile corespunztoare nivelului IP (autentificarea antetului i
ncapsularea datelor), serviciile nivelurilor de transport sau aplicaie, precum i autoprotecia
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 main i de o asociere de securitate negociat
ntre emitor i receptor. Politica const ntr-un set de filtre i un set de profile de securitate
asociate. Dac un pachet are adresa, protocolul i numrul de port corespunztoare unui filtru,
atunci pachetul este tratat conform profilului de securitate asociat.
n afara protocoalelor de securitate prezentate anterior, IPSec mai conine i protocolul
Internet Key Exchange (IKE). IPSec folosete IKE pentru a negocia setrile de conexiune
54
IPsec, pentru a autentifica vecinii unul cu cellalt, pentru a defini parametrii IPSec pentru
conexiuni private, pentru a negocia cheile secrete i pentru a administra, mbunti i terge
canalele de comunicaie IPSec.
3.3.1 Protocolul AH
Authentification Header (unul dintre protocalele de securitate IPSec) ofera siguranta
integritatii datelor i autentificarii utilizatorilor. In mod pional se poate oferi protecia
accesului i mpotriva atacurilor de replicare, iar aceasta nu poate cripta nicio poriune din
pachet. n versiunea iniial IPSec, AH i ESP erau des utilizai mpreun (ESP nu asigura
autentificarea), dar n cea de-a doua versiune, AH devine mai puin semnificativ, pn la
stadiul m care unele sisteme nu mai suport AH. Totui, acest protocol este valoros pentru c
poate autentifica poriuni de pachet pe care ESP nu poate.
AH se prezinta sub forma a dou moduri: transport i tunel. n modul tunel, AH creaz
un nou antet IP pentru fiecare pachet iar n modul transport nu. n arhitecturile IPSec care
utilizeaz o poart(gateway), sursa i destinaia adevrat a pachetelor trebuie s fie
modificate pentru a fi adresa IP a porii. Modul transport este utilizat n general n
arhitecturile staie-la-staie, deoarece aceasta nu poate modifica antetul original IP sau s
creeze un alt antet.
Procesul NAT impreun cu protocolul AH nu poate avea loc. AH protejeaz ntregul
pachet IP, incluznd cmpurile invariante ale antetului (adresele IP surs i destinaie), printr-
un sumar de mesaj pentru a produce un hash cifrat. Receptorul va folosi acest hash pentru a
autentifica pachetul, deci dac orice cmp din pachetul IP original este modificat,
autentificarea va eua i pachetul va fi aruncat.
Procesul de protejare a integritii 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 cu criptarea.
Algoritmii hash produc o amprent a unei informaii, astfel nct aceste date vor produce de
fiecare dat aceeai valoare. Dac un singur bit se schimb, atunci i amprenta va fi diferit.
Aceti algoritmi sunt utilizai pentru a asigura integritatea prin faptul c ne asigur c datele
nu au fost modificate n tranzit. Verificarea se face prin adugarea hash-ului datelor trimise iar
la destinaie se ruleaz acelai algoritm asupra datelor, obinndu-se acelai hash (dac datele
55
nu au fost modificate). Cei mai importani algoritmi hash sunt MD5 i SHA-1. Ambele preiau
la intrare date de lungime arbitrar i produc la ieire o amprent de 128 bii, respectiv 160.
SHA-1 conine msuri adiionale de securitate, cum ar fi o rund n plus pentru calularea
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 numete Cod de
autentificare a mesajului (MAC). Atunci cnd MAC-urile se utilizeaz cu algoritmii de tip
hash, va purta numele de HMAC. IPSec folosete algoritmi de autenticitate HMAC, care
execut dou hash-uri acordate. Ca i exemplu, cei mai utilizai 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. ncepnd cu a doua variant
IPSec, protocolul poate performa autentificarea, pentru protejarea integritii, dei nu i pentru
antetul IP extrem (cel mai din afar). ESP-ul mai are si o alta optiune si anume aceea de a
oferi posibilitatea de a dezactiva criptarea prin algoritmul Null ESP.
Protocolul ESP se gaseste sub forma a dou moduri: tunel i transport. n primul mod,
ESP realizeaza un antet IP nou pentru fiecare pachet care afieaz limitele de tunel ESP, dar
arata atat sursa cat i destinaia pachetului. n situaie de fata se poate realiza criptarea i
protejarea integritii att a datelor ct i a antetului original IP al fiecrui pachet. Dac se
utilizeaz i autentificarea, fiecare pachet va avea o seciune de autentificare ESP la sfrit. 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
informaiei 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
integritii. Pe de alt parte, autentificarea ESP va eua dac NAT actualizeaz suma de
verificare TCP iar dac NAT nu face actualizarea (de exemplu, dac informaia util este
criptat), va eua verificarea TCP. n modul tunel, ESP i NAT pot funciona mpreun pentru
56
c adresa original IP i informaia de transport sunt incluse n informaia 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:
Mod transport Mod tunel
AH Autentific unitatea de date IP
i, selectiv, pari ale header-ului
IP i extensiile header-ului
IPv6.
Autentific ntregul pachet
original IP plus, selectiv, pari ale
noului header i extensiile noului
header IPv6.
ESP Cripteaz unitatea de date IP si
toate extensiile header-ului IPv6
care urmeaz dup header-ul
ESP.
Cripteaz pachetul IP original
ESP cu autentificare Cripteaz unitatea de date IP si
toate extensiile header-ului IPv6
care urmeaz dup header-ul
ESP; autentific unitatea de
date IP.
Cripteaz pachetul IP original;
autentific pachetul IP original.
Tabel 3.2 Moduri de utilizare a IP Security
In cazul protocolului ESP se utilizeaz criptografia simetric. Totusi, amandoua capete
ale conexiunii IPsec, protejat de ESP, trebuie sa utilizeze aceeai cheie pentru criptare i
decriptare a pachetelor. Algoritmii de criptare recomandati de ESP sunt: AES, DES i 3DES.
ESP adaug un antet i un subsol poriunii de informaie a fiecrui pachet. Fiecare
antet ESP conine dou cmpuri:
SPI - fiecare capt a fiecrei conexiuni IPsec are o valoare SPI arbitrar aleas, care
se comport ca un identificator unic. Destinatarul folosete aceast valoare, adresa IP
destinaie i (opional) tipul protocolului IPSec (n cazul de fa, ESP), pentru a determina ce
SA este folosit.
Numrul de secven - fiecrui pachet i este asignat un numr secvenial i doar
pachete dintr-o anumit fereastr sunt acceptate.
57
Informaia util reprezinta urmtoarea parte a pachetului, format din Date (criptate)
i Vectorul de Iniializare, acesta fiind necriptat. Valoadea acestui vector este diferita n
fiecare pachet, deci dac dou pachete au acelai coninut, vectorul de initializare va cauza
criptarea diferit a acestora.
Partea a treia a unui pachet o constituie informaia suplimentar de la sfrit, care
conine cel puin dou cmpuri (opional mai poate conine 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 proteciile aplicate unei conexiuni; acestea
pot fi create i manual, folosind valori decise n avans de cele dou pri, dar nu pot fi
rennoite. 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 conine
informaii despre securitatea negociat ntre dou pri 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 participani i de obicei are mai puin trafic i o durat de via mai mare dect IPSec
SA.
IPSec SA - sunt folosite pentru a negocia algoritmii de criptare pentru traficul IP,
bazndu-se pe definirea regulilor de stabilire a traficului ce va fi protejat. Pentru c sunt
unidirecionale, cel puin dou sunt necesare (traficul de intrare i de ielire)
O problema pe care o ridica IKE este problema cu dispotitivele NAT, care modific
transparent pachetele de ieire. Prima problem se refara la faptul c unele echipamente ar
putea depinde de negocierea IKE fcut 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 ateptat
deci negocierea nu va ncepe. Alt eveniment neplcut apare cnd IKE include adresele IP ca
58
parte a procesului de autentificare, care depinde de modul IKE folosit. Dac autentificarea se
bazeaz pe adresa IP, schimbrile fcute de NAT vor cauza euarea procesului IKE.
Principala funcie a protocolului IKE consta in faptul ca ambele tipuri de SA sunt
stabilite ntre participanii IPSec folosind protocolul IKE. Acest protovol opereaz n dou
faze pentru a stabili aceste asociaii de securitate:
Prima faza este schimbul n prima etap, faza in care se stabilesc chei pentru
sesiunea respectiv si asigurarea autentificarii reciproce a celor dou capete IKE. Aceast
faz creeaz o ISAKMP SA (asociere de securitate pentru IKE) care odat ce a fost stabilit,
toate comunicaiile IKE dintre iniiator i cel care rspunde sunt protejate cu criptare i cu o
verificare a integritii prin autentificare. Exist o diferen ntre ISAKMP i IKE care trebuie
prezizata: ISAKMP definete cum capetele IPSec comunic, cum realizeaz schimbul de
mesaje i starea tranziiilor prin care trec pentru a stabili conexiunea (mai exact arat scopul
autentificrii i schimbului de informaii pentru interschimbul de cheie) iar IKE definete 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 bidirecional i autentificarea pentru alte schimburi
IKE. Aceast faz poate fi realizat n dou moduri: principal i agresiv.
Modul principal trateaza stabilirea unei IKE SA prin trei perechi de mesaje. n prima
pereche de mesaje, fiecare capt recomanda parametrii folosii de SA. Patru parametrii dintre
acetia sunt obligatorii i alctuiesc aa numita suit de protecie:
Algoritmul de criptare - specific algoritmul care cripteaz datele: DES, 3DES,
AES.
Algoritmul de protecie a integritii -indic ce algoritmi de tip hash de pot folosi:
HMAC-MD5 sau HMAC-SHA-1
Metoda de autentificare - sunt 3 posibiliti de autentificare a utilizatorilor (chei
prestabilite, semnturi digitale, criptare cu cheie public)
DH Group - este folosit pentru generarea unui secret comun ntr-o manier sigur,
astfel nct 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
negociai la primul pas. Coninutul acestei perechi de mesaje variaz n funcie de metoda de
autentificare. n cea de-a treia pereche de mesaje, fiecare capt este autentificat (i aici
conteaz metoda de autentificare folosit). n cazul cheilor prestabilite (figura 3.4),
59
rezumatele de autentificare se schimb acum iar n cazul celorlalte dou posibiliti 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 staie trimite trei informatii: toi parametrii suitei de protecie ,
poriunea sa de schimb de cheie DH care este un numr folosit o singur dat (nonce) i
identitatea sa. n al doilea mesaj, cealalt staie trimite patru informatii: parametrii suitei sale
de protecie, proiunea sa de DH, care este un numrul folosit o singur dat (nonce),
identitatea sa i informaia util de autentificare. Al treilea mesaj este utilizat pentru ca prima
staie s trimit propria sa informaie de autentificare.
Figura 3.4 Mecanismul de criptarea a datelor IPSec utiliznd chei publice i chei private.
A doua faza se refera la schimbul n etapa a doua care furnizeaz negocierea i
stabilirea asociaiilor de securitate IPSec (IPSec SA) folosing ESP sau AH pentru protejarea
traficului IP. Scopul celei de-a doua etape este stabilirea asocierilor de securitate pentru o
60
conexiune IPsec actual (IPSec SA). O conexiune IPSec ntre dou sisteme necesit dou
IPSec SA, pentru c acestea sunt unidirecionale. Aceste perechi sunt create prin intermediul
unui singur mod, modul rapid, care folosete trei mesaje pentru a stabili SA. Comunicaiile
din acest mod sunt criptate prin metoda spacificat n IKE SA-ul stabilit n faza 1.
n primul mesaj, prima staie trimite trei informatii: cheile, numerele unice i
sugestiile de parametri IPSec SA. Numerele unice se folosesc ca si msur mpotriva
atacurilor de replicare.
n al doilea mesaj, cealalt staie trimite cheile, numerele i seleciile parametrilor
IPSec SA i n plus procedurile hash de autentificare.
Al treilea mesaj este folosit doar pentru ca prima staie s trimit procedura hash
pentru autentificare. Dup ce a doua staie valideaz al treilea mesaj, se poate spune c s-a
stabilit o asocieere de securitate IPSec, cele active fiind reinute ntr-o baz de date (SADB).
IKE SA i IPSec SA au o limit de via, care nu poate fi mrit dup ce SA a fost
creat. Dac o SA este aproape de sfritul duratei de via, capetele ar trebui s creeze una
nou, printr-un proces de restabilire a cheii. Durata de via a unei SA spune ct de des ar
trebui fiecare SA s fie restabilit, bazndu-se fie pe un anumit timp scurs fie pe cantitatea de
trafic din reea.
In mod asemanator cu modelu TCP/IP, IPSec are o multitudine de componente
implicate i caracterizeaz un set complet de interaciuni de-a lungul acestora. Structura
protocolului asigur avantajul modularizrii: cnd are loc o schimbare a unei componente,
celelalte nu se schimb implicit. Dezavantajul modularizrii este c greu de explicat fr
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 semnturii; de asemenea este responsabil pentru
coordonarea efortului altor componente IPSec pentru a asigura c poate ndeplini sarcinile.
Agentul de politic (IPSec Policy Agent) - este funcia cognitiv a protocolului i
examineaz setrile IPSec ale sistemului specificnd ce trafic ar trebui protejat; nu protejeaj
datele ci doar avertizeat ca un anumit trafic ar trebui protejat.
ISAKMP - este negociatorul setrilor de securitate ale Internetului; atunci cnd dou
staii vor s comunice, ISAKMP negociaz grupul desetri folosite pentru criptare i
autentificare.
61
IKE (Internet Key Exchange) - pentru c IPSecul folosete chei secrete mprite,
trebuie s fie un mecanism care s conecteze echipamentele i s se pun de acord asupra unei
chei; acesta depinde de setrile furnizate de ISAKMP. In figura 3.4 este prezentata
Interaciunea componentelor:
Figura 3.4 Interaciunea IPSec
In momentul pornirii unui echipament se aplic politica local sau de grup, dar se
poate aplica periodic n timp ce activeaz n reea. Orice politic IPSec este preluat de
angentul de politic IPSec. Atunci cnd exist mai multe reguli stabilite, agentul
monitorizeaz comuniaia cu protocolul TCP/IP din toate aplicaiile, caut traficul care se
potrivete acestora, adic acela care trebuie protejat.
Agentul de politic i va comunica dispozitivului IPSec tipul de protecie de care este
nevoie in momentul in care traficul de reea (care necesit protecie) este identificat. Apoi,
urmand ca echipamentul IPSec sa determine dac exist o Asociere de Securitate care poate fi
folosit pentru a proteja traficul; dac nicio SA nu exist, funcia 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 ctre IPSec driver, care va proteja traficul. Astfel, traficul protejat
va fi returnat ctre 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 numr din ce in ce mai de utilizatori i
furnizori de servicii coopereaz pentru a furniza o gam complet de soluii IPSec. Folosind
capacitatea de tunelare a IPSec, se pot implementa reele virtuale private.
62
2) IKEv2
IKEv2 (descris in Anexa A din RFC 4306) vine cu urmatoarele imbunatatiri:
NAT traversal: ncapsulare lui IKE i ESP n portul UDP 4500 permite acestor
protocoale s treac printr-un dispozitiv sau firewall ce efectueaza NAT.
Schimbul de mesaj simplu: IKEv2 are un mecanism de schimb iniial de patru mesaj
n timp ce IKE furniza opt mecanisme distincte de schimb initiale, fiecare dintre care avand
avantaje i dezavantaje.
Mecanisme criptografice mai puine: IKEv2 utilizeaz mecanisme criptografice
pentru a proteja pachetele sale, care sunt foarte asemntoare cu ceea folosite de IPsec pentru
ncapsularea incarcaturii de securitate (ESP) pentru a proteja pachetele IPsec. Acest lucru a
dus la implementari simple si certificari de criterii comune, care necesit fiecare implementare
criptografic a fi validate separat.
Fiabilitate i managementul starii: IKEv2 utilizeaz numere de secven i confirmari
pentru a oferi fiabilitate i pentru a mandata unele erori la procesare. IKE ar putea ajunge ntr-
o stare moarta din cauza lipsei de msuri de fiabilitate, n situatia n care ambele pri se
ateptau ca cealalt s iniieze o aciune .
Rezistena la atacul de tip DoS (Denial of Service Refuzul Serviciului) : IKEv2 nu
efectueaz procesarea pn cnd nu determin dac exist de fapt un solicitant. Aceasta
tactica a rezolvat problemele cu atacurile DoS suferite de IKE care efectua o mulime de
prelucrari criptografice din locaii fantoma
3.4 Principalele avantaje ale reelelor virtuale private
Reducerea costurilor - furnizorii de VPN pot nira o mulime de beneficii pe care le
aduce tehnologia, multe aprnd odat cu dezvoltarea ei. Poate cel mai puternic argument
folosit este reducerea costurilor. Reelele virtuale private sunt mult mai ieftine dect reelele
private proprietare ale companiilor; se reduc costurile de operare a reelei (linii nchiriate,
echipamente, administratori reea). Dac folosii Internetul pentru a distribui servicii de reea
la mare distan, atunci putei evita achiziia de linii nchiriate, extrem de scumpe, ntre
reprezentane i firm, dar i costurile convorbirilor interurbane pe modemuri dial-up sau
ISDN. Reprezentana va trebui s se conecteze numai local, la un provider Internet, pentru a
ajunge n reeaua firmei mam. Economii se fac i relativ la lipsa necesitii investiiilor n
63
echipament WAN adiional, singura achiziie fiind legat de mbuntirea capacitilor de
conectare la Internet a serverului.
Integrare, simplitate, uor de implementat - reeaua virtual privat poate fi imediat
realizat peste conexiunea deja existent la Internet, nefiind necesar o infrastructur separat.
Se simplific topologia reelei companiei private. De asemenea, prin aceeai conexiune se pot
integra mai multe aplicaii: transfer de date, Voice over IP, Videoconferine.
Uurina administrrii - in cazul unei interconectri complete a sucursalelor unei
firme, liniile private pot deveni un comar. Trebuie instalate i administrate linii ntre fiecare
dou sucursale. Folosind Internetul, nu trebuie dect s asiguri fiecarei 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 corporaie la ISP. Accesul la distan prin Internet permite utilizatorilor s
foloseasc tehnologii de acces variate, inclusiv ISDN i modemuri. Cum apar tehnologii de
acces de vitez mare, cum ar fi ASDL, ATM, organizaia va putea profita de ele fr a face
investiii n echipamente. ISP suport majoritatea costurilor schimbrii tehnologiilor.
Mobilitate - angajaii mobili precum i partenerii de afaceri (distribuitori sau
furnizori) se pot conecta la reeaua companiei ntr-un mod sigur, indiferent de locul n care se
afl.
Scalabilitate - afacerea companiei crete, deci apare o nevoie permanent de angajai
mobili i conexiuni securizate cu partenerii strategici si distribuitorii. Pe msur ce cererea de
acces la distan crete, organizaia nu va avea nevoie s cumpere i s instaleze echipamente
de comunicaie noi. E nevoie doar de comandarea unui nou cont de acces la un ISP.
Securitate - Reeaua virtual privat asigur un nivel ridicat de securitate a
informaiilor transmise prin utilizarea unor protocoale avansate de autentificare i criptare.
Informaiile care circul prin VPN sunt protejate prin diferite tehnologii de securitate
(criptare, autentificare, IPSec). Nu trebuie s v temei c datele traficate prin VPN pot fi
compromise.
Conectivitate global pe msur ce economia continu s se globalizeze, reelele de
firm trebuie s creasc n afara granielor 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 internaional. Protocolul Internetului (IP) poate rula pe orice
infrastructur de comunicaie. [13]
64
3.5 Best practices in retelele private virtuale
Securitatea VPN se bazeaz foarte mult pe autentificare i criptare. Aceasta este
considerata 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 solutia cardurilor inteligente nu sunt fezabile, atunci ar trebui s fie
utilizate certificatele de autentificare.
Adresele IP ar trebui s fie ntotdeauna atribuite de catre serverul VPN, dac este
posibil.
Trafic trebuie s fie ntotdeauna monitorizat n timp real. Toate computerele care
utilizeaz VPN ar trebui s rmn ntotdeauna la curent cu actualizrile critice i definiiile
antivirus.
i toti utilizatorii ar trebui s fie educai n ceea ce priveste activitile ce sunt permise
a fi realizate pe computerele client, inclusiv ceea ce programe pot fi instalate.
65
4. METODE DE CONTROL AL ACCESULUI LA SERVICII
PRIN SCHIMB DE CHEI DE ACCES
4.1 SSLi TLS
Protocoale criptografice care asigur posibilitatea realizrii de comunicaii sigure prin
Internet pentru web, e-mail, Internet fax i pentru alte transferuri de date sunt Transport Layer
Security (TLS) i predecesorul su, Secure Sockets Layer (SSL). Intre SSL 3.0 i TLS 1.0
exist anumite deosebiri, dar n esen protocolul rmane acelai. Protocolul a fost creat iniial
de Netscape Communications Corporation ca parte integrant a browserului su web (pe
partea de client) i a web server-ului. Ulterior a fost acceptat i de Microsoft i ali
dezvoltatori de aplicai client/server pentru Internet. A devenit un standard de facto pentru
Internet iar mai apoi prin crearea TLS a devenit un standard Internet pentru securitatea web
dezvoltat de IETF (Internet Engineering Task Force). Modul n care poate fi folosit protocol
SSL/TLS ca i tehnologie de securitate de baz pentru protecia tranzaciilor online este
prezentat n lucrarea.
Protocolul TLS permite aplicaiilor client/sever s comunice, dar fiind mpiedicat
ascultarea liniilor, modificarea datelor i falsificarea mesajelor. TLS ofer autentificare la
capetele unei comunicaii i confidenialitatea comunicaiilor prin Internet. De cele mai multe
ori, doar serverul se autentific - clientul rmanand neautentificat; astfel utilizatorul final (o
persoan sau o aplicaie cum ar fi un web browser) poate fi sigur c la captul cellalt al liniei
de comunicaie este cine trebuie. In cazul autentificrii la ambele capete (autentificare
mutual) ambele entiti implicate n procesul de comunicare primesc asigurri n legtura cu
entitatea cu care comunic. Pentru a se face posibila autentificarea cii mutuale trebuie
implementata o infrastructura cu chei publice (PKI) la clieni.
TLS lucreaza sub nivelurile protcoalelor de aplicaie cum este HTTP, FTP, SMTP i
NNTP si deasupra protocoalelor de transport TCP i UDP. Poate fi folosit cu orice protocol
care folosete conexiuni sigure (cum este TCP), dar cel mai des este folosit mpreun cu
HTTP pentru a forma HTTPS. HTTPS este folosit pentru a securiza paginile World Wide
Web din aplicaii cum ar fi cele de comer electronic. TLS este folosit de asemenea i n
SMTP aa cum este specificat n RFC 3207. Aceste aplicaii folosesc certificate pentru chei
publice pentru a verifica identitatea entitilor implicate n comunicaie.
66
TLS implic trei faze importante:
Criptarea traficului cu metode simetrice.
Negociere ntre entiti pentru funcionarea algoritmului;
Schimbul de chei bazat pe criptare cu chei publice i autentificare pe baz de
certificat;
4.2 Arhitectura TLS
Protocolul TLS Handshake i protocolul TLS Record formeaza TLS, aceste doua
protocoale sunt suprapuse, primul fiind deasupra ultimului.
Protocolul TLS Record furnizeaz ncapsularea sigur a canalului de comunicaie
pentru a fi folosit de protocoalele de le nivelurile superioare. Acest protocol realizeaz o
conexiune sigur i ruleaz deasupra nivelurilor TCP i IP. Protocolul ia mesajele ce trebuie
transmise, fragmenteaz datele n blocuri ce pot fi gestionate uor, opional poate comprima
datele, aplic o funcie MAC (de ex. HMAC) pentru integritatea datelor, cripteaz datele
folosind un algoritm simetric (pentru confidenialitate) i transmite rezultatul la destinaie.
Cand se ajunge la destinaie, datele sunt decriptate, se verific MAC-ul, opional se face
decompresia, se reasambleaz blocurile de date i sunt transmise la procesele de aplicaie de
la nivelul superior.
Pentru criptarea simetric i pentru HMAC, cheile sunt generate n mod unic pentru
fiecare sesiune i sunt bazate pe o informaie secret negociat de protocolul TLS Handshake.
Referitor la protocolul TLS Handshake, acesta permite serverului i clientului s se
autentifice unul fa de altul, negociaz algoritmii criptografici ce vor fi folosii, stabilete
cheile criptografice i n final stabilete o conexiune sigur pentru protocolul TLS Record care
realizeaz serviciile de comunicaie sigur pentru protocoalele de aplicaie de la nivelul
superior.
67
4.2.1 Protocolul de Handshake TLS
Protocolul de autentificare n TLS poarta denumirea de Protocolul Handshake. Aceste
dou entiti implicate executata operaiile urmatoare:
Schimbul de mesaje hello pentru stabilirea algoritmilor, schimbul de valori aleatoare,
verificarea faptului c nu este vorba de reluarea unei sesiuni anterioare.
Schimbul parametrilor criptografici necesari pentru a permite clientului i serverului
s stabileasc un secret (numit "secret master").
Schimbul de certificate i informaie criptografic pentru a permite clientului i
serverului s se autentifice unul fa de altul.
Generarea secretelor de sesiune din secretul master prin schimbul de valori aleatoare.
Verificarea faptului c cealalt entitate a calculat aceeai parametri de securitate
pentru a confirma faptul c handshake-ul s-a ncheiat fr s fi intervenit un atacator.
Canalul sigur stabilit este transmis protocolului TLS Record pentru a procesa
comunicaiile de la nivelul de aplicaie. Aceste operaii sunt realizate prin schimbul a patru
mesaje descrise mai jos.
4.3 Arhitectura SSL
Protocolul SSL ruleaz deasupra protocolului TCP/IP i sub protocoalele de nivel nalt
ca i HTTP si IMAP. El folosete TCP/IP pentru protocoalele de nivel nalt i dup ce permite
autentificarea unui server de SSL la un client de SSL si autentificarea clientului la server,
stabilete o conexiune encriptat intre cele doua maini. Aceste capabiliti reuesc s resolve
probleme fundamentale ale comunicaiilor Internet i al altor reele TCP/IP :
Autentificarea serverului SSL: permite unui utilizator s confirme identitatea
serverului. Programulul de verificare al clientului foloeste tehnici standard de criptografiere
prin chei publice, prin care poate verifica dac certificatul serverul i numarul de identificare
public sunt valide. Aceste autentificari sunt importante daca de exemplu clientul trimite un
numar de card serverului i vrea s verifice identitatea serverului primit ca raspuns.
Autentificarea clientului SSL : permite unui server s confirme identitatea clientului.
Folosind aceleai tehnici ca i cele pentru autentificarea serverului, programulul de verificare
al serverului verific daca certificatul i numrul de identificare public al clientului sunt
valide.
68
Conexiune encriptata SSL : trebuie ca totalitatea informatiile trimise ntre client si
server s fie criptate de programul transmitor i decriptate de programul receptor, aceasta
oferind un mare grad de confidenialitate. Confidenialitatea este important pentru amandou
parile intr-o tranzacie privat. Chiar mai mult, toate datele trimise in timpul unei conexiuni
SSL sunt protejate cu un mecanism de detectare a coruperilor de date care sunt automat
determinate dac pachetele au fost modificate pe parcursul transportului.
Protocolul SSL contine dou subprotocoale : protocolul SSL de nregistrare i
protocolul SSL de handshake. Protocolul de nregistrare definete formatul folosit pentru
transmiterea datelor. Protocolul de handshake implic folosirea protocolului de nregistrare
pentru a schimba o serie de mesaje intre serverul SSL i clientul SSL prima data cand
stabilesc o conexiune SSL. Acest schimb de mesaje este planuit pentru a facilita urmatoarele
actiuni :
Autentific serverul pentru client
Permite clientului i serverului sa selecteze algoritmii de criptare, de cifrare,
amandou metodele fiind disponibile
Opional autentific clientul la server
Folosete tehnici de criptare prin chei publice pentru a proteja secretele
Stabilete o conexiune SSL criptat.
4.3.1 Criptri folosite de SSL
Protocolul SSL poate suporta o o gama larga de algoritmi de criptare sau cifruri,
folosite in operaii cum ar fi : autentificarea serverului la client si vice-versa, transmiterea
certificatelor, stabilirea cheilor pentru sesiuni. Clienii i serverele pot avea suite de cifruri sau
seturi de cifruri. Aceasta depinznd de factori cum ar fi versiunea de SSL suportat, politicile
companiilor privind criptarea i restrictiile guvernamentale asupra programelor de criptare
folosite de SSL. Una din importantele functii este faptul ca protocolul de handshake
determin felul in care serverul i clientul stabilesc suita de cifruri pe care le vor folosi pentru
autentificare, pentru transmiterea certificatelor. Mai jos se observa mai muli algoritmi de
criptare:
DES - un algoritm de criptare folosit de guvernul SUA.
DSA - parte din autentificarea digital standard folosita de guvernul SUA.
KEA - un algoritm folosit pentru interschimbarea.
69
MD4 - algoritm dezvoltat de Rivest.
RC2 si RC4 - cifru de criptare Rivest dezvoltate pentru "RSA Data Security".
RSA - algoritm de chei publice folosit pentru criptare i autentificare dezvoltatat de
Rivest, Shamir si Adleman.
RSA key exchange - algoritm de interschimbare de chei pentru SSL bazat pe
algoritmul RSA.
SHA-1 - functie de hashing folosit de guvernul SUA
Triple DES - DES aplicat de 3 ori.
In algoritmii ca KEA si RSA, interschimbarea de chei guverneaz calea prin care
serverul i clientul determin cheile simetrice pe care le vor folosi dealungul unei sesiuni SSL.
Cele mai folosite suite de cifruri SSL folosesc RSA. Protocoalele SSL 2.0 si 3.0 suport seturi
de suite de cifruri. Administratorii pot determina care din suitele de cifruri se folosesc i care
nu pentru client i server. In momentul in care un server i client fac schimb de informaiipe
durata protocolului handshake, se remarca de ambele parile cea mai bun suit de cifruri pe
care o au in comun i o vor folosi pentru sesiune SSL. Deciziile privind care din suita de
cifruri depind de sensibilitatea datelor implicate, de viteza cifrului i de aplicabilitatea
regulilor de export. Dupa legile guvernului SUA, se restrictioneaz criptarea pe mai mult de
40 biti daca se comunica cu cineva din afara SUA (daca serverul implicat are un ID special
atunci se inlatura restrictia). Pentru a servi o cat mai mare arie de utilizatori, administratorii ar
putea s foloseasc ct mai multe suite de cifruri. Cand un client sau server din SUA vrea s
negocieze cu un client sau server tot din SUA vor folosi cel mai bun cifru, iar cand un
client/server din SUA va negocia cu un client/server din afara SUA vor folosi acele cifruri
care sunt permise de legile SUA. Pentru ca cifrurile pe 40 de biti pot fi sparte relativ usor,
administratorii care sunt ingrijorai de spargeri si cei care sunt dintr-o tara care permite
folosirea legal de cifruri puternice nu vor folosi cifrurile pe 40 de biti.
4.3.1.1 Suite de cifruri cu chei RSA
In tabelul de mai jos (Tabelul 4.1) sunt evidentiate suitele de cifruri suportate de SSL
si cele care utilizeaza algoritmul RSA. Tabelul contine cifruri care sunt suportate de SSL 2.0
si SSL 3.0, aceasta doar daca nu sunt indicatii privind contrariul. Cifrurile sunt aranjate in
ordine descrescatoare, de la cele mai tari la cele mai slabe.
70
Puterea cifrului si recomandarile sale Suite de cifruri
Cele mai tari cifruri : premise doar in SUA.
Este folosit de banci si instituii care folosesc
date importante.
Triple DES, care sunt criptate pe 168 biti, cu
mesaje de autentificare SHA 1. Este cel mai
puternic cifru suportat de SSL, dar nu este asa
de rapid ca RC4. Triple DES foloseste de 3
ori mai mult timp decat un simplu DES.
Pentru ca are o marime aa de mare (168
biti), sunt aproximativ 3.7 * 1040.
Cifruri puternice : premise doar pe teritoriul
SUA. Aceste cifruri suport criptare destul de
bun pentru majoritatea afacerilor i nevoilor
guvernamentale.
RC4 pe 128 de bii si mesaj de autentificare
MD4. Sunt dupa Triple DES cele mai
puternice criptari. Permit aproximativ 3.4 *
1038 Sunt foarte dificil de spart. RC4 sunt
cele mai rapide dintre cifrurile suportate de
SSL.
RC2 pe 128 de bii si cu mesaj de
autentificare MD4. Sunt ca si RC4, dar sunt
mai lente putin.
DES pe 46 de bii si cu mesaj de autentificare
SHA 1. Este mai puternic decat criptarea pe
40 de bii dar nu asa de puternic ca cel pe 128
de biti. Datorita celor 46 de biti, DES are
aproximativ 7.2 * 1016 SSL 2.0 foloseste
MD4 in loc de SHA 1 pentru autentificarea
mesajelor.
Suitele de cifruri exportabile : aceste cifruri
nu sunt asa de bune ca cele de mai sus, dar
pot fi exportate in majoritatea rilor (a se
nota ca Franta le permite pentru SSL, dar nu
i pentru S/MIME).
RC4 pe 40 de bii i mesaj de autentificare
MD4. RC4 pe 40 de bii permite aproximativ
1.1 * 1012 chei posibile. RC4 sunt cele mai
rapide cifruri dintre cele suportate.
RC2 pe 40 de bii i mesaj de autentificare
MD4. RC2 permite la fel de multe chei ca i
RC4, dar este mai puin rapid.
Cele mai slabe cifruri. Aceste suite de cifruri
71
prevad autentificare si detectie de coruperi de
date, dar nu au criptare. Administratorii de
servere trebuie sa fie precaui n a folosi
aceste cifruri pentru ca datele nu sunt criptate
i pt fi accesate de hackeri.
Fr criptare si cu mesaj de autentificare
MD4. Aceste cifruri folosesc MD4 pentru a
detecta coruperea datelor. Se foloseste cand
serverul i clientul nu au nici un cifru comun.
Tabelul 4.1 Suitele de cifruri suportate de SSL
4.3.2 Protocolul SSL de handshake
O combinaie de criptare cu chei publice i chei simetrice se foloseste pentru
Protocolul SSL . fiecare dintre cele doua criptari are avantaje si dezavantaje, astefel criptarea
cu chei publice are tehnici mai bune de autentificare, iar criptarea cu chei simetrice este mai
rapid dect criptarea cu chei publice. Sesiune SSL mereu porneste cu un schimb de mesaje
numit SSL "handshake". Protocolul "handshake" permite serverului s se autentifice clientului
folosind tehnici cu chei publice, apoi permite clientului i serverului sa coopereze la creearea
unor chei simetrice folosite la criptare rapid, decriptare i detectie de erori in timpul sesiunii
care urmeaza. In mod optional, protocolul de "handshake" ii lasa optiunea clientului s se
autentifice la server. Mai jos se pot observa paii derularii unui protocol "handshake" :
1. Clientul trimite serverului numarul versiunii de SSL, setrile cifrului, date generate
aleator i alte informaii pe care serverul le folosete pentru a comunica cu clientul folosind
SSL.
2. Serverul trimite clientului numrul versiunii de SSL, setrile cifrului, date generate
aleator i alte informaii pe care clientul le folosete pentru a comunica cu serverul folosind
SSL. Deasemenea serverul ii trimite certificatul i dac clientul cere serverului o resurs care
are nevoie de autentificarea clientului, atunci cere i certificatul clientului.
3. Clientul folosete unele informaii trimise de server pentru autentificarea serverului
(vezi mai jos "Autentificarea serverului"). Daca serverul nu poate fi autentificat, utilizatorul
este avertizat de problema i informat c o conexiune criptat i autentificat nu poate fi
stabilit. Dac serverul poate fi autentificat cu success atunci se trece la pasul
4. Folosind toate datele generate in protocolul "handshake" pn acum, clientul (cu
cooperarea serverului, depinznd de cifrul folosit) creeaz ceea ce este numit "premaster
secret" pentru sesiune, il cripteaz cu cheia public a serverului (obinuta de pe certificatul
serverului, trimis la pasul 2), i trimite "premaster secret" spre server.
72
5. Dac serverul a cerut autentificarea clientului (pas optional in "handshake"), clientul
deasemenea ii pune semnatura pe o data, care este unic in acest "handshake" i este tiut i
de server. In acest caz clientul trimite data semnata si certificatul sau spre server impreuna cu
"premaster secret"-ul criptat.
6. Dac serverul a cerut autentificarea clientului, serverul incearc s autentifice
clientul (vezi "Autentificarea Clientului" mai jos). Dac clentul nu poate fi autentificat,
sesiunea se termin. Dac clientul poate fi autentificat cu success, serverul ii folosete cheia
privat pentru decriptarea "premaster secret"-ului, apoi dupa o serie de pai (pe care clientul i
parcurge deasemenea, pornind de la acelai "premaster secret") genereaz "master secret"-ul.
7. Clientul i serverul folosesc "master secret"-ul pentru a genera "session keys", care
sunt chei simetrice folosite la criptarea si decriptarea informatiilor schimbate in timpul
sesiunii SSL i pentru a verifica integritatea acestora, care inseamn a detecta orice schimbri
in date provenite in timpul transmiterii acestora.
8. Clientul trimite un mesaj serverului informandu-l ca in viitor mesajele primite vor fi
criptate cu cheia sesiunii (session key). Apoi trimite separat, un mesaj criptat care indica
terminarea poriunii de "handshake" a clientului.
9. Serverul trimite un mesaj clientului informandu-l ca in viitor mesajele primite vor fi
criptate cu cheia sesiunii (session key). Apoi trimite separat, un mesaj criptat care indic
terminarea poriunii de "handshake" a serverului.
10. Protocolul "handshake" este acum complet si sesiune SSL a inceput. Clientul i
serverul folosesc aceleai "session keys" pentru a cripta i decripta datele ce i le vor trimite
unul altuia si pentru a verifica integritatea lor.
Dac doresti sa verifici dac certificatul clientului este prezent in directorul LDAP la
locul rezervat lui, o poti realiza inainte de a continua cu sesiunea, configurand serverele
Netscape. Aceasta opiune de configurare lasa o cale de a te asigura c certificatul clientlui nu
a fost revocat. Este important faptul c autentificarea clientului i serverului implic criptarea
unor pari din date cu o cheie dintr-o pereche de chei private i decriptarea folosind cealalta
cheie.
In cazul autentificarii serverului, clientul cripteaz "premaster secret"-ul cu cheia
public a serverului. Doar cheia privat corespunzatoare poate decripta corect secretul, prin
aceasta clientul avnd sigurana ca identitatea asociat cu cheia public este defapt serverul cu
care clientul este conectat. Altfel, serverul nu poate decripta "premaster secret"-ul si nu poate
genera chei simetrice necesare pentru sesiune, i sesiunea se va termina.
73
In cazul autentificrii clientului, clientul cripteaza date aleatoare cu cheia privat si
creaz semnatura digitala. Cheia publica din certificatul clientului poate valida corect
semnatura digitala doar daca cheia private corespunzatoare a fost folosit. Altfel, serverul nu
poate valida semnatura digital si sesiunea se termin.
4.3.2.1Autentificarea serverului
Programul client SSL are nevoie mereu de autentificarea serverului, sau validarea
criptografica realizataa de catre client asupre identitii serverului. Pentru a autentifica
identitatea acelui pe care certificatul afirma ca il reprezint, clientul folosete certificatul de la
Pasul 3. Legatura dintre o cheie public i serverul identificat de certificatul care conine cheia
public se poate autentifica in moemntul in care un client SSL primeste un raspuns de "da" la
urmatoarele 4 intrebri, prezentate in figura 4.1. Chiar daca cele 4 intrebri nu sunt parte
tehnica a protocolului SSL, este de datoria clientului s poat s realizeze aceti pai, care pot
asigura de identitatea serverului i pot ajuta impotriva atacurilor cunoscute.
Figura 4.1 Autentificarea legaturturii dintre o cheie publica i server
74
Un client SSL trece prin urmatorii pai pentru a autentifica identitatea serverului :
1. Este data de astazi in perioada de valabilitate? Clientul verific perioada de
valabilitate a certificatului serverului. Dac data curent este in afara perioadei de valabilitate
procesul de autentificare se oprete aici. Dac data este bun clientul merge la Pasul 2.
2. Este CA-ul iniiat un CA valid? Fiecare program client SSL contine o list de CA-
uri de incredere. Lista determin ce certificate de server vor fi acceptate. Daca DN (numele
distins - denumire acceptat) al CA-ului iniiat se potrivete cu DN-ul unui CA de pe CA de
incredere, atunic raspunsul este "da" i se trece la Pasul 3. Daca CA-ul nu este pe list atunci
serverul nu va fi acceptat doar daca clientul poate verifica un certificate care se "inrudete" cu
unul de lista de incredere.
3. Cheia public initiata valideaz semnatura digitala a initiatorului? Clientul folosete
cheia public de pe certificatul de autentificare CA (aflat la pasul 2) pentru a valida semnatura
digital a CA-ului. Daca informaia de pe certificatul serverului a fost schimbat de cnd a
fost semnat de CA sau daca cheia public de pe certificate nu corespunde cu cheia private
folosit de CA s semneze certificatul serverului, clientul nu va autentifica identitatea
serverului. Dac semnatura digital CA poate fi validat, serverul recunoate certificatul
clientului ca o valid "scrisoare de introducere" de la acel CA i trece la paii urmtori. Din
acest punct,clientul a determinat ca certificatul serverului este valid. Este de responsabilitatea
cientului s treac la Pasul 4 naintea Pasului 5.
4. Coicide numele domeniului specificat in certificat cu numele domeniului real al
serverului? Acest pas confirm ca serverul este cu adevarat localizat la aceeai adres
specificat de numele domeniului din certificatul lui. Chiar daca Pasul 4 nu este o parte
tehnic a protocolului SSL, este singura protecie impotriva atacului de securitate "man in the
middle attack". Clientul trebuie s refuze s autentifice serverul sau s stabileasc o conexiune
dac domeniul serverului nu se potrivete. Daca numele actual al domeniului se identific cu
numele din certificate atunci se trece la Pasul 5.
5. Serverul este autentificat. Clientul a terminat SSL "handshake"-ul. Dac clientul nu
ajunge la pasul 4 pentru un motiv oarecare, identitatea serverului nu poate fi autentificata, i
utilizatorul va fi anuntat de problem si informat ca nu se poate stabili o conexiune
autentificata. Dac serverul dorete autentificare clientlui, serverul va initia "Autentificarea
clientului".
Dup acesti pai, serverul poate sa ii folosesc cu success cheia privat sa decripteze
"premaster secret"-ul trimis de client la Paul 4 al "handshake". Altfel sesiunea SSL se termin.
75
Aceasta aduce asigurri adiionale ca identitatea asociat cu cheia publica a serverului este a
serverului cu care clientul este conectat.
4.3.2.2 Autentificarea clientului
Configurarea Programuluil server SSL se poate face fie sa cear autentificarea
clientului, fie sa valideze criptografic identitatea clientului. In momentul in care un server
configurat in acest fel, cere autentificarea clientului, clientul trimite serverului certificatul i o
data semnat digital pentru a se autentifica. Serverul folosete data semnat digital pentru a
valida cheia public de pe certificat i s autentifice identitatea pe care certificatul posesor
spune c o reprezint. Protocolul SSL cere clientului s creeze o semnatur digital creand o
mixtura din data generat aleator in timpul "handshake"-ului tiut doar de client i server.
Mixtura de date este criptat cu cheia privat care corespunde cheii publice din certificatul
prezentat serverului. Pentru a autentifica legatura dintre cheia publica i persoana sau entitatea
identificat de certificate care conine cheia public, un program server SSL trebuie sa
primeasc "da" la primele 4 intrebri din figura 4.2. Cea dea 4-a intrebare nu este o parte din
protocol, dar serverele Netscape pot fi configurate s suporte i aceast verificare.
76
Figura 4.2 Autentificarea legturii dintre cheia public i persoana care conine cheia
public.
Un server SSL trece prin urmatorii pai pentru a autentifica un client :
1. Cheia public a utilizatotului valideaz semnatura digital a acestuia? Serverul
verific dac semnatura digital a utilizatotului poate fi validat cu cheia public din
certificate. Dac da, serverul stabilete c acea cheie public este detinut de acel John Doe
(necunoscut) se potrivete cu cheia privat folosit pentru crearea semnturii digitale i c
data nu a fost corupt deoarece a fost semnat. In acest punct, legatura dintre cheia public si
DN-ul specificat nu a fost inc stabilit. Certificatul poate fi creat de altcineva incercand s
inele sa par acel user. Pentru a valida legatura dintre cheia publica si DN, serverul trebuie sa
treac de pasul 3 si 4.
2. Este data de astzi in perioada de valabilitate? Serverul peioada de valabiliate a
certificatul clientului. Daca este bun se trece la Pasul 3. Dac este expirat atunci se termin
autentificarea cu "nu".
3. Este CA-ul iniiat un CA de incredere? Fiecare program server SSL deine o list
de certificate CA de "incredere". Aceast list determin care certificate le va accepta
serverul. Dac DN al CA-ului iniiat se potrivete cu DN al CA-ului unui CA din lista celor de
incredere atunci raspunsul este "da" i se trece la Pasul 4. Dac CA-ul nu este pe lista atunci
clientul nu va fi acceptat doar daca serverul poate verific un certificate care se "inrudeste" cu
unul de lista de incredere. Administratorii pot controla care certificate sunt de incredere i
care nu.
4. Initiind cheia public CA se valideaz semnatura digital a initiaorului? Serverul
folosete cheia public de pe certificatul CA pentru a valida semnatura digital a CA-ului.
Daca informaia de pe certificate a fost schimbat de cand a fost semnat de CA sau cheia
public de pe certificatul CA nu corespunde cu cheia privat folosit de CA sa semneze
certificatul, serverul nu va autentifica identitatea clientului. Dac semnatura digitala a CA-ului
poate fi validat, serverul trateaz certificatul userului ca fiind o scrisoare de introducere
valid de la CA si pornete mai departe. Din acest punct protocolul SSL permite serverului s
considere clientul autentificat i sa treac la Pasul 6. Serverele Netscape pot fi configurate
opional s treac prin Pasul 4 inaintea Pasului 6.
77
4. Este certificatul utilizatorului present n intrarea LDAP a utilizatorului? Acest pas
opional permite o modalitate de a refuza un certificat de utilizator chiar dac trece de
celelalte teste. Serverul Netscape de certificare poate terge automat un certificat revocat din
intrarea LDAP a utilizatotului. Toate serverele care sunt setate sa treac prin acest pas vor
refuza autentificarea certificatului sau s stabileasca o conexiune. Daca certificatul
utilizatorului din director este identic cu certificatul utilizatorului present in "handshake" se
trece la Pasul 5.
5. Este clientul autentificat autorizat s acceseze resursa dorit? Serverul verific ce
resurse sunt permise clientului s acceseze in conformitate cu lista controlului de accese a
serverului (ACLs) i stabilete o conexiune cu acces adecvat. Daca serverul nu ajunge la Pasul
5 din orice motiv, utilizatorul nu poate fi autentificat si nu i se permite s acceseze resuresele
serverului care necesit autentificare.
4.4 Atacuri rezolvate n SSL v3
Handshake-ul iniial nu este protejat in versiunea 2 a SSL, astfel un atacator activ
poate elimina din cererea initiala cifrurile cu criptare puternic, ceea ce cauzeaz alegerea
unei criptri mai slabe ntre partile ce comunic. n versiunea 3 atacul a fost ameliorat prin
adaugarea unui mesaj de final la sfritul handshake-ului n care fiecare parte trimite un
rezumat al mesajelor din handshake.
Versiunea 3 a SSL a fost imbunatatita, astfel adaugandu-se un mesaj de terminare care
s indice c nu mai exist date de transferat. Versiunea 2 fiind bazata pe nchiderea conexiunii
de catre protocolul TCP, acesta nu este protejat criptografic si un atacator ar putea trimite un
mesaj fals care s cauzeze nchiderea conexiunii, far ca aplicaia s-i dea seama c aceasta a
fost nchis anormal.
4.5 Diferene ntre SSL i TLS
Dupa cum se poate observa , TLS a fost creat de catre IETF ca raspuns la multitudinea
de protocoale incompatibile care serveau aceluiai scop si anume comunicarea securizat prin
reea. Modificrile aduse de TLS nu sunt substaniale si mult lume l privete mai degrab ca
78
o actualizare minor a SSL. Diferenele ntre cele dou protocoale sunt rezumate n cele ce
urmeaza:
Numrul de versiune: pentru TLS, numarul de versiune este 1.3, fata de 3.0 pentru
SSL, ceea ce ntarete convingerea unora ca TLS este doar o actualizare minor a SSL.
MAC: TLS folosete ultima versiune de HMAC, iar acesta acoper i cmpul de
versiune.
Mesajul CERTIFICATE_VERIFY: Funcia de dispersie este calculat doar dup
mesajele de handshake
Coduri de avertizare: TLS definete mai multe coduri de avertizare dect SSL.
Cifruri: TLS nu are suport pentru schimbul de chei Fortezza si pentru criptarea
Fortezza.
Padding: TLS permite padding cu un numar variabil de octeti (maxim 244)
4.6 Protocolul de login la distan Secure Shell (SSH)
Protocolul Secure Shell (SSH) este o suit de protocoloale de autentificare, bazat pe
criptografia cu chei publice, care lasa permisiunea unui utilizator s se conecteze la un server
la distan de pe o main client printr-o reea nesigur, pentru a executa n siguran comenzi
pe maina de la distana i pentru a muta fiiere de la o main la alta. Protocolul este un
standard industrial de facto i este folosit pe scar larg n sistemele UNIX sau Linux. Partea
de client a protocolului poate rula i pe alte platforme cu alte sisteme de operare. Motivul
pentru care protocolul ruleaz n principal pe sisteme UNIX/Linux este arhitectura deschis a
acestor sisteme de operare care ofer sesiuni de comenzi interactive pentru utilizatori la
distan.
Ideea principala a protocolului SSH este c un utilizator pe o maina client descarc o
cheie public de pe un server de la distan i stabilete un canal de comunicaie sigur ntre el
(clientul) i server folosind cheia public descrcat i anumite informaii criptografice ale
utilizatorului. Parola poate fi criptat folosind cheia public a serverului i transmis la server
doar in momentul in care informaiile criptografice reprezint o parol
79
4.6.1 Arhitectura SSH
Protocolul SSH lucreaza ntre dou calculatoare, calculatoare intre care nu exist nicio
relaie de ncredere printr-o reea de comunicaie nesigur. Unul este serverul (host-ul) de la
distan iar cellalt este clientul de la care utilizatorul se conecteaz la server folosind
protocolul SSH. Suita de protocoale SSH este format din trei componente majore:
Protocolul SSH la nivel transport care ofer clientului serviciul de autentificare al
serverului. Acest protocol se bazeaz pe chei publice. Acest protocol primete la intrare la
partea de server o pereche de chei (privat/public). La ieire protocolul va realiza un canal
sigur (n ceea ce privete confidenialitatea i integritatea datelor) autentificat unilateral de la
server la client. Acest protocol va rula peste o conexiune TCP (Transmission Control
Protocol) i IP (Internet Protocol), dar poate rula i peste alte fuxuri de date sigure.
Protocolul SSH de autentificare al utilizatorului ruleaz peste canalul autentificat
unilateral stabilit de componenta precedent. Acesta suport numeroase protocoale de
autentificare unilateral pentru realizarea autentificrii entitilor de la client la server. Pentru
ca aceast direcie de autentificare s fie posibil, serverul de la distan trebuie s aib
informaii apriori despre informaiile criptografice ale utilizatorului, adic utilizatorul trebuie
s fie cunoscut de server. Aceste protocoale pot fi bazate pe chei publice sau pe parole.
Rezultatul execuiei unui protocol din aceast suit, mpreun cu rezultatul protocolului SSH
de la nivel transport, este un canal sigur autentificat mutual ntre server i un anumit utilizator
pe partea de client.
Protocolul de conexiune SSH ruleaz peste canalul sigur autentificat mutual stabilit
de cele dou componente precedente. Acest protocol este cel care realizeaz o serie de canale
logice sigure ce pot fi folosite pentru o serie de operaii de comunicaie.
In prezenta lucrare este evidentiat doar protocolul SSH la nivel transport, acesta
fiind protocolul de autentificare.
4.6.2 Protocolul SSH la nivel transport
Protocolul SSH la nivel transport folosete schimbul de chei Diffie-Hellman i prin
semnarea de ctre server a cheilor transmise se realizeaz autentificare unilateral a serverului
fa de client.
80
Fiecare server (host) are o pereche de chei - public i privat. Pentru a putea folosi
mai muli algoritmi un server poate avea mai multe perechi de astfel de chei. Dac un server
are astfel de chei, atunci trebuie s aib cel puin cte o pereche de chei pentru fiecare
algoritm asimetric precizat de standardul Internet (DSS sau RSA n funcie de versiune).
In timpul fazei de schimb de chei se pot folosi cheile (public i privat) serverului:
serverul folosete cheia privat pentru a semna mesajele ce in de schimbul de chei; clientul
folosete cheia public a serverului pentru a verifica faptul c schimb mesaje cu serverul
corect. Pentru ca acest lucru s fie posibil, clientul trebuie s aib informaii apriori n legtur
cu cheia public a serverului.
SSH contine dou moduri diferite de realizarea a ncrederii asupra cheii publice a
serverului:
Clientul are o baz de date local n care este fcut asocierea ntre fiecare server i
cheia public corespunztoare. Aceast metod nu necesit o infrastructur gestionat n mod
centralizat i prin urmare nu necesit un ter de ncredere care s fie responsabil de
coordonarea infrastructurii. Unul dintre dezavantajele majore ale acestui acestui mod este c
baza de date poate deveni foarte mare i greu de gestionat.
Asocierea ntre numele serverului i cheia public este certificat de o autoritate de
certificare (CA). Clientul trebuie s tie doar cheia public a autoritii de certificare i poate
verifica valabilitatea tuturor cheilor publice certificate de CA.
A doua modalitate simplific problema gestiunii cheilor, din moment ce trebuie stocat
n siguran doar o singur cheie public (aici prin securitate se nelege integritatea datelor).
Pe de alt parte fiecare cheie public a serverelor trebuie s fie certificat n mod
corespunztor de catre CA nainte ca autentificarea s fie posibil. De asemenea, exist o
mare ncredere n infrastructura centralizat.
Momentan pe Internet nu exist nc o infrastructur de chei publice implementat pe
scar larg, primul model de ncredere face protocolul mult mai utilizabil, pan la
implementarea unei infrastructuri de chei publice (PKI), oferind un nivel de securitate mult
mai bun decat cel oferit de soluiile mai vechi (de ex. comenzile UNIX rlogin, rsh, rftp etc.).
Metoda cea mai buna de obinere a unei chei publice este autentificate a unui server
este ca utilizatorul s aduc o copie a cheii publice i s o pun n maina client nainte de
rularea protocolului de schimb de chei. Un bun exemplu ar fi urmatorul, utilizatorul poate
salva pe un disc cheia public a serverului. Pe sistemele UNIX i Linux, cheia public a
serverului folosit de maina client este pus ntr-un fiier cu numele $HOME/.ssh/known
host. Utilizatorul trebuie s securizeze din punct de vedere fizic cheia public a serverului n
81
ceea ce privete integritatea datelor. Pe sistemele Windows cheia public a serverului exist
doar n memoria sistemului i este descrcat n timp real de la server (printr-o legtur
nesigur!).
O alt modalitatea de seama de obinere a cheii publice autentice a serverului este
folosirea autentificrii prin voce ntr-o legtur telefonic. Cheia public a serverului este
descrcat de utilizator pe maina client printr-o legtur nesigur. O \amprent"
hexazecimal a cheii publice este prezentat utilizatorului. Aceast "amprent" este:
amprenta(cheie) = H(cheie)
unde, H este o funcie hash criptografic, de ex. SHA-1. n cazul SHA-1, ntreaga amprent
are 160 de bii i prin urmare poate fi spus la telefon sub forma a 40 de caractere. Astfel,
utilizatorul poate da un telefon administratorului serverului care i poate confirma
corectitudinea amprentei. Aici autentificarea se realizeaz prin voce i se pleac de la premisa
c utilizatorul i administartorul i cunosc unul altuia vocile.
Clientul initiaza intotdeauna protocolul pentru schimbul de chei. Serverul ascult pe
un anumit port ateptand conexiuni. O serie de clieni se pot conecta la acelai server. Pentru a
obine cheia de sesiune protocolul SSH folosete protocolul pentru schimb de chei Diffie-
Hellman.
4.6.3 Strategia SSH
Una dintre caracteristicile cele mia importante ale protocolului SSH este de a
mbunti securitatea prin Internet ntr-o manier progresiv. Posibilitatea clientului de a
folosi orice metod doreste pentru verificarea autenticitii cheii publice a serverului
demonstreaz strategia SSH de implementare rapid i suportul pentru compatibilitate cu
versiuni anterioare.
Pana in momentul aparitie unei infrastructuri de chei publice pe Internet,
securitatea mbuntit a SSH nu trebuia s fie atat de puternic. Motivul pentru care SSH
este folosit pe serverele UNIX i Linux i implementat pe scar larg il reprezinta faptul ca
este simplu de folosit si usor de implementat, aceast fiind si cel mai important atuu al SSH.
Astefel putem observa c criptografia cu chei publice permite realizarea unor soluii simple.
Cheia serverului prin mediul nesigur exist doar sub forma de cheie public, aa c gestiunea
acestei componente devine mult mai simpl. Problema devine mult mai complicat dac
protocolul se bazeaz pe tehnici criptografice simetrice.
82
5. SIMULAREA UNEI RETELE CARE IMPLEMENTEAZA
SECURITATEA TRANSMISIILOR OFERITA DE VPN
Utilizarea unei retele compusa din echipamente reale este foarte scumpa drept urmare
acest proiect va folosi un simulator ce lucreaza cu sisteme de operare reale ale echipamentelor
de retea folosite. Ne vom concentra pe modul de configurare, analiza performantei retelei si
influenta politicilor de securitate asupra acesteia. Rezultatul obtinut va oferi o mai buna
intelegere a procesului de configurare a echipamentelor si in special a celor produse de Cisco.
Simularile software sunt des utilizate in toate domeniile. Multe produse, atat hardware
dar si software, sunt pretestate in aplicatii software. Avantajele utilizarii simulatoarelor
software sunt evidente:
- Mai putin timp pentru dezvoltarea produselor hardware si software;
- Abilitatea de a testa diferite scenarii pentru prototipurile hardware si
software fara dezavantajul costului sau al timpului pierdutl
- Prezicerea potentialelor probleme inainte de productia in masa.
Topologia de retea va fi dezvoltata si simulata folosind aplicatia de simulare GNS3
(impreuna cu Wireshark). Programul de simulare GNS3 ofera posibilitatea modificarii
configuratiei unui echipament si observarea imediata a efectelor. Aceste simulari ofera
mijloacele de testare pentru diverse schimbari ce ar putea avea loc inainte de
implementarea reala, analiza fiabilitatii componentelor si efectelor defectarii uneia,
planificarea scalabilitatii 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 fiecarui tip de tunel.
5.1 Utilitare pentru simulare si analiza rezultatelor
GNS3 (Graphical Network Simulator) este un simulator grafic de reea ce permite
simularea unei reele complexe, este o unealt complementar pentru laboratoarele reale de
reelistic pentru ingineri de reea, administratori, etc. GNS3 este o aplicatie grafica care
permite utilizatorului sa creeze vizual o topologie de retea bazata pe rutere Cisco .
GNS3 are unele caracteristici cu adevrat utile n simularea de reea, cu ar fi:
- Crearea unor topologi de reea complexe
83
- Emularea platformelor IOS Cisco
- Conectarea reelei simulate cu lumea real
- Captura pacheteleor cu ajutorul Wireshark
GNS3 este o interfata pentru Dynamips, ce comunica cu acesta prin intermediul unui
hipervizor. Dynamips este o aplicatie gratuita open-source care emuleaza un sistem de operare
Cisco care poate rula in Windows, Linux sau MacOS. Poate emula platformele: 1700, 2600,
3600, si 7200 si ruleaza imagini IOS standard. Dynamips permite utilizatorilor sai sa creeze
rutere virtuale care ruleaza cu un sistem de operare Cisco utilizand resursele calculatorului
gazda. Avantajul de a folosi Dynamips este ca acesta nu e un simulator, ci un emulator care
ruleaza direct codul Sistemului de Operare Cisco. Pe langa comportamentul real al unui
echipament Cisco acesta ne permite sa cream si o diversitate de topologii.
In ciuda faptului ca throughput-ul sau este de numai 1kbps si nu poate fi folosit in
reelele reale, acesta emuleaz pe deplin tot ceea ce este necesar pentru a simula i testa in
mod corespunztor o reea.
Este util in testarea configuraiilor, deasemenea este posibila captarea pachetelor din
legaturile ruterelor virtuale. Cu Dynamips ruterele virtuale pot interactiona 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
familiarizai si cu alte simulatoare de reea cum ar fi Opnet sau Packet Tracer. nainte de a
folosi programul, utilizatorii au nevoie de imaginile IOS pentru a putea utiliza echipamentele.
Figura 5.1 prezint spaiul de lucru n GNS3. Acesta este divizat in patru panouri, cel
din stnga prezint tipurile de noduri disponibile. Utilizatorul poate vedea simbolul ruterelor
pentru diferite platforme, PIX Firewall, Ethernet swtich, etc. Panoul din dreapta prezint
sumarul topologiei. Seciunea din mijloc contine dou panouri. Cel superior reprezinta spaiul
de lucru, este locul unde utilizatorul construieste topologia. Cel inferior este consola de
gestionare pentru Dynagen.
GNS3 este intuitiv, dispozitivele fiind pur si simplu trase in spatiul de lucru pentru a
putea fi folosite in topologie. Pentru inceput sunt configurate tipul de conexiune, folosing
Ethernet, serial sau alte tipuri. Fiecare tip de ruter are propriul tip de conexiunie, de exemplu:
ruterul Cisco 3640 suport conexiunea Ethernet-switch (poate fi utilizat ca i comutator).
Pentru a conecta fiecare ruter, acest program ne ofera butonul add a link (reprezentat cu
simbolul unui conector Ethernet). Utilizatorul trebuie s aleag conexiunea potrivit,
bazndu-se pe configuraia care a fost aleasa pentru ruter.
84
nainte de a ncepe simularea exista cteva setari ce trebuie realizate in GNS3. n
primul rnd imaginile IOS trebuiesc ncrcate. Fiecare model de ruter are imaginea sa,
depinde de utilizator ce model dorete 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
cnd ruleaz simularea.
Dupa aceasta ruterele sunt adugate n spaiul 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. 5.1 Interfata GNS3.
Wireshark este un program de tip open source, un analizor de pachete gratuit folosit
atat 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
aplicatie tcpdump. Wireshark permite unui utilizator sa analizeze tot traficul dintr-o retea
(Fig. 5.2) prin configurarea interfetei de retea in modul promiscuu. In acest mod, interfata
primeste si proceseaza tot traficul, nu doar pe cel care ii este destinat.
Aplicatia cuprinde un set bogat de capabilitati cum ar fi:
- Inspectarea a sute de protocoale;
85
- Interfa pentru navigarea prin coninutul pachetelor (packet browser);
- Citire i scriere n diferite formate open-source i proprietare de fiiere:
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 posibiliti de filtrare a datelor capturate;
- Interfaa 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. 5.2 Analizorul de trafic Wireshark
86
Wireshark utilizeaza API-ul (Application Programming Interface) pcap pentru captura
pachetelor drept urmare, aplicatia functioneaza doar pentru retelele suportate de acest API. Un
alt dezavantaj const n faptul c, pentru a putea captura pachetele n format neprelucrat de la
o interfa de reea, Wireshark trebuie s ruleze cu drepturi de administrator. Acest lucru
prezint, evident, probleme de securitate pentru sistemul de pe care este rulat aplicaia. O
soluie a acestei probleme este aceea de a rula doar utilitarul tcpdump sau componenta
dumpcap a aplicaiei la un nivel privilegiat pentru a putea captura traficul iar analiza acestuia
urmnd a se efectua ulterior cu Wireshark rulnd la un nivel restricionat. De asemenea
rularea aplicatiei Wireshark intr-o retea de dimensiuni mari cu o activitate incarcata poate
produce fisiere de captura de dimensiuni foarte mari si poate consuma partial sau chiar total
resursele sistemului, ceea ce ar putea duce la o incetinire a sistemului sau chiar la blocarea
acestuia.
Dynagen este o interfata 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 creea topologii multiple ce premit utilizatorilor s configureze diverse
scenarii si s invee tehnici noi si tehnologii folosite in reelistic un emulator este solutia
potrivit.
5.2 Topologia retelei
Figura 5.3 Topologia creata
87
In 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.
5.3 Configurarea echipamentelor de retea
In topologie sunt folosite:
- Cisco ASA 5520:
o RAM: 512 MiB
o Model interfata 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 interfata retea: NM-1FE-TX
Configuratia completa a echipamentelor de retea se gaseste in Anexa 1.
Descrierea conexiunilor in reteaua simulata:
- Branch1-ASA: interfata Ethernet0 se conecteaza la ISP3; interfata Ethernet
1 se conecteaza la Branch1-R;
- Branch1-R: interfata Fastethernet 0/0 se conecteaza la Branch1-ASA;
interfata Fastethernet 1/0 se conecteaza la Host2;
- Branch2-ASA: interfata Ethernet 0 se conecteaza la ISP2; interfata
Ethernet 1 se conecteaza la Branch2-R;
- Branch2-R: interfata Fastethernet 0/0 se conecteaza la Branch2-ASA;
interfata Fastethernet 1/0 se conecteaza la Host3;
- HQ-ASA: interfata Ethernet 0 se conecteaza la ISP1; interfata Ethernet 1 se
conecteaza la HQ-R;
- HQ-R: interfata Fastethernet 0/0 se conecteaza la HQ-ASA; interfata
Fastethernet 1/0 se conecteaza la Host1;
- ISP1: interfata Fastethernet 0/0 se conecteaza la HQ-ASA; interfata
Fastethernet 1/0 se conecteaza la ISP2; interfata Fastethernet 2/0 se
conecteaza la ISP3;
- ISP2: interfata Fastethernet 0/0 se conecteaza la Branch2-ASA; interfata
Fastethernet 1/0 se conecteaza la ISP3; interfata Fastethernet 2/0 se
conecteaza la ISP1;
- ISP3: interfata Fastethernet 0/0 se conecteaza la Branch1-ASA; interfata
Fastethernet 1/0 se conecteaza la ISP1; interfata Fastethernet 2/0 se
conecteaza la ISP2.
88
Branch1-
ASA
Asignarea adreselor
IP
Configurare OSPF
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
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
Branch1-R Asignarea adreselor
IP
Configurare OSPF
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
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
Branch2-
ASA
Asignarea adreselor
IP
Configurare OSPF
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
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
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
89
Configurare OSPF
ip address 10.10.3.1 255.255.255.0
no ip directed-broadcast
duplex auto
speed auto
no shutdown
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
HQ-ASA Asignarea adreselor
IP
Configurare OSPF
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
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
HQ-R Asignarea adreselor
IP
Configurare OSPF
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
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
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
90
Configurare OSPF
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
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
ISP2 Asignarea adreselor
IP
Configurare OSPF
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
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
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
91
Tabel 5.1 Adresarea interfetelor si configuratia OSPF
In continuare se va analiza dimensiunea unui pachet de date esantion (ping)
circuland atat in text clar (netunelat) cat si prin cele trei tipuri de tuneluri.
Scenariul 1: Ping-ul nu trece prin niciun tunel. Nu este incapsulat si nici criptat. Din
analiza pachetului se pot determina atat IP-urile sursa si destinatie cat si detaliile pachetului
ICMP. Captarea s-a realizat pe interfata Fastethernet a ruterului ISP1. De asemenea se poate
observa ca dimensiunea totala a pachetului este de 106 octeti.
Figura 5.4 Ping Host1 Host2 text clar
Configurare OSPF
no ip directed-broadcast
duplex auto
speed auto
no shutdown
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
92
Scenariul 2: Tunel GRE intre Branch 1 si Branch 2.
Dupa configurarea tunelului GRE putem vizualiza pachetul esantion (echo-request)
circuland in retea incapsulat insa necriptat. Captarea s-a realizat pe interfata Fastethernet 0/0 a
ruterului ISP3.
Figura 5.5 Ping Host2 Host3 tunel GRE
Branch1-R Numele interfetei tunel
(virtuala)
Adresa IP a acesteia
Sursa reala a tunelului
Destinatia reala a tunelului
interface Tunnel2
ip address 172.28.3.1 255.255.255.252
tunnel source 192.168.2.2
tunnel destination 192.168.3.2
Branch2-R Numele interfetei tunel
(virtuala)
Adresa IP a acesteia
Sursa reala a tunelului
Destinatia reala a tunelului
interface Tunnel2
ip address 172.28.3.2 255.255.255.252
tunnel source 192.168.3.2
tunnel destination 192.168.2.2
93
Din captura se poate observa atat dimensiunea totala a pachetului crescuta de la 106
octeti la 130 octeti cat si incapsularea pachetului de nivel 3 OSI (Nivelul Retea) intr-un altul
ce are ca adrese IP sursa si destinatie capetele tunelului GRE. In figura 5.5 se poate observa
doar mesajul Echo-request deoarece diferenta dintre acesta si Echo-reply consta numai in
tipul mesajului ICMP (Echo-request continand in campul Type al header-ului codul 8 iar
Echo-reply codul 0). Captura pachetului Echo-reply se gaseste in Anexa 2.
Scenariul 3: Tunel IPSec intre HQ si Branch 1.
Vom configura politica ISAKMP cu urmatorii 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-isakmp)#authentication pre-share
Ca algoritm de criptare se va folosi algoritmul AES cu chei de 256 biti.
HQ-ASA(config-isakmp)#encryption aes-256
Algoritmul pentru hash folosit va fi SHA
HQ-ASA(config-isakmp)#hash sha
Grupul Diffie-Hellman va fi 2
HQ-ASA(config-isakmp)#group 2
Durata de viata a unei asocieri va fi de 3600 secunde
HQ-ASA(config-isakmp)#lifetime 3600
Se configureaza 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 configureaza cheia simetrica de autentificare
HQ-ASA(config-tunnel-ipsec)#ikev1 pre-shared-key licenta
Se configureaza transfor-set-ul ce contine 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 creeaza lista de acces HQ-Br1-Map ce identifica traficul dintre HQ si Branch 1.
Branch1-LAN este un obiect ce contine subnet-ul 10.10.2.0 cu masca de retea 255.255.255.0
(toate adresele din Branch 1.
94
HQ-ASA(config)#access-list HQ-Br1-Map extended permit ip object HQ-LAN object
Branch1-LAN
Construim un crypto map pentru a ingloba toate blocurile construite:
Se vor selecta adresele IP catre Branch1
HQ-ASA(config)#crypto map HQ-Map 1 match address HQ-Br1-Map
Se seteaza celalalt capat al tunelului
HQ-ASA(config)#crypto map HQ-Map 1 set peer 22.22.22.2
Se configureaza algoritmii de criptare si hash folositi.
HQ-ASA(config)#crypto map HQ-Map 1 set ikev1 transform-set HQ-Br1
In final se aplica harta nou creata pe interfata externa a firewall-ului:
HQ-ASA(config)#crypto map HQ-Map interface WAN
Analog se va configura si Branch1-ASA. Odata tunelul configurat se poate testa
conexiunea. Vom trimite un mesaj ICMP Echo-request de la Host1 catre Host2.
Figura 5.6 stabilirea tunelului IPSec
95
Figura 5.7 Stabilirea asocierii IPSec intre cele doua echipamente.
Dupa stabilirea asocierii de securitate tunelul este functional. Putem trimite pachetul esantion
de la Host1 catre Host2.
Dupa cum se poate observa in figura 5.8 IPSec cripteaza datele de la nivelul 3 OSI in
sus. In captura se pot observa adresele de nivel 2 (MAC) insa 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 octeti. In figura 5.8 se poate observa doar
mesajul Echo-request. Captura pachetului Echo-reply se gaseste in Anexa 3.
96
Figura 5.8 Ping Host1 Host2 prin tunel IPSec
97
Scenariul 4: tunel GRE over IPSec intre HQ si Branch2
Mai intai se configureaza protocolul GRE pe ruterele din cele doua sedii:
Apoi, asemanator Scenariului 3, se configureaza IPSec intre cele doua firewall-uri:
Vom configura politica ISAKMP cu urmatorii 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-isakmp)#authentication pre-share
Ca algoritm de criptare se va folosi algoritmul AES cu chei de 256 biti.
HQ-ASA(config-isakmp)#encryption aes-256
Algoritmul pentru hash folosit va fi SHA
HQ-ASA(config-isakmp)#hash sha
Grupul Diffie-Hellman va fi 2
HQ-ASA(config-isakmp)#group 2
Durata de viata a unei asocieri va fi de 3600 secunde
HQ-ASA(config-isakmp)#lifetime 3600
Se configureaza 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 configureaza cheia simetrica de autentificare
HQ-ASA(config-tunnel-ipsec)#ikev1 pre-shared-key licenta
Se configureaza transfor-set-ul ce contine 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 creeaza lista de acces HQ-Br2-Map ce identifica traficul dintre HQ si Branch 2.
Branch2-LAN-GRE este un obiect ce contine adresa 192.168.3.2 (capatul 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 ingloba toate blocurile construite:
Se vor selecta adresele IP catre Branch2
HQ-ASA(config)#crypto map HQ-Map 2 match address HQ-Br2-Map
Se seteaza celalalt capat al tunelului
HQ-ASA(config)#crypto map HQ-Map 2 set peer 33.33.33.3
HQ-R Numele interfetei tunel
(virtuala)
Adresa IP a acesteia
Sursa reala a tunelului
Destinatia reala a tunelului
interface Tunnel2
ip address 172.28.2.1 255.255.255.252
tunnel source 192.168.1.2
tunnel destination 192.168.3.2
Branch2-R Numele interfetei tunel
(virtuala)
Adresa IP a acesteia
Sursa reala a tunelului
Destinatia reala a tunelului
interface Tunnel1
ip address 172.28.2.2 255.255.255.252
tunnel source 192.168.3.2
tunnel destination 192.168.1.2
98
Se configureaza algoritmii de criptare si hash folositi.
HQ-ASA(config)#crypto map HQ-Map 2 set ikev1 transform-set HQ-Br2
In final se aplica harta nou creata pe interfata externa a firewall-ului:
HQ-ASA(config)#crypto map HQ-Map interface WAN
Analog se va configura si Branch2-ASA. Dupa stabilirea asocierii de securitate tunelul
este functional. Putem trimite pachetul esantion de la Host1 catre Host3.
Figura 5.9 Stabilirea asocierii IPSec intre cele doua echipamente
99
Figura 5.10 Cele doua tunele (HQ catre Branch1 si catre Branch2) sunt active.
Dupa cum se poate observa in figura 5.11 IPSec cripteaza datele de la nivelul 3 OSI in
sus. In captura se pot observa adresele de nivel 2 (MAC) insa cele de nivel 3 (IP) sunt
adresele capetelor tunelului. Restul mesajului (inclusiv protocolul GRE) este criptat. De
asemenea se poate observa ca acum dimensiunea totala a mesajului a ajuns la 198 octeti. In
figura 5.11 se poate observa doar mesajul Echo-request. Captura pachetului Echo-reply se
gaseste in Anexa 4.
Figura 5.11 Host1 Host3 tunel GRE over IPSec.
100
In continuare se va analiza schimbul de mesaje in cazul vizualizarii unui site atat
folosind protocolul SSLv3 cat si TLSv1.
Scenariul 5: Se creaza o pagina web de dimensiuni reduse (196 KO - Figura 5.12) si se
gazduieste pe un server Apache2. Acesta este configurat pentru a suporta numai protocolul
SSLv3.
Figura 5.12 Dimensiunea site-ului web.
Configurarea serverului (VirtualHost-ului) este urmatoarea:
<VirtualHost *:443>
SSLEngine on
SSLProtocol SSLv3
SSLCipherSuite HIGH:!aNULL:!MD5
SSLCertificateFile /etc/pki/tls/http/apachecert.pem
SSLCertificateKeyFile /etc/pki/tls/http/apachekey.pem
DocumentRoot "/var/www/html/https-ssl"
<Directory /var/www/html/https-ssl>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Aceasta configuratie obliga orice client sa foloseasca protocolul SSLv3 (serverul nu
accepta alte protocoale). Port-ul utilizat este 443 (portul standard pentru HTTPS). Site-ul creat
se afla la adresa /var/www/html/https-ssl si se poate gasi in Anexa 5. De asemenea
configuratia completa a serverului Apache (fisierul ssl.conf) se gaseste in Anexa 6.
101
In continuare se vor analiza pasii handshake-ului SSLv3:
Figura 5.13 Mesajul Client Hello
Clientul initiaza conexiunea trimitand un mesaj serverului ce contine: protocolul
preferat de client (si versiunea acestuia); un numar format din data si ora clientului plus un
numar de 28 octeti generat aleator ce va fi folosit ulterior impreuna cu numarul aleator al
serverului pentru obtinerea cheilor de criptare; suita de cifruri (lista de cifruri disponibile
clientului) si algoritmul de compresie suportat de catre client.
102
Figura 5.14 Mesajul Server Hello
103
Serverul raspunde mesajului Hello de la client cu urmatoarele: protocolul suportat de
server; numarul sau aleator, care impreuna cu cel al clientului vor forma cheile de criptare;
suita de cifruri (lista de cifruri disponibile serverului) si algoritmul de compresie suportat de
catre server.
Tot in acest mesaj serverul introduce datele certificatului de securitate si anume: cheia
publica a serverului si detaliile certificatului (destinatarul emiterii certificatului si perioada de
validitate a acestuia).
Figura 5.15 Mesajul Server hello done
Serverul trimite un mesaj de tipul Server Hello Done ce indica faptul ca serverul a
terminat schimbul de mesaje si asteapta clientul.
104
Figura 5.16 Mesajul Client key exchange
Clientul trimite un mesaj Schimb de chei client dup calcularea secret-ului
premaster folosind ambele valori aleatoare (al serverului si al sau). Secretul premaster este
criptat cu cheia public din certificatul serverului nainte de a fi transmis la server. Ambele
pri vor calcula secretul master la nivel local i vor extrage cheia de sesiune din el.
n cazul n care serverul poate decripta aceste date clientul este asigurat c serverul are
cheia privat corecta. Acest pas este crucial pentru a dovedi autenticitatea serverului. Numai
serverul cu cheia privat care corespunde cheii publice din certificat poate decripta aceste date
i poate continua negocierea protocolului.
Figura 5.17 Mesajul Change Chiper Spec
105
Acest mesaj notific serverul care toate mesajele care urmeaz dupa mesajul Client
Finished vor fi criptate folosind cheile i algoritmii negociati. Mesajul Client Finished este
un hash al intregii conversatii si ofera autentificare clientului.
Scenariul 6: Aceeasi pagina web de dimensiuni reduse folosita in Scenariul 5 si se gazduieste
pe un server Apache2 configurat pentru a suporta numai protocolul TLSv1.
Figura 5.18 Dimensiunea site-ului web.
Configurarea serverului (VirtualHost-ului) este urmatoarea:
<VirtualHost *:443>
SSLEngine on
SSLProtocol TLSv1
SSLCipherSuite HIGH:!aNULL:!MD5
SSLCertificateFile /etc/pki/tls/http/apachecert.pem
SSLCertificateKeyFile /etc/pki/tls/http/apachekey.pem
DocumentRoot "/var/www/html/https-tls"
<Directory /var/www/html/https-tls>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Aceasta configuratie obliga orice client sa foloseasca protocolul TLSv1 (serverul nu
accepta alte protocoale). Port-ul utilizat este 443 (portul standard pentru HTTPS). Site-ul creat
se afla la adresa /var/www/html/https-tls si se poate gasi in Anexa 7.
106
In continuare se vor analiza pasii handshake-ului TLSv1:
Figura 5.19 Mesajul Client Hello
Clientul initiaza conexiunea trimitand un mesaj serverului ce contine: protocolul
preferat de client (si versiunea acestuia); un numar format din data si ora clientului plus un
numar de 28 octeti generat aleator ce va fi folosit ulterior impreuna cu numarul aleator al
serverului pentru obtinerea cheilor de criptare; suita de cifruri (lista de cifruri disponibile
clientului) si algoritmul de compresie suportat de catre client.
107
Figura 5.20 Mesajul Server Hello
Serverul raspunde mesajului Hello de la client cu urmatoarele: protocolul suportat de
server; numarul sau aleator, care impreuna cu cel al clientului vor forma cheile de criptare;
suita de cifruri (lista de cifruri disponibile serverului) si algoritmul de compresie suportat de
catre server.
Tot in acest mesaj serverul introduce datele certificatului de securitate si anume: cheia
publica a serverului si detaliile certificatului (destinatarul emiterii certificatului si perioada de
validitate a acestuia).
108
Figura 5.21 Mesajul Server hello done
Serverul trimite un mesaj de tipul Server Hello Done ce indica faptul ca serverul a
terminat schimbul de mesaje si asteapta clientul.
Figura 5.22 Mesajul Client key exchange
Clientul trimite un mesaj Schimb de chei client dup calcularea secret-ului
premaster folosind ambele valori aleatoare (al serverului si al sau). Secretul premaster este
109
criptat cu cheia public din certificatul serverului nainte de a fi transmis la server. Ambele
pri vor calcula secretul master la nivel local i vor extrage cheia de sesiune din el.
n cazul n care serverul poate decripta aceste date clientul este asigurat c serverul are
cheia privat corecta. Acest pas este crucial pentru a dovedi autenticitatea serverului. Numai
serverul cu cheia privat care corespunde cheii publice din certificat poate decripta aceste date
i poate continua negocierea protocolului.
Figura 5.23 Mesajul Change Chiper Spec
Acest mesaj notific serverul care toate mesajele care urmeaz dupa mesajul Client
Finished vor fi criptate folosind cheile i algoritmii negociati. Mesajul Client Finished este
un hash al intregii conversatii si ofera autentificare clientului.
110
CONCLUZII
In mai putin de o generatie, revolutia informatiei si introducerea calculatoarelor in
virtual, fiecare dimensiune a societatii a schimbat lumea. Predictiile unor importanti oameni
in domeniul ingineriei se adeveresc si lumea se transforma astfel intr-un sat global unde nu
mai exista granite pentru afaceri, comunicatii sau comert.
Informatia reprezinta moneda economiei Internet; tehnologiile de securitate a
informatiei au un imens impact asupra modului in care organizatiile conduc afaceri
electronice si, implicit, isi ating obiectivele strategice. Prezenta lucrare discuta importanta
tehnologiilor de securitatea informatiei in societatea informatiei, si explicarea avantajelor
adoptarii tehnologiilor de securitatea informatiilor.
Retelele private virtuale (VPN) au fost concepute din dorinta de a avea o mai buna
securitate a informatiilor transmise de catre utilizatori prin intermediul unei retea de
calculatoare.
Scopul propus de aceasta lucrare a fost implementarea cu ajutorul simulatorului GNS3
unei retele care utilizeaza diferitele protocoale de tunelare.
Din scenariul 1 am vazut ca un pachet cum arata un pachet de date (ping) ce este
transmis in text clar necriptat si netunelat. Am putut observa cum un analizor de trafic poate
extrage toate informatiile din acel pachet (sursa, destinatie si tipul pachetului). De asemenea
s-a putut observa ca dimensiunea totala a pachetului este de 106 octeti.
Din scenariul 2 am vazut ca tunelele GRE, desi ofera eficienta retelei si sunt usor de
implementat au un mare dezavantaj in faptul ca nu cripteaza datele transmise prin asa numitul
tunel de transmisie. De asemenea am observat ca, in acest caz, dimensiunea totala a
pachetului a crescut la 130 octeti. Diferenta de 24 octeti este data de header-ul IP adaugat de
catre protocolul GRE.
In scenariul 3 si 4 am implementat un tunel IPSec si un tunel GRE cu protectie IPSec.
Desi sunt mai greu de configurat, necesitand cunostinte avansate de retelistica, retelele
virtuale private bazate pe IPSec utilizeaza criptarea pentru a secretiza datele pe care le
transmit, astfel crescand rezistenta retelei din punctul de vedere al furtului de date. De
asemenea se poate observa ca dimensiunea pachetului a crescut la 166 octeti, respectiv 198
octeti datorita datelor adaugate de protocolul IPSec.
111
In scenariul 5 si 6 am vazut cum arata schimbul de mesaje de la inceputul unei
sesiune HTTPS atat pentru cazul configurarii cu protocolul SSLv3 cat si pentru TLSv1.
Diferentele intre aceste protocoale sunt minime:
- Cifruri: TLS nu are suport pentru schimbul de chei Fortezza si pentru
criptarea Fortezza.
- Padding: TLS permite padding cu un numar variabil de octeti (maxim
244)
- MAC: TLS folosete ultima versiune de HMAC, iar acesta acoper i
cmpul de versiune.
- Mesajul CERTIFICATE_VERIFY: Funcia de dispersie este calculat
doar dup mesajele de handshake
- Coduri de avertizare: TLS definete mai multe coduri de avertizare dect
SSL.
In aceasta lucrare am incercat sa evidentiez clar procesul de configurare a diferitelor
tipuri de tuneluri de securitate, dar si importanta deosebita care trebuie acordata problemei
securitatii. Desi Internetul se confrunta cu amenintari de securitate din ce in ce mai avansate
acest lucru nu a impiedicat raspandirea sa la scara globala. Fiind imposibilia inlaturarea in
totalitate a unui atac tot ce ne ramane de facut este sa ingreunam incercarile atacatorilor de a
obtine acces la informatii.
112
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 informatiei prin internet, Curs
4) Asist. Razvan ZOTA, Solutii de securitate pentru Internet, in Revista Informatica
Economica, nr.12/1999 69
5) Luminita S. , Ion B. , Securitatea Retelelor de Comunicatii, Casa de editura
Venus Iasi 2008
6) http://www.securitatea-informatica.ro/securitatea-informatica/securitatea-si-
confidentialitatea-datelor-in-retelele-publice/
7) http://ro.wikipedia.org/wiki/Re%C8%9Bea_privat%C4%83_virtual%C4%83
8) Revista 52 Informatica Economic nr. 2(30)/2004 An Overview of the Attack
Methods Directed Against the RSA Algorithm
9) Bogdan Groza, Introducere n SistemeleCriptografice cu Cheie Public,
http://www.aut.upt.ro/~bgroza/iccp.pdf accesat la data 18.06.2012
10) Asist. Simona Ionescu, Considerations on data encryption and decruption, in Revista
Informatica Economica, nr.2(30)/2004
11) Revista 52 Informatica Economic nr. 2(30)/2004 An Overview of the Attack
Methods Directed Against the RSA Algorithm
12) Martin W. Murhammer, "A Comprehensive Guide to Virtual Private Networks",
International Technical Support Organization 1999
13) http://www.netaccess.ro/retele_virtuale_private.html accesat la data 15.03.2012
http://ro.wikipedia.org/wiki/Vpn
http://en.wikipedia.org/wiki/Secure_Sockets_Layer
113
ANEXE
114
ANEXA 1
Configuratia completa a echipamentelor de retea
1 Configuratie 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
!
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
115
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
116
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:c279e6a4eae895911a15b94872d12856
: end
2. Configuratia Branch1-R
Branch1-R#sh run
Building configuration...
Current configuration:
!
version 12.0
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname Branch1-R
!
ip subnet-zero
ip tcp synwait-time 5
!
interface Tunnel2
ip address 172.28.3.1 255.255.255.252
no ip directed-broadcast
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
no ip directed-broadcast
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 10.10.2.1 255.255.255.0
no ip directed-broadcast
duplex auto
117
speed auto
!
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
!
ip classless
ip route 10.10.3.0 255.255.255.0 172.28.3.2
no ip http server
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
transport input none
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
line vty 0 4
login
!
end
3. Configuratia 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
!
ftp mode passive
same-security-traffic permit inter-interface
object network HQ-LAN-GRE
host 192.168.1.2
118
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
119
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:0b182dc58f7c0ef80c98f462550342c3
: end
4. Configuratia Branch2-R
Branch2-R#sh run
Building configuration...
Current configuration:
!
version 12.0
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname Branch2-R
!
ip subnet-zero
120
ip tcp synwait-time 5
!
interface Tunnel1
ip address 172.28.2.2 255.255.255.252
no ip directed-broadcast
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
no ip directed-broadcast
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
no ip directed-broadcast
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 10.10.3.1 255.255.255.0
no ip directed-broadcast
duplex auto
speed auto
!
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
!
ip classless
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
no ip http server
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
transport input none
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
121
line vty 0 4
login
!
end
5. Configuratia HQ-ASA
HQ-ASA(config)# 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
!
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
122
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
123
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:0f7dfcfe2d1c21004a349760d3638c70
: end
6. Configuratia HQ-R
HQ-R#sh run
Building configuration...
Current configuration:
!
version 12.0
service timestamps debug uptime
124
service timestamps log uptime
no service password-encryption
!
hostname HQ-R
!
ip subnet-zero
ip tcp synwait-time 5
!
interface Tunnel2
ip address 172.28.2.1 255.255.255.252
no ip directed-broadcast
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
no ip directed-broadcast
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 10.10.1.1 255.255.255.0
no ip directed-broadcast
duplex auto
speed auto
!
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
!
ip classless
ip route 10.10.3.0 255.255.255.0 172.28.2.2
no ip http server
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
transport input none
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
line vty 0 4
login
!
125
end
7. Configuratia ISP1
ISP1#sh run
Building configuration...
Current configuration:
!
version 12.0
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname ISP1
!
ip subnet-zero
ip tcp synwait-time 5
!
interface FastEthernet0/0
ip address 11.11.11.1 255.255.255.252
no ip directed-broadcast
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 77.77.77.1 255.255.255.252
no ip directed-broadcast
duplex auto
speed auto
!
interface FastEthernet2/0
ip address 88.88.88.2 255.255.255.252
no ip directed-broadcast
duplex auto
speed auto
!
interface FastEthernet3/0
no ip address
no ip directed-broadcast
shutdown
duplex auto
speed auto
!
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
!
ip classless
no ip http server
126
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
transport input none
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
line vty 0 4
login
!
end
8. Configuratia ISP2
ISP2#sh run
Building configuration...
Current configuration:
!
version 12.0
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname ISP2
!
ip subnet-zero
ip tcp synwait-time 5
!
interface FastEthernet0/0
ip address 33.33.33.1 255.255.255.252
no ip directed-broadcast
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 99.99.99.1 255.255.255.252
no ip directed-broadcast
duplex auto
speed auto
!
interface FastEthernet2/0
ip address 77.77.77.2 255.255.255.252
no ip directed-broadcast
duplex auto
speed auto
!
127
interface FastEthernet3/0
no ip address
no ip directed-broadcast
shutdown
duplex auto
speed auto
!
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
!
ip classless
no ip http server
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
transport input none
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
line vty 0 4
login
!
end
9. Configuratia ISP3
ISP3#sh run
Building configuration...
Current configuration:
!
version 12.0
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname ISP3
!
ip subnet-zero
ip tcp synwait-time 5
!
interface FastEthernet0/0
ip address 22.22.22.1 255.255.255.252
no ip directed-broadcast
128
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 88.88.88.1 255.255.255.252
no ip directed-broadcast
duplex auto
speed auto
!
interface FastEthernet2/0
ip address 99.99.99.2 255.255.255.252
no ip directed-broadcast
duplex auto
speed auto
!
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
!
ip classless
no ip http server
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
transport input none
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
line vty 0 4
login
!
end
129
ANEXA 2
Echo-reply in tunel GRE
130
ANEXA 3
Echo-reply in tunel IPSec
131
ANEXA 4
Echo-reply in tunel GRE over IPSec
132
ANEXA 5
Site-ul SSL
<HEAD>
<TITLE>
LUCRARE DE LICENTA - CONSTANTIN MANEA (HTTPS - SSL)
</TITLE>
<CENTER>
<H1> UNIVERSITATEA POLITEHNICA BUCURESTI </H1>
<H2> FACULTATEA DE ELECTRONICA, TELECOMUNICATII SI TEHNOLOGIA
INFORMATIEI </H2>
<IMG SRC=./UPB.jpg>
<H3>
<P align=left> Profesor Coordonator: </P>
<P align=left> Sl.dr.ing. ADRIAN FLORIN PAUN </P>
<P align=right> Absolvent: </P>
<P align=right> CONSTANTIN MANEA </P>
</H3>
</HEAD>
Figura 1. UPB.jpg
133
ANEXA 6
Site-ul TLS
<HEAD>
<TITLE>
LUCRARE DE LICENTA - CONSTANTIN MANEA (HTTPS - TLS)
</TITLE>
<CENTER>
<H1> UNIVERSITATEA POLITEHNICA BUCURESTI </H1>
<H2> FACULTATEA DE ELECTRONICA, TELECOMUNICATII SI TEHNOLOGIA
INFORMATIEI </H2>
<IMG SRC=./UPB.jpg>
<H3>
<P align=left> Profesor Coordonator: </P>
<P align=left> Sl.dr.ing. ADRIAN FLORIN PAUN </P>
<P align=right> Absolvent: </P>
<P align=right> CONSTANTIN MANEA </P>
</H3>
</HEAD>
Figura 2. UPB.jpg
134
ANEXA 7
Fisierul ssl.conf
[root@CentOS-1 https-ssl]# cat /etc/httpd/conf.d/ssl.conf
#
# This is the Apache server configuration file providing SSL support.
# It contains the configuration directives to instruct the server how to
# serve pages over an https connection. For detailing information about these
# directives see <URL:http://httpd.apache.org/docs/2.2/mod/mod_ssl.html>
#
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.
#
LoadModule ssl_module modules/mod_ssl.so
#
# When we also provide SSL we have to listen to the
# the HTTPS port in addition.
#
Listen 443
Listen 1443
##
## SSL Global Context
##
## All SSL configuration in this context applies both to
## the main server and all SSL-enabled virtual hosts.
##
# Pass Phrase Dialog:
# Configure the pass phrase gathering process.
# The filtering dialog program (`builtin' is a internal
# terminal dialog) has to provide the pass phrase on stdout.
SSLPassPhraseDialog builtin
# Inter-Process Session Cache:
# Configure the SSL Session Cache: First the mechanism
# to use and second the expiring timeout (in seconds).
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
# Semaphore:
# Configure the path to the mutual exclusion semaphore the
# SSL engine uses internally for inter-process synchronization.
SSLMutex default
# Pseudo Random Number Generator (PRNG):
135
# Configure one or more sources to seed the PRNG of the
# SSL library. The seed data should be of good random quality.
# WARNING! On some platforms /dev/random blocks if not enough entropy
# is available. This means you then cannot use the /dev/random device
# because it would lead to very long connection times (as long as
# it requires to make more entropy available). But usually those
# platforms additionally provide a /dev/urandom device which doesn't
# block. So, if available, use this one instead. Read the mod_ssl User
# Manual for more details.
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
#SSLRandomSeed startup file:/dev/random 512
#SSLRandomSeed connect file:/dev/random 512
#SSLRandomSeed connect file:/dev/urandom 512
#
# Use "SSLCryptoDevice" to enable any supported hardware
# accelerators. Use "openssl engine -v" to list supported
# engine names. NOTE: If you enable an accelerator and the
# server does not start, consult the error logs and ensure
# your accelerator is functioning properly.
#
SSLCryptoDevice builtin
#SSLCryptoDevice ubsec
##
## SSL Virtual Host Context
##
#<VirtualHost _default_:443>
# General setup for the virtual host, inherited from global configuration
#DocumentRoot "/var/www/html"
#ServerName www.example.com:443
# Use separate log files for the SSL virtual host; note that LogLevel
# is not inherited from httpd.conf.
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
# SSL Protocol support:
# List the enable protocol levels with which clients will be able to
# connect. Disable SSLv2 access by default:
#SSLProtocol all
136
# SSL Cipher Suite:
# List the ciphers that the client is permitted to negotiate.
# See the mod_ssl documentation for a complete list.
#SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
# Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will prompt again. A new
# certificate can be generated using the genkey(1) command.
SSLCertificateFile /etc/pki/tls/http/apachecert.pem
# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you've both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
SSLCertificateKeyFile /etc/pki/tls/http/apachekey.pem
# Server Certificate Chain:
# Point SSLCertificateChainFile at a file containing the
# concatenation of PEM encoded CA certificates which form the
# certificate chain for the server certificate. Alternatively
# the referenced file can be the same as SSLCertificateFile
# when the CA certificates are directly appended to the server
# certificate for convinience.
#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
# Certificate Authority (CA):
# Set the CA certificate verification path where to find CA
# certificates for client authentication or alternatively one
# huge file containing all of them (file must be PEM encoded)
#SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
# Client Authentication (Type):
# Client certificate verification type and depth. Types are
# none, optional, require and optional_no_ca. Depth is a
# number which specifies how deeply to verify the certificate
# issuer chain before deciding the certificate is not valid.
#SSLVerifyClient require
#SSLVerifyDepth 10
# Access Control:
# With SSLRequire you can do per-directory access control based
# on arbitrary complex boolean expressions containing server
# variable checks and other lookup directives. The syntax is a
# mixture between C and Perl. See the mod_ssl documentation
# for more details.
#<Location />
#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
137
# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \
# or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
#</Location>
# SSL Engine Options:
# Set various options for the SSL engine.
# o FakeBasicAuth:
# Translate the client X.509 into a Basic Authorisation. This means that
# the standard Auth/DBMAuth methods can be used for access control. The
# user name is the `one line' version of the client's X.509 certificate.
# Note that no password is obtained from the user. Every entry in the user
# file needs this password: `xxj31ZMTZzkVA'.
# o ExportCertData:
# This exports two additional environment variables: SSL_CLIENT_CERT and
# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
# server (always existing) and the client (only existing when client
# authentication is used). This can be used to import the certificates
# into CGI scripts.
# o StdEnvVars:
# This exports the standard SSL/TLS related `SSL_*' environment variables.
# Per default this exportation is switched off for performance reasons,
# because the extraction step is an expensive operation and is usually
# useless for serving static content. So one usually enables the
# exportation for CGI and SSI requests only.
# o StrictRequire:
# This denies access when "SSLRequireSSL" or "SSLRequire" applied even
# under a "Satisfy any" situation, i.e. when it applies access is denied
# and no other module can change it.
# o OptRenegotiate:
# This enables optimized SSL connection renegotiation handling when SSL
# directives are used in per-directory context.
#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
# SSL Protocol Adjustments:
# The safe and default but still SSL/TLS standard compliant shutdown
# approach is that mod_ssl sends the close notify alert but doesn't wait for
# the close notify alert from client. When you need a different shutdown
# approach you can use one of the following variables:
# o ssl-unclean-shutdown:
# This forces an unclean shutdown when the connection is closed, i.e. no
# SSL close notify alert is send or allowed to received. This violates
138
# the SSL/TLS standard but is needed for some brain-dead browsers. Use
# this when you receive I/O errors because of the standard approach where
# mod_ssl sends the close notify alert.
# o ssl-accurate-shutdown:
# This forces an accurate shutdown when the connection is closed, i.e. a
# SSL close notify alert is send and mod_ssl waits for the close notify
# alert of the client. This is 100% SSL/TLS standard compliant, but in
# practice often causes hanging connections with brain-dead browsers. Use
# this only for browsers where you know that their SSL implementation
# works correctly.
# Notice: Most problems of broken clients are also related to the HTTP
# keep-alive facility, so you usually additionally want to disable
# keep-alive for those clients, too. Use variable "nokeepalive" for this.
# Similarly, one has to force some clients to use HTTP/1.0 to workaround
# their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
# "force-response-1.0" for this.
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# Per-Server Logging:
# The home of a custom SSL log file. Use this when you want a
# compact non-error SSL logfile on a virtual host basis.
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
#</VirtualHost>
#<VirtualHost *:443>
# SSLEngine on
# SSLProtocol SSLv3
# SSLCipherSuite HIGH:!aNULL:!MD5
# SSLCertificateFile /etc/pki/tls/http/apachecert.pem
# SSLCertificateKeyFile /etc/pki/tls/http/apachekey.pem
# DocumentRoot "/var/www/html/https-ssl"
#<Directory /var/www/html/https-ssl>
# Order allow,deny
# Allow from all
#</Directory>
#</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLProtocol TLSv1
SSLCipherSuite HIGH:!aNULL:!MD5
SSLCertificateFile /etc/pki/tls/http/apachecert.pem
SSLCertificateKeyFile /etc/pki/tls/http/apachekey.pem
DocumentRoot "/var/www/html/https-tls"
<Directory /var/www/html/https-tls>
Order allow,deny
139
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
SSLEngine off
DocumentRoot "/var/www/html/http"
<Directory /var/www/html/http>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

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