Sunteți pe pagina 1din 180

Problema congestiei

Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Problema congestiei
 Alocarea resurselor reţelei(lărgimea de bandă, spaţiul de stocare din
routere sau switchuri) este o problemă competiţională, ţinând cont de
faptul că, la un moment dat există mai multe cereri ale aplicaţiilor în acest
sens. Deci, anumiţi utilizatori ai reţelei vor primi la un moment dat mai
puţine resurse decât au cerut. Dacă s-ar acorda resursele cerute tuturor
solicitanţilor, ar apare fenomenul de supraîncărcare.
 La nivelul router-elor sau switch-urilor există buffere, organizate pe
principiul cozilor, în care sunt păstrate pachete/cadre de date care urmează
să fie transmise mai departe. Dacă la un moment dat nu mai există spaţiu
de stocare în aceste buffere şi sosesc pachete/cadre de date, o parte din
aceste pachete trebuie abandonate(care dintre ele vor fi abandonat depinde
de disciplina cozii). Când un astfel de fenomen apare frecvent, spunem că
reţeaua este congestionată.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Problema congestiei
 Problema congestiei poate fi cel mai bine evidenţiată într-o reţea cu
comutare de pachete, cum este cazul Internet-ului. Spre deosebire de
reţelele locale, în care o gazdă poate observa traficul de pe mediul de
comunicaţie şi poate decide dacă poate transmite sau nu cadre de date, aici
situaţia este mai complicată. Într-un astfel de mediu, o anumită sursă poate
avea o capacitate suficientă pe un mediu de comunicaţie la care ea este
conectată local, dar undeva pe inter-reţea pachetele transmise de ea
întâlnesc o legătură care este folosită de către gazde aflate pe alte reţele
locale şi în plus, lărgimea de bandă are o dimensiune insuficientă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Problema congestiei
 Exemplu. Două gazde, sursa1 şi sursa2 vor să transmită date către o
gazdă aflată pe o reţea cu o lărgime de bandă mai mică; datele pot circula
pe reţelele locale respective dar routerul nu le poate transmite mai departe
in totalitate, deoarece viteza de transmitere pe reţeaua de destinaţie este
mult mai mica.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Problema congestiei
 La nivelul unei reţele, controlul congestiei şi alocarea resurselor,
reprezintă componente ale aceleiaşi probleme. Dacă la nivelul
comunicaţiei în reţea, există o planificare a utilizării circuitelor fizice de
către cele virtuale, atunci controlul congestiei nu mai este necesar. De
asemenea, la nivelul gazdelor nu există o limitare a numărului de pachete
pe care aceasta doreşte să le transmită, deci se pune problema refacerii
pachetelor care au fost abandonate datorită apariţiei fenomenului de
congestie.
 De asemenea, trebuie făcută o distincţie clară între controlul fluxului de
date şi controlul congestiei. Dacă controlul fluxului se referă la a
regulariza comunicaţia dintre un transmiţător mai rapid şi un primitor mai
lent, controlul congestiei se referă la a păstra activi numai anumiţi
transmiţători din reţea sau a abandona anumite pachete sau cadre de date
care sunt transmise prin mediul de comunicaţie al reţelei.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Problema congestiei
 Controlul congestiei nu este acelaşi lucru cu routarea. Legăturilor
congestionate li se asociază o anumită valoare(pondere) şi ţinând cont de
această valoare, routerele vor căuta să transmită pachetele evitând această
conexiune. Dar sunt situaţii, cum este cea prezentată în figura ant. în care
legătura congestionată nu poate fi evitată. Într-o astfel de situaţie spunem
că are loc o “gâtuire” în reţea.
 Problema evitării congestiei trebuie rezolvată atât la nivel de routere cât şi
la nivel de gazde. Fiecare router ia decizii în ceea ce priveşte care dintre
pachete sunt transmise mai departe şi care sunt abandonate. De asemenea,
informează gazdele cât de multe pachete le este permis să transmită în
reţea. La nivel de gazdă, se observă condiţiile de trafic din reţea, adică
ponderea pachetelor care au ajuns la destinaţie din numărul total al
pachetelor transmise.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Problema congestiei
 În continuare vom înţelege prin noţiunea de flux ca fiind o secvenţă de
pachete transmise de la o gazdă sursă la o gazdă destinaţie, care urmează
un acelaşi drum, în reţeaua de comunicaţie a inter- reţelei. În figura urm.
este sunt prezentate astfel de fluxuri.
 O modalitate prin care este realizată alocarea resurselor, este cea bazată pe
rezervare. În astfel de sisteme, gazdele cer reţelei alocarea de resurse
pentru intervalul de timp cât este stabilit un anumit flux. Fiecare router ar
trebui să aloce resurse suficiente fluxului respectiv. Dacă la un anumit
router nu se poate face alocarea de resurse, deoarece s-ar realiza
supraîncărcarea routerului respectiv, atunci acesta va abandona pachetele
primite pe fluxul respectiv.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Problema congestiei
 O metodă mai perfecţionată, este cea bazată pe conceptul de „feedback”.
Gazdele încep transmiterea de date fără a cere alocarea de resurse şi îşi
ajustează transmiterea de date pe baza „feedback- ului” pe care îl primesc.
Acest „feedback” poate fi explicit(un router congestionat transmite un
mesaj „încetineşte transmiterea” gazdei respective) sau poate fi
implicit(gazda ajustează propria transmitere de date prin observarea
comportamentului reţelei, reflectat prin numărul de pachete pierdute). În
cadrul acestor metode, observăm rolul major al routerelor în alocarea
resurselor.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Problema congestiei
 Controlul congestiei sub TCP se bazează pe următoarea idee: gazda
sursă trebuie să fie capabilă să determine capacitatea reţelei de a primi
pachete de la aceasta, pe care să le poată transporta în siguranţă către
destinaţie. Acest lucru se poate realiza pe baza ACK-urilor primite. Astfel,
când o gazdă sursă primeşte confirmarea primirii unui pachet transmis
anterior de către gazda destinaţie, ea poate să transmită un nou pachet. De
asemenea, deoarece conexiunile logice din cadrul reţelei sunt variabile în
timp, şi lărgimea de bandă pe care o are la dispoziţie o anumită gazdă este
variabilă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Metoda creşterii aditive/descreşterii
multiplicative
 Pentru fiecare legătură, TCP utilizează o variabilă CongestionWindow,
care este folosită de către fiecare gazdă pentru a reduce cantitatea de date
pe care să o transmită în reţea, astfel încât să nu se ajungă la starea de
congestie.
 Modificarea valorilor variabilei CongestionWindow se face pe baza
gradului de congestie al reţelei. O anumită gazdă trage concluzia că o
reţea este congestionată, pe baza observaţiei că anumite pachete nu au fost
confirmate în timp util, cauza cea mai probabilă fiind că pachetele
respective au fost abandonate de anumite routere supraîncărcate. În acest
moment, gazda respectivă va concluziona că reţeaua este congestionată şi
va înjumătăţi valoarea variabilei CongestionWindow.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Metoda creşterii aditive/descreşterii
multiplicative
 Reciproc, în momentul când primeşte confirmarea unui pachet, va adăuga
