Securitatea Autentificarii Informatiei Kerberos

LUCRARE DE DIZERTATIE

SECURITATEA AUTENTIFICARII INFORMATIEI-KERBEROS

REFERAT

asupra lucrării de dizertatie cu titlul

__________________________________________________

__________________________________________________

elaborată de candidatul _________________________________

Subsemnatul ____________________________ de la departamentul de Informatică al Facultății de Calculatoare și Informatică Aplicată, în calitate de coordonator științific, fac următoarele precizări:

lucrarea este structurată pe ___ capitole (___ pagini), în care se tratează tema propusă;

lucrarea este îngrijit redactată și tehnoredactată;

lucrarea corespunde din punct de vedere științific, dovedind cunoașterea și aprofundarea de către candidat a domeniului abordat;

bibliografia consultată este bine aleasă și de actualitate;

____________________________________________________________________________________________________________________________________________________________________________________

În concluzie, sunt de acord cu acceptatea lucrării în vederea susținerii publice în fața comisiei de licență.

Propun, în calitate de coordonator științific, nota __________.

Timișoara,

___/___/______ _______________________

CUPRINS

Introducere

CAPITOLUL I. SECURITATEA

1.1 Terminologie

1.2 Sisteme sigure

1.3 Autentificarea si distributia cheilor

1.3.1 Criptografia

1.3.1.1 Functii de dispersie cu sens unic

1.3.1.2 Criptografia cu chei secrete

1.3.1.3 Criptografia cu chei publice

1.3.2 Autentificarea

1.3.2.1 Autentificarea bazata pe parole

1.3.2.2 Autentificarea bazata pe adresa

1.3.2.3 Autentificarea criptografica

CAPITOLUL II.SISTEMUL DE AUTENTIFICARE KERBEROS

2.1 Dezvoltare

2.2 Arhitectura

2.3 Protocoale criptografice

2.3.1 Protocolul Needham-Schroeder

2.3.2 Protocolul Kerberos V4

2.3.2.1 Schimbul AS

2.3.2.2.SchimbulTGS

2.3.2.3 Schimbul AP

2.3.3 Protocolul Kerberos V5

2.3.4 Autentificarea inter-domenii

2.3.5 Slabiciunile protocolului Kerberos

2.3.6 Sesiunile de lucru in Kerberos

2.3.7 Consideratii asupra protocolului

2.3.8 Consideratii asupra mediului

2.3.9 Concluzii

CONCLUZII

PARTEA PRACTICA

INSTALAREA PROTOCOLULUI KERBEROS SU WINDOWS 2003 SERVER

BIBLIOGRAFIE

GLOSAR

ABREVIERI SI ACRONIME

INTRODUCERE

Fiecare din ultimele trei secole a fost dominat de 0 anumita tehnologie.

Secolul al XVIII-lea a fost secolul marilor sisteme mecanice care au nascut Revolutia Industriala. Secolul al XIX-lea a fost epoca masinilor cu aburi. In secolul XX, tehnologia cheie este legata de colectarea, prelucrarea si distribuirea informatiei. Printre alte realizari, am asistat la instalarea retelelor telefonice mondiale, la inventia radioului si a televiziunii, la nasterea si cresterea nemaivazuta a industriei de calculatoare si la lansarea satelitilor de comunicatii.

Organizatii cu sute de birouri raspandite pe 0 arie geografica larga se asteapta sa poata examina in mod curent printr-o simpla apasare de buton chiar si echipamentele lor cele mai indepartate. Pe masura ce posibilitatile noastre de a colecta, prelucra si distribui informatia cresc tot mai mult, cererea pentru 0 prelucrare si mai sofisticata a informatiei creste si mai rapid.

Desi industria de calculatoare este inca tanara, domeniul calculatoarelor a cunoscut un progres spectaculos intr-un timp scurt. In primele decenii de existenta sistemele de calcul erau foarte centralizate, de obicei in interiorul unei singure incaperi.

Intrepatrunderea dintre domeniul calculatoarele si cel al comunicatiilor a avut 0 influenta profunda asupra modului in care sunt organizate sistemele de calcul. Conceptul de "centru de calcul" – in acceptiunea sa de incapere unde exista un calculator mare la care utilizatorii vin sa-si ruleze programele – este total depasit.In mai putin de 20 de ani, calculatoarele la fel de puternice, mai mici decit un timbru postal, vor fi produse pe scara larga in milioane de exemplare par desprinse dintr-un scenariu stiintifico-fantastic. Vechile modele de calculatoare care serveau la rezolvarea problemelor de calcul ale organizatiilor au fost inlocuite de un model in care munca este facuta de un numar mare de calculatoare separate, dar interconectate. Aceste sisteme se numesc retele de calculatoare.

Retelele de calculatoare sunt in general structuri deschise la care se pot conecta un numar mare si variat de componente. Complexitatea arhitecturalii si distributia topologica a retelelor conduce la o largire necontrolata a cercului utilizatorilor cu acces nemijlocit la resursele retelei (fisiere, baze de date, dispozitive periferice, etc.). Putem vorbi despre o vulnerabilitate a retelelor care se manifesta pe doua planuri:

• posibilitatea modificarii sau distrugerii informatiilor (atac la integritatea fizica);

• posibilitatea folosirii neautorizate a informatiilor; [P ATR94].

Se intelege ca aceasta stare de fapt nu poate fi tolerata, proiectarea sistemelor distribuite trebuind sa satisfaca unele cerinte fundamentale de fiabilitate, protectie si securitate. Pe masura ce retelele de calculatoare se extind ca numar de resurse conectate si ca extindere geografica, nevoia de restrictionare si control al accesului creste.

Sub aspect fizic, resursele unei retele trebuie protejate intr-o maniera adecvata:

• protejarea la furt si distrugere a echipamentelor de comunicatie (routere, switch-uri, calculatoare, etc.);

• protejarea cailor fizice de comunicatie prin ingroparea in paturi speciale si plasarea in locuri greu accesibile.

• restrictionarea accesului la site-urile cu echipamente

Atacurile de tip fizic asupra retelelor sunt improbabile si relativ usor de descoperit. Mai mult, beneficiile atacatorilor sunt minime, avand in vedere de 0 buna perioada de timp, valoarea echipamentului este net infeioara informatiei vehiculata de acesta.

Sub aspect logic, controlul resurselor se face prin asigurarea identitatii participantului la schimbul de date, denumita generic autentificare. De regula autentificarea se realizeaza prin ceea ce utilizatorul stie (parola), prin ce utilizatorul are (smart card, cheie), sau prin ce utilizatorul este (identificare biometrica, scanare de retina, amprente). [SCHN96]

Lucrarea de fata incearca sa faca 0 prezentare a unuia dintre cele mai importante protocoale de autentificare si anume a protocolului Kerberos.

CAPITOLUL I

SECURITATE

O definitie larga a notiunii de "securitate" pentru calculatoare ar fi urmatoarea: interzicerea accesului unor persoane neautorizate la anumite date. Putem distinge doua tipuri de restrictii: restrictii asupra citirii unor date secrete asupra modificarii de catre persoane ne-autorizate. Exista mecanisme speciale pentru fiecare din aceste scopuri, si exista mecanisme care pot fi adaptate amandurora.

Securitatea este un subiect vast si acopera o multilne de imperfectiuni.ln forma sa cea mai simpla, ea asigura ca persoane curioase nu pot citi sau, si mai rau, modifica mesajele adresate altor destinatari. Ea se ocupa de cei care incearca sa apeleze servicii la distanta, desi nu sunt autorizati sa le foloseasca. De asemenea, securitatea implica verificarea daca un mesaj, ce pretinde ca vine de la Ministerul de Finante si spune: "Plateste pana vineri", provine intr-adevar de la Ministerul de Finante si nu de la Mafie. Securitatea se ocupa de probleme legate de capturarea si falsificarea mesajelor autorizate si de cei ce incearca sa nege faptul ca au trimis anumite mesaje.

Majoritatea probleme1or de securitate sunt cauzate intentionat de persoane rau voitoare care incearca sa obtina anumite beneficii, sa atraga atentia, sau sa provoace rau cuiva. Cativa dintre cei care comit In mod obisnuit astfel de fapte sunt mentionati In tabelul 1-1. Din aceasta lista trebuie sa rezulte clar ca realizarea unei retele sigure implica ceva mai mult decat pastrarea ei fara erori de programare. Aceasta implica surclasarea unor adversari adeseori inteligenti, dedicati si uneori bine dotati material. Trebuie de asemenea sa fie clar ca masurile care pot contracara inamici accidentali vor avea un impact redus asupra unor adversari seriosi. Arhive1e politiei arata ca cele mai multe atacuri nu au fost savarsite de straini prin ascultarea unor linii telefonice, ci de catre angajati ranchiunosi. In consecinta, sistemele de securitate ar trebui proiectate tinand seama de acest fapt.

Tabelul-1. Persoane care genereaza probleme de securitate si motive

Problemele securitatii retelei pot fi impartite, in mare, in patu domenii straus interconectate: confidentialitate, autentificare, nerepudiere si controlul integritatii. Pastrarea secretului, denumita de asemenea si confidentialitate, se refera la pastrarea informatiei departe de utilizatorii neautorizati. Aceasta este ceea ce vine in mintea oamenilor atunci cand se gindesc la securitatea retelei. Autentificarea reprezinta determinarea identitatii persoanei cu care vorbesti inainte de a dezvalui informatii importante sau de a intra intr-o afacere.

Terminologie

Literatura din domeniul stiintei calculatoarelor in general este cea referitoare la securitatea informatiei in special are un jargon specific. Data fiind lipsa unui organism lingvistic specializat care sa defineasca precis modalitatea de folosire a termenilor, autorii de texte de specialitate folosesc termenii in moduri deseori contradictorii. In acest capitol ne-am propus prezentarea celor mai importante notiuni pentru a intrerupe traditia nefericita amintita.

Termenul informatie este definit astfel: "cunostinte comunicate sau receptionate eu privire la un fapt particular sau circmnstanta", in general si "date care pot fi codificate pentru prelucrarea de catre un calculator sau un dispozitiv similar", in stiinta calculatoarelor. Definitia este generala, dar serveste scopului nostu. Shannon da o definitie formala si mai preeisa in [SHAN48] si [SHAN49].

Avand in vedere definitia anterioara, termenul de tehnologia informatiei (IT – information technology) se refera la orice telmologie care are legatura cu informatia. In particular, IT se refera la stocarea, procesarea si transmiterea datelor care codifica informatia. Similar, termenul de securitate IT se refera la chestiuni legate de securitatea informatiilor, in speta securitatea sistemelor si a comunicatiei dintre acestea.

• Scopul securitatii calculatoarelor este de a preveni accesul neautorizat la sistemele de calcul si de a proteja infonnatiile stocate de distrugeri intentionate, modificare sau deconspirare.

• Scopul securitatii comunicatiilor este de a proteja datele vehiculate intr-o retea de calculatoare sau intr-un sistem distribuit. Ca sinonim se foloseste uneori termenul de securitatea retelei.

