Documente Academic
Documente Profesional
Documente Cultură
LUCRARE DE LICEN
Coordonator tiinific:
S.l. dr. ing. ADRIAN FLORIN PUN
Absolvent:
CONSTANTIN
MANEA
Bucureti
2013
1
SECURITATEA IN RETELELE
TCP/IP
Coordonator tiinific:
S.l. dr. ing. ADRIAN FLORIN PUN
Absolvent:
CONSTANTIN
MANEA
Bucureti
2013
2
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
4
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
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.
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.
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]
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
11
12
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.
14
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
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.
17
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,
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)
18
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 dec riptare.
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.
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.
timpul necesar aflrii cheii secret folosind atacul de tip for brut. Pe ms ur 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.
22
23
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.
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 bi este bitul corespunztor poziiei i din cadrul octetului, iar ci 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.
25
2) 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
n acest pas, figura 2.6., fiecare coloan a tabloului de stare este considerat un
polinom de gradul 4 peste corpul Galois
26
nmulit, modulo
. Operaia se poate
cu polinomul
unde
sunt
27
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.
28
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.
29
30
(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 .
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 carduri 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.
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
32
s fie divizibil cu
astfel nct d i x s fie numere ntregi. Valorile d i e sunt numite exponentul privat, respectiv
exponentul public al algoritmului.
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.
33
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 smartcarduri, 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.
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.
35
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.
36
Deoarece numai sursa cunoate cheia sa privat rezult c numai ea poate produce o
semntur valid.
37
2.4 Concluzii
Avantaje
Dezavantaje
Tabel 1
Chei
simetrice
38
Avantaje
Dezavantaje
Tabel 2
Conduc la aplicatii de mare ntindere: Sunt necesare chei de lungimi mult mai
semnaturi electronice, algoritmi de mari
autentifi- care, componente de comert
electronic
In functie de modul de utilizare, o Nu se poate garanta securitatea absoluta a
pereche de chei (publica,privata) poate nici unei scheme de criptare cu cheie
fi pastrata o perioada mai lunga de timp publica
Cheie
publica
39
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.
41
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.
42
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.
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.
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
44
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 interreea, cadrul este decapsulat i trimis la destinaia sa final. De notat c tunelarea include
ntregul proces: ncapsulare, transmitere i decapsulare a pachetelor.
45
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.).
46
47
PPTP
L2F
L2TP
Transport
IP/GRE
Criptare
Criptare Microsoft
Criptare Microsoft
Criptare Microsoft
PPP (MPPE)
PPP (MPPE/ECP);
opional
IPsec opional
Autentificare PPP
Autentificare PPP
Autentificare PPP
(utilzator)
(utilzator); IPsec
(utilzator); IPsec
opional (pachet)
opional (pachet)
Autentificare
(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
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
49
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).
50
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.
51
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
53
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
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).
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
55
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:
AH
ESP
Mod transport
Mod tunel
IP i extensiile header-ului
IPv6.
header IPv6.
56
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).
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
57
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),
58
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.
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.
60
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:
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.
61
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 ntro 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
63
64
4.
65
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 trans mite 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.
66
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.
68
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.
69
Suite de cifruri
Triple DES, care sunt criptate pe 168 biti, cu
mesaje de autentificare SHA 1. Este cel mai
date importante.
SSL.
guvernamentale.
i pentru S/MIME).
70
i pt fi accesate de hackeri.
Tabelul 4.1 Suitele de cifruri suportate de SSL
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.
72
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 impotri va atacurilor cunoscute.
73
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 CAuri 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 aceea i 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.
74
Aceasta aduce asigurri adiionale ca identitatea asociat cu cheia publica a serverului este a
serverului cu care clientul este conectat.
75
Figura 4.2 Autentificarea legturii dintre cheia public i persoan a 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.
76
77
o actualizare minor a SSL. Diferenele ntre cele dou protocoale sunt rez umate 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)
78
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.
79
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 s erverul
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 d e
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
80
ceea ce privete integritatea datelor. Pe sistemele Windows cheia pub lic 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 DiffieHellman.
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.
81
5.
SIMULAREA
UNEI
RETELE
CARE
IMPLEMENTEAZA
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:
-
85
86
87
Branch1ASA
Asignarea adreselor
IP
Configurare OSPF
Branch1-R
Asignarea adreselor
IP
Configurare OSPF
Branch2ASA
Asignarea adreselor
IP
Configurare OSPF
Branch2-R
Asignarea adreselor
IP
interface GigabitEthernet0
nameif WAN
security-level 0
ip address 22.22.22.2 255.255.255.252
no shutdown
interface GigabitEthernet1
nameif LAN
security-level 100
ip address 192.168.2.1 255.255.255.252
no shutdown
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
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
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
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
88
Configurare OSPF
HQ-ASA
Asignarea adreselor
IP
Configurare OSPF
HQ-R
Asignarea adreselor
IP
Configurare OSPF
ISP1
Asignarea adreselor
IP
Configurare OSPF
ISP2
Asignarea adreselor
IP
Configurare OSPF
ISP3
Asignarea adreselor
IP
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
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
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
90
no ip directed-broadcast
duplex auto
speed auto
no shutdown
Configurare OSPF
router ospf 1
network 22.22.22.0 0.0.0.3 area 0
network 88.88.88.0 0.0.0.3 area 0
network 99.99.99.0 0.0.0.3 area 0
Tabel 5.1 Adresarea interfetelor si configuratia OSPF
91
92
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:
94
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.
95
96
98
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.
99
100
101
102
Serverul trimite un mesaj de tipul Server Hello Done ce indica faptul ca serverul a
terminat schimbul de mesaje si asteapta clientul.
103
104
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.
105
106
107
Serverul trimite un mesaj de tipul Server Hello Done ce indica faptul ca serverul a
terminat schimbul de mesaje si asteapta clientul.
108
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.
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.
109
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.
110
111
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-siconfidentialitatea-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
112
ANEXE
113
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-LANGRE
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 Branch1LAN
114
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
117
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
120
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
121
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
123
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
125
!
!
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
!
126
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
127
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
128
ANEXA 2
Echo-reply in tunel GRE
129
ANEXA 3
Echo-reply in tunel IPSec
130
ANEXA 4
Echo-reply in tunel GRE over IPSec
131
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
132
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
133
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):
134
135
#
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>
#
#
#
#
#
#
#
#
# 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
138
139