Controlul accesului la fisiere si alte resurse, in sensul acordarii drepturilor de acces doar utilizatorilor autorizati, presupune in general doua etape:
Intr-o retea de calculatoare apare frecvent necesitatea ca un utilizator sa trebuiasca sa se autentifice fata de o statie de lucru din retea. Este de dorit ca:
Pe un calculator independent, autentificarea si autorizarea decurg de regula in modul urmator:
Fiecare utilizator este identificat printr-un identificator de utilizator, unic in cadrul sistemului. Sistemul de operare dispune de o baza de date ce asociaza fiecarui identificator de utilizator: numele de login (de asemenea unic) (daca nu cumva numele de login se foloseste chiar ca identificator), numele real, parola, si alte informatii.
Fiecare fisier sau alta resursa are asociata o lista de control al accesului, care cuprinde - sub o forma sau alta - identificatorii utilizatorilor care au drept de acces.
Autentificarea are loc o singura data, la inceperea sesiunii, cand utilizatorul isi introduce numele si parola. Identitatea utilizatorului este pastrata de sistem intr-o zona de memorie inaccesibila utilizatorului. Identitatea utilizatorului este asociata proceselor lansate de utilizator, intrucat de fapt cererile de acces la fisiere sunt facute intotdeauna de catre un proces ruland din contul unui utilizator.
La apelul unei functii de acces la un fisier, sistemul verifica daca utilizatorul asociat procesului ce face cererea este autorizat sa obtina accesul la fisier.
Este un sistem elaborat de firma SUN. Numele initial era Yellow Pages, dar a fost schimbat deoarece "Yellow Pages" este marca inregistrata.
Sistemul permite calculatoarelor dintr-o multime de calculatoare - numita domeniu NIS - accesul in citire la baza de date a utilizatorilor. Sistemul presupune urmatoarele:
In aceste conditii:
Intr-un domeniu Windows NT trebuie sa exista exact un calculator configurat ca PDC (Primary Domain Controller); acesta detine baza de date a utilizatorilor. Pentru marirea vitezei si fiabilitatii, pot fi configurate alte calculatoare ca BDC (Backup Domain Controller): un BDC tine o copie a bazei de date, copie pe care nu o poate modifica. Astfel, pentru autentificare se poate folosi fie PDC-ul, fie oricare dintre BDC-uri.
La inceperea unei sesiuni, statia de lucru cere utilizatorului numele si parola. Apoi, verifica numele si parola printr-un schimb de mesaje cu PDC-ul sau un BDC al domeniului. Verificarea este bazata pe un protocol challenge-response, pentru a evita transmiterea parolei in clar prin retea.
Statia de lucru retine parola utilizatorului in memorie pe durata sesiunii de lucru, si foloseste parola pentru a se autentifica fata de alte masini, daca utilizatorul solicita fisiere sau alte servicii de la acestea.
In derularea protocoalelor de autentificare, sistemele de operare de pa calculatoarele implicate trebuie si ele sa se autentifice, motiv pentru care fiecare statie are pe PDC un cont al statiei. Acest cont se creaza prin procedura de introducere a statiei in domeniu - operatie care necesita o parola de administrator de domeniu.
Avantajele fata de NIS sunt:
Pentru organizatii mai complexe, un singur domeniu poate fi insuficient. Windows permite ca intre domenii sa se stabileasca relatii de "trusting": utilizatorii dintr-unul din domenii pot primi drept de acces la fisierele si celelalte resurse de pe calculatoarele din celalalt domeniu implicat in relatia de trusting. De remarcat ca, in lipsa relatiei de trusting nu se pot acorda nici un fel de drepturi. Relatia de trusting presupune ca un domeniu are incredere in autentificarea facuta de PDC-ul celuilalt domeniu.
Este un sistem dezvoltat la MIT prin 1985.
Kerberos permite autentificarea si securizarea comunicatiei intre un client si un server. In general, clientii sunt utilizatorii si serverele sunt serviciile rulate de calculatoarele din domeniu.
Fiecare entitate (client sau server) din domeniu trebuie sa aiba un nume Kerberos. Numele Kerberos este de forma nume@DOMENIU, unde DOMENIU identifica domeniul Kerberos si este numele DNS scris cu litere mari al domeniului, iar nume identifica entitatea in cadrul domeniului Kerberos.
Pentru un domeniu Kerberos trebuie sa existe un server Kerberos, pe care il vom desemna SK. Toata lumea (clienti si servere) se presupune ca are incredere in SK. Fiecare entitate are o cheie (parola) pe care o stie doar ea si SK.
Daca un client C doreste sa comunice cu un server S, va proceda in modul urmator:
Cele de mai sus reprezinta doar ideea de baza. Sistemul Kerberos foloseste de fapt doua servere Kerberos, cu roluri distincte, dar in general ruland impreuna pe aceeasi masina:
Kerberos permite autentificarea intre domenii in modul urmator: presupunem ca C este in domeniul D1, controlat de AS1 si TGS1, iar S este in domeniul D2, controlat de AS2 si TGS2.
Administratorul lui D1 va crea in D1 un cont pentru TGS2.
In aceasta situatie, clientul C (cu numele C@D1) va proceda dupa cum urmeaza: