뚠뚠멍의 생각들

Przyjrzyjmy się protokołowi TLS

  • Język oryginalny: Koreański
  • Kraj: Wszystkie krajecountry-flag
  • TO

Utworzono: 2024-10-27

Utworzono: 2024-10-27 21:31

Od około 2020 roku, wraz z wycofaniem wsparcia dla TLS 1.1,

powstała konieczność sprawdzenia starszych serwerów.


W przypadku utrzymania TLS 1.1, komunikacja między usługami w chmurze, takimi jak AWS i Azure, może powodować błędy,

podobnie jak komunikacja z zewnętrznymi API, np. podczas płatności, a także mogą pojawić się problemy w zależności od wersji przeglądarki.


Tomcat

- Wydaje się, że wersje 6.x i niższe nie obsługują TLS 1.2. Należy zmienić na TLS 1.2 za pomocą JRE Java 7 lub nowszego.

Nginx

- Wydaje się, że wersja 1.1.13 obsługuje TLS 1.2.


Zasada działania TLS

Client Hello: Klient wysyła żądanie połączenia do serwera (zawiera obsługiwane wersje TLS i zestaw szyfrów).

Server Hello: Serwer wysyła wybraną wersję TLS, zestaw szyfrów i certyfikat SSL, aby potwierdzić swoją tożsamość.

Wymiana kluczy i generowanie klucza sesji: Klient i serwer generują wspólny klucz sesji za pomocą algorytmu wymiany kluczy.

Wiadomość zakończenia: Klient i serwer wysyłają zaszyfrowane wiadomości zakończenia, używając swoich kluczy.

Transfer danych: Dane są szyfrowane za pomocą klucza sesji i wymieniane między klientem a serwerem.

Zakończenie: Po zakończeniu transferu danych, klient i serwer wymieniają wiadomości zakończenia sesji i usuwają informacje o kluczu sesji.


Czym różnią się TLS 1.2 i 1.1?

TLS jest protokołem bezpieczeństwa na poziomie transmisji, stanowiącym podstawę HTTPS. Zapewnia uwierzytelnianie, integralność i szyfrowanie.

1.2 jest ponoć lepszy od 1.1 pod względem bezpieczeństwa i wydajności.

- 1.1 używa algorytmów skrótu md5 i sha-1.

- 1.1 może być podatny na ataki BEAST, Man-in-the-middle i Cipher Suite.

* BEAST: Atak, w którym osoba atakująca przechwytuje połączenie HTTPS i wstrzykuje złośliwe treści.

* Man-in-the-middle: Atak, w którym osoba atakująca przechwytuje komunikację i kradnie dane.

- 1.2 używa algorytmu sha-256 (silniejszy algorytm bezpieczeństwa).

- 1.2 obsługuje szyfry GCM (Galois/Counter Mode), które jednocześnie szyfrują i uwierzytelniają dane, co zwiększa szybkość.


Zestaw szyfrów (Cipher Suite)

Wszystkie niezbędne mechanizmy szyfrowania, aby klient i serwer mogły wymieniać dane, składają się z czterech części.

1. Algorytm wymiany kluczy

- Metoda bezpiecznej wymiany tajnego klucza, np. RSA, Diffie-Hellman

2. Algorytm uwierzytelniania

- Weryfikacja zaufania serwera za pomocą certyfikatu, np. klucz publiczny RSA

3. Algorytm szyfrowania symetrycznego

- Metoda szyfrowania danych podczas sesji, klient i serwer deszyfrują za pomocą tego samego klucza sesji, np. AES

4. Kod uwierzytelniania wiadomości

- Weryfikacja integralności danych, np. HMAC-SHA256

Zestaw szyfrów jest zapisywany jako połączenie powyższych czterech elementów.


Komentarze0