REKLAMA

Programista 6/2020 (93) – październik / listopad 2020 – Co zabezpiecza HTTPS, czyli o protokole TLS 1.3

Protokół HTTPS, a dokładniej HTTP over TLS, jest rozszerzeniem protokołu HTTP o funkcjonalność szyfrowania przesyłanych danych wraz z możliwością uwierzytelnienia klienta i serwera. Obie te funkcje możliwe są dzięki zastosowaniu protokołu TLS (Transport Layer Security). W tym artykule przedstawiony zostanie krok po kroku proces nawiązania szyfrowanego połączenia, który posłuży do wymiany szyfrowanych danych w HTTPS...

Zagadnienia poruszane w tym artykule:

  • TLS 1.3;
  • Krok 1. Nawiązywanie połączenia TCP i generowanie kluczy;
  • Krok 2. Client Hello;
  • Krok 3. Generowanie klucza prywatnego, publicznego i współdzielonego;
  • Obliczenie współdzielonego klucza;
  • Krok 4. Server Hello;
  • Krok 5. Obliczanie kluczy symetrycznych po stronie serwera;
  • Krok 6. Przełączenie na komunikację szyfrowaną;
  • Krok 7. Extensions, Certificate, Certificate Verify, Finished;
  • Krok 8. Obliczenie kluczy szyfrujących dane;
  • Krok 9. Obliczenie klucza współdzielonego i kluczy symetrycznych po stronie klienta;
  • Krok 10. Finished
  • Pakiety po procesie negocjacji połączenia.

Artukuł pochodzi z magazynu Programista nr 93 (6/2020). Jest to wydanie z przełomu października i listopada 2020 r.

Szczegółowy spis treści wydania nr 93: https://programistamag.pl/programista-6-2020-93/

Autorem artykułu jest Marek Maślanka. Inżynier systemów wbudowanych w firmie Semihalf. Na co dzień zajmuje się oprogramowaniem dla wysoko wydajnych serwerów opartych o architekturę ARM. Po skończonej pracy zajmuje się przeglądaniem kodu źródłowego kernela Linux w celu zrozumienia, jak pewne rzeczy działają pod maską.