Sobes.tech
Junior

Ce este SSL și cum este utilizat pentru a asigura securitatea datelor în rețea?

sobes.tech AI

Răspuns de la AI

SSL (Secure Sockets Layer) este un protocol criptografic care asigură transferul sigur de date între client (de exemplu, un browser web) și server (de exemplu, un site web). Folosește criptarea asimetrică pentru stabilirea unui canal de comunicare protejat, apoi criptarea simetrică pentru transmiterea datelor.

Etapele principale ale utilizării SSL:

  1. Handshake (strângere de mână):

    • Clientul trimite serverului un mesaj "ClientHello" care conține o listă de versiuni SSL suportate și seturi de cifruri.
    • Serverul răspunde cu "ServerHello", selectând versiunea SSL și setul de cifruri optime, și trimite certificatul său.
    • Clientul verifică autenticitatea certificatului serverului folosind o listă de autorități de certificare de încredere.
    • Clientul generează o cheie secretă de sesiune și o criptează folosind cheia publică din certificatul serverului.
    • Clientul trimite cheia de sesiune criptată către server.
    • Serverul decriptează cheia de sesiune folosind cheia sa privată.
    • Ambele părți generează cheile necesare (de criptare și de autentificare) pentru algoritmul simetric folosind cheia de sesiune.
    • Clientul și serverul trimit mesaje "Finished" criptate cu cheile convenite pentru a confirma stabilirea cu succes a conexiunii securizate.
  2. Criptarea datelor:

După handshake-ul reușit, toate datele transmise între client și server sunt criptate folosind algoritmul simetric convenit și cheile.

Exemplu de parte a unui certificat SSL:

// Identificatorul certificatului
Număr de serie: ...
// Algoritmul de semnare al certificatului
Algoritm de semnare: sha256WithRSAEncryption
// Emitentul certificatului (Autoritatea de certificare)
Issuer: C = US, O = Google Trust Services LLC, CN = GTS CA 1C3
// Perioada de valabilitate
Valabilitate
    Not Before: ...
    Not After : ...
// Subiectul certificatului (numele domeniului site-ului)
Subject: CN = www.exemplu.com
// Cheia publică a subiectului
Informații despre cheia publică
    Algoritm de cheie publică: rsaEncryption
    Cheie publică: (2048 bit)

SSL, și versiunea sa mai modernă TLS (Transport Layer Security), oferă:

  • Confidențialitate: Previne interceptarea și citirea datelor de către terți.
  • Integritatea datelor: Garantează că datele nu au fost modificate în timpul transmiterii.
  • Autentificare: Confirmă autenticitatea serverului (și opțional a clientului) folosind certificate.

Utilizarea SSL/TLS este larg răspândită în browserele web (protocolul HTTPS), e-mail (STARTTLS), VPN și alte aplicații care necesită transmitere sigură de date.