Uścisk dłoni

Kiedy zacząłeś czytać ten komiks, twoja przeglądarka wyświetliła blokadę na pasku adresu.

Jak to się stało?

Twoja przeglądarka komunikowała się z naszym serwerem, na którym znajduje się ten komiks, i obie nawiązały bezpieczne połączenie w celu przesyłania wiadomości.

Ale najpierw musieli uzgodnić, jak bezpiecznie się komunikować.

Jeśli negocjacje się nie powiodą, przeglądarka poinformuje cię o tym, wyświetlając błąd lub ostrzeżenie.
Jeśli porozumienie zostanie osiągnięte, przeglądarka z przyjemnością wyświetli kłódkę na pasku adresu.

Ten proces, negocjacje między przeglądarką a serwerem, nazywany jest uściskiem dłoni.

Dzieje się to bardzo szybko. Pokażemy ci, jak to działa.

Ptakzilla będzie twoją przeglądarką.
Piesktop będzie naszym serwerem.

Zabierzcie to chłopaki!

Gotowi? Oto jak wygląda 'uścisk dłoni' w zwolnionym tempie.

Lewe klaśnięcie
Prawe klaśnięcie
Potrząśnięcie w pionie
Potrząśnięcie w poziomym obrocie
Łaskotki

Gotowe!

Zróbmy to jeszcze raz, ale szybciej.

Lewe klaśnięcie - Prawe klaśnięcie - Potrząśnięcie - Potrząśnięcie obrotowe - Łaskotki.

Z-N-O-W-U !

Stop!

Podzielmy to. Krok po kroku.

Krok pierwszy: Lewe klaśnięcie. AKA Klient Hello.

Wysyłam do Compugter listę wersji SSL/TLS i algorytmów szyfrowania, z których mogę korzystać. Obecnie preferuję TLS 1.3, więc wysyłam także key_share.

Fantazyjnym słowem określającym listę algorytmów szyfrowania jest »zestaw szyfrów«.

Więc możesz brzmieć jak profesjonalista przy stole.

Protokoły SSL i TLS ewoluowały z czasem, wkrótce porozmawiamy o tym więcej.

A potem czekam na odpowiedź od Piesktopa.

Krok drugi: Prawe klaśnięcie. AKA Serwer Hello.

Wybieram TLS 1.3 oraz zestaw szyfrów (cipher suite) i wysyłam mój key_share. Od tego momentu TLS 1.3 szyfruje resztę uzgadniania (handshake).

Zaraz potem wysyłam mój certyfikat, który zawiera mój klucz publiczny, aby mogli potwierdzić moją tożsamość.

Krok trzeci: pionowy shaka. Znany też jako Key Share.

Sprawdzam certyfikat Piesktopa, aby upewnić się, że jest legalny.

Ponieważ obie strony wcześniej wysłały key share, obie mogą wyprowadzić ten sam sekret, zapewniając poufność.

Krok czwarty: pozioma rotacja shaka. Znane też jako Finished Messages.

Od ServerHello (krok drugi) dalsza część handshake jest szyfrowana.

Wymieniają wiadomości Finished, aby udowodnić, że wyprowadzili ten sam sekret — i po jednym round-tripie klucze sesji są gotowe.

Krok piąty: Łaskotki. AKA Wszystko jest teraz zabezpieczone.
Teraz wszystkie dane przesyłane tam i z powrotem pomiędzy Ptakzillą i Piesktopem są zabezpieczone do końca sesji.

Hasła, dane kart kredytowych, wszystko.

Proste, prawda?

Następnym razem, gdy połączysz się z witryną bezpiecznie przez HTTPS, podaj swojej przeglądarce ręke, ponieważ znasz ich tajny uścisk dłoni.

Dalej o tym, jak działa HTTPS...

HTTPS, SSL, TLS, ojej! Właśnie zjadłem zupę akronimów na lunch. Co one oznaczają? Czy to to samo?

Kontynuuj czytanie