1 / 20

http://ssc.users.ro

http://ssc.users.ro. Curs 3 – Modele de autentificare, Hashing Criptografic. Bogdan Carstoiu. Autentificare, Autorizare, Auditare (AAA). Autentificare: Originea cuvantului in limba greaca cu sensul de real, veritabil

lan
Download Presentation

http://ssc.users.ro

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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).

  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.

  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

  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

  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 informației 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.

  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.

  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;

  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.

  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.

  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|>2n. De exemplu prin D={0,1}i cu i<=264 se intelege setul tuturor sirurilor cu lungime mai mare de 264 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

  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}KxD->{0,1}n, inseamna ca pentru fiecare K avem o mapare h=HK: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=HK. • Remarca: Cheia K nu este secreta ci este cunoscuta atat de utilizatori cat si de adversari.

  13. Rezistenta la coliziuni a familiilor de functii Fiind notata H:{0,1}KxD->{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 HK, adica • x1 # x2, si • HK(x1) = HK(x2) Daca notam cu AdvHcr(A) probabilitatea ca A sa castige, adica: AdvHcr(A)=Pr[CRHA->true] care ia valori intre 0 si 1. K x1,x2 A

  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.

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

  16. MD5 – descrierea runda suma modulo 2 <<<sDeplasare la stanga de s ori Mi – 32 bitiaimesajului Ki – constanta de 32 biti F – functieaplicatarundei. (functiileaplicabile in celepatrurundesuntunadintrefunctiile 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.

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

  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.

  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)

More Related