Termenul de retea de calculatoare se refera la o colectie de sisteme autonome conectate. Doua sisteme se numesc conectate daca sunt capabile sa schimbe date intre ele printr-o metoda oarecare (retea, cablu serial I pat"alel, etc.). In plus, sistemele se numesc autonome daca intre ele nu se poate stabili o relatie clara master I slave. Spre exemplu, un sistem cu o unitate de control si mai multe unitati slave nu reprezinta 0 retea.

In literatura exista o confuzie considerabila referitoare la ce diferentiaza un sistem distribuit de o retea de calculatoare. Lamport [LAMP78] spune ca un sistem distribuit este o colectie de procese separate spatial si care comunica intre ele prin schimb de mesaje1.

Tot in viziunea lui Lamport, in cazul unui sistem distribuit intarzierea introdusa de comunicatia cu mesaje nu este neglijabila in raport cu evenimentele din cadrul unui proces.

In 1988, Tanenbaum arata distinctia cheie dintre o retea de calcutea.

• Scopul securitatii calculatoarelor este de a preveni accesul neautorizat la sistemele de calcul si de a proteja infonnatiile stocate de distrugeri intentionate, modificare sau deconspirare.

• Scopul securitatii comunicatiilor este de a proteja datele vehiculate intr-o retea de calculatoare sau intr-un sistem distribuit. Ca sinonim se foloseste uneori termenul de securitatea retelei.

Termenul de retea de calculatoare se refera la o colectie de sisteme autonome conectate. Doua sisteme se numesc conectate daca sunt capabile sa schimbe date intre ele printr-o metoda oarecare (retea, cablu serial I pat"alel, etc.). In plus, sistemele se numesc autonome daca intre ele nu se poate stabili o relatie clara master I slave. Spre exemplu, un sistem cu o unitate de control si mai multe unitati slave nu reprezinta 0 retea.

In literatura exista o confuzie considerabila referitoare la ce diferentiaza un sistem distribuit de o retea de calculatoare. Lamport [LAMP78] spune ca un sistem distribuit este o colectie de procese separate spatial si care comunica intre ele prin schimb de mesaje1.

Tot in viziunea lui Lamport, in cazul unui sistem distribuit intarzierea introdusa de comunicatia cu mesaje nu este neglijabila in raport cu evenimentele din cadrul unui proces.

In 1988, Tanenbaum arata distinctia cheie dintre o retea de calculatoare si un sistem distribuit. In principiu, in cazul unui sistem distribuit existenta sistemelor distribuite autonome este transparenta pentru utilizator. In principiu, utilizatorul poate anula un proces iar sistemul de operare poate alege cel mai potrivit procesor pe care sa ruleze, iar rezultatele sa le directioneze la locul potrivit. Cu alte cuvinte, utilizatorul nu trebuie sa fie constient de faptul ca in scenariu sunt mai multe procesoare, ci sistemul distribuit arata ca un procesor virtual unic. De remarcat ca in acest caz, diferenta intre o retea de calculatoare si sistem distribuit rezida in software in general si in sistemul de operare in special, hardware-ul jucand un ro1 mai putin important.

Joint Technical Committee 1 (JTCl) care apartine de IS01 si IEC2, foloseste tennenul de partener pentru a se referi la o persoana sau entitate inregistrata si autentificabila de catre o retea de calculatoare sau sistem distribuit. Utilizatorii, host-urile si procesele sunt considerate parteneri.

• Un utilizator este responsabil pentru actiunile sale in cadrul unei retele.

• Un host este o entitate adresabila in cadrul unei retele sau unui sistem distribuit. Adresarea se face prin nume sau adresa.

• Un proces este o instalare a unui program care ruleaza pe un host anume. Modelul client / server se foloseste in mod curent pentru a distinge un proces client de un proces server.

Un proces client cere si in cele din unna obtine un serviciu de retea, pe cand

Un proces server produce serviciul. In acceptiunea de fata serviciul se refera la o functionalitata abstracta, iar serv'erul este in mod tipic un fir de executie care se specializeaza in aceasta functionalitate.

Modelul client / server este potrivit pentru proiectarea sistemelor distribuite si a aplicatiilor corespunzatoare. In forma cea mai simpla, un serviciu este deservit de un sistem unic. Adeseori insa, solicitarea serviciului poate fi atat de mare incat un sistem nu mai face fata. Mai mult, se pune uneori problema disponibilitatii continue a unui serviciu (server web, supraveghere procese vitale, etc.) in conditiile In care hardware-ul este susceptibil de detectare dupa un numar de ore. In aceste cazuri serviciul poate fi replicat, adica implementat de un sistem distribuit care in acest fel prezinta atat o capacitate de deservire mai mare cat si o toleranta la defecte mai mare. Studiul si dezvoltarea tehnicilor de replicare securizata a serviciilor a devenit un domeniu vast de cercetare. [GONG93], [REBI94].

ISO foloseste termenul standard pentnl un document convenit care contine specificatii tehnice sau alte criterii precise utilizate consistent ca reguli sau definitii de caracteristici pentru a asigura ca materialele, produsele, procesele si serviciile sunt potrivite pentru scopul propus. In consecinta, un standard de sistem deschis specifica un sistem deschis care permite fabricantilor sa construiasca produse conforme.

I Intr-o nota plina de mnOT, Lamport a definit un sistem distribuit ca "un sistem care te impiedica sa-tl tennini treaba cand un calculator pe care nu l-ai vazut niciodata, cade" 1 International Organization for Standardization 2.International Electrotechnical Committee

In general, termenul de vulnerabilitate se refera la o slabiciune care poate fi exploatata pentru a viola un sistem sau informatiile pe care acesta le contine. Termenul de amenintare se refera la o circnmstanta, conditie sau eveniment care are potentialul de a viola securitatea sau de a cauza stricaciuni sistemului. Rete1ele de calculatoare sunt sisteme distribuite susceptibile la o varietate de amenintari provocate fie de hacker1 fie de utilizatori legitimi, de obicei mai periculosi decat cei din exterior pentru ca au acces la infonnatii nedivulgate in mod normal celor din afara.

In cadrul retelelor de calculatoare si a sistemelor distribuite se disting mai multe tipuri de compromitere a bunei functionari, astfel:

• Compromiterea host-ului ca urmare a subminarii sale directe. Rezultatele subminarii pot fi de la o sirnpla modificare a starii proceselor pana la controlul total asupra host-ului.

• Compromiterea comunicarii ca urmare a subminarii liniei de comunicatie din sistern.

Securitatea cailor de comunicatie este foarte importanta deoarece reprezinta un punct foarte vulnerabil in lantul de comunicatie. Putem distinge doua tipuri de comprornitere a cornunicatiei si anume prin atac pasiv si prin atac active.

Atacul paslv ameninta confidentialitatea datelor transmise, situatie ilustrata in figura 1.1 – 1. Datele de la transmitator (stanga) sunt observate de un intrus (mijloc).

Fig. 1.1 – 1 Atacul Pasiv

1 Terrnenul hacker este deseori folosit pentru a descrie rau-facatori care patrund in sisterne.

Vizibilitatea unui astfel de atac depinde de tipul de mediu prin care are loc comunicarea. Astfel, liniile de comunicatie mobile sunt relativ usor de ascultat, pe cand liniile fizice necesita acces fizic. Conductorii optici sunt si ei susceptibili la ascultare, dar cu un efort tehmologic substantial.

Este interesant de remarcat ca atacul pasiv nu se realizeaza exc1usiv la nivelul cailor de comunicare hardware. Pe piata se gasesc pachete software pentru monitorizarea traficului in retea in special in scop de management. Aceleasi pachete se pot folosi pentru capturarea parolelor necriptate din retea.

Fig. 1.1 – 2 Atacul Activ

Atacul activ ameninta integritatea si / sau disponibilitatea datelor, situatie ilustrata in figura 1.1 – 2. In acest caz, intrusul poate observa si controla fluxul de informatii, putandu-l modifica, extinde, sterge si re-trimite informatii. In plus, intrusul poate inunda receptorul cu informatii false pentru a cauza o intrerupere a comunicatiei, situatie denumita uzual Denial of Service.

Adesea, atacul poate sa fie atat activ cat si pasiv. Spre exemplu, prin atac pasiv se obtin parolele de acces la un anumit serviciu, apoi prin atac activ se face autentificarea. Este deci clar ca autentificarea prin parole nu este suficienta

1.2 Sisteme sigure

Inainte de a plonja in detalii sa observam ca orice schema de securitate trebuie sa inceapa cu securitatea jizica a unor dispozitive de calcul (in sensul ca accesul la aparatul insusi este ingradit). Daca nu poti avea incredere in nici un calculator, atunci nu poti face nici un fel de comunicatie sau stocare de date sigura. Daca cineva are control asupra sistemului de operare al unui calculator atunci el poate intercepta toate tastele apasate si toate caracterele scrise pe ecran.

Atunci cand lucrati pe un calculator trebuie sa aveti deplina incredere cel putin in consola la care lucrati si in celalalt capat al liniei. Daca nu puteti garanta aceste lucruri nu trebuie sa va asteptati la nici un fel de garantii de securitate din partea sistemului. Marile banci au calculatoarele ingropate in niste buncare subterane extrem de bine pazite; unul dintre motive este, desigur, acela de a nu pierde informatii extrem de importante in cazul unei calamitati, dar una dintre motivele primordiale este garantarea securitatii fizice a sistemului. Oricare ar fi scopul pentru care vrem sa protejam date, politica pe care o aplicam in acest sens va fi in functie de entitatea care vrea sa acceseze datele. De pilda anumite documente militare vor fi secrete pentru gradele mici, dar vor putea fi accesate de un general.

Pentru a putea face astfel de distinctii este deci necesar sa avem la dispozitie un mecanism de autentificare.

1.3 Autentifiearea si distributia cheilor

Procesul de autentijicare a paginilor participante la o comunicatie presupune folosirea tehnicilor criptografice pentru a impiedica un posibil atac. La randul lor, tehnicile criptografice folosesc chei pentru codificare / decodificare, ce trebuie distribuite partilor. In acest capitol vom face o descriere a ce1or mai importante concepte.

1.3.1 Criptografia

In general, criptologial se refera la stiinta comunicarii secretizate.

Aceasta cuprinde atat criptografia cat si criptanaliza.

Din punct de vedere istoric, patru grupuri de oameni au contribuit si au folosit arta criptografiei: armata, corpurile diplomatice, cei ce au tinut jurnale si indragostitii. Dintre acestea, armata a avut rolul cel mai important si a dat contur domeniului de-a lungul secolelor. In interiorul organizatiilor militare, mesajele ce trebuiau criptate erau de obicei date pentru criptare si transmitere unor functionari coduri de nivel scazut, prost platiti. Volumul de mesaje nu permitea ca aceasta munca sa fie facuta doar de cativa specialisti de elita. Pana la aparitia calculatoarelor, una din marile constrangeri ale criptografiei a fost capacitatea functionarilor codori de a realiza transformarile necesare, adeseori pe campul de lupta, cu echipament redus. 0 constrangere suplimentara a fost dificultatea de comunicare rapida de la o metoda criptografica la alta, deoarece aceasta implica reantrenarea unui numar mare de oameni. Totusi, pericolul ca un functionar codor sa fie capturat de catre inamic a facut sa devina esentiala posibilitatea de a schimba metoda criptografica instantaneu, in caz de necesitate. Aceste cerinte antagoniste au dat nastere modelului din figura 1.3.1 – 1.

Daca intreg sistemul cu care lucram este sigur fizic atunci nu avem mare nevoie de autentificare; notiunea de securitate fizica implica faptul ca persoane neautorizate nu pot accesa sistemu1. De indata insa ce datele trebuie sa traverseze portiuni nesigure trebuie sa luam masuri suplimentare de precautie.

Cuvantul "criptologie" vine din limba greaca din cuvintele kryptos (ascuns) si logos (cuvant).

Mesajele ce trebuie criptate, cunoscute sub numele de text clar (plain text), sunt transformate printr-o functie parametrizata de o cheie(ciphertext), este apoi transmis, adeseori prin curier sau radio. Presupunem ca inamicul, sau intrusul, asculta si copiaza cu acuratete tot textul cifrat. Totuasi, spre deosebire de destinatarul la care trebuie sa ajunga, el nu stie care este cheia de decriptare si astfel nu poate decripta prea usor textul cifrat. Uneori intrusul poate nu numai sa asculte canalul de comunicatie (intrus pasiv), ci si sa inregistreze mesajele legitime inainte ca ele sa fie fost preluate de receptor (intrus activ). Arta de a atrage cifruri se numeste criptanaliza (cryptanalysis). Arta de a sparge cifruri, denumita criptanaliza si arta de a le inventa (criptografia) sunt cunoscute impreuna sub numele de criptologie (cryptology).

Adesea va fi util sa avem o notatie pentru a pune in relatie textul clar, textul cifrat si cheile. Vom folosi C = Ek (P) pentru a simboliza faptul ca prin criptarea textului clar P, folosind cheia K, rezulta textul cifrat C. Similar, P = Dk (C) reprezinta decriptarea lui C pentru a obtine din nou textul clar o Rezultata ca:

Figura 1.3.1- 1 Modelul de criptare (cifru cu chei simetrice)

Astfel avem:

Principiul lui Kerckhoff: TOti algoritmii trebuie sa fie publici; numai cheile sunt secrete.

Aceasta notiune sugereaza ca E si D sunt doar niste functii matematice, ceea ce sunt de altfel. Singura parte mai delicata este aceea ca ambele sunt functii cu doi parametrii iar noi am scris unul dintre parametri (cheia) ca indice, nu ca argument, pentru a face distinctie intre ea si mesaj.

O regula fundamentala a criptografiei este aceea ca trebuie presupusa cunoasterea de catre orice criptanalist a metodelor utilizate pentru criptare si decripatare. Cu alte cvinte, criptanalistul stie cumuleaza in detaliu metoda de criptare E si de deciptare D din figura 1.3.1 – 1. Cantitatea de efort necesara pentru a inventa, testa si instal a o metoda noua, ori de cate ori vechea metoda este compromisa sau este presupus a fi compromisa, a facut intotdeauna nepractica pastrarea secreta a algoritmului de criptare. A crede ca este secreta atunci cand nu face mai mult rau decat bine.

Aici intra in scena cheia. Cheia consta dintru-un sir (relativ) scurt care selecteaza una dintre mai multe criptari posibile. In contrast cu metoda generala, care poate fi schimbata doar odata la catva ani, cheia poate fi schimbata ori de cate ori este nevoie.Astfel modelul nostru de baza este stabil si metoda generala, cunoscuta de toata lumea,este parametrizata cu o cheie secreta si usor de schimbat.Ideea ca algoritmii sunt cunoscuti de criptanalist si ea secretul consta exclusiv in cheie se numeste principiul lui Kerckhoff,denumit astfel dupa criptograful militar flamand Auguste Kerekhoff care l-a enuntat prima oara in 1883(Kerekoff,1883).

Funetiile cu sens unic sunt foarte importante in eriptologie. Pe intelesul tuturor, funetiile cu sens unic sunt usor de calculat dar greu de inversat. Matematic, acest lucru se spune astfel:

1.3.1.1 Functii de dispersie cu sens unic

Functia f: A ~ B este o functie cu sens unic daca f(x) se calculeaza usor pentru toate valorile x 8 A, dar este nefezabil din punct de vedere al timpului de calcul cand se da y € f(A) = B sa se gaseasca un x € A astfel incat f(x) = y. Aceasta definitie nu este precisa in sensul matematic deoarece nu defineste termenii "usor" si "nefezabil". Este important de aratat ca existenta functiilor cu sens unic este o presupunere care nu a fost inca dovedita.

Nu este in general necesar ea o functie cu sens unic sa fie injectiva, valori distincte initiale putand sa conduca la aeelasi rezultat. 0 functie cu sens unic f: A ~ B pentru care IBI « IAI se mai numeste fimctie de dispersie cu sens unic. Daea in plus fata de aceste conditii este greu sa se obtina Xl, X2 € A distincte astfel incat f(XI) = f(Xl), atunci f este 0 fimcfie de dispersie cu sens unic rezistenta fa coliziuni.Exemple de astfel de functii sunt MD4 (Rivest, 1992),MDS (Rivest ~i Dusse, 1992) si SHS (Secure Hash Standard) propus de u.S. National Institute of Standards and Technology (NIST).

1.3.1.2 Criptografia CD chei secrete

In criptografia cu chei secrete, o cheie este aleasa intre participanti si este folosita pentru criptarea si decriptarea mesajelor. De aceea, criptografia cu chei secrete se mai numeste criptograjie simetrica.

Criptografia cu chei secrete se foloseste de mii de ani intr-o varietate de forme. Implementarile moderne iau de obicei forma unui algoritm care se executa in hardware, firmware sau software. Majoritatea de astfel de criptosisteme se bazeaza pe operati simple cum ar fi permutari si transpoziti, dar este extrem de dificil sa se creeze un sistem rezistent la atacuri, in ciuda faptului ca istoria esecurilor este lunga si bogata.

Exemple de sisteme de criptografie cu chei secrete utilizate pe scara larga in lume sunt: AES1, DES2, triple DES, IDEA3, RC2, RC4, RCS4. Algoritmul FEAL 5 nu se mai foloseste datorita vulnerabilitatii la criptanaliza diferentiala.

1.3.1.3 Criptografia cu chei publice

Ideea functiilor cu sens umc a dus la inventarea criptografiei cu chei pub lice de catre Diffie si Hellman in 1976. Din punct de vedere practic, criptografia cu chei publice presupune existenta unei perechi de chei legate matematic. Una dintre e1e se numeste cheie publica si trebuie publicata – fara a afecta securitatea sistemului – iar cealalta este cheia privata care nu trebuie sa fie deconspirata in nici un fel. [DIFF88] Derivarea cheilor una dintr-alta este nefezabila din punct de vedere computational. Cel mai folosit sistem cu chei publice este RSA, inventat in 1978 de Rivest, Shamir si Adelman la Massachusetts Institute of Teclmology (MIT).

Aplicarea criptografiei cu chei publice necesita in cadnl de autentificare care leaga cheia publica a utilizatomlui de identitatea sa. Certificatul cu cheie publica este o dovada certificata de 0 autoritate de certifieare (CA – certificate authority). Folosirea CA evita verificarea de catre utilizatorii individuali a cheilor publice a altor utilizatori.

Criptografia cu chei publice este mai convenabila teoretic decat criptografia cu chei secrete deoarece paginile nu mai trebuie sa fie in posesia aceleiasi chei. Astfel, este necesara o schema de distributie a cheilor mult mai simpla.

Totusi, criptografia cu chei publice necesita in general operatii matematice dificile pentru procesoare mici. Spre exemplu, performanta cardurilor inteligente nu este suficient de mare pentru a permite utilizarea criptografiei cu chei publice, dar este interesant de vazut cum calculatorul gazda poate pre1ua o parte din sarcini pana la atingerea unui nivel de perfonnanta satisfiicator. 0 altemativa este folosirea criptografiei cu chei publice ca mecamsm de distributie a cheilor pentru un criptosistem cu chei secrete. [OPPL96]

1 Advanced Encryption Standard, cunoscut sub nume1e de Rijndae1, adoptat de NIST ca standard lnlocuitor pentru DES in anu1 200 l.

2 Data Encryption Standard, adoptat de NIST in anul1977. 3 International Data Encryption Algorithm, 1992

4 Rivest, 1995

5 Fast Encryption Algorithm

1.3.2 Autentificarea

In general, autentificarea se refera la procesul de verificare a identitatii unei parti. Autentificarea rezulta in autenticitate, insemnand ca partea care verifica (verifieatorul) poate fi sigur ca partea verificata (verificatul) este cel care spune ca este.

Modelul general pe care il folosesc toate protocoalele de autentificare este urmatorul. Alice incepe prin a trimite un mesaj fie lui Bob, fie unui centru autorizat de distribuire a cheilor KDC1, care este presupus a fi credibil. Urmeaza alte cateva schimburi de mesaje in diferite directii. In timp ce aceste mesaje sunt transmise, Trudy, le poate intercepta, modifica sau retrimite in scopul de a-i insela pe Alice si Bob sau doar pentm a incurca lucrurile. cu toate acestea, la incheierea protocolului de comunicare, Alice este sigura ca a vorbit cu Bob, iar acesta este sigur ca a vorbit ci Alice. Mai mult decat atat, in cele mai muIte protocoale, cei doi vor stabili si o cheie secreta de sesiune, pentru folosirea in conversatiile viitoare. In practica, din motive de performanta, tot traficul de date este criptat folosind criptografia cu cheie secreta (de obicei AES sau DES triplu), in timp ce criptografia cu cheie publica este larg folosita in protocoalele de autentificare si pentru stabilirea unei chei de sesiune.

Motivul pentru utilizarea unei chei de sesiune noi, alese aleator, pentru fiecare conexiune, este minimizarea marimii traficului care este transmis cu cheile secrete sau publice ale utilizatorului, pentru a reduce cantitatea de text cifrat pe care intrusul o poate obtine si pentru a reduce pagubele care se pot produce daca un proces esueaza, iar vidajul sau de memorie (core dump) cade in maini rele. Din fericire, singura cheie prezenta va fi cheia de sesiune. Toate cheile permanente trebuie sa fie anulate cu grija dupa stabilirea sesiunii.

Uzual, asa cum am expus in introducere, tehnicile de autentificare se impart in trei categorii fundamentale:

1 Key Distribution Center

• Autentificare prin cunos'tinte (ceva ce utilizatorul stie: coduri PIN, coduri de tranzactie, parole).

• Autentificare prin posesie (ceva ce utilizatorul are: chei, carduri de identificare sau alt fel de dispozitive fizice).

• Autentifieare prin proprietafi (identificarea biometrica a utilizatorului cum ar fi identificarea fetei, imagini ale retinei, sabloane vocale, amprente).

In tehmica de calcul actuala autentificarea preponderenta este cea prin cunostinte.

1.3.2.1 Autentificarea bazata pe parole

In cele mai multe sisteme distribuite si re!e1e de calcuIatoare, protectia resurselor se realizeaza prin login direct folosind parole, cu transmiterea in clar a acestora. Aceasta autentificare are mai multe inconveniente,din care amintim doar cateva: ~ Utilizatorii tind sa se1ecteze parole neuniform distribuite. Aceasta problema este binecunoscuta si nu este neaparat legata de rete1e de calculatoare si sisteme distribuite. [FELD90], [KLEI90]

~ Nu este convenabil pentru un utilizator care are mai muIte conturi pe hosturi diferite sa isi aminteasca parola pentru fiecare, si de asemenea sa o introduca la fiecare schimbare a host-ului. In schimb, utilizatorul va alege sa fie recunoscut de retea ca intreg si nu de host-uTile individuale.

~ Transmisia parolei este expusa la captura pasiva.

In principal datorita acestui ultim punct, autentificarea bazata pe parola nu este potrivita in retele de calculatoare si sisteme distribuite. Parolele trimise prin retea sunt foarte usor compromise si folosite ulterior pentru impersonarea utilizatorului.

In unele situatii este chiar suparator ca se foloseste autentificarea prin parola. Spre exemplu, in Statele Unite ale Americii telefoanele mobile folosesc ca parola interna la efectuarea unui apel chiar numarul telefonului respectiv pentru ca centrala sa poata factura fiecare apel in mod corect.Este evidenta ca un atacator poate impersona usor apelul si poate efectua convorbiri in contul altei persoane.

1.3.2.2 Autentificarea bazata pe adresa

O alternativa – nu neaparat mai sigura – la autentificarea prin parola este autentificarea prin adresa. Aceasta presupune ca identitatea unei surse se poate deduce din adresa acesteia continuta in pachete. Ideea de baza este ca fiecare host memoreaza identitatea celorlalte host-uri care au acces la resursele sale. In UNIX, fiecare host are un fisier numit /etc/hosts.equiv. Utilizatorii cu acelasi cont pe ambele sisteme pot folosi utilitarele "r" fara a specifica vreo parola.

Ideea de host-uri credibile nu este o solutie la problema autentificarii in retele de calculatoare. De fapt, acest tip de autentificare chiar pune probleme mai mari din punct de vedere al securitatii. Daca un atacator reuseste sa intre pe contul unui utilizator dintr-un sistem, securitatea este compromisa pe toate sisteme1e care au incredere in ace1 sistem. In plus, administratorul de sistem nu poate da drepturi preferentiale unor utilizatori.

In functie de mediul concret, autentificarea prin adresa este chiar mai putin sigura decat cea bazata pe parola. A vantajul il constituie insa comoditatea in folosire si de aceea multe sisteme au ales sa o implementeze.

1.3.2.3 Autentificarea criptografica

Ideea din spatele autentificarii criptografice este ca un A isi dovedeste identitatea catre B prin efectuarea unei operatii criptografice asupra unei entitati cunoscute de ambii participanti sau oferita de B. Operatia criptografica efectuata de A se bazeaza pe o cheie criptografica. Aceasta poate fi fie o cheie secreta sau o cheie privata dintr-un sistem cu chei asimetrice

In general, autentificarea criptografica este mai sigura decat autentificarea bazata pe parola sau pe adresa. In schimb, noile tehnici bazate pe dovezi zero-knowledge pot oferi mecanisme de autentificare chiar mai puternice. [SHAM87, QUIS90] Aceste tehnici necesita calcule matematice destul de complexe dar prezinta mai multe facilitati atractive pentru autentificare.In primul rand,permit partii ce se autentificasa dovedeasca ca stie secretul fara a transfera efectiv informatia catre verificator.

In al doilea rand, multe dintre schemele propuse pana acum folosesc aceleasi informatii publice, evitandu-se astfel problema distributiei cheilor care apare In cazul mecanismelor ce folosesc DES si RSA.

In ciuda aparentei simplitati, proiectarea sistemelor reale este foarte dificila. 0 serie de protocoale publicate au prezentat erori de securitate substantiale sau subtile. In timpul ultimei decade, eforturile de cercetare s-au concentrat In crearea de utilitare pentru dezvoltarea protocoalelor de autentificare si distributie a cheilor cu o anumita asigurare formala a securitatii. Realizarile cele mai notabile sunt logica BAN [BURR89] si logica GNY [GONG90]. In loc de a produce protocoale specifice, aceste metodologii se utilizeaza pentru a verifica un set de afirmatii presupus adevarate.

CAPITOLUL II

SISTEMUL DE AUTENTIFICARE KERBEROS

Dezvoltarea tehnologiei a cunoscut trei etape dominante. Prima dintre ele isi are radacinile in preistorie si este legata de descoperirea si producerea de noi materiale. A doua consta in gasirea de noi surse de energie. A treia este reprezentata de inventarea unor metode noi pentru manipularea infonnatiei. Toate aceste trei teme se regasesc in tehnologia modema, in prezent cea de a treia dintre ele – tehnologia informatiei – cunoscand o dezvoltare rapida.

Manipularea informatiei se bazeaza pe calculator, care, In "a doua revolutie industriala", are un rol similar cu cel al masinii cu aburi. Calculatoarele reprezinta nu numai "motoarele principale" ale prelucrarii informatiei, ci si motoarele auxiliare in activitatile legate de acesta, ca de exemplu comunicatiile.

Dezvoltarea exploziva a tehnologiei calculatoarelor, care a inceput in 1945, se afla in plin avant. Datorita reducerii costului si imbunatatirii performantelor, prezenta calculatorului a devenit un lucru obisnuit in orice aplicatie ce implica functii logice.

Cazurile in care calculatorul este amplasat exact in locul de obtinere a datelor sau de folosire a rezultatelor prelucrarii acestora sunt extrem de rare.

Astfel, datele sunt transfonnate printr-o retea de calculatoare, care actioneaza ca un "bit mover" (transportor de biti).

Fiind, in general, o stmctura deschisa, la care se pot concentra mai multe echipamente intr-un mod (cvasi) neingnldit, cercul utilizatorilor ce au acces la retea are o dinamica practic necontrolabila. Accesul acestora la fisierele, aplicatii si baze de date va fi partajat. Si atunci cand este vorba de acces partajat, problema principala care se pune este securitatea.Pentru a limita accesul la resurse numai pentru utilizatorii autorizati server-ele trebuie sa fie capabile de a confirma identitatile celor ce fac cereri la serviciile oferite – fiecare server trebuie sa faca acest lucu pentru fiecare interactiune client-server. Intr-o retea deschisa, aceasta activitate creeaza un overhead care suprasolicita server-ul. 0 solutie la aceasta problema o constituie sistemul de autentificare Kerberos.

Kerberos este un software destinat securitatii. Sistemul furnizeaza o autentificare in timp real a cererilor de resurse intr-o retea folosind sistemul cu cheie secreta DES 1.Nu este insa proiectat pentru a autentifica documente.

Acum, disponibil atat in varianta publica, dar si comerciala, Kerberos a fost declarat un standard INTERNETsi a devenit standardul "de facto" pentru autentificare la distanta intr-un mediu deschis de retea.

Spre deosebire de muIte dintre solutiile curente in ceea ce priveste securitatea – cum ar fi generatoarele de parole sau dispozitivele biometrice care citesc amprentele digitale sau ale irisului – Kerberos rezolva problema securitatii in retea fara hardware suplimentar, ci bazandu-se pe mecanismele de criptare.

Kerberos finalizeaza o modalitate de a verifica identitatile conducatorilor unei tranzitii intr-o retea deschisa (i.e. neprotejata). Aceasta se realizeaza fara a ne baza pe verificarea -mcuta de sistemul de operare local, fara a ne baza pe validitatea adreselor de retea, fara a cere securitate fizica la toate host-urile din retea si sub prezumtii ca pachetele care circula in retea pot fi citite, modificate si inserate dupa dorinta. (Notfun totusi ca multe aplicatii folosesc functii Kerberos prin initierea unei comunicatii prin soketi stream si presupune absenta unor "hacker-i" ce ar putea submina o astfel de comunicatie. Aceasta presupune implicit si increderea in adrese1e de retea vehiculate prin aceste mijloace.) In aceste conditii, Kerberos este un tel! ( o parte) de incredere care realizeaza autentificarea partilor prin servicii criptografice conventionale (fie servicii ce folosesc cheie secreta partajabila – aceeasi cheie este folosita si la criptare si decriptare),in speta fiind folosit Data Encryption System (DES).

2.1 Dezvoltare

Sistemul de autentificare si distributie a cheilor Kerberos1 [STEI88, SCHI94, KOHL93] a fost dezvoltat la Massachusetts Institute of Technology (MIT) pentru a proteja serviciile de retea oferite de proiectul Athena [CHAM90, CHAM91 ]. Scopul Kerberos era sa extinda notiunea de autentificare, autorizare si contabilizare a mediului MIT. In conformitate cu planul tehnic al proiectului Athena, mediul consta In principal din:

• Statii de lucru publice si private:

Statii de lucru publice in locuri cu securitate fizica minima sau deloc.

Statii de lucru private sunt sub controlul fizic si administrativ a indivizilor fara responsabilitate fata de administratia centrala a retelei.

• 0 retea in campus compusa din multiple LAN-uri de diferite tipuri conectate la un backbone. LAN-urile sunt dispersate spatial si vulnerabile la diferite atacuri, pe cand backbone-ul este securizat fizic intr-o anumita masura.

• Serverele centrale sunt situate in camere cu acces restrictionat si ruleaza software care se presupune ca nu contine cod ostil. Unele dintre aceste servere functioneaza sub paza stricta, acestea fiind folosite ea servere de seeuritate.

• Serverele centrale sunt situate in camere cu acces restrictionat si ruleaza software care se presupune ca nu contine cod ostil. Unele dintre aceste servere functioneaza sub paza stricta, acestea fiind folosite ea servere de seeuritate.

I Data Encryption Standard, adoptat de NIST in anul1977

1 In mitologia greaca, cerberul (Kerberos) este numele unui caine de paza eu trei capete al lui Hades, a carui

misiune era sa pazeasca intrarea in lumea de dedesubt.

De remarcat ca acest mediu nu este potrivit pentru stocarea, procesarea sau transmiterea de date secrete sau efectuarea de operatii cu grad ridicat de risc cum ar fi controlul experimentelor periculoase. Riscurile care se au in vedere in principal sunt utilizarea necontrolata a utilizatorilor neautorizati, violarea integritatii resurselor sistemelor precum si violarea in general a intimitatii cum ar fi citirea fisierelor personale ..

Intr-un astfel de mediu, riscurile in securitate provin in principal de la posibilitatea de a falsifica identitatea unui individ pentru a obtine acces neautorizat la resursele sistemului. 0 statie de lueru – inc1uzand sistemul de operare si interfata de retea este sub controlul total a1 utilizatorului care ar putea sa incerce sa se substituie altui utilizator sau host.

Primele trei versiuni ale Kerberos au fost folosite doar in cadrul MIT1Acestea nu mai sunt folosite in prezent, de aeeea nu ne vom concentra asupra lor in aceasta luerare. Prima versiune facuta publica a fost Kerberos V 4, versiune ce a cunoscut o raspandire importanta in afara MIT. Ultima actualizare (cu numarul 10) a fost facuta in decembrie 1992, aceasta fiind versiunea finala pana in prezent.

Une1e medii necesita funetionalitati neacoperite de Kerberos V4, iar altele au o structura diferita de modelul MIT. Ca rezultat, in 1989 a inceput lucrul la Kerberos V 5, pe baza experientei acumulate eu Kerberos V 4 si a discutiilor cu administratorii de sisteme care au implementat Kerberos. In septembrie 1993, Kerberos V5 a fost specificat ca standard internet in RFC 1510 [KOHL93]. MIT a dezvoltat si testat Kerberos V5 pe Ultrix, SunOS, Solaris si Linux, fiind portat si pe alte sisteme de catre terti. De remarcat ca desi simi1are ca si concept, Kerberos V 4 si V 5 sunt substantial diferite si chiar sunt in competitie pentru dominatia pe piata. Pe scurt, Kerberos V 4 are o baza de instalare mai mare, este mai simplu si are o performanta mai mare decat V5, insa lucreaza doar cu adrese IP. Kerberos V5 pe de alta parte, are o baza de instalare mai redusa, este mai complicat si implicit mai putin eficient, dar prezinta mai multa functionalitate decat V 4. Diferentele importante intre V 4 si V 5 le vom discuta ulterior in cadrul acestui capitol.

1 Massachusetts Institute of Technology

In ciuda faptului ca este disponibil codul sursa pentru Kerberos V 4 si V 5, MIT nu-l sustine oficial si nu ofera suport. Unele companii insa ofera contra cost versiuni comerciale de implementari Kerberos. Informatii despre versiunile frecvare si comerciale se gasesc in Kerberos F AQ publicat periodic in grupul de stiri eomp.protoeols.kerberos.

2.2 Arhitectura

In tehnologia Kerberos, un domeniu administrativ se numeste realm. Se presupune ca orice companie sau organizatie care doreste sa achizitioneze Kerberos poate crea un realm identificat unic printr-un nume. Teoretic, Kerberos poate suporta mai bine de 100.000 de utilizatori, iar – referindu-ne la [SCHI95] ¬realm-ul ATHENA.MIT.EDU suporta in mod curent 25.000 de utilizatori din care aproximativ 7.000 se autentifica in fiecare zi.

Kerberos se bazeaza pe modelul client / server. Utilizatorii, clientii si serviciile de retea instalate pe un host in particular se considera in mod tipic parteneri. Fiecare partener este identifieat in mod unic de un identificator de partener. In Kerberos V 4, un identificator de partener are in componenta trei campuri fiecare _. un iT terminat cu unul de pana la -+0 de caractere.Aeeste trei cimpuri sunt:

• Numele partenemlui, NAME

• Nume1e instantei, INSTANCE

• Nume1e realm-ului, REALM

Din punctul de vedere al sistemului Kerberos nu conteaza cum se folosesc campurile NAME si INSTANCE. Acestea sunt doar infiltrate text. Totusi in practica, serviciile au un nume si INSTANCE se foloseste pentru a indica host¬ul pe care ruleaza un serviciu anume. Spre exemplu, serviciul login de pe host¬ul asterix se poate distinge de serviciul login de pe host-ul obelix.

I Autentification Server

2 Ticket Granting Servers

Scopul sistemului Kerberos este de a permite unui client ce ruleaza III numele unui utilizator anume

sa se identifice unui serviciu sau unui server de aplicatii corespunzator, fara a se necesita trimiterea unor date secrete care ulterior sa poata fi folosite de un atacator la impersonarea utilizatomlui.

Pentru a realiza acest lucu, modelul Kerberos necesita existenta unui tert de incredere care serveste ca centu de distributie a cheilor (KDC) in realm-ul Kerberos. KDC-ul constituit din doua componente si anume:

• Un server de autentificare (AS 1)

• Un numar de servere pentru acordarea biletelor (TGS2)

si TGS sunt componente separate logic dar pot fi procese care rnleaza pe aceeasi masina. Aceasta trebuie sa fie protejata cn grija si securizata fizic, deoarece un intrus ar putea compromite usor intreg sistemul de la acest nivel.

KDC mentine o baza de date cu informatii despre fiecare partener din cadrul sistemnlui. Deoarece securitatea este foarte importanta, aceasta informatie este redusa la un minim posibil pentru a efectua cu succes autentificarea. Astfel, desi baza de date Kerberos este la nivel de utilizator, aceasta nu contine infonnatii cum ar fi numere de telefon sau adrese, neutilizate in mod curent la autentificare, ci urmatoarele:

• Identificatorul partenerului;

• Cheia master Kp (sau parola daca este utilizator)

• Data expirarii identitatii

• Data ultimei modificari a inregistrarii

• Identitatea partenerului care a operat modificarea

• Timpul maxim de viata a biletelor emise partenerului

• Unele atribute

• Unele date interne de implementare invizibile la exterior cum ar fi versiunea cheilor, versiunea cheii master sau indicatori dintre valori vechi ale inregistrarii.

Cheia master (Kp) a fiecarui partener trebuie tinuta secreta, de aceea toate aceste chei se codifica cu o cheie master a KDC. Pe langa o protectie sporita, aceasta metoda permite distribuirea bazei de date intre servere fara riscul de a fi capturata de un potential atacator. Cheia master KDC nu se pastreaza in aceeasi baza de date, ci se opereaza separat.

Kerberos furnizeaza mai multe instrumente de management a bazei de date KDC. In domeniile mici, se poate utiliza setul de instrumente manuale de la consola administratorului. In domeniile mari se poate utiliza un sistem automat de management la serviciile (SMS). In fiecare caz, functiile de management se realizeaza la distanta prin retea, conexiunile la baza de date KDC

fiind autentificate tot prin Kerberos. Actualizarile se efectueaza printr-un protocol care ruleaza intre un client autentificat pe o statie si baza de date KDC. Exista rutine de actualizare pentru adaugarea si dezactivarea intrarilor, precum si de a controla schimbari de parola initiate de utilizator sau administrator.

Figura 2.2 – 1 ilustreaza model Kerberos fundamental ~1 pasii corespunzatori ai protocolului. Situatia sta in felul unnator: pe partea stanga, un client ruleaza in numele utilizatorului. Pentru a folosi serviciile serverului aflat in partea dreapta jos, clientul trebuie sa se autentifice cu acesta. In aceasta situatie, este in sarcina KDC sa ofere clientului creditele pentru procesul de schimb de autentificare. Este important de remarcat ca atat clientul cat si serverul nu au cunostinta de o cheie initiala de sesiune. De fiecare data cand clientul incearca sa se autentifice serveru1ui, acesta se bazeaza pe KDC pentru generarea cheii de sesiune si distribuirea ei pagilor implicate.

Figura 2.2 – 1 Modelul Kerberos si pasii corespunzatori protocolului

Kerberos folosese bilete pentru distribuirea cheilor de sesiune. In general, un bilet este o inregistrare care poate fi folosita la autentificare. In Kerberos, un bilet este un certificat emis de KDC si criptat cu cheia master a serverului. Printre altele, biletul contine:

• Cheia de sesiune care va fi utilizata pentru autentificarea intre client si server;

• Numele partenerului catre care cheia de sesiune a fost emisa;

• Un timp de expirare dupa care cheia de sesiune nu mai este valida.

Un bilet nu este trimis direct catre server, in schimb este trimis clientului care il inainteaza -serverului ca parte a schimbului de autentificare. Un bilet Kerberos este intotdeauna criptat cu cheia serverului, cunoscuta doar de AS si de serverul in cauza. Datorita acestei criptari, clientul nu poate modifica mesajul fara ca acest lucru sa poata fi depistat.

Cand un utilizator se aseaza la o statie de lucru si incearca sa se logheze, acesta introduce numele sau, ca de obicei. Clientul de login fumizeaza AS numele in pasul 1, iar AS cauta intrarea corespunzatoare utilizatorului ill baza de date KDC. Parola utilizatorului (sau cheia ce deriva din aceasta) se foloseste apoi pentru a cripta un bilet de acordare a biletului (TGT1) si TGT-ul este returnat clientului ill pasul 2. Clientul cere utilizatorului sa isi introduca parola, cu care se va cripta TGT. Daca cheia derivata din parola utilizatorului poate decripta cu succes TGT, acestuia i se permite accesul. l Ticket Granting Ticket

Pe partea de client, TGT-ul este memorat pentru folosire ulterioara si anume pentru a obtine bilete pentru autentificarea in servicii de retea particulare. Scopul principal al TGT este deci sa faciliteze o singura autentificare pentru utilizatori. Parola este astfel ceruta o singura data, si nu de fiecare data cand se cere accesul la un serviciu.

Biletele sunt eliberate de TGS-ul specificat in TGT-ul primit de utilizator.

Pentru a obtine un bilet, clientul trimite o cerere catre TGS in pasul 3. Mesajul include numele serviciului cerut, TGT-ul si autentificatorul. Aceasta din urma este o informatie ce poate proba ca a fost generata recent utilizand cheia de sesiune de catre client si server impreuna. In particular, autentificatorul contine numele utilizatorului, adresa de retea a clientului si timpul curent, fiind criptat cu cheia de sesiune returnata in TGT. Autentificatorul este o schema simpla pentru a descuraja atacurile replay. Daca TGS considera atat biletul cat si autentificatorul valid, biletul este returnat in pasul 4. Clientul creeaza un aIt autentificator si il trimite impreuna cu biletul de serviciu serverului, in pasul 5. Daca se cere autentificare reciproca, serverul returneaza un autentificator in pasul 6. Asa cum a fost descris pana acum, modelul Kerberos nu ofera decat serviciul de autentificare. In sine, el nu ofera informatii despre autorizarea clientului in a folosi anumite servicii de retea. In general, sunt trei posibilitati pentru atingerea problemei autorizarii, si anume:

• Baza de date Kerberos ar putea contine informatii de autorizare pentru fiecare serviciu si sa emita bilete doar utilizatorilor autorizati.

• Un serviciu dedicat poate mentine informatiile de autorizare prin liste de acces pentru fiecare serviciu si penniterea clientului sa obtina certificate sigilate de apartenenta la lista. In acest caz clientul ar prezenta serviciului certificarea in locul biletului Kerberos.

• Fiecare serviciu poate mentine propria informatie de autorizare cu ajutorul optional al unui serviciu care stocheaza aceste liste de acces si ofera certificari de apartenenta la lista.

Modelul Kerberos se bazeaza pe faptul ca fiecare serviciu cunoaste cu exactitate cine sunt utilizatorii sai si ce forma de autorizare este potrivita pentru acestia. In consecinta Kerberos foloseste cea de-a treia metoda. In contrast, protocoalele OSF DeE si SESAME folosesc cea de-a doua metoda.

Pentru simplificarea implementarii celei de a treia metode, Kerberos foloseste modelul de autorizare bazat pe liste de control al accesului. Orice serviciu care considera ca i se potriveste acest tip de autorizare poate incorpora o biblioteca cu functii adecvate. Utilizarea acestui model presupune ca serviciul verifica daca o identitate verificata apartine unei liste de acces.

2.3 Protocoale criptografice

In aceasta sectiune descriem protocoalele criptografice pe care le implementeaza Kerberos. Incepem cu o scurta descriere a protocolului Needham-Schroeder si continuam cu protocoalele utilizate de fapt in Kerberos V4 si V5. In cele din urma ne vom concentra atentia asupra autentificarii inter¬domenii.

2.3.1 Protocolul Needham-Schroeder

Kerberos se bazeaza pe protocoalele de autentificare si distributie a cheilor propuse de Needham si Schroeder [NEED78, NEED 87] 1. Protocolul presupune existenta unui tert de incredere care reprezinta un server de autentificare (AS). Daca AS are cheile fiecarui partener, doi parteneri arbitrari A si B pot folosi AS pentru a se autentifica reciproc si sa primeasca o cheie

1.A AS : A, B, N

2.AS A : {N, B, Kab, {Kab, A} Kb} Ka

3.A B : {Kab, A} Kb

4.B A : {Nb} Kab

5.A B : {Nb – I} Kab

Protocolul incepe prin comunicatia in c1ar de la A la AS in pasul 1, unde se transmite identitatea pretinsa, identitatea corespondentului dorit B, precum si o valoare curenta N.1.in prima lor lucrare, Needham si Schroeder propun trei protocoale; doua dintre ele folosesc criptografia cu chei secrete, iar al treilea foloseste criptografia cu chei publice

La receptionarea mesajului, AS cauta cheile secrete ale A si B (Ka si Kb) si alege aleator o cheie de sesiune Kab. In pasul 2, AS returneaza lui A {N, B, Kab, {Kab, A} Kb} Ka, mesaj codificat cu cheia lui A, deci numai acesta poate decodifica mesajul si extrage componentele sale. A poate verifica prezenta valorii N pentru a detennina daca mesajul provine intr-adevar de la AS. A memoreaza valoarea Kab si trimite lui B valoarea {Kab, A} Kb, in pasul 3. Aceasta valoare este codificata cu cheia lui B, deci numai acesta poate decodifica mesajul si extrage componentele, in speta cheia Kab. Prin aceasta modalitate B poate afla identitatea corespondentului A, autentificat de AS.

In acest moment, A stie ca orice comunicare codificata cu Kab provine de la B si orice trimite A codificat cu Kab poate fi inteles numai de B. Acest lucru este adevarat, deoarece mesajele care au continut cheia de sesiune au fost legate cheile secrete ale partilor A si B. Acelasi lucru este valabil si pentru B. Este important sa se asigure securitatea protocolului, in sensul ca nici o parte a acestuia sa nu poata fi inregistrata si redata mai apoi de un atacator. lata cum stau lucrurile din punctul de vedere al celor doi parteneri:

• Pe de o parte, A este constient ca nu a mai folosit Kab si deci nu are motive sa se teama ca materialul codificat cu aceasta cheie este altceva decat un raspuns legitim de la B.

• Pe de alta parte, pozitia lui B nu este atat de buna. in afara cazului in care B isi aminteste toate cheile folosite anterior de A pentru a verifica daca Kab este o cheie noua, B nu este sigur ca mesajul primit in pasul 3 provine de la A.

Pentru protectia impotriva atacurilor replay, B trebuie sa aleaga un numar Nb aleator, sa-l codifice cu cheia Kabsi sa ceara lui A (in pasul 4) sa raspunda cu numarul decrementat si recodificat cu cheia Kab. Daca raspunsul primit de B este satisfacator, schimbul ulterior de mesaje poate continua.

Primul protocol Needham-Schroeder consta din 5 pasi. Acest numar se poate reduce la 3 prin mentinerea de catre A in cazul pmtenerilor obisnuiti de comunicare a perechilor de forma B : Kab, {Kab, A} Kb , astfel eliminandu-se pasii 1 si 2. Noul protocol arata in felul urmator:

l.A AS : A, B, N

2.AS A : {N, B, Kab, {Kab, A} Kb} Ka

3.A B : {Kab, A} Kb, {Na} Kab

4.B A : {Na – 1, Nb} Kab

5.A B : {Nb -I} Kab

O vulnerabilitate majora a ambelor versiuni ale protocolului Needham¬Schroeder consta in posibilitatea ca un tert C care este capabil de a urmari dialogul sa lanseze un atac off-line asupra Kab. Daca C poate determina o cheie de sesiune K' ab folosita in trecut, C poate impersona pe A. De fapt, C poate folosi biletul corespunzator impreuna cu valoarea codificata cu K' ab in pasul 3. B provoaca pe A in pasul 4 si deoarece C cunoaste pe K' ab, poate raspunde corect in pasul 5. Slabiciunea subtila din spatele acestui protocol este ca mesajul din pasul 3 nu contine nici o informatie pentru B pentru a-i verifica prospetimea. De fapt acest lucru este cunoscut doar de AS si A. Aceasta slabiciune a fost descoperita de Denning si Sacco [DENN81]. Ca masura reparatorie, ei au propus inlocuirea valorii cu amprente de timp si folosirea urmatorului protocol in loc:

1.A • AS : A,B

2.AS • A : {B, Kab, T, {Kab, A, T} Kb} Ka

3.A • B : {Kab, A, T} Kb

4.B • A : {Na} Kab

5.A • B : {Nb -I} Kab

Protocoalele sunt mai mult asemanatoare decat diferite.In protocolul Denning-Sacco, A trimite lui AS pe A si B in pasul AS retumeaza lui A {B, Kab, T, {Kab, A, T} Kb} Ka in pasul 2. In acest caz T reprezinta amprenta de timp, folosita pentru a se determina prospetimea unui mesaj. A si B efectueaza aceasta verificare in pasii 2 si 3 prin simpla comparare cu timpul local al sistemului. Avand in vedere acest lucru, odata cu introducerea amprentelor de timp apar alte doua probleme:

• Utilizarea amprentelor de timp necesita ceasuri sincronizate global

• Definirea intervalelor acceptabile de timp este o sarcina dificila.

2.3.2 Protocolul Kerberos V 4

Protocolul utilizat in Kerberos V 4 se bazeaza in parte pe protocolul Needham-Schroeder cu unele modificari menite sa-l adapteze la mediul de retea pentru care a fost proiectat initial.

Printre aceste schimbari, amintim:

• Utilizarea amprentelor de timp, asa cum au propus Denning si Sacco;

• Adaugarea unui serviciu de oferire a biletelor pentru a permite autentificarea suplimentara fara a fi necesar ca utilizatorul sa-si reintroduca parola;

• 0 abordare diferita a autentificarii inter-domenii.

Avand in vedere figura 2.3.2 – 1, pasii protocolului Kerberos V4 se poate formaliza dupa cum urmeaza:

Figura 2.3.2 – 1 Pasi protocolului Kerberos

In aceasta descriere, termenul T c,tgs={U,C,TGS,T,L,K} KTGS se utilizeaza pentru a se referi la un TGT care a emis de AS pentru a fi folosit de un client C pentru a se autentifica cu un TGS si a cere un bilet corespunzator.

In mod similar, termenul Tc,s ={U, C, S, T', L', K'} Ks desemneaza un bilet emis de TGS si utilizat de C pentru a se autentifica cu un server s. In ambele expresii, T si T' se refera la amprente de timp, iar L si L' desemneaza timpul de viata al acestora. 0 amprenta de timp reprezinta numarul de secunde de la ora 00:00:00 GMT, 1 ianuarie 1970 si se codifica pe 4 octe!i. Aceasta este 0 reprezentare comuna a timpului intr-un sistem LTNIX. In mod similar, timpul de viata al unui bilet se specifica in unitati de cinci minute si se codifica Intr-un singur octet, drept urmare timpul maxim de viata care se poate exprima in Kerberos V 4 este cel pu!in peste 21 de ore.

In plus fata de acestea, tennenii Ac,tgs = {C, T} K si Ac,s = {C, T'}K' desemneaza autentificatorii pentru T c,tgs si Tc,s'

Cei sase pasi ai protocolului se pot grupa in trei schimburi:

• Schimbul TGS intre client si TGS (pasii 3 si 4);

• Schimbul AP intre client si serverul de aplicatii (pasii 5 si 6).

• Schimbul AS intre client si AS (pasii 1si 2);

2.3.2.1 Schimbul AS

Schimbul AS al protocolului Kerberos V4 este ilustrat in figura 2.3.2.1 ¬1. Pe scurt, un client C utilizeaza un serviciu de nume (name service) pentru a localiza in termeni de topologie a retelei eel mai apropiat TGS disponibil. C trimite apoi un mesaj KRB _AS _ REQ (Kerberos authentification server request) catre AS in pasul 1. Mesajul include identificatorul de utilizator U, identificatorul TGS-ului selectat, o amprenta de timp T si durata de viata dorita pentru TGT.

Dupa primirea mesajului KRB _AS _ REQ, AS cauta si extrage cheile secrete asociate cu U si TGS. AS selecteaza apoi o cheie de sesiune aleatoare K si-i raspunde lui C cu mesajul KRB _AS _ REP (Kerberos authentifcation server reply) in pasul 2. Mesajul include K, N si Tc,tgs. Dupa reeeptionarea mesajului KRB_AS_REP, C trebuie sa ceara utilizatorului U parola sa. De fapt, protocolul Kerberos V 4 adopta o regula general valabila in securitate, aecea de a sti parola utilizatorului un timp minim posibil. Totusi, asteptarea pentru cateva secunde a mesajului KRB _AS _ REP nu creste siguranta in mod semnificativ, de aceea Kerberos V5 cere parola inainte ca C sa trimita mesajul KRB_AS_REP. Un alt motiv pentru care aceasta parola se cere inainte este ca C trebuie sa dovedeasca faptul ca stie parola utilizatorului pentru ca AS sa trimita mesajul KRB _AS _ REP, lucrul care ingreuneaza atacul prin ghicire a parolelor.

In Kerberos V4, daca U introduce corect parola pwdu, C poate folosi o functie h de dispersie cu sens unic cunoscuta pentru a calcula cheia secreta a lui U, adica KU -h(pwdu).

Echipat cu aceasta cheie, C poate decodifica {K, N, Tc,tgs} Ku si extrage K, N, si Tc,tgs. Daca C are succes, acesta este in posesia unui TGT care poate fi utilizata pentru a cere bilete de la TGS.

Figura 2.3.2.1-1 Schimbul AS

De remarcat ca intr-un TGT, timpul de viata se foloseste ca 0 parola de expirare a timpului. Limitarea timpului de viata al TGT limiteaza astfel avariile produse in sistem in cazul compromiterii TGT. In Kerberos, in general nu este posibil sa se revoce un TGT odata ce a fost emis.

2.3.2.2 Schimbul TGS

Schimbul TGS al protocolului Kerberos V4 este ilustrat in figura 2.3.2.2¬1. Formatul mesajului este aproape identic cu cel din schimbul AS. Diferenta consta in faptul ca mesajul este codificat cu cheia de sesiune K (cunoscuta de C si TGS) in loc de cheia utilizatorului Ku.

Inainte de a initia un schimb TGS, C trebuie sa detennine in care domeniu a fost inregistrat serverul de aplicatii pentru care se cere un bilet. Daca C nu are deja un TGT pentru acel domeniu, trebuie sa obtina unul. Prima data se incearca a se obtine un TGT pentru domeniul destinatie de la un server Kerberos local, prin trimiterea mesajului KRB_TGS_REQ. Acesta poate retuma un TGT pentru domeniul in cauza, caz in care C nu-l poate folosi. Altemativ, serverul Kerberos poate returna un TGT pentru un domeniu mai apropiat de cel solicitat, caz in care procesul trebuie repetat pentru acest domeniu, specificat in TG T. In cazul in care nu se primeste nici un raspuns, se incearca obtinerea TGT-ului de la un domeniu mai sus in ierarhie.

In pasul 3, C trimite mesajul KRB_TGS_REQ (Kerberos ticket granting server request) catre TGS. Mesajul include S, N, Tc,tgs si un autentificator Ac,tgs = {C, T} K, cu T amprenta de timp. De remarcat ca Tc,tgs poate avea o viata relativ lunga si poate fi capturat si redat. Scopul autentificatorului este sa arate ca C stie cheia secreta si deci sa contracareze un astfel de atac.

Utilizarea autentificatorilor necesita o sincronizare relativ precisa a ceasurilor, diferenta admisibila fiind configurabila la fiecare server. De regula, aceasta este configurata la 5 minute, dar in practica aceasta s-a dovedit mult mai problematica. Odata cu introducerea protocoalelor de sincronizare temporala a fost posibila sincronizarea mult mai precisa.

Figura 2.3.2.2 -1 Schimbul TGS

Mesajul KRB _ TGS _ REQ este procesat intr-o maniera similara cu mesajul KRB_AS_REQ dar se face o serie de verifieari suplimentare. In pasu1 4, TGS-ul returneaza un mesaj KRB _ TGS _ REP (Kerberos ticket granting server reply) care are ace1asi format cu mesajul KRB_AS_REP. Acesta include un bilet Tc,s pentru serverul cerut S si o noua cheie de sesiune K', ambele codifieate cu K. Cand mesajul KRB _ TGS _ REP este receplionat de C, este procesat in aceeasi maniera cu KRB _AS _ REP, asa cum s-a descries mainainte. Prineipala diferenta este ca partea cifrata a raspunsului trebuie decodificata cu cheia de sesiune cunoscuta de TGS si nu cu cheia utilizatorului

2.3.2.3 Schimbul AP

Schimbul AP din protocolul Kerberos V 4 este ilustrat In figura 2.3.2.3 ¬1. Acesta este utilizat de aplicatii de retea fie pentru a autentifica un client fata de un server sau sa se autentifice reciproc. Clientul trebuie sa aiba deja credentiale pentru server prin utilizarea schimburilor AS ;;i TGS.

In pasul 5, C trimite mesajul KRB _ AP _ REQ (Kerberos Application Request) catre serverul S. Mesajul include Tc,s, Ac,s = {C, T'} K' si unele informatii de management. Autentificarea se bazeaza pe timpul curent al serverului, biletul Tc,si autentificatorul Ac,s.

Figura 2.3.2.3 – 1 Schimbul AP

Pentru a ne asigura ca mesajul KRB _ AP _ REQ nu este o redare a unui mesaj recent, este indeajuns ca sa memoreze toate amprentele de timp intr-o fereastra data ;si sa se asigure ca mesajul nu are o amprenta de timp identica cu cele anterior receptionate. Orice autentificator mai vechi decat fereastra de timp permisa ar fi respins oricum, deci nu ar fi folositor a se memora amprente mai vechi decat aceasta fereastra.

Kerberos V 4 insa nu se complica sa memoreze amprente de timp, aceasta deoarece daca S este un serviciu replicat in care toate instantele impart aceeasi cheie master,ar fi relativ usor pentru un atacator sa trimita un mesaj de la o instanta S1 catre o alta instanta S2. Rezolvarea simpla a acestei probleme ar fi ca autentificatorul sa contina si identificatorul nivelului de retea a instantei S in cauza.

Daca nu apare nici o eroare si daca este necesara autentificarea reciproca, S trebuie sa returneze lui C mesajul !Csi_AS _ REP (Kerberos application reply) In pasul 6. Din nou, acest mesaj este codificat cu cheia de sesiune K', cunoscuta de C si S. Din moment ce aceasta cheie a fost in biletul codificat cu cheia secreta a serverului, posesia acesteia este dovada ca S este partenerul doril. Mai precis, S trebuie sa incrementeze amprenta de timp inclusa in autentificatorul mesajului KRB_AP _REQ si sa-l recodifice cu K'.

2.3.3 Protocolul Kerberos V5

In aceasta sectiune ne vom concentra asupra Kerberos V 5 In general si a diferentelor importante fata de Kerberos V4. In Kerberos V5 au fost operate urmatoarele modificari:

• Identificatorii partilor: In Kerberos V5, identificatorii pag.lor constau in doua repere: numele domeniului (realm) si un rest. Numele domeniului este separat pentru a facilita implementarea usoara a rutinelor de traversare si a verificarilor de acces la domeniu. Restul este o secventa de cate componente sunt necesare pentru numele paginiiDe remarcat ca identificatorul din Kerberos V 4 este similar cu un rest cu doua componente in Kerberos V 5.

• Utilizarea criptarii: Pentru a imbunatati modularitatea lui Kerberos, criptarea a fost separata in module software care pot fi schimbate sau indepartate la nevoie. Cand se oloseste criptarea, textul respectiv este marcat in asa fel incat receptorul sa poata identifica modulul de care are nevoie pentru a intelege mesajul. Algoritmii de criptare de asemenea au sarcina de a oferi siguranta integritatii, prin folosirea unor metode adecvate, cum ar fi suma de control.

• Adrese de retea: In Kerberos V5. adresele sunt etichetate cu un tip si lungime, astfel ca daca un host suporta mai multe protocoale de retea sa le poata oferi bilete.

• Codificarea mesajelor: Mesajele sunt descrise utilizand notatia de sintaxa abstracta 1 (ASN 1) si codificate dupa regulile fundamentale de codificare (BER). Astfel, se evita pecificarea codifidirii pentru cantitati compuse din mai multi octeti asa cum era cazul Kerberos V4.

• Formatul biletului: Biletul are un format extins pentru noile optiuni. Acesta este impartit in doua parti, una codificata iar alta nu. Numele serverului este necodificat pentru a permite unui server cu identitati multiple sa selecteze cheia potrivita. In plus fata de aceasta schimbare, timpul de viata al biletului este reprezentat ca timp de start si timp de expirare, permitand timp de viata aproape nelimitat.

• Supart inter-dameniu: In Kerberos V 5, domeniile pot coopera printr-o ierarhie bazata pe numele realm-ului. Un domeniu sursa este interoperabil cu domeniul destinatie daca cele doua cunosc o cheie pentru domeniu de destinatie.

In plus fata de acestea, Kerberos V5 mai aduce o serie de imbunatatiri.

Spre exemplu, campurile indicatoare mentionate anterior permit o flexibilitate mai mare in utilizarea biletelor decat in versiunea V4. Fiecare bilet emis de AS in schimbul initial este marcat ca atare. Aceasta permite serverelor sa ceara c1ientului sa prezinte un bilet obtinut prin folosirea directa a cheii secrete a c1ientului in locul cheii obtinute folosind un TGT. 0 astfel de cerinta impiedica un atacator sa schimbe parola unui utilizator de la o statie neutilizata dar login¬ata.

In Kerberos V 5, biletele pot fi eliberate cu doua date de innoire. Biletul expira ca de obicei la primul timp, dar daca TGS primeste o cerere de innoire inainte de expirarea acestuia, biletul emis ca inlocuitor este valabil pentru inca o perioada de timp. Totusi, TGS-ul nu va reinnoi un bilet dupa expirarea celui de al doilea timp. Acest mecanism prezinta avantajul ca desi credentialele se pot utiliza o perioada lunga de timp, TGS-ul ar putea refuza sa reinnoiasca bilete raportate ca furate si astfel sa impiedice folosirea lor in continuare.

Kerberos se ocupa in principal cu autentificarea si nu este in mod direct preocupat de servicii de securitate cum ar fi autorizarea si contabilitatea. Pentru a sprijini implementarea acestor servicii de securitate, Kerberos V5 of era un mecanism de transmisie sigura a informatiilor de autorizare si contabilitate ca parte a unui bilet. Acestea pot restrictiona utilizarea unui bilet.

Cand se solicita un bilet, restrictiile sunt specificate si trimise unui TGS unde sunt incluse in bilet, codificate si protejate de modificare. In forma cea mai generala a protocolului, un client cere ca KDC sa includa sau adauge astfel de informatii la bilet. TGS-ul la randul lui nu indeparteaza informatia de autorizare TGT, ci o copiaza in fiecare bilet nou si adauga informatii aditionale. La decodificarea biletului, informatiile de autorizare sunt disponibile la serverul de aplicatii. Kerberos nu face nici o interpretare a acestor informatii, in schirnb serverul de aplicatii trebuie sa le foloseasca pentru a restrictiona accesul clientilor la resursele prezentate in bilet.

Figura 2.3.3 – Modelul Kerberos

Avand in vedere figura 2.3.3 – 1, pasii protocolului Kerberos V5 se pot fonnaliza dupa cum unneaza:

l. C AS : U, TGS, L1, N1

2. AS C : D, Te,tgs { TGS, K, Tstart, Texpire, Nd Ku

3. C TGS : S, Lz, N2, Te,tgs ,Ac,tgs

4. TGS C : D, Te,s {S, K', T'start, T' expire, N2} K

5. C S : Te,s , Ac,s

6. S C : {T'} K'

Analog cu Kerberos V4, Te,tgs si Te,s se refera la un TGT respectiv un bilet, iar Ae,tgs si Ae,s se refera la autentificatorii respectivi.

In pasul 1, C selecteaza un TGS si trnnite un mesaj KRB _AS _ REQ la AS.

Mesajul include identificatorul utilizatorului (D), identificatorul TGS-ului selectat, durata de viata solicitata L1 pentru TGT si o valoare N1. In plus fata de acestea, un mesaj poate specifica un numar de optiuni, cum ar fi:

• Daca pre-autentificarea trebuie realizata;

• Daca biletul solicitat se poate re-annoi sau re-trimite;

• Daca biletele derivate ar trebui sa fie postdatate sau sa permita postdatarea;

• Daca un bilet re-innoibil va fi acceptat in locul unuia ne¬innoibil (daca timpul de expirare nu poate fi satisfacut).

Dupa receptionarea mesajului KRB _AS _ REQ, AS cauta si extrage cheile secrete pentru U si TGS. Daca este necesar, AS pre-autentifica cererea iar daca aceasta esueaza, un mesaj de eroare corespunzator este retumat lui e. Altfel, .AS selecteaza aleator 0 noua cheie de sesiune K' si retumeaza un mesaj KRB_AS_REP lui e in pasul 2. Mesajul include D, un Tc,tgs = {D, e, TGS, K, Tstart, Texpire} Ktgs si {TGS, K, Tstart, Texpire, NI} Ku. Timpii de start si de expirare Tstart respectiv Texpire ale TGT-ului sant setati in concordanta cu politica de securitate a domeniului in asa fel incat se incadreaza in timpul de viata L1 specificat in mesajul KRB_AS_REQ.

Dupa receptionarea mesajului KRB _AS _ REP,ce aplica 0 functie cu sens unic h la parola utilizatorului pwdu pentru a calcula cheia master a acestuia. Ku = h(pwdu). Echipat cu aceasta cheie,ce poate decodifica {TGS, K, Tstart, Tex-pire} Ku,si extrage TGS, K, Tstart, Texpire. Acum poate folosi acest TGT pentru a solicita un bilet de la TGS.

Schimbul TGS este initiat ori de cate ori e doreste sa obtina un bilet pentru server, re-innoiasca sau valideze un bilet existent sau chiar sa obtina un bilet proxy. cel putin in primul caz, clientul trebuie sa fi obtinut deja unGT prin schimbul AS. In pasul 3,se trimite mesajul KRB_TGS_REQ catre TGS. Din nou, mesajul include informatii pentru autentificarea clientului plus cereri pentru credentele. Informatiile de autentificare constau in Tc,tgs si un autentificator corespunzator Ac,tgs = {e, T} K generat de C cu amprenta de timp T si cheia de sesiune K. In pasul 4, TGS returneazaun mesaj KRB_TGS_REP care include un bilet Tc,s = {D, C, S, K', T'start, T' ex-pire} Ks pentru serverul S, precum si {S, K', T'start, T' expire} K.

Din nou, schimbul AS se utilizeaza fie pentru a autentifica un client unui server, fie pentru a se autentifica reciproc un client si un server. In pasul 5, C trimite un mesaj KRB _ AP _ REQ catre serverul S. Mesajul contine biletul T C,s si un autentificator corespunzator Ac,s = {C, T'} K', impreuna cu unele informatii de management. Autentificarea se bazeaza pe timpul curent al serverului, a autentificatorului si a biletului. Daca nu apare nici 0 eroare si daca se cere autentificare reciproca, S returneaza un mesaj KRB _ AP _ REP in pasul 6. Acest mesaj include amprenta de timp T', codificata cu cheia de sesiune pe care o cunoaste impreuna cu C.

Kerberos V5 este o solutie matura, standardizata in industrie, pentru autentificare. Folosind Kerberos V5, utilizatorii pot obtine printr-o singura logare accesul la rsursele companiei si la alte medii care suporta acest protocol.

2.3.4 Autentificarea inter-domenii

In general, un mediu de retea consta din mai muIte organizatii, cum ar fi companii in competitie, agentii guvernamentale, institutii financiare sau universitati. Intr-un astfel de mediu, ar fi dificil de gasit o entitate credibila pentru toata lumea care sa ru1eze un Kerberos KDC. Problema este ca oricine are acces la KDC cunoaste cheia master a utilizatorului si are acces la orice are acces si utilizatoru1. Chiar si daca o astfel de entitate s-ar gasi, replicile KDC¬ului ar trebui sa fie de asemenea credibile. Mai mult, o entitate credibila ar fi foarte ocupata cu utilizatorii si serviciile care intra si iasa din retea.

Din acest motiv, reteaua este impartita in domenii, fiecare dintre acestea avand propriul KDC. Acestea pot fi mai multe in cadrul unui domeniu, dar sunt identice din punct de vedere functional, avand aceeasi cheie master si aceeasi baza de date. Pe de alta parte, KDC-urile din domenii diferite sunt total diferite, fiind responsabile pentru un set diferit de participanti.

Kerberos a fost proiectat sa functioneze si in afara granitelor domeniului, fiind posibil ca in principiu, un client intr-un domeniu sa se autentifice unui server din alt domeniu. In Kerberos, o autentificare peste granitele domeniului se numeste autentificare inter-domeniu.

O cheie interi-domeniu este o cheie secreta cunoscuta de KDC-urile a doua domenii Kerberos. Prin stabilirea acestor chei, administratorul domeniilor permite ca un utilizator autentifica intr-un domeniu sa se autentifice si la distanta. Schimbul de chei inter-domeniu se face prin inregistrarea tuturor TGS-urilor fiecarui domeniu ca utilizator in domeniul curent. Un client este capabil atunci sa obtina un TGT pentru TGS-ul domeniului indepartat. Cand se foloseste acel TGT, TGS-ul indepartat foIoseste cheia inter-domeniu pentru a decodifica TGT -ul si este atunci sigur ca a fost emis de TGS-ul clientului. Biletele emise de TGS-ul indepartat vor indica unui serviciu ca autentificarea clientului a fost facuta in alt domeniu.

Se spune ca un domeniu comunica cu altul daca cele doua cunosc aceeasi cheie inter-domeniu sau daca domeniul local cunoaste cheia unui domeniu intennediar care la randul sau comunica cu domeniul idepartat. In terminologia Kerberos, o cale de autentificare se refera la o secventa de domenii tranzitate in proces.

Asa cum s-a mentionat anterior, Kerberos V4 necesita ca AS-ul sa comunice cu fiecare domeniu unde era necesara autentificarea inter-domeniu. Acest procedeu nu duce la o scalare buna din moment ce o interconectare completa necesita schimbul a n2 chei, cu n fiind numarul total de domenii.

In contrast, Kerberos V5 suporta autentificarea inter-domenii cu treceri, cheile fiind distribuite ierarhic. Aici, fiecare domeniu mentine chei cu domeniul parinte si domeniile fii. Daca cheia inter-domeniu nu este distribuita de doua domenii, sistemul ierarhic permite stabilirea unei cai de autentificare. Aceasta cale este memorata in cadrul biletului pentnl a se decide nivelul de incredere acordat procesului de autentificare.

2.3.5 Slabiciunile protocolului Kerberos

Chiar daca in teorie Kerberos este minunat, implementarea lui practica este cel putin dificila. Conditiile ideale existente pe hartie sunt greu de obtinut intr-o retea de calculatoare reale.

La ora actuala nu exista nici un fel de metoda complet riguroasa pentru a arata ca un protocol criptografic nu scapa informatii; exista metode pentru a testa daca un protocol rezista la atacurile cunoscute, dar foarte adesea se publica algoritmi care mai tarziu se dovedesc gresiti. In general, rationamentele cu astfel de protocoale sunt foarte complicate. Cercetarea in domeniu este in plina desfasurare si foloseste tehnici foarte exotice, ca teoria informatiei, teoria complexitatii, logici speciale (ex. knowledge theory), etc.

Vom vorbi aici numai despre doar cateva din deficiente, pentru a da o idee despre natura lor.

Sa observam ca clientul trebuie sa pastreze undeva cheile de sesmne pentru a putea conversa cu server-ele: fiecare mesaj dupa cele de autentificare va fi criptat cu aceste chei. Clientul trebuie sa posede deci practic permanent Kc, TGS si Kc, s. E adevarat ca aceste chei expira in 25 de ore, deci sunt mai putin importante decat o parola care teoretic este folosita luni intregi. Intrebarea este insa: unde sunt tinute pe calculator clientul acestei chei?

Pe o statie obisnuita Unix lucreaza in mod normal mai multi utilizatori.

Tichetele unuia ar trebui sa fie ferite de ceilalti. Dar pe un sistem Unix practic nimic nu poate fi adapostit impotriva administratorului (root). Administratorul unui sistem poate citi orice fisier, si poate inspecta memoria fizica a oricarui proces. Acesta este un calcai al lui Ahile al lui Kerberos; toate metodele cunoscute pentru a penetra un sistem Unix ameninta siguranta intregului protocol. Ori securitatea unui sistem Unix, care este foarte complicat, este extrem de greu de controlat; exista o sumedenie de brese de care un atacator ar putea profita.

O alta mare problema este cu statiile de lucru fara disc (diskless); aceste stari de obicei importa discuri prin retea. Deci de indata ce o astfel de statie stocheaza un tichet pe disc, tichetul va calatorii prin retea, care am stabilit ca este expusa la tot felul de atacuri!

Nici pastrarea tichetului in memone nu este neaparat mai sigura: algoritmii de paginare stocheaza paginile pe disc (in partitia swap) atunci cand calculatorul nu are destula memorie, deci am revenit la aceeasi problema.

Inca un exemplu: am vazut ca prospetimea unui tichet este verificata comparand ora locala a serverului cu ora din tichet. Pentru un interval de 5 minute server-ul memoreaza toate tichetele primite, pentnl a depista duplicate, eventual rezultatele dintr-un atac care re-transmite pachete vechi capturate. Un tichet mai vechi de 5 minute este considerat expirat si ignorat. In felul acesta un server nu va primi niciodata acelasi pachet de doua ori. Asta presupune ca serveml si clientul au ceasuri relativ sincronizate.

1ntr-o retea mare de calculatoare sincronizarea ceasurilor se face automat, folosind un protocol numit NTP (Network Time Protocol). Un atac foarte spectaculos este urmatorul: un atacator inregistreaza o serie de mesaje de la un client care stie ca reprezinta o tranzactie importanta. Peste o saptamana atacatorul infiltreaza in retea mesaje false NTP prin care seteaza ceasul unui server cu o saptamana in urma. Dupa asta atacatorul retransmite mesajele capturate, care vor fi re-executate, pentru ca server-ului ii par proaspete.

Asta face securitatea in calculatoare o problema foarte spinoasa: adesea protocoalele propuse sunt eronate, dar nu exista nici o metoda fonnala pentru a depista si verifica asta. Chiar daca un protocol este corect formal, se poate baza pe presumtii nerezonabile asupra mediului in care opereaza, cum ar fi ceasurile sincronizate. Si chiar daca se bazeaza pe presumtii rezonabile, implementarea scrisa de un programator uman poate sa aiba bug-uri care o fac vulnerabila.

Desfasurarea operatiilor in sistemul Kerberos se desfiasoara in nnatoarele faze:

2.3.6 0 sesiune de lucru in Kerberos

Desfasurarea operatiilor in sistemul Kerberos se desfasoara in urmatoarele faze:

1) Utilizatorul deschide o sesiune de lucru Kerberos (se lanseaza in executie klogin).Utilizatorul isi trimite numele (ca raspuns la klogin).

2) Statia (procesul klogin contacteaza AS transmitandu-I in clar un mesaj ce contine numele de login si numele unui TGS:

mesaj=(nume_login,nume_TGS);

3) Asculta in baza de date Kerberos si obtine:

– o cheie de criptare pentru utilizator

– o cheie de criptare pentruTGS

Inauntru tichetului de acces la TGS se introduc :

Tichet de acces la TGS encript //TGS_key(nume_TGS,nume_client,adresa_client)

4) As trimite statiei clientului un raspuns, care este criptat cu cheia clientului si care are urmatoarea structura:

5) Programul klogin primeste mesajul si cere parola utilizatorului. Parola este criptata printr-o functie greu inversbiIa standard Unix, rezultatul fiind o cheie de cifrare a utilizatorului. Aceasta este folosita la criptarea mesajului, parola clara fiind stearsa din statie. Statia ramane cu:

– un tichet sigilat;

– cheie de sesiune TGS, pe care le memoreaza.

6) Statia trimite TGS-ului un mesaj de forma:

mesaj = (nume _servicu, tichet_ de _ acces _la _ TGS, autentificator)

unde,

autentificator = encrypt I I session_key (nume _client, adresa _client, tichet_ de _ acces _la _ TGS)

7) TGS primeste mesajul, decripteaza tichetul, de unde obtine cheia de sesiune cu care decripteaza autentificatorul, face verificarile necesare si, daca totul este in regula, obtine din baza de date Kerberos cheia serviciului indicat prin nume_serviciu.

8) Se fonneaza un tichet de acces la serviciu si o noua cheie de sesiune.

Inauntru tichetului de acces la serviciu se introduc:

tichet_ de acces _la _ servicu = encrypt II serv _key (nume _ TGS, nume _client)

TGS trimite statiei clientului un raspuns care este criptat cu cheia de sesiune client – TGS si care are urmatoarea structura:

raspuns encrypt II session_key (tichet_de_acces_la_serviciu, cheia _ se _ autentifica)

9) Statia trimite serviciului un mesaj de forma:

mesaj = (nume_serviciu, tichet_de_acces_la_servicu, autentificator) unde,

autentificator = encrypt I I new_session _key (nume _client, adresa _client)

10) Serviciul primeste mesajul, decripteaza tichetul sigilat folosind cheia sa de decriptare (pe care doar Kerberos o mai cunoaste). Aflata prin decriptare cheia de sesiune client – serviciu si poate, astfel, decripteaza autentificatorul, dupa care procedeaza la verificarile necesare. Daca aceste verificari se desfasoara cu succes, se ofera serviciul solicitat.

