Відповідно до wikipedia: http://en.wikipedia.org/wiki/Transport_Layer_Security
Здається, TLS є заміною SSL, але більшість веб-сайтів все ще використовують SSL?
Відповідно до wikipedia: http://en.wikipedia.org/wiki/Transport_Layer_Security
Здається, TLS є заміною SSL, але більшість веб-сайтів все ще використовують SSL?
Відповіді:
Коротше кажучи, 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 від початку з'єднання.)
З 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
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 (секрет, мітка + насіння)
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 є обов’язковим.
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.