Aplicaţii de autentificare 1. Autentificare Kerberos

Slides:



Advertisements
Similar presentations
Virtual Private Networks. Cuprins Introducere Tipuri de VPN-uri Componentele VPN Caracteristicile Secure VPN-urilor VPN Tunneling Integritatea datelor.
Advertisements

Adobe photoshop.  De multe ori ne facem fotografii si unele nu le facem publice pentru ca ori am avut un cos in acel moment sau un alt aspect negativ.
 Ce e bravenet.COM ?  De ce bravenet.COM ?  Avantaje si dezavantaje in folosirea bravenet.COm Grupa 6: Lucian-Eduard Barticel Eduard Giurgiu Iany Ionut.
Curs 3 – Modele de autentificare, Hashing Criptografic Bogdan Carstoiu 1.
De ce campaniile de scurt ă durat ă de SEO și PPC eșueaz ă ? Ionut & imunteanu.com.
POSTA ELECTRONICA Ana-Maria Tache Ioana Cristina Ciufu.
Februarie 2018 ASE Bucuresti
ACTIVITATEA 1 -,, PROFESOR IT LA PAPI’’
Subinterogări multiple
Prof. Elena Răducanu, Colegiul Naţional Bănăţean,Timişoara
CUPRINS Tastatura Imprimanta Scanner Bibliografie Recapitulare.
IntraShip inovatie, flexibilitate, rapiditate.
Funcţii Excel definite de utilizator (FDU) în VBA
Instrumente CASE Curs nr. 7.
Posibilităţi de analiză în timp real a parametrilor de calitate a apei cu ajutorul sistemului informatic de management SIVECO Business Analyzer September.
COMPONENTELE SOFTWARE
Căutarea şi regăsirea informaţiei.
Administrare Oracle 9i Suport de curs
SOFTWARE Tipuri de software.
PASII INSTALARII SISTEMULUI DE OPERARE
Dispozitive de stocare
Arhitectura serviciilor web
TSSD Cursul 12 Wireless.
Transport Layer Security TLS, SSL, HTTPS
Căutarea şi regăsirea informaţiei.
Şomerul…..
Paxos Made Simple Autor: Puşcaş Radu George
Gindeste ……...
Primirea si procesarea cererilor
Gestionarea datelor stiintifice
Elemente de securitate
Retele de calculatoare
De la calitatea serviciilor la o bună guvernanţă
METODA BACKTRACKING Examenul de bacalaureat 2012
WebSite Social Tema 2 WebSite Social.
Problema rucsacului lacom
Tipuri structurate Tipul tablou
Curs 2 1 Sistem de operare-concepte: 2 Apeluri de sistem
RETELE DE CALCULATOARE
Curs 6: Introducere în programarea SAS
Stundent: Mihai-Gabriel PETRESCU Grupa: 2-IISC
Funcții C/C++ continuare
prof. mrd. Negrilescu Nicolae Colegiul National Vlaicu Voda
Apache WEB Server.
Gindeste ……...
Tehnoredactarea computerizată
Crearea si gazduirea serviciilor
INTERNET SERVICII INTERNET.
Universitatea POLITEHNICA din Bucuresti
SOAP Simple Object Access Protocol
Eclipsele de soare si de luna
Forms (Formulare).
Windows Communication Foundation (WCF)
Îmbunătăţirea serviciilor publice prin intermediul Chartelor de Servicii: Elaborarea şi implementarea Planurilor de Acţiune pentru Îmbunătăţirea Serviciilor.
A great way to create a channel of communication
Securitatea sistemelor de operare
Functia de documentare
Căutarea şi regăsirea informaţiei
Administrarea reţelelor de calculatoare
SOAP -Simple Object Access Protocol-
Folosirea de către companii a Twitter, Facebook şi LinkedIn
Configurarea, deployment-ul automat si testarea serviciilor
Gindeste ……...
Realizarea prezentarilor cu Microsoft PowerPoint
Software open source in industria software
Crearea unei aplicatii Windows Forms simple
Aplicaţii specializate pentru realizarea unei prezentări – PowerPoint
Configurarea metodelor de management al calităţii în sectorul public
Conectivitate in AS 3.0 Ariel Chelsau.
Algoritmul de criptare cu cheie publică RSA (Rivest-Shamir-Adleman)
Presentation transcript:

