Sobes.tech
Junior

Čo je SSL a ako sa používa na zabezpečenie údajov v sieti?

sobes.tech AI

Odpoveď od AI

SSL (Secure Sockets Layer) — je kryptografický protokol, ktorý zabezpečuje bezpečný prenos dát medzi klientom (napríklad webovým prehliadačom) a serverom (napríklad webovou stránkou). Používa asymetrické šifrovanie na vytvorenie zabezpečeného komunikačného kanála a následne symetrické šifrovanie na prenos dát.

Hlavné kroky používania SSL:

  1. Handshake (Rukovanie):

    • Klient odosiela serveru správu "ClientHello" obsahujúcu zoznam podporovaných verzií SSL a súborov šifier.
    • Server odpovedá "ServerHello", vyberajúc optimálnu verziu SSL a súbor šifier, a tiež odosiela svoj certifikát.
    • Klient overuje pravosť certifikátu servera pomocou zoznamu dôveryhodných koreňových certifikačných autorít.
    • Klient generuje tajný relančný kľúč a šifruje ho pomocou verejného kľúča z certifikátu servera.
    • Klient odosiela zašifrovaný relančný kľúč serveru.
    • Server dešifruje relančný kľúč pomocou svojho súkromného kľúča.
    • Obe strany generujú potrebné kľúče (na šifrovanie a autentifikáciu) pre symetrický algoritmus pomocou relančného kľúča.
    • Klient a server odosielajú správy "Finished", zašifrované použitím dohodnutých kľúčov, aby potvrdili úspešné nadviazanie zabezpečeného spojenia.
  2. Šifrovanie dát: Po úspešnom handshake sa všetky dáta prenášané medzi klientom a serverom šifrujú pomocou dohodnutého symetrického algoritmu a kľúčov.

Príklad časti SSL certifikátu:

// Identifikátor certifikátu
Serial Number: ...
// Algoritmus podpisu certifikátu
Signature Algorithm: sha256WithRSAEncryption
// Vydavateľ certifikátu (Certificate Authority)
Issuer: C = US, O = Google Trust Services LLC, CN = GTS CA 1C3
// Platnosť
Validity
    Not Before: ...
    Not After : ...
// Subjekt certifikátu (doménové meno stránky)
Subject: CN = www.example.com
// Verejný kľúč subjektu
Subject Public Key Info
    Public Key Algorithm: rsaEncryption
    Public-Key: (2048 bit)

SSL, alebo presnejšie jeho modernejšia verzia TLS (Transport Layer Security), zabezpečuje:

  • Dôvernosť: Zabráňuje zachyteniu a čítaniu dát útočníkmi.
  • Integrita dát: Zaručuje, že dáta neboli počas prenosu zmenené.
  • Autentifikácia: Potvrdzuje pravosť servera (a voliteľne aj klienta) pomocou certifikátov.

Použitie SSL/TLS je široko rozšírené v webových prehliadačoch (protokol HTTPS), elektronickej pošte (STARTTLS), VPN a ďalších aplikáciách, ktoré vyžadujú bezpečný prenos dát.