Это глубокое техническое погружение после этот обзор был задан вопрос.
В чем разница между протоколами SSL и TLS?
Достаточно ли разницы, чтобы оправдать смену имени? (вместо того, чтобы называть его «SSLv4» или SSLv5 для более новых версий TLS)
SSLv2 и SSLv3 совершенно разные (и оба теперь считаются небезопасными). SSLv3 и TLSv1.0 очень похожи, но имеют несколько отличий.
Вы можете рассматривать TLSv1.0 как SSLv3.1 (на самом деле это то, что происходит в записях, которыми обмениваются). Просто проще сравнить TLSv1.0 с участием TLSv1.1 и TLSv1.2 потому что все они редактировались в IETF и имеют более или менее одинаковую структуру. SSLv3 редактируется другим учреждением (Netscape), что затрудняет выявление различий.
Вот несколько отличий, но я сомневаюсь, что смогу их все перечислить:
ClientHello
сообщение (первое сообщение, отправленное клиентом, чтобы инициировать рукопожатие), версия {3,0}
для SSLv3, {3,1}
для TLSv1.0 и {3,2}
для TLSv1.1.ClientKeyExchange
отличается.Finished
сообщение в SSLv3. В TLSv1 он должен ждать, пока сервер Finished
сообщение.SSL_*
к TLS_*
, сохраняя тот же идентификационный номер).Я настоятельно рекомендую Книга Эрика Рескорла - SSL и TLS: проектирование и создание безопасных систем, Аддисон-Уэсли, 2001 ISBN 0-201-61598-3, если вам действительно нужны подробности. Я узнал о некоторых из упомянутых выше моментов из этой книги. Автор иногда упоминает различия между SSLv3 и TLS (v1.0 только на момент написания книги) при объяснении некоторых сообщений SSL / TLS, но вам действительно нужны общие объяснения об этих сообщениях, чтобы иметь возможность понять ( и здесь неуместно копировать / вставлять из этой книги).
Я просто повторю другие ответы, но, возможно, с немного другим акцентом.
Существовал протокол защищенных сокетов, который «принадлежал» Netscape и назывался SSL версии 2. Была выпущена новая версия с другой структурой записи и улучшениями безопасности, также «принадлежащая» Netscape и названная SSL версии 3. Внутри протокола в нескольких версиях. Places - это двоичное поле номера версии. Для SSL версии 3 это поле установлено на 0x03 0x00, то есть версия 3.0. Затем IETF решил создать свой собственный стандарт. Возможно, из-за некоторой неопределенности в отношении интеллектуальной собственности в отношении SSL, в том числе в отношении того, является ли «SSL» товарным знаком Netscape, когда IETF выпустила следующую версию этого протокола, они дали ей свое собственное имя: Протокол безопасности транспортного уровня или TLS версии 1.0. Формат записи и общая структура идентичны и соответствуют SSL v3. Номер бинарной версии был увеличен до 0x03 0x01, и, как отмечали другие, были внесены некоторые незначительные криптографические изменения. С тех пор существует TLS версий 1.1 и 1.2, для которых внутренние номера протоколов 0x03 0x02 и 0x03 0x03.
Игнорируя SSLv2, это было просто изменение имени вместе с обычной тонкой настройкой протокола, которая происходит по мере того, как люди становятся более умными в вопросах безопасности и производительности.
По сути, это не что иное, как изменение названия для новой версии протокола. Я считаю, что основная причина этого заключалась в том, чтобы отличить его от более старого, неформального стандарта, в основном разработанного Netscape после того, как он стал официальным протоколом отслеживания стандартов IETF.
Как было сказано в ответах на ваш предыдущий вопрос, это не означает, что SSLv3 и TLSv1.0 совместимы. Цитата из RFC 2246:
различия между этим протоколом и SSL 3.0 несущественны, но они достаточно значительны, чтобы TLS 1.0 и SSL 3.0 не взаимодействовали.
Я думаю, если вы действительно хотите узнать точные различия в протоколах, вы должны прочитать стандарты и сравнить себя.
Протокол шифрования SSL теперь называется TLS, что дает два имени для одного и того же протокола. Текущее программное обеспечение будет согласовывать TLS версии 1 или SSL версии 3 автоматически. С другой стороны, людям приходится выбирать между использованием более узнаваемого термина SSL и официальным обозначением TLS.
SSL - это предшественник TLS.
TLS и SSL шифруют сегменты сетевых подключений на уровне приложений, чтобы обеспечить безопасный сквозной транзит на транспортном уровне.
Отличия: