Documente Academic
Documente Profesional
Documente Cultură
Curs
Universitatea “Transilvania” din Brasov
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
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
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
1. Societatea informației și a
cunoașterii
costel.aldea@unitbv.ro 2
Societatea informației și a cunoașterii
costel.aldea@unitbv.ro 3
1.Societatea informației și a cunoașterii
Sistem deschis de
comunicare
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.
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
eSociety
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
costel.aldea@unitbv.ro 15
1.Societatea informației și a cunoașterii
Securitatea IT
Realizează în siguranță transmisia de date in rețea
Securitatea IT se referă la
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
costel.aldea@unitbv.ro 20
1.Societatea informației și a cunoașterii
Policiti de securitate
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 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
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
costel.aldea@unitbv.ro 4
Principiile criptografiei
Metode criptografice
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 hibrid
costel.aldea@unitbv.ro 7
Codarea
Metode de codare
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
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.
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
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: 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:
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
costel.aldea@unitbv.ro 17
Autentificarea
Exemplu: Algoritmul semnaturii
digitale(DSA)
Setup:
Generare:
Verificare:
costel.aldea@unitbv.ro 18
Trust Center
Cheile publice trebuie sa fie autentificate!!!
Hierarchical Trust
PKIX-Standard
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
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
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
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.
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
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
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
CA CA
CA CA CA CA CA
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