0Pricing
Cryptology Academy · Lekcja

Uzgadnianie TLS 1.3 krok po kroku

Prześledzić ClientHello, ServerHello, wyprowadzanie kluczy i Finished

Uzgadnianie TLS 1.3 krok po kroku to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Dlaczego TLS?

TLS (Transport Layer Security) chroni dane przesyłane przez internet. Każde połączenie HTTPS korzysta z TLS. TLS 1.3, ustandaryzowany w RFC 8446 (2018), wyeliminował starsze algorytmy i zmniejszył liczbę rund wymiany podczas uzgadniania z 2 do 1.

ClientHello

Klient wysyła: wersję TLS (1.3), losowy 32-bajtowy nonce, listę obsługiwanych zestawów szyfrów (np. TLS_AES_256_GCM_SHA384) oraz rozszerzenia key share zawierające klucze publiczne ECDH dla obsługiwanych grup (X25519, P-256).

ServerHello

Serwer wybiera zestaw szyfrów i grupę key share, generuje własną efemeryczną parę kluczy ECDH oraz odpowiada swoim kluczem publicznym. W tym momencie obie strony mogą obliczyć wspólny sekret za pomocą ECDH.

Wyprowadzanie kluczy za pomocą HKDF

TLS 1.3 używa HKDF (HMAC-based Key Derivation Function) w ramach harmonogramu: early secret → handshake secret → master secret. Każdy etap wyprowadza osobne klucze dla ruchu uzgadniania klienta i serwera oraz dla danych aplikacji.

Server Finished

Serwer wysyła swój certyfikat, CertificateVerify (podpis transkryptu uzgadniania wykonany przy użyciu klucza prywatnego) oraz Finished (MAC transkryptu). Wszystkie te wiadomości są szyfrowane kluczem ruchu uzgadniania.

Client Finished

Klient weryfikuje łańcuch certyfikatów, sprawdza podpis CertificateVerify, weryfikuje MAC Finished, a następnie wysyła własną wiadomość Finished. Uzgadnianie jest teraz zakończone w jednej rundzie wymiany (1-RTT).

Wznowienie 0-RTT

TLS 1.3 obsługuje wznowienie 0-RTT (zero round-trip) za pomocą klucza wstępnie współdzielonego (PSK) z poprzedniej sesji. Klient może natychmiast wysłać dane aplikacji, ale dane 0-RTT nie mają ochrony przed atakami typu replay i powinny być idempotentne.

Zestawy szyfrów TLS 1.3

TLS 1.3 wymaga wyłącznie szyfrów AEAD: AES-128-GCM-SHA256, AES-256-GCM-SHA384, ChaCha20-Poly1305-SHA256. Wszystkie używają ECDHE lub DHE do wymiany kluczy. Słabe zestawy szyfrów (RC4, 3DES, CBC) zostały usunięte.

Warstwa rekordów

Po uzgodnieniu wszystkie dane są opakowywane w rekordy TLS: 5-bajtowy nagłówek (typ treści, wersja, długość) + zaszyfrowany przez AEAD ładunek. Numer sekwencyjny jest niejawny i jest używany jako część nonce AEAD, aby zapobiegać atakom typu replay.

Poufność przekazywana

Ponieważ TLS 1.3 zawsze używa efemerycznej wymiany kluczy (ECDHE), przejęcie długoterminowego klucza prywatnego serwera nie pozwala odszyfrować wcześniejszych sesji. Każda sesja ma unikatową efemeryczną parę kluczy, która jest niszczona po uzgodnieniu.

Widok w Wireshark

W Wireshark: ClientHello pokazuje random + key_share; ServerHello pokazuje wybraną grupę; kolejne rekordy są wyświetlane jako "Application Data" (zaszyfrowane). Ustawienie SSLKEYLOGFILE pozwala odszyfrować je za pomocą kluczy sesji.

Szybki test

Ile rund wymiany wymaga pełne uzgadnianie TLS 1.3?

Podsumowanie

TLS 1.3 łączy ECDHE, HKDF, szyfry AEAD i uwierzytelnianie oparte na certyfikatach w uzgadnianiu 1-RTT z obowiązkową poufnością przekazywaną. Następnie: warstwa rekordów TLS i zestawy szyfrów w szczegółach.

Często zadawane pytania

Czy lekcja „Uzgadnianie TLS 1.3 krok po kroku” jest bezpłatna?

Tak — pełny tekst „Uzgadnianie TLS 1.3 krok po kroku” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Uzgadnianie TLS 1.3 krok po kroku”?

Prześledzić ClientHello, ServerHello, wyprowadzanie kluczy i Finished Ćwiczysz Cryptology Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cryptology Academy?

Nie wymagamy żadnego doświadczenia. Cryptology Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Uzgadnianie TLS 1.3 krok po kroku”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cryptology Academy?

Tak. Każda lekcja Cryptology Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Uzgadnianie TLS 1.3 krok po kroku
  2. Warstwa rekordów TLS i zestawy szyfrów
  3. Weryfikacja certyfikatu w TLS
  4. Ataki na TLS: BEAST, POODLE i downgrade
← Powrót do Cryptology Academy