Presentation is loading. Please wait.

Presentation is loading. Please wait.

Curs 3 – Modele de autentificare, Hashing Criptografic Bogdan Carstoiu 1.

Similar presentations


Presentation on theme: "Curs 3 – Modele de autentificare, Hashing Criptografic Bogdan Carstoiu 1."— Presentation transcript:

1 http://ssc.users.ro Curs 3 – Modele de autentificare, Hashing Criptografic Bogdan Carstoiu 1

2 Autentificare, Autorizare, Auditare (AAA) Autentificare: Originea cuvantului in limba greaca cu sensul de real, veritabil Procesul de stabilire ca un obiect sau o afirmatie sunt adevarate, asa cum cineva pretinde. Exemplu: stabilirea identitatii unei persoane la ghiseul bancii cu un act de identitate. In IT procesul de verificare a identitatii digitale. Obs: autentificare si autorizare diferite (dupa ce a fost autentificat se acorda drepturile pe baza unor reguli). 2

3 Autentificare, Autorizare, Auditare (AAA) Autorizare: Cand o entitate particulara este autorizata sa presteze o activitate ca urmare a unei proprietati mostenite din procesul de autentificare Poate fi determinate de o gama de restrictii ca de ex: restrictii de timp, restrictii de locatie fizica, restrictii de acces multiplu la resursa. Exemplu: garantare accesului pentru citirea unui fisier specific de catre utilizatorul autentificat Tipuri de servicii: IP address filtering, address assignment, route assignment, Quality of Services, latime de banda etc. 3

4 Autentificare, Autorizare, Auditare (AAA) (3) Auditare (Auditing sau Accounting): Urmarirea evenimentelor, de ex esecuri de autentificare si autorizare, resurse consumate de catre utilizatori. In afara aspectelor de securitate aceste informatii pot fi utilizate pentru management, planificare, facturare etc. Metode: –Real-time accounting, informatii interpretate in timp real –Batch accounting: informatiile sunt salvate si interpretate ulterior. Informatiile tipice stranse contin identitatea utilizatorului, natura serviciului furnizat, momentul la care serviciul a inceput si cand s-a terminat 4

5 Metode de autentificare Metode bazate pe un singur factor: Autentificare bazata pe ceea ce stii (autentificarea cu username si parola) Autentificare bazata pe ceea ce ai (PKI, ai o cheie privata) Autentificare bazata pe ceea ce esti (sisteme biometrice) Metoda bazate pe mai multi factori: autentificare cu doi factori combinatii ceea ce ai/ceea ce sti (token, smartcard) sau ceea ce esti/ceea ce stii. autentificare utilizand mai multi factori din categori diferite 5

6 Autentificare bazata pe username si parola Avantaje: Nu necesita resurse importante de procesare Este o metoda de autentificare simpla Se pot transmite si alte informatii impreuna cu parola Dezavantaje: Parola poate fi usor ghicita in multe cazuri De multe ori sunt stocate in clar pe un server (cine are acces la baza de date a serverului poate pretinde ca este alt utilizator). Chiar daca sunt stocate criptat pe server se pot transmite prin retele nesigure. Fiecare sistem detine o copie a informaiei de autentificare. Actualizarea parolele pe fiecare sistem duce la alegerea de parole simple (risc). Autentificarea nu este refolosibila, se autentifica pe fiecare sistem sau aplicatie. Exceptii: OpenID, OAuth Un sistem care impersoneaza sistemul real (prin IP spoofing), permite serverului impostor sa colecteze informatia personala ce va fi folosita pentru autentificare pe serverul real. 6

7 One-time password Dezvoltata pentru a elimina problemele date de reutilizarea parolei. Tipuri: parola provocare respuns (challenge-response) si lista de parole La challenge-response raspunde cu o valoare de provocare dupa ce a primit id utilizator. Raspunsul este calculat fie din valoarea de răspuns cu dispozitive electronice sau selectat dintr-un tabel, pe baza provocarii. Lista de parole. Liste de parole utilizate secvential de persoana care doreste sa acceseze un sistem. Greu de calculat valorea urmatoare. Autentificare bazata pe un token hardware care genereaza o parola conform unui algoritm care se bazeaza pe timp, verificata de server auth. Algoritmul de creare a parolei se bazeaza pe variabila timp (de fiecare data alta parola) Categoria autentificarea cu 2 factori: ai token si stii PIN-ul. Similar: smartcard cu certificat + PIN (ceava ce ai + ceva ce stii) La ambele cheia privata este stocata pe token/smartcard si este protejata prin PIN. 7

