Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pc:laboratoare:12 [2020/01/06 10:10]
andrei.stanca [Cerinte laborator]
pc:laboratoare:12 [2022/06/02 13:08] (current)
dorinel.filip
Line 13: Line 13:
    * **Integritate** - nimeni altcineva nu poate modifica datele fara sa fie detectat    * **Integritate** - nimeni altcineva nu poate modifica datele fara sa fie detectat
    * **Autenticitate** - asigurarea ca interlocutorul este cine sustine ca este    * **Autenticitate** - asigurarea ca interlocutorul este cine sustine ca este
 +
 +<​note>​
 +Acordul in criptografia moderna este ca algoritmii de encriptie/​decriptie trebuie sa fie cunoscuti si aplicarea lor să depinda de un fragment de date, numit **cheie** - singura parte care trebuie tinuta secreta. Acesta e cunoscut ca [[https://​en.wikipedia.org/​wiki/​Kerckhoffs%27s_principle|principiul lui Kerckhoffs]].
 +</​note> ​
  
 Prin aplicarea algoritmului de encriptie asupra unui mesaj si a unei chei se obtine un cifru. Analog, prin aplicarea algoritmului de decriptie asupra unui cifru si al unei chei se recupereaza un mesaj. Prin aplicarea algoritmului de encriptie asupra unui mesaj si a unei chei se obtine un cifru. Analog, prin aplicarea algoritmului de decriptie asupra unui cifru si al unei chei se recupereaza un mesaj.
Line 19: Line 23:
    * D(C, K) = M    * D(C, K) = M
  
-<​note>​ +
-Acordul in criptografia moderna este ca algoritmii de encriptie/​decriptie trebuie sa fie cunoscuti si aplicarea lor de depinda de un fragment de date, numit **cheie** singura parte care trebuie tinuta secreta.  +
-</​note> ​+
 ==== Criptare Simetrica ==== ==== Criptare Simetrica ====
  
Line 33: Line 35:
    - Bob primeste C si aplica algoritmul de decriptie pentru a recupera mesajul original M = D(C, K)    - Bob primeste C si aplica algoritmul de decriptie pentru a recupera mesajul original M = D(C, K)
  
-TODO - FigCriptare Simetrica+{{ :​pc:​laboratoare:​criptare_simetrica.png?500 |}}
  
 Exemple de algoritmi de criptare simetrica: ​ Exemple de algoritmi de criptare simetrica: ​
  
 [[https://​en.wikipedia.org/​wiki/​Advanced_Encryption_Standard|AES]], ​ [[https://​en.wikipedia.org/​wiki/​Advanced_Encryption_Standard|AES]], ​
-[[https://​en.wikipedia.org/​wiki/​Data_Encryption_Standard|AES]], +[[https://​en.wikipedia.org/​wiki/​Data_Encryption_Standard|DES]], 
 [[https://​en.wikipedia.org/​wiki/​Triple_DES|3DES]], ​ [[https://​en.wikipedia.org/​wiki/​Triple_DES|3DES]], ​
 [[https://​en.wikipedia.org/​wiki/​International_Data_Encryption_Algorithm|IDEA]], ​ [[https://​en.wikipedia.org/​wiki/​International_Data_Encryption_Algorithm|IDEA]], ​
Line 44: Line 46:
  
 <​note>​ <​note>​
-In cazul criptarii simetrice dificultatea provine din necesitatea existenti unui mecanism de securitate pentru distribuirea cheii secrete. In plus, nu este fezabil ca orice pereche de entitati care doresc sa comunice criptat sa impartaseasca un secret (e.g.google ar trebui sa aiba cate o cheie pentru fiecare client). Exista protocoale de schimbare de chei (__key exchange__),​ astfel incat doua entitati sa poata alege impreuna o cheie privata peste un canal de comunicare nesigur, astfel incat nimeni altcineva care poate vedea informatia transmisa sa nu poata determina cheia (si, deci, nici mesajele ulterioare, criptate cu cheia aleasa). Cel mai cunoscut astfel de protocol este DiffieHellman. Acesta este totusi nesigur in cazul atacurilor de tipul Man-in-the-Middle cand atacatorul poate intercepta mesaje si produce propriile mesaje. ​+In cazul criptarii simetrice dificultatea provine din necesitatea existenti unui mecanism de securitate pentru distribuirea cheii secrete. In plus, nu este fezabil ca orice pereche de entitati care doresc sa comunice criptat sa impartaseasca un secret (e.g.google ar trebui sa aiba cate o cheie pentru fiecare client). Exista protocoale de schimbare de chei (__key exchange__),​ astfel incat doua entitati sa poata alege impreuna o cheie privata peste un canal de comunicare nesigur, astfel incat nimeni altcineva care poate vedea informatia transmisa sa nu poata determina cheia (si, deci, nici mesajele ulterioare, criptate cu cheia aleasa). Cel mai cunoscut astfel de protocol este DiffieHellman. Acesta este totusi nesigur in cazul atacurilor de tipul [[https://​en.wikipedia.org/​wiki/​Man-in-the-middle_attack|Man-in-the-Middle]] cand atacatorul poate intercepta mesaje si produce propriile mesaje. ​
 </​note>​ </​note>​
 +
 +
 ==== Criptare Asimetrica ==== ==== Criptare Asimetrica ====
  
Line 71: Line 75:
 Pentru sistemele de criptare asimetrica, exista problema: cum putem fi siguri ca cheia publica primita chiar apartine cui credem ca apartine? (un atacator ar putea folosi un atac Man-in-the-Middle pentru a ne livra propria sa cheie). Pentru sistemele de criptare asimetrica, exista problema: cum putem fi siguri ca cheia publica primita chiar apartine cui credem ca apartine? (un atacator ar putea folosi un atac Man-in-the-Middle pentru a ne livra propria sa cheie).
 </​note>​ </​note>​
 +
  
 ==== Rezumate de mesaje ==== ==== Rezumate de mesaje ====
  
-Rezumatul (hash) unui mesaj este un sir de biti de lungime fixa, generat cu ajutorul unei functii de dispersie neinversabile aplicata mesajului. ​Funct, ia de dispersie H trebuie sa aiba urmatoarele proprietati:​+Rezumatul (hash) unui mesaj este un sir de biti de lungime fixa, generat cu ajutorul unei functii de dispersie neinversabile aplicata mesajului. ​Functia ​de dispersie H trebuie sa aiba urmatoarele proprietati:​
    - Dandu-se un mesaj M, este usor de calculat H(M)    - Dandu-se un mesaj M, este usor de calculat H(M)
    - Dandu-se un rezumat H(M), este greu de calculat M    - Dandu-se un rezumat H(M), este greu de calculat M
Line 87: Line 92:
 [[https://​en.wikipedia.org/​wiki/​SHA-2|SHA-2]], ​ [[https://​en.wikipedia.org/​wiki/​SHA-2|SHA-2]], ​
 [[https://​en.wikipedia.org/​wiki/​SHA-3|SHA-3]] [[https://​en.wikipedia.org/​wiki/​SHA-3|SHA-3]]
 +
 +
 ==== Semnaturi digitale ==== ==== Semnaturi digitale ====
  
Line 104: Line 111:
    - Bob decripteaza C folosind cheia publica R0 = D(C, PA)    - Bob decripteaza C folosind cheia publica R0 = D(C, PA)
    - Daca R = R0, Bob are garantia ca mesajul a fost semnat de Alice si nimeni nu l-a modificat    - Daca R = R0, Bob are garantia ca mesajul a fost semnat de Alice si nimeni nu l-a modificat
 +
 +
 ==== Gestiunea cheilor publice ==== ==== Gestiunea cheilor publice ====
  
Line 113: Line 122:
  
 Informatii despre baza lantului de incredere sunt incluse in aplicatii (mail client, web browser etc.), sau in sistemul de operare, care serveste aplicatiile interesate. Informatii despre baza lantului de incredere sunt incluse in aplicatii (mail client, web browser etc.), sau in sistemul de operare, care serveste aplicatiile interesate.
 +
 +
 ==== OpenSSL ==== ==== OpenSSL ====
  
Line 122: Line 133:
  
 Printre comenzi se numara: Printre comenzi se numara:
-  * **ca** - utilizata pentru managementul unei autoritati de certificare (se pot genera certificate,​ care sunt stocate apoi intr-baza de date)+  * **ca** - utilizata pentru managementul unei autoritati de certificare (se pot genera certificate,​ care sunt stocate apoi intr-baza de date)
   * **dgst** - pentru calculul de rezumate de mesaje   * **dgst** - pentru calculul de rezumate de mesaje
   * **genrsa** - pentru generarea de chei RSA   * **genrsa** - pentru generarea de chei RSA
Line 230: Line 241:
 openssl enc -d -aes-256-cbc -a -in file.enc openssl enc -d -aes-256-cbc -a -in file.enc
 </​code>​ </​code>​
 +
  
 ==== Cerinte laborator ==== ==== Cerinte laborator ====
  
-Pentru analiza traficului, va recomandam sa folositi wireshark.+Pentru analiza traficului, va recomandam sa folositi ​[[https://​www.wireshark.org/​|wireshark]]. 
 1. Obtineti certificatul de la google.com si identificati urmatoarele campuri: 1. Obtineti certificatul de la google.com si identificati urmatoarele campuri:
-   ​* ​tipul cifrului ​folosit+   ​* ​algoritmul ​folosit ​pentru semnarea certificatului
    * entitatea care a eliberat certificatul    * entitatea care a eliberat certificatul
    * intervalul de timp in care certificatul e valid    * intervalul de timp in care certificatul e valid
    * cheia publica    * cheia publica
  
-2. Pornit, i o unealta de monitorizare a traficului si logati-va pe o pagina prin http, apoi prin https (nu este nevoie de un login legitim, puteti introduce orice in campurile de credentiale). Analizati informatia disponibila in captura de trafic.+2. Porniti ​o unealta de monitorizare a traficului si logati-va pe o pagina prin http, apoi prin https (nu este nevoie de un login legitim, puteti introduce orice in campurile de credentiale). Analizati informatia disponibila in captura de trafic. 
 Exemple de pagini http cu formular de login: Exemple de pagini http cu formular de login:
    * http://​login.onlineplanservice.com/​Login.aspx?​ReturnUrl=%2f    * http://​login.onlineplanservice.com/​Login.aspx?​ReturnUrl=%2f
-   * http://​iczn.org/​ 
-   * http://​login.hotpotatoes.net/​ 
  
 3. Pentru login prin https, analizati portiunea de TLS handshake si identificati urmatoarele campuri: 3. Pentru login prin https, analizati portiunea de TLS handshake si identificati urmatoarele campuri:
pc/laboratoare/12.1578298208.txt.gz · Last modified: 2020/01/06 10:10 by andrei.stanca
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0