la CongestionWindow, valoarea MSSx(MSS/CongestionWindow),
 în care MSS(Maximum Segment Size reprezintă dimensiunea maximă a
segmentului pe care o suportă TCP.
 O perfecţionare a acestui mecanism, este metoda startului lent(„slow
start”). La începutul sesiunii de transmitere de date, gazda sursă setează
CongestionWindow la dimensiunea unui segment.
 Când soseşte confirmarea pentru acest pachet, TCP adaugă dimensiunea
unui segment la CongestionWindow şi apoi transmite două pachete. După
ce primeşte cofirmarea celor două pachete transmise, TCP va adăuga
2Xdimensiunea unui segment la CongestionWindow şi apoi va transmite 4
segmente ş.a.m.d.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Metoda creşterii aditive/descreşterii
multiplicative
 Cu alte cuvinte, avem de a face cu o creştere exponenţială a numărului de
pachete pe care îl transmite gazda în reţea, atunci când primeşte o
confirmare a pachetelor transmise anterior.
 Justificarea acestei metode constă în: dacă gazda ar fixa la începutul
transmisiei o valoare mare pentru CongestionWindow, în conformitate cu
lărgimea de bandă disponibilă, este posibil ca anumite routere
aglomerate(care au bufferele pline) să nu poată primi aceste pachete
şi deci să le abandoneze.
 Startul lent înseamnă o atitudine prudentă a gazdei sursă, deoarece la
începutul conexiunii, aceasta nu are nici un fel de informaţii despre
cantitatea de date pe care o pot transmite mai departe routerele din reţea.
De asemenea, atunci când valoarea timpului de aşteptare pentru
confirmarea unui pachet depăşeşete o anumită valoare(„timeout”) sau, cu
alte cuvinte pachetul este pierdut, valoarea lui CongestionWindow este
împărţită la 2.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Metoda creşterii aditive/descreşterii
multiplicative
 Cele două metode pot fi combinate, rezultând următorul algoritm.
 În momentul când un pachet este pierdut, valoarea variabilei
CongestionWindow este atribuită variabilei CongestionThershold.
 CongestionWindow este resetată la dimensiunean unui pachet, gazda
sursă intrând în starea de start lent.
 CongestionWindow creşte exponenţial pentru fiecare ACK primit, până
când ajunge la valoarea lui CongestionThershold, după care creşte liniar
pentru fiecare ACK primit.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Protocolul IPv6

Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Adresa IPv6
Prefix(in bin.) Utilizare Prefix(in Utilizare
binar)
0000 0000 Rezervate (incl.) 101 Neatribuite
0000 0001 Neatribuite 110 Neatribuite
0000 001 Adrese OSI NSAP 1110 Neatribuite
0000 010 Adr.IPX Novell 1111 0 Neatribuite
0000 011 Neatribuite 1111 10 Neatribuite
0000 1 Neatribuite 1111 110 Neatribuite
0001 Neatribuite 1111 1110 1 Neatribuite
001 Neatribuite 1111 1110 10 Adr.de leg.de uz local
010 Adr.bazate pe 1111 1110 11 Adr.de site.de uz local
furniz.
011 Neatribuite 1111 1111 Trimitere multipla
100 Adr.pe bază geogr.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Adresa IPv6
 Lungimea adresei IPv6 este de 16 octeti.
 Impartirea spatiului de adrese.
 Spaţiul de adrese IP este împărţit aşa cum este prezentat în tabelul
anterior.
 Adresele care încep cu 8 zerouri sunt rezervate pentru adresele IPv4.Sunt
admise două variante difernţiabile prin următorii 15 octeţi. Aceste variante
se referă la modul în care pachetele IPv6 vor fi transmise prin
infrastructuri ale reţelelor care încă mai funcţionează pe baza protocolului
IPv4.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Adresa IPv6
 Folosirea de prefioxe separate pentru adresele bazate pe furnizor şi pentru
cele pe bază geografică, este un compromis între două concepţii diferite
asupra viitorului Internet-ului. Adresele bazate pe furnizor au sens dacă se
ia în consideraţie faptul că în viitor vor exista un număr de companii care
oferă servicii Internet pentru clienţi(de exemplu, comp. care oferă servicii
telefonice). Fiecare din aceste companii va primi o fracţiune din spaţiul de
adrese. Primii 5 biţi care urmează prefixului 010 sunt folosiţi pentru a
indica la carev registratură să fie căutat furnizorul. În prezent funcţionează
3 registraturi: ptr. Europa, America de Nord şi Asia; ulterior mai pot fi
adăugate încă 29 de registraturi.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Adresa IPv6
 La nivelul fiecărei registraturi, se împart următorii 15 octeţi, după
 cum consideră fiecare de cuviinţă. Se pot considera două variante:
 să se folosească un număr de furnizor reprezentat pe 3 octeţi, ceea ce înseamnă că pot
exista aproape 16 milioane de furnizori;
 să se folosească 1 octet pentru a indica furnizorii naţionali şi a permite acestora să facă
alocarea în continuare. Eventual, pot fi introduse niveluri suplimentare de ierarhie.
 Modelul geografic este la fel ca Internet-ul actual, în care furnizorii nu
joacă un rol important. În acest fel. IPv6 poate trata ambele tipuri de
adresă.
 Adresele de uz local pentru legături şi site-uri au numai o semnificaţie
locală. Ele pot fi refolosite fără conflict în fiecare organizaţie, dar nu pot fi
propagate în altă organizaţie. Ele sunt potrivite pentru organizaţiile care
folosesc ziduri de protecţie pentru a se proteja de restul Internet-ului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Adresa IPv6
 În cadrul adreselor de transmitere multiplă, după prefix urmează un câmp
indicator de 4 biţi, un câmp domeniu de 4 biţi şi un identificator de grup de 112
biţi.
 Unul dintre biţii indicatori face distincţie dintre grupurile permanente şi cele
temporare.
 Câmpul domeniu permite ca o trimitere multiplă să fie limitată la o anumită
legătură (site, organizaţie etc.).
 În plus faţă de transmiterea unică(unicast sau point-to-point) şi
multiplă(multicast), IPv6 suportă un nou tip de transmitere: trimitere către
oricine(anycast). Şi acest tip de transmitere presupune că destinaţia este un grup
de adrese, dar în loc să se livreze pachetul către toate adresele, se livrează către
prima întâlnită. De exemplu, un client care doreşte să contacteze un grup de
servere de fişiere care cooperează între ele, poate folosi transmiterea anycast
pentru a ajunge la cel mai apropiat server, fără să trebuiască să ştie care este
acesta.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Scrierea adreselor IPv6
 Pentru scrierea adreselor pe 16 octeţi se foloseşte o nouă notaţie.Sunt
scrise ca opt grupuri de câte patru cifre hexazecimale, cu semnul : între
grupuri.
 Deoarece multe adrese vor avea multe zerouri în interiorul lor, sunt
permise:
 zerourile de la începutul unui grup pot fi omise;
 unul sau mai multe grupuri de 16 zerouri pot fi înlocuite de o pereche de semne :
 Exemplu: Adresa 8000:0000:0000:0000:0123:89AB:CDEF
 se poate scrie 8000::123:4567:89AB:CDEF
 Adresele IPv4 pot fi scrise ca o pereche de semne : urmate de scrierea
cunoscută.
 Exemplu: Adresa IPv4 192.31.32.34 se scrie ca o adresă IPv6
 :: 192.31.32.34

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
Antetul principal TCPv6
 Versiune (4 biţi) este 6 pentru IPv6 şi 4 pentru IPv4; este utilizat deoarece
se presupune că cele două protocoale vor exista pentu o perioadă de timp
şi permite routerelor care lucrează sub protocolul IPv6 să examineze acest
câmp pentru a decide ce tip de pachete examinează.
 Prioritate (4 biţi) este folosit pentru a distingeîntre pachetele ale căror
surse pot fi controlate ca flux şi acelea care nu pot fi controlate. Valorile
cuprinse între 0 şi 7 sunt pentru transmisii care pot fi încetinite în cazul
apariţiei unor evenimente de congestie. Valorile cuprinse între 8 şi 15 sunt
pentru trafic în timp real, a cărui rată de transmisie este constantă, chiar
dacă toate pachetele sunt pierdute.În ultima categorie intră mesajele audio
şi video. În cadrul fiecărui grup, pachetele cu număr mic sunt mai puţin
importante decât cele cu număr mare. Standardul IPv6 propune folosirea
lui 1 pentru ştiri, 4 pentru FTP 6 pentru conexiuni TelnetDacă un pachet
de ştiri întârzie câteva sec. nu este o probl., spre deosebire de o conexiune
de tip Telnet.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Antetul principal TCPv6
 Eticheta fluxului (24 biţi) va fi folosit pentru a permite unei surse şi unei
destinaţii să stabilească o conexiune virtuală cu proprietăţi şi cerinţe
particulare. De exemplu, un şir de pachete trimis de un proces de pe o
anumită gazdă sursă către un proces de pe o anumită gazdă destinaţie,
poate avea cerinţe de întârzier stricte şi din acest motiv necesită capacitate
de transmisie rezervată. Fluxul poate fi stabilit în avans şi poate primi un
identificator. Ca efect, fluxurile încearcă să combine transmiterea de
datagrame(UDP) cu transmiterea de pachete folosind un circuit
virtual(TCP).
 Lungimea informaţiei utile (16 biţi) spune câţi octeţi urmează după cei 40
de octeţi ai antetului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Antetul principal TCPv6
 Antetul următor (16 biţi) specifică ce antet de extensie(dacă există) va
urma.Dacă acest antet este ultimul antet IP, câmpul Antetul următor spune
cărui tip de protocol(TCP, UDP) i se va transmite pachetul. Despre această
noţiune vom discuta imediat.
 Limita salturilor (8 biţi) este similar câmpului TTL al protocolului IPv4.
 Adresă sursă şi adresă destinaţie sunt reprezentate pe câte 16 octeţi.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Antete de extensie
 Au fost introduse deoarece anumite informaţii pentru introducerea unor
informaţii suplimentare, specifice unui anumit pachet.
 Există 6 tipuri de astfel de antete; fiecare este opţional, dar dacă sunt
prezente mai multe, ele trebuie să apară imediat după antetul fix.
 Unele antete au format fix, altele conţin un număr variabil de câmpuri de
lungime variabilă. Fiecare element este codificat ca un triplet
(Tip,Lungime,Valoare). Tipul este un câmp de 1 octet care specifică ce
opţiune este aceasta. Primii 2 biţi ai tipului spun routerelor care nu ştiu să
proceseze opţiunea, ce trebuie să facă în acest caz. Variantele sunt: sărirea
opţiunii, eliminarea pachetului, eliminarea pachetului şi transmiterea unui
mesaj de eroare. Lungimea este un câmp de 1 octet şi indică ce lungime
are câmpul valoare(de la 0 la 255 octeţi). Valoarea este orice informaţie
cerută, de cel mult 255 de octeţi.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Antetul salt-după-salt
 Antetul salt-după-salt este folosit pentru informaţii care trebuie
examinate de toate ruterele de pe o anumită cale.Până acum a fost definită
o singură opţiune:suportul penttru pachete de date care depăşesc 64K.
 Ca şi toate antetele de extensie, acesta începe cu octet care spune ce tip de
antet este următorul.Urmează un octet care conţine lungimea antetului
salt-dupa-salt în octeţi, excluzând primii 8 octeţi, care sunt obligatorii.
Urmează 2 octeţi care conţin un cod ce indică faptul că această opţiune
defineşte dimensiunea datagramei şi aceasta va fi reprezentată pe 4 octeţi.
Ultimii 4 octeţi, conţin dimensiunea datagramei.
 Dimensiuni mai mici de 65536(64K) nu sunt permise şi au ca rezultat
eliminarea pachetelui de către primul router, care va trimite înapoi un
mesaj ICMP de eroare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Antetul salt-după-salt
 Datagramele care folosesc acest antet de extensie sunt numite
jumbograme. Ele sunt utilizate de aplicaţiile super-calculatoarelor care
trebuie să transfere blocuri de date de dimensiuni foarte mari.
 Antetul de dirijare menţionează unul sau două routere care trebuie să fie
vizitate în calea spre destinaţie. Sunt disponibile 2 posibilităţi:
 dirijarea strictă(este furnizată întreaga cale);
 dirijarea aproximativă(sunt furnizate numai anumite routere)
 Formatul antetului de extensie de dirijare:
 primii 4 octeţi conţin conţin 4 întregi reprezentaţi pe câte 1 octet fiecare, cu
semnificaţia: tipul următorului antet, tipul de dirijare (de obicei 0), numărul de
adrese prezente în antet (de la 1 la 24) şi indicele următoarei adrese de vizitat.
Conţinutul ultimului octet porneşte de la 0 şi este incrementat pentru fiecare adresă
(router) vizitat.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Antetul salt-după-salt
 un octet de rezervă;
 o hartă de biţi pentru fiecare din cele 24 de adrese IPv6
potenţiale care urmează; aceşti biţi spun dacă fiecare
adresă trebuie să fie vizitată direct după cea precedentă
(dirijare strictă pe baza sursei) sau dacă pot interveni şi
alte routere pe parcurs (dirijare aproximativă pe baza
sursei).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Antetul fragment
 Antetul fragment tratează fragmentarea într-un mod similar cu cel al
IPv4. Antetul conţine identificatorul datagramei, numărul de fragment şi
un bit care spune dacă mai urmează fragmente.
 În IPv6, spre deosebire de IPv4 numai gazda sursă poate fragmenta un
pachet. Această modificare simplifică activitatea routere-lor şi permite ca
dirijarea să se facă mai rapid. Aşa cum am menţionat anterior, dacă un
router primeşte un pachet de dimensiune prea mare, îl va distruge şi va
trimite un pachet ICMP către gazda sursă a pachetului; pe baza acestei
informaţii, gazda sursă fragmentează pachetul în bucăţi mai mici, pe care
le transmite ca pachete individuale.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Antetul de autentificare
 Antetul de autentificare oferă un mecanism prin care receptorul unui
mesaj verifică identitatea celui care l-a transmis. IPv4 nu oferă un astfel
de mecanism, problema fiind rezolvată de alte protocoale specializate.
 Pentru a înţelege acest mecanism, sunt necesare cunoştinţe de securitatea
datelor în reţele de calculatoare; aceste noţiuni le vom studia în
continuare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
Securitatea datelor în
reţele de calculatoare
Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Obiectivele cursului
 Criptarea/Decriptarea datelor
 Autentificarea
 Semnătura digitală
 Zid de protecţie(firewall)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Criptarea datelor
 Mesajele care trebuiesc criptate sunt sub formă de text clar(“plain text”)
şi sunt transformate într-un text care nu poate fi interpretat numit text
cifrat.
 Criptarea este procesul care realizează această transformare, pe baza
unor algoritmi şi a unei mulţimi de parametri de intrare.
 Decriptarea este procesul invers, de transformare a textului cifrat într-un
text clar, care se bazează, de asemenea pe o serie de algoritmi şi o
mulţime de parametri de intrare.
 În general, atât criptarea cât şi decriptarea necesită un parametru numit
cheie, a cărei secretizare este esenţială în funcţionarea întregului proces.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Criptarea datelor
 Model de sistem de criptare este prezentat în fig. urm. Blocul E execută
criptarea. El ia ca intrări un text clar M şi o cheie de criptare ke şi produce
ca ieşire un text cifrat C, C=E(ke,M).
 Textul cifrat C este transmis peste un canal nesigur către o destinaţie, unde
este decriptat. Canalul nesigur este un mediu de comunicaţie care poate fi
accesat de un intrus.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Criptarea datelor
 Operaţia de decriptare este notată printr-un pătrat etichetat cu D, care
preia textul cifrat C si o cheie de decriptare kd, ca intrări şi produce textul
original M, ca ieşire, M=D(kd,C).Blocul CA desemnează un intrus, a cărui
sarcină este de a descifra informaţia transmisă peste un canal. Acesta are
cunostinţe totale despre tehnicile de criptare şi decriptare folosite.
 Intrusul (“cryptoanalyst”) poate asculta canalul şi poate avea acces la
informaţiile laterale (“side information - SI). Exemplu de astfel de
informaţii, pot fi frecvenţele literelor şi cuvintelor, contextul canalului şi
anumite părţi ale textului clar.
 Intrusul nu are cunoştinte despre cheia de decriptare kd. Pentru a sparge
sistemul, intrusul trebuie să găsească o schemă pentru a determina cheia
kd, pe baza informaţiilor pe care le are la dispoziţie.
 În anumite cazuri, este posibil să descifreze anumite părţi ale textului
cifrat, fără a cunoaşte cheia de decriptare.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Criptarea datelor
 Protecţia furnizată de către un sistem de criptare, este măsurată în
dificultatea găsirii valorii cheii de decriptare folosită de către sistem.
 Ameninţările potenţiale la adresa securităţii datelor depind de cât de
multe şi de câte tipuri de informaţii laterale (SI) sunt disponibile unui
intrus. Ameninţarea pentru un sistem de criptare creşte o dată cu cantitatea
de informaţii laterale. Un sistem care poate fi distrus în absenţa
informaţiei laterale este nesigur şi deci lipsit de utilitate. Pentru a fi sigur
şi robust, un sistem trebuie să reziste la o mulţime de atacuri severe, adică
să rămână sigur chiar şi când o mulţime de astfel de informaţii (cu
excepţia cheii) sunt disponibile. În cele ce urmează, sunt discutate
pericolele potentiale la un anumit sistem de criptare, când intrusul are
acces la diverse informaţii laterale.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Criptarea datelor
 O ameninţare la un sistem în care un intrus poate avea acces numai la
textul cifrat, este numit atac la textul cifrat. Un sistem de criptare
vulnerabil la o astfel de ameninţare are un grad redus de utilizare,
deoarece accesul la un text cifrat pe un canal nesigur se poate realiza
foarte uşor.
 Un sistem în care un intrus poate avea acces atât la textul cifrat cât şi la o
cantitate importantă din textul cifrat, poate fi subiectul unui atac cu
cunoştinţe asupra textului clar. Sistemele care rezistă unui astfel de atac
sunt mult mai sigure, deoarece un intrus poate obţine o cantitate
considerabilă de text clar, dintr-un text cifrat. Ameninţarea unui sistem în
care un intrus poate obţine textul cifrat, ce corespunde unui anumit text
clar pe baza alegerii sale, este referit ca un atac bazat pe alegerea textului
clar. De exemplu, aceasta se întâmplă când un intrus reuşeşte spargerea
unui sistem la spaţiul (locul) unde sistemul criptează un text clar ales de
intrus.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7

Criptarea datelor
 La baza proiectării sistemelor de criptare stau principiile lui Shannon:
 Principiile de difuzare cer necesitatea necorelării dintre cheie şi subşirurile de
caractere ale textului clar, astfel încât să se maximizeze lungimea textului clar
necesar pentru a sparge un system;
 Principiile dezordinii cer ca ieşirea să nu fie într-o relaţie evidentă cu intrarea.
 Principiul de bază pe care se sprijină sistemele convenţionale, este punerea în
corespondenţă a literelor alfabetului unui limbaj cu alte litere din alfabet, deduse
pe baza unei proceduri de corespondenţă. Problema care se pune este secretizarea
procedurii de realizare a corespondenţei dintre caractere, care poate fi privită ca o
cheie. Sistemele moderne sunt folosite, în principal pentru cifrarea informaţiei
care este în formă binară. Acest sistem urmează principiului proiectării deschise,
în sensul că algoritmii pe care se bazează criptarea şi decriptarea nu sunt ţinute
secrete. În schimb, numai valorile anumitor parametri (numiţi chei) folosiţi în
criptare şi decriptare sunt păstrate secret. Există şi aici două tipuri de sisteme:
sisteme cu chei private şi sisteme bazate pe chei publice.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Criptarea datelor
 În sistemele cu chei private, cheile folosite atât pentru criptare, cât şi
pentru decriptare sunt păstrate secrete. Pe de altă parte, în sistemele cu
chei publice, cheile pentru criptare sunt cunoscute (publice), dar cheile
folosite în decriptare sunt secrete. Elementul esenţial al sistemului cu chei
publice este că, chiar dacă procedura de calcul a cheii de criptare este
cunoscută, procedura este foarte complicată, astfel încât timpul de calcul
este atât de lung şi numărul de soluţii este atât de mare, încât este puţin
probabil ca sistemul să fie spart. Sistemele cu chei private folosesc
principiile lui Shannan pentru a adăuga mai multă securitate.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Criptografia convenţională
 Criptografia convenţională se bazează pe substituirea cifrului. În
substituirea cifrului, fiecare alfabet într-un text clar, este substituit de către
un alt alfabet. Vom folosi limba engleză pentru a ilustra cele discutate şi
vom folosi corespondenţa numerică a literelor (A↔0,B↔1,….,Z↔25).
 Cifrul lui Caesar. O literă este transformată într-a treia care o urmează în
secvenţa alfabetului, conform funcţiei matematice:
 E : M→M; M=alfabetul≡{0,1,…25}; E(x) = (x+3) mod 26 ; 0 ≤ x ≤25
 Exemplu. Textul clar “Iulius loves Cleopatra” este transformat in
“mxolxv oryhv forsdwnd”. Formula se poate generaliza sub forma:
En(x) = (x+n) mod 26 ; 1≤n ≤25

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Criptografia convenţională
 Dezavantaje:
 Deoarece transformarea este liniară, căutarea pentru a determina cheia este foarte
simplă;
 Numărul cheilor (adică posibilităţle de transformare a literelor) este destul de mic
(numai 25 ).
 Substituirea simplă se bazează pe faptul că orice permutare a literelor
poate fi pusă în corespondenţă cu literele din limba engleză.
 Fiecare permutare a literelor este o cheie; deoarece numărul permutărilor
este 26! si 26 ! >1026, căutarea cheii devine destul de costisitoare.
 Deoarece aceeaşi substituţie este executată la toate apariţiile unei litere în
şir, pe baza unei analize statistice, se poate sparge cifrul. Atacurile de
bază, folosesc ca informaţie proprietăţile statistice ale limbajelor naturale.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Criptografia convenţională
 În limba engleză, “e” este cea mai frecventă literă, urmată de literele
“t,o,a,n,i ” etc.
 Cele mai comune combinaţii de două litere(“digrams”) sunt: “th”, “in”,
“er”, “re”, “an”.
 Cele mai comune combinaţii de trei litere sau trigrame (“trigrams) sunt:
“the”, “ing”, “and”, “ion”.
 Un criptanalist care încearcă să spargă un cifru monoalfabetic, va începe
prin a număra frecvenţele relative ale tuturor literelor din textul cifrat.
 După accea, el trebuie să încerce să asocieze cea mai frecventă literă cu
“e”, următoarea cu “t”.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Criptografia convenţională
 Apoi el trebuie să caute trigramele, să o gasească pe cea mai comună de
forma “tXe”, care sugerează că X este “h”. Similar, dacă apare frecvent
şablonul “thYt”, probabil că Y este “a”. Cu această informaţie, el poate
căuta apariţiile frecvente ale trigramelor de forma “aZn”, care sunt
asemănătoare cu “and” ş.a.m.d.
 Astfel, criptanalistul încearcă să creeze o varianta de text clar.
 O altă variantă, este de a ghici un cuvânt sau o expresie probabilă.
 Din acest punct, deducerea cheii este uşor de realizat, folosind statisticile
de frecvenţe a literelor din textele englezeşti.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Cifrurile cu transpozitie
 Metodele prezentate anterior păstrează ordinea simbolurilor din textul
clar, dar le deghizează. Spre deosebire de acestea, cifrurile cu transpoziţie
reordonează literele, dar nu le deghizează.
 Cifrul are drept cheie un şir de caractere ce nu conţine litere repetate.
Presupunem că cheia este de forma c1c2...cn şi avem ck(1)< ck(2)<… <
ck(n), în care k este o permutare a mulţimii
 {1,…,n}.Putem considera ordinea ASCII a caracterelor.
 Se scrie cheia c1c2...cn
 Textul clar este scris orizontal, pe linii: pe prima linie se scriu primele n
caractere, pe a doua următoarele n ş.a.m.d.
 Textul cifrat se obţine prin citire pe coloane, începând cu coloana de sub
ck(1), apoi coloana de sub ck(2) ş.a.m.d. coloana de sub ck(n) .

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Exemplu
 Cheia este MEGABUCK.
 Textul clar este:
 pleasetransferonemilliondollarstomyswissbankaccountsixtwotwo
 Textul cifrat este:
 afllsksoselawaiatrossctclnmomantlsilynt wrnntsowdpaedobuo

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Exemplu
M E G A B U C K
7 4 5 1 2 8 3 6
p l e a s e t r
a n s f e r o n
e m i l l i o n
d o l l a r s t
o m y s w i s s
b a n k a c c o
u n t s i x t w
o t w o a b c d

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
RC/Securitatea IT

Universitatea “Transilvania” din Brasov


Securitatea IT

1. Societatea informației și a
cunoașterii

costel.aldea@unitbv.ro 2
Societatea informației și a cunoașterii

1.1 eSociety – Societatea electronica


1.2 Securitate IT
1.3 Strategii (politici) de securitate

costel.aldea@unitbv.ro 3
1.Societatea informației și a cunoașterii

Client conectat Actori Internet


Client Wireless

Mobile Client Companie

Sistem deschis de
comunicare

e-business, e-commerce, e-government


B2B, B2C, G2C, P2P
costel.aldea@unitbv.ro 4
1. Societatea informației și a cunoașterii
Rețeaua globală a societății informației și cunoașterii

 Cunoașterea implică resurse, care sunt folosite productiv


Factorii de producție,capitalul și materiile prime vor fi trase înapoi
 Sectorul IT și internetul au dus la apariția unor noi forme de comunicare,de
producție,de comerț online și de servicii benefice populației
Forumuri de discuții online, administrație publică, piață electronică, etc.
 Piața electronică: Magazine online pentru diverse domenii:
cărți,audio/video,electronice,automobile,
licitații online
 Domeniul financiar: tranzacții online, online banking, plata taxe si impozite, etc.
 Apariția unor noi forme de organizare, tehnici și instrumente, chiar și în domenii
importante, cum ar fi domeniul medical, infrastructură, alimentarea cu apă și energie
electrică, etc. eBusiness
eCommerce „eSociety“
eGovernment
costel.aldea@unitbv.ro 5
1. Societatea informației și a cunoașterii

e-Business
• Utilizari ale domeniului IT și ale Internetului în procesul de afaceri interne și externe
• Sistemul ierarhic al unei companii de la furnizori până la clienții posesori de sisteme IT
• e-marketing, e-procurement, e-sales, e-learing, e-recruiting. eB

eG
e-Commerce eC
• Comerț electorinic prin intermediul unor rețele deschise și nesigure între vânzătorul de produse și client
• Dispozitive mobile ca aparaturi personale cu uz general
• Servicii de informare,servicii comerciale,servicii de plată,servicii de informare,etc

e-Government
• Tranzacții juridice și de afaceri în administrația locală,reginală,națională
• Procese electronice administrative(anunțuri de angajare,de relocare,etc)
• Comunicație prin e-mai cu cetățenii

costel.aldea@unitbv.ro 6
1. Societatea informației și a cunoașterii
ee––Business
Businessee –
Era digitală: e– Commerce
Commerce
„eSociety“
e– Society
„eSociety“
ee––Government
Government
 Comunicarea în societate este de neconceput fară sisteme IT!

 Cantități imense de date sunt salvate online,procesate electronic și pot fi accesate prin
intermediul rețelelor deschise și locale atât acasă cât și in instituțiile publice.
 Sistemele de telecomunicații și sistemele IT se dezvolta concomitent.

 Întreprinderile și administrția publică sunt dependente de funcționalitatea proprilor lor


sisteme informatice

 Sistemele IT sunt un factor de producție și reprezintă o rentabilitate sigură a investiției

Dependență generalizată de sisteme IT


Sistemele IT sunt „liantul“ eSociety-ului !
costel.aldea@unitbv.ro 7
1.Societatea informației și a cunoașterii
(A) Schimbări în organizarea afacerilor

Internet ca platforma în domeniul

afacerilor online
Nevoi de securitate

înainte

În prezent

IT-Systeme

costel.aldea@unitbv.ro 8
1.Societatea informației și a cunoașterii
(B) Schimbări în domeniul comunicațiilor
Dispozitive noi
Sisteme distribuite
Nevoi de securitate

Sisteme integrate
Comerț mobil
Servicii web
Sistemele IT și de comunicații sunt
omniprezente
Securitatea IT este esențială pentru o bună și eficientă
comunicare în eSociety
costel.aldea@unitbv.ro 9
1.Societatea informației și a cunoașterii

Realitatea în eSociety:

Creșterea rapidă a
numărului de actacuri
în domeniul IT

Varietate mare de amenințări


=>Risc major!

Sursă: Computer Zeitung


costel.aldea@unitbv.ro Mai 2004
10
1.Societatea informației și a cunoașterii
„Viața de zi cu zi“ B2B
B2B Creșterea nr. deVernetzung
Zunehmende rețele
în eSociety: B2C, G2C Creșterea
Zunehmende Komplexität
complexității
P2P
P2P Formare neadecvată
Unzureichende Ausbildung
 Trimiterea e-mailurilor
• de obicei în text plan,pot fi manipulate
• expeditorul și destinatarul nu sunt autentificați
• atașamentele pot conține viruși,viermi,troieni
• mesajele de tip SPAM sunt deranjante
Creșterea
Zunehmende
 Website-uri
• parolele,nr. cardului bancar,etc pot fi interceptate de altcineva
vulnerabilității
Sicherheitslücken
• descărcările de pe internet pot avea și conținut malware,care Lipsa conceptelor
Unzureichendede
poate fi daunător computerului
•Informațiile pot fi falsificate sau inventate
securitate
Sicherheitskonzepte
Mangelndes
Conștientizarea siguranței
 Utilizarea defectuasă a software-ului(inclusiv SO) Sicherheitsbewußtsein
• instalarea patch-urilor
• atacurile prin metoda exploit sunt în continuă creștere Zunehmende
Creșterea erorilor soft
 Intruziune neautorizată în rețelele private Softwarefehler
• respingerea atacurilor asupra serviciului
costel.aldea@unitbv.ro 11
1.Societatea informației și a cunoașterii

eSociety

Economie, administrație publică și gospodăriilor de a comunica în rețelele de computere deschise


Schimbului de informații, documente și produse

Servicii Informații Comunicare


De ce se dezvoltă
eSociety
Handel
așa de lent?
costel.aldea@unitbv.ro 12
1.Societatea informației și a cunoașterii
Ce este securitatea IT?

 Securitate în Tehnologia informației


 Protecția datelor,a informațiilor și a serviciilor
împotriva persoanelor neautorizate
 Disponibilitate tehnică și stabilitatea sistemelor IT
 Protecția datelor și a informațiilor împotriva distrugerilor
 Protecție împotriva interceptării și modificării datelor
 Autorizarea accesului persoanelor la date,servicii și sisteme IT,
adică definirea responsabilității lor
 Eliminarea erorilor soft din programe
 Protecția componentelor de rețea
 Evitarea erorilor de configurare

costel.aldea@unitbv.ro 13
1.Societatea informației și a cunoașterii

Securitate IT ...
 măsuri generale de protecție
 Backup periodic al datelor
 Controlul accesului la sistemele IT(PC,Server,
clădirea de birouri)
 Social Engineering (campanii de sensibilizare,
de formare,de control,etc.)
„ Protecție împotriva oamenilor,a sabotajelor și a spionajelor
industriale,etc.
„ Protecție împotriva calamităților,a intemperiilor,a furtunilor,
a inundațiilor,etc.

costel.aldea@unitbv.ro 14
1.Societatea informației și a cunoașterii
Securitatea IT este costisitoare!
o Securitate costă bani și sistemele IT sigure sunt scumpe,iar
securitatea absolută nu poate fi realizată!
o Costurile și beneficiile măsurilor de securitate ce sunt
implementate trebuie să fie rezonabile
o Analiză de risc pentru a determina riscul acceptat
o Determinare costurilor măsurilor de securitate,pentru a se
afla dacă riscul rămas este asigurat

Securitatea IT este dependentă de resursele


financiare disponibile!

costel.aldea@unitbv.ro 15
1.Societatea informației și a cunoașterii
Securitatea IT
 Realizează în siguranță transmisia de date in rețea

 Înseamnă siguranța propriei rețele de calulatoare

 Este protecție împotriva oamenilor care folosesc fără


autorizare,în scop propriu,informații și servicii din rețeaua
de calculatoare sau atacă sistemele IT aparținând altor
societăți,provocând acestora pagube serioase

 Nu este un produs,ci un proces,inlcuzând partea


Hardware,Software,precum și oameni.
costel.aldea@unitbv.ro 16
1.Societatea informației și a cunoașterii

Securitatea IT se referă la

• Aspecte tehnice, organizatorice și juridice

• Măsuri orientate în funcție de domeniu, corporative și


la nivel de întreprindere

• Precauții la nivel personal asupra conținutului,


sistemului de aplicare, la nivel rețea și la nivel
fizic

costel.aldea@unitbv.ro 17
1.Societatea informației și a cunoașterii
Ce este securitatea in Internet?
 Protecția sistemelor IT împotriva pericolelor existente în internet
ca unire dintre mai multe rețele de calculatoare diferite din punct
de vedere fizic.
 Este parte a securității în domeniul IT
 Afectează toate persoanele care au o conexiune la internet
 Este dependentă de modul și scopul în care computerul este
legat la Internet
• Numai pentru căutarea informațiilor
• Pentru prelucrarea unor procese de afaceri,cum ar fi
Home Banking,magazine online,etc
 Protecție împotriva conținutului malware(Viruși, viermi,
cai troieni, etc.)

costel.aldea@unitbv.ro 18
1.Societatea informației și a cunoașterii
Securitatea internetului ...
 Confidențialitatea și integritatea datelor importante
 Autentificarea oamenilor, procese și alte resurse
 Ghiduri de configurare pentru Browser, Server, Clients
 Instalare firewall,proxy,etc
 Asigură Remote Acces prin Internet la rețele locale
 Legături între sedii ale unor firme prin Internet
 Protecția componentelor de rețea, printre care și serverul web
 Raportarea conectărilor la server,la router,etc

costel.aldea@unitbv.ro 19
1.Societatea informației și a cunoașterii

Securitatea Internetului...
 reguli generale de folosire a Internetului
• Computerul personal nu trebuie folosit pentru a afecta alte persoane sau
computere(din „Zece porunci pentru etica computerelor”)
• Verificarea zilnică a poștei electronice

Securitatea internetului înseamnă înseamnă o conexiune


sigură la internet public.

Securitatea internetului este o componentă esențială a


Securității IT a unei companii,când rețeaua internă este
conectată la un internet public

costel.aldea@unitbv.ro 20
1.Societatea informației și a cunoașterii

Policiti de securitate

„ bazate pe obiectivele și cerințele


de securitate ale întreprinderii
„ este un concept global cu orientări și politici pentru
Domeniul securității IT și managementul riscurilor IT
„ bazat pe riscurile identificate și cerințele de
securitate care rezultă
„ include măsurile technice,organizatorice și legale necesare
pentru a fi atinse obiectivele de securitate dorite
(managementul securității)

costel.aldea@unitbv.ro 21
1.Societatea informației și a cunoașterii
Scopurile securității Analiza amenințarilor

Corecturi
Analiza riscurilor

Procesul securității
ca ciclu de
Controlul
proces Cerințe de securitate respecării
global conceptelor
de securitate
și
a bilanțului
Conceptul de securitate normal
Măsuri,reguli,reglementări

costel.aldea@unitbv.ro Punerea în aplicare 22


1.Societatea informației și a cunoașterii
Concepte de securitate IT

Strategie pentru realizarea și asigurarea securității IT cu privire


la riscul acceptat în conformitate cu fondurile financiare
disponibile și respectarea legilor
ƒ bazat pe o analiză a riscurilor si apoi pe cerințele de securitate
care rezultă în urma acesteia
ƒ servește pentru a identifica și elimnia vulnerabilităților prin implementarea
unor măsuri adecvate
ƒ se referă la măsuri în technologie și organizare implicând toți factorii
de decizie și respectarea cerințelor legale
ƒ definește limitele unui comportament acceptat și reacția la încălcarea
acestora

costel.aldea@unitbv.ro 23
1.Societatea informației și a cunoașterii

Stuctura sistemului IT

Măsuri de Criterii de
securiate securitate

Conceptede
Concepte de
securitate
securitate

cerințe
Analiza de risc
de securitate

costel.aldea@unitbv.ro Personal 24
1.Societatea informației și a cunoașterii
Politica de securitate ca proces ciclic

Politică

Îmbunătățire continuă!
Tehnică
Grad tot mai mare de
diferențiere!
Creșterea profunzimii!
Securitatea IT se va dezvolta!
costel.aldea@unitbv.ro 25
1.Societatea informației și a cunoașterii
Recapitulare
ƒ Se observă creșterea continuă a companiilor care dispun de un sistem
informatic;eSociety ne influențează viața de zi cu zi;dependența de sisteme
IT și de funcționalitățile acestora crește în fiecare zi
ƒ Sistemele și serviciile IT trebuie protejate împotriva atacurilor;atacurile
sunt diverese;trebuie implementate măsuri de securitate adecvate;
ca politici de securitate
ƒ Conexiunea la internet conține riscuri și amenințări adiționale,așadar
măsurile de securitate sunt necesare pentru orice sistem ce este
conectat la internet
ƒ Politica de securitate IT cu măsurile de securitate pentru atingerea
unor anumite scopuri este un proces ciclic
ƒ Aceste reguli trebuie conștientizate de toți care posedă un sistem IT!
ƒ Securitatea IT asigură rentabilitate și profit companiilor
costel.aldea@unitbv.ro 26
Recapitulare IT Security
ƒ S
ƒ E
Ce părere aveți?
ƒ C
ƒ U
ƒ R
ƒ I
ƒ T
ƒ A
ƒ T
ƒ E Internet Rețeaua
de acasă
costel.aldea@unitbv.ro 27
Securitate in IT

Universitatea “Transilvania” din Brasov


3. Principiile
criptografiei
Cuprins: Securitatea in
Tehnologia Informatiei

3 Principiile criptografiei
3.1 Criptare si confidentialitate
 Substitutie mono- si polialfabetica
 On-time Pad
 Steganografia
3.2 Sisteme de criptare si confidentialitate
 Metoda simetrica si asimetrica
 Sisteme hibrid
 Criptosisteme cu cifruri bloc si cu cifruri secventiale
3.3 Valoarea Hash si integritatea datelor
 Functia hash
 Integritatea datelor
3.4 Semnatura digitala si autentificare
 Semnatura digitala
 Semnatura digitala standard
3.5 Criptare pe curbe eliptice

costel.aldea@unitbv.ro 3
Tipul de amenintare Modul de securitate
Cai Troieni Confidentialitatea
Ingineria Sociala

Attack Applets
Virusuri Integritatea
Cai Troieni
 Mail-Spoofing, IP-, ARP-,
DNS-Spoofing Autentificare
Violarea politicii de securitate

Respingerea de comenzi Non-repudierea

Passwort Cracking, Session-Hijacking


ICMP-Tunneling Controlul accesului

costel.aldea@unitbv.ro 4
Principiile criptografiei
Metode criptografice

Codarea Integritatea Autentificarea

Metodele criptografice constituie baza teoretica


pentru aplicatii de securitate in retele de calculatoare!
costel.aldea@unitbv.ro 5
Codarea
Principiile codarii

m c m
c = E(m) m = D(c)

m c m
c = E(m,K) m = D(c,K)

costel.aldea@unitbv.ro 6
Codarea
Metode de codare

Metoda cu cheie privata Metoda cu cheie publica

Cheie secreta Cheie secreta si cheie publica


Operatii aritmetice simple Operatii aritmetice complexe
Codarea cantitatilor mari de date Codarea cantitatilor mai mici de
date

Metoda hibrid

costel.aldea@unitbv.ro 7
Codarea
Metode de codare

Metoda cu cheie privata Metoda cu cheie publica

Atacator

Transmitator
Receptor cu
cu text
text simplu
simplu

Cifrare Descifrare
Metode simetrice
DES, 3DES, IDEA, AES

c = E(m,K ) D( c,K ) = m

Canal nesigur

costel.aldea@unitbv.ro 8
Codarea
Metode simetrice
DES, 3DES, IDEA, AES
Metode de codificare

Metoda cu cheie privata Metoda cu cheie publica

Atacator

Metode asimetrice
RSA, DH, ElGamal,
Cifrare
EC-DH, EC-ElGamal

Canal nesigur

costel.aldea@unitbv.ro 9
Codarea
Exemplu Algoritmul RSA

 Dezvoltare Ron Rivest, Adi Shamir, Leonard Adleman, 1978, bazat pe factorizare.

p,q prim n = p* q φ ( n ) = ( p − 1)* ( q − 1) d ∈Ζφ ( n ) = {0,1,...,φ ( n ) − 1},d ≠ 0


 Initializare ggT( d ,φ ( n )) = 1 e* d =1 mod φ ( n )

 Codare

Apoi :
 Decodare

costel.aldea@unitbv.ro 10
Codarea
Calcul: Algoritmul RSA
 (1)
p = 47 q = 59 n = 2773 φ ( n ) = 46 * 58 = 2668
d = 157 0 < e < 2668 e* 157 = 1 mod 2668 e = 17
Cheie
Codare
Decodare
 (2)
p = 3 q = 17 n = 51 φ ( n ) = 2* 16 = 32
d = 13 0 < e < 32 e * 13 = 1 mod 32 e=5 Sei m = 19
Cheie
Codare

Decodare
costel.aldea@unitbv.ro 11
Integritatea
Principiul functiei Hash

Mesaj m = (10011010...1000110 )
Cu lungime arbitrara
Functia Hash m → h = H ( m )
Comprimare

 Functia disponibila
H(m) ⇒ m

 Rezistenta la coliziune
Valoarea hash h = (01...101)
m ≠ m′ ⇒ H(m) ≠ H(m′ )
Cu lungime fixa (128, 160 Bit)

costel.aldea@unitbv.ro 12
Integritatea
Verificarea datelor

Transmitator Receptor cu
Atacator Integritatea
cu text simplu text simplu
datelor
m m

Da
m,h
h = H(m)
H h′ = h
Nu
mext := [m,h]

Pierderea
h′ = H(m) datelor

Canal nesigur

costel.aldea@unitbv.ro 13
Integritatea
Functia Hash

Compresia, Sens unic, Rezistenta la coliziuni

Modificarea
Cod de
codului de
autentificare
detectare
Mesajul de lungime arbitrara este Parametrizare prin metoda de criptare
comprimat prin metoda speciala de simetrica cu cheia secreta.
comprimare la cativa octeti.

Metoda: MD5 (128 Bit), SHA (160 Bit) Metoda: MAC-DES

Metoda: HMAC
costel.aldea@unitbv.ro 14
Integritatea
Algoritmul HMAC

Algoritmul HMAC a fost dezvoltat in anul 1996 si este cel mai frecvent MDC bazat pe algoritmul
MAC. Dintr-un mesaj m de lungime arbitrara si o cheie secreta K se creaza o valoare fixa H, dupa cum
urmeaza:

 Functia Hash H(m) (meist MD5 oder SHA-1) Cheie secreta K


Mesajul m descompus in blocuri de 64 biti.
Cheia secreta K este umpluta cu zerouri pana la lungimea blocului.

 Cheie de ajtor

Valoarea Hash

costel.aldea@unitbv.ro 15
Autentificarea
Principiul semnaturii
digitale
Autentificarea
transmitatorilor
Atacator necunoscuti si
integritatea datelor.

Da

h′ = h
Nu

Metoda semnaturii
DSA, RSA, RIPEMD, ElGamal,
EC-DSA, EC-ElGamal

Canal nesigur
costel.aldea@unitbv.ro 16
Autentificarea
Strucutura de baza: Metoda
semnaturii digitale

 Parametru Perechi de chei de la statiile de comunicare


Functia Hash

Generarea de semnatura Generarea mesajului transmis


(a) Valoarea Hash
(b) Parametrul semnaturii

 Examinarea semnaturii Calcularea measjului primit


(a)Valori ajutatoare
(b)Valoarea de comparare pentur parametrul semnaturii
(c)Testul de comparare

costel.aldea@unitbv.ro 17
Autentificarea
Exemplu: Algoritmul semnaturii
digitale(DSA)

 Dezvoltare: Dezvoltat de NSA, in functie de problema logaritmului discret.

 Setup:

Generare:

Verificare:

costel.aldea@unitbv.ro 18
Trust Center
Cheile publice trebuie sa fie autentificate!!!
Hierarchical Trust
PKIX-Standard

Trust Center, Certification Service Provider


(Certification Authority)

Serviciul de certificare Serviciul de registrare

Verzeichnisdienst Zeitstempeldienst

Generarea cheii
Cheie cu informatie suplimentara (CA-Signatur)
 Salvarea si distribuirea cheii
Tasta de blocare sau reeditare (Zertifikate-Management)

costel.aldea@unitbv.ro 19
Recapitulare IT Security
ƒ S
ƒ E
Ce părere aveți?
ƒ C
ƒ U
ƒ R
ƒ I
ƒ T
ƒ A
ƒ T
ƒ E Internet Rețeaua
de acasă
costel.aldea@unitbv.ro 20
Proxy
Kerberos
Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Servicii proxy
 • Un proxy-server este un program care rulează pe o maşină,
componentă a firewall-ului numita gazdă bastion, datorită rolului de
"fortăreaţă" pe care îl îndeplineşte în apărarea reţelei(figura urm).
 Ca urmare a acestui rol, trebuie luate o serie de măsuri pentru asigurarea
securităţii sale:
 • • Pe gazda bastion nu vor exista, pe cât posibil, conturi de utilizatori
 - deoarece acestea expun gazda unor atacuri de tip "password guessing";
de asemenea, utilizatorii pot instala şi rula programe proprii care pot
constitui ameninţări pentru securitate. Este de preferat să existe un singur
cont (al super-user-ului).
 • • Pe gazda bastion nu trebuie să se gasească instrumente (de exemplu,
compilatoare) care ar putea ajuta un eventual atacator; în general, pe
gazda bastion trebuie să existe doar acele programe (proxy-servere), strict
necesare pentru îndeplinirea rolului său.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Servicii proxy
 • • Sistemul de operare trebuie să fie cât mai simplu, având activate
doar opţiunile strict necesare.
 • • Trebuie să existe proceduri de backup periodic, inclusiv al fişierelor
de log. În cazul unui atac, fişierele de log pot furniza informaţii cu privire
la natura acestuia.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Servicii proxy
Host 1
Conexiun
Conexiun e proxy-
e Client server
proxy- server
Host 2 server real

Firewall Serv
Proxi - er
Host 3 server real

Host 4
Reteaua
interna

Arhitectură cu gazdă duală

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Servicii proxy
 • De obicei, gazda bastion este o poartă (gateway). Din aceasta cauză,
un proxy server mai este denumit şi poartă la nivel aplicaţie (application
gateway). De obicei, o sesiune de comunicaţie în Internet se desfăşoară
după modelul client-server: clientul emite o cerere către un server (de
exemplu, transferul unei pagini Web) iar acesta răspunde cererii. În cazul
serviciilor proxy, comunicaţia se desfasoară astfel:
 • 1. Clientul emite cererea către proxy server (nu către serverul real),
comunicându-i acestuia destinaţia dorită (serverul real care va răspunde
cererii);
 • 2. Proxy-serverul analizează cererea şi, dacă aceasta respectă
politica de securitate a organizaţiei, este trimisă serverului real.
 • 3. Serverul răspunde cererii, răspuns care se întoarce la proxy-server.
 • 4. Proxy-serverul analizează răspunsul şi dacă aceasta
respectă politica de securitate a organizaţiei, este trimis clientului.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Servicii proxy
 Ca urmare, nu mai este creată o singură conexiune client-/server, ci
două: client/proxy-server şi proxy-server/server-real. Serverul nu este
conştient de existenţa clientului; el comunică doar cu proxy-serverul.
Clientul nu comunică direct cu serverul, ci doar cu proxy-serverul. Pentru
ca aceasta schemă să funcţioneze, trebuie ca între client şi server să nu
existe conectivitate directă (la nivel IP); în caz contrar, clientul poate
trimite cererea direct către serverul real, eludând astfel proxy-serverul.
Din această cauză, opţiunea de routare pe gateway (transfer automat al
pachetelor dintr-o reţea în cealaltă) va fi dezactivată.
• Fiecare proxy-server va avea un set de reguli (analoge celor de la
ruterele protectoare), care implementează politica de securitate a
organizaţiei relativ la protocolul respectiv.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Servicii proxy
 • Avantajul proxy-serverelor, este că ele înţeleg protocolul pentru care
au fost proiectate, făcând astfel posibil controlul la nivel aplicaţie, care
constă din:
 • • Autentificare - aceasta permite selectarea utilizatorilor (interni sau
externi) care au dreptul să acceseze un anumit serviciu.
 • • Filtrarea individuală a operaţiilor protocolului - de exemplu, cu
ajutorul unui proxy-server pentru FTP poate fi implementatăo politică de
securitate care permite aducerea dar interzice exportarea de fişiere;
 • • Monitorizarea - înregistrarea în fişierele de log a sesiunilor de
reţea.
 • Principalul dezavantaj al proxy-serverelor îl constituie faptul că, prin
existenţa a două conexiuni în loc de una, se modifică procedura de
utilizare a serviciilor Internet. Acest lucru impune modificarea fie a
programelor client, fie a modalităţii de apel al acestora de catre utilizatori.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
Servicii proxy
 • Rezultă astfel două abordări posibile:
 • • Utilizarea de clienţi normali şi modificarea comportamentului utilizatorilor:
aceştia nu se mai pot conecta direct la serverele dorite, ci trebuie să se conecteze
mai intâi la firewall( proxy-server) si să-i "spună" acestuia destinaţia dorită, într-
un limbaj specific fiecărui proxy-server. Această metodă impune utilizatorilor un
mod de lucru mai greoi. În particular, utilizatorii trebuie să folosească proceduri
diferite pentru accesarea serverelor din reţeaua internă a organizaţiei (pentru
aceasta nu trebuie sa treacă prin firewall), faţă de cele externe (din Internet).
 • • Utilizarea de clienţi modificaţi sau configuraţi corespunzător pentru
"conlucrarea" cu proxy-serverul. În acest caz, utilizatorul nu va sesiza prezenţa
proxy-serverului (exceptând cazul când este necesară autentificarea de către
firewall): clientul va efectua automat toate procedurile privind conectarea prin
firewall. Astfel de clienţi există în prezent pentru o serie de protocoale, ca FTP sau
HTTP. De exemplu, Netscape Navigator sau Internet Explorer pot fi configurate
să se conecteze prin intermediul unui proxy-server.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Arhitectura cu subreţea
protejată (screened subnet)
 În această arhitectură, bastionul nu se mai află în reţeaua internă, ci
este despărţit de aceasta printr-un al doilea ruter protector, numit router
interior. Cele două routere delimitează o reţea intermediară, care separă
reţeaua internă de cea externă (Internet). Pe această reţea (numită şi DMZ
- DeMilitarized Zone) se află gazda (sau gazdele) bastion (vezi figura
urm).
 • Astfel, dacă un atacator reuşeşte să compromită fie routerul exterior,
fie un gazda bastion, el nu are acces imediat 1a reţeaua internă. Datorită
routerului interior, prin reţeaua intermediară nu circulă informaţie internă,
deci interceptarea traficului în această reţea nu va divulga informaţie
 confidenţială. Routerul exterior separă reţeaua intermediară de cea
externă. Permite traficul doar între reţeaua intermediară (bastion host-uri)
şi reţeaua externă, traficul direct între reţeaua internă şi cea externă este
interzis. Principalul său rol este de a proteja reţeaua intermediară (bastion
host-urile) împotriva atacurilor provenite din reţeaua externă.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Arhitectura cu subreţea
protejată (screened subnet)
 • Ruterul interior separă reţeaua internă de reţeaua
intermediară, permiţând traficul doar între cele două; traficul direct între
reţeaua internă şi cea externă este interzis. Se observă că traficul direct
intre reţeaua internă şi cea externă este interzis atât de routerul interior, cât
şi de cel exterior.
 • Această arhitectură oferă cel mai înalt grad de protecţie, însă are
costul cel mai mare, datorită prezenţei a două routere. În reţeaua
intermediară pot exista mai multe gazde bastion (fiecare rulând proxy-
servere diferite), dar această configuraţie este foarte costisitoare.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10
Arhitectura cu subreţea
protejată (screened subnet)
Bastion host
Bastion host
Proxi server
Proxi server
Ruter
interior Ruter
exterior
Host 2

Serve
r real
Host 3

Proxi server
Host 4

Subretea
Reteaua interna protejata

Arhitectura cu subreţea protejată

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Kerberos
 • Autentificarea (authentication) este procesul prin care se verifică
identitatea unei instanţe (de exemplu un utilizator) care a produs nişte
date.
 • Să observăm că pentru a putea vorbi despre autentificare trebuie să
avem o noţiune de identitate a utilizatorilor. Calculatorul trebuie să poată
distinge diferiţii indivizi care îl folosesc. Trebuie să existe un spaţiu de
nume pentru utilizatori; autentificarea va pune în corespondenţă o entitate
activă cu un astfel de nume.
 • În Unix numele utilizatorilor autorizaţi sunt trecute într-o mică bază de
date/etc/passwd (sistemele mai moderne au scheme mai complicate, dar
înrudite); pentru un sistem Unix a autentifica un utilizator constă în a
asigna unul dintre aceste nume cunoscute unui set de procese executate de
acel utilizator. Dacă un individ nu are un nume în acel fişier atunci el nu
există pentru calculator.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Kerberos
 • Cu alte cuvinte, pentru a putea vorbi despre autentificare trebuie ca
părţile implicate în comunicare să aibă un spaţiu de nume comun pentru
utilizatori.
 • Protocolul Kerberos a fost proiectat la Universitatea MIT
(Massachusetts Institute of Techonology) în cadrul proiectului Athena, în
jurul anului 1984. Scopul protocolului Kerberos este de a permite unui
client să-şi demonstreze identitatea unui server aflat la distanţă,undeva
dincolo de o reţea complet nesigură.
 • Protocolul garantează, de asemenea că clientul nu poate conversa cu
un calculator care se dă drept server; autentificarea se face în ambele
direcţii.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Kerberos
 Protocolul în sine constă dintr-un schimb de mesaje între un client şi o
serie de servere, fiecare cu o altă misiune. Idea de bază aparţine lui
Needham şi Schroeder care au publicat-o în 1978 în Comm. of the ACM.
Descrierea detaliată a protocolului se găseşte în documentul numit RFC
1510, disponibil de pe Internet.
 • Cei care administrează Kerberos pot pune întrebări pe grupul de
 News comp.protocols.kerberos.com
 • Protocolul Kerberos indică de fapt o serie de mesaje care trebuie
schimbate între părţile care doresc să comunice; unele din mesaje sunt
criptate. Ca funcţie de criptare/decriptare se foloseşte DES (Data
Encryption Standard).
 • Kerberos este un protocol; pentru a fi util anumitor aplicaţii (cele care
au nevoie de comunicaţie client-server),acestea trebuie modificate pentru
a folosi autentificarea oferită de Kerberos. (Aplicaţiile modificate sunt
atunci numite ``kerberized'').
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Kerberos
 • În mod normal într-un domeniu administrativ în care se foloseşte
Kerberos programe ca telnet, rlogin, POP (post-office protocol), fişiere la
distanţă (AFS), etc. trebuie rescrise în aşa fel încît clientul să se autentifice
serverului folosind noua metodă (toate aceste aplicaţii sunt de tip client-
server).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Principii
 Premiza iniţială este că există un server central, numit server de
autentificare (AS), care cunoaşte identităţile tuturor clienţilor posibili.
 • Fiecare client a stabilit o parolă secretă pe care şi acest server o ştie.
 Parola ajunge la server printr-o cale sigură; aceasta parola nu este
cunoscută de nimeni altcineva, nici măcar de celelalte servere cu care
 clientul va comunica (de la care va obţine serviciile care-l interesează).
 • Toate celelalte servere din domeniul administrativ sunt şi ele clienţi ai
AS: au o parolă unică ştiută numai de AS şi de acel server.
 • Niciodată parola nu va circula în clar pe reţea; atunci oricine ar putea
să o citească şi să o folosească în locul clientului de drept.
 • Pentru a se proteja împotriva intruşilor care pot înregistra sau şterge
mesaje, acestea vor contine informaţii ca ora la care au fost trimise şi un
număr de ordine (pentru a detecta omisiunile).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
Principii
 • Cheile folosite în comunicarea dintre client şi servere se schimbă
frecvent.
 Implementarea standard expiră o cheie după 25 de ore. În felul acesta un
atac criptanalitic nu va avea prea mult succes: dacă durează mai mult de
25 de ore atunci cheia descoperită este deja inutilă (eventualele mesaje
deja interceptate şi stocate vor putea fi citite, dar stricăciunile sunt
limitate).
 Cheia pe care un client şi un server o folosesc în comun se numeşte cheie
de sesiune şi este generată aleator.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 17
Mesajele (protocolul Needham-
Schroeder)
 • Să presupunem că un client vrea să dialogheze cu un server de fisiere.
 Protocolul esenţial este compus din 4 mesaje (protocolul real este o simplă
 extensie a ideii prezentate):
 - Un mesaj de la client spre AS, prin care se indică intenţia de a comunica
cu serverul de fisiere;
 - Un mesaj de răspuns de la AS pentru client, prin care AS îi trimite
clientului noua cheie de sesiune şi un pachet pentru serverul de fisiere;
 - Un mesaj de la client spre serverul de fisiere, în care este inclus
pacheţelul de mai sus, pentru a garanta faptul că clientul a discutat cu AS
(pacheţelul poate veni numai de la AS);
 - Un mesaj de răspuns de la serverul de fisiere prin care clientul este
convins că serverul a putut deschide pacheţelul, deci că discută într-adevăr
cu acest server.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 18
Mesajele (protocolul Needham-
Schroeder)
 • După acest schimb iniţial de mesaje, clientul şi serverul de fisiere vor
folosi cheia de sesiune generată de AS pentru a cripta cu DES toată
comunicaţia dintre ei.
 • Vom vedea că mesajele sunt relativ încîlcite pentru a preveni toate
atacurile de mai sus. Dacă veţi încerca să simplificaţi protocolul aproape
sigur îl veţi face vulnerabil la anumite tipuri de atacuri.
 • Să notăm cele 3 entităţi care colaborează astfel: C clientul, AS
serverul de autentificare şi S serverul de fisiere(vedeţi şi figura urm.).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 19
Mesajele (protocolul Needham-
Schroeder)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 20
Mesajele (protocolul Needham-
Schroeder)
 • Vom mai introduce următoarele notaţii:
 - Ka,b este cheia de sesiune pe care o folosesc pentru conversaţie a şi b;
de exemplu KC,S va fi cheia folosită pentru criptare/decriptare între client
şi serverul de fis.; cum am spus mai sus, AS este serverul de autentif., care
ştie parola fiecărei alte entităţi din sistem.
 - Kz este cheia pe care clientul z şi AS o folosesc în comun (parola
clientului z); de pildă Ks este parola serv. de fis. (cunoscută numai de el şi
de AS);
 - {mesaj1, mesaj2}K indica faptul că mesajele 1 şi 2 sunt puse într-un
pachet care este apoi criptat cu cheia K.
 - tichet (ticket): Ta,b = { Ka,b, a, ora curenta };
 un mesaj în care sunt împachetate 3 informaţii: o cheie de sesiune
 între a şi b, numele lui a şi ora curentă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 21
Mesajele (protocolul Needham-
Schroeder)
 Cu aceste notaţii putem scrie complet ne-ambiguu toate mesajele
schimbate între C, S şi AS. Săgeata indică traseul fiecărui mesaj: C --->
AS: C, S, ora expirare, N (aleator).
 Clientul afirmă propria identitate, identitatea serverului cu care vrea să
discute, trimite un număr aleator şi cît timp ar dori să converseze cu S.
 • AS va răspunde astfel: AS ---> C$: {KC,S, S, ora expirare, N}KC,
 {TC,S}KS .
Acest mesaj complicat are două părţi mari: prima este destinata clientului,
şi este criptată cu cheia clientului KC, iar a doua este un tichet pentru S,
criptat cu cheia lui S. Să vedem la ce folosesc părţile din mesaj:

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 22
Mesajele (protocolul Needham-
Schroeder)
 • Prima parte a mesajului este criptată cu cheia KC a lui C. Pentru că
această cheie este secretă, nimeni altcineva nu poate decripta acest mesaj
decît C; la fel stau lucrurile şi pentru partea a doua a mesajului, care fiind
criptată cu KS este inteligibilă numai pentru S.
 • KC,S este un număr aleator generat de AS, care va fi folosit ca cheie
de sesiune între C şi S; observaţi că cheia de sesiune apare în ambele părţi
ale mesajului, în aşa fel încît va fi cunoscută atît de către C cît şi de S.

 • AS îi confirmă lui C identitatea serverului de disc S şi indică durata


de validitate a lui KC,S (care poate fi diferită decît a dorit C în primul
mesaj).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 23
Mesajele (protocolul Needham-
Schroeder)
 • Faptul că N apare în mesajul către C garantează că acest mesaj a fost
criptat de AS; de asemenea, acest mesaj nu putea fi un mesaj mai vechi
dintr-o comunicaţie anterioară, pentru că N diferă.
 • Partea a doua a mesajului este opacă pentru C; tot ce poate face C cu
ea este să o înainteze lui S; C (sau oricine altcineva) nu o poate citi; dacă
cineva ar modifica partea a doua, S nu ar mai putea-o decodifica şi obţine
un mesaj corect, deci tichetul nu poate fi contrafăcut sau modificat.
 • C ---> S: {C, ora curenta, suma de control}KC,S, {TC,S}KS.
 • Mesajul are din nou două părţi.
 -Partea a doua este exact partea a doua a mesajului 2, aşa cum a fost
primită de la AS.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 24
Mesajele (protocolul Needham-
Schroeder)
 - Prima parte a mesajului are scopul de a demonstra că acest mesaj este
 ``proaspăt'': S va extrage KC,S din partea a doua a mesajului şi o va folosi
pentru a citi prima parte a mesajului. De acolo află ora la care a fost trimis
mesajul, şi îl rejectează dacă ora diferă prea tare de ora locală. (Asta ar
putea să însemne că mesajul a fost capturat de un inamic şi re-lansat).
Suma de control ne asigură că mesajul nu a fost modificat de nimeni; este
 practic imposibil să modifici un mesaj criptat şi să repari şi suma de
control dacă nu ştii cheia.
 • S ---> C: {ora curenta+1}KC,S.
 • Prin acest mesaj S în convinge pe C că a ajuns la destinaţia
dorită: mesajul are ora curentă trimisă anterior de C plus 1. Dar ora putea
fi extrasă numai de cel care avea KC,S, care fiind o cheie de sesiune era
ştiută numai de S. Nu era suficient să returneze aceeaşi valoare, pentru că
atunci acest mesaj putea fi o copie a (unei părţi a) mesajului anterior.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 25
Mesajele (protocolul Needham-
Schroeder)
 La sfîrşitul acestei comunicaţii atît C cît şi S sunt siguri de identitatea
celuilalt şi în plus au la dispoziţie o cheie de sesiune KC,S cu care pot
cripta toate mesajele pe care le schimbă. Autentificarea a fost făcută.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 26
Implementarea Kerberos
 • Implementarea lui Kerberos încearcă să ţină cont de anumite
particularităţi ale lumii reale care fac realizarea protocolului mai dificilă.
 • Prima întrebare: unde este stocată parola fiecărui client KC, KS, etc.
AS trebuie să fie o maşină foarte sigură; dacă parola unui client este
stocată pe disc, atunci este mai putin protejata. Deci Kerberos nu
memorează parola nicăieri! Utilizatorul este obligat să o tasteze de fiecare
dată cînd vrea să fie autentificat.
 • Observaţi că KC este folosită în mesajele de mai sus numai pentru a
decripta mesajul 2; în rest este inutilă.
 • Deci procedura este următoarea: programul kerberizat al clientului va
lua legătura cu AS, iar cînd răspunsul soseşte utilizatorul trebuie să tasteze
parola KC. Parola este imediat folosită pentru a decripta mesajul de la AS
după care este complet ştearsă din memorie. În acest fel fereastra de
vulnerabilitate este redusă la maximum.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 27
Implementarea Kerberos
 • Pe de altă parte, utilizatorul va trebui să tasteze parola pentru fiecare
nou server S pe care vrea să-l folosească (adică pentru fiecare nouă
sesiune). Situatie care mareste efortul. Kerberos a introdus atunci un al
doilea server central numit ``Serverul care dă tichete'‘(TGS- Ticket
Granting Server). Ideea este TGS are de fapt toate parolele KS. Clientul C
se autentifică la TGS exact în acelaşi fel ca la oricare server S, obţinînd un
tichet de la AS.
 Odată autentificat la TGS şi folosind cheia de sesiune KC, TGS clientul
