Разница между SSL & TLS


согласно Википедии:http://en.wikipedia.org/wiki/Transport_Layer_Security

похоже, что TLS является заменой SSL, но большинство веб-сайтов все еще используют SSL?

6 77

6 ответов:

короче говоря, TLSv1.0 является более или менее SSLv3.1. Вы можете найти более подробную информацию в этот вопрос на ServerFault.

большинство веб-сайтов на самом деле поддерживают как SSLv3, так и TLSv1.0 по крайней мере, как Это исследование указывает (ли, Малкин и статья Наума:криптографическая прочность серверов SSL / TLS: текущая и недавняя практика, IMC 2007) (ссылка получена из IETF TLS list). Более 98% поддерживают TLSv1+.

Я думаю, что причина, по которой SSLv3 все еще используется, была для поддержки устаревших версий (хотя большинство браузеров поддерживают TLSv1 и некоторые TLSv1.1 или даже TLSv1.2 в настоящее время). До недавнего времени некоторые дистрибутивы все еще имели SSLv2 (считающийся небезопасным) по умолчанию вместе с другими.

(вы также можете найти этот вопрос интересно, хотя речь идет о шаблоне использования TLS, а не SSL против TLS (вы могли бы на самом деле иметь тот же шаблон с SSL). Это не относится к HTTPS в любом случае, так как HTTPS использует SSL / TLS с самого начала соединения.)

от http://www.thoughtcrime.org/blog/ssl-and-the-future-of-authenticity/

в начале 90-х годов, на заре Всемирной паутины, некоторые инженеры Netscape разработали протокол для создания защищенных HTTP-запросов, и то, что они придумали, называлось SSL. Учитывая относительно скудный объем знаний о защищенных протоколах в то время, а также сильное давление все в Netscape работали под, их усилия могут только быть замеченным как невероятно героический. Удивительно, что SSL выдержал столько, сколько он есть, в отличие от ряда других протоколов из того же винтажа. С тех пор мы определенно многому научились, но дело в том, что протоколы и API-интерфейсы очень мало возвращаются.

было два основных обновления протокола SSL, SSL 2 (1995) и SSL 3 (1996). Они были тщательно сделаны, чтобы быть обратно совместимыми, чтобы облегчить принятие. Однако назад совместимость является ограничением для протокола безопасности для которого это может означать обратную уязвимость.

таким образом, было решено нарушить обратную совместимость и новый протокол под названием TLS 1.0 (1999). (Оглядываясь назад, было бы яснее назвать его TLS 4)

различия между этим протоколом и SSL 3.0 не являются драматическими, но они достаточно значительны, чтобы TLS 1.0 и SSL 3.0 не взаимодействовали.

TLS был пересмотрен дважды, TLS 1.1 (2006) и TLS 1.2 (2008).

по состоянию на 2015 год все версии SSL сломаны и небезопасны (атака пуделя), а браузеры удаляют поддержку. TLS 1.0 является повсеместным, но только 60% сайтов поддерживают TLS 1.1 и 1.2, плачевное положение дел.


Если вы заинтересованы в этом материале, я рекомендую Moxie Marlinspike умный и забавный разговор на https://www.youtube.com/watch?v=Z7Wl2FW2TcA

tls1.0 означает, что протокол SSLv3.1

tls1.1 означает sslv3. 2

tls1.2 означает, что протокол SSLv3.3

сервер, просто изменили название, вы могли бы найти tls1.Шестнадцатеричный код 0-это 0x0301, что означает, что протокол SSLv3.1

TLS поддерживает обратную совместимость с SSL, и поэтому протокол связи почти идентичен в любой из упомянутых здесь версий. Два важных различия между SSL V. 3, TLS 1.0 и TLS 1.2-это псевдослучайная функция (PRF) и функция хэширования HMAC (SHA, MD5, handshake), которая используется для построения блока симметричных ключей для шифрования данных приложений (серверные ключи + клиентские ключи + IV). Основное различие между TLS 1.1 и TLS 1.2 это 1.2 требуется использование "явного" IV для защиты от атак CBC, хотя для этого не требуется никаких изменений в PRF или протоколе. TLS 1.2 PRF является специфичным для набора шифров, что означает, что PRF может быть согласован во время рукопожатия. SSL был первоначально разработан Netscape Communications (historic), а затем поддерживается Internet Engineering Task Force (IETF, current). TLS поддерживается рабочей группой по Сети. Вот разница между функциями PRF HMAC в TLS:

TLS 1.0 и 1.1

ПРФ(секрет, этикеток, семян) = P_MD5(С1, метка + семя) исключающее ИЛИ P_SHA-1(С2, метка + семя);

TLS 1.2

ПРФ(секрет, этикеток, семян) = P_hash(секрет, метка + семя)

"Если он не сломан, не трогайте его". SSL3 отлично работает в большинстве сценариев (в протоколе SSL/TLS еще в октябре был обнаружен фундаментальный недостаток, но это недостаток приложений больше, чем самого procol), поэтому разработчики не спешат обновлять свои модули SSL. TLS приносит ряд полезных расширений и алгоритмов безопасности, но они являются удобным дополнением, а не обязательным. Таким образом, TLS на большинстве серверов остается опцией. Если и сервер и клиент поддерживают его, он будет использоваться.

обновление: в ' 2016 SSL 3 и даже TLS до 1.2 оказываются уязвимыми для различных атак, и рекомендуется миграция на TLS 1.2. Существуют также атаки на реализации TLS 1.2, хотя они зависят от сервера. TLS 1.3 в настоящее время находится в разработке. И теперь TLS 1.2 является обязательным.

https://hpbn.co/transport-layer-security-tls/ это хорошее введение

протокол SSL был первоначально разработан в Netscape для обеспечения безопасности транзакций электронной коммерции в интернете, что требовало шифрования для защиты персональных данных клиентов, а также гарантии аутентификации и целостности для обеспечения безопасной транзакции. Для достижения этой цели протокол SSL был реализован на прикладном уровне, непосредственно поверх TCP (рис. 4-1), что позволило протоколы над ним (HTTP, электронная почта, мгновенные сообщения и многие другие) работают без изменений, обеспечивая безопасность связи при общении по сети.

при правильном использовании SSL сторонний наблюдатель может только определить конечные точки соединения, тип шифрования, а также частоту и приблизительный объем отправленных данных, но не может прочитать или изменить какие-либо фактические данные.

SSL 2.0 был первой публично выпущенной версией протокол, но он был быстро заменен SSL 3.0 из-за ряда обнаруженных недостатков безопасности. Поскольку протокол SSL был собственностью Netscape, IETF предпринял попытку стандартизировать протокол, в результате чего RFC 2246 был опубликован в январе 1999 года и стал известен как TLS 1.0. С тех пор IETF продолжает повторять протокол для устранения недостатков безопасности, а также для расширения своих возможностей: TLS 1.1 (RFC 2246) был опубликован в апреле 2006 года, TLS 1.2 (RFC 5246) в августе 2008, и в настоящее время ведется работа по определению TLS 1.3.