Большинство статей wiki описывают, как клиентский браузер использует открытый ключ (сертификат) шифрует конфиденциальные данные (например, имя пользователя/пароль) и отправляет эти зашифрованные данные на сервер. Сервер будет использовать закрытый ключ для его расшифровки. Я получаю эту часть. Но нет четкой информации о том, как сервер шифрует данные и отправляет их обратно в браузер.
Используйте мой онлайн-банкинг в качестве примера:
(0) Я уже принял доверенный сертификат (открытый ключ) из своего онлайн-банкинга.
(1) Через URL-адрес SSL мой браузер посещает https://myonlinebanking.com
(2) Я набрал имя пользователя/пароль для входа. Эти данные зашифрованы, поэтому человек в середине может видеть только бессмысленные данные.
(3) Веб-сервер банка получил мои зашифрованные данные и использовал его закрытый ключ для дешифрования и успешной аутентификации моей учетной записи.
Теперь вот мои вопросы:
Как банк отправляет мои данные? Банк шифрует данные ответа по какому ключу? Если банк зашифрован "открытым ключом", человек-в-середине может видеть его так, как я его вижу. Значит, человек-в-середине не знает мое имя пользователя/пароль, но он все еще может видеть баланс моего аккаунта?
Благодарим вас за помощь.