Rodzaj i długość tego klucza jest określony przez typ algorytmu przesłany w poprzednim komunikacie. K ← S ServerHelloDoneSerwer zawiadamia, że klient może przejść do następnej fazy zestawiania połączenia. K → S ClientKeyExchangeKlient wysyła serwerowi wstępny klucz sesji, zaszyfrowany za pomocą klucza publicznego serwera. Na podstawie ustalonych w poprzednich komunikatach dwóch liczb losowych (klienta i serwera) oraz ustalonego przez klienta wstępnego klucza sesji obie strony generują klucz sesji używany do faktycznej wymiany danych. Uwaga: wygenerowany klucz jest kluczem algorytmu symetrycznego (typowo DES)! Jest on jednak ustalony w sposób bezpieczny i znany jest tylko komunikującym się stronom. K → S ChangeCipherSpecKlient zawiadamia, że serwer może przełączyć się na komunikację szyfrowaną. K → S Finished... oraz że jest gotowy do odbierania danych zaszyfrowanych K ← S ChangeCipherSpecSerwer zawiadamia, że wykonał polecenie – od tej pory wysyłał będzie tylko zaszyfrowane informacje... K ← S Finished...i od razu wypróbowuje mechanizm – ten komunikat jest już wysyłany bezpiecznym kanałem
Źródło i licencja
Fragment artykułu Wikipedia — Transport Layer Security · historia autorów.
Tekst: CC BY-SA 4.0. Wydzielono fragment z dłuższego artykułu.