Різниця між SSL і TLS


89

Відповідно до wikipedia: http://en.wikipedia.org/wiki/Transport_Layer_Security

Здається, TLS є заміною SSL, але більшість веб-сайтів все ще використовують SSL?


4
"більшість веб-сайтів все ще використовують SSL". Ось хороший огляд підтримки протоколів trustworthyinternet.org/ssl-pulse/#chart-protocol-support
Colonel Panic

Схоже на більш популярне запитання: security.stackexchange.com/questions/5126/…
Вадзім

Відповіді:


59

Коротше кажучи, TLSv1.0 - це більш-менш SSLv3.1. Ви можете знайти більше деталей у цьому питанні на ServerFault .

Більшість веб-сайтів насправді підтримують як SSLv3, так і TLSv1.0, принаймні, як показує це дослідження (Lee, Malkin, and Nahum's paper: Cryptographic Strength of SSL / TLS Servers: Current and Recent Practices , IMC 2007) (посилання отримано зі списку IETF TLS ). Більше 98% підтримують TLSv1 +.

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

(Вам також може бути цікавим це питання , хоча мова йде про шаблон використання TLS, а не SSL проти TLS (насправді у вас може бути однаковий шаблон із SSL). Це все одно не стосується HTTPS, оскільки HTTPS використовує SSL / TLS від початку з'єднання.)


23

З 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 непрацюючі та небезпечні (атака POODLE), а браузери скасовують підтримку. TLS 1.0 є всюдисущим, але лише 60% веб-сайтів підтримують TLS 1.1 та 1.2 , на жаль.


Якщо вас цікавлять ці речі, я рекомендую розумну та смішну розмову Моксі Марлінспайк за адресою https://www.youtube.com/watch?v=Z7Wl2FW2TcA


Я пам’ятаю новину Usenet: comp.sources.unix, розміщену під назвою Secure Sockets Layer наприкінці 1980-х. Я сумніваюся, що це має багато взаємин із тим, що Netscape робив, крім назви.
Маркіз Лорнський

11

tls1.0 означає sslv3.1

tls1.1 означає sslv3.2

tls1.2 означає sslv3.3

rfc щойно змінив назву, ви можете знайти шістнадцятковий код tls1.0 0x0301, що означає sslv3.1


2

TLS підтримує зворотну сумісність із SSL, тому протокол зв'язку майже ідентичний у будь-якій із згаданих тут версій. Дві важливі відмінності між SSL v.3, TLS 1.0 і TLS 1.2 - це псевдовипадкова функція (PRF) і функція хешування HMAC (SHA, MD5, рукостискання), яка використовується для побудови блоку симетричних ключів для Шифрування даних програми (ключі сервера + клієнтські ключі + IV). Основна відмінність між TLS 1.1 та TLS 1.2 полягає в тому, що 1.2 вимагає використання "явного" IV для захисту від атак CBC, хоча для цього немає змін до PRF або протоколу. TLS 1.2 PRF є специфічним для шифру, що означає, що про PRF можна домовитись під час рукостискання. Спочатку SSL був розроблений Netscape Communications (історичний), а пізніше підтримувався робочою групою Інженерного проектування (IETF, поточний). TLS підтримується Робочою групою мереж. Ось різниця між функціями PRF HMAC у TLS:

TLS 1.0 та 1.1

PRF (секрет, мітка, насіння) = P_MD5 (S1, мітка + насіння) XOR P_SHA-1 (S2, мітка + насіння);

TLS 1.2

PRF (секрет, мітка, насіння) = P_hash (секрет, мітка + насіння)


0

Msgstr "Якщо він не зламаний, не чіпайте його". SSL3 чудово працює в більшості сценаріїв (ще в жовтні був виявлений фундаментальний недолік протоколу SSL / TLS, але це недолік додатків, аніж сам прокол), тому розробники не поспішають оновлювати свої модулі SSL. TLS пропонує ряд корисних розширень та алгоритмів безпеки, але вони є зручними доповненнями і не є обов’язковими. Тож TLS на більшості серверів залишається опцією. Якщо і сервер, і клієнт підтримують це, воно буде використано.

Оновлення: у 2016 році SSL 3 і навіть TLS до 1.2 виявляються вразливими до різних атак, і рекомендується перехід на TLS 1.2. Існують атаки і на реалізації TLS 1.2, хоча вони залежать від сервера. Наразі TLS 1.3 розробляється. І зараз TLS 1.2 є обов’язковим.


2
Ні, це недолік протоколу, і розробники повинні оновити свої стеки SSL. З огляду на це, в RFC 5746 для SSLv3 є додаткові рекомендації щодо використання розширення перегляду передумов, а також для TLS.
Бруно,

Якщо ти когось вбиваєш ножем, це не вада ножа, а твій мозок. Те ж саме. Якщо протокол використовувався таким чином, для якого він не був розроблений, це не є недоліком протоколу.
Євген Маєвський 'Зворотній дзвінок

1
Протокол був розроблений таким чином, що додаток зверху до нього повинен якомога більше розглядати його як звичайний сокет. Питання про переговори без нового розширення змушує поінформовувати рівень додатків (наприклад, HTTP). Існує зацікавлена ​​тема щодо цієї теми у списку розсилки IETF TLS: ietf.org/mail-archive/web/tls/current/msg04000.html
Бруно,

1
Я згоден, що деякі з них слід робити на рівні програми, але я не знаю жодної реалізації, і протокол це враховує. Стеки, як правило, можуть впоратися з переукладанням, яке вони ініціюють законно, але не так сильно, якщо MITM ініціює його (в чому проблема). Ось чому група IETF TLS вирішила виправити це на рівні TLS, і тому людям дійсно слід увімкнути це розширення або взагалі відключити переговори.
Бруно

1
У SSL 3.0 є більш фундаментальна проблема, ніж згадана вами. Наприклад, CBC padding oracle, а також повторне використання IV або попереднього запису. Перший все ще завдає шкоди TLS, але його можна усунути, тоді як другий фіксується на TLS 1.1.
Нікос,

0

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 р. триває визначення ТЛС 1.3.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.