Zabezpečení už není jen volbou, ale povinným kurzem pro každého internetového technologického profesionála. HTTP, HTTPS, SSL, TLS - Opravdu chápete, co se děje v zákulisí? V tomto článku vám laickým i profesionálním způsobem vysvětlíme základní logiku moderních šifrovaných komunikačních protokolů a pomocí vizuálního vývojového diagramu vám pomůžeme pochopit tajemství „za zámky“.
Proč je HTTP „nezabezpečený“? --- Úvod
Pamatujete si na to známé varování prohlížeče?
"Vaše připojení není soukromé."
Jakmile webová stránka nenasadí HTTPS, veškeré informace o uživateli se šíří po síti v prostém textu. Vaše přihlašovací hesla, čísla bankovních karet a dokonce i soukromé konverzace se mohou stát obětí hackerského útoku v dobré pozici. Hlavní příčinou je nedostatečné šifrování HTTP.
Jak tedy HTTPS a „strážce brány“ za ním, TLS, umožňují bezpečný přenos dat po internetu? Pojďme si to rozebrat vrstvu po vrstvě.
HTTPS = HTTP + TLS/SSL --- Struktura a základní koncepty
1. Co je v podstatě HTTPS?
HTTPS (HyperText Transfer Protocol Secure) = HTTP + šifrovací vrstva (TLS/SSL)
○ HTTP: Tento protokol je zodpovědný za přenos dat, ale obsah je viditelný v prostém textu.
○ TLS/SSL: Poskytuje „zámek šifrování“ pro HTTP komunikaci, čímž se data mění v hádanku, kterou dokáže vyřešit pouze legitimní odesílatel a příjemce.
Obrázek 1: Tok dat HTTP vs. HTTPS.
„Zámek“ v adresním řádku prohlížeče je bezpečnostní příznak TLS/SSL.
2. Jaký je vztah mezi TLS a SSL?
○ SSL (Secure Sockets Layer): Nejstarší kryptografický protokol, u kterého byly zjištěny závažné zranitelnosti.
○ TLS (Transport Layer Security): Nástupce SSL, TLS 1.2 a pokročilejšího TLS 1.3, které nabízejí významná vylepšení v oblasti zabezpečení a výkonu.
V dnešní době jsou „SSL certifikáty“ jednoduše implementace protokolu TLS, jen pojmenované rozšíření.
Hluboko do TLS: Kryptografická magie za HTTPS
1. Proces handshake je plně vyřešen
Základem zabezpečené komunikace TLS je handshake tanec v době nastavení. Pojďme si rozebrat standardní tok handshake TLS:
Obrázek 2: Typický tok handshake protokolu TLS.
1️⃣ Nastavení TCP připojení
Klient (např. prohlížeč) zahájí TCP spojení se serverem (standardní port 443).
2️⃣ Fáze podání ruky TLS
○ Pozdrav klienta: Prohlížeč odešle podporovanou verzi TLS, šifru a náhodné číslo spolu s indikací názvu serveru (SNI), která serveru sdělí, ke kterému názvu hostitele chce přistupovat (což umožňuje sdílení IP adres mezi více weby).
○ Pozdrav serveru a problém s certifikátem: Server vybere vhodnou verzi TLS a šifru a odešle zpět svůj certifikát (s veřejným klíčem) a náhodná čísla.
○ Ověření certifikátu: Prohlížeč ověří řetězec certifikátů serveru až k důvěryhodné kořenové certifikační autoritě, aby se ujistil, že nebyl padělaný.
○ Generování premasterního klíče: Prohlížeč vygeneruje premasterní klíč, zašifruje ho veřejným klíčem serveru a odešle jej na server. Dvě strany vyjednávají o klíči relace: Pomocí náhodných čísel obou stran a premasterního klíče klient a server vypočítají stejný symetrický šifrovací klíč relace.
○ Dokončení handshake: Obě strany si navzájem odešlou zprávy „Dokončeno“ a vstoupí do fáze přenosu šifrovaných dat.
3️⃣ Bezpečný přenos dat
Všechna servisní data jsou symetricky šifrována s efektivním využitím vyjednaného klíče relace, a i když jsou zachycena uprostřed, jedná se jen o svazek „zkomolených kódů“.
4️⃣ Opětovné použití relace
TLS opět podporuje Session, což může výrazně zlepšit výkon tím, že umožní stejnému klientovi přeskočit únavné navazování kontaktů (handshake).
Asymetrické šifrování (například RSA) je bezpečné, ale pomalé. Symetrické šifrování je rychlé, ale distribuce klíčů je těžkopádná. TLS používá „dvoukrokovou“ strategii – nejprve asymetrickou bezpečnou výměnu klíčů a poté symetrické schéma pro efektivní šifrování dat.
2. Vývoj algoritmů a zlepšení bezpečnosti
RSA a Diffie-Hellman
○ RSA
Poprvé byl široce použit během TLS handshake k bezpečné distribuci klíčů relace. Klient vygeneruje klíč relace, zašifruje ho veřejným klíčem serveru a odešle ho, aby ho mohl dešifrovat pouze server.
○ Diffie-Hellmanův test (DH/ECDH)
Od verze TLS 1.3 se RSA již nepoužívá pro výměnu klíčů ve prospěch bezpečnějších algoritmů DH/ECDH, které podporují dopředné utajení (PFS). I v případě úniku soukromého klíče nelze historická data odemknout.
Verze TLS | algoritmus výměny klíčů | Zabezpečení |
TLS 1.2 | RSA/DH/ECDH | Vyšší |
TLS 1.3 | pouze pro DH/ECDH | Vyšší |
Praktické rady, které by si měli networkingoví odborníci osvojit
○ Prioritní upgrade na TLS 1.3 pro rychlejší a bezpečnější šifrování.
○ Povolit silné šifry (AES-GCM, ChaCha20 atd.) a zakázat slabé algoritmy a nezabezpečené protokoly (SSLv3, TLS 1.0);
○ Nakonfigurujte HSTS, sešívání OCSP atd. pro zlepšení celkové ochrany HTTPS;
○ Pravidelně aktualizujte a kontrolujte řetězec certifikátů, abyste zajistili platnost a integritu řetězce důvěryhodnosti.
Závěr a myšlenky: Je vaše podnikání skutečně bezpečné?
Od protokolu HTTP v prostém textu až po plně šifrovaný HTTPS se bezpečnostní požadavky vyvíjely s každou aktualizací protokolu. TLS, jakožto základní kámen šifrované komunikace v moderních sítích, se neustále zlepšuje, aby se vyrovnal se stále složitějším útočným prostředím.
Používá vaše firma již HTTPS? Je vaše konfigurace kryptoměn v souladu s osvědčenými postupy v oboru?
Čas zveřejnění: 22. července 2025