Aplicaţii de autentificare 1. Autentificare Kerberos Date generale: Sistem de securitate a cheilor proiectat la MIT Mod centralizat de chei publice oferit de un terţ (third-party) într-o reţea distribuită: oferă utilizatorilor acces la diferitele servicii ale reţelei locale nu pune condiţia ca toate staţiile de lucru să fie de "încredere" staţiile de lucru folosesc pentru autentificare un server central Versiuni folosite în mod curent: V4 şi V5.

Aplicaţii de autentificare 1. Autentificare Kerberos Scopul protocolului Kerberos este de a permite unui client sa-si demonstreze identitatea unui server aflat la distanta. Protocolul garanteaza de asemenea ca clientul nu poate conversa cu un calculator care se da drept server; autentificarea se face în ambele directii. Protocolul în sine consta dintr-un schimb de mesaje între un client si o serie de servere, fiecare cu o alta misiune. Idea de baza apartine lui Needham si Schroeder care au publicat ideea initiala în 1978 în Communications of the ACM.

Aplicaţii de autentificare 1. Autentificare Kerberos Protocolul Kerberos consta de fapt intr-o serie de mesaje care trebuie schimbate între partile care doresc sa comunice; unele din mesaje sunt criptate. Implementarile curente folosesc algoritmul standard de criptare DES (Data Encryption Standard). Kerberos este un protocol; pentru a fi util în anumite aplicatii (cele care au nevoie de comunicatie client-server), acestea trebuie modificate pentru a folosi autentificarea oferita de Kerberos (Aplicatiile modificate sunt atunci numite “kerberized”).

Aplicaţii de autentificare 1. Autentificare Kerberos În mod normal într-un domeniu în care se foloseste Kerberos programe ca: telnet rlogin POP (post-office protocol) AFS (fisiere la distanta AFS), etc. trebuie rescrise în asa fel încît clientul sa se autentifice serverului folosind noua metoda (toate aceste aplicatii sunt de tip client-server).

Aplicaţii de autentificare 1. Autentificare Kerberos Spre deosebire de multe dintre solutiile curente în ceea ce priveste securitatea - cum ar fi generatoarele de parole sau dispozitivele biometrice care citesc amprentele digitale sau ale irisului - Kerberos rezolvã problema securitãtii în retea fãrã hardware suplimentar, ci bazându-se doar pe mecanisme de criptare.

Aplicaţii de autentificare 1. Autentificare Kerberos Kerberos furnizeazã o modalitate de a verifica identitãtile conducãtorilor unei tranzactii într-o retea deschisã ( neprotejatã). Aceasta se realizeazã: fãrã a ne baza pe verificarea fãcutã de sistemul de operare local fãrã a ne baza pe validitatea adreselor de retea fãrã a cere securitate fizicã la toate host-urile din retea sub prezumtia cã pachetele care circulã în retea pot fi citite, modificate si inserate dupã dorintã. În aceste conditii, Kerberos este un tert (o parte) de încredere care realizeazã autentificarea pãrtilor prin servicii criptografice conventionale.

Aplicaţii de autentificare 2. Principii Kerberos Premiza initiala este ca exista un server central, numit serverul de autentificare (AS), care cunoaste identitatile tuturor clientilor posibili. De asemenea, fiecare client a stabilit o parola secreta pe care si acest server o stie. Parola ajunge la server printr-o cale sigura, de exemplu prin posta sau printr-un mesager uman.

Aplicaţii de autentificare 2. Principii Kerberos Parola nu este cunoscuta de nimeni altcineva, nici macar de celelalte servere cu care clientul va comunica (de la care va obtine serviciile care-l intereseaza). Toate celelalte servere din domeniul respectiv sunt si ele clienti ai AS: au o parola unica stiuta numai de AS si de acel server.

Aplicaţii de autentificare 2. Principii Kerberos O regula interesanta este: cheile folosite în comunicarea dintre client si servere se schimba frecvent. In implementarea standard o cheie expira dupa 25 de ore. În felul acesta un atac criptanalitic nu va fi incununat succes: daca dureaza mai mult de 25 de ore atunci cheia descoperita este deja inutila. Cheia pe care un client si un server o folosesc în comun se numeste cheie de sesiune si este generata aleator.

