Temat
- #TLS
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.
- 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.
- Wydaje się, że wersja 1.1.13 obsługuje TLS 1.2.
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.
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ść.
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