poate solicita oricîte chei pentru alte servere S, S1, etc.
 • Figura urm. arată o situaţie reală: mesajele 1,2 sunt schimbate numai
cînd utilizatorul se logineaza. Mesajele 3,4 sunt schimbate de fiecare dată
cînd utilizatorul vrea să contacteze un nou server (adică să deschidă o
nouă sesiune).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 28
Implementarea Kerberos
 Mesajul 5 este folosit de client pentru a se autentifica fiecărui nou server,
iar mesajul 6 este opţional, autentificînd serverul pentru client. În mesajul
5 apare un element nou, numit Ksubsesiune: clientul poate alege aici o
nouă cheie de sesiune care să fie folosită în locul cheii oferite de TGS,
KC,S.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 29
Implementarea Kerberos
 • Schimbul complet de mesaje în protocolul Kerberos, este prezentat in
tab. urm.
 • Kerberos este implementat sub forma unor procese server (AS, TGS)
şi a unor biblioteci care se pot lega în programele clienţilor şi serverelor.
Funcţionează sub o mare varietate de sisteme de operare( Unix,Windows).
Mai are si alte aspecte( de autentificarea între domenii administrative
diferite, transmiterea tichetelor, etc.)

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 30
Implementarea Kerberos
Nr Între Conţinutul mesajului
1 C ---> AS C, TGS, ora de expirare, N
2 AS ---> C KC, TGS, ora de expirare, N}K_C,
{TC,TGS}KTGS
3 C ---> TGS {ora locala}KC,TGS, {TC,TGS}KTGS, S, ora
de expirare, N1
4 TGS ---> C KC,S, S, ora de expirare, N1}KC, TGS,
{TC,S}KS
5 C ---> S {ora locala, suma de
control,Ksubsesiune}KC,S, {TC,S}KS
6 S ---> C {ora locala}KC,S

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 31
Slăbiciunile lui Kerberos
 • Chiar dacă în teorie Kerberos este minunat, implementarea lui în
