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?
Ale nejprve se museli shodnout na tom, jak bezpečně komunikovat.
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.
Jdeme na to hoši!
Připraveni? Takhle vypadá 'handshake' ve zpomaleném záběru.
Hotovo!
A teď znova a rychleji!
Z-N-O-V-A !
Přestaňte.
Začneme od začátku. Krok po kroku.
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.
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.
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.
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.
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.