Генерируется сеансовый ключ для защищенного соединения. Это делается следующим образом:Отсюда - http://mnorin.com/tls-ssl-neobhodimy-j-minimum-znanij.html
— Клиент генерирует случайную цифровую последовательность
— Клиент шифрует ее открытым ключом сервера и посылает результат на сервер
— Сервер расшифровывает полученную последовательность при помощи закрытого ключа
Учитывая, что алгоритм шифрования является асимметричным, расшифровать последовательность может только сервер. При использовании асимметричного шифрования используется два ключа — приватный и публичный. Публичным отправляемое сообщение шифруется, а приватным расшифровывается. Расшифровать сообщение, имея публичный, ключ нельзя.
Добавлю, что случайная цифровая последовательность, которую сгенерировал клиент, является ключом для симметричного шифрования. После того, как сервер расшифрует данные, отправленные клиентом, зашифрованные публичным ключом, он получает эту случайную последовательность. После этого начинается уже симметричное шифрование с использованием общего ключа.
SSL использует как асимметричную, так и симметричную криптографию.Суть асимметричного шифрования заключается в том, что используется пара ключей. Один из них используется в качестве открытого (как правило, он публикуется в самом сертификате владельца), второй ключ называется секретным - он держится в тайне и никогда никому не открывается. Оба ключа работают в паре: один используется для запуска противоположных функций другого ключа. Если открытый ключ используется для того, чтобы зашифровать данные, то расшифровать их можно только секретным ключом.
Любой пользователь может получить открытый ключ по назначению и использовать его для шифрования данных, расшифровать которые может только пользователь, владеющий секретным ключом.
RSA - самый распространенный алгоритм шифрования с использованием асимметричных ключей.
При шифровании симметричным ключом используется один и тот же ключ для шифрованных данных. Если стороны хотят обменяться зашифрованными сообщениями в безопасном режиме, то у обеих сторон должны быть одинаковые симметричные ключи. Такой тип шифрования используется для большого объема данных.
Протокол SSL использует шифрование с открытым ключом для аутентификации клиент-сервер и наоборот, а также для определения ключа сессии, который, в свою очередь, используется более быстрыми алгоритмами симметричной криптографии для шифрования большого объема данных.Отсюда - https://ru.wikipedia.org/wiki/SSL
Комментариев нет:
Отправить комментарий