11) Serviciul se autentifica la randul sau transmitand clientului un mesaj de forma (obtional)

mesaj = encrypt / / new _session_key (time _ stamp+ 1 )

2.3.7 Consideratii asupra protocolului

Tichetele si autentificatorii sunt puncte cheie pentru intelegerea implementarii schemei Kerberos.

• Pentru ca un utilizator sa foloseasca un serviciu este necesar un tichet.

Tichetele se obtin de la TGS, cu exceptia primului tichet pe care il obtine de la AS si a tichetelor speciale, care se obtin tot de la AS.

• Tichetele detinute de utilizaor nu sunt intelese de catre acesta, fiind criptate cu cheia server-ului destinatar.

• Fiecare tichet este asociat cu o cheie de sesiune, asigurata la fiecare acordare a unui tichet.

• Tichetele sunt reutilizabile. Odata acordat unui utilizator, tichetul poate fi refolosit o perioada de timp (uzual 8 ore), dupa care expira. Momentul acordarii si durata sunt, de asemenea, incluse in tichet.

• Un nou autentificator este cerut de fiecare data cand clientul initiaza o noua conexiune cu un server. Autentificatorul poarta momentul crearii si are o durata de valabilitate scurta (minute).

• Un server pastreaza istora cererilor utilizatorului pentru care timpul din autentificator este inca valid. Aceasta permite depistarea dublurilor (si deci a eventualelor fraude).

