Jak může prohlížeč poznat, že si povídá opravdu s bankou nebo e-shopem, a ne s útočníkem, který se za jejich web jen vydává?
Odpověď se skrývá v několika vrstvách. HTTP určuje, jak si prohlížeč a server vyměňují požadavky a odpovědi. HTTPS k tomu přidává šifrované spojení. A certifikát pomáhá ověřit, komu toto spojení patří.
HTTP pošle zprávu, HTTPS ji nejdřív zamkne
Když do prohlížeče zadáte adresu začínající ` prohlížeč odešle serveru požadavek, například na domovskou stránku. Server odpoví HTML kódem, obrázky, styly a dalšími soubory. HTTP samo o sobě ale neřeší utajení. Data putují sítí v podobě, kterou lze při vhodném přístupu zachytit a přečíst.
U obyčejného HTTP může někdo na cestě vidět například přihlašovací jméno, obsah formuláře nebo přesnou stránku, kterou si prohlížíte. Neznamená to, že každý člověk připojený ke stejné Wi-Fi automaticky sleduje vaše zprávy. Znamená to však, že protokol neposkytuje ochranu proti odposlechu.
HTTPS je HTTP zabalené do bezpečné vrstvy TLS. Starší označení SSL se stále používá v běžné řeči, například ve spojení „SSL certifikát“, ale skutečný moderní mechanismus se jmenuje TLS. Prohlížeč tedy většinou naváže TLS spojení a teprve uvnitř něj probíhá komunikace HTTP.
Výsledkem jsou tři ochrany. Šifrování brání cizímu člověku číst přenášená data. Kontrola integrity odhalí, že někdo obsah po cestě nezměnil. Ověření identity pomáhá zjistit, zda server skutečně ovládá doménu, ke které se hlásí.
První sekundy spojení: pozdrav, klíče a kontrola identity
Po připojení k HTTPS serveru si prohlížeč a server nejprve vymění informace o podporovaných verzích TLS a kryptografických postupech. Server poté pošle svůj certifikát. Ten obsahuje doménové jméno, veřejný klíč, údaje o vydavateli a dobu platnosti.
Certifikát sám o sobě není tajné heslo. Veřejný klíč může znát kdokoli. Jeho úkolem je umožnit bezpečnou výměnu a ověření, zatímco odpovídající soukromý klíč zůstává uložený na serveru. Kdo ho získá, může mít vážný problém: útočník by se mohl za daný server vydávat.
Prohlížeč ověřuje, zda certifikát odpovídá navštívené doméně, zda nevypršel a zda mu důvěřuje certifikační autorita. Důvěra nevzniká tím, že si prohlížeč každému certifikátu věří automaticky. Operační systém a prohlížeč mají seznam důvěryhodných kořenových autorit, od nichž lze ověřit podpis certifikátu a jeho řetězec.
Teprve když kontrola projde, pokračuje navazování zabezpečeného spojení. Prohlížeč a server si vytvoří společný dočasný klíč, který budou používat pro rychlé šifrování samotných dat. Asymetrická kryptografie tedy pomáhá na začátku, symetrické šifrování pak zajišťuje efektivní přenos většího množství obsahu. Je to trochu jako domluvit se přes bezpečně ověřeného posla na kombinaci, kterou pak oba používají pro zamykání a odemykání zpráv.
Proč se mluví o TLS 1.3, když všude vidíme SSL
SSL je původní technologie, která předcházela TLS. Dnes se používá už jen historické označení, podobně jako když někdo říká „páska“ u digitálního nahrávání. Aktuálním webovým standardem je TLS 1.3. Hlavní prohlížeče začaly TLS 1.0 a TLS 1.1 vyřazovat už na začátku roku 2020.
TLS 1.3 zjednodušilo navazování spojení a odstranilo některé starší mechanismy. Patří mezi ně statické šifrovací sady založené na RSA nebo Diffieho–Hellmanově výměně klíčů. Běžná výměna klíčů v TLS 1.3 poskytuje dopředné utajení. Kdyby někdo později získal soukromý klíč serveru, neměl by díky tomu automaticky rozšifrovat dříve zachycenou komunikaci.
TLS 1.3 umí také režim 0-RTT, který může ušetřit jedno síťové kolo a urychlit opakované připojení. Má však omezení: neposkytuje plné dopředné utajení a je citlivější na replay útoky, při nichž útočník znovu odešle dříve zachycenou zprávu. Prohlížeč a server proto musejí pečlivě rozlišovat, které požadavky je možné tímto zrychleným způsobem posílat. Změna hesla nebo odeslání objednávky si zaslouží opatrnější zacházení než načtení veřejného obrázku.
Certifikát nešifruje web a nezaručí poctivého provozovatele
Certifikát potvrzuje kontrolu nad doménou, ne morální kvality člověka nebo firmy, která na ní provozuje web. HTTPS phishingovou stránku samo o sobě nezastaví. Podvodný web může mít platný certifikát, protože útočník si někdy dokáže zaregistrovat doménu a nechat ji ověřit stejně jako legitimní provozovatel.
Zámek v adresním řádku tedy znamená především to, že spojení mezi vaším prohlížečem a konkrétní doménou je šifrované a certifikát prošel kontrolou. Neříká, že nabídka na stránce je výhodná, firma existuje dlouho nebo že e-mail, který vás na web poslal, byl důvěryhodný.
Certifikáty mají omezenou platnost. U veřejných TLS certifikátů se podle pravidel odvětví maximální doba postupně zkracuje: k 24. září 2026 bude nejvyšší povolená platnost 200 dní, od 15. března 2027 klesne na 100 dní a od 15. března 2029 na 47 dní. Kratší platnost znamená častější obnovu, a tím i větší tlak na automatizaci.
Let’s Encrypt standardně vydává certifikáty na 90 dní. Nabízí také přibližně šestidenní krátkodobé certifikáty a profil s platností 45 dní. Pro návštěvníka se tím nic nemění při každém načtení stránky; správce serveru však musí hlídat, aby obnova proběhla včas. Zapomenutý certifikát vede k chybové stránce, i když web jinak funguje bez problémů.
HSTS brání návratu k nezabezpečenému HTTP
Samotné HTTPS ještě neznamená, že návštěvník nikdy omylem nepoužije HTTP. Web může prohlížeči pomocí hlavičky HSTS oznámit, že se má k dané doméně připojovat výhradně přes HTTPS. Direktiva `max-age=31536000` tento pokyn nastaví na jeden rok.
HSTS chrání také před situací, kdy uživatel zadá adresu bez zabezpečeného protokolu a někdo se pokusí první přesměrování z HTTP zneužít. Prohlížeč přepne spojení na HTTPS ještě před odesláním požadavku. Má to ale přísný důsledek: když certifikát přestane být platný, prohlížeč nenabídne jednoduché obejití varování.
Proto HTTPS není jen zelený zámek ani ozdoba adresního řádku. Je to sled přesně navazujících kontrol: HTTP určí obsah komunikace, TLS ji zašifruje, certifikát pomůže ověřit protistranu a HSTS může vynutit, aby se spojení k nezabezpečenému HTTP už nevracelo.















