Tohle je ten zakopaný pes. Asi jen z historických důvodů mě zajímá, jestli tehdy bez PFC samotné šifrování probíhalo přímo asymetricky(klíčem byl přímo priv.klíč) a nebo symetrickou šifrou(která byla nějak dohodnuta jinak pomocí Diffí Hellmana a tudíž šla odvodit z zaznamenané komunikace.)
Samotná komunikace byla vždy šifrovaná symetricky.
-asymetrická šifra( RSA / Eliptické křivky), aby klient mohl ověřit autenticitu serveru
Autenticita serveru se ověřuje na základě podpisu certifikátu a toho, že server podá důkaz vlastnictví privátního klíče příslušejícího k certifikátu. Sice podpisy a šifrování fungují na podobných principech, ale doporučuju to nemíchat.
-algoritmus pro vyjednání (tajného + volatilního ) šifrovacího klíče- Diffí Hellman (RSA / EC)
Bez PFS si kleint a server nešifrovaným kanálem vymění náhodná čísla a klient pošle serveru před-klíč zašifrovaný veřejným klíčem serveru. Z toho se pak vyrobí skutečný šifrovací klíč použitý pro (symetrické) šifrování komunikace. Pokud někdo šifrovanou komunikaci odposlechne a zaznamená, a později získá privátní klíč serveru, dokáže rozšifrovat ten před-klíč poslaný klientem a tím pádem má všechny informace, které měly k dispozici klient i server, dokáže odvodit použitý šifrovací klíč a komunikaci rozšifrovat.
Algoritmus D-H výměny klíčů je založený na tom, že během výměny klíčů pořád zůstává část, kterou zná jenom klient nebo jenom server a není to privátní klíč serveru. Takže i když si útočník komunikaci uloží a později získá privátní klíč serveru, pořád nemá dostatek informací, aby dokázal zrekonstruovat šifrovací klíč použitý pro šifrování komunikace.
- nějaká symetrická šifra (AES,RC4 slabá?) pro vlastní obsah
Těch variant je spousta, ještě se liší podle velikostí klíčů. Je to jeden z parametrů komunikace, který si na začátku dohadují klient se serverem. A taky jedno z potenciálních míst útoku, když se útočníkovi podaří některé nabízené algoritmy z komunikace odstranit a donutí tak obě strany, aby se dohodly na nějaké slabé šifře, kterou umí útočník zlomit.
druhý příspěvek sem nepatřil. Ptal jsem se i na " obyčejné forward secrecy".
Nic takového neexistuje. Resp. někdy se to používá jako synonymum pro PFS.
Není to jednoduché pochopit, co je zač, když to člověk nezná, navíc když je tam "popis šifry" 3x a a navíc Eliptická může být šifra i DH výměna, různé přípony způsobu řetězení bloků CEC,XTS. V chromu vidím zase kulový. Dřív to ukazovalo tohle, ale není to vidět ani v konzoli-Security ani u zámečku.
Pokud vás zajímá, jak funguje TLS, doporučuju
The Illustrated TLS Connection.
Jinak u reálné komunikace zrovna webové prohlížeče do toho vstupuje ještě fakt, že (s HTTP/1.1) má prohlížeč typicky otevřených spojení několik, klíče rotuje docela často a navíc tak, aby je měl předem připravené – takže když má nějaký důvod komunikovat se serverem, používá starý klíč ale zároveň si bokem dohodne se serverem nový klíč, který použije příště. Což je zase umožněné díky tomu, že si klient se serverem mohou dohodnuté klíče uložit bokem a použít je při navazování dalšího TLS spojení, čímž se přeskočí úvodní handshake, který trvá docela dlouho. Takže když máte webový prohlížeč a snažíte se analyzovat jeho TLS provoz, není to vůbec jednoduché se v tom zorientovat.