Aplicaţii de autentificare 3. Mesajele (protocolul Needham-Schroeder) Sa presupunem ca clientul nostru vrea sa comunice cu un server de fişiere. Protocolul poate fi compus din 4 mesaje (protocolul real este o simpla extensie a ideii prezentate): 1. Un mesaj de la client spre AS, prin care se indica intentia de a comunica cu serverul de fişiere; 2. Un mesaj de raspuns de la AS pentru client, prin care AS îi trimite clientului noua cheie de sesiune si un pachet pentru serverul de fişiere; 3. Un mesaj de la client spre serverul de fişiere, în care este inclus pachetul de mai sus, pentru a garanta faptul ca clientul a discutat cu AS; 4. Un mesaj de raspuns de la serverul de fişiere prin care clientul este convins ca serverul a putut deschide pachetul, pentru a fi sigur că discută cu serverul dorit.

Aplicaţii de autentificare 3. Mesajele (protocolul Needham-Schroeder) Dupa acest schimb initial de mesaje clientul si serverul de disc vor folosi cheia de sesiune generata de AS pentru a cripta cu DES toata comunicatia dintre ei. Vom nota cele 3 entitati care colaboreaza astfel: C = Clientul AS = Serverul de Autentificare S = Serverul de fişiere

Aplicaţii de autentificare 3. Mesajele (protocolul Needham-Schroeder)

Aplicaţii de autentificare 4. Kerbos V4 - Privire de ansamblu

Aplicaţii de autentificare 5. O sesiune de lucru Kerberos Desfãsurarea operatiilor în sistemul Kerberos se desfãsoarã în urmãtoarele faze: 1. Utilizatorul deschide o sesiune de lucru Kerberos (se lanseazã în executie klogin). Utilizatorul îsi trimite numele (ca rãspuns la klogin). 2. Statia (procesul klogin) contacteazã AS transmiţându-i în clar un mesaj ce contine numele de login si numele unui TGS : mesaj = (nume_login, nume_TGS)

Aplicaţii de autentificare 5. O sesiune de lucru Kerberos 3. AS cautã în baza de date Kerberos si obtine: - o cheie de criptare pentru utilizator - o cheie de criptare pentru TGS Înãuntrul tichetului de acces la TGS se introduc: tichet_de_acces_la_TGS = encrypt TGS_key (nume_TGS, nume_client, adresa_client, time_stamp, timp_viatã, cheie_sesiune)

Aplicaţii de autentificare 5. O sesiune de lucru Kerberos 4. AS trimite statiei clientului un rãspuns, care este criptat cu cheia clientului si care are urmãtoarea structurã: rãspuns = encrypt client_key (tichet_de_acces_la_TGS, cheie_sesiune)

Aplicaţii de autentificare 5. O sesiune de lucru Kerberos 5. Programul klogin primeste mesajul si cere parola utilizatorului. Parola este criptatã printr-o functie greu inversabilã standard Unix, rezultatul fiind o cheie de criptare a utilizatorului. Aceasta este folositã la criptarea mesajului, parola în clar fiind stearsã din statie. Statia rãmâne cu : - un tichet sigilat; - o cheie de sesiune TGS pe care le memoreazã.

Aplicaţii de autentificare 5. O sesiune de lucru Kerberos 6. Statia trimite TGS-ului un mesaj de forma : mesaj = (nume_serviciu, tichet_de_acces_la_TGS, autentificator) unde, autentificator = encrypt session_key (nume_client, adresa_client, time_stamp)

Aplicaţii de autentificare 5. O sesiune de lucru Kerberos 7. TGS primeste mesajul, decripteazã tichetul, de unde obtine cheia de sesiune cu care decripteazã autentificatorul, face verificãrile necesare si, dacã totul este în regulã, obtine din baza de date Kerberos cheia serviciului indicat prin nume_serviciu.