practică este cel puţin dificilă. Condiţiile ideale existente pe hîrtie sunt
greu de obţinut într-o reţea de calculatoare reale.
 • La ora actuală nu există nici un fel de metodă complet riguroasă
pentru a arăta ca un protocol criptografic nu scapă informaţii; există
metode pentru a testa dacă un protocol rezistă la atacurile cunoscute, dar
foarte adesea se publică algoritmi care mai tîrziu se dovedesc greşiţi. În
general, raţionamentele cu astfel de protocoale sunt foarte complicate.
Cercetarea în domeniu este în plină desfăşurare şi foloseşte tehnici ca
teoria informaţiei, teoria complexităţii, logici speciale (ex. knowledge
theory), etc.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 32
Slăbiciunile lui Kerberos
 • Voi ilustra aici numai unele dintre deficienţe, pentru a da o idee
despre natura lor.
 • Să observăm că clientul trebuie să păstreze undeva cheile de sesiune
pentru a putea conversa cu serverele: fiecare mesaj după cele de
autentificare va fi criptat cu aceste chei. Clientul trebuie să posede deci
practic permanent KC, TGS şi KC,S. E adevărat că aceste chei expiră în
25 de ore, deci sunt mai puţin importante decît o parolă care teoretic este
folosită luni întregi. Întrebarea este însă: unde sunt ţinute pe calculatorul
clientului aceste chei?

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 33
Slăbiciunile lui Kerberos
 • Pe o staţie obişnuită Unix lucrează în mod normal mai mulţi
utilizatori. Tichetele utiliz. Trebuie sa fie diferite. Pe un sistem Unix nimic
nu poate fi ascuns de administrator (root). Administratorul unui sistem
poate citi orice fişier, şi poate inspecta memoria fizică a oricărui proces.
Acesta este un călcîi al lui Ahile al lui Kerberos;
 toate metodele cunoscute pentru a penetra un sistem Unix ameninţă
 siguranţa întregului protocol. Ori securitatea unui sistem Unix, care este
foarte complicat, este extrem de greu de controlat; există o sumedenie de
breşe de care un atacator ar putea profita.
 • O altă mare problemă este cu staţiile de lucru fără disc (diskless);
aceste staţii de obicei importă discuri prin reţea. Deci de îndată ce o astfel
de staţie stochează un tichet pe disc, tichetul va călători prin reţea, care am
stabilit că este expusă la tot felul de atacuri!

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 34
Slăbiciunile lui Kerberos
 • Nici păstrarea tichetului în memorie nu este neapărat mai sigură:
algoritmii de paginare stochează paginile pe disc (în partiţia de swap)
atunci cînd calculatorul nu are destulă memorie, deci am revenit la aceeaşi
problemă.

• Exemplu:
 • Într-o reţea mare de calculatoare sincronizarea ceasurilor se face
