Ważne ostrzeżenie: Google i Yahoo będą wymagać DMARC od kwietnia 2024 r.
PowerDMARC

Co to jest TLS Handshake?

Czym jest TLS Handshake

Czym jest TLS Handshake

Czas czytania: 4 min

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: 

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.

Wyjdź z wersji mobilnej