Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sisteme criptografice

Similar presentations


Presentation on theme: "Sisteme criptografice"— 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

7 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

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

9 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

10 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

11 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

12 The sending device inputs the message into a hashing algorithm and computes its fixed-length digest or fingerprint. The receiving device removes the fingerprint from the message and inputs the message into the same hashing algorithm. The fingerprint is attached to the message and both are sent to the receiver in plaintext. If the resulting hash is equal to the one that is attached to the message, the message has not been altered during transit.

13 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

14 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

15 HMAC (Authenticated Fingerprint)
Secret Key Pay to Terry Smith $100.00 One Hundred and xx/ Dollars 4ehIDx67NMop9 HMAC (Authenticated Fingerprint) If the generated HMAC matches the sent HMAC, then integrity and authenticity have been verified. If they don’t match, discard the message. Data Received Data

16 Managementul cheilor Generarea De obicei automata
Este necesara utilizarea unor bune generatoare de numere aleatorii

17 Verificarea Pastrarea 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

18 Revocarea si Distrugerea
Schimbul Mecanism securizat de schimb al cheilor Revocarea si 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

19 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

20 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

21 Confidentialitatea Criptarea Data Encryption Standard 3DES
Advanced Encryption Standard Schimbul de chei Diffie-Hellman

22 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 , secure database session (Oracle SQL*net), secure messaging (Lotus Notes sessions)

23 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

24 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

25 Algoritmi de criptare simetrici
Algoritmii de criptare pot avea chei de lungime mai scurta Executie mai rapida Algoritmii simetrici necesita mai putina putere de calcul decat algoritmii asimetrici

26 Algoritmi de criptare asimetrici
Folosesc chei diferite pentru criptarea si decriptarea datelor Mesaje securizate pot fi schimbate fara necesitatea detinerii unei chei pre-shared

27 Algoritmi de criptare asimetrici
Trebuie 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

28 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

29 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

30 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

31 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

32 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

33 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 DES, 3DES sau AES

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

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

36 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

37 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

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

39 Criptarea asimetrica Algoritmii asimetrici, 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

40 Algoritmii asimetrici 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.

41 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

42

43 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

44

45 Faza 1 – confidentialitatea
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

46 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

47

48 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

49 Furnizeaza trei servicii de securitate
Autenticitatea datelor semnate digital Integritatea datelor semnate digital Non-repudierea tranzactiei

50 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

51 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

52

53 Folosite pentru a asigura autenticitatea si integritatea codurilor software

54 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

55 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

56 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

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

58 Public-Key Infrastructure X.509 (PKIX)
Workgroup IETF Promovarea and standardizarea PKI in Internet X.509 Set de standarde Formate de date comune Protocoale legate de PKI PKI-urile pot forma diferite topologii de incredere: Single-root PKI (Root CA) Hierarchical CA Cross-certified CA

59 Single-root PKI (Root CA)

60 Hierarchical CA

61 Cross-certified CA

62 Procesul de inscriere PKI
CA emitent poate fi: Root CA Subordinate CA PKI poate folosi registration authorities (RAs) pentru a accepta cereri de inscriere in PKI Sarcinile RA Autentificarea utilizatorilor la inscrierea in PKI Generarea cheilor pentru utilizatorii care nu pot genera propriile chei Distribuirea certificatelor dupa inscriere

63


Download ppt "Sisteme criptografice"

Similar presentations


Ads by Google