Aplicaţii de autentificare 5. O sesiune de lucru Kerberos 8. Se formeazã un tichet de acces la serviciu si o nouã cheie de sesiune. Înãuntrul tichetului de acces la serviciu se introduc: tichet_de_acces_la_serviciu = encrypt serv_key (nume_TGS, nume_client, adresa_client, time_stamp, timp_viatã, cheie_sesiune) TGS trimite statiei clientului un rãspuns care este criptat cu cheia de sesiune client - TGS si care are urmãtoarea structurã: rãspuns = encrypt session_key (tichet_de_acces_la_serviciu, cheie_sesiune)

Aplicaţii de autentificare 5. O sesiune de lucru Kerberos 9. Statia trimite serverului de servicii un mesaj de forma : mesaj = (nume_serviciu, tichet_de_acces_la_serviciu, autentificator) unde, autentificator = encrypt new_session_key (nume_client, adresa_client, time_stamp)

Aplicaţii de autentificare 5. O sesiune de lucru Kerberos 10. Serviciul primeste mesajul, decripteazã tichetul sigilat folosind cheia sa de decriptare (pe care doar Kerberos o mai cunoaste). Aflã prin decriptare cheia de sesiune client - serviciu si poate, astfel, decripta autentificatorul. Dacã aceste verificãri se desfãsoarã cu succes, se oferã serviciul solicitat.

Aplicaţii de autentificare 5. O sesiune de lucru Kerberos 11. Serviciul se autentificã la rândul sãu transmitând clientului un mesaj de forma (optional): mesaj = encrypt new_session_key (time_stamp+1)

Aplicaţii de autentificare 6. Consideratii asupra protocolului Tichetele si autentificatorii sunt puncte cheie pentru întelegerea implementãrii schemei Kerberos. Pentru ca un utilizator sã foloseascã un serviciu este necesar un tichet. Tichetele se obtin de la TGS, cu exceptia primului tichet pe care îl obtine de la AS si a tichetelor speciale, care se obtin tot de la AS. Tichetele detinute de utilizator nu sunt întelese de cãtre acesta, fiind criptate cu cheia server-ului destinatar. Fiecare tichet este asociat cu o cheie de sesiune, asiguratã la fiecare acordare a unui tichet.

Aplicaţii de autentificare 6. Consideratii asupra protocolului Tichetele sunt reutilizabile. Odatã acordat unui utilizator, tichetul poate fi refolosit o perioadã de timp (uzual 8 ore), dupã care expirã. Momentul acordãrii si durata sunt, deasemenea, incluse în tichet. Un nou autentificator este cerut de fiecare datã când clientul initiazã o nouã conexiune cu un server. Autentificatorul poartã momentul creãrii si are o duratã de valabilitate scurtã (minute). Un server pãstreazã istoria cererilor utilizatorului pentru care timpul din autentificator este încã valid. Aceasta permite depistarea dublurilor (si deci şi a eventualelor fraude).

Aplicaţii de autentificare 6. Consideratii asupra protocolului Deoarece tichetul si autentificatorul contin adresa clientului, este destul de greu pentru o altã statie sã le foloseascã (ea ar trebui sã-si schimbe adresa de retea!) Odatã validatã cererea de serviciu, clientul si server-ul folosesc o cheie privatã (cunoscutã în plus doar de Kerberos). Utilizarea cheii este optionalã. Pe parcursul unei sesiuni o listã de (nume_server,tichet_sigilat, cheie_sesiune) este pastratã de statia de lucru în numele utilizatorului. Lista nu poate fi folositã de cãtre altcineva, numele utilizatorului fiind criptat. Lista este distrusã la terminarea sesiunii.

Aplicaţii de autentificare 7. Consideratii asupra mediului Kerberos impune câteva consideratii asupra mediului, stabilind unele conditii pentru a putea functiona în mod corect : Atacurile de tip „refuz de serviciu" („Denial of service") nu sunt rezolvate cu Kerberos. Sunt modalitati prin care un intruder poate impiedica o statie de a participa la o secventã normalã de pasi necesarã autentificarii. S-a considerat mai potrivită lãsarea acestei sarcini în grija factorului uman (administrator)

