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