Wersja TLS i siła szyfrów
ważność średniazaplanowany
Czy serwer wciąż przyjmuje TLS 1.0 albo 1.1. Wymagane przy audytach i przy płatnościach kartą.
Zaplanowany: dziś ssl_check patrzy wyłącznie na datę wygaśnięcia certyfikatu, nie na wersję protokołu.
WIKI
artykuł z 16.09.2026 · źródeł 9Wersja TLS i siła szyfrów to parametr monitoringu stron internetowych, który sprawdza, które wersje protokołu TLS i które zestawy szyfrów przyjmuje serwer HTTPS, w szczególności czy wciąż zgadza się na TLS 1.0 albo 1.1. Wynikiem jest lista przyjętych wersji i szyfrów albo brak wyniku, gdy uzgadnianie się nie odbyło. RFC 8996 formalnie wycofuje TLS 1.0 i 1.1, bo nie obsługują obecnie zalecanych algorytmów kryptograficznych [1].
Jak działa
Wersję protokołu klient i serwer uzgadniają na początku połączenia. Domyślnie klient oferuje zakres od najniższej do najwyższej obsługiwanej wersji, a serwer wybiera najwyższą wspólną [7]. W TLS 1.3 klient podaje obsługiwane wersje w rozszerzeniu supported_versions [2]. Gdy tego rozszerzenia nie ma, a klient zgłasza TLS 1.0, serwer obsługujący TLS 1.0, 1.1 i 1.2 odpowie komunikatem ServerHello w wersji 1.0, a serwer obsługujący tylko nowsze wersje musi przerwać uzgadnianie alertem protocol_version [2].
Zwykłe połączenie ujawnia więc jedną wersję, a nie listę obsługiwanych. Dlatego pomiar z zewnątrz wykonuje osobne uzgadnianie dla każdej wersji: w OpenSSL opcje -tls1, -tls1_1, -tls1_2 i -tls1_3 sprawiają, że oferowana i przyjmowana jest tylko wskazana wersja [7]. Szyfry sprawdza się podobnie. Skrypt Nmap ssl-enum-ciphers wielokrotnie nawiązuje połączenie, za każdym razem z innym szyfrem, i zapisuje, czy serwer go przyjął; każdy przyjęty zestaw dostaje ocenę od A do F według siły wymiany kluczy i szyfru, bez uwzględniania wersji protokołu [8].
Pomiar ma ograniczenie po stronie klienta. Dostępność protokołów w OpenSSL zależy od sposobu kompilacji biblioteki [7], a poziomy bezpieczeństwa wykluczają stare wersje już u klienta: poziom 3 nie dopuszcza wersji starszych niż TLS 1.1, poziom 4 starszych niż TLS 1.2 [9]. Klient, który nie zaoferuje TLS 1.0, nie ustali, czy serwer by go przyjął.
Standardy i specyfikacje
- RFC 8996 (marzec 2021 r.) stanowi, że TLS 1.0 i 1.1 nie mogą być używane ani negocjowane. Strona, która otrzyma komunikat Hello z wersją
{03,01}lub{03,02}, musi odpowiedzieć alertemprotocol_versioni zamknąć połączenie [1]. - RFC 8446 (sierpień 2018 r.) definiuje TLS 1.3: usuwa zestawy ze statyczną wymianą kluczy RSA i Diffie-Hellmana, więc każda wymiana kluczy oparta na kluczu publicznym zapewnia poufność w przód (ang. forward secrecy) [2]. Serwer TLS 1.3, który wynegocjuje TLS 1.1 lub starszą wersję, musi oznaczyć ostatnie 8 bajtów pola Random, by klient wykrył obniżenie wersji [2].
- Mozilla w wytycznych w wersji 6.0 podaje dwa profile. Modern przyjmuje wyłącznie TLS 1.3, dla klientów od Firefoksa 63 i Chrome 70. Intermediate przyjmuje TLS 1.2 i 1.3 z szyframi ECDHE i AES-GCM lub ChaCha20-Poly1305, dla klientów od Firefoksa 31.3.0, Chrome 49 i IE 11 na Windows 10 [4].
- PCI SSC wyznaczyła 30 czerwca 2018 r. jako termin wyłączenia SSL i wczesnego TLS przy spełnianiu PCI DSS i przejścia na TLS 1.1 lub nowszy, z silnym zaleceniem TLS 1.2. Wyjątek objął terminale płatnicze niepodatne na znane ataki [3].
- Przeglądarki. Mozilla ogłosiła w 2018 r. wyłączenie TLS 1.0 i 1.1 w Firefoksie w marcu 2020 r. i podała, że Chrome, Edge i Safari planują to samo [5]. Chrome oznaczył TLS 1.0 i 1.1 jako przestarzałe w wersji 72, usunięcie przesunął do wersji 84, a od wersji 98 błąd połączenia nie daje się ominąć [6].
Zagrożenia i skutki
Słabości starych wersji. Integralność uzgadniania w TLS 1.0 i 1.1 zależy od skrótu SHA-1, a przed TLS 1.2 brakowało szyfrów AEAD [1]. PCI SSC przywołuje ataki POODLE i BEAST oraz stanowisko NIST, że SSL i wczesnego TLS nie da się skutecznie załatać [3].
Więcej wersji, więcej błędów. Obsługa czterech wersji protokołu zwiększa prawdopodobieństwo błędnej konfiguracji [1].
Odcięcie użytkowników. Serwer, który nie obsługuje TLS 1.2 lub nowszego, w Chrome od wersji 84 wywołuje pełnoekranowe ostrzeżenie [6]. Profil Modern z kolei odcina klientów starszych niż wymienione w wytycznych [4].
Słabe szyfry. Serwer może przyjmować obok silnych także słabe zestawy; ssl-enum-ciphers pokazuje siłę najsłabszego oferowanego zestawu w wierszu least strength [8].
Przykłady
| Przyjęte wersje i szyfry | Ocena |
|---|---|
| tylko TLS 1.3 | profil Modern [4] |
| TLS 1.2 i 1.3, ECDHE z AES-GCM lub ChaCha20 | profil Intermediate [4] |
| TLS 1.0, 1.1, 1.2 i 1.3 | niezgodne z RFC 8996 [1] |
| najwyżej TLS 1.1 | błąd bez możliwości obejścia w Chrome od wersji 98 [6] |
| przyjęty zestaw z oceną C | najsłabsze ogniwo konfiguracji [8] |
| brak połączenia TLS 1.0 z klienta na poziomie 3 | brak rozstrzygnięcia, klient sam wyklucza TLS 1.0 [9] |
- [1] RFC 8996 — Deprecating TLS 1.0 and TLS 1.1 · IETF
- [2] RFC 8446 — The Transport Layer Security (TLS) Protocol Version 1.3 · IETF
- [3] Are You Ready for 30 June 2018? Saying Goodbye to SSL/early TLS · PCI Security Standards Council
- [4] Mozilla SSL Configuration Guidelines, wersja 6.0 (JSON) · Mozilla
- [5] Removing Old Versions of TLS · Mozilla Security Blog
- [6] Chrome Platform Status — TLS 1.0 and TLS 1.1 (API) · Google Chrome
- [7] openssl(1) — TLS Version Options · OpenSSL Project
- [8] ssl-enum-ciphers — NSE Script · Nmap Project
- [9] SSL_CTX_set_security_level(3) · OpenSSL Project
STATS
wyniki z systemu · tylko liczby zbiorczeParametr zaplanowany: sondy jeszcze nie ma w CREATO_PING, więc system nie ma czego liczyć. Liczby pojawią się po pierwszym przebiegu z tą sondą.
CARD
karta do opracowaniaParametr zaplanowany: nie ma jeszcze sondy, helpera ani workflowu, więc nie ma drogi przez system do narysowania.
| Obszar i ważność | Bezpieczeństwo · średnia (B33) |
|---|---|
| Workflow i częstotliwość | brak — parametr zaplanowany |
| Sonda i helper | brak |
| Testy | do opracowania |
| Typ wyniku | do opracowania |
| Jednostka | do opracowania |
| Próg i reguła | do opracowania |
| Gdzie leżą pokrętła | do opracowania |
| Retencja odczytów | do opracowania |
| Karta przepisana z | karta tego parametru nie została jeszcze przepisana z kodu CREATO_PING |
Parametr nie otwiera osobnego ustalenia — sondy jeszcze nie ma.
LOOP
bez pętliTrafności jeszcze nie liczymy: zamknięcie subtaska nie niesie dziś werdyktu (prawdziwy / fałszywy / nie dało się sprawdzić). Cztery liczby pojawią się, gdy każde zamknięcie dostanie werdykt — to warunek startu pętli 1.
Ten parametr nie przeszedł jeszcze żadnej pętli. Kolejność po pierwszych pięciu grupach ustali miara trafności.