Это техническое глубокое погружение после того, как был задан этот обзорный вопрос.
Каковы различия протокола между 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
сообщения SSL / TLS в SSLv3. В TLSv1 он должен ждатьFinished
сообщения сервера .SSL_*
вTLS_*
, сохранив тот же номер идентификатора).Я настоятельно рекомендую книгу Эрика Рескорлы - SSL и TLS: проектирование и создание защищенных систем , Addison-Wesley, 2001 ISBN 0-201-61598-3 , если вы действительно хотите больше подробностей. Я узнал о некоторых пунктах, упомянутых выше, из этой книги. Автор иногда упоминает различия между SSLv3 и TLS (v1.0 только во время написания книги) при объяснении некоторых сообщений SSL / TLS, но вам нужно базовое объяснение этих сообщений, чтобы иметь возможность понять ( и здесь неуместно копировать / вставлять из этой книги).
источник
ClientHello
запись», в то время как клиенты только с SSL3 отправляют только оригиналClientHello
.draft302.txt
и « В интересах прямой совместимости ... » сравните с разделами 7.4.1.2 в спецификациях TLS). Чтобы справиться со стеками, не поддерживающими это, в расширении повторного согласования также есть обходные пути, такие как псевдо-набор шифров SCSV.Я просто повторю другие ответы, но, возможно, с немного другим акцентом.
Был протокол защищенных сокетов, который «принадлежал» Netscape, который назывался SSL версия 2. Была выпущена новая версия с другой структурой записей и улучшениями безопасности, также «принадлежавшими» Netscape, и называлась SSL версия 3. Внутри протокола несколько места - это двоичное поле номера версии. Для 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:
Я думаю, если вы действительно хотите узнать точные различия в протоколах, вы должны прочитать стандарты и сравнить себя.
Проект протокола SSLv3 от Netscape TLSv1.0 RFC 2246
источник
Протокол шифрования SSL теперь называется TLS, что приводит к двум именам для одного и того же протокола. Текущее программное обеспечение будет согласовывать TLS версии 1 или SSL версии 3 автоматически. Людям, с другой стороны, приходится выбирать между использованием более узнаваемого термина SSL и официального обозначения TLS.
SSL является предшественником TLS.
TLS и SSL шифруют сегменты сетевых подключений на прикладном уровне, чтобы обеспечить безопасный сквозной транзит на транспортном уровне.
источник
Отличия:
источник