• Deoarece tichetul si autentificatorul contin adresa clientului, este destul de greu pentru o alta statie sa le foloseasca (ea ar trebui sa-si schimbe adresa de retea!).

• Odata valida cererea de servicu, c1ientul si serverul-ul folosesc o cheie privata (cunoscuta in plus doar de Kerberos). Utilizarea cheii este obtionala.

• Pe parcursul unei sesiuni o lista de (nume_server, tichet_sigilat, cheie_sesiune) este pastrata de statia de lucru in numele utilizatorului. Lista nu poate fi folosita de catre altcineva, numele utilizatorului fiind criptat. Lista este distrusa la terminarea sesiunii.

2.3.8 Consideratii asupra mediului

Kerberos impune cateva consideratii asupra mediului, stabilind unele conditii pentru a putea funetiona in mod corect:

• Atacurile de tip "refuz de serviciu" ("Denial of service") nu sunt rezolvate cu Kerberos. Sunt modalitati prin care un intrus poate impiedica o statie la a participa la secventa normala de pasi necesara autentificarii. S-a considerat mai potrivit lasarea acestei sarcini in grija factorului uman (administrator si restul de user-i).

• Conducatorii de tranzactii trebuie sa-si tina cheile secrete pe care le detin in mod secret. Daca un intrus fura o cheie secreta, va putea actiona ca si proprietarul ei.