automat, folosind un protocol numit NTP Network: ora locală a serverului
cu ora din tichet. Pentru un interval de 5 minute serverul memorează toate
tichetele primite, pentru a depista duplicate, eventual rezultate dintr-un
atac care re- transmite pachete vechi capturate. Un tichet mai vechi de 5
minute este considerat expirat şi ignorat. În felul acesta un server nu va
primi niciodată acelaşi pachet de două ori. Asta presupune că serverul şi
clientul au ceasuri Time Protocol.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 35
Slăbiciunile lui Kerberos
 • Un atac foarte spectaculos este următorul: un atacator înregistrează o
serie de mesaje de la un client care ştie că reprezintă o tranzacţie
importantă. Peste o săptămînă atacatorul infiltrează în reţea mesaje false
NTP prin care setează ceasul unui server cu o săptămînă în urmă. După
asta atacatorul retransmite mesajele capturate, care vor fi re-executate,
pentru că serverului îi par proaspete.
 • Asta face securitatea în calculatoare o problemă foarte spinoasă:
adesea protocoalele propuse sunt eronate, dar nu există nici o metodă
formală pentru a depista şi verifica asta. Chiar dacă un protocol este corect
formal, se poate baza pe presupuneri nerezonabile asupra mediului în care
operează, cum ar fi ceasurile sincronizate. Şi chiar dacă se bazează pe
presupuneri rezonabile, implementarea scrisă de un programator uman
poate să fie vulnerabilă.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 36
Kerberos pentru un utilizator
 • Domeniul administrativ de lucru este complet kerberizat. Programul
de login a fost modificat ca imediat ce se tasteaza parola să converseze cu
AS şi să obţină un tichet pentru serverul care dă tichete, TGS. Directorul
gazda se afla pe un server de fis.pe un disc din reţea, aflat la distanta.
Atunci cînd se comunica prima oară cu serverul de fis. demonul local de
pe maşina pe care s-a loginat clientul, acesta foloseşte tichetul obţinut de
la AS pentru a obţine de la TGS un tichet pentru serverul de fis.. După
aceea se autentifică serverului de fis., exact ca în schema de mai sus.
 • După autentificarea cu serverul de fis. toată comunicaţia între maşina
client şi serverul de fis. se va face folosind un alt protocol, numit Secure
RPC (Remote Procedure Call): apel sigur de procedură la distanţă, care
foloseşte iniţial cheia de sesiune oferită de TGS.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 37
Kerberos pentru un utilizator
 • Pentru utilizatorul final totul este aproape complet transparent.
 Singura neplăcere este că la fiecare 25 de ore tichetele pentru TGS expiră,
şi atunci trebuie să tasteze din nou parola pentru a obţine tichete noi.
 • Utilizatorul poate vedea în orice clipă tichetele pe care le poseda cu
comanda klist:

 $ klist
 Ticket file: /tkt/7108-0401-35ae552f
 Principal: me@CS.CMU.EDU
 Issued Expires Principal
 Jul 20 10:50:34 Jul 21 12:16:55 krbtgt.CS.CMU.EDU@CS.CMU.EDU
Jul 20 10:50:34 Jul 21 12:16:55 afs@CS.CMU.EDU
 Jul 20 10:51:30 Jul 21 12:17:51 zephyr.zephyr@CS.CMU.EDU

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 38
Kerberos pentru un utilizator
 • Tichetele sunt ţinute în fişierul /tkt/7108-0401-35ae552f pe discul
local.
 • Utilizatorul poseda 3 tichete: unul pentru TGS, unul pentru serverul
