HTTPS (HyperText Transfer Protocol Secure) zapewnia bezpieczną komunikację w sieci komputerowej, zazwyczaj w Internecie. Wykorzystuje szyfrowanie w celu ochrony integralności i prywatności danych. Oto kroki, jakie należy wykonać:
HTTPS działa poprzez ustanowienie bezpiecznego połączenia pomiędzy klientem (np. przeglądarką internetową) a serwerem (np. stroną internetową). Proces obejmuje następujące kroki:
- Client Hello: Klient inicjuje połączenie, wysyłając do serwera wiadomość „Client Hello”, określającą obsługiwane algorytmy kryptograficzne i inne parametry.
- Server Hello: Serwer odpowiada komunikatem „Server Hello”, potwierdzając wybrany algorytm szyfrowania i dostarczając swój certyfikat cyfrowy.
- Authentication: Klient weryfikuje certyfikat serwera pod kątem autentyczności. Wiąże się to ze sprawdzeniem, czy certyfikat został wystawiony przez zaufany urząd certyfikacji (CA) i czy domena serwera jest zgodna z informacjami zawartymi w certyfikacie.
- Klucze sesji: Po uwierzytelnieniu klient i serwer uzgadniają klucze sesji przy użyciu szyfrowania asymetrycznego (np. RSA) w celu bezpiecznej wymiany danych.
- Bezpieczne połączenie: Po ustanowieniu kluczy sesji cała dalsza komunikacja między klientem a serwerem, w tym żądania i odpowiedzi HTTP, jest szyfrowana przy użyciu szyfrowania symetrycznego (np. AES).
- Transfer danych: Klient wysyła zaszyfrowane żądanie HTTP do serwera. Serwer odszyfrowuje żądanie przy użyciu współdzielonych kluczy sesji, przetwarza je i wysyła zaszyfrowaną odpowiedź HTTP z powrotem do klienta.
- Zamknięcie sesji: Po zakończeniu komunikacji każda ze stron może zainicjować zamknięcie bezpiecznej sesji, zapewniając bezpieczeństwo danych przez cały proces.
HTTPS składa się z kilku etapów zapewniających bezpieczną transmisję danych:
- Uścisk dłoni: ustanawia bezpieczne połączenie pomiędzy klientem a serwerem.
- Szyfrowanie: Chroni integralność i poufność danych za pomocą algorytmów szyfrowania.
- Uwierzytelnianie: weryfikuje tożsamość komunikujących się stron za pomocą certyfikatów cyfrowych i urzędów certyfikacji (CA).
- Wymiana danych: Ułatwia bezpieczną wymianę danych HTTP pomiędzy klientem a serwerem.
SSL (Secure Sockets Layer) jest poprzednikiem TLS (Transport Layer Security) i odnosi się do protokołu kryptograficznego zabezpieczającego komunikację w sieci. Kroki związane z protokołem SSL obejmują:
- Uścisk dłoni: inicjuje komunikację pomiędzy klientem a serwerem.
- Uwierzytelnianie: Weryfikuje tożsamość serwera za pomocą certyfikatów cyfrowych.
- Wymiana kluczy sesyjnych: Generuje klucze sesyjne do szyfrowania danych.
- Transfer danych: Ułatwia bezpieczną wymianę danych pomiędzy klientem a serwerem.
- Session Closure: Kończy połączenie SSL po zakończeniu wymiany danych.
HTTP (HyperText Transfer Protocol) i HTTPS różnią się przede wszystkim mechanizmami bezpieczeństwa:
- HTTP: Przesyła dane w postaci zwykłego tekstu, czyniąc je podatnymi na przechwycenie i modyfikację.
- HTTPS: Szyfruje dane przy użyciu protokołów SSL/TLS, zapewniając bezpieczną i prywatną komunikację pomiędzy klientem a serwerem.