• Atacurile de tipul "ghicire de parole" ("password guessing") nu sunt rezolvate de catre Kerberos. Daca un user alege o parola "slaba" va fi posibil pentru un intrus sa realizeze "password guessing" prin atacuri criptanalitice repetate.

• Fiecare hot din retea trebuie sa detina un ceas care sa fie "sincronizat tolerant" ("loosely synchronized") cu ceasurile celorlalte host-uri. Tolerata se poate configura. Daca ceasurile se sincronizeaza printr-un protocol, acesta trebuie securizat el insusi impotriva atacurilor.

2.3.9 Concluzii

Utilizarea sistemului Kerberos inbunatateste securitatea aplicatiilor in retea prin ingreunarea impersonarii unui utilizator. Totusi, Kerberos nu este o rezolvare a tuturor problemelor din retea, iar Kerberos are de asemenea propriile probleme. Cateva dintre limitarile si slabiciunile lui Kerberos V 4 au fost descrise pentru prima data de Bellovin si Merritt in [BEME] iar mai apoi reluate de Kohl, Neuman si Ts'o in [KOHL94]. In cele ce urmeaza vom descrie rezultatele acestor studii:

Kerberos V 4 a fost conceput in principal pentru necesitatile proiectului Athena, astfel ca in anumite locuri face presupuneri si abordeaza lucrurile intr-¬un mod nepotrivit in toate cazurile:

Deficiente de mediu

. • Dependenta de criptosistem: Implementarea de referinta de la MIT pentru Kerberos V 4 utilizeaza DES pentru a codifica mesajele. Inainte ca restrictiile de export ale sistemelor criptografice sa fie ridicate, raspandirea utilizarii lui Kerberos a fost destul de dificila.

• Dependenta fata de protocolul internet: Kerberos V 4 necesita utilizarea adreselor de tip IP, ceea ce il face nepotrivit in anumite medii.

• Ordinea octetilor in mesaj: In Kerberos V 4, host-ul care trimite mesajul ordona octetii in conformitate cu ordinea sa naturala. Receptoru1 este responsabil de a re-ordona octetii pentru a se potrivi modului sau nativ. In timp ce acest lucru va usura comunicarea intre host-uri cu aceeasi ordine a octetilor, comunicarea cu un tip diferit de host poate afecta interoperabilitatea.

• Timpul de viata al biletului: S-a mentionat deja ca timpul maxim de viata al unui bilet este putin peste 21 de ore. Aceasta limita s-a dovedit un neajuns major in Kerberos V 4, din moment ce impiedica acordarea biletelor unor job-uri care ruleaza multa vreme.

• Innaintarea autentificarii: Kerberos V 4 nu pennite ca un bilet emis unui client de pe un host sa fie trimis altui host sau utilizat de alt client.