de fis. şi unul pentru sistemul de mesagerie zephyr (care nu ne interesează
prea tare acum).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 39
Kerberos pentru un utilizator
 • Mai sunt dispoziţie următoarele comenzi:
 • kinit prin care se poate schimba identit. Kerberos (de pildă dacă un
utiliz. vrea să lucreze pe calculatorul altui utiliz. va tasta kinit numele-lui
şi apoi parola lui personală;
 • kdestroy prin care toate tichetele de pe maşina locală sunt
distruse;
 foarte utila dacă un utiliz. nu doreste ca un altul să lucreze în numele sau;
 • kpasswd prin care se poate schimba cheia (parola) stocată pe AS.
 Schimbarea parolei este sigură, pentru că parola va fi trimisă criptat la un
server special care face managementul parolelor şi modifică baza de date
 din care citeşte AS. Autentificarea la managerul de parole se face tot
 folosind Kerberos. Asta înseamnă că odată ce utiliz. are o parolă Kerberos
(care trebuie introdusă manual în baza de date a lui AS) schimbarea o
poate face fără să se mai adreseze la vreun administrator;
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 40
Kerberos pentru un utilizator
 • kdb_init este o comandă folosită de administrator pentru a crea o
nouă
 bază de date Kerberos atunci cînd porneşte serviciul;
 • kdb_admin este comanda prin care administratorul adaugă un nou
utilizator în baza de date;
 • kdb_edit este comanda prin care se pot adăuga noi administratori în
baza de date AS: persoane care au dreptul să modifice baza de date.
 • În plus, majoritatea comenzilor care operează în reţea au fost
kerberizate.
 De pildă demonul şi clientul de telnet (terminal virtual): cînd se face telnet
pe o maşină la distanţă clientul cere parola după care obţine un tichet de la
 TGS pentru demonul telnet de pe maşina de la distanţă; în acest fel parola
 nu circulă niciodată prin reţea (cum ar fi fost cazul dacă telnet nu era
kerberizat).
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 41
Problema distribuirii cheilor
Protocoale email
Curs
Universitatea “Transilvania” din Brasov

Lect. Costel ALDEA


Distribuirea manuală a cheilor
 • Foloseşte metode de distribuţie off-line pentru a distribui cheile între
perechi sau la mai mulţi participanţi.
 • Este dificilă şi are probleme de scalabilitate, în plus nu oferă o
autentificare alta decât cea oferită în mod implicit. De aceea, siguranţa
metodelor de distribuire off-line este extrem de importantă.
 • În multe cazuri, distribuirea manuală a cheilor este necesară doar o
singură dată pentru un utilizator anume. Distribuirea materialelor
adiţionale se face folosind cheia distribuită manual ca o cheie de cifrare a
cheilor (KEK – Key Encryption Key). Materialele astfel cifrate se
distribuie apoi prin orice canal convenabil.

 • Distribuirea manuală este adesea cea mai eficientă metodă pentru


distribuţia cheilor de grup, în special în cazul grupurilor mari.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 2
Schimbul de chei DIFFIE-
HELLMAN
 • Scopul algoritmului este de a permite ca doi utilizatori să schimbe în
mod sigur o cheie secretă care urmează a fi folosită pentru criptarea
mesajelor. Algoritmul se limitează la schimbarea cheilor.Algoritmul se
bazează pe dificultatea calculului algoritmilor discreti.
 • Se numeste rădacină primitivă a unui număr prim p un număr a ale
cărui puteri generează toate numerele de la 0 la p-1. Deci daca a este o
radăcină primitivă a lui p, atunci numerele:
 • a mod p, a2 mod p, …,ap-1 mod p sunt distincte si reprezintă intregii de
la 1 la p-1, intr-o ordine oarecare.
 • Oricare ar fi b întreg si a rădăcină primitivă a unui număr prim p, se
poate găsi un exponent unic i, astfel ca b = ai mod p unde 0 < i < (p-1)
 • Exponentul i se numeste logaritmul discret sau indexul lui b; se
notează inda,p(b).

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 3
Schimbul de chei DIFFIE-
HELLMAN
 • Cu aceste precizări, se poate defini schimbul de chei Diffie-Hellman
care este prezentat în fig urm.

• Există două numere cunoscute public: un număr prim q si un intreg
 a care este o rădăcină primitivă a lui q. Dacă utilizatorii A si B doresc sa
facă un schimb de chei, A alege un întreg oarecare XA < q si calculează
YA = aXA mod q. Similar, B alege un întreg oarecare
 XB < q si calculează YB = aXB mod q. Fiecare parte păstreză
 secretă valoarea X si comunică celeilalte părti valoarea Y. A
 calculează cheia publică K = (YB)XA mod q iar B calculează
 K = (YA)XB mod q.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 4
Schimbul de chei DIFFIE-
HELLMAN
 Folosind reguluile aritmeticii modulare se arată că A si B obtin aceeasi
valoare pentru K.
 • Astfel cele două parti si-au transmis cheia secretă K.
 • XA si XB fiind secrete, un intrus are la dispozitie pentru a calcula cheia
K numai valorile: q,a,YA,YB.
 • De exemplu, pentru a obtine cheia secretă a lui B, trebuie calculat:
 XB = inda,q(YB)
 • Apoi cheia secretă K poate fi calculată identic cu modul în care a
calculat-o B.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 5
Schimbul de chei DIFFIE-
HELLMAN
 • În aritmetica modulară, exponenţierea este o funcţie într-un singur
sens.Aceasta înseamnă că este uşor de calculat un număr
 y = gx mod N pentru o valoare secretă x, însă este mult mai dificil
 să se calculeze x din y, dacă numerele sunt suficient de mari(de ex.
 o lg.de câteva sute de cifre - presupunem că g şi N sunt cunoscute).
 Aceasta este referită ca şi problema logaritmului discret pentru că x
 este logaritm din y în baza g (mod N), iar numerele sunt finite şi
 întregi.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 6
Schimbul de chei DIFFIE-
HELLMAN
 • Exemplu:Să presupunem că p = 7, g = 3, cheia lui A este xa = 1
 şi a lui B este xb = 2
 Vom avea:
 - A calculează cheia sa publică:
yA = gxA mod p = 31 mod 7 = 3
 - B calculează cheia sa publică:
yB = gxB mod p = 32 mod 7 = 2

- A calculează K = yB xA mod p = 21 mod 7 = 2


- B calculează K = yA xB mod p = 32 mod 7 = 2

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 7
Schimbul de chei DIFFIE-
HELLMAN
 • Securitatea algoritmului constă în faptul că este relativ usor de
calculat puteri modulo un număr prim si foarte dificil de calculatat
logaritmii discreti; pentru numere mari ultima operatie este considerată
practic imposibil de realizat.
 • Fig urm arată protocolul simplu descris mai sus pe baza algoritmului
Duffie- Hellman
 • Securitatea algoritmului constă în faptul că este relativ usor de
calculat puteri modulo un număr prim si foarte dificil de calculatat
logaritmii discreti; pentru numere mari ultima operatie este considerată
practic imposibil de realizat.
 • Fig urm arată protocolul simplu descris mai sus pe baza algoritmului
Duffie- Hellman

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 8
Schimbul de chei DIFFIE-
HELLMAN

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 9
Schimbul de chei DIFFIE-
HELLMAN
 • Un alt exemplu se referă la un grup de utilizatori dintr-o retea locală.
 • Fiecare utilizator generează o valoare XA si calculează o valoare
publică YA. Aceste valori publice, împreună cu valorile publice q si a sunt
memorate într-un director central. In orice moment un utilizator B care
vrea să comunice cu A, poate citi valoarea YA si calcula o cheie secretă
pentru criptarea unui mesaj către A. A va citi din director valoarea YB si
va calcula cheia.
 • Dacă directorul este sigur, metoda asigură pe lângă confidentialitate si
un anunt grad de autentificare - A poate calcula cheia numai folosind YB,
deci mesajul provine de la B.
 • Metoda Diffie-Hellamn, precum şi variantele ei sunt utilizate în
câteva protocoale de securitate a reţelelor şi în produse comerciale,
inclusiv la AT&T 3600 Telephone Security Device, la Fortezza card
 – o variantă de carduri criptate, şi la Pretty Good Privacy pentru criptarea
e-mail-urilor şi a unor fişiere.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 10

Distribuirea bazată pe centru
 • Tehnicile de distribuire bazate pe centru se folosesc pentru a distribui
chei între două sau mai multe părţi prin intermediul unui terţ credibil.
Partea terţă poate fi:
 1 Un centru de distribuţie a cheilor (KDC – Key Distribution
 Center)
 2 Un centru de translaţie a cheilor (KTC – Key Translation Center)
 • Distribuţia bazată pe centru acoperă atât KDC-urile cât şi KTC-urile.
 Acestea depind de KEK pentru a furniza confidenţialitatea şi protecţia
integrităţii cheilor distribuite.
 • Obs : Cele mai multe metode de distribuire a cheilor au fost
proiectate având în vedere scenarii şi aplicaţii specifice. Spre exemplu,
orice schemă care se bazează pe amprente de timp favorizează mediul
local, unde toţi utilizatorii au acces la un server de timp credibil.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 11
Distribuirea bazată pe centru
 Cerința de a avea xeasuri sincronizate în rețele mari nu este absurdă, dar
este cu siguranță dificil de asigurat. Mai important este că schemele
existente fac presupuneri despre configurația rețelei și modelele de
conectivitate. Spre exemplu, acestea pot cere o anumită paradigmă în
contactarea unui server credibil sau KDC – Key Distribution Center.
 Când A necesită o cheie pentru a comunica cu B, Kerberos – spre exemplu
– cere ca A să obţină o cheie de la KDC înainte de a comunica cu B.
Această paradigmă se mai numeşte modelul
 „trage”, prezentat in fig. urm.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 12
Distribuirea bazată pe centru

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 13
Distribuirea bazată pe centru
 • In structura certificatului sunt urmǎtoarele campuri:
 • ► Versiunea – permite sǎ se facǎ distinctie intre versiuni succesive
ale formatelor de certificat;
 • ► Numǎrul serial – identificǎ in mod unic certificatul intre cele emise
de aceeasi entitate;
 • ► Algoritmul de semnǎturǎ – identificǎ algoritmul folosit pentru
calcularea semnǎturii digitale la acel certificat;
 • ► Emitent – contine numele distinct al entitǎtii (autoritǎtii) care a
creat certificatul si garanteazǎ pentru legǎtura corectǎ cheie publicǎ
 – subiect; este vorba de numele autorului certificatului;
 • ► Subiect – contine numele distinct al entitǎtii care reprezintǎ
 subiectul certificǎrii si proprietarul cheii publice cuprinse in certificat.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 14
Distribuirea bazată pe centru
 Tehnicile de distribuire bazate pe centru se folosesc pentru a distribui chei
între două sau mai multe părţi prin intermediul unui terţ credibil. Partea
terţă poate fi:
 1 Un centru de distribuţie a cheilor (KDC – Key Distribution
 Center)
 2 Un centru de translaţie a cheilor (KTC – Key Translation Center)
 • Distribuţia bazată pe centru acoperă atât KDC-urile cât şi KTC-urile.
 Acestea depind de KEK pentru a furniza confidenţialitatea şi protecţia
integrităţii cheilor distribuite.
 • Obs : Cele mai multe metode de distribuire a cheilor au fost
proiectate având în vedere scenarii şi aplicaţii specifice. Spre exemplu,
orice schemă care se bazează pe amprente de timp favorizează mediul
local, unde toţi utilizatorii au acces la un server de timp credibil.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 15
Distribuirea bazată pe centru
 • Cerinţa de a avea ceasuri sincronizate în reţele mari nu este

• Când A necesită o cheie pentru a comunica cu B, Kerberos – spre
exemplu – cere ca A să obţină o cheie de la KDC înainte de a comunica cu
B. Această paradigmă se mai numeşte modelul
 „trage”, prezentat in fig. urm.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 16
Distribuirea bazată pe centru
 În contrast, în aceeaşi situaţie, standardul american pentru managementul
cheilor instituţiilor financiare (ANSI X9.17), cere ca A să contacteze mai
întâi pe B, apoi B obţine cheia necesară de la KDC. Această paradigmă se
numeşte modelul „împinge”, prezentat in fig. urm.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 17
Distribuirea bazată pe centru
 • Este important de remarcat că nici unul dintre aceste modele nu este
superior faţă de celălalt, fiecare fiind potrivit în mediul său.
 • În reţele locale, pentru care Kerberos a fost proiectat, cerinţa ca
clienţii să obţină cheile are sens deoarece distribuie efortul care altfel ar fi
preluat de doar câteva servere.
 • Într-o reţea mare, se adoptă metoda opusă deoarece tipic sunt mult
mai mulţi clienţi decât servere şi KDC-urile se află mai apropiate de
acestea. În aceste condiţii, costul conectivităţii între clienţi şi KDC
necesitată de Kerberos devine prohibitiv.
 • Există şi posibilitatea de a combina cele două metode – modelul mixt.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 18
Distribuirea bazată pe centru

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 19
SECURITATEA E-MAIL
 • In cazul postei electronice, rolul oficiului postal este jucat de un
calculator (de regula o masina Unix sau Windows) care ruleaza un
program numit (la modul generic) server de e-mail. Suntem clientii
acestui server daca dispunem de un cont pe acest server. Aceasta implica
faptul ca avem o adresa e-mail prin care putem fi identificati si un spatiu
de stocare unde sunt memorate mesajele (mailbox - cutie postala).
 • Un oficiu postal are doua interfete: una spre clientii sai
(corespunzatori adreselor care-i sunt arondate) si una spre ansamblul
sistemului postal. Prima interfata implica distribuirea corespondentei
sosite spre clientii oficiului si preluarea corespondentei acestora in
vederea expedierii. A doua interfata o reprezinta relatia directa sau
indirecta (prin intermediul altor oficii postale, oficii de triere etc.) cu
celelalte oficii postale.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 20
SECURITATEA E-MAIL
 • In mod analog, serverul de e-mail dispune de doua protocoale diferite,
corespunzatoare acestor interfete. Astfel, comunicarea cu clientii se face,
in marea majoritate a cazurilor, prin protocolul POP3 (Post Office
Protocol 3), care asigura distribuirea mesajelor (acesta este termenul prin
care ne referim la o scrisoare electronica) receptionate catre clientii proprii
carora le sunt destinate si preluarea mesajelor expediate de acestia.
 • Interfata cu alte servere de e-mail din Internet se face prin protocolul
SMTP (Simple Mail Transfer Protocol), prin care serverul receptioneaza
si expediaza corespondenta clientilor sai in si din Reteaua Globala.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 21
SECURITATEA E-MAIL
 • De regula, utilizatorul are de-a face cu un singur server de e-mail
(altfel spus: serverul POP3 si serverul SMTP ruleaza pe aceeasi masina).
Este insa posibil ca expedierea sa se faca printr-un alt server SMTP.
 • In ceea ce priveste insǎ securitatea, posta electronicǎ nu oferǎ
conditiile ideale. Mesajele pot fi interceptate, voit sau din eroare, de cǎtre
persoane neautorizate
 • Ca urmare, trebuie respectatǎ urmǎtoarea regulǎ fundamentalǎ in
folosirea e-mail-ului: ori se foloseste criptarea pentru asigurarea
confidentialitǎtii si autenticitǎtii mesajelor, ori se tine cont cǎ prin e-mail
nu trebuie transmis nimic ce nu se doreste a se afla despre familie,
adversari, concurenti, clienti etc.
 • Una din preocupǎrile grupurilor de specialisti este imbunǎtǎtirea
serviciilor de e-mail sub aspectul securitǎtii, solutia constand in utilizarea
criptǎrii. Acest lucru plaseazǎ responsabilitatea confidentialitǎtii
comunicatiilor in mana celor care corespondeazǎ.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 22
SECURITATEA E-MAIL
 Așa cum s-a văzut, problema complicată în stabilirea unui sistem
criptografic între 2 parteneri nu o reprezintă obținerea unui program
adecvat de cifrare, ci stabilirea și transmiterea cheilor, care trebuie să facă
prin alte mijloace de comunicație sigure. Dar criptografia cu chei publice
a înlăturat această problemă complexă, deoarece cheile de criptare pot fi
făcute publice. Fiecare persoană își face cunoscută, într-un fișier publuc
cheia sa publică, necesară oricărui eventual corespodent să-i cripteze
mesajele. Cu ajutorul unei chei pereche secretă, numai destinatarul este
cel care poate decripta scrisorile care îi sunt adresate.
 De regula, utilizatorul are de-a face cu un singur server de e-mail (altfel
spus: serverul POP3 si serverul SMTP ruleaza pe aceeasi masina). Este
insa posibil ca expedierea sa se faca printr-un alt server SMTP.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 23
SECURITATEA E-MAIL
 • In ceea ce priveste insǎ securitatea, posta electronicǎ nu oferǎ
conditiile ideale. Mesajele pot fi interceptate, voit sau din eroare, de cǎtre
persoane neautorizate
 • Ca urmare, trebuie respectatǎ urmǎtoarea regulǎ fundamentalǎ in
folosirea e-mail-ului: ori se foloseste criptarea pentru asigurarea
confidentialitǎtii si autenticitǎtii mesajelor, ori se tine cont cǎ prin e-mail
nu trebuie transmis nimic ce nu se doreste a se afla despre familie,
adversari, concurenti, clienti etc.
 • Una din preocupǎrile grupurilor de specialisti este imbunǎtǎtirea
serviciilor de e-mail sub aspectul securitǎtii, solutia constand in utilizarea
criptǎrii. Acest lucru plaseazǎ responsabilitatea confidentialitǎtii
comunicatiilor in mana celor care corespondeazǎ.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 24
SECURITATEA E-MAIL
 Asa cum s-a vǎzut, problema complicatǎ in stabilirea unui sistem
criptografic intre doi parteneri nu o reprezintǎ obtinerea unui program
adecvat de cifrare ci stabilirea si transmiterea cheilor, care trebuie sǎ se
facǎ prin alte mijloace de comunicatie sigure. Dar criptografia cu chei
publice a înlăturat această problemă complexă, deoarece cheile de criptare
pot fi făcute publice. Fiecare persoană își face cunoscută, într-un fișier
public cheia sa publică, necesară oricărui eventual corespondent să-i
cripteze mesajele. Cu ajutorul unei chei pereche secretă, numai
destinatarul este cel care poate decripta scrisorile care îi sunt adresate.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 25
Protocolul PGP(Pretty Good
Privacy) (PGP)
 • Pretty Good Privacy- confidenţialitate destul de bună
 • PGP este în bună parte rezultatul eforturilor unei singure persoane,
Phil Zimmermann; asigură un serviciu utilizat pentru e-mail si aplicatii de
stocare de fisiere.
 • Zimmermann a făcut următoarele:
 • 1. A selectat cei mai buni algoritmi criptografici existenti.
 • 2. A integrat acesti algoritmi într-o aplicatie de uz general bazată pe
un set redus de comenzi usor de folosit si care este independentă de
sistemul de operare si de procesor.
 • 3. A făcut accesibil în mod gratuit pachetul de programe, inclusiv
codul sursă si documentatia, prin Internet.
 • 4. A făcut un acord cu societatea Network Associates pentru a elabora
o variantă comercială a PGP.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 26
Protocolul PGP(Pretty Good
Privacy) (PGP)
 • Răspândirea PGP se explică prin următoarele:
 • 1. Este disponibil gratis in versiuni care rulează sub maj. SO. În plus, versiunea
comercială asigură un produs care are asigurată asistența din partea
producătorului.
 • 2. Se bazează pe algoritmi care au rezistat unei analize criptografice intense si
sunt considerati extrem de siguri. Pachetul de programe include RSA, DSS si
Diffie-Hellman pentru criptarea cu cheie
 publică, CAST-128, IDEA si TDEA (sau 3DES) pentru criptarea conventională si
SHA-1 pentru codare hash.
 • 3. Are o largă gamă de aplicatii, de la societăti care vor să folosească o
metodă de criptare a fisierelor si mesajelor la utilizatori individuali care doresc să
comunice în mod securizat prin Internet sau alte retele.
 4. Nu a fost dezvoltat si deci nu este controlat de o organizatie de standardizare
sau guvernamentală; aceasta poate reprezenta o atractie pentru cei care nu
agreează astfel de organizatii.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 27
DESCRIEREA MODULUI DE
OPERARE A PGP
 • Modul de operare al PGP este constituit din cinci servicii:
autentificare,confidentialitate, compresie, compatibilitate cu e-mail si
segmentare.
 • Autentificarea se realizează printr-o schema de semnatura digitala
prezentată în cursul anterior.
 • Confidentialitate este asigurată de PGP prin criptarea mesajelor de
transmis sau de stocat local ca fisiere. In ambele cazuri se utilizează
criptarea cu IDEA (International Data Encryption Algorithm) sau
 3DES (Triple Data Encryption Standard).
 • Pentru acest serviciu, problema distribuirii cheilor este esentială.
 PGP utilizează fiecare cheie o singură data; desi este numită cheie de
sesiune, ea este o cheie de folosintă unică care este generată ca număr
aleator de 128 de biti pentru fiecare mesaj si este atasată mesajului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 28
DESCRIEREA MODULUI DE
OPERARE A PGP
 • Pentru a se asigura confidenţialitatea se parcurge următoarea
secventă:
 • 1. Expeditorul generează un mesaj si un număr aleator de 128 biti
folosit drept cheie de sesiune numai pentru acest mesaj.
 • 2. Mesajul este criptat cu IDEA sau TDES utilizând cheia de sesiune
 • 3. Cheia de sesiune este criptată cu RSA, utilizând cheia publică a
destinatarului si adăugată mesajului.
 • 4. Destinatarul utilizează RSA cu cheia sa privată pentru a decripta
cheia de sesiune.
 • 5. Cheia de sesiune este utilizată pentru decriptarea mesajului.
 • Ca alternativă la RSA, PGP permite folosirea algoritmului de
transmitere a cheii Diffie-Hellman într-o variantă numită ElGamal.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 29
DESCRIEREA MODULUI DE
OPERARE A PGP
 • Compresia. În mod implicit, PGP comprimă mesajul după aplicarea
semnături, dar înainte de criptare. Criptarea este astfel folosită atât pentru e-mail
cât si la receptie, pentru stocarea fisierului.
 • Semnătura este generată înainte de compresie din două motive:
 • -pentru stocare este preferabil să se memoreze textul clar împreună cu
semnătura pentru verificări viitoare; în caz contrar ar fi necesară recomprimarea
textului pentru verificarea semnăturii.
 • -chiar dacă se doreste recomprimarea mesajului, algoritmul de compresie al
PGP generează iesiri diferite în functie de versiunea
 de implementare, desi diferitele versiuni pot opera împreună, fiecare versiune
decomprimând corect, iesirea oricărei alte versiuni.
 • Criptarea mesajului este aplicată după compresie pentru a mări securitatea
criptografică; deoarece mesajul comprimat este mai putin redundant, criptanaliza
este mai dificilă.
 • Algoritmul de compresie este ZIP.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 30
Compatibilitatea e-mail
 Atunci când se utilizează PGP, cel putin o parte a blocului de transmis
(semnătura, mesajul sau amândouă) este criptată. Astfel blocul de transmis
este format partial sau integral dintr-un sir arbitrar de octeti. Multe sisteme
de e-mail admit însă numai blocuri care contin text in ASCII. PGP asigură
 un serviciu care converteste sirurile de octeti în caractere ASCII
printabile.
 • Metoda folosită este conversia radix-64: fiecare grup de trei octeti
este convertit într-un grup de patru caractere ASCII. Conversia radix-64
expandează mesajul cu 33%,însă utilizarea compresiei compensează
aceasta, raportul de compresie fiind în medie 2.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 31
Relatia dintre cele patru servicii
prezentate
 . La transmitere, dacă este necesar , o semnătură este generată utilizând un
cod hash al textului clar. Apoi, textul clar si semnătura, dacă este prezentă,
sunt comprimate. Dacă este necesară confidenţialitate, urmează criptarea
blocului (text clar comprimat sau text clar plus semnătură comprimate) si
precedat de cheia de criptare conventională criptată cu cheia publică a
destinatarului. În final, întregul bloc este convertit în formatul radix-64.
 • La receptie, blocul primit este convertit din radix-64 în binar. Dacă
mesajul este criptat, destinatarul obtine cheia de sesiune si decriptează
mesajul; blocul rezultat este decomprimat. Dacă mesajul este semnat,
destinatarul compară codul hash receptionat cu codul hash pe care îl
calculează din mesajul primit.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 32
Segmentare si reasamblare
 Blocurile transmise prin e-mail au în general o limită maximă a lungimii;
deexemplu în Internet lungimea maximă este 50.000 octeti.
 • PGP subdivide automat un mesaj care este prea lung în segmente de
lungime compatibilă cu e-mail. Segmentarea se face după toate celelalte
procesări, inclusive conversia radix-64, astfel încât cheia de sesiune si
semnătura apar o singură dată, la începutul primului segment. La receptie,
PGP trebuie să elimine toate antetele de e- mail si să reasambleze blocul
original înainte de a executa pasii indicati.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 33
Formatul unui mesaj PGP
 Acesta este format din trei componente: mesaj, semnătură (optional),
cheie de sesiune (optional).
 • Componenta mesaj contine datele de transmis sau de stocat, un nume
de fisier si o stampilă de timp care indică momentul creării.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 34
Semnătura cuprinde:
 • 1. stampila de timp: momentul semnării.
 • 2. message digest: 160 biti, rezultatul algoritmului SHA-1,criptat cu
cheia privată a expeditorului. Semnătura este calculată asupra stampilei de
timp a semnăturii concatenată cu datele mesajului; includerea stampilei de
timp a semnăturii previne atacurile prin repetitie (replay attack).
 • 3. primii doi octeti din message digest: permit destinatarului să
verifice dacă a utilizat cheia publică corectă pentru decriptarea message
digest prin compararea celor doi octeti necriptati receptionati cu cei
rezultati din calcul.
 • 4. ID-ul cheii publice a expeditorului: identifică cheia publică pentru
decriptarea semnăturii, corespunzătoare cheii private utilizată de
expeditor.
 • Componentele mesaj si semnătură pot fi optional comprimate cu
algoritmul ZIP si criptate cu o cheie de sesiune.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 35
Cheie de sesiune
 Componenta cheie de sesiune include cheia de sesiune si ID-ul cheii
publice a destinatarului, cheie utilizată de expeditor pentru a cripta cheia
de sesiune.
 • Întregul bloc este de obicei convertit în format ASCII prin codare
radix-64.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 36
Protocolul PEM (Privacy Enhanced
Mail)
 Scopul proiectului PEM (Privacy Enhanced Mail) il constituie asigurarea
securitǎtii transmisiilor intre utilizatorii postei electronice din Internet.
Eforturile au inceput in 1985 in cadrul comisiei PSRG (Privacy and
Security Research Group), sub auspiciile consiliului IAB (Internet
Architecture Board). Rezultatele cercetǎrii s-au concretizat in RFC-urile
(Request for
 Coment) 1421-1424 care constituie propuneri de standarde Internet.
Aceste
 RFC-uri sunt produsul grupului de lucru PEM din interiorul IEFT
(Internet
 Engineering and Task Force), care face parte din IAB.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 37
Protocolul PEM (Privacy Enhanced
Mail)
 Standardul PEM oferǎ o varietate de servicii de securitate pentru
utilizatorii postei electronice:
 - confidentialitatea (secretizarea) mesajelor;
 - autentificarea originii mesajelor;
 - integritatea legǎturii in retea;
 - nerepudierea mesajelor prin dovedirea originii.
 • Aceste servicii, definite si in modelul de referintǎ al securitǎtii OSI,
pot fi divizate in douǎ grupe:
 - toate mesajele prelucrate in PEM incorporeazǎ facilitǎtile de
autentificare, integritate si nerepudiere;
 - confidentialitatea este un serviciu optional, la alegerea utilizatorului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 38
Certificarea cheilor
 • Un sistem criptografic bazat pe chei publice poate fi compromis de o
persoana A care transmite o cheie publica a unei persoane B catre un alt
partener C. In acest caz C va folosi cheia publica a lui B
 pentru a cripta mesajul, cu intentia de a ajunge inapoi la B, numai ca
 A, folosindu-si propria lui cheie private, va face ca receptorul sa fie el,
reusind astfel sa decripteze mesajul care era adresat lui B.
 • Pentru a se evita aparitia acestei anomalii, se utilizeaza procesul
certificarii, prin care se leaga o cheie de atribute ale persoanei respective.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 39
Certificarea cheilor
 • Un certificat de cheie publicǎ reprezintǎ o structurǎ de date folositǎ
pentru a se putea asocia in mod sigur o cheie publicǎ la niste atribute de
utilizator. Atributele pot fi, de exemplu, informatii de identificare (nume,
adresǎ) sau informatii de autorizare (dreptul de a folosi o resursǎ).
 • Documentul oferit de o autoritate de certificare(CA- Certification
Autority) poate fi comparat cu un act notarial si se efectueaza dupa
aceleasi reguli, adica pe baza verificarii atributelor persoanei solicitante,
concretizându-se prin atribuirea unei chei publicepentru persoana
respectiva. Autoritatea de certificare semnează certificatul cu propria lui
cheie privată.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 40
Certificarea cheilor
 • In structura certificatului sunt urmǎtoarele campuri:
 • ► Versiunea – permite sǎ se facǎ distinctie intre versiuni succesive
ale formatelor de certificat;
 • ► Numǎrul serial – identificǎ in mod unic certificatul intre cele emise
de aceeasi entitate;
 • ► Algoritmul de semnǎturǎ – identificǎ algoritmul folosit pentru
calcularea semnǎturii digitale la acel certificat;
 • ► Emitent – contine numele distinct al entitǎtii (autoritǎtii) care a
creat certificatul si garanteazǎ pentru legǎtura corectǎ cheie publicǎ
 – subiect; este vorba de numele autorului certificatului;
 • ► Subiect – contine numele distinct al entitǎtii care reprezintǎ
 subiectul certificǎrii si proprietarul cheii publice cuprinse in certificat.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 41
Certificarea cheilor
 • ► Valabilitate – cuprinde intervalul de timp (data de inceput si cea de
sfarsit) in care certificatul este valabil;
 • ► Cheie publicǎ subiect – contine un identificator al algoritmului
folosit precum si parametrii ceruti de algoritm, care constituie cheia
publicǎ a subiectului – proprietar al certificatului;
 • ► Semnǎtura – contine semnǎtura digitalǎ a certificatului si este
adǎugatǎ celorlalte campuri ale acestuia. De exemplu, functia de dispersie
poate fi MD5, iar algoritmul cu chei publice, RSA. Semnǎtura se aplicǎ de
cǎtre autoritatea Emitentǎ, folosind cheia sa privatǎ si poate fi verificatǎ
oriunde, folosind cheia publicǎ a Emitentului.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 42
Certificarea cheilor
 Dupǎ cum se vede, problema obtinerii cheii publice a unui utilizator
Subiect constǎ in validarea semnǎturii digitale a certificatului acestuia,
care se face cu cheia publicǎ a Emitentului. Obtinerea cheii publice a
Emitentului este o problemǎ similarǎ de validare a certificatului acestuia.
Ca urmare, procesul de validare a
 certificatelor este recursiv si se bazeazǎ pe un graf de certificare.

• Autoritatile de certificare formează o structură ierarhică de genul celei
prezentate în figura următoare.
 • IPRA(Internet Policy Registration Authority) – Autoritatea de
înregistrare a politicii din Internet
 • PCA(Policy Certification Authority)- Autoritati de certificare a politicii.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 43
Un exemplu de CA este o companie care certifică chei pt.
salariatii ei.
IPRA

PCA1 PCA2 PCA3

CA CA
CA CA CA CA CA

User User User User User CA


CA User

User User User

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 44
Certificarea cheilor
 Certificarile permit crearea de lanturi de incredere. Dacă X certifică faptul
că o anumită cheie apartine lui Y şi Y merge mai departe sa certifice că o
altă cheie publică ce aparţine lui Z, atunci există un lanţ de certificări de la
X la Z, chiar dacă X şi Z nu au cunoştinţe
 unul despre altul. Dacă Z doreşte să furnizeze cheia lui publică lui A, el
poate să să furnizeze lantul complet de certificări-certificarea pentru cheia
publică a lui Y furnizată de X, şi certificarea pentru
 cheia lui Z, furnizată de către Y. Dacă A are cheia publică a lui X, el poate
folosi lantul pentru a verifica ca cheia publică a lui Z este legitimă.
 Fiecare PCA trebuie să definească o politică oficială faţă de înregistrare şi
pe care să o pună de acord cu IPRA. Aceste reguli sunt apoi confirmate de
IPRA şi făcute publice(ce informatii să constituie certificarea respectivă).
 • Revocarea certificării este posibilă şi necesară atunci când un CA este
spart.
http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 45
Certificarea cheilor
 Mesajele trimise folosind PEM se obţin astfel:
 • 1. Sunt convertite într-o formă canonică astfel încât ele au aceleaşi
convenţii referitoare la spaţii albe(tab-uri, spaţii de la sfârşit de text) şi
folosirea caracterelor line feed şi carriage return. Fără aducere la forma
canonică, astfel de modificări ar putea afecta codurile de dispersie
construite din mesaje, la destinaţiile lor.
 • 2. Este calculat un cod al mesajului cu MD5.
 • 3. Se criptează concatenarea dintre codul de dispersie si mesaj,
folosind DES.
 • 4. Cheia de criptare este si ea inclusa in mesaj si, la rândul ei este
criptată cu cu RSA.

http://cs.unitbv.ro/~costel costel.aldea@unitbv.ro 46

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