У меня есть небольшая путаница в SSL рукопожатии между браузером и сервером в типичном HTTPS веб-сценарии:Как браузер генерирует симметричный ключ во время SSL рукопожатия
То, что я понял, до сих пор является то, что в процессе SSL рукопожатия, клиент (браузер в этом случае) шифрует случайно выбранный симметричный ключ с открытым ключом (сертификат, полученный от сервера). Это отправляется обратно на сервер, сервер расшифровывает его (симметричный ключ) с помощью закрытого ключа. Этот симметричный ключ теперь используется во время остальной части сеанса для шифрования/дешифрования сообщений на обоих концах. Одной из основных причин этого является предоставление более быстрого шифрования с использованием симметричных ключей.
Вопросы 1) Как браузер выбирает и генерирует этот «случайный» выбранный симметричный ключ?
2) У разработчиков (или/или пользователей браузера) есть контроль над этим механизмом генерации симметричных ключей?
Клиент не генерирует ключ сеанса; не шифрует его; и не передает его. Ключ сеанса выводится по протоколу соглашения о ключах. Ваше описание в основном неверно. Ваш вопрос основан на ложном предположении. – EJP