• Numirea utilizatorilor: In Kerberos V 4, numele sunt compuse din trei componente: nume, instanta si domeniu, fiecare avand maxim 40 de caractere. Aceste dimensiuni s-au dovedit prea mici pentru unele aplicatii.

• Autentificarea inter-domenii: Kerberos V 4 necesita pastrarea unui numar de nl chei ale celor n domenii. Chiar si pentru n relativ mic, sarcina de a le distribui este scumpa.

Deficiente tehnice

• Dubla criptare: TGT -ul emis de AS este codificat de doua ori cand este returnat la client si numai o data cand este trimis la TGS. In general nu este necesar a se codifica biletul de doua ori, fiind o pierdere de timp.

• Codificarea PCBC: Kerberos V4 utilizeaza DES in versiune nestandarnizata a modului CBC.

• Autentificarea mesajului: Algoritmul de suma de control din Kerberos V 4 nu este documentat sau publicat, de aceea nu exista dovezi despre slabiciunea sau taria sa. Totusi, faptul ca un algoritm nu a fost spart pana in prezent nu inseamna ca algoritmul este sigur.

Cele mai multe dintre probleme expuse anterior au fost luate in seama la design-ul lui Kerberos V5.

Probabil ca cea mai evidenta problema este ca sistemul Kerberos inca se bazeaza pe parole bine alese si pe faptul ca acestea sunt tinute secrete. Daca un atacator poate primi acces la parola unui utilizator, Kerberos nu poate distinge intre cei doi.Aici putem face doua afirmatii:

• Prima, ca oamenii in general aleg parole slabe care sunt vulnerabile la atacuri prin dictionar sau ghicire. Similar, fortarea oamenilor sa aleaga parole complexe nu este o masura fericita.

• A doua, Kerberos este expus atacurilor de tip "parola verificabila". In pasul 2 al protocolului, AS-ul returneaza un mesaj clientului codificat cu o cheie derivata din parola utilizatorului. Daca un atacator este capabil sa solicite acest mesaj sau este capabil de a-l captura, acesta poate lansa un atac de ghicire a parolelor. in acest caz, atacul se poate lansa simultan impotriva tuturor mesajelor cunoscute de catre atacator. In acest caz nu exista un sistem similar cu "UNIX salt".

In principiu, atacurile de tip "parola verificabila" sunt o forma speciala de atacuri ostile numite atacuri de text verifceabil. In timp ce vulnerabilitatile la atacuri de text cunoscut sunt relativ usor de detectat si corectat, atacurile de text verificabil sunt mult mai subtile si mult mai dificil de evitat. Trebuie remarcat ca aceste atacuri sunt o amenintare serioasa doar daca parolele sunt alese necorespunzator.

Pentru a face AS-ul rezistent la atacuri de tip "parola verificabila" au fost propuse independent doua tehnici. Una dintre acestea a fost propusa Lomas, in [GO_ ~G9~] si [LO~ 1A89], iar cealalta de catre 3~lloyin si ~ femtt in [BELL92] si [BELL93]. Aeeste propuneri se bazeaza pe criptografia cu chei publice, o abordare respinsa de la ineeput in design-ul original.

O problema oarecum inrudita a Kerberos V4 este faptul ca nu e rezistent la atacuri reply. In afara cazului in care serverul tine o lista cu autentificatorii folositi in timpul ferestrei de timp, un intrus ar putea lansa un atac de tip off¬line. Daca atacatorul ar putea convinge host-ul asupra unui timp incorect, host-ul ar putea oferi un numar de autentificatori postdatati, ceea ce creeaza premisa unui atac viitor. De fapt, Kerberos presupune o relativa sineronizare a host¬urilor, adica acces din partea acestora la un serviciu de timp, ceea ce induce un risec suplimentar [OPPL96]

CONCLUZII

Securitatea in calculatoare este o problema de mare importanta economica, mai ales acum cand tot mai multe tranzactii se fac prin internet. Proiectarea unui protocol de securitate este o treaba foarte complicata, iar implementarea nu este deloc simpla.

Criptografia este o unealta ce poate fi folosita pentru mentinerea confidentialitatii infonnatiei si pentru a asigura integritatea si autenticitatea sa. Toate sistemele criptografice moderne sunt bazate pe principiul lui Kerckhoff de a avea un algoritm cunoscut public si o cheie secreta. Multi algoritmi criptografici folosesc transfonnari complexe, substituiti si permutatii pentru a transforma textul simplu in text cifrat.

Algoritmii criptografici pot fi divizati in algoritmi cu chei simetrice si cu chei publice. Algoritmii cu chei simetrice amesteca bitii intr-o serie de ronde parametrizate de chei pentru a schimba textul simplu in text cifrat. DES triplu si Rijndael (ABS) sunt cei mai cunoscuti algoritmi cu cheie simetrica in momentul de fata.

Algoritmii cu chei publice au proprietatea ca sunt folosite diferite chei

pentru criptare si decriptare si ca cheia de decriptare nu poate fi derivata din cheia de criptare. Aceste proprietati fac posibila publicarea cheii publice.

Gestionarea cheilor publice poate fi facuta folosind certificate, care sunt documente ce leaga un principal de o chei publica. Certificatele sunt semnate de catre o autoritate de incredere sau de catre cineva aprobat (recursiv) de o autoritate de incredere.

La modul ce mai simplu, problema autentificarii se pune in momentul cand doua entitati doresc sa comunice pe o cale aleasa de comun acord. Problema e ca intr-un mediu electronic, falsificarea identitatii se poate realiza foarte usor mai ales in lipsa unor masuri speciale de protec!ie. Daca in cazul unei convorbiri telefonice intre doua persoane autentificarea o reprezinta chiar recunoasterea vocii,in cazul unor sisteme electronice nu mai exista nici o proprietate comparabila care sa ajute la autentificare. In schimb se apeleaza la o serie de schimburi de mesaje, dependente de mnlte ori de un text credibil, o snrsa de numere pseudo-aleatoare si in unele cazuri de sincronismul in timp al celor doua sisteme.

Se cunoaste faptul ca siguranta unui sistem este determinata de cea mai pntin sigura parte a acestuia. Protocolul de care am vorbit in aceasta lucrare nu face exceptie.

Domeniul este in plina cercetare in continuare. Dificultatile sunt amplificate de faptul ca lantul este tot atat de slab cit cea mai slaba veriga, iar verigi sunt destul de multe. Fiti deci cu ochii-n patru.

PARTE PRACTICA

INSTALAREA PROTOCOLULUI

KERBEROS SUB WINDOWS 2003 SERVER

Pentru a putea instala si utiliza protocolul Kerberos vom avea nevoie de:

– Windows 2003 Server – in cazul de fata vom utiliza Windows 2003

Server Enterprise Edition

– Un domeniu din care sa faca parte sistemul

– Crearea unui server Kerberos: – realm; – KDC

– Instalarea unui manager de tichete: Leash32

Crearea unui domeniu in WINDOWS 2003 Server

Pentru a crea un domeniu in Windows 2003 Server v-a trebui unnarita urmatoareaannatoarea procedura: Start -> Programs – > Administrative Tools -> Manage Your Server

Add or remove a role ,iar apoi se va selecta butonul NEXT

Urmatorul pas fiind selectarea ca si regula DOMAIN Controler SI se va accesa din nou butonul Next

SERVERUL va va cere din nou aprobarea pentru a instala domeniul >NEXT

Sistemul va va aduce la cunostinta de unele sisteme care nu suporta autentificare in domeniu,acestea fiind:Win95, Windows NT 4.0 cu service pack 3 sau mai vechi.

Urmatoarea fereastra este fereastra in care va v-a intreba ce fel de domeniu doriti sa creati :

-un domeniu nou

-sau un domeniu deja existent

Comanda pe care o vom selecta este un domeniu nou _>NEXT

In fereastra care urmeaza veti fi intrebat daca doriti sa creati:

-un domeniu nou cu arbore multiplu;

-un domeniu pentru copii ;

-un domeniu care sa faca parte dintr-un arbore de domenii deja existent.

Comanda selectata este un domeniu nou cu arbore multiplu.

In urmatoarea fereastra veti fi solicitati sa dati un nume omeniului :acesta fiind :licenta.keberos.ro , dupa ce am denumit domeniul vom accesa butonul NEXT.

In urmatoarea fereastra veti fi intrebat cum v-a putea fi recunoscut domeniul de catre alte statii din retea prin intermediul Domeniul NETBIOS:KERBEROS.

Dupa ce ati denumit Domeniul NetBIOS veti fi intrebat unde v-a fi localizata baza de date,fisierele si directoarele de rapoarte.Aici se va selecta NEXT si se vor lasa directoarele pe care le alege SISTEMUL.

Urmatoarea fereastra v-a contine locatia aleasa de catre SISTEM pentru fisierele de partajare;aceasta locatie poate fi schimbata in prealabil pe o alta partitie care este formata NTFS>NEXT.

Fereastra ce va urma va contine nivelul lde acces la acest server.

-permisiune ca si un user anonim;

-permisiune ca si un user care are un cont si o parola.

Se va selecta cea de-a doua optiune >NEXT

In fereastra urmatoare veti vedea un rezumat a tot ce s-a instalat s-au configurat -> NEXT

Dup ace ati apasat butonul NEXT, Windows isi va reconfigura sistemul pentru modifixcarile facute.

Fereastra urmatoare este fereastra prin care WINDOWS va anunta ca domeniul este instalat-> FINISH.

Dupa care serverul va v-a cere sa reporniti SISTEMUL pentru a salva modificarile facute -> RESTART NOW.

Dupa repornire WINDOWS-ului veti putea observa ca la modul de logare apare domeniul in care doriti sa va logati in cazul nostru KERBEROS.

Dupa ce ne-am autentificat in domeniu , va apaea o fereastra in care veti fi anuntati precum ca DOMENIUL a fost creat cu succes -> FINISH

Instalarea utilitarelor pentru configurarea realm-ului si KDC

Dupa ce am creat domeniul v-a trebui sa instalam utilitarele pentru configurarea KDC-ului (distribuitorul de chei), aceste utilitare se afla chiar pe CD-ul de instalare al WINDOWS-ului in directorul SUPPORT -> TOOLS, apoi se va accesa si instala fisierul SUPTOOLS.

Crearea KDC, realm-ului in WINDOWS 2003 Server

Dupa instalarea utilitarelor, vom putea crea un realm si un KDC prin linie de comanda

Daca vom tasta comanda:

– ksetup, vom observa ca serverul deja a setat realmul = licenta.kerberos.ro.

Pentru a crea un KDC v-om folosi comanda:

– ksetup/addKDC LICENTA.KERBEROS.RO kdc.licenta.kerberos.ro

Dupa ce a fost creat KDC-ul v-a trebui ca serverul sa fie parolat prin comanda:

– ksetup/addkpasswd licenta.kerberos.ro*******

Dupa aceasta comanda v-a trebui sa restartam serverul.

Maparea numelui

Active Directory -> Nume “Admin” -> clik stanga -> Name Mapping -> Kerberos Name ->ADD -> introduceti numele in cazul nostrum [anonimizat]

Manager-ul LEASH

Managerul LEASH este o interfata grafica construita pentu a monitoriza tichetele Kerberos in Microsoft Windows.Leash este folosit pentru a obtine tichetele Kerberos, a schimba parola etc.

Instalare si coficurare

Leash este un program care se dstribuie odata cu utilitarele Kerberos.Acestea se pot doenload-a de pe site-ul oficial Kerberos.Acesta se instaleaza pe calculator astfel:

Dupa ce a fost instalat acesta se va rula din:Start -> Programs ->Kerberos for Windows -> Leash Kerberos Ticket Manager

Configurare

Dup ce s-a initializat manager-ul va trebui setat pentru sistem:

Option -> Kerberos Properties

DNS / Realm Mapping -> Insert -> Domeniul si Realm-ul

Realm / Server Mapping -> KDC server -> OK

Restart Server.

Managerul Leash are in componenta sa 4 tipuri de icoane:

Acestea avand diferite semnificatii:

Verde = tichete

Gri = nu exista nici un tichet

Portocaliu = tichetele valide care vor exira curand

Rosu = tichetele au expirat

BIBLIOGRAFIE

• [BELL92] S. M. Bellovin, M. Merritt – Encrypted Key Exchange: Password¬Based Protocols Secure Against Dictionary Attacks, Proceedings of the IEEE Symposium on Security and Privacy, IEEE Computer Society Press, Los Alamitos, CA, 1992

• [BURR89] M. Burrows, M. Abadi, R. Needham – "A Logic of Authentication", ACM Operating Systems Review, Vol. 23, 1989 [DENN8l] D. E. Denning, G. Sacco – "Timestamps in Key Distribution Protocols", Communications of the ACNl, Vol. 24, 1981

• [DIFF88] – The First Ten Years of Public-Key CJyptography, Proceedings of the IEEE, Vol. 76, 1988

• [FELD90] D. C. Feldmeier, P. R. Kam – UNIX Password Security – Ten Years Later, Advances in Cryptology – CRYPTO '89, Springer-Verlag, Berlin, 1990

• [GONG90] L. Gong, R. Needham, R. Yahalom – "GNY Logic Fill In", Proceedings of the IEEE Symposium on Security and Privacy, 1990

• [GONG93] L. Gong – Increasing Availability and Security of an Authentication Service, IEEE Journal of Selected Areas in Communications, Vol. 11, June 1993

• [GONG93] L. Gong, T. M. A. Lomas, R. M. Needham, 1. H. Saltzer ¬Protecting Poorly Chosen Secrets from Guessing Attacks, IEEE Journal on Selected Areas in Communications, Vol. 11, June 1993

• [KLEI90] D. V. Klein – "Foiling the Cracker": A Survey of and Improvements to, Password Security, Proceedings of the USENIX UNIX Security II Symposium, USENIX Association, Berkeley 1990

• [KOHL93] J. Kohl – The Kerberos Network Authentication Service (V5) (RFC 1510), Digital Equipment Corporation, 1993

• [KOHL94] J. T. KoW, B. C. Neuman, T. Y. Ts'o – The Evolution of the Kerberos Authentication System, Distributed Open Systems, IEEE Computer Society Press, Los Alamitos, CA, 1994

• [LAMP78] L. Lamport – Time, Clocks and the Ordering of Events in a Distributed System, C01ll1uunicaiions of the ACM, Vol. 21, July 1978

• [LOMA89] T. M. A. Lomas, L. Gong, 1. H. Saltzer, R. M. Needham ¬Reducing Risks from Poorly Chosen Keys, ACM Operating Systems Review, Vol. 23, 1989

• [NEED78] R. M. Needham, M. D. Schroeder – "Using Encryption for Authentication in Large Networks of Computers ", Communications of the ACM, Vol. 21, December 1978

