How's that again?

SSL

Установка соединения обеспечивается в несколько этапов:

  1. Клиент устанавливает соединение с сервером и запрашивает защищенное подключение. Это может обеспечиваться либо установлением соединения на порт, который изначально предназначен для работы с SSL/TLS, например, 443, либо дополнительным запросом клиентом установки защищенного соединения после установки обычного.
  2. При установке соединения клиент предоставляет список алгоритмов шифрования, которые он «знает». Сервер сверяет полученный список со списком алгоритмов, которые «знает» сам сервер, и выбирает наиболее надежный алгоритм, после чего сообщает клиенту, какой алгоритм использовать
  3. Сервер отправляет клиенту свой цифровой сертификат, подписанный удостоверяющим центром, и открытый ключ сервера.
  4. Клиент может связаться с сервером доверенного центра сертификации, который подписал сертификат сервера, и проверить, валиден ли сертификат сервера. Но может и не связываться. В операционной системе обычно уже установлены корневые сертификаты центров сертификации, с которыми сверяют подписи серверных сертификатов, например, браузеры.
  5. Генерируется сеансовый ключ для защищенного соединения. Это делается следующим образом: — Клиент генерирует случайную цифровую последовательность - сеансовый ключ — Клиент шифрует ее открытым ключом сервера и посылает результат на сервер — Сервер расшифровывает полученную последовательность при помощи закрытого ключа Учитывая, что алгоритм шифрования является асимметричным, расшифровать последовательность может только сервер. При использовании асимметричного шифрования используется два ключа — приватный и публичный. Публичным отправляемое сообщение шифруется, а приватным расшифровывается. Расшифровать сообщение, имея публичный, ключ нельзя.
  6. Таким образом устанавливается зашифрованное соединение. Данные, передаваемые по нему, шифруются и расшифровываются сеансовым ключом до тех пор, пока соединение не будет разорвано

TLS

Разницы между SSL и TLS нет, потому что TLS 1.0 = SSL 3.1