1 / 48

Sisteme criptografice

Sisteme criptografice. Introducere Integritatea si autenticitatea Confidentialitatea Criptografia cu cheie publica. Introducere. Metodele criptografice protejeaza traficul din retea Criptologia este stiinta creerii si descifrarii codurilor secrete

lela
Download Presentation

Sisteme criptografice

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. Sisteme criptografice Introducere Integritatea si autenticitatea Confidentialitatea Criptografia cu cheie publica

  2. Introducere • Metodele criptografice protejeaza traficul din retea • Criptologia este stiinta creerii si descifrarii codurilor secrete • Criptografia se ocupa cu dezvoltarea si utilizarea codurilor • Criptanaliza se ocupa cu descifrarea codurilor

  3. Comunicatiile securizate implica autentificarea, integritatea si confidentialitatea • Autentificarea garanteaza ca mesajul nu este un fals si vine de la cine sustine ca vine • Integritatea garanteaza ca nimeni nu a interceptat mesajul si l-a modificat • Confidentialitatea garanteaza ca daca mesajul este capturat nu poate fi descifrat

  4. Integritatea si autenticitatea • Hash criptografic • Integritatea cu MD5 • Integritatea cu SHA-1 • Autenticitatea cu HMAC • Managementul cheilor

  5. Hash criptografic • Functia hash ia datele binare, numite mesaj, si produce o reprezentare condensata, numita valoare hash sau message digest • Hashing-ul este bazat pe o functie matematica • Functia hashing criptografica este folosita pentru verificarea si asigurarea integritatii datelor si pentru verificarea autentificarii • Valorile hash criptografice sunt numite si digital fingerprints

  6. h=H(x) • H – functia hash • x – intrarea • h – valoarea hash • Proprietati ale functiilor hash criptografice • Intrarea poate avea orice lungime • Iesirea are o lungime fixa • H(x) este usor de calculat • H(x) este intr-un singur sens si nu este reversibil • H(x) este fara coliziuni

  7. Functiile hash asigura ca datele nu sunt schimbate accidental • Functiile hash nu asigura ca datele nu sunt schimbate deliberat • Functii hash: • Message Digest 5 (MD5) • Secure Hash Algorithm 1 (SHA-1)

  8. Integritatea cu MD5 • Dezvoltat de Ron Rivest • Secventa complexa de operatii binare care produce o valoare hash (digest) pe 128 biti • Lungimea mesajului este de asemenea codata in valoarea hash • Implica 64 pasi • Este putin mai rapid decat SHA-1 • Considerat mai putin sigur decat SHA-1

  9. Integritatea cu SHA-1 • Algoritmul SHA a fost dezvoltat de catre U.S. National Institute of Standards and Technology (NIST) • Algoritmul SHA este specificat in Secure Hash Standard (SHS) • SHA-1 corecteaza o greseala din SHA • Similar cu MD5 • Implica 80 pasi • Produce o valoare hash (digest) pe 160 biti

  10. Este putin mai lent decat MD5 • Considerat mai sigur decat MD5 • NIST a publicat patru functii hash aditionale in familia SHA, cunoscute ca si SHA-2: SHA-224 (224 biti), SHA-256 (256 biti), SHA-384 (384 biti) si SHA-512 (512 biti) • NIST a dezvoltat SHA-3, un algoritm de hashing criptografic mai sigur

  11. Autenticitatea cu HMAC • Keyed-hash message authentication code (HMAC sau KHMAC) este un tip de message authentication code (MAC) • Un HMAC este calculat folosind un algoritm care combina o functie hash criptografica cu o cheie secreta • Functiile hash sunt baza mecanismului de protectie al HMAC-urilor

  12. Doar transmitatorul si receptorul cunosc cheia secreta • Iesirea functiei hash depinde de datele de intrare si de cheia secreta • Doar partile care au acces la cheia secreta pot calcula valoarea hash a functiei HMAC • Furnizeaza autentificarea originii datelor • Functii HMAC: • Keyed MD5 (HMAC-MD5), bazat pe algoritmul de hashing MD5 • Keyed SHA-1 (HMAC-SHA-1), bazat pe algoritmul de hashing SHA-1

  13. Managementul cheilor • Generarea • De obicei automata • Este necesara utilizarea unor bune generatoare de numere aleatorii

  14. Verificarea • Unele chei sunt mai bune decat altele • Aproape toti algoritmii criptografici au cateva chei slabe care nu ar trebui folosite • Cu ajutorul procedurilor de verificare a cheilor, cheile slabe pot fi regenerate • Pastrarea • Cheile pot fi pastrate in memorie • Daca sunt scrise pe disk, un Tojan Horse poate avea acces la chei

  15. Schimbul • Mecanism securizat de schimb al cheilor • Revocareasi Distrugerea • Revocarea notifica toate partile interesate ca o cheie a fost compromisa si nu ar mai trebui folosita • Distrugerea sterge vechile chei in asa fel incat previne recuperarea acestora de catre atacatori

  16. Termeni folositi pentru descrierea cheilor • Lungimea cheii este masura in biti • Spatiul cheii (keyspace) este numarul de posibilitati care pot fi generate de catre o anumita lungime a cheii • O cheie avand n biti lungime produce un spatiu care are 2^n valori ale cheii posibile

  17. Tipuri de chei criptografice care pot fi generate: • Chei simetrice • Chei asimetrice • Semnaturi digitale • Chei hash • Chei mai scurte • Mai putin sigure • Procesare mai rapida • Chei mai lungi • Mai sigure • Procesare mai lenta

  18. Confidentialitatea • Criptarea • Data Encryption Standard • 3DES • Advanced Encryption Standard • Schimbul de chei Diffie-Hellman

  19. Criptarea • Criptarea poate furniza confidentialitate la mai multe nivele ale modelului OSI incorporand diferite instrumente si protocoale: • Legatura de date • Retea - IPsec • Sesiune - Secure Sockets Layer (SSL), Transport Layer Security (TLS) • Aplicatie - secure email, secure database session (Oracle SQL*net), secure messaging (Lotus Notes sessions)

  20. Abordari pentru asigurarea securitatii datelor: • Protectia algoritmului • Protectia cheilor. Algoritmii sunt publici. Cheile criptografice asigura secretizarea datelor. Cheile criptografice sunt secvente de biti care sunt introduse intr-un algoritm de criptare impreuna cu datele • Clase de algoritmi de criptare care protejeaza cheile: • Simetrici • Asimetrici • Fiecare difera in folosirea cheilor

  21. Algoritmi de criptare simetrici • Folosesc aceeasi cheie pentru criptarea si decriptarea datelor • Cheia se mai numeste secret key • Cheia trebuie sa fie pre-shared • Cheia pre-shared este cunoscuta de catre transmitator si receptor inainte ca orice comunicatie criptata sa inceapa • Algoritmii de criptare pot avea chei de lungime mai scurta • Executie mai rapida • Algoritmii simetrici necesita mai putina putere de calcul decat algoritmii asimetrici

  22. Algoritmi de criptare asimetrici • Folosesc chei diferite pentru criptarea si decriptarea datelor • Mesaje securizate pot fi schimbate fara necesitatea detinerii unei chei pre-shared • Trebuiesc folosite chei de lungime foarte mare • Necesita resurse de calcul semnificative • Executie mai lenta • Algoritmii asimetrici sunt de sute sau mii de ori mai lenti decat algoritmii simetrici

  23. Data Encryption Standard • DES • Algoritm de criptare simetric • Uzual opereaza in mod bloc • Cripteaza datele in blocuri de 64 biti • Secventa de permutari si substitutii • Acelasi algoritm si cheie sunt folosite atat pentru criptare cat si pentru decriptare • Lungimea cheii fixa, 64 biti, 56 biti folositi pentru criptare, 8 biti pentru paritate

  24. 3DES • Tehnica aplicarii DES de trei ori unui bloc se numeste 3DES • 3DES foloseste o metoda numita 3DES-Encrypt-Decrypt-Encrypt (3DES-EDE) pentru criptare • Mesajul este criptat folosind prima cheie de 56 biti K1 • Datele sunt decriptate folosind a doua cheie de 56 biti K2 • Datele sunt criptate folosind a treia cheie de 56 biti K3 • Procedura 3DES-EDE furnizeaza criptare cu o lungime a cheii de 168 biti • Daca cheile K1 si K3 sunt egale lungimea cheii este de 112 biti

  25. Pentru decriptarea mesajului este folosit opusul metodei 3DES-EDE • Mesajul criptat este decriptat folosind cheia K3 • Datele sunt criptate folosind cheia K2 • Datele sunt decriptate folosind cheia K1 • 3DES este foarte sigur insa foloseste intens resursele de calcul • Din acest motiv a fost dezvoltat algoritmul de criptare AES, la fel de sigur ca si 3DES dar cu rezultate mult mai rapide

  26. Advanced Encryption Standard • In 1997 a fost anuntata initiativa AES • U.S. National Institute of Standards and Technology (NIST) a selectat cifrul bloc Rijndael ca si algoritm AES • Cifrul Rijndael, dezvoltat de Joan Daemen si Vincent Rijmen, are lungimea blocului si a cheii variabile • Lungimea cheii: 128, 192 sau 256 biti • Lungimea blocului de date: 128, 192 sau 256 biti • Toate noua combinatiile de lungimi ale cheii si blocului sunt posibile

  27. Schimbul de chei Diffie-Hellman • Whitfield Diffie si Martin Hellman au inventat algoritmul Diffie-Hellman (DH) • Algoritmul DH este baza majoritatii metodelor moderne de schimb automat al cheilor si este unul dintre cele mai comune protocoale folosite in retelistica • Nu este un mecanism de criptare • Este o metoda pentru schimbul securizat al cheilor care cripteaza datele

  28. Este un algoritm matematic care permite la doua calculatoare sa genereze un shared secret identic • Noua shared key nu este niciodata schimbata intre transmitator si receptor • DH este folosit in IPsec VPN, SSL, TLS sau SSH • Algoritmul DH este folosit pentru a crea chei care vor fi utilizate de catre algoritmi de criptare simetrici ca si DES, 3DES sau AES

  29. Pentru a porni un schimb DH, partea A si partea B trebuie sa aleaga doua numere care nu sunt secrete. Primul numar, g, este un numar baza (numit si generator). Al doilea numar, p, este un numar prim folosit ca modul. Aceste numere sunt publice si sunt alese dintr-un tabel de valori cunoscute. Tipic, g este un numar foarte mic si p este un numar prim mai mare. • Partea A genereaza un numar secret Xa si partea B genereaza un numar secret Xb.

  30. Folosind g, p and Xa, partea A calculeaza o valoare publica, Ya, folosind algoritmul DH. Trimite Ya la partea B. • Ya = g ^ Xa modulo p • Folosind g, p and Xb, partea B calculeaza o valoare publica, Yb, folosind algoritmul DH. Trimite Yb la partea A. • Yb = g ^ Xb modulo p

  31. Partea A foloseste algoritmul DH folosind Yb ca numar baza • Z = Yb ^ Xa modulo p • Partea B foloseste algoritmul DH folosind Ya ca numar baza • Z = Ya ^ Xb modulo p

  32. Schimbul de chei Diffie-Hellman • Ambele parti ajung la acelasi rezultat, Z • Aceasta valoare este un shared secret intre parti si poate fi folosit de un algoritm de criptare ca shared secret key intre parti

  33. Criptografia cu cheie publica • Criptarea asimetrica • Semnaturi digitale • Rivest, Shamir si Adleman • Infrastructura cheilor publice

  34. Criptarea asimetrica • Algoritmii simetrici, numiti si algortimi cu cheie publica, sunt proiectati astfel incat cheia folosita pentru criptare este diferita de cheia folosita pentru decriptare • Algoritmii asimetrici sunt folositi pentru a schimba mesaje secrete fara sa fi avut un secret comun inaintea schimbului

  35. Algoritmii simetrici folosesc doua chei: o cheie publica si o cheie privata. Ambele chei pot cripta, pentru decriptare este necesara cheia complementara. • Algoritmii asimetrici furnizeaza autentificarea, integritatea si confidentialitatea.

  36. Confidentialitatea cu algoritmi asimetrici este obtinuta cand procesul de criptare este realizat cu cheia publica si procesul de decriptare este realizat cu cheia privata • Criptare cu cheie publica + decriptare cu cheie privata = confidentialitate • Confidentialitatea este obtinuta deoarece un singur host are cheia privata

  37. Autentificarea cu algoritmi asimetrici este obtinuta cand procesul de criptare este realizat cu cheia privata si procesul de decriptare este realizat cu cheia publica • Criptare cu cheie privata + decriptare cu cheie publica = autentificare • Autentificarea este obtinuta deoarece un singur host are cheia privata

  38. Pentru asigurarea confidentialitatii, autentificarii si integritatii este necesara combinatia a doua faze de criptare • Faza 1 – confidentialitatea • Partea A doreste sa transmita un mesaj partii B asigurand confidentialitatea mesajului • Partea A foloseste cheia publica a partii B pentru criptarea mesajului • Doar partea B poate decripta mesajul, folosind propria cheie privata

  39. Faza 2 – autentificarea si integritatea • Partea A doreste sa asigure autentificarea si integritatea mesajului • Partea A foloseste propria cheie privata pentru a cifra un hash al mesajului • Partea B poate folosi cheia publica a partii A pentru a verifica daca mesajul nu a fost modificat • In plus, aceasta verifica daca partea A este cu siguranta transmitatorul mesajului deoarece nimeni altcineva nu are cheia privata a partii A

  40. Semnaturi digitale • Folosite in urmatoarele situatii: • Pentru a furniza dovada sursei datelor, care pot fi generate doar de o singura parte • Pentru a autentifica un utilizator folosind cheia privata a acelui utilizator si semnatura pe care o genereaza • Pentru a dovedi autenticitatea si integritatea certificatelor PKI • Pentru a furniza un esantion de timp (timestamp) sigur folosind o sursa de timp de incredere

  41. Furnizeaza trei servicii de securitate • Autenticitatea datelor semnate digital • Integritatea datelor semnate digital • Non-repudierea tranzactiei

  42. Pasii procesului semnaturii digitale: • Dispozitivul transmitator (semnatarul) creaza un hash al documentului • Dispozitivul transmitator cripteaza hash-ul cu cheia privata a semnatarului • Hash-ul criptat (semnatura) este adaugat la document • Dispozitivul receptor (verificatorul) accepta documentul cu semnatura digitala si obtine cheia publica a dispozitivului transmitator

  43. Pasii procesului semnaturii digitale (continuare): • Dispozitivul receptor decripteaza semnatura folosind cheia publica a dispozitivului transmitator. Acest pas dezvaluie presupusa valoare hash a dispozitivului transmitator • Dispozitivul receptor face un hash al documentului receptionat, fara semnatura sa, si compara acest hash cu hash-ul semnatura decriptat. Daca hash-urile sunt identice, documentul este autentic

  44. Folosite pentru a asigura autenticitatea si integritatea codurilor software

  45. Algoritmi folositi pentru a efectua semnaturi digitale • Rivest, Shamir si Adleman (RSA) • Digital Signature Algorithm (DSA) • In 1994 U.S. NIST a selectat DSA ca si Digital Signature Standard (DSS). • Acum DSS incorporeaza doua posibilitati suplimentare • Digital Signature Using Reversible Public Key Cryptography (care foloseste RSA) • Elliptic Curve Digital Signature Algorithm (ECDSA) • Generarea semnaturii cu DSA este mai rapida decat verificarea semnaturii cu DSA • Verificarea semnaturii cu RSA este mai rapida decat generarea semnaturii cu RSA

  46. Rivest, Shamir si Adleman • RSA este unul dintre cei mai comuni algoritmi asimetrici • Cheile RSA au lungimi cuprinse intre 512 si 2048 biti • Algoritmul RSA este bazat pe o cheia publica si o cheie privata • Cea mai comuna metoda pentru generarea semnaturilor • Larg folosita in sisteme e-commerce si protocoale Internet • Folosita doar pentru a proteja cantitati de date mici

  47. Infrastructura cheilor publice • Public key infrastructure – PKI • PKI este framework-ul de servicii pentru suportul tehnologiilor bazate pe chei publice pe scara larga • PKI este un set de componente tehnice, organizationale si legale pentru stabilirea unui sistem care permite folosirea pe scara larga a criptografiei cu cheie publica • PKI creaza, administreaza, stocheaza, distribuie si revoca certificate digitale

  48. Certificatele sunt informatii publice care contin legatura intre numele si cheile publice al entitatilor • Autoritate de certificate - certificate authority (CA) • CA este o entitate terta parte de incredere care emite certificate • Certificatul unui utilizator este semnat intotdeauna de un CA • Fiecare CA are de asemenea un certificat continand cheia sa publica, semnat de el insusi (CA certificate sau self-signed CA certificate)

More Related