• [NEED87] R. M. Needham, M. D. Schroeder – "Authentication Revisited", ACM Operating Systems Review, Vol. 21,1987

• [OPPL96] Rolf Oppliger – Authentication Systems for Secure Networks, Artech House, Inc., 1996

• [PATR94] Victor-Valenu Patriciu – Criptografia .)i securitatea refelelor de calculatoare, Editura Tehnidi, 1994

• (QUIS90] J. 1. Quisquater, L. Guillou – "How to Explain Zero-Knowledge Protocols to Your Children", Advances in Cry top logy – CR YPTO ' 89, Springer – Verlag, 1990

• [REBI94] M. K. Reiter, K. P. Binnan – How to Securely Replicate Services, ACM Transactions on Programming Languages and Systems, Vol. 16, 1994

• [SCHI95] 1. 1. Schiller, D. A. Atkins – "Scaling the Web of Trust: Combining Kerberos and PGP to Provide Large Scale Authentication ", Proceedings of the Technical Conference on UNIX and Advanced Computing Systems, USENIX Association, , January 1995

• [SCHN96] Bruce Schneier – Applied Cryptography, John Wiley & Sons, Inc., 1996

• [SHAM87] A. Fiat, A. Shamir – "How to Prove Yourself: Practical Solutions to Identification and Signature Problems ", Advances in Crytoplogy – CRYPTO '86, Springer – Verlag, 1987

• [SHAN48] C.E. Shannon – A Mathematical Theory of Communications, The System Technical Journal, Vol. 27, July I October 1948

* [SHAN49] C.E. Shannon – Communication Theory of Secrecy Systems, The System Technical Journal, Vol. 28, October 1949

%+ [TANE24] Andrew S. Tanenbaum – Computer Networks, Fourth Edition, Pearson Education, Inc. , 2003

• WWW: HTTP://WWW.DATAMAN.RO

• WWW: HTTP:// WWW.CS.CMU.EDU.I~MIHAIB~/

GLOSAR

./ AES (ABS): Criptosistem cu chei secrete (Advanced Encryption Standard) .

./ Autentificare (Authentication): Procesul de verificare a identitatii pretinse de un participant.

./ Autentificare inter-domenii (inter-realm authentication): Autetificare dincolo de granitele domeniului . ./ Autentificator (Authenticator): 0 Inregistrare de date care contine

informatii care se pot dovedi ca au fost generate recent folosind 0 cheie de

sesiune cunoscuta doar de un client ~i serverul solicitat.

./ Autoritate de certificare (Certification authority): Tert de Incredere care creeaza, atribuie ~i distribuie certificate .

./ Autorizare (Authorization): Procesul de acordare a drepturilor, ce include acordarea accesului pe baza drepturilor de acces .

./ Bilet (Ticket): Inregistrare de date ce pot fi utilizate pentru autentificare . ./ Blocarea serviciului (Denial of service): Impiedicarea accesului autorizat la resurse sau illtarzierea operatiilor critice .

./ Certificat (Certificate): Inregistrare de date care fumizeaza cheia publica a unui participant, Impreuna cu alte informatii legate de numele participantului ~i autoritatea de certificare care I-a emis. Certificatul nu se poate falsifica deoarece poarta semnatura digitala a autoritatii.

./ Cheie (Key): Secventa de simboluri care controleaza operatiile de cifrare ~i descifrare .

./ Cheie de sesiune (Session key): 0 cheie temporara cunoscuta de doua parti, cu timp de viata limitat.

./ Cheie inter-domeniu (Inter-realm key): Cheie secreta cunoscuta de doua centre de distributie ale cheilor (KDC) in domenii Kerberos diferite .

./ Cheie privata (Private key): Cheie criptografica utilizata in criptografia cu chei publice pentru a semna ~i / san decodifica mesaje .

./ Cheie publica (public key): Cheie disponibila public, utilizata in criptosisteme asimetrice .

./ Client (Client): Un proces care cere ~i in eele din unna obtine un serviciu de retea. Un client de regula actioneaza in numele utilizatorului .

./ Context de autentificare (Authentication context): Informatie transmisa in timpul unei instante particulare ale autentificarii .

./ Controlul accesului (Access control): Procesul de impiedicare a utilizarii neautorizate ale resurselor, incluzand utilizarea intr-o maniera neautorizata .

./ Criptologie (Cryptology): Stiinta comunicatiilor securizate .

./ DES (DES): Criptosistem cu chei secrete (Data Encryption Standard) . ./ Descifrare (Decipherment): Inversa cifrarii .

./ Domeniu1 (Realm): Domeniu de autentificare in Kerberos .

./ IDEA (IDEA): Criptosistem eu chei secrete (International Data Encryption Algorithm) .

./ Informatie (Information): Cuno~tinte comunicate sau receptionate cu privire la un fapt sau 0 circumstanta in general, ~i datele care pot fi codificate in scopul procesari de catre un calculator sau dispozitiv similar.

y" Informatie de autentificare (Authentication information): Infomlatie folosita la autentificare .

./ Initiator (Initiator): Participant care joaca un rol activ, spre exemplu cere accesul.

./ ISO (ISO): international Organization for Standardization este un organism nonguvemamental infiintat in anul 1947. Misiunea sa este de a promova dezvoltarea standardizarii ~i a activitatilor conexe pentru facilitarea schimbului international de bunuri ~i servicii, precum ~l dezvoltarea cooperarii in sferele intelectuale, ~tiintifice, tehnologice ~l

economlce .

./ Kerberos (Kerberos): Sistem de autentificare ~l distributie a cheilor dezvoltat la Massachusetts Institute of Technology .

./ Managementul cheilor (Key management): Generarea, stocarea, distributia, ~tergerea, arhivarea ~i aplicarea cheilor in acord cu politica de securitate .

./ RC2, RC4 ~i RC5 (RC2, RC4 and RC5): Criptosisteme cu chei secrete .

./ Retea de calculatoare (Computer network): Coleetie de sisteme de calcul

autonome ~i interconectate .

./ RSA (RSA): Criptosistem cu chei publice (Rivest, Shamir, Adelman) ./ Server (Server): Proces care fumizeaza un serviciu de retea .

./ Serviciu (Service): Set coerent de functionalitate abstracta .

./ SESAME (SESAME): Sistem de autentificare ~i distributie a cheilor dezvoltat ca parte a unui proiect de cercetare ~i dezvoltare .

./ Simbol de autentificare (Authentication token): 0 inregistrare de date care contine informatia de autentificare.

./ Standard (Standard): Intelegere documentata continand specificatii tehnice sau alte criterii precise care sa fie utilizate ca reguli, linii directoare sau definitii de caracteristici, in a~a fel incat materialele, produsele, procesele ~i serviciile se potrivesc scopului lor.

./ Tehnologia informapei (Information technology – IT): Tehnologie care se ocupa cu informatia .

./ Tert credibil (Trusted third party): 0 autoritate sau agentul sau, in care au incredere alte entitati ill aspecte legate de securitate .

/ TESS (TESS): Un set de functii ~i mecanisme diferite dar cooperante bazate pe exponentierea discreta .

./ Text cifrat (Cipher text): Rezultatul lmei functii de criptare. Criptarea transforma textul clar in text cifrat.

./ Text clar (plain text): Intrarea unei functii de criptare sau ie~irea unei functii de decriptare. Decriptarea transfonna textul cifrat in text clar .

./ Tinta (Target): Participant care joaca rol pasiv, spre exemplu fiind accesat.

./ Urme de audit de securitate (Security audit trail): Date colectate ~l utilizate pentru a facilita un audit de securitate .

./ Utilizator (User): Participant care este mcut responsabil pentru activitatile sale dintr-o retea de calculatoare sau sistem distribuit.

ABREVIERI SI ACRONIME

~ DES Data Encryption Standard

~ IDEA International Data Encryption Algorithm ~ IDS Inter Domain Service

~ IS International Standard

~ ISO International Organization for Standardization ~ IT Information Technology

~ KDC Key Distribution Center ~ KDS Key Distribution Server

~ KEK Key Encryption Key

~ KTC Key Translation Center ~ LAN Local Area Network

~ PIN Personal Identification Number

~ PKCS Public Key Cryptography Standard > PKM Public Key Management

~ PKP Public Key Partners

~ RSA Rivest, Shamir, Adelman ~ TGS Ticket Granting Server

~ TGT Ticket Granting Ticket

BIBLIOGRAFIE

• [BELL92] S. M. Bellovin, M. Merritt – Encrypted Key Exchange: Password¬Based Protocols Secure Against Dictionary Attacks, Proceedings of the IEEE Symposium on Security and Privacy, IEEE Computer Society Press, Los Alamitos, CA, 1992

• [BURR89] M. Burrows, M. Abadi, R. Needham – "A Logic of Authentication", ACM Operating Systems Review, Vol. 23, 1989 [DENN8l] D. E. Denning, G. Sacco – "Timestamps in Key Distribution Protocols", Communications of the ACNl, Vol. 24, 1981

• [DIFF88] – The First Ten Years of Public-Key CJyptography, Proceedings of the IEEE, Vol. 76, 1988

• [FELD90] D. C. Feldmeier, P. R. Kam – UNIX Password Security – Ten Years Later, Advances in Cryptology – CRYPTO '89, Springer-Verlag, Berlin, 1990

• [GONG90] L. Gong, R. Needham, R. Yahalom – "GNY Logic Fill In", Proceedings of the IEEE Symposium on Security and Privacy, 1990

• [GONG93] L. Gong – Increasing Availability and Security of an Authentication Service, IEEE Journal of Selected Areas in Communications, Vol. 11, June 1993

• [GONG93] L. Gong, T. M. A. Lomas, R. M. Needham, 1. H. Saltzer ¬Protecting Poorly Chosen Secrets from Guessing Attacks, IEEE Journal on Selected Areas in Communications, Vol. 11, June 1993

• [KLEI90] D. V. Klein – "Foiling the Cracker": A Survey of and Improvements to, Password Security, Proceedings of the USENIX UNIX Security II Symposium, USENIX Association, Berkeley 1990

• [KOHL93] J. Kohl – The Kerberos Network Authentication Service (V5) (RFC 1510), Digital Equipment Corporation, 1993

• [KOHL94] J. T. KoW, B. C. Neuman, T. Y. Ts'o – The Evolution of the Kerberos Authentication System, Distributed Open Systems, IEEE Computer Society Press, Los Alamitos, CA, 1994

• [LAMP78] L. Lamport – Time, Clocks and the Ordering of Events in a Distributed System, C01ll1uunicaiions of the ACM, Vol. 21, July 1978

• [LOMA89] T. M. A. Lomas, L. Gong, 1. H. Saltzer, R. M. Needham ¬Reducing Risks from Poorly Chosen Keys, ACM Operating Systems Review, Vol. 23, 1989

• [NEED78] R. M. Needham, M. D. Schroeder – "Using Encryption for Authentication in Large Networks of Computers ", Communications of the ACM, Vol. 21, December 1978

• [NEED87] R. M. Needham, M. D. Schroeder – "Authentication Revisited", ACM Operating Systems Review, Vol. 21,1987

• [OPPL96] Rolf Oppliger – Authentication Systems for Secure Networks, Artech House, Inc., 1996

• [PATR94] Victor-Valenu Patriciu – Criptografia .)i securitatea refelelor de calculatoare, Editura Tehnidi, 1994

• (QUIS90] J. 1. Quisquater, L. Guillou – "How to Explain Zero-Knowledge Protocols to Your Children", Advances in Cry top logy – CR YPTO ' 89, Springer – Verlag, 1990

• [REBI94] M. K. Reiter, K. P. Binnan – How to Securely Replicate Services, ACM Transactions on Programming Languages and Systems, Vol. 16, 1994

• [SCHI95] 1. 1. Schiller, D. A. Atkins – "Scaling the Web of Trust: Combining Kerberos and PGP to Provide Large Scale Authentication ", Proceedings of the Technical Conference on UNIX and Advanced Computing Systems, USENIX Association, , January 1995

• [SCHN96] Bruce Schneier – Applied Cryptography, John Wiley & Sons, Inc., 1996

• [SHAM87] A. Fiat, A. Shamir – "How to Prove Yourself: Practical Solutions to Identification and Signature Problems ", Advances in Crytoplogy – CRYPTO '86, Springer – Verlag, 1987

• [SHAN48] C.E. Shannon – A Mathematical Theory of Communications, The System Technical Journal, Vol. 27, July I October 1948

* [SHAN49] C.E. Shannon – Communication Theory of Secrecy Systems, The System Technical Journal, Vol. 28, October 1949

%+ [TANE24] Andrew S. Tanenbaum – Computer Networks, Fourth Edition, Pearson Education, Inc. , 2003

• WWW: HTTP://WWW.DATAMAN.RO

• WWW: HTTP:// WWW.CS.CMU.EDU.I~MIHAIB~/

Similar Posts

  • Elaborarea Hartilor de Risc Natural la Alunecari de Teren

    CUPRINS 1. Alunecările de teren 2. Studiu de caz: alunecarea ce a format Lacul Roșu 3. Analiza riscurilor geomorfologice din Bazinul hidrografic Bicaz 4. Elaborarea hărților de risc natural al alunecărilor de teren după metoda H.G. 447/2003 Bazinul morfohidrografic Bicaz se află situat în partea central estică a Carpaților Orientali în subunitatea de relief denumită…

  • Solutii Constructive Si Tehnologice Pentru Optimizarea Sistemelor de Franare ale Materialului Rulant

    TEZĂ DE DOCTORAT Soluții constructive și tehnologice pentru optimizarea sistemelor de frânare ale materialului rulant C U P R I N S Lista abrevierilor folosite Listă figuri Listă tabele Listă lucrări prezentate și/sau publicate în timpul perioadei de pregătire doctorală Lucrări publicate în cadrul unor conferințe/ jurnale cotate ISI [Dungan2010a]L.I. Dungan, I.Ionel, M.A. Dungan, F….

  • Informatiile In Conflictele Viitorului

    Introducere ………………………………………………………………………………………….. 4 Capitolul I. Serviciile de informații …………………………………………………………………………..8 1.1. Informațiile……………………………………………………………………………………………………… …..8 1.2. Tipurile și activitățile desfășurate de către serviciile de informații …………………………… 13 1.3. Legislația și normele democratice privind serviciile de informații …………………………… 16 1.4 Controlul civil al serviciilor de informații………………………………………………………………..17 Capitolul II. Capacitatea serviciilor de informații de a face față noilor provocări ……………………………

  • Matrice Si Determinanti

    Cuprins: Introducere………………………………………………………………………………………………………………..2 Capitolul I : DETERMINANȚI……………………………………………………………………………………………………..3 §1.1 Definiția unui determinant de ordin . Proprietățile determinanților ……………….3 §1.2.Dezvoltarea unui determinant după elementele unei linii. Regula lui Laplace……………………………………………………………………………………………………………9 § 1.3 Formula Binet-Cauchy…………………………………………………………………………….15 Capitolul II: Matrici inversabile….…………………………………………………………….22 §2.1. Matrice inversabilă. Inversa unei matrici…..………………………..…..……..22 Capitolul III : Sisteme de ecuaṭii liniare.………………………………………………………27 §3.1. Regula lui Cramer………………………………………………………………27 §3.2. Sisteme de ecuații…

  • Investigatii Privind Parametrii Calitativi Ai Apei din Surse Diferite din Municipiul Craiova

    Investigații privind parametrii calitativi ai apei din surse diferite din Municipiul Craiova Cuprins INTRODUCERE De ce am ales această temă?……este sigur întrebarea la care m-am gandit mult si eu cand am ales…. Mi-am ales aceasta temă deoarece apa este cel mai important aliment. Nu poate fi înlocuit. Aceste afirmații nu sunt figuri de stil, ci…