TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384ECDHEkey exchangeRSAauthAES-256-GCMencryptionSHA384hasheach piece is a separate algorithm choiceTLS 1.3 simplified by separating key exchange from cipher

Zestawy szyfrów TLS

11 min. przeczytajKryptografia

Każde połączenie TLS negocjuje zestaw szyfrów — specyficzną kombinację algorytmów używanych do wymiany kluczy, uwierzytelniania, szyfrowania i integralności. Nazwy wyglądają jak zupa alfabetyczna (TLS_AES_256_GCM_SHA384, ECDHE-ECDSA-CHACHA20-POLY1305), ale kodują właściwości bezpieczeństwa połączenia. Ich przeczytanie wyjaśnia, co właściwie dzieje się, gdy w przeglądarce wyświetla się kłódka.

Poniżej znajduje się pełna treść artykułu w języku angielskim.

A TLS zestaw szyfrów to nazwana kombinacja algorytmów kryptograficznych używanych do ochrony połączenia TLS. Podczas uzgadniania TLS klient i serwer negocjują, którego zestawu szyfrów użyć w zależności od tego, co obsługuje każdy z nich. Wybór określa wymianę kluczy, uwierzytelnianie, szyfrowanie i integralność pozostałej części połączenia.

Odczytywanie nazw zestawu szyfrów TLS 1.2

Format to: TLS_KEXAUTH_WITH_CIPHER_MAC lub w konwencji OpenSSL KEX-AUTH-CIPHER-MAC.

Przykład: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 rozkłada się jako:

  • ECDHE — wymiana kluczy wykorzystuje efemeryczną krzywą eliptyczną Diffiego-Hellmana (zapewnia tajemnicę przekazywania)
  • RSA — serwer uwierzytelnia się przy użyciu certyfikatu RSA
  • AES_256_GCM — szyfrowanie zbiorcze wykorzystuje AES z 256-bitowymi kluczami w trybie GCM (szyfrowanie uwierzytelnione)
  • SHA384 — uzgadnianie MAC i KDF korzystają z uproszczenia SHA-384

TLS 1.3

TLS 1.3 znacząco uprościły nazewnictwo zestawu szyfrów. Zestawy szyfrów określają teraz tylko szyfr symetryczny i skrót. Wymiana kluczy i uwierzytelnianie są negocjowane osobno. Nazwy wyglądają następująco:

  • TLS_AES_256_GCM_SHA384 — AES-256-GCM z SHA-384
  • TLS_AES_128_GCM_SHA256 — AES-128-GCM z SHA-256
  • TLS_CHACHA20_POLY1305_SHA256 — ChaCha20-Poly1305 z SHA-256
  • TLS_AES_128_CCM_SHA256 — AES-128 w trybie CCM z SHA-256
  • TLS_AES_128_CCM_8_SHA256 — to samo z 8-bajtowym MAC, głównie dla urządzeń z ograniczeniami

TLS 1.3 ma łącznie tylko pięć standardowych zestawów szyfrów. TLS 1.2 ma setki możliwych kombinacji.

Co oznacza każdy element

Wymiana klucza:

  • RSA — klucz RSA serwera zarówno uwierzytelnia, jak i wymienia klucz. Brak tajemnicy przekazania. Usunięto w TLS 1.3.
  • DHE — efemeryczny Diffie-Hellman. Tajemnica przekazywania tak. Używany w TLS 1.2; zintegrowane z uściskiem dłoni w TLS 1.3.
  • ECDHE — efemeryczna krzywa eliptyczna Diffie-Hellmana. Tajemnica przekazywania tak. Szybko. Nowoczesne ustawienie domyślne.

Uwierzytelnianie (TLS 1.2):

  • RSA — serwer ma certyfikat RSA
  • ECDSA — serwer ma certyfikat krzywej eliptycznej
  • DSS — certyfikat DSA (głównie historyczne)
  • PSK — klucz wstępny (rzadko; dla IoT i niektórych scenariuszy VPN)

Szyfr zbiorczy:

  • AES_128_GCM, AES_256_GCM — AES-GCM z 128 lub 256-bitowy klucz, uwierzytelnione szyfrowanie
  • CHACHA20_POLY1305 — szyfr strumieniowy ChaCha20 z Poly1305 MAC, nowoczesna alternatywa dla AES
  • AES_128_CBC, AES_256_CBC — AES-CBC z oddzielnym HMAC, starszy wzorzec (powoli wprowadzany stopniowo) out)
  • 3DES_EDE_CBC — Triple DES, przestarzałe
  • RC4 — zepsuty szyfr strumieniowy, nie występuje już w żadnym nowoczesnym pakiecie

