Szyfrowanie TLS i protokół uwierzytelniający, który chroni komunikację internetową. TLS handshake to proces, który zabezpiecza połączenie z serwerem przy użyciu kryptografii asymetrycznej. Strony internetowe korzystające z certyfikatu TLS mogą wykorzystać protokół HTTPS, aby bezpiecznie połączyć się z serwerem. Ten blog ma szczegółowo wyjaśnione TLS handshake, w tym kroki TLS handshake, metodologię pracy i więcej.
Co to jest TLS Handshake?
Podobnie jak uścisk dłoni, który wykonujemy w prawdziwym życiu, uścisk dłoni TLS jest wprowadzeniem. Wskazuje on na bezpieczną komunikację między dwoma serwerami, gdzie wymieniane są komunikaty w celu wzajemnego potwierdzenia, weryfikacji, ustalenia kodów kryptograficznych i uzgodnienia kluczy sesji.
Proces TLS handshake rozpoczyna się od początkowego "Hello" i trwa do etapu, w którym klient i serwer mogą rozmawiać przez zabezpieczone połączenie.
Jak działa TLS Handshake?
Teraz, gdy już wiesz, co to jest TLS handshake, zobaczmy, jak to działa.
Tak więc, proces TLS handshake działa tylko wtedy, gdy certyfikat TLS jest skonfigurowany na serwerze dla strony internetowej lub aplikacji. Ten certyfikat zawiera ważne szczegóły dotyczące właściciela domeny i klucza publicznego serwera w celu potwierdzenia tożsamości serwera. Ten sekwencyjny proces ustanowił połączenie TLS. Tak więc, zawsze gdy użytkownik żąda dostępu do strony internetowej obsługującej TLS, rozpoczyna się handshake TLS pomiędzy jego urządzeniem a przeglądarką internetową, która wymienia następujący zestaw szczegółów:
- Używana wersja TLS (TLS 1.0, 1.2, 1.3 itd.).
- Ocenić zestawy szyfrujące, które mają być użyte.
- Weryfikacja tożsamości serwera za pomocą certyfikatu TLS.
- Po zakończeniu procesu wstępnego handshake'u generowany jest klucz sesji, który służy do szyfrowania wiadomości pomiędzy klientem a serwerem.
W trakcie rozmowy TLS ustalany jest zestaw szyfrów dla całej komunikacji. Pakiet szyfrów jest opisywany jako zestaw algorytmów wykorzystywanych do ustanowienia bezpiecznego połączenia komunikacyjnego. Ważną rolą TLS handshake jest określenie, który zestaw szyfrów zostanie użyty. TLS ustala pasujące klucze sesji przez niezaszyfrowany kanał przy użyciu kryptografii klucza publicznego.
Handshake weryfikuje również autentyczność nadawcy poprzez sprawdzenie serwera za pomocą kluczy publicznych. Klucze publiczne są jednokierunkowymi kluczami szyfrującymi, co oznacza, że nikt poza oryginalnym nadawcą nie może odszyfrować zaszyfrowanych danych. Oryginalny nadawca używa swojego klucza prywatnego do odszyfrowania danych.
TLS handshake failed oznacza, że połączenie zostaje przerwane, a klient widzi komunikat błędu "503 Service Unavailable".
TLS vs SSL Handshakes
SSL oznacza Secure Sockets Layer, oryginalny protokół bezpieczeństwa wyprodukowany dla HTTP. SSL został zastąpiony przez TLS, a uściski SSL są obecnie określane jako uściski TSL.
Kiedy następuje TLS Handshake?
Przeglądarka odpytuje serwer źródłowy strony internetowej, gdy użytkownik żąda nawigacji po stronie internetowej za pośrednictwem bezpiecznego połączenia. Występuje również, gdy każdy inny kanał komunikacyjny używa HTTPS. Obejmuje to wywołania API i DNS przez zabezpieczoną sieć.
Kroki TLS Handshake
Kroki TLS handshake składają się z serii datagramów, czyli wiadomości, przekazywanych między klientem a serwerem. Dokładne kroki będą się różnić w zależności od rodzaju użytego algorytmu wymiany kluczy oraz pakietów szyfrów obsługiwanych przez obie strony. Oto czego można się spodziewać.
Krok 1: Wiadomość "Witaj kliencie
Serwer klienta rozpoczyna proces TLS handshake wysyłając wiadomość "hello" do głównego serwera strony. Wiadomość składa się z ważnych szczegółów, takich jak wersja TLS i obsługiwane zestawy szyfrów, a także kilka losowych bajtów zwanych "klientem losowym".
Krok 2: Wiadomość "Server Hello
Serwer odpowiada na wiadomość hello klienta wysyłając odpowiedź posiadającą certyfikat SSL, wybrany przez serwer zestaw szyfrów oraz wygenerowany przez serwer ciąg "server random".
Krok 3: Uwierzytelnianie
W tym kroku TLS handshake, klient potwierdza certyfikat SSL serwera z organem wydającym. Odbywa się to w celu sprawdzenia, czy serwer jest autentyczny i czy klient komunikuje się z właścicielem domeny.
Krok 4: Sekret Premistrza
Premaster secret, czyli kolejny losowy ciąg bajtów, jest wysyłany przez klienta. Jest on szyfrowany kluczem publicznym i może być odszyfrowany za pomocą klucza prywatnego przez serwer.
Krok 5: Użycie klucza prywatnego
Premaster secret zostaje odszyfrowany przez serwer.
Krok 6: Tworzenie kluczy sesji
Klient i serwitor tworzą klucze sesyjne z randomów klienta, randomów serwera i premaster secret. Wynik wszystkich trzech powinien być taki sam.
Krok 7: Klient jest gotowy
Klient wysyła zaszyfrowaną kluczem sesyjnym wiadomość "finished".
Krok 8: Serwer jest gotowy
Serwer wysyła zaszyfrowaną kluczem sesyjnym wiadomość "finished".
Krok 9: Bezpieczne szyfrowanie symetryczne osiągnięte
Jest to ostatni krok TLS handshake. Po jego zakończeniu komunikacja jest kontynuowana z wykorzystaniem kluczy sesji.
TLS 1.3 Handshake- Jaka jest różnica?
TLS 1.3 nie obsługuje RSA; stąd kroki są nieco inne.
Klient Witam
Klient wysyła wiadomość "Client Hello'', która zawiera wersję protokołu, losowego klienta oraz listę pakietów szyfrów. Liczba pakietów szyfrów maleje, ponieważ w wersji TLS 1.3 nie ma wsparcia dla pakietów szyfrów.
Wiadomość ta zawiera również parametry służące do oceny premaster secret. Dzięki temu zmniejsza się długość handshake'a, co jest główną różnicą pomiędzy handshake'ami TLS 1.3 a handshake'ami TLS 1.0, 1.1 i 1.2.
Serwer tworzy Master Secret
W tym kroku serwer otrzymuje losowy klienta oraz jego parametry i zestawy szyfrów. Ponieważ wytwarza własną losową serwera, generuje sekret główny.
Serwer Witaj i zakończony
Server hello zawiera certyfikat serwera, podpis kryptograficzny, random serwera i wybrany zestaw szyfrów. Wysyła również wiadomość "finished", ponieważ posiada sekret główny.
Kroki końcowe i wykończenie klienta
Klient weryfikuje podpis i certyfikat, generuje master secret i wysyła wiadomość "Finished".
Bezpieczne szyfrowanie symetryczne osiągnięte
Po zakończeniu handshake'u TLS, komunikacja jest kontynuowana przy użyciu kluczy sesji.
Jak czytać raporty TLS?
Raporty TLS mogą dostarczyć cennych informacji na temat błędnych uzgodnień TLS podczas uwierzytelniania MTA-STS, wraz z problemami z dostarczalnością. PowerDMARC's TLS-RPT oferuje raporty w formacie czytelnym dla człowieka, który jest analizowany z oryginalnych plików JSON.
Aby czytać raporty TLS już od dziś, rozpocznij z nami bezpłatny okres próbny!
Dlaczego aplikacje biznesowe i internetowe powinny używać TLS Handshake?
TLS handshake chroni aplikacje internetowe przed wykroczeniami i innymi cyberatakami, ponieważ HTTPS jest zabezpieczoną wersją rozszerzenia HTTP. Strony internetowe posiadające certyfikat TLS mogą wykorzystywać protokół HTTPS do bezpiecznego łączenia się z użytkownikami. Jego celem jest ochrona wrażliwych szczegółów, takich jak dane osobowe, dane finansowe, dane logowania itp.
- Jak zautomatyzowane narzędzia Pentest rewolucjonizują pocztę e-mail i cyberbezpieczeństwo - 3 lutego 2025 r.
- Studium przypadku MSP: Hubelia upraszcza zarządzanie bezpieczeństwem domeny klienta dzięki PowerDMARC - 31 stycznia 2025 r.
- 6 najlepszych rozwiązań DMARC dla MSP w 2025 roku - 30 stycznia 2025 r.