Handshake

Když jste začali číst tento komix, váš prohlížeč nejspíše zobrazil zelený zámeček v adresním řádku.

Proč se to stalo?

Váš prohlížeč komunikuje s naším serverem, na kterém je tento komix uložen a oba si sestavili zabezpečené spojení pro jeho přenos.

Ale nejprve se museli shodnout na tom, jak bezpečně komunikovat.

Pokud dohoda nebyla úspěšná, váš prohlížeč zobrazí chybu, nebo varování.
Pokud dohoda byla úspěšná, prohlížeč vám milerád zobrazí zelený zámeček.

Tento proces, kdy se spolu prohlížeč a server dohadují, se nazývá handshake.

Děje se to velmi rychle. Pojďme se podívat, jak to funguje.

Browserbird bude jako váš prohlížeč.
Compugter pak bude náš server.

Jdeme na to hoši!

Připraveni? Takhle vypadá 'handshake' ve zpomaleném záběru.

Levá packa
Pravá packa
Zatřesení
Prokroužení
Uplavala...

Hotovo!

A teď znova a rychleji!

Levá packa - pravá packa - zatřesení - prokroužení - uplavala.

Z-N-O-V-A !

Přestaňte.

Začneme od začátku. Krok po kroku.

Krok jedna: Levá packa. AKA Client Hello.

Posílám Compugteru seznam verzí SSL/TLS a šifrovacích algoritmů, se kterými mohu pracovat. Dnes dávám přednost TLS 1.3, takže posílám také key_share.

Hezké sousloví pro seznam šifrovacích algoritmů se nazývá 'Šifrovací sada'

Teď můžete u oběda znít jako profík.

Protokoly SSL a TLS se časem vyvíjely, o tom ale až za chvíli.

Teď jen počkám na odpověď od Compugtera.

Krok dva: Pravá packa. AKA Server Hello.

Volím TLS 1.3 a šifrovací sadu (cipher suite) a zároveň posílám svůj key_share. Odtud TLS 1.3 šifruje zbytek handshake.

Hned poté posílám svůj certifikát, který obsahuje můj veřejný klíč, aby mohli ověřit moji identitu.

Krok tři: vertikální shaka. Také známé jako Key Share.

Zkontroluji Compugterův certifikát abych se ujistil, že je legitimní.

Protože jsme oba dříve poslali key share, můžeme odvodit stejný tajný klíč a tím zajistit důvěrnost.

Krok čtyři: horizontální rotace shaka. Také známé jako Finished Messages.

Od ServerHello (krok dvě) je handshake šifrovaný.

Vymění si zprávy Finished, aby prokázali, že odvodili stejné tajemství — a během jednoho round-tripu jsou připraveny klíče relace.

Krok pět: Uplavala. AKA všechno je teď šifrované.
Nyní jsou všechna data, která plynou mezi Browserbirdem a Compugterem šifrována, dokud jejich spojení neskončí.

Hesla, detaily platebních karet, zkrátka všechno.

Jednoduché, že?

Příště až se budete připojovat k webu přes HTTPS, můžete si s prohlížečem potřást rukou, protože znáte tajný pozdrav.

Dále v Jak funguje HTTPS...

HZZPS, SSL, TLS, kdo se v tom má vyznat? Máte v tom guláš? Co tyto zkratky znamenají? Jedná se o jednu a tu samo věc?

Pokračovat ve čtení