TLS Cipher Suites
Každé připojení TLS vyjednává šifrovací sadu – specifickou kombinaci algoritmů používaných pro výměnu klíčů, ověřování, šifrování a integritu. Názvy vypadají jako abecední polévka (TLS_AES_256_GCM_SHA384, ECDHE-ECDSA-CHACHA20-POLY1305), ale kódují bezpečnostní vlastnosti připojení. Jejich čtení objasňuje, co se vlastně děje, když váš prohlížeč zobrazuje visací zámek.
Celé tělo článku je uvedeno níže v angličtině.
A TLS je pojmenovaná kombinace kryptografických algoritmů používaných k ochraně připojení TLS. Během handshake TLS se klient a server dohodnou, kterou šifrovací sadu použít, na základě toho, co každá podporuje. Tato volba určuje výměnu klíčů, ověřování, šifrování a integritu pro zbytek připojení.
Čtení názvů šifrovací sady TLS 1.2
Formát je: TLS_KEXAUTH_WITH_CIPHER_MAC nebo konvence OpenSSL KEX-AUTH-CIPHER-MAC.
Příklad: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 používá výměnu klíčů
- XX —EXPLZPLZ eliptic-curve Diffie-Hellman pomíjivý (poskytuje dopředné utajení)
- RSA — server se ověřuje pomocí certifikátu RSA
- AES_256_GCM — režim hromadného šifrování-bithentic5 používá klíče A6 šifrování)
- SHA384 — handshake MAC a KDF používají SHA-384
TLS 1.3 zjednodušení
TLS 1.3 výrazně vyčištěné pojmenování šifrovací sady Šifrovací sady nyní určují pouze symetrickou šifru a hash. Výměna klíčů a autentizace se sjednávají samostatně. Názvy vypadají takto:
TLS_AES_256_GCM_SHA384— AES-256-GCM s SHA-384TLS_AES_128_52GCM_S —AES_128_52GCM_S s SHA-256TLS_CHACHA20_POLY1305_SHA256— ChaCha20-Poly1305 s SHA-256PLS_AESX_128-52CM v SHA28-52368 v SHA-128-52368 Režim CCM s SHA-256TLS_AES_128_CCM_8_SHA256— totéž s 8bajtovým MAC, většinou pro omezená zařízení
TLS 1.3 má celkem pouze pět standardních šifer. TLS 1.2 měl stovky možných kombinací.
Co znamená každý kus
Výměna klíčů:
- RSA — klíč RSA serveru ověřuje i vyměňuje klíč. Žádné dopředné tajemství. Odstraněno v TLS 1.3.
- DHE – efemérní Diffie-Hellman. Dopředné utajení ano. Používá se v TLS 1.2; integrované do handshake v TLS 1.3.
- ECDHE — efemérní eliptická křivka Diffie-Hellman. Dopředné utajení ano. Rychle. Moderní výchozí.
Authentication (TLS 1.2):
- RSA – server má certifikát RSA
- ECDSA – server má certifikát s elipsovitou křivkou – certifikát DPS84SAm eliptické křivky PLZXPLX85 historický)
- PSK — předsdílený klíč (vzácné; pro IoT a některé scénáře VPN)
Hromadná šifra:
- AES_128_GCM, AES-GCM nebo AES_2 s 256bitový klíč, ověřené šifrování
- CHACHA20_POLY1305 — streamová šifra ChaCha20 s Poly1305 MAC, moderní alternativa k AES
- AES_128_CBC, AES_256_CBC — AES-CBC, starší vzor se samostatnou fází out)
- 3DES_EDE_CBC — Triple DES, zastaralé
- RC4 — rozbitá proudová šifra, již není v žádné moderní sadě
Hash pro handshake:
- SHA256, SHA384 — rodina SHA-2, moderní standard
- SHA — SHA-1, zastaralá
- MD5 — dávno zastaraláZ11887PLXXRemenZ11Z12121XPLXXRemen sady v 2026
Mozilla konfigurační příručka TLS je průmyslovým standardem. Současný moderní profil navrhuje:
- TLS 1.3 pouze. Pokud to vaše klientská základna podporuje (v podstatě vše, co moderní dělá), žádná záložní verze TLS 1.2. TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256.
- Pokud musí být podporovány sady TLS 1.2: XPLZaChaChaESG-EC+s pouze.
Pro kompatibilitu starších klientů je vyžadováno více sad, včetně některých bez dopředného utajení. „Pokročilý“ profil Mozilly pokrývá ~95 % klientů při zachování přiměřeného zabezpečení.
Co bude odstraněno a proč
Moderní konfigurace TLS odstraní:
- Neefemérní výměna klíčů (prostý RSA, statický DH). Žádné dopředné utajení.
- CBC-mode šifry (v TLS 1.2 s opětovným vyjednáváním). Historie útoků (BEAST, Lucky 3ZDXXZPLXX 13). RC4. Kryptograficky nefunkční nebo příliš pomalé.
- MD5, SHA-1 pro handshake. Kolizní útoky.
- Anonymní sady. Žádné ověření serveru, zranitelné vůči MITM.
- Soupravy na úrovni EXPORT. Historický artefakt kontroly exportu kryptoměn; designově slabé.
Útoky FREAK a Logjam v roce 2015 zneužily prohlížeče, které stále vyjednávají o kompatibilitě sad na úrovni EXPORT. Mainstreamové servery je poté odstranily; některé weby s dlouhým koncem je měly i po letech.
Kontrola podpory šifrování serveru
Tools:
- SSL Labs SSL Server Test (ssllabs.com) – komplexní analýza TLS veřejného webu konfigurace.
- testssl.sh — skener příkazového řádku.
- nmap --script ssl-enum-ciphers — rychlý výčet.XPLZ43PLX
- XS s různým příznakem ss_client pro pero testování.
Pro svůj vlastní server je spouštějte pravidelně; konfigurace se postupem času mění s aktualizací balíčků.
Často kladené otázky
- Mám se jako uživatel obávat šifrovacích sad?
- Moderní prohlížeče zvládají vyjednávání. Vybraná šifrovací sada se zobrazí, když kliknete na visací zámek a zkontrolujete certifikát. Pro většinu uživatelů jde o zákulisí.
- Proč má TLS 1.3 tak málo šifrovacích sad?
- Stovky kombinací TLS 1.2 usnadnily zranitelné chybné konfigurace. TLS 1.3 záměrně ořezán na malou sadu dobře srozumitelných kombinací, všechny s dopředným utajením a ověřeným šifrováním.
- Jaký je rozdíl mezi AES-128-GCM a AES-256-GCM?
- Délka klíče. 128bitový AES je rychlý a na dobu neurčitou považován za bezpečný proti klasickým protivníkům; 256-bit poskytuje rezervu proti budoucím kryptografickým pokrokům a proti kvantově uvědomělým protivníkům. Oba jsou v pořádku pro současné použití.
- Kdy bych měl použít ChaCha20-Poly1305 vs AES-GCM?
- ChaCha20 je rychlejší na hardwaru bez akcelerace AES-NI (starší mobil, IoT). AES-GCM je rychlejší na moderním hardwaru s AES-NI. Prohlížeče vyjednají nejvhodnější; servery by měly nabízet obojí.
- Ovlivňuje šifrovací sada výkon?
- Skromně. Hardwarově akcelerovaný AES-GCM je na moderních CPU v podstatě zdarma. Režie handshake (výměna klíčů) dominuje nad hromadným šifrováním u krátkých spojení. U dlouhotrvajících vysokoobjemových spojení záleží na volbě hromadné šifry.