Ответ 1
Да, это правильно. Асимметричное шифрование необходимо для проверки идентичности других, а затем используется симметричное шифрование, потому что оно быстрее.
Во-первых, некоторые цитаты из Microsoft TechNet Управление службами сертификатов Microsoft и SSL:
Чтобы повторить, безопасные сеансы SSL устанавливаются с использованием следующего метода:
Пользовательский веб-браузер связывается с сервером с помощью защищенного URL.
Сервер IIS отправляет браузеру свой открытый ключ и сертификат сервера.
Клиент и сервер согласовывают уровень шифрования для использования для безопасная связь.
Клиентский браузер шифрует ключ сеанса с общедоступным сервером и отправляет зашифрованные данные обратно на сервер.
Сервер IIS расшифровывает сообщение, отправленное клиентом, используя его частный и сеанс установлен.
Как клиент, так и сервер используют ключ сеанса для шифрования и дешифрования передаваемых данных.
Итак, в основном, SSL использует асимметричное шифрование (пара открытого/закрытого ключа) для доставки общего сеансового ключа и, наконец, достигается способ связи с симметричным шифрование.
Правильно ли это?
Я использую IIS для размещения своих сайтов. Предположим, у меня есть несколько сайтов на моей отдельной машине, и я хочу, чтобы клиент-браузер использовал URL-адрес SSL для подключения моих сайтов. Сколько сертификатов мне нужно? Какой из следующих подходов я должен взять?
1 - Применить к одному сертификату и связать его с моей машиной с одним сервером, на которой размещены несколько сайтов.
2 - Подать заявку на несколько сертификатов и связать каждый из моих сайтов с собственным сертификатом.
В IIS7 кажется, что я мог только сделать подход 1.
Я понимаю это. Я могу установить несколько сертификатов на своем сервере и привязать к каждому сайту с отдельным сертификатом по мере необходимости.
Да, это правильно. Асимметричное шифрование необходимо для проверки идентичности других, а затем используется симметричное шифрование, потому что оно быстрее.
Вы ошибаетесь в пунктах 4 и 5. Сервер и клиент самостоятельно вычисляют один и тот же ключ сеанса. Это никогда не передается вообще.
Я бы предположил, что вы публикуете свое обновление как отдельный вопрос.
В любом случае - вам потребуется несколько сертификатов - по одному на сайт. Помните, что эти сертификаты связывают ваш компьютер с вашим адресом. Поскольку каждый из сайтов будет иметь другой адрес (потенциально), вам нужны разные сертификаты для каждого из сайтов
У вас может быть только один сертификат SSL для каждого прослушивающего порта на сервере. Это связано с тем, что самое первое, что отправлено, - это сертификат сервера (как и в вашей временной шкале). Это до HTTP-запроса, поэтому, если вы попытаетесь разместить два домена на одном сервере (скажем, foo.com и bar.com), сервер не сможет узнать, какой сертификат отправить клиенту.
Существует несколько способов решения этой проблемы:
Случай, когда ключ сеанса независимо вычисляется клиентом и сервером без передаваемого ключа, является обменом ключами Диффи-Хеллмана: https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange --- см. рисунок красивой краски PKI обменяет зашифрованный ключ сеанса между клиентом и сервером.
Клиент SSL отправляет случайную строку байта, которая позволяет и клиенту, и серверу вычислить секретный ключ, который будет использоваться для шифрования последующих данных сообщения. Сама строка байтового байта зашифровывается открытым ключом сервера (асимметричным).
SSL использует как асимметричные, так и симметричные ключи.