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