8 Autentificare cu doi factori Tipuri de autentificari utilizate ca al doilea factor: Token – sunt destul de simple si pot fi usor reproduse. Pentru a ne proteja la furt au asociat cod PIN Biometrie: recunoastere faciala, amprente digitale, geometria mainii, masura bazata pe dactilografierea unui text prestabilit, sablon artere/vene pe mana, retina, recunoasterea semnaturii, recunoastere amprentei vocale pentru un text predefinit, teste ADN. Metodele biometrice sunt destul de sigure pentru un numar relativ mic de subiecti. Metodele biometrice cer efort mare de calcul mai ales la autentificare one to many. Autentificare centralizata: utilizarea unui model centralizat ca autoritate centrala care autentifica utilizatorii remote la un mare numar de sisteme. Utilizeaza protocoale de autentificare remote ca RADIUS (Remote Access Dial-In User Service), TACACS (Terminal Access Controller Access-Control System), Kerberos, DIAMETER; 8

9 Exemple autentificare multi factor RSA SecurID utilizatorul poarta un token care este sincronizat in timp cu serverul central RSA. El genereaza numere de 6 digiti care se schimba la 60 secunde. La login se combina numarul de 6 digiti afisat de token cu PIN- ul personal pentru a crea one-time password. Tokenul ActivCard cere utilizatorului sa introduca PIN-ul si cu algoritmul special genereaza on-time password. Sistemul Secure Computing's SafeWord utilizeaza counter-based token care genereaza un simplu cod de sase digiti. Token software pastrate in sisteme separate ca PDA sau telefon ce genereaza parola. Sisteme challenge-based. Serverul central furnizeaza challenge pe care utilizatorul il introduce in token si acesta genereaza parola. Smartcard pastreaza a cheie criptografica pe card ce este deblocata de utilizator cu keypair special. Utilizatorul introduce passphrase pentru a debloca cheia si sistemul face un schimb de chei criptografice cu serverul central pentru verificare. Autentificare impartita intre doua persoane, ambele se autentifica. 9

10 Zero-knowledge proofs Ofera posibilitatea ca o masina A sa convinga o alta masina B sa-I permita accesul fara a dezvalui o informatie secreta. Masinile ce folosesc o astfel de tehnica schimba mai multe informatii pentru a finaliza autentificarea. Clientul creaza o problema aleatoare si dificila de rezolvat pe care o rezolva cu informatiile pe care le detine. Clientul valideaza solutia utilizand o schema de validare si trimite solutia si problema serverului. Serverul cere clientului ca problema sa demonstreze ca aceasta este solutia. Clientul reactioneaza in conformitate cu cererea. De regula se ajunge la schimbarea a zeci de mesaje cu succes inainte ca autentificarea sa fie completa. 10

11 Hash criptografic Definire: Printr-o functie hash uzual se intelege o mapare de la un domeniu D, cu D extins, la un sir de n biti. h:D->{0,1} n De regula |D|>2 n. De exemplu prin D={0,1} i cu i<=2 64 se intelege setul tuturor sirurilor cu lungime mai mare de 2 64 O serie de functii hash cunt consacrate in algoritmi cunoscuti MD4 n=128 biti MD5 n=128 biti SHA1 n=160 biti RIPEMD n=160 biti SHA256 n=256 biti 11

12 Rezistenta la coliziuni Definitie: O coliziune pentru o functie hash H:D->{0,1} n face ca pentru doua perechi x1 si x2 din D h(x1)=h(x2) cu toate ca x1#x2. In particular, daca |D|>2n ar rezulta ca trebuie sa existe o coliziune pentru h. O functie h este rezistenta la coliziuni daca este computational infezabila gasirea unei coliziuni. O familie de functii H:{0,1} K xD->{0,1} n, inseamna ca pentru fiecare K avem o mapare h=H K :D->{0,1} n, definita prin h(x)=H(K,x). Utilizare: K este ales din {0,1} K, este facut public definind functia hash h=H K. Remarca: Cheia K nu este secreta ci este cunoscuta atat de utilizatori cat si de adversari. 12

13 Rezistenta la coliziuni a familiilor de functii Fiind notata H:{0,1} K xD->{0,1} n o familie de functii. Un adversar rezistent la coliziuni A pentru H Preia o cheie de intrare K din {0,1} K ; Obtine la iesire o pereche x1, x2 de puncte din D in domeniul lui H. A castiga daca x1,x2 sunt o coliziune pentru H K, adica x1 # x2, si H K (x1) = H K (x2) Daca notam cu Adv H cr (A) probabilitatea ca A sa castige, adica: Adv H cr (A)=Pr[CR H A ->true] care ia valori intre 0 si 1. 13 A Kx1,x2