Aplicaţii de autentificare 7. Consideratii asupra mediului Conducãtorii de tranzactii trebuie sã-si tinã cheile secrete pe care le detin în mod secret. Dacã un intruder furã o cheie secretã, va putea actiona ca si proprietarul ei. Atacurile de tipul „ghicire de parole" („password guessing") nu sunt rezolvate de cãtre Kerberos. Dacã un user îsi alege o parolã „slabã" va fi posibil pentru un intruder sã realizeze „password guessing" prin atacuri criptanalitice repetate.

Aplicaţii de autentificare 7. Consideratii asupra mediului 3. Fiecare host din retea trebuie sã detinã un ceas care sã fie „sincronizat tolerant" („loosely synchronized") cu ceasurile celorlalte host-uri. Toleranta se poate configura. Dacã ceasurile se sincronizeazã printr-un protocol, acesta trebuie securizat el însusi împotriva atacatorilor.

Aplicaţii de autentificare 8. Kerberos pentru utilizator Dupa autentificarea cu serverul de disc toata comunicatia între masina si serverul de disc se va face folosind un alt protocol, numit Secure RPC (Remote Procedure Call): apel sigur de procedura la distanta, care foloseste initial cheia de sesiune oferita de TGS.

Aplicaţii de autentificare 8. Kerberos pentru utilizator Se pot vedea în orice clipa tichetele pe care le posedam cu comanda klist: Exemplu: $ klist Ticket file: /tkt/7108-0401-35ae552f Principal: me@CS.CMU.EDU Issued Expires Principal Jul 20 10:50:34 Jul 21 12:16:55 krbtgt.CS.CMU.EDU@CS.CMU.EDU Jul 20 10:50:34 Jul 21 12:16:55 afs@CS.CMU.EDU Jul 20 10:51:30 Jul 21 12:17:51 ephyr.zephyr@CS.CMU.EDU

Aplicaţii de autentificare 8. Kerberos pentru utilizator Alte comenzi: kinit prin care se poate schimba identitatea Kerberos (de exemplu daca altcineva vrea sa lucreze pe calculatorul acelaşi PC va tasta kinit numele si parola personala) kdestroy prin care toate tichetele de pe masina locala sunt distruse; foarte util daca utilizatorul părăseşte PC-ul si nu doreşte ca altcineva sa poata lucra în numele său

Aplicaţii de autentificare 8. Kerberos pentru utilizator Alte comenzi: kpasswd prin care se pote schimba cheia (parola) stocata pe AS. Schimbarea parolei este sigura, pentru ca aceasta va fi trimisa criptat la serverul care face managementul parolelor si modifica baza de date din care citeste AS. kdb_init este o comanda folosita de administrator pentru a crea o noua baza de date Kerberos atunci cînd porneste serviciul.

Aplicaţii de autentificare 8. Kerberos pentru utilizator Alte comenzi: kdb_admin este o comanda folosita de administrator pentru a crea o noua baza de date Kerberos atunci cînd porneste serviciul kdb_edit este comanda prin care se pot adauga noi administratori în baza de date AS: persoane care au dreptul sa modifice baza de date.

Aplicaţii de autentificare 9. Slabiciunile sistemului de autentificare Kerberos 1. Pe o statie obisnuita Linux lucreaza în mod normal mai multi utilizatori. Tichetele unuia ar trebui sa fie ferite de ceilalti. Dar pe un sistem Linux practic nimic nu poate fi adapostit împotriva administratorului (root).

Aplicaţii de autentificare 9. Slabiciunile sistemului de autentificare Kerberos 2. O alta problema o reprezintă statiile de lucru fara disc (diskless); aceste statii importa discuri prin retea. Prin urmare, de îndata ce o astfel de statie stocheaza un tichet pe disc, tichetul va calatori prin retea şi poate fi interceptat!

Aplicaţii de autentificare 9. Slabiciunile sistemului de autentificare Kerberos 3. Într-o retea mare de calculatoare sincronizarea ceasurilor se face automat, folosind un protocol numit NTP: Network Time Protocol. Un alt tip de atac poate fi: Un atacator înregistreaza o serie de mesaje de la un client care stie ca reprezinta o tranzactie importanta. Peste o saptamana atacatorul infiltreaza în retea mesaje false NTP prin care seteaza ceasul unui server cu o saptamîna în urma. Apoi atacatorul retransmite mesajele capturate, care vor fi re-executate (serverul are setata o oră/dată incorectă).