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:
-
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í.
-
Š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.