14 MD5, SHA1 Pana in prezent nu au fost gasite doua mesaje M si M’ pentru care SHA1(M)=SHA1(M’). MD4, MD5, si SHA1 sunt algoritmi cu structura similara si pastreaza in mare aceeasi idee; MD5 este unul din seria algoritmilor message digest, proiectati de Ronald Rivest Algoritm: MD5 proceseaza mesaje de lungime variabila si obtine lungimi fixe de 128 biti. Mesajul de intrarea este impartit in blocuri de 512 biti vazuti ca 16 intregi de 32 biti. Mesajul este completat astfel ca lungimea sa sa fie divizibila cu 512. Pentru completare se procedeaza astfel: –Un singur bit 1 este adaugat la sfarsitul mesajului; –Acesta este urmat de biti 0 pentru a atige o lungime cu 64 biti mai mica decat multiplu de 512. Bitii ramasi sunt completati cu un intreg de 64 biti reprezentand lungimea mesajului original. MD5 opereaza pe lungimi de 128 biti, vazuti ca 4 cuvinte de cate 32 biti, notati A, B, C si D, vazuti ca si constante fixate. Algoritmul opereaza pentru fiecare bloc mesaj de 512 biti si produce 128 biti. Procesarea include patru runde similare, fiecare runda este compusa din 16 operatii similare bazate pe o functie neliniara si rotatie la stanga. 14

15 MD5 In cele 4 runde se pot utiliza functii diferite : Unde reprezinta operatorii XOR, AND, OR, NOT si rotatie la stanga. 15

16 MD5 – descrierea runda 16 suma modulo 2 <<< s Deplasare la stanga de s ori Mi – 32 biti ai mesajului Ki – constanta de 32 biti F – functie aplicata rundei. (functiile aplicabile in cele patru runde sunt una dintre functiile F, G, H, I descrise anterior.

17 Aplicatii ale functiilor hash Verificare parola: Clientul A are o parola (PW) care este stocata si de serverul B; Pentru autentificare A trimite parola la serverul B pe un canal sigur (SSL). Problema: Parola poate fi aflata de un atacator si astfel compromite serverul. Canalul fiind sigur, atacul urmareste aflarea parolei stocate de server. Solutie posibila: Clientul A pastreaza parola PW si serverul stocheaza PW” = H(PW). A trimite PW la B, peste un canal securizat, B verifica daca H(PW) = PW” Daca atacatorul afla PW” el nu poate determina PW, deoarece H este one-way, care este o consecinta a rezistentei la coliziuni Posibil de luat in considerare un atac bazat pe dictionar. 17

18 Aplicatii ale functiilor hash Comparare prin hash: A are un mare fisier F A si B are un alt fisier mare F B. Se doreste sa se cunoasca daca F A = F B A trimite F A la B si B verifica daca F A = F B, sau invers. Problema: Transmisia poate fi lenta, mai ales la fisiere mari. Solutie posibila: A calculeaza h A = H(F A ) si trimite h A la B, iar B verifica deaca h A = H(F B ). Rezistenta la coliziune a lui H garanteaza ca B poate determina daca F A # F B. Avantaj: Mesajul rezultat dupa aplicare Hash este mai mic. 18

19 Aplicatii ale functiilor hash Protectie la virusi: Un executabil poate fi disponibil pe o multime de slideuri S1,S2,….,SN. Care dintre ele este sigur? Se poate realiza o modalitate de asigurare prin verificare hash h = H(X) a executabilului X. Procedura simpla: Download de oriunde si verificare hash. 19

20 Analiza securitate MD5 Obs: MD5 este utilizat in 720 locuri diferite in sistemul de operare Windows Cai curente de atac MD5: Cautarea a doua mesaje aleatorii care difera prin numai 3 biti (boring) (http://www.cs.colorado.edu/~jrblack/md5toolkit.tar.gz) Cautarea a doua documente PDF la care hash collide (more exciting) Cautarea a doua executabile Win32 la care hash collide (very exciting) (http://www.win.tue.nl/hashclash/SoftIntCodeSign/) Intreruperea initializatii protocoalelor criptografice (very exciting) 20


Download ppt "Curs 3 – Modele de autentificare, Hashing Criptografic Bogdan Carstoiu 1."

Similar presentations


Ads by Google