Documente Academic
Documente Profesional
Documente Cultură
Curs
Radu Lupu
-Iunie 2020-
1
Contents
1. Notiuni de management al securitatii informatiei (INFOSEC) ...................................................... 4
Vulnerabilitatea de proiectare: “stack overflow” ................................................................... 4
Principalele obiective ale atacurilor ....................................................................................... 5
Atacuri in Internet.Categorii si exemple ................................................................................ 6
Elemente program(agenti) de atac ......................................................................................... 9
Tratarea riscurilor de securitate ........................................................................................... 10
2. Sisteme si tehnici de securitate pentru reteaua Internet................................................................ 11
2.1 Sistemul Firewall....................................................................................................... 11
Mod general de operare. Politica de filtrare..................................................................... 12
Principalele elemente de tip firewall................................................................................ 13
Configuratii de sisteme firewall ....................................................................................... 14
2.2 Sistemul pentru detectia intruziunilor (IDS) ............................................................. 15
2.2.1 Arhitectura generala IDS ........................................................................................ 16
2.2.2 Clasificare ............................................................................................................... 17
2.2.3 Tehnici IDS de detectie ........................................................................................... 19
2.3 Sistemul de prevenire a intruziunilor (IPS) ................................................................... 21
2.4. Tehnici, mecanisme si sisteme anti-(D)DoS ............................................................. 21
2.4.1 Metoda pentru identificarea atacatorului pe baza tehnicii de “traceback” ............. 21
2.4.2 Schema D-WARD [~Mirkovic] .............................................................................. 22
2.4.3 Secure Overlay Services -SOS [~Keromytis et al.] ................................................ 22
2.4.4 Proof of Work ......................................................................................................... 22
2.4.5 DefCOM [~Mirkovic et al.] .................................................................................... 23
2.5. Tehnici anti-SPAM email.......................................................................................... 24
2.5.1. Tehnici de filtrare pe baza identificatorului sursei ................................................ 24
2.5.2 Tehnici de filtrare distribuita pe baza sumei de verificare (DCF-Distributed
Checksum Filtering)......................................................................................................... 28
2.5.3. Tehnici de filtrare pe baza interpretarii continutului mesajului ............................. 29
3. Servicii generice de securitate pentru retelele TCP/IP................................................................. 29
3.1 Protocolul IPSec ........................................................................................................ 29
3.1.1 Protocolul AH .................................................................................................... 33
3.1.2 Protocolul ESP ................................................................................................... 34
3.1.3 Protocolul IKEv2[RFC7296] ............................................................................. 35
3.2 Protocolul TLS (Tranport Layer Security) .................................................................... 37
3.2.1 Arhitectura TLS ...................................................................................................... 37
3.2.2 Protocolul TLS Record ........................................................................................... 38
3.2.3. Protocolul TLS Handshake ................................................................................ 40
4. Modele de arhitecturi de securitate pentru retea ....................................................................... 46
4.1. Modelul pt. securizarea comunicatiilor intre corespondenti (principali) .................. 46
4.2. Modelul pentru controlul accesului la o resursa de retea .......................................... 48
4.3 Arhitectura IEEE 802.1x pentru controlul accesului bazat pe port ............................... 49
4.4 Arhitectura generica AAA [RFC2903] .......................................................................... 50
4.4.1 Protocolul RADIUS[RFC2865] [RFC2866]........................................................... 52
5. Securitatea retelelor de acces radio ............................................................................................ 56
5.1 Servicii de securitate GSM ............................................................................................ 56
5.1.1 Autentificarea abonatului si stabilirea cheilor de sesiune ....................................... 57
5.1.2 Confidentialitatea identitatii abonatului ............................................................. 59
2
5.2 Servicii de securitate WLAN ......................................................................................... 62
5.2.1 Servicii de baza 802.11. Sistemul criptografic WEP (Wired Equivalent Privacy) . 62
5.2.2 Solutia interimara WPA .......................................................................................... 66
5.2.3 Amendamentul IEEE 802.11i (WPA2)................................................................... 70
6.Bibliografie & Referinte Web(Incompleta) ........................................................................................ 82
7. Acronime ...................................................................................................................................... 83
Anexa A: Elemente de criptografie. Protocoale criptografice .............................................................. 86
Arhitectura generala a unui sistem criptografic cu chei....................................................... 86
Moduri de operare[FIPS-81, 74], [SP800-38a].................................................................... 87
Cifrul sir ............................................................................................................................... 90
Cifrul bloc determinist ......................................................................................................... 91
Cifruri clasice =primitive criptografice ........................................................................... 92
Algoritmi asimetrici ............................................................................................................. 93
Algoritmul RSA (Rivest, Shamir, Adleman, 1977) [PKCS#1] ....................................... 94
Algoritmi criptografici pe curbe eliptice.......................................................................... 94
Functii hash .......................................................................................................................... 95
Integritatea datelor si autentificarea mesajelor/tranzactiilor ............................................ 96
Semnatura digitala. Schema de semnare .............................................................................. 97
Protocoale criptografice pentru autentificarea entitatilor si stabilirea cheilor ..................... 98
Protocolul Diffie-Hellman ............................................................................................. 105
Managementul cheilor publice ........................................................................................... 106
Anexa B: lista partiala a alarmelor TLS Record ................................................................................... 111
Anexa C: semnificatia codurilor CipherSuite-lor TLS........................................................................... 112
3
1. Notiuni de management al securitatii informatiei (INFOSEC)
Exercitiu
Dati exemple de resurse IT care pot fi tinte ale unor amenintari.
Intrebare.
Care este diferenta dintre urmatoarele doua notiuni: amenintare si atac. Care este scopul
standardului RFC4949 ?
Exercitiu.
Dati 5 exemple de amenintari cibernetice si cel putin cate 2 atacuri pentru fiecare amenintare.
Exercitiu.
Dati exemple de vulnerabilitati din fiecare categorie (proiectare, implementare, configurare,
management).
Exercitiu.
Precizati alta vulnerabilitate din aceasi categorie ?
Intrebare.
Descrieti pe scurt principiul de functionare al urmatoarelor mecanisme: DEP, ASLR si Stack
Canaries.
4
Principalele obiective ale atacurilor
Divulgarea informatiilor
Deceptionarea entitatii
Perturbarea resurselor
Uzurparea resurselor
5
Nota: de cele mai multe ori va fi realizat un atac combinat, ceea ce presupune o succesiune
de mai multe atacuri elementare asupra mai multor entitati tinta.
o XSS reflectat nepersistent (a.k.a Type II): un click pe link-ul de mai jos
determina primirea unui raspuns de la serverul web Apache2 de forma: “Not
Found. The requested URL … was not found on this server.”
o SQL injection
Se pp. ca CGI la server executa pentru a afisa adresa email a contului curent:
6
“SELECT email FROM accounts WHERE username=’ ”.$name.” ’ ”;
7
Atacurile “phishing”: deceptionarea entitatii tinta prin impersonarea unei entitati de
incredere. Scopul atacatorului este de a fura credentialele entitatii tinta si/sau informatii cu
caracter privat (ex. identificator, parola, informatii ale cardului de credit).
Atacurile “Denial-of-Service (DoS)”: au ca obiectiv blocarea sau periclitarea performantelor
8
o atacul SPAM: in general, pe serviciile email, VoIP (casuta vocala).
Intrebare.
1. Care este diferenta dintre un atac de preluare de informatii si un atac prin analiza de
trafic. Exemplificati. Incadrati cele doua tipuri de atacuri in una dintre cele doua clase
de atacuri: activ sau pasiv. Propuneti cateva masuri de securitate pentru a preveni aceste
tipuri de atacuri.
2. Propuneti o solutie criptografica si una necriptografica pentru a preveni/combate atacul
“IP spoofing”
3. Propuneti o solutie necriptografica pentru a combate atacul “IP spoofing”
4. Precizati cateva solutii pentru prevenirea atacurilor DoS
5. …
9
Exercitiu
Specificati rolul urmatoarelor elemente de atac: scaner, spyware, bomba logica, trapdoor,
backdoor, exploit, bot/zombie, flooder, spamer, troian, cod mobil malitios, virus, worm,
rootkit.
Exercitiu
Mentionati cateva asemanari si deosebiri intre virus si worm, respectiv intre trapdoor si
backdoor.
Masuri de Securitate:
de management
operationale
tehnice (suport, preventive, reactive)
Servicii de securitate
Def: Nivel de securitate: este o caracteristica care arata cat de senzitiva este o resursa, si care
se exprima pe baza unui sistem de clasificare prestabilit (ex. ierahizat: TOP SECRET ...
UNCLASSIFIED).
Def: Taria (unui mecanism de securitate): poate fi cuantificata ca fiind complexitatea celui
mai eficient atac (cunoscut) care poate compromite unul dintre obiectivele sale (invariabil in
timp).
Criterii pentru evaluarea complexitatii atacurilor:
cantitatea de date de intrare considerate (sau complexitatea de intrare);
cantitatea de memorie (sau complexitatea de memorare);
complexitatea operatiilor de procesarea datelor de intrare/memorate;
volumul de banda de transfer necesar;
complexitatea metodei de atac (i.e. cunostinte necesare, pregatire teoretica si practica
costisitoare)
Confidentialitatea datelor: este un proces pentru protejarea datelor fata de expunerea lor
unor entitati neautorizate.
Autentificarea entitatii: presupune verificarea identitatii invocate de catre o entitate.
Nota: in general [RFC4949], prin autentificare se intelege un proces de verificare a atributelor invocate de o
resursa.
Anonimitatea entitatii: un proces prin care se asigura ca identitatea reala a entitatii ramane
necunoscuta (fata de corespondent sau fata de un tert).
Protejarea caracterului privat (en. privacy): este un proces prin care se asigura unei entitati
(frecvent persoana) posibilitatea sa determine gradul in care va interactiona cu contextul sau
de operare, inclusiv gradul in care doreste sa partajeze informatii personale cu alte entitati.
10
Autentificarea originii datelor (i.e. pachet/mesaj): un proces de verificare a identitatii
entitatii care este sursa a unor date.
Integritatea datelor: un proces care garanteaza detectarea oricarei modificari neautorizate a
datelor (intentionata sau accidentala).
Autorizarea entitatii: este un proces prin care o entitate primeste niste permisiuni pentru
utilizarea unei resurse (ex. read si/sau send si/sau write).
Controlul accesului [~NIST]: consta in determinarea permisiunilor (actiunilor) asociate
utilizatorilor si medierea actiunilor pentru a preveni utilizarea in mod neautorizat a unei
resurse.
Nerepudiere: acest serviciu ofera protectie fata de falsa negare a implicarii unei entitati intr-o
asociere. In acest scop, acest serviciu colecteaza si stocheaza informatii care sa poate fi
prezentate unui tert ca dovezi intr-o eventuala disputa.
Obs: in COMSEC este posibila: repudierea transmiterii/receptionarii unor date;
Contabilizare (en. accounting): un proces prin care actiunile unei entitati sunt inregistrate si
asociate in mod unic acesteia, astfel incat ulterior va putea fi declarata responsabila in instanta.
Disponibilitate: un proces prin care se asigura ca o resursa este disponibila in orice moment
este solicitata.
Obs: se poate solicita aplicarea combinata a acestor servicii (poate fi f. dificil);
trafic autorizat
Retea Firewall Retea
(NS 1)
NS 1 ≠ NS 2
(NS 2)
trafic blocat trafic blocat
11
3. politicile de filtrare pot fi unidirectionale (de la, si catre reteaua interna protejata) si per
interfata de retea;
4. sistemul f/w insusi trebuie sa fie imun la atacuri. Aceasta conditie impune utilizarea unor
tehnologii software si hardware care sa garanteze un nivel de securitate cat mai ridicat
Nota: lista de reguli se mai numeste lista ACL (en. Access Control List)
fiecare regula este structurata in 2 parti: CONDITIE si DIRECTIVA (dupa modelul “if-
then-action”);
o lista de reguli de filtrare are asociata o regula implicita cu o directiva de tip ACCEPT sau DROP.
pentru a determina politica corespunzatoare pachetului curent, se verifica secvential conditiile
de filtrare ale fiecarei reguli din lista ACL, pana la prima regula a carei conditie este validata (are
valoarea true); odata cu aplicarea directivei corespunzatoare acestei reguli explorarea listei ACL
se incheie; daca nu este validata nicio conditie, intotdeauna va fi aplicata politica implicita a
listei;
Probleme specifice: deseori listele de reguli pot deveni complexe si pot avea dimensiune mare (cateva
sute sau mii de reguli)=> 1- suprapunerea regulilor (=>reguli “dead”); 2- latenta in comunicatii;
3-management dificil;
12
Principalele elemente de tip firewall
A) Filtrul de pachete (firewall de generatia intai)
aplica politica de filtrare pe fiecare pachet in mod independent (i.e. independent de stare);
criterii de filtrare: adresa IP sursa/destinatie, port sursa/destinatie, protocol de transport;
datorita complexitatii de operare mai reduse, acest tip de firewall poate asigura o intarziere
mai redusa a comunicatiilor;
opereaza in mod transparent pentru celelalte entitati de retea;
probleme ale acestui tip de firewall [NIST SP800-41]:
functia de jurnalizare este limitata la detalii;
vulnerabilitate la atacuri care au ca tinta stiva TCP/IP;
B) Server proxy de nivel aplicatie (en. Application-Level Gateway) - firewall din generatia a 2-a
releu de nivel aplicatie, opereaza per pachet;
decizia este luata pe baza parametrilor de nivel: aplicatie si/sau transport si/sau retea;
“intelege” modul in care functioneaza o anumita aplicatie si poate filtra operatiile acesteia;
pot fi colocate mai multe astfel de relee de filtrare fiecare specializat pentru o anumita aplicatie
Arhitectura generala a unui sistem firewall proxy de tip ALG sau CLG
probleme:
nu opereaza in mod transparent
ex. server proxy web SQUID/Linux;
C) Server proxy de nivel circuit (en. Circuit-Level Gateway) - firewall de generatia a 2-a
este releu pentru transferul pachetelor intre doua “circuite” (i.e. conexiuni de nivel transport). Rezulta
ca cel putin unul dintre parametrii de conexiune se modifica. Unde:
Conexiune:= {addr_src, addr_dst, port_src, port_dst, protocol};
filtrarea se face pe baza parametrilor pachetelor de nivel retea si transport (analog, firewall generatia
intai);
mai poate fi utilizat pentru:
a adauga un serviciu de autentificare, aplicatiilor de retea traditionale;
monitorizare si jurnalizare comunicatii;
redirectarea comunicatiilor;
servicii de anonimizare (tarie redusa)
13
ex. server proxy SOCKSv5 [RFC1928] pe portul 1080/TCP;
14
2.2 Sistemul pentru detectia intruziunilor (IDS)
Def: IDS este un sistem care ofera un serviciu de detectie(posibil in timp real) de intruziuni si
de raspuns prin notificare(alerta), prin monitorizarea si analiza evenimentelor care au loc in
sistemul protejat [RFC4949].
Caracteristici
principiul de functionare: comportamentul unui atacator difera de cel al unui utilizator
legitim, intr-un mod cuantificabil;
ofera un mijloc pentru determinarea mai rapida a unei intruziuni => contribuie la limitarea
efectelor negative pe care le poate produce o intruziune;
ca orice alt echipament de retea si sistemul IDS trebuie sa fie protejat. In acest sens, sistemul
IDS trebuie sa fie capabil sa detecteze orice atac in care devine tinta.
protectie la atacuri interne (ex. abuz in utilizarea resurselor de catre un utilizator legitim);
Threshold
TN TP
Classifier’s
Intermediate
output
10 20 30 40 50 60 70 80
FN FP
N.b. prin reglarea valorii Threshold se poate controla parametrul “Sensitivity”, care variaza
invers proportional cu parametrul “Specificity”;
Sample’s
category
Atac Non-atac
Test result
Positive TP FP
(Type I error)
Negative FN TN
(Type II error)
15
Matricea de eroare (aka. confuzie sau tabela de contingenta) pt. un clasificator binar
(1-Specificity):=False Positive
1 rate(FPR);
1- Specificity 1
Obs: cu cat curba ROC aluneca in sensul sagetii cu atat functia de detectie este mai buna; 0.5
≤ AUC(Area Under Curve) < 1;
16
Bloc de tip D (Databases boxes): rol de stocare a informatiilor primite de la blocurile de tip E
in vederea unei procesari ulterioare de catre blocurile de tip A si R;
Bloc de tip A (Analysis boxes): au rol in analiza informatiilor colectate cu scopul detectarii
unui comportament malitios. Vor genera alarme atunci cand este detectat un atac.
-primeste informatii de la unul sau mai multi senzori sau chiar de la alte analizoare,
pentru a detecta atunci cand o intruziune se produce.
-iesirea blocului analizor trebuie sa indice atunci cand o intruziune este detectata si
eventual sa includa argumentele in baza carora sustine acest rezultat;
-functia analizorului poate fi colocata cu sistemele senzor (distribuita) pentru a asigura
performante mai ridicate sistemului IDS;
Bloc de tip R (Response boxes): rol in efectuarea unor actiuni de raspuns atunci cand este
detectat un atac cu scopul de a combate sau de a reduce consecintele unui atac.
-intrarea acestui bloc este rezultatul transmis de blocul analizor;
-raspunsul este de tip pasiv: pot fi aplicate urmatoarele strategii, independent, sau in
combinatie:
jurnalizare: consta in inregistrarea alarmei activate si a conditiilor in care s-a
produs, pentru a facilita ulterior auditul atacului;
notificare: consta in comunicarea activarii unei alerte si a parametrilor acesteia
direct catre consola unui operator (diverse formate: unified2, IDMEF, syslog,
JSON, etc.);
ignorare: se aplica atunci cand se cunoaste ca atacul detectat nu prezinta un risc de
securitate pentru tipul de sistem protejat
E-box A-box
Host/Network Environment
A-box
E-box A-box
E-box
D-box R-box
2.2.2 Clasificare
-in functie de sursa informatiilor monitorizate:
17
1) Sistemul IDS pentru retea (NIDS)
-sursa: pachete de nivel retea, transport si aplicatie, transferate intre entitatile de retea;
-limitari: dificultate in specificarea unor atacuri folosind numai informatii din pachetele
TCP/IP; probleme de scalabilitate;
Retea 3 Retea
FRW. Internet
Servere intern
private 1
FRW.
extern 2
Retea 4
Terminale FRW.
Server pub.
intern
(Web)
Localizarea “1”: NIDS poate reprezenta a doua linie de aparare, pentru a detecta atacurile din
Internet care strapung sistemul firewall. De asemenea, poate detecta atacurile asupra serverului
public sau cele care au origine in serverul public.
Localizarea “2”: ofera o imagine complet (nefiltrata) asupra atacurilor care au ca tinta reteaua
protejata. In acest caz, NIDS trebuie sa realizeze analiza traficului in timp real la rate ridicate.
Localizarea “3”: pentru detectarea atacurilor cu originea in reteaua interna sau in reteaua
externa, avand ca tinta serviciile retelei protejate. NIDS poate fi specializat pentru o anumita
categorie de intruziuni (creste performantele NIDS).
18
2.2.3 Tehnici IDS de detectie
Obs: frecvent aceasta categorie de sisteme IDS sunt specializate pentru intruziunile care au ca
tinta un anumit tip de resursa:
o aplicatie: pt. protejarea fata de intruziunile care exploateaza vulnerabilitatile aplicatiilor
(ex. web, baze de date DNS);
o fisiere: pt. protejarea fata de modificarea neautorizata a fisierelor unui sistem sau aplicatii
Dezavantaj (idem, firewall): imposibilitatea detectarii unor noi atacuri, latenta de
distribuire a semnaturilor noilor intruziuni (vulnerabilitate “zero-day”). Solutie: este
benefica actualizarea frecventa a bazei de date de semnaturi (eventual automat de la
distanta);
Tehnici statistice
-construiesc un profil pt. a reprezenta comportamenutul stochastic al traficului (normal) de
retea (corespunde fazei de invatare);
-parametrii de trafic (metrici, predictori) folositi pt. definirea profilului pot fi: rata
traficului, nr de pachete per protocol, rata stabilirii de conexiuni, nr. de adrese IP diferite,
etc.
-pe de alta parte este construit statistic profilul curent de trafic prin monitorizarea permanenta
a retelei;
19
-pe baza celor doua profiluri este determinat un scor care indica gradul de distantare dintre
ele; daca scorul depaseste o valoare prag prestabilita modulul de detectie emite o alarma;
Tehnici ML
-sunt tehnici “machine-learning” care folosesc un model explicit/implicit pentru clasificarea
paternurilor analizate;
-caracteristica principala: in faza de invatare, pentru construirea modelului de comportament,
este necesar un set de date de antrenament si o capacitate de procesare ridicata;
- spre deosebire de tehnicile statistice, acestea au capacitatea de a isi creste performantele
pe baza rezultatelor anterioare;
Retele Bayesiene
-un model bazat pe relatii probabilistice conditionate dintre parametrii de profil;
-poate incorpora un anumit nivel de cunoastere a priori;
-are capacitatea de a prezice evenimentele;
Modele Markov
-doua variante:
1) lanturi Markov (lant de stari interconectate prin probabilitati de tranzitie)
- probabilitatile sunt determinare in faza de invatare;
- detectia consta in compararea probabilitatilor observate cu valorile estimate ale
probabilitatilor (in faza de invatare);
2) procese Markov ascunse-HMM (este un proces Markov cu stari si tranziti ascunse, numai
realizarile procesului pot fi observate);
-de ex. aceste metode au fost utilizate extensiv in HIDS pt. urmarirea apelurilor de sistem;
Retele neuronale
-metode: retele neuronale recurente, harti cu auto-organizare;
-avantaje: flexibilitate si adaptabilitate la modificarile de context;
-are capacitatea de a prezice evenimentele urmatoare pe baza celor anterioare si de identificare
a actiunilor malitioase;
- dezavantaj: aceste metode nu ofera un model descriptiv care ar putea explica o anumita
decizie de detectie
20
Logica fuzzy
-este un domeniu derivat din teoria multimilor fuzzy;
-este o logica aproximativa, spre deosebire de logica predicativa traditionala;
-o observatie a parametrilor (=variabile fuzzy) este considerata normala daca valorile sunt
intr-un interval prestabilit;
Algoritmi genetici
-algoritmi evolutivi (in faze: de mostenire, mutatie, selectie si recombinare) care au mai fost
numiti euristici de cautare statistica globala;
-construiesc prin derivare un model care consta dintr-un set de reguli de clasificare si/sau
selecteaza un subset de parametrii optimi care vor fi utilizati in procesul de detectie;
1
exista comunitati de specialisti care includ IPS in categoria sistemelor Firewall;
21
2.4.2 Schema D-WARD [~Mirkovic]
O solutie cu aplicare la reteaua de origine, are ca obiectiv detectarea si combaterea atacurilor
inainte sau in timp ce traficul asociat paraseste reteaua de origine a agentilor de atac.
Este un sistem de tip inline (transparent utilizatorilor) care construieste statistici de trafic
per sens de transmisie, intre reteaua sursa si ruterul de margine (en. border router), pe care le
compara apoi cu modelele de trafic de retea construite pe baza specificatiilor de protocoale
si de aplicatii, pentru a pune in evidenta comportamentele normale (i.e. legitime), tranziente
(i.e. suspicioase) sau de atac
Pe baza unui mecanism pe trei niveluri (normal/benign, suspicios, atac), D-WARD
raspunde la atac prin limitarea ratei la nivelul ruterului asupra intregului trafic de iesire catre
o anumita destinatie, favorizand traficul considerat legitim, incetinind traficul suspicios si
reducand drastic rata traficului de atac.
D-WARD controleaza tot traficul (de atac+legitim) cu un nivel scazut de pierderi colaterale un
nivel redus de alarme pozitive false. La terminarea atacului reface imediat conditiile
normale de operare.
D-WARD necesita sa fie aplicat pe scara larga (pt. a acoperi majoritatea surselor) pentru a fi
eficace(putin probabil).
-ca orice solutie localizata la tinta, nu este imun la atacurile prin inundare asupra firewall-
ului retelei protejate, in cazul in care este descoperit;
-restrictiile de rutare prin verificarea adresei sursa introduc latenta si cresc capacitatea de
procesare necesara in rutere.
-SOS necesita modificarea softului la clienti si implementarea SOS pe scara larga.
2.4.4 Proof of Work
-pp. atacul DoS prin epuizarea resurselor necesare pentru stabilirea conexiunilor;
vulnerabilitatea: asimetria in alocarea resurselor intre client si server;
22
-nu functioneaza in cazul atacurilor prin inundare de alt tip (ex. UDP flooding); pentru ca
orice masura ar lua acest sistem de protectie este tardiv odata ce pachetul a fost receptionat (i.e.
banda a fost deja consumata); in general, functioneaza numai pt. serviciile orientate pe
conexiune;
-3 componente functionale (pe host sau ruter): generator de alarme care detecteaza atacurile
(AG); limitator de rata (RL) pentru toate fluxurile catre serverul protejat; clasificator (CL)
care separa traficul legitim de cel suspicios si apoi marcheaza pachetele.
In cazul unui atac, generatorul de alarme detecteaza evenimentul la nivelul retelei tinta, iar
clasificatorul angajat va fi localizat langa reteaua de origine a atacului.
Sistemul DefCOM urmareste inapoi atacul de la tinta catre toate sursele de trafic active
(legitime sau de atac), cu ajutorul retelei overlay DefCOM si prin transferul de statistici
intre nodurile sistemului. Mecanismele de limitare a ratei sunt aplicate de la tinta catre
frunzele arborelui de trafic (clasificatorii din apropierea surselor).
Deci, ruterele din core trebuie sa aiba capabilitati de limitare a ratei pe baza marcajelor
pachetelor. Un clasificator (ex. clasificatorul D-WARD) va marca ca legitim traficul care este
considerat autorizat de catre tinta.
Datorita faptului ca DefCOM este implementat si in corele retelei, poate trata si atacurile
lansate din retele care nu sunt dotate cu clasificatori. Poate sa trateze si atacurile prin
inundare fara (sau putin) sa afecteze negativ traficul legitim.
Datorita structurii sale overlay, este un sistem scalabil si nu necesita implementarea continuua
in retea.
23
2.5. Tehnici anti-SPAM email
- cele mai multe dintre aceste tehnici au fost propuse de catre IETF WG Anti-Spam Research
Group;
- tehnicile care sunt prezentate in acest capitol pot fi aplicate in complementaritate;
-poate fi transparent pt. receptori (vs. PGP, S/MIME); nu necesita implementare pe scara
larga in Internet; poate opera in conjuctie cu mecanismele anti-spam (ex. liste albe); poate opera
intr-o diversitate larga de locatii;
-mecanisme criptografice bazate pe semnatura digitala; suporta diversi algoritmi (set implicit
pt. garantarea interoperabilitatii);
-domeniul de origine(MTA)/host-ul(MUA)/releul MTA/mediator MUA(poate modifica
mesajul semnat si il retrs.) care semneaza are o pereche de chei asimetrice;
24
-tipic, cheia privata memorata pe serverul local MTA, cheia publica este distribuita prin
intermediul serviciului DNS(DNSSEC) ca un record de tip TXT; identificarea cheii
publice se face prin SDID+selector(pt ca un SDID poate fi asociat cu m.m. chei PK);
selectorul este specificat in email de tagul “s”;
-verificarea se poate face de catre MTA/MUA de destinatie (ex. Thunderbird add-on);
-semnatura este transferata in campul DKIM-Signature din antetul email; acest camp include
o referinta la domeniul DNS care distribuie cheia publica PK; pot fi prezente mai multe
semnaturi;
b ≔ {h(header_fields || h(body))}_SK
Organigrama DKIM[RFC5585]
25
-Signing Practices(SP)≔ set de politici asociate cu un domeniu de origine care sunt stabilite
de catre destinatie pt a decide cum sa proceseze mesajele de la un anumit transmitator; sunt
gestionate atat de domeniul de origine (ex. daca se recomanda sau este obligatorie eliminarea
mesajelor nesemnate, daca originea a autorizat un releu sa genereze semnatura in locul sau) cat
si de cel de destinatie;
Nota: PGP a mai fost propus pentru: protejarea fisierelor pe HDD si mesajelor VoIP/SIP;
26
DA
plaintext Sign
Z compression
compressedtext
EB
E KS E encryption
compressedtext envlp
encoding
BASE64
E-mail
compressedtext envlp system
E-mail body
EEB EDA
ZIP
EKS
BASE64
27
- raspunsurile MTA la pachete probe cu diverse solicitari (cu pachete corecte si defecte) sunt
analizate pentru a determina caracteristicile sale de unicitate;
-aceasta tehnica permite definirea amprentei unui MTA care este sursa de SPAM si apoi
clasarea lui intr-o “lista neagra”;
-procedura: lista este completata pe masura ce noi informatii sunt invatate, astfel:
la receptia unui mesaj, serverul destinatarului extrage tripletul (S,D,I) si verifica daca exista
deja in “lista gri”;
daca nu exista, serverul destinatarului raspunde lui I cu mesajul de eroare “450 SMTP –
Temporary Rejected”;
daca mesajul este retransmis, serverul destinatarului considera ca serverul expeditorului este
unul autorizat si nu exista o amenintare SPAM (de regula, aplicatiile de generare SPAM
incearca sa realizeze un debit cat mai mare, motiv pt. care ignora tratarea mesajelor de eroare);
tripleta (S,D,I) corespunzatoare serverului expeditorului autorizat este adaugata la “lista gri”
-avantaj: cost redus de configurare, eficienta in operare;
28
-ulterior, cand MTA primeste un mesaj, va calcula valoarea rezumat si o va compara cu valorile
din baza de date; daca exista o valoare egala in baza de date va declara emailul ca fiind de tip
SPAM daca a fost deja clasificat astfel de catre ceilalti participanti;
-MUA are rol important in clasarea mesajelor, de aceea relatia de incredere intre MUA si
serverul “razor” este critica pt. aceasta solutie;
-de-a lungul timpului reputatia MUA poate sa varieze in functie de corectitudinea cu care se
realizeaza clasificarea mesajelor;
Aspecte generale
Obiective: servicii de securitate pentru traficul de date la nivel IP (IPv4 si IPv6) :
- controlul accesului (implicit prin verificarea autenticitatii);
- integritate la nivel datagrama (continut sau tranzactie);
- autentificarea originii datelor;
- confidentialitate (continut sau identitate)
29
management de chei (ex. IKE [RFC 2409], IKEv2[RFC7296);
algoritmi criptografici (ex. 3DES, AES, HMAC-SHA1, …)
Obs: AH este potrivit atunci cand nu se poate aplica criptarea (pb. export algoritmi); ESP nu
poate omite ambele servicii simultan (i.e. confidentialitate si autenticitate); IPSec poate utiliza
in orice combinatie protocoalele AH si ESP;
IPSec
IP
Layer 2
Pentru procesarea traficului IP pe baza de SA-uri sunt utilizate doua baze de date:
Security Policy Database (SPD) = specifica un set de politici ce se vor aplica traficului IP
de intrare si/sau iesire (adica ce servicii se vor aplica si in ce mod);
Security Association Database (SAD) = contine parametrii de securitate asociati cu un
canal de comunicatie unidirectional de nivel trei;
SPD(Security Policy Database): reprezinta o lista ordonata de reguli (politici); o regula SPD
specifica selectorii de trafic pe baza parametrilor din antetul de nivel 3 (IP) si/sau de nivel 4
(TCP, UDP); utilizat pentru a mapa traficul la un SA sau CSA;
fiecare regula defineste un set de selectori pentru a se referi la un anumit flux de trafic IP;
30
o regula specifica: un SA, un protocol IPSec, modul de lucru al protocolului IPSec,
algoritmii criptografici, cerinta de incuibare (AH in ESP, s.a.m.d);
tipuri de selectori: domeniu (numai adrese IP), wildcard (este posibila suprapunere cu alti
selectori => este importanta ordonarea regulilor pentru ca procesarea SPD sa fie
determinista); deci,
SPD precizeaza ordinea in care se aplica SA-urile;
SPD controleaza tot traficul dintr-un sistem IPSec (inclusiv traficul pentru management
de chei/securitate);
se consulta pentru fiecare datagrama IP (inclusiv pt. datagrame non-IPSec) de intrare sau
iesire;
regulile precizeaza una din cele trei operatii posibile asupra unei datagrame (eliminare,
bypass, procesare IPSec);
administrare manuala de administrator, utilizatori sau direct de catre o aplicatie;
31
MTU de cale (en. Path MTU)
Nota: mecanismele sunt proiectate sa fie independente de algoritmi(+un set standard implicit
specificat pt. interoperabilitate);
Encrypted
Authenticated
Figure 2: IPsec datagram in transport mode
- tunel: in toate cazurile cand un capat al SA este un gateway de securitate (este posibil si intre
doua hosturi):
ESP ofera servicii de securitate pentru nivelurile superioare inclusiv pentru antetul
IPoriginal (for inner header, not for outer header);
AH ofera servicii de securitate inclusiv pentru noul antet IP ;
IPsec
IPsec GW 2
GW 1
VPN 1 IPsec
VPN 1
Tunnel
32
automat: necesita un protocol de management scalabil, standardizat; protocolul implicit
utilizat de IPSec este IKE; crearea SA se poate face la cerere pentru a suporta securitatea
orientata pe utilizator sau pe sesiune. Prin reactualizarea cheii (a.k.a. rekeying) se intelege
crearea unui nou SA cu un nou SPI. Rezultatul unui protocol de management de chei poate
fi utilizat pentru generarea mai multor chei in functie de tipul si numarul de algoritmi de
criptare/autentificare implicati de IPSec
3.1.1 Protocolul AH
Obiective:
- integritate si autentificarea originii la nivel de datagrama IP; acopera o parte din antetul
IP (exceptie campurile modificabile in tranzit) si integral datele de la nivelul superior;
- protectie la atacuri prin repetitie (la discretia destinatarului in faza de stabilire SA);
Figure 4: AH Header
Antetul AH: identificabil prin codul 51, in antetul precedent (IPv4, campul “Protocol”, IPv6
campul “Next Header”); pentru IPv6, AH este un antet de extensie;
Semnificatia campurilor:
”Next Header” – precizeaza protocolul incapsulat (urmator)
”Payload length” – lungimea antetului AH in multiplu de 32 biti
”Rezervat” – neutilizat, implicit valoarea zero, intra in calculul ICV (Integrity Check Value);
”Security Parameter Index (SPI)” – valoare aleatoare pe 32 biti (valorile 1 la 255 sunt
rezervate), este utilizat impreuna cu adresa destinatie si identificatorul de protocol IPSec pentru
a identifica unic un SA;
”Sequence Number” - o valoare monoton crescatoare pe durata unui SA; mecanism utilizat
de serviciul anti-replay, nu trebuie sa cicleze; pentru verficare contorul transmitatorului si al
receptorului este initializat la zero, in momentul stabilirii SA; dupa transmisia a 2 32 datagrame
contorii se reseteaza si se stabileste un nou SA;
”Authentication Data” – contine valoarea ICV (Integrity Check Value) pentru aceasta
datagrama; are lungime variabila; se padeaza la multiplu de 24 (IPv4)/64(IPv6) octeti;
Pozitionarea antetului AH: (ca si ESP) poate fi utilizat in modul: transport (numai hosturi)
sau tunel (hosturi sau gateway de securitate). Este plasat inaintea oricarui alt antet IPSec ori de
nivel superior.
33
3.1.2 Protocolul ESP
Servicii:
confidentialitate,
autentificarea originii datelor,
integritate la nivel datagrama (“fara conexiune”),
protectie anti-replay (sub forma garantarii integritatii unei secvente),
Antetul ESP: identificabil in antetul IPv4 sau IPv6 precedent prin valoarea 50 a campului
Protocol respectiv Next_Header; in cazul in care vectorul de initializare (IV) este inclus in
payload, in general, acesta n u se va cripta.
34
trebuie sa precizeze lungimea IV si locatia sa in payload, pe baza unui RFC special, care
specifica cum va fi utilizat acest algoritm impreuna cu protocolul ESP; daca IV, este implicit,
atunci RFCul va specifica algoritmul prin care acesta va fi derivat;
Padarea (in vederea criptarii): este un camp optional; se pot adauga intre 0 si 255 de octeti;
toate implementarile trebuie sa suporte aceasta functionalitate;
Campul Next Header (obligatoriu): de 8 biti, precizeaza tipul de date din payload;
Campul Authentication Data (optional): are lungime variabila, implicita dupa algoritmul de
autentificare utilizat; reprezinta un ICV, calculat peste pachetul ESP mai putin acest camp;
algoritmul de autentificare trebuie sa specifice lungimea ICV si procedura de validare.
Nota:
- nu este compatibil cu IKEv1;
- aceleasi obiective ca si IKEv1 + repudiere (pt. garantarea caracterului privat, i.e. un
serviciu de anonimizare);
- elimină unele vulnerabilitati ale IKEv1, precum: atacul prin reflexie sau compromiterea
anonimitatii identitatii initiator prin simpla disimulare a entității server de-a lungul primelor
două tranzacții;
- IKEv2 are un numar total de tranzacții mai mic si poate garanta un nivel de securitate mai
ridicat;
Descriere:
- faza initiala este formata din doua tranzactii: IKE_SA_INIT și IKE_AUTH; scopul: de a
creea un canal securizat IKE_SA pentru a proteja mesajele tranzacțiilor din faza următoare
(i.e. CREATE_CHILD_SA, INFORMATIONAL) dar si primul CHILD_SA;
- tranzactia IKE_SA_INIT: stabilirea parametrilor de securitate (i.e. suita
criptografica: algoritmul de criptare(ex. 3DES_EDE_CBC, AES128_CBC,
AES256_CTR, AES256_CCM_96, AES256_GCM_64, …), algoritmul de
35
integritate(ex. NONE, HMAC_MD5, HMAC_SHA1, HMAC_SHA512_256,
AES_CMAC_96, AES_XCBC_96, AES128_GMAC,…), funcția pentru
derivarea cheilor (ex. PRF_HMAC_MD5, PRF_HMAC_SHA1,
PRF_HMAC_SHA512, PRF_AES128_XCBC, PRF_AES128_CMAC, …) si
grupul Diffie-Hellman(ex. modp768, modp8192, ecp521, ) -DH), transferul
cheilor publice DH(KEi=gx mod p, KEr=gy mod p) si al parametrilor de tip
“Nonce” (Ni/r); poate fi iterata de mai multe ori;
- tranzactia IKE_AUTH: realizeaza autentificarea entitatilor si verificarea
integritatii parametrilor negociati in tranzactia IKE_SA_INIT, sunt
transferate certificatele de chei publice CERT (optional, lista de entitati CA
de incredere), selectorii de trafic TSi/r, dar si identitatile celor doua entitati cu
garantii de anonimitate;
- tranzacția CREATE_CHILD_SA, poate fi iterată de mai multe ori pe durata unei sesiuni,
pentru reactualizarea unui CHILD_SA sau a unui IKE_SA (implicit pentru
reautorizare) sau pentru stabilirea mai multor canale de securitate CHILD_SA;
- tranzactia INFORMATIONAL sunt utilizate in gestionarea unui SA (stergere a unui SA,
“heartbeat”, notificare alerte); poate fi iterata de mai multe ori.
Iniţiator Responder
“Responder”
HDR(SPIi, MsgID, …),
IKE_SAi, KEi, Ni IKE_SA_INIT
HDR(SPIi, SPIr, MsgID),
IKE_SAr, KEr, Nr, [CERTREQ]
HDR, {{IDi, [CERTi,] [CERTREQ,] [IDr,] AUTHi, CHILD_SAi, TSi, TSr }SK_ei}SK_ai
CREATE_CHILD_SA
HDR, {SAr, Nr, [KEr,] TSi, TSr}SK
Autentificarea entitatilor se poate face prin semnare digitala (ex. NULL, RSA, DSS,
ECDSA_WITH_SHA256_P256, etc.), MAC (aici) sau hibrid pe baza urmatorilor parametrii:
AUTHi = PRF(PRF(preshared_key, “Key Pad for IKEv2”), <InitiatorSignedOctets>)
AUTHr = PRF(PRF(preshared_key, “Key Pad for IKEv2”), <ResponderSignedOctets>)
Nota: de asemenea, algoritmii criptografici pot fi diferiti pe fiecare sens
36
{SK_d || SK_ai || SK_ar || SK_ei || SK_er || SK_pi || SK_pr} =
PRF+ (SKEYSEED, Ni || Nr || SPIi || SPIr)
Unde:
PRF+ (K, S) = T1 || T2 || T3 || T4 || …
T1 = PRF(K, S || 0x01)
T2 = PRF(K, T1 || 0x02)
T3 = PRF(K, T2 || 0x03)
T4 = PRF(K, T3 || 0x04)
…
- o sesiune TLS: este o asociere intre un client si un server creata prin protocolul TLS
Handshake. O sesiune defineste un set de parametrii criptografici de securitate care pot fi
partajati de mai multe conexiuni; avantaj: nu sunt necesare mec. de negociere a parametrilor
de securitate la stabilirea fiecarei conexiuni.
37
flag de reactivabilitate : precizeaza daca sesiunea poate fi utilizata pentru a initia alte noi
conexiuni;
Contextul unei conexiuni (starea)este definit de urmatorii parametrii care sunt transferati
nivelului TLS Record :
numar aleator al serverului/clientului : sunt numere aleatoare alese pentru fiecare
conexiune TLS, de catre server, respectiv client (32 octeti);
cheia MAC a serverului : este o cheie secreta utilizata in operatii MAC efectuate de server
asupra datelor pe care le transmite ;
cheia MAC a clientului : este o cheie secreta utilizata in operatii MAC efectuate de client
asupra datelor pe care le transmite ;
cheia de criptare a serverului : este cheia algoritmului de criptare conventional, pentru
datele criptate de server si decriptate de client ;
cheia de criptare a clientului : este cheia algoritmului de criptare conventional, pentru
datele criptate de client si decriptate de server ;
vectorii de initializare (IV): este necesar un IV pentru fiecare cheie, atunci cand se
utilizeaza modul de operare CBC. IV este initializat de catre protocolul Handshake, apoi
valoarea IV este generata aleator pentru fiecare obiect record criptat(garantarea
impredictibilitatii);
numere de secventa : fiecare corespondent gestioneaza pentru fiecare conexiune numere
de secventa distincte, pentru mesajele transmise si cele receptionate. Cand un corespondent
transmite/receptioneaza un mesaj al protocolului Change Cipher Spec. numarul de secventa
corespunzator este resetat (val. max. este 264 - 1).
In figura de mai jos este ilustrat modul de operare al protocolului TLS Record. Mesajul original
de la aplicatie care va fi transmis, este :
fragmentat (max. 214 octeti) ;
comprimat (optional, daca nu se specifica un algoritm de compresie => este NULL);
calculul valorii MAC[RFC2104] pe baza unei chei secrete partajate, si concatenarea ei la
pachetul de transmis.
MAC = hash(MAC_write_secret || pad_2 ||
hash(MAC_write_secret || pad_1 || seq_num || TLSCompressed.type ||
TLSCompressed.length || TLSCompressed.fragment) )
Unde :
MAC_write_secret = cheia secreta partajata ;
hash = algoritmul criptografic hash (ex. MD5, SHA-1, SHA256) ;
pad_1 = octetul 0x36, repetat de 48 de ori pentru MD5 si de 40 de
ori pentru SHA-1 ;
pad_2 = octetul 0x5c, repetat de 48 de ori pentru MD5, si de 40 de
ori pentru SHA-1 ;
seq_num = numarul de secventa pentru acest mesaj (64 biti);
TLSCompressed.type = protocolul de la nivelul superior utilizat pentru procesarea
fragmentului ;
38
TLSCompressed.length = lungimea fragmentului comprimat ;
TLSCompressed.fragment = fragmentul in text-clar, posibil comprimat;
In final, noul pachet rezultat este transmis printr-un segment TCP. La receptie se repeta
aceleasi operatii, dar in ordine inversa.
Application data
Fragment
Compress
Add MAC
Encrypt
Append TLS
Record header
Operarea protocolului TLS Record
39
Content Major Minor Compressed
Type Version Version Length
Plaintext
(optionally
Encrypted compressed)
Padding
Protocolul Alert
-scopul este de a transmite alarme TLS specifice catre entitatea corespondenta.
-toate mesajele sunt structurate in doi octeti (Fig XXX, b) : primul octet precizeaza nivelul
alarmei(avertizare=1, fatal=2). Daca nivelul este fatal, atunci conexiunea este terminata
imediat, celelalte conexiuni ale aceleiasi sesiuni putand totusi sa-si continue activitatea. Nici o
conexiune noua nu va mai putea fi stabilita pentru aceasta sesiune; al doilea octet defineste
alarma.
40
stabilirea cheilor criptografice (pt. nivelul TLS Record) folosind tehnici de criptare
asimetrice;
- mesajele acestui protocol au formatul ilustrat in Fig XXX, c) din fig de mai sus. Cele trei
campuri ale mesajului sunt :
Type (1 octet) : precizeaza tipul mesajului ; in tabelul de mai jos sunt listate toate tipurile
de mesaje ale acestui protocol ;
Length (3 octeti) : lungimea mesajului in octeti ;
Content (≥ 1 octet) : desemneaza un anumit tip de mesaj care poate include mai multi
parametrii; in tabelul de mai jos sunt listati acesti parametrii :
In diagrama MSC de mai jos este ilustrat protocolul Handshake pentru stabilirea unei conexiuni
logice intre client si server. Se observa ca protocolul se desfasoara in 4 fze, astfel :
41
Client Server
ClientHello Establish security capabilities,
including protocol version, session
ServerHello ID, cipher suite, compression method,
and initial random numbers
Certificate*
ServerKeyExchange* Server may send certificate, key
exchange, and request certificate.
CertificateRequest* Server signals end of hello message
ServerHelloDone phase.
Certificate*
Client sends certificate if requested.
ClientKeyExchange Client sends key exchange. Client
CertificateVerify* may send certificate verification.
[ChangeCipherSpec]
Finished
Change cipher suite and finish
[ChangeCipherSpec] handshake protocol.
Finished
42
Apoi, clientul asteapta receptionarea mesajului ServerHello, care va contine aceiasi parametrii
ca si mesajul ClientHello, insa cu urmatoarea semantica :
Version : precizeaza cea mai recenta versiune TLS propusa anterior de client si suportata
si de server ;
Random : un numar nonce generat de server in mod independent de numarul aleator
generat de client ;
Session ID: daca valoarea campului omonim receptionata de la client este diferita de zero,
serverul va incerca sa reactiveze sesiunea cu acest ID pt. conexiunea curenta si va raspunde
cu acelasi ID; altfel, va participa in stabilirea unei noi sesiuni si va raspunde cu un nou
numar de sesiune sau cu zero pt. a preveni reactivarea sesiunii de catre client;
CipherSuite : precizeaza o singura suita criptografica selectata de server din lista propusa
de client. Protocolul de autentificare a entitatii si stabilire a cheii criptografic suportat:
o RSA : cheia secreta este criptata cu algoritmul RSA ; este necesar un certificat
pentru cheia publica a serverului; a fost definita si o varianta RSA_PSK ;
o DH certificat(DH-RSA, ECDH-RSA, DH-DSS, ECDH-ECDSA) : se utilizeaza
un certificat al serverului care contine cheia publica DH, semnata de un CA tert;
clientul poate furniza cheia publica DH la fel, printr-un certificat daca clientul
trebuie autentificat, sau printr-un alt protocol de stabilire a cheii;
o DH efemer(DHE-RSA, ECDHE-RSA, DHE-DSS, ECDHE-ECDSA): este o
tehnica prin care se creaza chei secrete temporare de unica folosinta. In acest caz
cheile publice DH transferate sunt semnate cu cheia privata RSA/DSS a
transmitatorului. Aceasta metoda suporta cel mai inalt nivel de securitate dintre
variantele DH, pentru ca utilizeaza chei temporare autentificate ;
o DH anonim : se utilizeaza algoritmul DH de baza fara asigurarea autenticitatii ;
Fiecare entitate corespondenta va transmite parametrii publici DH fara garantarea
autenticitatii acestora. Este vulnerabil la atacul MITM.
Algoritmi criptografici:
o Cipher Algorithm: NULL, RC4, 3DES_EDE_CBC, AES128, AES256; in
modurile: sir(flux), bloc (CBC) sau AEAD (ex. CCM, GCM);
o MAC Algorithm : NULL, HMAC-MD5, HMAC-SHA1, HMAC-SHA256,
HMAC-SHA384, HMAC-SHA512;
Compression Method : precizeaza metoda de compresie selectata de server din lista
propusa de client
Extensions : o lista de capabilitati suportate de server; numai dintre cele solicitate de catre
client.
43
DH efemer : caz in care continutul mesajului consta din cei trei parametrii precizati pentru
metoda DH anonim, plus semnatura digitala peste urmatorii parametrii :
ClientHello.random || ServerHello.random || ServerDHParams
Obs : cele doua valori nonce previn atacurile prin repetitie sau prin reformatare. In cazul
aplicarii schemei de semnare DSS, se utilizeaza algoritmul SHA-1.
Ultimul mesaj din Faza II (intotdeauna necesar), este ServerHelloDone care marcheaza
sfarsitul setului de mesaje de tip « Hello ». Nu are parametrii. Dupa transmisia acestui mesaj
serverul asteapta un raspuns de la client.
In final, clientul transmite un mesaj CertificateVerify care ofera explicit informatiile necesare
pentru validarea certificatului clientului (verificarea cunoasterii cheii private asociate
certificatului clientului = autentificarea clientului). Este transmis numai in cazul certificatelor
PK cu atribute de semnare (i.e. toate cu exceptia protocolului DH certificat). Mesajul contine
o semnatura calculata pe baza mesajelor precedente (toate mesajele protocolului Handshake
(trs/rec) incepand cu mesajul ClientHello pana la mesajul curent).
44
Faza IV : Finalizarea protocolului
Clientul transmite un mesaj ChangeCipherSpec dupa care activeaza noul set de parametrii de
securitate CipherSpec. Apoi, clientul transmite imediat mesajul Finished construit pe baza noii
suite criptografice. Scopul este de a oferi un mijloc de confirmare pentru protocolul de
autentificare si stabilire de chei. Fiecare entitate va transfera datele de nivel aplicatie numai
dupa ce a primit si validat, respectiv a trimis mesajul Finished. Continutul mesajului Finished
(> implicit 12 octeti ; in functie de suita criptografica) este calculat pe baza tuturor mesajelor
precedente (trs/rec. incepand cu mesajul ClientHello pana la mesajul curent):
PRF(master_secret || finished_label || hash(handshake_messages))
b) Generarea cheilor criptografice si a valorilor IV: se vor genera (in aceasta ordine) din
master_secret pt. suita criptografica CipherSpec: cheia secreta MAC a clientului si a
serverului, cheia secreta de criptare a clientului si a serverului, valorile IV a clientului si a
serverului (de ex. pt. AES_256_CBC_SHA256 genereaza 2x32 + 2x32 octeti).
key_block = PRF (SecurityParams.master_secret || «key expansion» ||
SecurityParams.server_random || SecurityParams.client_random) )
Unde :
PRF(secret, label, seed) = P_<hash>(secret, label || seed)
45
4. Modele de arhitecturi de securitate pentru retea
Def: prin arhitectura de securitate [RFC4949] se intelege o organizare, avand la baza un set
de principii si reguli de securitate, care specifica:
a) serviciile de securitate necesare a fi furnizate de un sistem pentru a satisface cerintele
utilizatorilor sai;
b) elementele de sistem necesare pt. implementarea serviciilor de securitate si relatiile de
incredere partajate intre ele;
c) nivelurile de performanta ale componentelor necesare pentru a functiona intr-un mediu
malitios.
o “Hop-by-hop”: in care intre cei doi corespondenti exista mai multe instante ale modelului de
securizare e2e pentru fiecare pereche de noduri intermediare asociate comunicatiei.
Se poate aplica la toate nivelurile OSI. Dezavantaje:
efort mare de calcul (numar mare de operatii criptare-decriptare);
necesita relatii de incredere intre entitatile sursa si destinatie si nodurile de
comunicatie intermediare;
numar mare de chei unice de generat si distribuit (intre fiecare pereche de noduri)
46
Trusted Third Party
(e.g. arbitrer, distributer of
secret information)
Principal Principal
Opponent
Modelul de securitate utilizat pentru securizarea comunicatiilor in retele [~WS99]
Intrebare: care dintre cele doua modele de securitate poate fi aplicat pentru securizarea
serviciului de email ?
Intrebare: numiti un dezavantaj al aplicarii functiei de criptare la nivelul aplicatie (Indicatie:
numar de entitati de criptare proportional cu numarul de utilizatori/procese).
Cz: cu cat ne plasam mai sus in ierarhia OSI cu atat mai putina informatie este criptata, dar cu
atat mai mult este mai securizata la traversarea prin retea.
47
Encrypted
Encrypted
Obs: daca criptarea se aplica la nivelul aplicatie, atacatorul poate identifica entitatile de
transport implicate in comunicatie; daca se aplica la nivelul transport, atacatorul poate
determina adresele entitatilor care comunica.
48
Information system
Computing resources
User/Opponent (CPU, memory, I/O)
Gatekeeper
- human Access channel Data
function
- software(e.g. Processes
virus, worm) Software
Internal security controls
Nota: prin port se intelege interfata de conectare a unei entitati de retea la o retea LAN (ex.
porturi fizice: de bridge, de switch, interfata de retea a unui ruter sau server; porturi logice: o
asociere terminal (STA) - punct de acces (AP), specifica retelelor radio de tip WLAN 802.11);
Modul de operare
-un port fizic la care este asociat un PAE autentificator este echivalent functional cu doua
porturi virtuale de comunicare:
un port necontrolabil pentru transferul PDU intre suplicant si serverul de
autentificare, via autentificator (1), in mod independent de starea de autorizare a
49
entitatii terminal. Scopul acestui port este de a permite protocolului de autorizare sa
faca bypass al functiei de control al accesului;
un port controlabil pentru a controla transferul PDU intre entitatea terminal si
serviciile retelei LAN (3), care opereaza in functie de starea de autorizare a entitatii
terminal. Astfel, acest port la un moment dat se gaseste intr-una din cele doua stari:
autorizat (comutator in pozitia “inchis”), neautorizat (comutator in pozitia
“deschis”). Initial acest port se gaseste in starea neautorizat
Server de
autentificare
-comunicatia (1) este realizata conform unui protocol de autentificare (ex. TLS, PEAP, CHAP)
incapsulat in protocolul EAP si transportat peste protocolul EAPOL intre suplicant si
autentificator si peste protocolul RADIUS/Diameter (rutabil, securizat) intre autentificator si
serverul de autentificare impreuna cu un protocol de incapsulare EAP-over-RADIUS;
50
AAA
RP
ASM
Client AAA
RP
ASM
AAA
RP
ASM
51
1 Generic AAA server 1
request Rule based engine AAA server
2 3
Policy and
event
ASM repository
5
Service
-serverul AAA poate opera ca GW intre doua protocoale AAA standard, pe interfata “1” din
stanga printr-un protocol traditional (pt. compatibilitate “backward”; ex. RADIUS), iar pe
intefata “1” din dreapta printr-un protocol AAA (ex. Diameter); de asemenea, va incapsula
componentele in noul protocol astfel incat sa fie posibila securizarea acestora e2e;
Nota: pt. a realiza separarea functiilor AAA, necesara intr-o retea multi-domeniu, este propusa
utilizarea modelului de organizare a protocoalelor pe nivele.
Modelul stratificat al protocolului AAA
1. Application Specific Service Layer
2. Presentation Service Layer
3. Transaction/Session Management Service Layer: autentificarea celorlalte servere
AAA cu care sunt definite relatii de incredere; include motorul de autorizare bazat pe
politici; contabilizarea deciziilor de autorizare si a instantelor create de sesiuni de
autorizare ;
4. Reliable/Secure Transport Service Layer
52
o securitatea de retea : tranzactile intre clientul si serverul RADIUS sunt
autentificate pe baza unui presecret partajat, niciodata transmis peste retea; pe
de alta parte parolele utilizatorilor sunt transferate intre client si server
RADIUS, dupa ce au fost criptate;
o mecanisme flexibile de autentificare : serverul RADIUS suporta o larga
varietate de mecanisme pentru autentificarea utilizatorului (ex. PPP-PAP, PPP-
CHAP, UNIX Login, etc.) ;
o extensibilitate : informatiile vehiculate in toate tranzactiile sunt structurate in
atomi ALV (Attribute-Length-Value); aceasta permite ca noi atribute ALV sa
fie definite fara probleme de compatibilitate cu implementarile deja existente ;
AVPs AVP
Semnificatia campurilor :
Code = tipul pachetului (ex. Access-Request, Access-Challenge, etc.); daca are o
incorecta pachetul este eliminat pasiv;
Identifier = def. o asociere cerere-raspuns; permite detectarea mesajelor duplicate;
Length = lungimea totala a pachetului RADIUS; daca are o valoare incorecta
pachetul este eliminat pasiv;
Authenticator = pt. autentificarea mesajelor trimise de serverul RADIUS ; de
asemenea este utilizat de ca mecanism de criptare a parolelor (utilizator);
In fct de tipul mesajului se numeste:
Request Authenticator[16B] = este o valoare aleatoare unica global pe
durata de viata a secretului partajat cu serverul, transmis in mesajele Access-
Request;
User-Password AVP = c1 || c2 || …
c1 = p1 XOR MD5(shared_secret || Req. Authenticator)
c2 = p2 XOR MD5(shared_secret || c1)
…
Unde, pn – este blocul n din parola utilizatorului, de dimensiune 128b;
Response Authenticator = transmis in Access-Accept, Access-Reject,
Access-Challenge;
Resp_Authenticator = MD5(Code || Id. || Length || ReqAuth ||
AVPAttributes || shared_secret)
53
- tipuri de mesaje RADIUS pt. AA:
o Access-Request : transmis catre clientul RADIUS, contine info pentru a
determina daca un utilizator poate sa acceseze un anumit NAS si un anumit
serviciu (atribute AVP : User-Name, NAS-IP-Address si/sau NAS-Identifier,
User-Password sau CHAP-Challenge, s.a.); serverul va raspunde cu unul dintre
urmatoarele mesaje ;
o Access-Accept : transmis de serverul RADIUS, contine info de configurare a
serviciului furnizat utilizatorului(ex. atribute de autorizare : adresa/pool-ul de
IP asignabile userului, durata conectarii, politici pt controlul traficului userului,
param L2TP/VLAN/QoS);
o Access-Reject : transmis de server daca exista un atribut inacceptabil;
o Access-Challenge : trimis de server cu o valoare de provocare a utilizatorului;
atribute : Reply-Message, State, Vendor-Specific, Idle-Timeout, Session-
Timeout,Proxy-State; la receptie, se verifica campul Identifier si autenticitatea
mesajului; in caz de esec se elimina pasiv ;
Daca NAS nu are suport pentru protocoale provocare/raspuns atunci acesta
mesaj este interpretat similar cu un Access-Reject;
NAS va raspunde cu Access-Request care contine un nou Identifier si valoarea
cu care a raspuns utilizatorul in atributul User-Password ;
RADIUS RADIUS
Client Server
Access-Request
Access-Challenge/Response
Access-Request
Access-Accept /
Access-Reject
Tranzactii de autentificare/autorizare
54
RADIUS RADIUS
Client Server
Accounting-Request
Acct_status_type = start
Accounting-Response
Accounting-Request
Acct_status_type = update
Accounting-Response
Accounting-Request
Acct_status_type = stop
Accounting-Response
55
5. Securitatea retelelor de acces radio
Obiectivele principale:
autentificarea mutuala a terminalului de retea, (ulterior) si a retelei;
controlul accesului la serviciile retelei si identificarea terminalului de retea;
confidentialitatea si integritatea comunicatiilor pe interfata radio
-ofera suport pentru negocierea si functionarea mai multor algoritmi de autentificare si criptare;
- parametrii protocoalelor de securitate sunt integrati in mesajele pentru managementul
locatiei MS (mesaje RIL3-MM intre MS si MSC/VLR, mesaje MAP/D intre MSC/VLR si
HLR, mesaje MAP/G intre doua entitati VLR);
-accesul utilizatorului la cardul SIM este controlat printr-un cod secret de tip PIN, astfel: dupa
introducerea codului PIN de catre utilizator, terminalul solicita cardului SIM verificarea
acestuia. Daca utilizatorul este autentificat, atunci accesul la cardul SIM este permis. In caz
contrar, SIM notifica terminalul si asteapta o noua cerere de verificare a codului PIN. Dupa un
numar predefinit de incercari consecutive de autentificare fara succes, cardul SIM va solicita
terminalului autentificarea prin codul secret de tip PUK (PIN Unlock), de lungime mai mare.
In continuare, dupa un numar predefinit de incercari de autentificare cu rezultat de esec, cardul
SIM blocheaza pe termen nedeterminat accesul terminalului;
-principalele informatii continute de un card SIM care sunt utilizate pentru a defini o asociere
de securitate intre terminal si reteaua unui anumit operator, sunt:
IMSI (International Mobile Subscriber Identity): este un numar unic global (15
digiti), format dintr-un cod al retelei operatorului (MNC), un cod de tara (MCC), si un
cod pentru identificarea terminalului abonatului (MSIN);
56
Cheia Ki (Individual Subscriber Authentication Key): este cheia master de
autentificare din care se vor genera toate cheile de sesiune ulterioare. Aceasta cheie este
memorata in mod securizat, fiind cunoscuta numai de SIM si de AuC (Authentication
Center). Terminalul nu poate citi valoarea acestei chei, in schimb poate sa solicite
cardului SIM sa realizeze toate operatiile de criptare cu Ki necesare (a se vedea
procedura de autentificare a terminalelor si de generare a cheilor)
-in figura de mai jos (Figure 5-1) este prezentata schema de principiu a unui card de tip SIM.
Principalele elemente sunt: interfata de scriere prin care terminalul transfera valoarea curenta
RAND catre card, pentru criptare; interfata de citire a valorii SRES calculata prin criptarea
valorii curente RAND cu cheia master Ki si interfata de citire a cheii de sesiune Kc, blocul de
criptare A3/A8 si cheia master de criptare Ki;
-A3 este denumirea generica a blocului de criptare pentru autentificarea entitatii, frecvent
implementat cu algoritmii, COMPs128v1 sau COMP128v22. Exista si o varianta a algoritmului
COMP128v3, similara COMP128v2, care utilizeaza toti cei 64 de biti ai cheii (pentru ca
varianta v2 inca seteaza cei 10 MSBs in zero). Tipic, algoritmul specificat pentru blocul de
criptare A3 este utilizat si pentru implementarea blocului A8.
SIM
RAND (provocare) SRES
A3/A8
Kc
Ki
2
De la inceput majoritatea operatorilor au preferat utilizarea algoritmului COMP128, si pentru motivul ca a fost
proiectat in secret (ulterior COMP128v1 a fost specificat si de organizatia de standardizare GSM). Insa secretul
algoritmului COMP128 a fost ulterior facut public, iar in urma analizei algoritmului s-a demonstrat ca este
vulnerabil. Ca urmare a fost dezvoltata o noua varianta COMP128v2 (tot in secret) care rezolva vulnerabiltiatile
de securitate gasite, si care a fost in continuare acceptata de operatori.
57
5. terminalul transfera SRES catre retea prin mesajul AUTHENTICATION_
RESPONSE;
6. reteaua compara valoarea SRES receptionata cu valoarea calculata local. Daca sunt
egale, se considera ca utilizatorul a fost autentificat; in caz contrar, reteaua poate sa
aleaga intre o noua incercare de autentificare utilizand IMSI, daca anterior a fost utilizat
TMSI, sau transmiterea mesajului AUTHENTICATION_REJECT. In cazul in care
autentificarea utilizatorului nu se poate realiza, reteaua va elibera conexiunea radio, iar
terminalul poate considera cardul SIM ca fiind invalid.
-pentru a asigura o eficienta cat mai ridicata, in cazul in care abonatul trece in zona unui nou
VLRn, poate sa utilizeze identificatorul TMSIo, ca sa obtina vectorii de autentificare neutilizati
de vechiul VLRo, direct de la acesta (vezi Figure 5-4). Procedura de distribuire a vectorilor de
58
autentificare intre cele doua entitati VLR, este initiata de MS printr-un mesaj de actualizare a
informatiilor de localizare transmis catre VLR, care include identificatorul TMSIo si un
identificator al VLR anterior (LAIo). Dupa autentificarea abonatului de catre noua entitate
VLR, aceasta raspunde cu un mesaj de acceptare a cererii de actualizare a informatiilor de
localizare, care include noul LAI si noua identitate TMSIn asociate terminalului MS.
MS VLRn/MSCn VLRo
LOCATION UPDATE
REQUEST MAP/G SEND PARAM
(LAIo, TMSIo)
{LAIo, TMSIo}
LOCATION UPDATE
ACCEPT
{LAIn, TMSIn}
Figure 5-4: Transferul informatiilor de autentificare intre nodurile VLR
Atunci cand comunicatia cu entitatea VLRo nu poate fi realizata sau cand VLRo nu cunoaste
identificatorul TMSI din cauza unei erori de sistem, sau in cazul in care MS utilizeaza direct
identificatorul IMSI, VLRn va contacta direct entitatea HLR pentru a obtine vectorii de
autentificare (analog Figure 5-3).
-in general, daca nu se poate realiza autentificarea abonatului identificat prin TMSI, reteaua fie
solicita repetarea procedurii cu identificatorul IMSI, fie refuza cererea de actualizare a locatiei
sau de acces, care a amorsat procedura de autentificare;
59
-entitatea VLR are rolul de a memora toate asocierile dintre TMSI si IMSI pentru fiecare
terminal in parte. Atunci cand VLR primeste un TMSI asociat cu un LAI care nu corespunde
zonei din care face parte, va solicita IMSI direct de la VLR care corespunde zonei indicate de
LAI, sau daca nu este posibil, direct de la MS. Standardul specifica ca TMSI sa fie reactualizat
cu o frecventa cel putin egala cu frecventa aplicarii procedurii de actualizare a locatiei. Noul
TMSI este transferat in text-cifrat ori de cate ori este posibil, pentru a preveni ca un atacator
sa poata construi o relatie intre valoarea veche si noua valoare (pentru a evita o urmarirea
terminalului).
-TMSI impreuna cu LAI trebuie memorate de MS in mod permanent, pentru a nu se pierde in
cazul in care terminalul MS este oprit;
-in urmatoarele cazuri, obiectivul acestui serviciu nu poate fi atins: eroare a procedurii de
actualizare a locatiei sau cand MS nu are un TMSI disponibil (ex. cand se inregistreaza in
retea). In aceste cazuri, standardul permite realizarea identificarii terminalului in clar peste
legatura radio;
-in continuare este ilustrata procedura pentru managementul TMSI corespunzatoare celor mai
importante scenarii de functionare:
Actualizarea locatiei MS cand VLR ramane acelasi: MS transfera cu scopul de a se
identifica valoarea veche TMSIo la inceputul procedurii de actualizare a locatiei. MS si
reteaua negociaza o noua asociere de securitate pentru criptarea mesajelor de semnalizare,
si in particular a identifcatorului TMSIn.
MS Network (MSC/VLR)
Actualizarea locatiei MS la un nou VLRn: este cazul in care MS este inca inregistrat la
retea in vechiul VLR si solicita inregistrarea sa de catre un nou VLRn. LAIo si TMSIo sunt
transferati de MS cu scopul identificarii sale, in cadrul procedurii de actualizare a locatiei.
VLRn obtine informatiile pentru autentificare si criptare de la VLRo. VLRo va elibera
resursele sale (TMSIo) numai dupa primirea de la HLR a mesajului “Ca ncellation” care
precizeaza ca MS este in continuare sub controlul unui alt VLR.
60
MS Network (MSC/VLRn) Network (MSC/VLRo) HLR (HPLMN)
RIL3-MM LOC. UPDATING REQ.
{LAIo, TMSIo}
MAP/G SEND PARAM. {TMSIo}
Deallocation of
TMSIo
Figure 5-6: Alocarea unui nou TMSI la schimbarea zonei VLR
Deallocation of
TMSIo
Figure 5-7: Alocarea unui nou TMSI, atunci cand se produc erori de sistem la VLRn/VLRo
61
Daca reteaua nu primeste de la MS mesajul de confirmare la alocarea noului TMSIn, va trebui
sa mentina atat vechea asociere cat si noua asociere dintre TMSI si IMSI, pentru a preveni
producerea de coliziuni ale valorilor TMSI. In aceasta situatie, reteaua va permite MS sa se
identifice cu ambii identificatori TMSIn si TMSIo, dar va identifica MS cu ajutorul IMSI intr-
o tranzactie initiata de ea. Imediat ce reteaua determina identificatorul stocat de MS
(TMSIn/TMSIo), va dealoca asocierea dintre IMSI si celalalt identificator TMSI.
In general, un nou identificator TMSI poate fi realocat la initiativa retelei in orice moment.
MS Network (MSC/VLR)
Allocation
of TMSIn
RIL3-MM TMSI REALLOC. CMD.
{Cipher (TMSIn)}
3
termenul este folosit pentru a desemna toate metodele de securizare definite inaintea finalizarii standardului
IEEE 802.11i
62
-pentru a preveni atacurile prin criptanaliza de trafic, WEP are capabilitatea de a schimba
secventa de cheie cu care lucreaza. In acest caz, s-a optat pentru schimbarea valorii IV(24b) la
fiecare MPDU de transmis. Algoritmul de generare a IV este nespecificat de standard.
-prin schimbarea frecventa a IV, se poate extinde intervalul de viata al cheii secrete partajate,
si permite realizarea proprietatii de auto-sincronizare pentru algoritm, pentru ca IV este
transportat impreuna cu MPDU de decriptat. Valoarea IV este transmisa in clar.
- lungimea cheii de lucru generate este egala cu lungimea campului de date de transmis plus
lungimea campului ICV (= lungimea MPDU);
-mecanismul de integritate consta in aplicarea algoritmului CRC-32 peste textul clar de
transmis (payload din MSDU) si criptarea codului de redundanta ICV cu algoritmul RC4;
pentru a garanta confidentialitatea datelor, WEP efectueaza operatia XOR intre secventa cheii
de lucru si textul-clar (payload din MSDU) concatenat cu ICV. Astfel, rezultatul
criptosistemului WEP este un mesaj care contine valoarea IV in clar concatenata cu textul-
cifrat;
IV
Initialization
Vector Seed WEP Key sequence
PRNG XOR
Secret Key
Ciphertext
Plaintext
Integrity Algorithm
-procesul de decriptare incepe prin generarea secventei cheii de lucru pe baza valorii IV citite
din pachet si a cheii secrete partajate (Nota: cheia partajata poate fi de tipul “key-mapping key”
si/sau de tip “default-key” selectata cu ajutorul Key ID citit din pachet; acest proces este descris
pe larg mai jos). Cu secventa cheii astfel obtinuta se aplica algoritmul RC4 intre aceasta si
textul-cifrat din MPDU, pentru a decripta campul payload din MPDU.
In plus,WEP calculeaza valoarea ICV’ din textul-in clar MPDU si o compara cu valoarea
transferata; daca sunt egale, atunci MPDU este valid si datele sunt livrate nivelului LLC; daca
nu sunt egale atunci are loc notificarea starii de eroare, nivelului MAC de management, si
eliminarea pachetului care a generat aceasta eroare.
63
Plaintext
Seed Key sequence
Secret Key ICV’
WEP
Integrity Algorithm
IV PRNG
XOR
ICV’ = ICV ?
Ciphertext
Message
Autentificarea entitatilor
Standardul 802.11(1997) defineste doua protocoale de autentificare:
Protocolul “Open System”: utilizeaza o tehnica necriptografica de autentificare, fiind
serviciul implicit de autentificare specificat de standard;
Protocolul “Shared-key”: utilizeaza o tehnica criptografica cu cheie secreta partajata
pentru autentificarea unilaterala a entitatilor STA
Confirm success
Cripteaza provocare
[= challenge ⨁ Authentication Response
RC4(IV, K) ] Decripteaza raspunsul; Compara cu
Authentication Result valoarea initiala a provocarii
Se observa ca valoarea de provocare este transferata intre cele doua entitati WLAN in clar
(mesajul 2) si apoi criptata (mesajul 3), fapt care faciliteaza atacul text-clar-cunoscut. Ca solutie
la acesta problema standardul specifica schimbarea valorii IV la fiecare cadru de transmis.
Managementul de chei
-standardul 802.11 presupune ca distributia cheii secrete partajate (simetrice) catre toate
entitatile STA autorizate se efectueaza prin intermediul unui canal securizat, metoda utilizata
in acest scop fiind considerata o problema in afara ariei acoperite de standard.
-cheia partajata este utilizata direct in criptarea datelor, si nu are loc stabilirea unei chei de
sesiune (cheia partajata este utilizata atat pentru autentificarea entitatilor cat si pentru
confidentialitea si autentificarea mesajelor utilizator). Functiile pentru managementul cheii
partajate, precum generarea, stocarea, arhivarea, distribuirea, darea in custodie, auditarea sau
distrugerea cheii partajate secrete, au fost solutionate de catre producatorii de echipamente
WLAN asa cum a considerat fiecare in parte. Rezulta urmatoarele probleme: utilizarea unor
chei slabe, chei care nu sunt unice sau utilizarea cheilor dupa depasirea timpului de viata.
-totusi, standardul 802.11 defineste doua tipuri de chei care pot fi partajate intre STA si AP:
Cheia implicita (en. “default key”): este o cheie partajata intre mai multe entitati STA
si AP. Alti termeni utilizati pentru “Default key” sunt: “Shared key”, “Group key”,
“Multicast key”, “Broadcast key” (figura a);
Cheia individuala (en. “key mapping key”): este o cheie unica asociata unei perechi
de entitati STA-AP. Alti termeni utilizati pentru “Key mapping key” sunt: “Key
Individual key”, “Per-station key”, “Unique key” (figura b)
65
Cheia implicita (en. “default key”)
-in cazul unor retele de acces cu utilizatori care au proprietatea de apartenenta la un grup inchis
de dimensiune redusa (ex. retele de tip SOHO);
-standardul 802.11 specifica posibilitatea de a avea patru chei configurate simultan, pentru a
facilita procedura de schimbare a acestui tip de cheie fara intreruperea serviciului transfer, asa
cum este descris mai jos;
-receptorul va putea determina cheia corecta cu care a fost criptat fiecare MPDU, prin citirea
campului Key ID din acelasi cadru MPDU criptat;
66
-arhitectura de securitate WPA bazata pe modelul 802.1x ii asigura o flexibilitate, scalabilitate
si un nivel de securitate mai ridicat decat WEP;
-de asemenea, WPA aplica metode pentru managementul de chei (generare chei temporare,
distribuire si reactualizare) si de negociere a unor SA, similare celor originale definite in
standardul 802.11i.
67
MSDU for
Transmission
64b Michael
64b Compute MIC Append MIC
block
Fragmentation
MIC Key
Key
Master key derivation
block
Encryption Key
128b
IV Generation Append IV / ICV
MPDU for
Transmission
Figure 5-13: Procesarea TKIP a unui pachet la transmisie
Pentru calculul radacinii PRNG (“WEP seed”), necesare in generarea secventei cheii per cadru,
TKIP aplica o functie de mixare, selectata astfel incat sa fie rezistenta la atacurile de tip cheie
slaba asupra cheii (de la WEP). Functia de mixare se realizeaza in doua faze, si este functie de
cheia temporara de grup/pereche (TK), adresa sursei (SA) si TSC.
In continuare, TKIP va cripta toate fragmentele MPDU generate din acelasi MSDU cu aceasi
secventa de cheie temporara.
La receptia unui MPDU, este calculata radacina PRNG (“WEP seed”) pentru a se putea realiza
decriptarea acestuia, folosind aceasi functie de mixare aplicata asupra cheii temporare (TK),
TSC si SA.
Dupa decriptarea unui MPDU, este validata valoarea ICV, apoi are loc defragmentarea MSDU
si validarea campului MIC. Daca TSC sau ICV nu sunt valide, atunci pachetul MPDU este
eliminat, fara alta procesare.
Actualizarea numaratorului TSC nu se realizeaza decat dupa ce pachetul MSDU receptionat,
trece de testul de validare MIC. Aceasta metoda este mai robusta fata de atacul de tip DoS prin
modificarea campurilor TSC (considerat vulnerabil).
Daca validarea MIC esueaza, nivelul MAC va elimina acel MSDU si va aplica un set de
contramasuri procedurale (prezentate mai jos), pentru a limita probabilitatea de succes a unui
atac prin falsificarea informatiei si pentru a limita volumul de informatii pe care un atacator le
poate obtine despre cheia secreta. Daca MIC este valid, pachetul MSDU este transferat la
nivelul superior.
68
MSDU
Accepted
Michael block
Reject if
Remove & bad MIC,
Compute MIC Check MIC Invoke
counter-
measures
Re-assembly
MIC Key
Key
Master key derivation
block
Encryption Key
RC4 block
Reject if
Decrypt bad ICV
Key mixing
TSC block
Reject if
IV Extraction Check TSC Window bad TSC
Received
MPDU
Figure 5-14: Procesarea TKIP a unui pachet la receptie
-pentru modul WPA-Personal, protcolul de autentificare implicit WPA-PSK are loc intre STA-
AP. Nu se pot utiliza decat protocoalele de autentificare pentru care producatorul AP ofera
suport;
-pentru modul de operare WPA-Enterprise autentificarea are loc in doua faze, astfel:
STA-AS: metoda/protocolul recomandat este EAP-TLS. Alte metode de autentificare
care pot fi utilizate (suportate de FreeRADIUS): EAP-TTLS (TLS Tunelat ), EAP-
LEAP, EAP-PEAP, EAP-PSK, EAP-IKEv2, EAP-SIM, s.a.
STA-AP: protocolul “4-way Handshake” (prezentat in sectiunea urmatoare) intre STA
si AP pentru autentificare mutuala locala, confirmarea si instalarea cheii de sesiune
distribuita prin protocolul mentionat la punctul anterior
-diagrama de mesaje EAP ilustrata in figura de mai jos este comuna tuturor
metodelor/protocoalelor de autentificare utilizate in modul WPA-Enterprise;
69
Supplicant Authenticator Authentication Server
EAP-Start
EAP-ID Req.
EAP-ID Rsp.
EAP-ID Rsp.
EAP-Req. 1
EAP-Req. 1
EAP-Rsp. 1
EAP-Rsp. 1
EAP-Req. n
EAP-Req. n
EAP-Rsp. n
EAP-Rsp. n
EAP-Succes/Fail
EAP-Succes/Fail
Figure 5-15: Protocolul de autentificare EAP in modul WPA-Enterprise
-daca STA este autentificat atunci acesta va fi asociat la AP si astfel autorizat sa acceseze
serviciile retelei;
Managementul cheilor
- WPA stabileste dinamic o ierarhie de chei;
-in modul WPA-Enterprise, la completarea procedurii de autentificare serverul de autentificare,
genereaza si distribuie catre entitatea STA si autentificator, cheia master PMK;
-in continuare AP si STA construiesc o ierarhie de chei temporare PTK (unicast) sau GTK (ptr.
difuzare), din care apoi prin aplicarea TKIP(in ambele moduri) vor fi generate dinamic chei
unice de criptare per pachet;
-WPA defineste un interval de timp pentru reactualizarea periodica a cheilor temporare. In
acest mod cheia PTK/GTK este reactualizata direct intre AP si STA pe baza protocolului de
(re)autentificare (ex. 4WH);
-singura cheie care trebuie configurata manual este cheia secreta prepartajata, celelalte chei
temporare vor fi derivate din aceasta. Cheia prepartajata se configureaza pe STA si pe serverul
de autentificare (in modul WPA-Enterprise) sau pe autentificator (in modul WPA-Personal).
70
-obiectivele: servicii de securitate extensibile si flexibile in operare, care sa asigure un nivel de
securitate ridicat, pentru prevenirea atacurilor din standardul de baza;
Caracteristici
-specifica algoritmul de criptare si integritate a datelor: CCMP (AES in CTR mode with CBC-
MAC Protocol) si optional TKIP;
NOTA: implementarea acestor mecanisme pe sistemele pre-RSN aflate in operare pune probleme de fezabilitate;
-ofera suport pentru autentificarea mutuala a entitatilor pe baza protocoalelor existente, atat in
modul de operare ESS cat si in modul IBSS;
-cele doua proceduri de autentificare specificate sunt: 802.1x pentru retele de dimensiune mare
si PSK, pentru retele SOHO;
-suporta mobilitatea (i.e. fast handover) prin procedura de pre-autentificare a entitatilor STA;
-managementul ierarhizat al cheilor secrete, si pentru distribuirea si reactualizarea cheilor
criptografice cu confirmare. De regula, din motive securitate si eficienta acest serviciu este
integrat impreuna cu serviciul pentru autentificarea entitatilor;
Mai intai CCMP extinde MPDU original cu un antet CCMP(64b) care nu va fi criptat si care
contine: campul PN (inlocuieste IV), campul ExtIV (face distinctie de un MPDU de tip WEP)
si identificatorul cheii KeyID.
Urmatorul pas al protocolului consta in calculul codului de autentificare MIC. MIC este
calculat prin aplicarea algoritmului AES in modul CBC-MAC, pentru care primul bloc este
determinat prin concatenarea a trei campuri: flag (constanta, indica MIC pe 64 biti), nonce
(=MPDU priority || source addr || PN) si “Data length” (lungimea payloadului MPDU). De
asemenea, pentru a satisface cerintele modului de operare CBC-MAC este necesara adaugarea
la MPDU a mai multor octeti de umplutura, dar care insa nu vor fi transmisi. Apoi, valoarea
MIC obtinuta prin criptarea MPDU cu cheia temporara curenta este atasat la sfarsitul MPDU.
In pasul urmator se va realiza criptarea cu AES in modul de operare CTR a campurilor corp
si MIC ale MPDU curent. Ca si in calculul MIC, trebuie ca inainte sa fie initializat contorul
astfel incat sa se evite repetarea acestei valori. In mod analog, vor fi concatenate valorile
campurilor: flag, prioritate MPDU, adresa sursa MPDU, PN si constanta 1.
71
Packet Number
(PN)
128b
Temporal
key
Figure 5-16: Protocolul CCMP pentru criptarea/decriptarea MPDU
La receptia MPDU, mai intai este validata valoarea PN extrasa din antetul CCMP pentru a
elimina pachetele MPDU repetate (acel pachet pentru care valoarea PN este mai mica sau egala
cu a pachetului anterior). Daca PN este valid, se va determina valoarea initiala a contorului
(aceasi ca la transmitator). In continuare, se determina cheia de decriptare cu ajutorul adresei
MAC sursa. Se decripteaza MPDU folosind protocolul CCMP care opereaza la fel ca la
criptare, si se obtin campurile corp MPDU in format text-clar si campul MIC. Urmatorul pas,
consta in validarea codului MIC transferat in MPDU. Daca MPDU este declarat integru se va
reconstrui MPDU original prin concatenarea campurilor corp si antet MAC; altfel, pachetul
MPDU este eliminat pasiv (fara notificare).
72
GTKSA este stabilit prin procedura “Group Key Handshake” sau “4-Way Handshake”, la
initiativa entitatii suplicant sau a entitatii autentificator, odata cu transferul cheii GTK catre
toate statiile STA (cu care are deja un PTKSA stabilit).
Un GTKSA cuprinde urmatoarele elemente: directie (specifica utilizarea sa pentru
transmisie sau pentru receptie), selector protocol/suita algoritmi de criptare de grup, cheia
GTK, adresa MAC autentificator, si parametrii de autorizare specificati de politica de
securitate locala;
STAKeySA (STA Key SA): este un SA unidirectional, pentru securizarea comunicatiilor
de la STA initiator la STA corespondent. Este stabilit prin intermediul procedurii “STAKey
Handshake”. STAKeySA este unic pentru o pereche initiator – corespondent STA. Un
STAKeySA cuprinde elementele: cheia STAKey, selectorul protocol/suita algoritmi de
criptare, adresa MAC initiator, adresa MAC corespondent
-o entitate AP/STA notifica suportul pt. RSNA prin campul RSN_IE din cadrele de tip
“Beacon” sau “Probe Response”.
-pt. a obtine politica corepondentului poate fi trimis un mesaj “Probe Request”. De-a lungul
procedurii de asociere 802.11 poate avea loc si negocierea politicilor de securitate RSN dintre
entitati. Daca nici una dintre capabilitatile anuntate de corespondent nu este suportata atunci
tentativa de asociere este abandonata;
-de regula, daca procedura pentru stabilirea RSNA esueaza, se poate incerca din nou de un
numar predefinit de ori;
Supplicant Authenticator AS
802.1X EAP Start
-daca AP va putea demonstra lui STA ca stie cheia PMK, atunci STA stie ca acest AP este
considerat de incredere de AS, si deci este autentic. Pentru autentificarea mutuala suplicant-
autentificator este aplicata procedura “4-Way Handshake”;
-in modul IBSS, fiecare entitate STA trebuie sa integreze atat modulul suplicant, cat si modulul
autentificator si, eventual, un AS Procedura de autentificare va fi initiata independent de fiecare
entitate STA;
-din cauza ca nu exista un mecanism de negociere de politici de grup, protocolul de
autentificare trebuie configurat static pe fiecare entitate (sau este negociat per pereche);
75
-daca entitatile nu se pot reautentifica, autentificatorul va transmite un mesaj de deautentificare
catre suplicant;
-obiectivul: stabilirea a priori a unei asocieri PMKSA intre STA si AP tinta (mem. in cache),
pt. a reduce intarzierea la transferul STA intre doua entitati AP;
-un autentificator poate anunta aceasta capabilitate prin campul RSN_IE;
-daca un autentificator (care suporta preautentificarea) primeste un mesaj “EAPOL-Start” via
reteaua fixa, poate sa initieze procedura de autentificare 802.1x catre entitatea STA
corespondenta via acea retea fixa;
Ulterior cand STA vrea sa se asocieze cu AP tinta, va putea utiliza acel PMKSA pentru a lansa
direct procedura “4-Way Handshake”. In acest caz, va include identificatorul PMKID
corespunzator in cererea de (re)asociere.
Daca si AP tinta a mai pastrat acel PMKSA, va arata ca cunoaste acel PMK, prin lansarea
imediata a procedurii “4-Way Handshake”. Daca suplicantul si autentificatorul se
desincronizeaza cu privire la PMKSA, atunci procedura “4-Way Handshake” se va termina
intr-o stare de eroare si prin urmare ambii corespondenti vor sterge asocierea PMKSA
memorata asociata cu identificatorul PMKID.
-este posibil ca AP tinta sa piarda un PMKSA pre-stabilit din cauza: eroare de sistem
(rebootare), lipsa de resurse sau expirare cache;
Nota: in acesi idee, un STA/AP poate memora si un PMKSA stabilit in urma unor asocieri
anterioare la acelasi autentificator;
Obs: standardul 802.11w propune mecanisme pentru protejarea mesajelor de management WLAN;
4
en. fresh
76
- sincronizeaza instalarea cheilor de criptare si de integritate pe entitatile
corespondente
Prin mesajul (1) este transferata valoarea ANonce (256 biti) catre suplicant, valoarea unui
contor “Key Replay Counter”, si se initializeaza negocierea unui nou PTK. Mesajul (1) este
unicast, identifica STA corespondent prin adresa sa MAC (SPA). La primirea acestui mesaj,
suplicantul genereaza o noua valoare SNonce si deriveaza o noua cheie PTK.
Daca un atacator reuseste sa modifice adresa MAC sau valoarea ANonce, autentificatorul va
detecta acest lucru in momentul validarii MIC din mesajul (2) (mesajul (1) nu este securizat).
Cand autentificatorul receptioneaza mesajul (2), verifica daca valoarea contorului “Key Reply
Counter” corespunde cu cea din mesajul (1); in caz contrar mesajul este eliminat.
Apoi, autentificatorul verifica valoarea MIC a mesajului; daca MIC nu corespunde, mesajul
este eliminat pasiv. Daca MIC este valid, se verifica, in continuare, daca elementul de
informatie RSN IE corespunde cu cel din cererea de (re)asociere, daca nu sunt la fel atunci
autentificatorul va termina asocierea, altfel construieste mesajul (3) pe care il cripteaza apoi cu
cheia KEK (determinata de PTK).
Prin mesajul (2) este transferata valoarea SNonce catre autentificator care o va utiliza pentru a
deriva cheia PTK (impreuna cu ANonce). Cheia PTK ofera protectie fata de atacul MITM
pentru ca PTK include prin constructie adresele entitatilor corespondente.
Autentificatorul nu instaleaza cheile pana cand nu primeste ultimul mesaj (4). Daca mesajul
(3) nu ajunge la suplicant atunci este retransmis (daca cheile ar fi fost instalate atunci acest
mesaj ar fi ajuns criptat si ar fi fost eliminat).
La receptia mesajului (3) suplicantul verifica valoarea contorului “Key Replay Counter” si
valoarea ANonce, sunt cele din mesajul (1), in cazul in care cel putin una dintre verificari
esueaza, mesajul este eliminat pasiv. De asemenea, suplicantul verifica daca elementul de
informatie RSN IE este identic cu cel receptionat anterior printr-un cadru “Beacon” sau “Probe
Response”. In continuare, suplicantul verifica valoarea MIC, pentru a obtine o dovada ca
autentificatorul cunoaste cheia secreta PMK; daca nu este valida, suplicantul elimina pasiv
mesajul (3); altfel, actualizeaza contorul “Key Replay Counter” si transmite mesajul (4) catre
autentificator, dupa care suplicantul instaleaza si configureaza nivelul MAC sa transmita si sa
receptioneze pachete MPDU unicast protejate cu PTK. Tot acum suplicantul instaleaza si
configureaza cheia GTK transferata si ea prin mesajul (3).
Daca SNonce a fost ales aleator, atunci acest mesaj (3) demonstreaza ca PTK este recent si ca
autentificatorul este activ.
La receptia mesajului (4), autentificatorul verifica daca valoarea contorului “Key Replay
Counter” este cea transmisa anterior in aceasta procedura; daca nu atunci elimina pasiv; altfel,
valideaza MIC (calculat cu PTK curent), si in caz de esec elimina pasiv mesajul. Daca MIC
este valid, autentificatorul instaleaza si configureaza PTK la subnivelul MAC, si apoi
actualizeaza contorul “Key Replay Counter”.
Mesajul (4) nu are un scop criptografic in sine; este o confirmare pentru mesajul (3) si o
notificare a autentificatorului asupra momentului de instalare a cheilor PTK si GTK, si deci
a momentului din care poate sa inceapa sa (de)cripteze cadrele MPDU. Aceasta sincronizare
este necesara din cauza ca daca unul dintre corespondenti incepe procesul de criptare MPDU
inainte ca celalalt corespondent sa fie gata, atunci comunicatia este intrerupta.
77
Supplicant Authenticator
Derive PTK
Message 2: EAPOL-Key (SNonce, MIC)
Derive PTK
If needed
Generate
GTK
Message 3: EAPOL-Key (MIC, E(KEK, GTK))
Message 4: EAPOL-Key (MIC)
Obs: prin alegerea aleatoare a valorii ANonce se ofera garantii autentificatorului ca PTK este
recent si implicit se garanteaza ca mesajul (2) si mesajul (4) sunt recente. Prin alegerea
aleatoare a SNonce se ofera garantii suplicantului ca PTK este recent si implicit se garanteaza
ca mesajul (3) este recent. Procedura combina ANonce cu SNonce in constructia cheii PTK,
iar incercarile de repetitie sunt detectate implicit prin procedura de validare MIC.
78
-pt. stabilirea/reactualizarea cheilor temporare, standardul RSN utilizeaza procedurile: “4-Way
Handshake” si “Group Key Handshake”. Decizia de schimbare a cheilor poate fi determinata
de: expirarea unui temporizator 802.1x de reautentificare, compromiterea cheii sau de o decizie
politica;
PMK
PRF()
PTK
KCK KEK TK
79
-de fapt, functia PRF() va genera un set de patru chei: 2 pt. securizarea mesajelor EAPOL-Key
(KCK si KEK); si 2 pt. securizarea datelor utilizator transferate in unicast (parte a cheii TK).
Acest set de chei temporare formeaza cheia PTK (vezi fig.);
-date de intrare PRF(): ANonce, SNonce pt. a garanta unicitatea cheilor temporare intre sesiuni;
adresele MAC ale corespondentilor pt. a leaga criptografic PTK de identitatea celor doua
entitati;
PMK
Data Encr. Key (128biti)
ANonce
SNonce Blocul de Data MIC Key (128 biti)
calcul
EAPOL Encr. Key (128 biti)
MAC AA PTK
EAPOL MIC Key (128 biti)
MAC SPA
Legend:
- SNonce – nr pseudo-aleator generat de suplicant;
- ANonce – nr. psudeo-aleator generat de autentificator;
- AA – adresa MAC a autentificatorului;
- SPA – adresa MAC a suplicantului
Procedura descrisa mai sus, poate fi aplicata indiferent de algoritmul de cifrare utilizat: AES-
CCMP sau TKIP. In cazul AES-CCMP, pentru ca functiile de integritate si pentru
confidentialitate sunt integrate, din setul PTK se folosesc trei chei: TK (i.e. Data Encr./Data
MIC (256 biti)), KEK (i.e. EAPOL Encr) si KCK (i.e. EAPOL MIC).
80
-distribuirea cheii GTK este inclusa in procedurile “4-Way Handshake” (la stabilire) si “Group
Key Handshake” (la reactualizare);
-cheia GTK reprezinta de fapt un set de doua chei temporare: Group Encryption Key (GEK;
128 biti); Group Integrity Key (GCK; 64 biti);
GMK
PRF()
GTK
TK
Obs: datele de intrare ale PRF(): nonce si adresa MAC a entitatii autentificator;
-procedura de mai sus mai poate fi invocata din urmatoarele motive: expirare durata de viata
a GMK/GTK; cand un suplicant se deasociaza; eveniment critic de management al STA;
-o problema este gasirea unui mijloc prin care sa se poata evita intreruperea serviciului de retea
pe toata durata acestui proces. Solutia aplicata este analoaga celei utilizate in cadrul tehnologiei
WEP: noua cheie GMKn va fi activa simultant cu cheia veche GMKo , pe entitatea
autentificator.
Procedura descrisa mai sus se aplica indiferent de algoritmul de cifrare utilizat: AES-CCMP
sau TKIP. In cazul AES-CCMP pentru ca functia de integritate si cea pentru criptare sunt
integrate, din setul GTK se foloseste numai o singura cheie TK (i.e. Group Encr./Integrity key).
81
Procedura GKH se desfasoara in urmatorii pasi:
- autentificatorul genereaza o noua cheie GTK, o cripteaza impreuna cu identificatorul cheii,
utilizand cheia KEK si un IV, apoi o transfera in mesajul (1) impreuna cu un numar de
secventa; MIC este calculat peste corpul cadrului EAPOL-Key utilizand cheia KCK;
- la receptia mesajului (1), suplicantul verifica: valoarea “Key Replay Counter” nu este
repetata, ca MIC este valid utilizand cheia KCK. Apoi, decripteaza GTK cu cheia KEK si
instaleaza GTK la subnivelul 802.11 MAC, si incrementeaza valoarea contorului anti-
repetitie “Key Replay Counter”;
- in continuare, suplicantul raspunde catre autentificator cu o confirmare (mesajul 2)
securizata cu cheia KCK;
- la receptia mesajului (2), autentificatorul verifica valoarea contorului “Key Replay
Counter” si daca MIC este valid utilizand cheia KCK, si apoi instaleaza cheia GTK. Daca
autentificatorul nu primeste un raspuns la mesajul (1), atunci va retransmite; daca toate
tentativele de retransmisie esueaza, atunci autentificatorul deautentifica acel suplicant
Supplicant Authenticator
Generate GTK
Encrypt GTK
with PTK
Message 1: EAPOL-Key (Encrypted GTK, Group, MIC)
Install GTK
Message 2: EAPOL-Key (Group, MIC)
82
7. Acronime
AAA Authentication, Authorization and Accountability
ABAC Attribute-based Access Control
AEAD Authenticated Encryption with Associated Data
ASLR Address Space Layout Randomization
ASM Application Specific Module
AuC Authentication Center
ACL Access Control List
AES Advanced Encryption Standard
AH Authentication Header
ALV Attribute-Length-Value
AP Access Point
AS (1)Autonomous System; (2)Authentication Server
AVP Attribute-Value-Pair
BCP Best Current Practice
CA Certification Authority
CCM Counter with CBC-MAC
CMS Cryptographic Message Syntax
CPA Choosen Plaintext Attack
CRC Cyclic Redundancy Check
DAC Discretionary Access Control
Diameter = 2 × RADIUS
DoS Denial of Service
DCC Distributed Checksum Clearinghouse
DCF Distributed Checksum Filtering
DDoS Distributed DoS
DEP Data Execution Prevention
DNSSec DNS Security
DS Delegation Signer
EAP Extensible Authentication Protocol
EMSK Extended MSK
ESP Encapsulation Security Payload
ESS Extended Service Set
GKH Group Key Hierarchy
GMK Group Master Key
GSM Global System for Mobile communication
GTK Group Transient Key
HDR Header
HLR Home Locator Register
IBSS Independent Basic Service Set
ICV Integrity Check Value
IDS Intrusion Detection System
IKE Internet Key Exchange
IMSI International MS Identity
IPS Intrusion Prevention System
IPSec IP Security
IV Initialisation Vector
KCK Key Confirmation Key
KE Key Exchange
KEK Key Encryption Key
KSK Key Signing Key
83
MAC Message Authentication Code; Mandatory Access Control
MCC Mobile Country Code
MDC Modification Detection Code
MIC Message Integrity Code
MIME Multipurpose Internet Mail Extensions
ME Mobile Equipment
MITM (1)Man-In-The-Middle; (2)Meet-In-The-Middle
MK Master Key
MNC Mobile Network Code
MS Mobile Station
MSIN Mobile Subscriber Identity Number
MSK Master Session Key
NAS Network Access Server
NSEC Next SECure
PEM Privacy Enhanced Mail
PGP Pretty Good Privacy
PKH Pairwise Key Hierarchy
PMK Pairwise Master Key
PN Packet Number
PRF Pseudo-Random Function
PRNG Pseudo-Random Number Generator
PSK Pre-Shared Key
PTK Pairwise Transient Key
RADIUS Remote Authentication Dial-In User Service
RBAC Role-based Access Control
ROP Return-Oriented Programming
RSK Root Signing Key
RSN Robust Secure Network
RSNA RSN Association
RSN IE RSN Information Element
SA Security Association
SAD SA Database
SIM Subscriber Identification Module
SMIB Security Management Information Base
SPD Security Policies Database
SPI Security Parameter Index
SSL Secure Session Layer
SSO Single Sign-On
STA STAtion
TK Transient Key
TKIP Temporal Key Integrity Protocol
TLD Top Level Domain
TLS Transport Layer Security
TMSI Temporar MS Identifier
TS Traffic Selector
TSC TKIP Sequence Counter
TTP Trusted Third Party
VLR Visitor Locator Register
VPN Virtual Private Network
WEP Wired Equivalent Privacy
WPA WiFi Protected Access
84
XACML eXtensible Access Control Markup Language
ZSK Zone Signing Key
85
Anexa A: Elemente de criptografie. Protocoale criptografice
Def: criptografia := studiaza metodele de transformare a textului-clar (P) in text-cifrat (C)
cu proprietatea de a fi neinteligibil unor utilizatori neautorizati sau pentru a asigura detectarea
modificarii textului-clar sau pentru a preveni utilizarea neautorizata.
Daca transformarea este reversibila, este studiat si modul in care textul-clar este refacut din
textul-cifrat.
86
o asimetric: daca sursa si destinatia utilizeaza chei diferite, criptosistemul se numeste: asimetric,
cu doua chei, sau cu cheie publica. In acest caz, E ≠ D, e ≠ d, si e = cheia publica, d = cheia
privata;
- padare M daca nu este un numar intreg de blocuri; padarea trebuie sa fie reversibila;
- in general, lungimea blocului Pi este determinata de algoritmul de criptare
87
Ci-1 Ci-1
Reg. Reg.
Pi Ci Pi
E D
Modul CBC
- propaga eroarea de decriptare numai catre blocul urmator;
- Ci = E(K, Pi ⊕ Ci-1), i = 1..N, C0 = IV5; IV – nu este necesar sa fie secret, se recomanda sa
fie aleator sau generat IV=E(K, nonce). De ce ? (Indicatie: vezi prob. ECB a primului bloc de
text-cifrat); in general, integritatea sa trebuie garantata pe durata transferului;
- valoarea IV(impredictibila): aleatoare, criptarea cu cheia pre-partajata a unui nonce asociat
textului-clar P;
- atunci cand IV este aleator sau criptat, determina cresterea mesajelor in format text-cifrat cu
un bloc;
- nu este adecvat aplicatiilor cu acces aleator la datele criptate; De ce ?
- pot fi utilizate tehnici criptografice simetrice/asimetrice pt. transformatele E, D
5
en. Initialization Vector
88
Ki-1
Reg. Reg.
n
K n E K
E
K K
E E
Pi Ci Pi
Modul CTR
Cifrul cascada
Daca un algoritm de criptare poate fi compromis prin atac de tip forta-bruta (prin cautare
exhaustiva a cheii), se poate inca construi un cifru tare (computational) prin aplicarea iterata a
acestui algoritm (ex. 3DES).
89
Def: un cifru cascada este o concatenare a L ≥ 2 cifruri fiecare cu cheie proprie independenta.
Cifrurile pot fi, sau nu, identice.
Def: criptarea multipla este o cascada de L cifruri identice (pot fi E si/sau D), in care cheile
etajelor nu este necesar sa fie independente.
b) criptare tripla:
E(P) = EK3(EK2(EK1(P)))
Unde: E – poate semnifica o transformata de criptare/decriptare;
-de ex: E(P) = EK3(DK2(EK1(P))) se numeste criptarea tripla E-D-E. Daca K3 = K1 atunci se
numeste criptare tripla cu doua chei.
K1 K2
a) Criptare dubla
P C1 C2(=C)
E E
K1 K2 K3
Cifrul sir
Def: este cifrul care cripteaza la un moment de timp un singur caracter (ex. bit, digit, etc) al
textului clar, cu ajutorul unei transformari6 care este variabila in timp.
Nota: cifrul bloc cripteaza blocuri de caractere simultan, utilizand o transformata invariabila
in timp.
6
functie de criptare
90
- transformata de criptare variaza pe masura ce textul clar este procesat; astfel, criptarea
depinde de: textul-clar, de cheia de criptare si de starea curenta.
mi ci
K zi ci K zi mi
g h g h-1
Criptare Decriptare
Algoritmul RC4
-1987, Ron Rivest; de 10 ori mai rapid ca DES;
-licenta RSADSI pentru aplicatii comerciale;
-utilizat de protocoalele de securitate: WEP, SSL;
-pot utiliza chei de lungime diferita;
-opereaza in modul OFB;
-implementare software;
Initializarea S-box[8][8]=S0, S1, ..., S255 cu o permutare de numere 0..255 determinata in functie de cheia K[],
astfel:
for i = 0 to 255 S[i] = i
for i = 0 to 255 K[i] = K[i mod k]; //k – lungimea cheii
j = 0;
for i = 0 to 255:
j = (j + S[i] + K[i]) mod 256; //asigura prop. de neliniaritate a S-box
swap S[i] and S[j];
Nota: functia de criptare este bijectiva (deci, inversabila) parametrizata de cheia K de lungime
k-biti, selectata aleator din spatiul K (un subset al multimii tuturor vectorilor Vk)
91
Def: un cifru ofera o securitate perfecta (neconditionata) daca blocurile de text-cifrat
respectiv de text-clar sunt statistic independente.
Def: un cifru bloc este sigur computational daca dimensiunea cheii si dimensiunea blocurilor
de intrare sunt suficient de mari pentru a elimina toate atacurile prin cautare; adica, nu exista
nici un atac (cunoscut) care sa necesite un numar de blocuri de intrare semnificativ mai mic
decat 2n si o complexitate de procesare semnificativ mai mica decat 2 k.
Cifruri clasice =primitive criptografice
- descoperite inainte de a 2-a jumatate a secolului XX;
- majoritatea cifrurilor reprezinta variante de substitutie si/sau transpozitie simpla
Cifrul cu transpozitie
Def: un cifru cu transpozitie simplu de perioada t grupeaza textul-clar de caractere in blocuri
de cate t, si aplica o singura permutare e definita peste numerele (1,..., t) fiecarui bloc.
Cifrul cu substitutie
i. Substitutia mono-alfabetica
- este presupus acelasi set de caractere pentru textul-clar si pentru textul-cifrat;
Fie m = p1 || p2 || ... || pt un mesaj text-clar cu pi ∈ A (alfabet); A = {A, B, ..., a, ..., z}
Ex: cifrul Cezar (cifrul de deplasare7), este un cifru cu substitutie simpla cu permutarea e
constand intr-o deplasare peste alfabet cu k caractere, pentru k-fixat.
Daca: s = |A | si ci, pi ∈ A ; i- indexul in vectorul literelor A =>
ci = e (pi) = A[(i + k) mod s];
d(ci ) = A[(i - k) mod s]
7
en. shift cipher
92
Def: este un cifru Feistel care proceseaza blocuri de text-clar n=64 biti si produce blocuri de
text-cifrat pe n=64 biti. Lungimea efectiva a cheii K este k = 56 biti, dar cheia de intrare K este
specificata pe 64 de biti, din care 8 biti (8, 16, ..., 64) pot fi utilizati ca biti de paritate. Procesul
de criptare/decriptare se desfasoara in 16 runde. Pentru decriptare se vor utiliza cheile de runda
in ordine inversa.
128/192/256/…
AES
128
C
Algoritmi asimetrici
Def: criptosistemele asimetrice (a.k.a. cu cheie publica) definesc pentru fiecare entitate o
pereche de chei (PK, PV) cu PK = cheia publica, PV = cheia privata, si respectiv o transformata
de criptare EPK si o transformata de decriptare asociata DPV.
2. Criptarea lui m
a) se obtine cheia publica (n, e);
b) se reprezinta m ca un intreg in intervalul [0, n-1];
c) C = me mod n;
d) transmite pe C la destinatie;
3. Decriptarea lui c
a) m = cd mod n;
Taria RSA: este definita de problema recuperarii textului-clar m din c numai pe baza (n, e), care
este echivalenta computational cu problema descompunerii in factori a lui n.
94
taria criptografica este mult mai mare decat a oricarui alt sistem de criptare(1998), pentru
aceasi lungime a cheii de criptare;
Dim. cheie Dim. Cheie MIPS-ani
CE RSA
160 1024 1012
600 21000 1078
1200 120 000 10 168
- o curba eliptica poate fi definita peste orice camp (R, Q, C); de regula, cele folosite in
criptografie sunt definite peste campuri finite.
Def: o curba eliptica E consta din elemente (numite puncte) de tipul (x, y) ce satisfac ecuatia:
y2 mod p = x3+ax+b mod p; Unde a,b = ct. Є Zp , p-prim, astfel incat 4a3+27b2 ≠ 0 (mod p);
impreuna cu un element singular, notat O si numit “punctul de la infinit”.
P3
P1 P2
-P3
Functii hash
-scop general: rezultatul functiei hash poate servi ca o imagine reprezentativa, compacta, a
mesajului de intrare; din acest motiv rezultatul functiei se mai numeste amprenta digitala,
imprint sau rezumatul mesajului.
- alternativ, rezultatul functiei hash se mai numeste: cod hash, rezultat hash, valoare hash
sau simplu hash.
Def: in acceptiunea generala, o functie hash este o functie h care are, cel putin
urmatoarele proprietati:
1. compresie – h mapeaza intrarea x de lungime arbitrara in iesirea h(x) de lungime fixa;
2. usor de calculat – pentru h, x fiind date, h(x) este usor de obtinut
95
1. usor de calculat : hk(x)- usor de calculatat pentru k, x si h date;
2. compresie: hk - mapeaza x de lungime arbitrara in hk(x) de lungime fixata n;
3. rezistenta la calcul (UF-CMA): pentru zero sau mai multe perechi (xi, hk(xi))- date, este
computational infezabil a se calcula orice alta pereche text-MAC (x, hk(x)) cu x ≠ xi (inclusiv
pentru hk(x) = hk(xi))
- o functie hash h mapeaza siruri de biti de lungime finita arbitrara in siruri de lungime fixa de
n-biti:
h : D → R, cum |D| > |R| => functia hash este de tip “N-la-1”, deci implica existenta sigura a
coliziunilor;
Def: prin coliziune se intelege o pereche/set de intrari care au ca rezultat aceasi iesire in urma
aplicarii functiei hash.
8
en. one-way
9
en. weak collision resistance
10
en. strong collision resistance
96
Def: prin autentificarea tranzactiei se intelege autentificarea mesajului plus garantarea unicitatii
si cronologiei mesajelor cu ajutorul unor parametrii variabili in timp (nr. aleatoare, nr. de secventa
sau stampile de timp).
K (cheia secreta)
Alg. MAC
mesajul
Alg. MDC
mesajul
Canal cu
autenticitate
MDC
97
- este calculat in functie de continutul mesajului si de un secret cunoscut numai de semnatarul
mesajului;
- semnaturile digitale trebuie sa fie verificabile, daca apare o disputa (ex. semnatarul repudiaza
semnatura sau un tert isi asuma semnatura) un tert de incredere trebuie sa poata rezolva
problema corect, fara sa aiba acces la informatia secreta a semnatarului (cheia privata);
- aplicatii: autentificare, integritatea datelor, nerepudiere, certificarea cheilor publice;
- una dintre primele metode de semnare este schema de semnare digitala RSA (1983; astazi,
inca, cea mai populara, versatila);
Schema RSA
- este o schema de semnare determinista cu recuperarea mesajului, cu |MS|= |S| (=Zn) si
R : M → Zn; R este fct. redundanta specificata in ISO/IEC 9796;
- taria se bazeaza pe intractabilitatea problemei factorizarii intregilor mari;
- cum transformata RSA de criptare este o bijectie, semnaturile digitale pot fi create prin
interschimbarea functilor de criptare si decriptare;
1. Generarea cheilor
a. genereaza aleator p si q – prime mari, aceasi dimensiune;
b. n = p*q si Φ(n) = (p-1)(q-1);
c. selecteaza e: 1< e < Φ, astfel incat cmmdc(e, Φ) = 1;
d. calculeaza d cu alg Euclid extins: 1< d < Φ , astfel incat e*d ≡ 1 (mod Φ);
e. (n, e) – cheia publica a lui A; d – cheia privata a lui A
3. Verificarea semnaturii
a. obtine cheia publica (n, e);
b. m = se mod n;
c. verifica daca m ϵ MR; daca nu rejecteaza semnatura
d. recupereaza m = R-1(m)
98
Autentificarea bazata pe parole (autentificare slaba)
- de regula, parola este partajata intre utilizator si un sistem, prin urmare aceste protocoale
aplica tehnici criptografice simetrice;
- protocolul: utilizatorul introduce perechea de credentiale (username, parola) si specifica
explicit/implicit resursa solicitata; perechea de credentiale este transferata pana la sistemul care
va verifica daca parola corespunde cu credentialele stocate pentru utilizatorul username si daca
utilizatorul este autorizat sa acceseze acea resursa. Demonstrarea cunoasterii secretului (prin
exprimarea efectiva a parolei) este acceptata ca o coroborare a identitatii utilizatorului.
A (Invocator) B (Verificator)
A h(passwdA)
h(passwdA)
passwd yes
passwd, A h h(passwd) = ACCEPT
no
REJECT
Sistem conventional de autentificare cu parola
99
- parola este completata cu un numar arbitrar (i.e. salt) reprezentat pe t biti, inainte de a aplica
functia OWF; apoi, numarul salt este memorat de sistem in clar, impreuna cu rezultatul fct
OWF;
- complexitatea atacului prin cautare exhaustiva ramane aceasi, insa complexitatea atacului
dictionar creste: pentru fiecare parola din dictionar acum necesita inca 2t variatii pentru
fiecare parola de incercare, deci o dimensiune mai mare a memoriei pentru stocarea
dictionarului criptat si timp mai mare de pre-calcul;
Obs: acum doi utilizatori care aleg acesi parola vor avea inregistrari diferite in fisierul de
parole;
100
este autentificat de catre sistem pe baza cheii master peste legatura de comunicatie cu risc
ridicat;
Atacul dictionar
-teoretic, toate parolele de n caractere sunt echiprobabil selectate, totusi utilizatorii aleg cu
predilectie parole dintr-un anumit subset (care au caracteristicile: lungime redusa, au
semantica, numai minuscule) => cu predilectie utilizatorii folosesc parole slabe (cu entropie
redusa) care pot fi mai usor determinate;
-prin urmare, in loc sa se efectueze o cautare exhaustiva a parolei, se poate reduce spatiul de
cautare la acest subset de parole; dictionarul = contine acest subset de parole;
-in cazul unui atac off-line, dictionarul poate contine si valoarea “criptata” a parolelor pentru a
mari eficienta procedurii de cautare;
Def: sunt protocoale de autentificare in care fiecare parola este utilizata o singura data;
101
Protocolul Lamport
a) utilizatorul A alege o constanta t, un secret w, initializeaza iA = 1 si transmite lui B cu garantii
de autenticitate pe w0 = Ht(w); (H-o functie OWF; Ht(w)=H(H(H(...H(w)))) de t-ori;
b) B initializeaza iA = 1 (nr de ordine al sesiunii cu A);
c) a i-a sesiune de autentificare (a ≤ i ≤ t):
A→ B: A, i, wi = Ht-i(w)
d) B verifica daca i == iA si (H(wi) == wi-1); daca da, B accepta parola, iA = iA + 1 si salveaza wi
ptr sesiunea urmatoare
Atacul pre-play: in care atacatorul intercepteaza si elimina mesajul de la pasul c), pentru a
confisca o parola pe care ulterior o va putea folosi pentru a impersona utilizatorul A.
Def: provocarea consta intr-un numar variabil in timp; poate fi ales aleator de entitatea de
verificare si trimis invocatorului sau poate fi un numar de secventa sau stampila de timp.
Def: nonce este o valoare utilizata cel mult odata in acelasi scop (“number use of once”), ptr
a preveni atacul prin repetitie (ex. face distinctie intre o instanta de protocol de alta).
Numere aleatoare
-obiectiv: sunt impredictibile pentru atacator;
-de ex. nr. pseudo-aleatoare pot fi suficient de bune;
Numere de secventa
11
en. challenge-response
102
- pp. utilizarea unei perechi de contori asociati unic cu invocatorul si cu verificatorul pentru un
sens de comunicatie; deci, se vor utiliza doua secvente diferite pt. fiecare sens;
-utilizare: un mesaj este acceptat numai daca nr de secventa asociat nu a mai fost utilizat (pentru
o perioada predefinita de timp) si daca satisface politica stabilita;
-politici de acceptare: nr de secventa se incrementeaza si mesajul este acceptat daca nr de
secventa este cu 1 mai mare decat cel precedent (pol restrictiva); mesajul este acceptat daca nr
de secventa formeaza o secventa monoton crescatoare (este o politica lejera, utila in cazul
mediu cu erori de transmisie);
-dezavantaje: administrarea pe termen lung a informatilor de stare asociate cu fiecare
verificator/invocator, pt. a determina nr de secventa utilizate deja; sunt necesare proceduri de
resetare/resincronizare in cazul producerii unor erori de sistem; nu pot detecta intarzierile
provocate; consecinta a overheadului (adminstrarea starii) => se recomanda pt. grupuri mici;
Stampile de timp
-utilizare: transmitatorul citeste ceasul (local) si leaga stampila de timp de mesaj prin tehnici
criptografice. Receptorul citeste ceasul sau (local), extrage stampila de timp si declara mesajul
valid, daca:
o diferenta de timp (stampile) este in interiorul ferestrei de acceptare;
o (optional) nici un alt mesaj cu aceasi stampila de timp nu a mai fost receptionat de la acelasi
transmitator; se realizeaza cu o lista de stampile per transmitator pt. o fereastra de acceptare.
Alta metoda: se inregistreaza numai ultima stampila (valida) per transmitator si se vor
accepta numai stampile strict ulterioare acesteia.
Obs: taria mecanismului de verificare se bazeaza pe utilizarea unei referinte de timp comune
=> ceasurile acestor entitati trebuie sa fie: disponibile (oricand), sincronizate (slab), protejate
la modificari neautorizate.
-avantaje: utilizarea stampilelor de timp permit realizarea protocoalelor cu mai putin mesaje
(tipic unul) si evita listele cu informatii de stare pe termen lung (important ptr servere); permit
combaterea atacurilor prin intarziere;
-dezavantaj: sincronizarea ceasurilor de timp distribuite cu garantii de securitate; gradul de
alunecare al ceasului si ferestra de acceptare trebuie sa fie suficient de mici pentru a elimina
atacul prin repetitie;
-in protocoale, stampilele de timp pot fi inlocuite de o provocare cu nr aleator si un mesaj in
raspuns;
103
Stabilirea cheilor criptografice de sesiune (efemere)
Motivatie
-ideal, o cheie de sesiune are un caracter efemer; este utilizata pe o peroada de timp scurta,
dupa care este eliminata complet (inclusiv eventualele date criptate cu aceasta cheie);
- limitarea volumului de text-cifrat care ar putea fi disponibil unui atac prin criptanaliza;
- limitarea volumului de informatii expuse, in cazul in care cheia de sesiune este
compromisa;
- elimina memorarea unor chei pe termen lung, distincte pentru fiecare entitate, in schimb
sunt create numai atunci cand sunt necesare;
- ofera independenta intre sesiuni sau aplicatii
Obiective:
1. stabilirea unor coduri secrete intre doua sau mai multe entitati, in general utilizate
direct/indirect ca chei simetrice de sesiune pentru garantarea confidentialitatii,
autenticitatii/integritatii mesajelor si pentru reautentificarea entitatilor. Este necesar ca fiecare
executie a acestor protocoale sa determine crearea unui cod secret distinct si dificil de anticipat;
2. in general, un participant la un protocol pentru stabilirea cheii trebuie sa poata determina
identitatea celorlalti participanti pentru a evita ca un participant neautorizat sa obtina cheia;
- deci, aceasta categorie de protocoale ofera un mijloc pentru stabilirea securizata a cheii,
(garanteaza confidentialitatii cheii si identificarea participantilor (autentificarea) care au acces
la cheie);
Def: stabilirea dinamica a cheii, in care cheia stabilita de o pereche (un grup) fixa de
utilizatori variaza intre executii secventiale ale protocolului. Aceste protocoale se mai numesc:
protocoale pentru stabilirea cheii de sesiune. Se mai spune ca cheile de sesiune sunt
dinamice si ca aceste protocoale sunt imune la atacuri tip cheie-cunoscuta.
Def: negocierea cheii (en. key agreement), este o tehnica de stabilire a cheii in care codul
secret este determinat de doua (sau mai multe) parti, ca functie de informatia schimbata
(materialul cheii) si/sau asociata cu fiecare dintre acestea. Cerinta: nici una dintre parti nu poate
determina a priori valoarea rezultata a cheii secrete.
Def: protocolul de predistribuire a cheii, este un protocol in care cheile ce vor fi stabilite
sunt complet determinate prin derivare din materialul initial al cheii pre-distribuit.
confirmarea cheii: este proprietatea prin care un participant este asigurat ca ceilalti
participanti au in posesie o anumita cheie secreta (implementare: calcularea functiei hash,
utilizarea fct. hash cu cheie, criptarea unor date cunoscute, protocol zero-knowledge).
104
autenticitatea explicita a cheii este proprietatea obtinuta atunci cand sunt indeplinite simultan
proprietatile: autenticitate a cheii (implicita) si confirmarea cheii.
Def: partile/entitatile unui protocol pentru stabilirea cheii se numesc principali si se presupune
ca au nume unice.
Def: se spune ca un protocol are proprietatea de secretizare PFS (en. Perfect Forward
Secrecy), daca compromiterea, la un moment dat, a cheilor pe termen lung nu va compromite
cheile de sesiune utilizate anterior (se mai numeste protectie “break-backward”).
Protocolul Diffie-Hellman
- permite stabilirea unei chei de sesiune peste un canal de comunicatie deschis, intre doua
entitati care nu partajeaza a priori nici un cod secret; versiunea descrisa se mai numeste DH
anonim;
- securitatea se bazeaza pe problema DH (care se poate reduce la problema logaritmului
discret);
- acest protocol poate fi definit peste orice grup in care problema logaritmului discret este
intractabila in timp polinomial;
- fie p-prim, α-generator al Zp*, 2 ≤ α ≤ p-2
Alice Bob
X A - aleator YA XA
mod p X B - aleator
YB X B mod p
K (Y A ) X B mod p
K (Y B ) X A
mod p
Algoritmul Diffie-Hellman
105
X – se numeste cheie privata; Y – se numeste cheie publica;
Obs: aceasta versiune a protocolului este vulnerabila la atacuri MITM.
Procedurile utilizate pentru managementul cheii trebuie sa ofere protectie fata de atacurile:
de compomitere a confidentialitatii secretului cheilor;
de compromitere a autenticitatii cheilor (secrete, publice);
de utilizare neautorizata a cheilor (secrete, publice); de ex, chei expirate; in general, de
neconformitate cu politica de securitate
Nota(natura increderii in serverul TTP): tertul nu va divulga cheile secrete ale utilizatorilor si
nu va incerca sa impersoneze utilizatorii.
106
Server de
nume
Autoritate de
inregistrare
Generator
de chei
Autoritate de
A certificare
Director de
certificate
107
rolul unui astfel de certificat este sa asocieze identificatorul unui principal cu cheia publica
asociata. Ulterior principalii vor obtine cheile publice prin schimb direct intre ei sau dintr-un
director public;
5. sisteme cu garantare implicita a autenticitatii parametrilor publici: prin proiectarea
acestor sisteme orice incercare de modificare a parametrilor publici conduce inevitabil la erori
detectabile ale tehnicilor criptografice. Exemple: sistemul de chei publice certificate implicit.
Def: certificatul de cheie publica este o structura de date ce consta dintr-o parte informatii
si dintr-o parte semnatura. Partea de informatii contine in clar cel putin cheia publica si
identificatorul subiectului caruia i se asociaza cheia. Partea semnatura contine semnatura
digitala a autoritatii de certificare aplicata asupra partii informatii.
Def: autoritatea de certificare (CA) este un tert a carui semnatura intr-un certificat confirma
autenticitatea cheii publice asociate subiectului specificat in partea informatii.
108
4. realizeaza urmatoarele verificari:
a. verifica perioada de validitate pe baza ceasului local;
b. verifica perioada de validitate a cheii publice a lui CA;
c. verifica semnatura lui CA din certificat;
d. verifica daca certificatul nu a fost cumva revocat;
5. daca este OK, accepta cheia publica
Def: certificatul CA de transfer este un certificat creat de o autoritate (CA) pt. a certifica
cheia publica a altei autoritati CA.
-relatiile de incredere intre CA-uri determina cum certificatele emise de un CA pot fi utilizate
sau verificate de alte entitati (certificate de alte CA-uri);
1. Lanturi/cai de certificare
- certificatele de chei publice ofera un mijloc de a obtine cheile publice autentice ale altor entitati,
daca entitatea care vrea sa verifice certificatul are incredere in cheia de verificare a CA-ului
care a semnat certificatul;
- in cazul mai multor CA-uri, entitatea care vrea sa obtina cheia publica autentica trebuie sa
verifice certificatul emis de un CA pt. care nu cunoaste cheia publica, solutia este:
A B
Lantul de certificate: (CA5 {CA4}, CA4 {CA3}). Unde: CA4 {CA3} – este certificatul lui CA3
semnat de CA4 ce contine P3;
Procedura:
5. cu P5 se verifica semnatura in CA5 {CA4};
6. cu P4 se verifica semnatura in CA4 {CA3};
7. cu P3 se verifica semnatura in CB;
109
8. obtine cheia autentica PB si o utilizeaza
CA5
CA3 CA4
CA1 CA2
1 1 2 2
E1 Er E1 Es
Dezavantajele modelului:
- toate relatile de incredere depind de cheia nodului radacina;
- lanturi de certificate lungi sunt necesare chiar pt. doua entitati sub acelasi CA;
- lantul de certificate lung pt. domenii mari ierarhizate;
- doua tehnici: director de certificate de revocare (i.e. CRL) sau server de stare pentru
certificate on-line (ex. OCSP);
Def: un director de certificate este o baza de date care implementeaza pt. extragerea
certificatelor modelul cu interogare (a.k.a modelul pull) de catre utilizator.
Alternativ,
modelul de notificare (a.k.a modelul push) pt. distribuirea certificatelor, prin care acestea sunt
distribuite la toti utilizatorii la crearea unui nou certificat sau periodic;
transmiterea certificatului la cerere
Obs: odata compromisa cheia secreta (i.e, orice situatie in care atacatorul cunoste cheia),
minimizarea riscului se face prin prevenirea utilizarii ei=> Revocare. Daca se utilizeaza un server
110
de distribuire on-line, cheile pot fi imediat sterse si inlocuite, pe cand in cazul sistemelor cu
directoare de certificate este mai dificil prin faptul ca acestea sunt distribuite in mai multe locuri;
111
no_renegotiation notifica refuzul entitatii corespondent de a actualiza
parametrii de securitate, atunci cand se initiaza procedura de
negociere cu mesaje client/server_hello ;
bad_certificate transmis atunci cand certificatul receptionat este corupt (ex.
semnatura falsa)
unsupported_certificate tipul certificatului receptionat nu este suportat
Cipher algorithm
TLS_RSA_WITH_3DES_EDE_CBC_SHA
Key exchange HMAC algorithm
protocol
112