document

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

Upload: lan

Post on 23-Feb-2016

34 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Document

http://ssc.users.ro

Curs 3 – Modele de autentificare, Hashing Criptografic

Bogdan Carstoiu

1

Page 2: Document

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

Page 3: Document

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

Page 4: Document

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

Page 5: Document

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

Page 6: Document

Autentificare bazata pe username si parolaAvantaje:• Nu necesita resurse importante de procesare• Este o metoda de autentificare simpla• Se pot transmite si alte informatii impreuna cu parolaDezavantaje:• 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.

6

Page 7: Document

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

Page 8: Document

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

Page 9: Document

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

Page 10: Document

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

Page 11: Document

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

11

Page 12: Document

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.

12

Page 13: Document

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 AdvH

cr(A) probabilitatea ca A sa castige, adica:AdvH

cr(A)=Pr[CRHA->true]

care ia valori intre 0 si 1.

13

AK x1,x2

Page 14: Document

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

RivestAlgoritm:• 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

Page 15: Document

MD5

In cele 4 runde se pot utiliza functii diferite :

Unde reprezinta operatorii XOR, AND, OR, NOT si rotatie la stanga.

15

Page 16: Document

MD5 – descrierea runda

16

suma modulo 2<<<s Deplasare la stanga de s oriMi – 32 biti ai mesajuluiKi – constanta de 32 bitiF – functie aplicata rundei. (functiile

aplicabile in cele patru runde sunt una dintre functiile F, G, H, I descrise anterior.

Page 17: Document

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

Page 18: Document

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.

18

Page 19: Document

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

Page 20: Document

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