Как SSL шифрует данные, передаваемые с сервера на клиент?

Большинство статей в вики описывают, как клиентский браузер использует открытый ключ (сертификат), шифрует конфиденциальные данные (такие как имя пользователя/пароль) и отправляет эти зашифрованные данные на сервер. Сервер будет использовать закрытый ключ для его расшифровки. Я получаю эту часть. Но нет четкой информации о том, как сервер шифрует данные и отправляет обратно в браузер.

В качестве примера используйте мой онлайн-банкинг:

(0) Я уже принял доверенный сертификат (открытый ключ) от моего онлайн-банкинга.

(1) Через URL-адрес SSL, зайдите в мой браузер https://myonlinebanking.com

(2) Я ввел имя пользователя/пароль для входа. Эти данные зашифрованы, поэтому посредник может видеть только бессмысленные данные.

(3) Веб-сервер банка получил мои зашифрованные данные и использовал свой закрытый ключ для их расшифровки и успешной аутентификации моей учетной записи.

Теперь вот мои вопросы:

Как банк возвращает мои данные? Каким ключом банк шифрует данные ответа? Если банк зашифрован «открытым ключом», посредник может увидеть его так же, как и я. Значит, посредник не знает моего имени пользователя/пароля, но все равно может видеть баланс моего счета?

Спасибо за помощь.

19
задан Simon 9 June 2012 в 09:45
поделиться