Sobes.tech
Junior

Co je SSL a jak se používá k zabezpečení dat v síti?

sobes.tech AI

Odpověď od AI

SSL (Secure Sockets Layer) je kryptografický protokol, který zajišťuje bezpečný přenos dat mezi klientem (například webovým prohlížečem) a serverem (například webovou stránkou). Používá asymetrické šifrování k navázání chráněného komunikačního kanálu a poté symetrické šifrování pro přenos dat.

Hlavní fáze používání SSL:

  1. Handshake (předání rukou):

    • Klient odešle serveru zprávu "ClientHello" obsahující seznam podporovaných verzí SSL a sad šifer.
    • Server odpoví zprávou "ServerHello", vybere optimální verzi SSL a sadu šifer a odešle svůj certifikát.
    • Klient ověří pravost certifikátu serveru pomocí seznamu důvěryhodných certifikačních autorit.
    • Klient vygeneruje tajný relanční klíč a zašifruje jej pomocí veřejného klíče z certifikátu serveru.
    • Klient odešle zašifrovaný relanční klíč serveru.
    • Server dešifruje relanční klíč pomocí svého soukromého klíče.
    • Obě strany generují potřebné klíče (pro šifrování a autentizaci) pro symetrický algoritmus pomocí relančního klíče.
    • Klient a server odešlou zprávy "Finished" zašifrované s použitím dohodnutých klíčů, aby potvrdily úspěšné navázání zabezpečeného spojení.
  2. Šifrování dat:

Po úspěšném handshake jsou všechna data přenášená mezi klientem a serverem šifrována pomocí dohodnutého symetrického algoritmu a klíčů.

Příklad části SSL certifikátu:

// Identifikátor certifikátu
Sériové číslo: ...
// Algoritmus podpisu certifikátu
Algoritmus podpisu: sha256WithRSAEncryption
// Vydavatel certifikátu (Certifikační autorita)
Issuer: C = US, O = Google Trust Services LLC, CN = GTS CA 1C3
// Platnost
Validity
    Not Before: ...
    Not After : ...
// Subjekt certifikátu (doménové jméno stránky)
Subject: CN = www.priklad.com
// Veřejný klíč subjektu
Subject Public Key Info
    Public Key Algorithm: rsaEncryption
    Veřejný klíč: (2048 bit)

SSL, a jeho modernější verze TLS (Transport Layer Security), poskytuje:

  • Důvěrnost: Zabraňuje zachycení a čtení dat třetími stranami.
  • Integrita dat: Zaručuje, že data nebyla během přenosu změněna.
  • Autentizace: Potvrzuje pravost serveru (a volitelně i klienta) pomocí certifikátů.

Použití SSL/TLS je široce rozšířené v webových prohlížečích (protokol HTTPS), e-mailu (STARTTLS), VPN a dalších aplikacích, které vyžadují bezpečný přenos dat.