Hash for uścisk dłoni:

  • SHA256, SHA384 — rodzina SHA-2, nowoczesny standard
  • SHA — SHA-1, przestarzałe
  • MD5 — długi przestarzałe

Polecane pakiety w 2026

Przewodnik konfiguracji TLS Mozilli jest standardem branżowym. Obecny nowoczesny profil sugeruje:

  • TLS tylko 1.3. Jeśli Twoja baza klientów to obsługuje (w zasadzie wszystko, co robi nowoczesny), nie ma zastępczego TLS 1.2.
  • Zestawy szyfrów: TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256.
  • Jeśli musi być obsługiwany protokół TLS 1.2: ECDHE+AES-GCM i ECDHE+ChaCha20 tylko pakiety.

W celu zapewnienia zgodności ze starszymi klientami wymagane jest więcej pakietów, w tym niektóre bez tajemnicy przekazywania. „Pośredni” profil Mozilli obejmuje ~95% klientów przy zachowaniu rozsądnego poziomu bezpieczeństwa.

Co i dlaczego zostaje usunięte

Nowoczesna konfiguracja TLS usuwa:

  • Nieefemeryczna wymiana kluczy (zwykły RSA, statyczny DH). Brak tajemnicy przekazywania.
  • Szyfry w trybie CBC (w TLS 1.2 z renegocjacją). Historia ataków (BEAST, Lucky 13).
  • 3DES, RC4. Uszkodzenie kryptograficzne lub zdecydowanie za wolne.
  • MD5, SHA-1 do uzgadniania. Ataki kolizyjne.
  • Anonimowe pakiety. Brak uwierzytelniania serwera, podatny na ataki Zestawy klasy MITM.
  • EXPORT. Historyczny artefakt kontroli eksportu kryptowalut; słaby z założenia.

Ataki FREAK i Logjam w 2015 r. wykorzystywały przeglądarki, które nadal negocjowały pakiety klasy EXPORT w celu zapewnienia kompatybilności. Serwery głównego nurtu usunęły je potem; w niektórych witrynach typu long-tail nadal je znajdowały po latach.

Sprawdzanie obsługi szyfrów serwera

Tols:

  • SSL Labs SSL Server Test (ssllabs.com) — kompleksowa analiza TLS witryny publicznej konfiguracja.
  • testssl.sh — skaner wiersza poleceń.
  • nmap --script ssl-enum-ciphers — szybkie wyliczenie.
  • OpenSSL s_client z różnymi flagi do ręcznego testowania.

W przypadku własnego serwera uruchamiaj je okresowo; konfiguracje zmieniają się wraz z upływem czasu w miarę aktualizacji pakietów.

Często zadawane pytania

Czy jako użytkownik powinienem martwić się zestawami szyfrów?
Nowoczesne przeglądarki radzą sobie z negocjacjami. Wybrany zestaw szyfrów zostanie wyświetlony po kliknięciu kłódki i sprawdzeniu certyfikatu. Dla większości użytkowników jest to zakulisowe.
Dlaczego TLS 1.3 ma tak mało zestawów szyfrów?
Setki kombinacji protokołu TLS 1.2 ułatwiły podatne na błędy konfiguracje. TLS 1.3 celowo przycięto do niewielkiego zestawu dobrze zrozumiałych kombinacji, wszystkie z zachowaniem tajemnicy przekazywania i uwierzytelnionego szyfrowania.
Jaka jest różnica między AES-128-GCM i AES-256-GCM?
Długość klucza. 128-bitowy AES jest szybki i uważany za bezpieczny w nieskończoność przed klasycznymi przeciwnikami; 256-bitowy zapewnia margines na wypadek przyszłego postępu kryptograficznego i przeciwników świadomych kwantowo. Obydwa nadają się do bieżącego użytku.
Kiedy powinienem używać ChaCha20-Poly1305 vs AES-GCM?
ChaCha20 jest szybszy na sprzęcie bez akceleracji AES-NI (starsze urządzenia mobilne, IoT). AES-GCM jest szybszy na nowoczesnym sprzęcie dzięki AES-NI. Przeglądarki negocjują najlepsze dopasowanie; serwery powinny oferować jedno i drugie.
Czy pakiet szyfrów wpływa na wydajność?
Nieokazale. Przyspieszany sprzętowo AES-GCM jest zasadniczo darmowy na nowoczesnych procesorach. Narzut związany z uzgadnianiem (wymiana kluczy) dominuje nad szyfrowaniem zbiorczym w przypadku krótkich połączeń. W przypadku długotrwałych połączeń o dużej objętości wybór szyfru masowego ma niewielkie znaczenie.
Wyjaśnienie mechanizmów szyfrowania TLS: czytanie menu kryptograficznego