Transport Layer Security ( TLS ), преемник теперь устаревшего Secure Sockets Layer ( SSL ). Это криптографические протоколы, предназначенные для обеспечения безопасности связи в компьютерной сети. Несколько версий протоколов широко используются в таких приложениях, как электронная почта , обмен мгновенными сообщениями и передача голоса по IP , но их использование в качестве уровня безопасности в HTTPS остается наиболее заметным для общественности.
Протокол TLS в первую очередь предназначен для обеспечения конфиденциальности и целостности данных между двумя или более взаимодействующими компьютерными приложениями.
Протокол TLS состоит из двух уровней: записи TLS и протоколов установления связи TLS.
TLS - это предлагаемый стандарт Internet Engineering Task Force (IETF), впервые определенный в 1999 году, а текущая версия - TLS 1.3, определенная в августе 2018 года. TLS основан на более ранних спецификациях SSL (1994, 1995, 1996), разработанных Netscape Communications для добавления протокол HTTPS к своему веб-браузеру Navigator .
Описание
Клиент-серверные приложения используют протокол TLS для связи по сети таким образом, чтобы предотвратить подслушивание и вмешательство .
Поскольку приложения могут взаимодействовать с TLS (или SSL) или без него, клиенту необходимо указать серверу настройку TLS-соединения. [1] Один из основных способов добиться этого - использовать другой номер порта для TLS-соединений. Например, порт 80 обычно используется для незашифрованного HTTP- трафика, а порт 443 - для зашифрованного HTTPS- трафика. Другой механизм заключается в том, что клиент делает запрос к серверу для переключения соединения на TLS; например, отправив запрос STARTTLS при использовании почтовых и новостных протоколов.
После того как клиент и сервер согласились использовать TLS, они согласовывают соединение с отслеживанием состояния , используя процедуру установления связи . [2] Протоколы используют рукопожатие с асимметричным шифром, чтобы установить не только параметры шифра, но и общий ключ для конкретного сеанса, с помощью которого дальнейшая связь шифруется с использованием симметричного шифра . Во время этого рукопожатия клиент и сервер согласовывают различные параметры, используемые для установления безопасности соединения:
- Рукопожатие начинается, когда клиент подключается к серверу с поддержкой TLS, запрашивая безопасное соединение, и клиент представляет список поддерживаемых наборов шифров ( шифров и хэш-функций ).
- Из этого списка сервер выбирает шифр и хэш-функцию, которые он также поддерживает, и уведомляет клиента о решении.
- Затем сервер обычно обеспечивает идентификацию в виде цифрового сертификата . Сертификат содержит имя сервера , доверенный центр сертификации (CA), который гарантирует подлинность сертификата, и открытый ключ шифрования сервера.
- Перед тем как продолжить, клиент подтверждает действительность сертификата.
- Чтобы сгенерировать ключи сеанса, используемые для безопасного соединения, клиент либо:
- шифрует случайное число ( PreMasterSecret ) открытым ключом сервера и отправляет результат на сервер (который только сервер может расшифровать своим закрытым ключом); обе стороны затем используют случайное число для генерации уникального сеансового ключа для последующего шифрования и дешифрования данных во время сеанса.
- использует обмен ключами Диффи-Хеллмана для безопасного создания случайного и уникального сеансового ключа для шифрования и дешифрования, который имеет дополнительное свойство прямой секретности: если закрытый ключ сервера будет раскрыт в будущем, его нельзя будет использовать для расшифровки текущего сеанса, даже если сеанс перехватывается и записывается третьей стороной.
На этом рукопожатие завершается и начинается защищенное соединение, которое шифруется и дешифруется с помощью сеансового ключа до тех пор, пока соединение не закрывается. Если какой-либо из вышеперечисленных шагов завершился неудачно, рукопожатие TLS завершится ошибкой и соединение не будет создано.
TLS и SSL не подходят ни на один уровень модели OSI или модели TCP / IP . [3] [4] TLS работает «поверх некоторого надежного транспортного протокола (например, TCP)» [5], что означает, что он находится выше транспортного уровня . Он служит шифрованием для более высоких уровней, что обычно является функцией уровня представления . Однако приложения обычно используют TLS, как если бы это был транспортный уровень [3] [4], даже если приложения, использующие TLS, должны активно управлять инициированием установления связи TLS и обработкой обменных сертификатов аутентификации. [5]
При защите с помощью TLS соединения между клиентом (например, веб-браузером) и сервером (например, wikipedia.org) должны иметь одно или несколько из следующих свойств:
- Соединение является частным (или безопасным ), поскольку для шифрования передаваемых данных используется алгоритм с симметричным ключом . Ключи для этого симметричного шифрования генерируются уникально для каждого соединения и основаны на общем секрете, который был согласован в начале сеанса. Сервер и клиент согласовывают детали того, какой алгоритм шифрования и криптографические ключи использовать, прежде чем будет передан первый байт данных (см. Ниже). Согласование общего секрета является как безопасным (согласованный секрет недоступен для перехватчиков и не может быть получен даже злоумышленником, который находится в середине соединения), так и надежным (ни один злоумышленник не может изменить обмен данными во время согласования, не будучи обнаружен).
- Личность взаимодействующих сторон может быть подтверждена с использованием криптографии с открытым ключом . Эта аутентификация требуется для сервера и необязательна для клиента. [6]
- Соединение является надежным, поскольку каждое переданное сообщение включает проверку целостности сообщения с использованием кода аутентификации сообщения для предотвращения необнаруженной потери или изменения данных во время передачи. [7] : 3
В дополнение к вышесказанному, тщательная настройка TLS может предоставить дополнительные свойства, связанные с конфиденциальностью, такие как прямая секретность , гарантируя, что любое раскрытие ключей шифрования в будущем не может быть использовано для расшифровки любых сообщений TLS, записанных в прошлом.
TLS поддерживает множество различных методов обмена ключами, шифрования данных и проверки целостности сообщений. В результате безопасная конфигурация TLS включает в себя множество настраиваемых параметров, и не все варианты обеспечивают все свойства, связанные с конфиденциальностью, описанные в списке выше (см. Таблицы ниже: § Обмен ключами , § Безопасность шифрования и § Целостность данных ).
Были предприняты попытки подорвать аспекты безопасности связи, которую стремится обеспечить TLS, и протокол несколько раз пересматривался для устранения этих угроз безопасности. Разработчики веб-браузеров неоднократно пересматривали свои продукты для защиты от потенциальных слабых мест в системе безопасности после того, как они были обнаружены (см. Историю поддержки TLS / SSL веб-браузерами).
История и развитие
Протокол | Опубликовано | Статус |
---|---|---|
SSL 1.0 | Не опубликовано | Не опубликовано |
SSL 2.0 | 1995 г. | Не рекомендуется в 2011 г. ( RFC 6176 ) |
SSL 3.0 | 1996 г. | Не рекомендуется в 2015 г. ( RFC 7568 ) |
TLS 1.0 | 1999 г. | Не рекомендуется в 2020 г. [8] [9] [10] |
TLS 1.1 | 2006 г. | Не рекомендуется в 2020 г. [8] [9] [10] |
TLS 1.2 | 2008 г. | |
TLS 1.3 | 2018 г. |
Система защищенных сетей передачи данных
Протокол безопасности транспортного уровня (TLS) вместе с несколькими другими базовыми платформами сетевой безопасности был разработан в рамках совместной инициативы, начатой в августе 1986 года Агентством национальной безопасности, Национальным бюро стандартов, Агентством оборонной связи и двенадцатью организациями связи и компьютерные корпорации, инициировавшие специальный проект под названием Secure Data Network System (SDNS). [11] Программа была описана в сентябре 1987 г. на 10-й Национальной конференции по компьютерной безопасности в обширном наборе опубликованных статей. Инновационная исследовательская программа была сосредоточена на разработке следующего поколения защищенных компьютерных коммуникационных сетей и спецификаций продуктов, которые будут реализованы для приложений в публичных и частных сетях. Он был призван дополнить быстро появляющиеся новые интернет-стандарты OSI, продвигающиеся как в профилях GOSIP правительства США, так и в огромных международных усилиях ITU-ISO JTC1 в Интернете. Первоначально известный как протокол SP4, он был переименован в TLS и впоследствии опубликован в 1995 году как международный стандарт ITU-T X.274 | ИСО / МЭК 10736: 1995.
Безопасное сетевое программирование
Ранние исследовательские усилия по обеспечению безопасности транспортного уровня включали интерфейс прикладного программирования (API) безопасного сетевого программирования (SNP) , который в 1993 году исследовал подход к созданию безопасного API транспортного уровня, очень похожего на сокеты Беркли , для облегчения модернизации уже существующих сетевых приложений с помощью безопасности. меры. [12]
SSL 1.0, 2.0 и 3.0
Netscape разработала оригинальные протоколы SSL, а Тахер Эльгамал , главный научный сотрудник Netscape Communications с 1995 по 1998 год, был назван «отцом SSL». [13] [14] [15] [16] SSL версии 1.0 никогда не выпускался публично из-за серьезных недостатков безопасности в протоколе. Версия 2.0, выпущенная в феврале 1995 года, содержала ряд недостатков безопасности, которые потребовали разработки версии 3.0. [17] [15] Выпущенная в 1996 году версия SSL 3.0 представляла собой полную переработку протокола, разработанного Полом Кохером в сотрудничестве с инженерами Netscape Филом Карлтоном и Аланом Фрейером, с эталонной реализацией Кристофера Аллена и Тима Диркса из Consensus Development. Новые версии SSL / TLS основаны на SSL 3.0. Проект SSL 3.0 1996 г. был опубликован IETF как исторический документ в RFC 6101 .
Поддержка SSL 2.0 была прекращена в 2011 г. RFC 6176 . В 2014 году было обнаружено, что SSL 3.0 уязвим для атаки POODLE, которая затрагивает все блочные шифры в SSL; RC4 , единственный неблочный шифр, поддерживаемый SSL 3.0, также может быть взломан, как и в SSL 3.0. [18] Поддержка SSL 3.0 была прекращена в июне 2015 г. RFC 7568 .
TLS 1.0
TLS 1.0 был впервые определен в RFC 2246 в январе 1999 г. как обновление SSL версии 3.0, написанный Кристофером Алленом и Тимом Дирксом из Consensus Development. Как указано в RFC, «различия между этим протоколом и SSL 3.0 несущественны, но они достаточно значительны, чтобы исключить возможность взаимодействия между TLS 1.0 и SSL 3.0». Тим Диркс позже писал, что эти изменения и переименование с «SSL» в «TLS» были жестом сохранения лица Microsoft, «так что это не будет выглядеть [так, как будто] IETF просто штампует протокол Netscape». [19]
Совет PCI предложил организациям перейти с TLS 1.0 на TLS 1.1 или выше до 30 июня 2018 г. [20] [21] В октябре 2018 г. Apple , Google , Microsoft и Mozilla совместно объявили о прекращении поддержки TLS 1.0 и 1.1 в марте. 2020. [8]
TLS 1.1
TLS 1.1 был определен в RFC 4346 в апреле 2006 г. [22] Это обновление TLS версии 1.0. Существенные отличия этой версии:
- Добавлена защита от атак cipher-block chaining (CBC).
- Неявная вектор инициализации (IV) была заменена с явными IV.
- Изменения в обработке ошибок заполнения .
- Поддержка регистрации параметров IANA . [23] : 2
TLS 1.2
TLS 1.2 был определен в RFC 5246 в августе 2008 г. Он основан на более ранней спецификации TLS 1.1. Основные отличия включают:
- MD5 - SHA-1 сочетание в функции псевдослучайной (PRF) было заменено на SHA-256 , с возможностью использования шифра указанные PRFs.
- Комбинация MD5 – SHA-1 в хеш-коде готового сообщения была заменена на SHA-256 с возможностью использования хэш-алгоритмов, специфичных для набора шифров. Однако размер хэша в готовом сообщении должен быть не менее 96 бит . [24]
- Комбинация MD5 – SHA-1 в элементе с цифровой подписью была заменена одним хешем, согласованным во время рукопожатия , который по умолчанию равен SHA-1.
- Улучшение способности клиента и сервера указывать, какие хеши и алгоритмы подписи они принимают.
- Расширение поддержки аутентифицированных шифров, используемых в основном для режима Галуа / счетчика (GCM) и режима CCM для шифрования Advanced Encryption Standard (AES).
- Добавлены определение расширений TLS и наборы шифров AES. [23] : 2
Все версии TLS были дополнительно доработаны в RFC 6176 в марте 2011 года, в котором была удалена их обратная совместимость с SSL, так что сеансы TLS никогда не согласовывают использование Secure Sockets Layer (SSL) версии 2.0.
TLS 1.3
TLS 1.3 был определен в RFC 8446 в августе 2018 года. Он основан на более ранней спецификации TLS 1.2. Основные отличия от TLS 1.2: [25]
- Отделение алгоритмов согласования ключей и аутентификации от наборов шифров
- Удаление поддержки слабых и редко используемых именованных эллиптических кривых
- Удаление поддержки криптографических хэш-функций MD5 и SHA-224
- Требование цифровых подписей даже при использовании предыдущей конфигурации
- Интеграция HKDF и полуэфемерного предложения DH
- Замена возобновления на PSK и билеты
- Поддержка рукопожатий 1- RTT и начальная поддержка 0- RTT
- Обеспечение абсолютной прямой секретности посредством использования эфемерных ключей во время соглашения о ключах (EC) DH
- Отказ от поддержки многих небезопасных или устаревших функций, включая сжатие , повторное согласование, шифров, отличных от AEAD , обмен ключами без PFS (среди которых статический обмен ключами RSA и статическим DH ), настраиваемые группы DHE , согласование формата точки EC, протокол изменения спецификации шифра, Время UNIX сообщения Hello и поле длины AD вводятся в шифры AEAD.
- Запрещение согласования SSL или RC4 для обратной совместимости
- Интеграция использования хэша сеанса
- Устарело использование номера версии уровня записи и заморозить номер для улучшения обратной совместимости
- Перенос некоторых деталей алгоритмов, связанных с безопасностью, из приложения в спецификацию и передача ClientKeyShare в приложение
- Добавление потокового шифра ChaCha20 с кодом аутентификации сообщения Poly1305
- Добавление алгоритмов цифровой подписи Ed25519 и Ed448
- Добавление протоколов обмена ключами x25519 и x448
- Добавляет поддержку отправки нескольких ответов OCSP
- Шифрует все сообщения рукопожатия после ServerHello
Службы сетевой безопасности (NSS), библиотека криптографии, разработанная Mozilla и используемая ее веб-браузером Firefox , в феврале 2017 года включили TLS 1.3 по умолчанию. [26] Впоследствии была добавлена поддержка TLS 1.3, но из-за проблем совместимости для небольшого количества пользователей, не включенных автоматически [27] - в Firefox 52.0 , выпущенный в марте 2017 года. TLS 1.3 был включен по умолчанию в мае 2018 года с выпуском Firefox 60.0 . [28]
Google Chrome установил TLS 1.3 в качестве версии по умолчанию на короткое время в 2017 году. Затем он удалил его по умолчанию из-за несовместимости промежуточных ящиков, таких как веб-прокси Blue Coat . [29]
Во время IETF 100 Hackathon, который проходил в Сингапуре в 2017 году, TLS Group работала над адаптацией приложений с открытым исходным кодом для использования TLS 1.3. [30] [31] В группу TLS вошли люди из Японии , Великобритании и Маврикия через команду cyberstorm.mu. [31] Эта работа была продолжена в IETF 101 Hackathon в Лондоне , [32] и IETF 102 Хакатон в Монреале. [33]
wolfSSL позволил использовать TLS 1.3 начиная с версии 3.11.1, выпущенной в мае 2017 года. [34] Как первая коммерческая реализация TLS 1.3, wolfSSL 3.11.1 поддерживал проект 18 и теперь поддерживает проект 28, [35] окончательную версию, а также многие старые версии. Был опубликован ряд блогов о разнице в производительности между TLS 1.2 и 1.3. [36]
В , популярный проект OpenSSL выпустил версию 1.1.1 своей библиотеки, в которой поддержка TLS 1.3 была «главной новой функцией». [37]
Безопасность транспорта предприятия
Организация Electronic Frontier Foundation похвалил TLS 1.3 и выразил озабоченность в связи с протоколом варианта Enterprise Security Transport (ETS) , которая намеренно отключает важные меры безопасности в TLS 1.3. [38] Первоначально называвшийся Enterprise TLS (eTLS), ETS - это опубликованный стандарт, известный как «ETSI TS103523-3», «Протокол безопасности промежуточного ящика, Часть 3: Безопасность транспорта предприятия». Он предназначен для использования исключительно в частных сетях, таких как банковские системы. ETS не поддерживает прямую секретность, чтобы позволить сторонним организациям, подключенным к проприетарным сетям, использовать свой закрытый ключ для мониторинга сетевого трафика для обнаружения вредоносных программ и упрощения проведения аудитов. [39] [40] Несмотря на заявленные преимущества, EFF предупредил, что потеря прямой секретности может облегчить раскрытие данных, а также сказал, что существуют более эффективные способы анализа трафика.
Цифровые сертификаты
Цифровой сертификат удостоверяет право собственности на открытый ключ названным субъектом сертификата и указывает определенные ожидаемые варианты использования этого ключа. Это позволяет другим (полагающимся сторонам) полагаться на подписи или утверждения, сделанные закрытым ключом, который соответствует сертифицированному открытому ключу.
Центры сертификации
TLS обычно полагается на набор доверенных сторонних центров сертификации для установления подлинности сертификатов. Доверие обычно привязано к списку сертификатов, распространяемых с программным обеспечением пользовательского агента [41], и может быть изменено проверяющей стороной.
Согласно Netcraft , который отслеживает активные сертификаты TLS, ведущим центром сертификации (CA) на рынке была Symantec с самого начала их исследования (или VeriSign до того, как Symantec приобрела бизнес-подразделение по услугам аутентификации). По данным Netcraft, в 2015 году на долю Symantec приходилось чуть менее трети всех сертификатов и 44% действующих сертификатов, используемых 1 миллионом самых загруженных веб-сайтов. [42] В 2017 году Symantec продала свой бизнес TLS / SSL компании DigiCert. [43] В обновленном отчете было показано, что IdenTrust , DigiCert и Sectigo входят в тройку ведущих центров сертификации с точки зрения доли рынка с мая 2019 года. [44]
Как следствие выбора сертификатов X.509, центры сертификации и инфраструктура открытых ключей необходимы для проверки связи между сертификатом и его владельцем, а также для создания, подписи и управления действительностью сертификатов. Хотя это может быть удобнее, чем проверка личности через сеть доверия , раскрытие информации о массовом слежении в 2013 году сделало более широко известным, что центры сертификации являются слабым местом с точки зрения безопасности, что позволяет проводить атаки типа « злоумышленник посередине» (MITM). если центр сертификации сотрудничает (или скомпрометирован). [45] [46]
Алгоритмы
Обмен ключами или соглашение о ключах
Прежде чем клиент и сервер смогут начать обмен информацией, защищенной TLS, они должны безопасно обменяться или согласовать ключ шифрования и шифр, которые будут использоваться при шифровании данных (см. § Шифр ). Среди методов, используемых для обмена / согласования ключей: открытые и закрытые ключи, сгенерированные с помощью RSA (обозначаемые TLS_RSA в протоколе установления связи TLS), Диффи – Хеллмана (TLS_DH), эфемерный Диффи – Хеллмана (TLS_DHE), эллиптическая кривая Диффи – Хеллмана ( TLS_ECDH), эфемерная эллиптическая кривая Диффи – Хеллмана (TLS_ECDHE), анонимный Диффи – Хеллман (TLS_DH_anon) [7] предварительный общий ключ (TLS_PSK) [47] и безопасный удаленный пароль (TLS_SRP). [48]
Методы согласования ключей TLS_DH_anon и TLS_ECDH_anon не аутентифицируют сервер или пользователя и, следовательно, используются редко, поскольку они уязвимы для атак типа «злоумышленник в середине» . Только TLS_DHE и TLS_ECDHE обеспечивают прямую секретность .
Сертификаты открытых ключей, используемые во время обмена / соглашения, также различаются по размеру открытых / частных ключей шифрования, используемых во время обмена, и, следовательно, надежности обеспечиваемой безопасности. В июле 2013 года Google объявил, что больше не будет использовать 1024-битные открытые ключи и вместо этого переключится на 2048-битные ключи, чтобы повысить безопасность шифрования TLS, которое он предоставляет своим пользователям, поскольку надежность шифрования напрямую зависит от размера ключа. . [49] [50]
Алгоритм | SSL 2.0 | SSL 3.0 | TLS 1.0 | TLS 1.1 | TLS 1.2 | TLS 1.3 | Статус |
---|---|---|---|---|---|---|---|
ЮАР | да | да | да | да | да | Нет | Определено для TLS 1.2 в RFC |
DH - ЮАР | Нет | да | да | да | да | Нет | |
DHE - RSA ( прямая секретность ) | Нет | да | да | да | да | да | |
ECDH - ЮАР | Нет | Нет | да | да | да | Нет | |
ECDHE - RSA (прямая секретность) | Нет | Нет | да | да | да | да | |
DH - DSS | Нет | да | да | да | да | Нет | |
DHE - DSS (прямая секретность) | Нет | да | да | да | да | Нет [51] | |
ECDH - ECDSA | Нет | Нет | да | да | да | Нет | |
ECDHE - ECDSA (прямая секретность) | Нет | Нет | да | да | да | да | |
ECDH - EdDSA | Нет | Нет | да | да | да | Нет | |
ECDHE - EdDSA (прямая секретность) [52] | Нет | Нет | да | да | да | да | |
PSK | Нет | Нет | да | да | да | ||
ПСК - ЮАР | Нет | Нет | да | да | да | ||
DHE - PSK (прямая секретность) | Нет | Нет | да | да | да | да | |
ECDHE - PSK (прямая секретность) | Нет | Нет | да | да | да | да | |
SRP | Нет | Нет | да | да | да | ||
SRP - DSS | Нет | Нет | да | да | да | ||
SRP - ЮАР | Нет | Нет | да | да | да | ||
Kerberos | Нет | Нет | да | да | да | ||
DH -ANON (небезопасно) | Нет | да | да | да | да | ||
ECDH -ANON (небезопасно) | Нет | Нет | да | да | да | ||
ГОСТ Р 34.10-94 / 34.10-2001 [53] | Нет | Нет | да | да | да | Предлагается в проектах RFC |
Шифр
Шифр | Версия протокола | Статус | |||||||
---|---|---|---|---|---|---|---|---|---|
Тип | Алгоритм | Номинальная прочность (бит) | SSL 2.0 | SSL 3.0 [n 1] [n 2] [n 3] [n 4] | TLS 1.0 [n 1] [n 3] | TLS 1.1 [n 1] | TLS 1.2 [n 1] | TLS 1.3 | |
Блочный шифр с режимом работы | AES GCM [54] [n 5] | 256, 128 | N / A | N / A | N / A | N / A | Безопасный | Безопасный | Определено для TLS 1.2 в RFC |
СКК AES [55] [n 5] | N / A | N / A | N / A | N / A | Безопасный | Безопасный | |||
AES CBC [n 6] | N / A | Ненадежный | Зависит от смягчения | Зависит от смягчения | Зависит от смягчения | N / A | |||
Камелия GCM [56] [n 5] | 256, 128 | N / A | N / A | N / A | N / A | Безопасный | N / A | ||
Камелия CBC [57] [n 6] | N / A | Ненадежный | Зависит от смягчения | Зависит от смягчения | Зависит от смягчения | N / A | |||
ARIA GCM [58] [n 5] | 256, 128 | N / A | N / A | N / A | N / A | Безопасный | N / A | ||
ARIA CBC [58] [n 6] | N / A | N / A | Зависит от смягчения | Зависит от смягчения | Зависит от смягчения | N / A | |||
SEED CBC [59] [n 6] | 128 | N / A | Ненадежный | Зависит от смягчения | Зависит от смягчения | Зависит от смягчения | N / A | ||
3DES EDE CBC [n 6] [n 7] | 112 [n 8] | Ненадежный | Ненадежный | Ненадежный | Ненадежный | Ненадежный | N / A | ||
ГОСТ 28147-89 УНТ [53] [n 7] | 256 | N / A | N / A | Ненадежный | Ненадежный | Ненадежный | N / A | Определено в RFC 4357 | |
IDEA CBC [n 6] [n 7] [n 9] | 128 | Ненадежный | Ненадежный | Ненадежный | Ненадежный | N / A | N / A | Удалено из TLS 1.2 | |
DES CBC [n 6] [n 7] [n 9] | 56 | Ненадежный | Ненадежный | Ненадежный | Ненадежный | N / A | N / A | ||
40 [n 10] | Ненадежный | Ненадежный | Ненадежный | N / A | N / A | N / A | Запрещено в TLS 1.1 и новее | ||
RC2 CBC [n 6] [n 7] | 40 [n 10] | Ненадежный | Ненадежный | Ненадежный | N / A | N / A | N / A | ||
Потоковый шифр | ChaCha20 - Poly1305 [64] [n 5] | 256 | N / A | N / A | N / A | N / A | Безопасный | Безопасный | Определено для TLS 1.2 в RFC |
RC4 [n 11] | 128 | Ненадежный | Ненадежный | Ненадежный | Ненадежный | Ненадежный | N / A | Запрещено во всех версиях TLS RFC 7465 | |
40 [n 10] | Ненадежный | Ненадежный | Ненадежный | N / A | N / A | N / A | |||
Никто | Нулевой [n 12] | - | Ненадежный | Ненадежный | Ненадежный | Ненадежный | Ненадежный | N / A | Определено для TLS 1.2 в RFC |
- Заметки
- ^ а б в г RFC 5746 должен быть реализован, чтобы исправить ошибку повторного согласования, которая в противном случае нарушила бы этот протокол.
- ^ Если библиотеки реализуют исправления, перечисленные в RFC 5746 , это нарушает спецификацию SSL 3.0, которую IETF не может изменить, в отличие от TLS. Большинство современных библиотек реализуют исправление и игнорируют нарушение, которое оно вызывает.
- ^ Б BEAST атаки разрывов все блочные шифры (CBC) шифры , используемые в SSL 3.0 и TLS 1.0 , если не смягчается клиентом и / или сервером. См. § Веб-браузеры .
- ^ В пудель разрывы атаки все шифры блоков (CBC шифры)используемых в SSL 3.0если не смягчается клиентом и / или сервером. См. § Веб-браузеры .
- ^ a b c d e Шифры AEAD (например, GCM и CCM ) могут использоваться только в TLS 1.2 или более поздних версиях.
- ^ a b c d e f g h Шифры CBC могут быть атакованы с помощью атаки Lucky Thirteen, если библиотека не написана тщательно, чтобы исключить временные побочные каналы.
- ^ a b c d e Атака Sweet32 взламывает блочные шифры с размером блока 64 бита. [60]
- ^ Хотя длина ключа 3DES составляет 168 бит, эффективная сила безопасности 3DES составляет всего 112 бит [61], что ниже рекомендованного минимума в 128 бит. [62]
- ^ a b IDEA и DES были удалены из TLS 1.2. [63]
- ^ a b c Комплекты шифров с 40-битной стойкостью были специально разработаны с уменьшенной длиной ключа, чтобы соответствовать недавно отмененным правилам США, запрещающим экспорт криптографического программного обеспечения, содержащего определенные надежные алгоритмы шифрования (см. Экспорт криптографии из США ). Эти слабые комплекты запрещены в TLS 1.1 и более поздних версиях.
- ^ Использование RC4 во всех версиях TLS запрещено RFC 7465 (поскольку атаки RC4 ослабляют или нарушают работу RC4, используемого в SSL / TLS).
- ^ Только аутентификация, без шифрования.
Целостность данных
Код аутентификации сообщения (MAC) используется для обеспечения целостности данных. HMAC используется для режима CBC блочных шифров. Заверенные шифрования (AEAD) , такие как режим GCM и режим CCM использует AEAD интегрированный MAC и не использует HMAC . [65] PRF на основе HMAC или HKDF используется для установления связи TLS.
Алгоритм | SSL 2.0 | SSL 3.0 | TLS 1.0 | TLS 1.1 | TLS 1.2 | TLS 1.3 | Статус |
---|---|---|---|---|---|---|---|
HMAC - MD5 | да | да | да | да | да | Нет | Определено для TLS 1.2 в RFC |
HMAC - SHA1 | Нет | да | да | да | да | Нет | |
HMAC - SHA256 / 384 | Нет | Нет | Нет | Нет | да | Нет | |
AEAD | Нет | Нет | Нет | Нет | да | да | |
ГОСТ 28147-89 ИМИТ [53] | Нет | Нет | да | да | да | Предлагается в проектах RFC | |
ГОСТ Р 34.11-94 [53] | Нет | Нет | да | да | да |
Заявки и принятие
При разработке приложений TLS обычно реализуется поверх протоколов транспортного уровня, шифруя все связанные с протоколом данные таких протоколов, как HTTP , FTP , SMTP , NNTP и XMPP .
Исторически TLS использовался в основном с надежными транспортными протоколами, такими как протокол управления передачей (TCP). Однако он также был реализован с транспортными протоколами, ориентированными на дейтаграммы, такими как протокол дейтаграмм пользователя (UDP) и протокол управления перегрузкой дейтаграмм (DCCP), использование которых было стандартизовано независимо с использованием термина безопасности транспортного уровня дейтаграмм (DTLS). .
Сайты
Основное использование TLS - защита трафика World Wide Web между веб-сайтом и веб-браузером, закодированного с помощью протокола HTTP. Использование TLS для защиты HTTP-трафика составляет протокол HTTPS . [66]
Версия протокола | Поддержка веб-сайта [67] | Безопасность [67] [68] |
---|---|---|
SSL 2.0 | 0,5% | Ненадежный |
SSL 3.0 | 3,4% | Небезопасный [69] |
TLS 1.0 | 46,9% | Не рекомендуется [8] [9] [10] |
TLS 1.1 | 52,3% | Не рекомендуется [8] [9] [10] |
TLS 1.2 | 99,4% | Зависит от шифра [n 1] и защиты клиента [n 2] |
TLS 1.3 | 44,8% | Безопасный |
- Заметки
- ^ см. § Таблицу шифров выше
- ^ см. § Веб-браузеры и § Атаки на разделы TLS / SSL
Веб-браузеры
По состоянию на апрель 2016 г.[Обновить], последние версии всех основных веб-браузеров поддерживают TLS 1.0, 1.1 и 1.2, и по умолчанию они включены. Однако не все поддерживаемые операционные системы Microsoft поддерживают последнюю версию IE. Кроме того, многие операционные системы в настоящее время поддерживают несколько версий IE, но это изменилось в соответствии с часто задаваемыми вопросами о политике жизненного цикла поддержки Internet Explorer от Microsoft , «начиная с 12 января 2016 г. техническая поддержка и обновления безопасности ". Затем на странице перечисляется последняя поддерживаемая версия IE на указанную дату для каждой операционной системы. Следующая критическая дата наступит, когда операционная система достигнет стадии завершения жизненного цикла, что указано в информационном бюллетене Microsoft о жизненном цикле Windows .
Защиты от известных атак пока недостаточно:
- Меры против атаки POODLE : некоторые браузеры уже предотвращают откат на SSL 3.0; однако это смягчение последствий должно поддерживаться не только клиентами, но и серверами. Отключение самого SSL 3.0, реализация «анти-разбиения записей POODLE» или запрета шифрования CBC в SSL 3.0 обязательны.
- Google Chrome: завершено (TLS_FALLBACK_SCSV реализован с версии 33, откат к SSL 3.0 отключен с версии 39, сам SSL 3.0 отключен по умолчанию с версии 40. Поддержка самого SSL 3.0 была прекращена с версии 44.)
- Mozilla Firefox: завершено (поддержка самого SSL 3.0 отсутствует с версии 39. Сам SSL 3.0 отключен по умолчанию, а возврат к SSL 3.0 отключен с версии 34 , TLS_FALLBACK_SCSV реализован с версии 35. В ESR сам SSL 3.0 отключен default, а TLS_FALLBACK_SCSV реализован, начиная с ESR 31.3.)
- Internet Explorer: частичный (только в версии 11 SSL 3.0 отключен по умолчанию с апреля 2015 года. Версия 10 и более ранние по-прежнему уязвимы для POODLE.)
- Opera : Complete (TLS_FALLBACK_SCSV реализован с версии 20, «анти-POODLE», которое действует только при реализации на стороне клиента, реализовано с версии 25, сам SSL 3.0 отключен по умолчанию, начиная с версии 27. Поддержка SSL 3.0 сам будет сброшен с версии 31.)
- Safari: завершено (только в OS X 10.8 и новее и iOS 8, шифры CBC во время отката к SSL 3.0 запрещены, но это означает, что он будет использовать RC4, что также не рекомендуется. Поддержка самого SSL 3.0 в OS X отсутствует. 10.11 и новее и iOS 9.)
- Защита от атак RC4 :
- Google Chrome отключил RC4, кроме как в качестве запасного варианта, начиная с версии 43. RC4 отключен с Chrome 48.
- Firefox отключил RC4, кроме как в качестве запасного варианта, начиная с версии 36. Firefox 44 отключил RC4 по умолчанию.
- Opera отключила RC4, кроме как в качестве запасного варианта, начиная с версии 30. RC4 отключен с Opera 35.
- Internet Explorer для Windows 7 / Server 2008 R2 и Windows 8 / Server 2012 установил приоритет RC4 на самый низкий и также может отключить RC4, кроме как в качестве запасного варианта в настройках реестра. Internet Explorer 11 Mobile 11 для Windows Phone 8.1 отключает RC4, за исключением случаев, когда другой активированный алгоритм не работает. Edge и IE 11 полностью отключают RC4 в августе 2016 года.
- Меры против атаки FREAK :
- Браузер Android, входящий в состав Android 4.0 и более ранних версий, по-прежнему уязвим для атаки FREAK.
- Internet Explorer 11 Mobile по-прежнему уязвим для атаки FREAK.
- В Google Chrome, Internet Explorer (для настольных ПК), Safari (для настольных и мобильных устройств) и Opera (для мобильных устройств) предусмотрены средства защиты от FREAK.
- FREAK не повлиял на Mozilla Firefox на всех платформах и Google Chrome в Windows.
Браузер | Версия | Платформы | Протоколы SSL | Протоколы TLS | Сертификатная поддержка | Устранены уязвимости [n 1] | Выбор протокола пользователем [n 2] | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SSL 2.0 (небезопасный) | SSL 3.0 (небезопасный) | TLS 1.0 (устарело) | TLS 1.1 (устарело) | TLS 1.2 | TLS 1.3 | EV [n 3] [70] | SHA-2 [71] | ECDSA [72] | ЗВЕРЬ [n 4] | ПРЕСТУПЛЕНИЕ [n 5] | ПУДЕЛЬ (SSLv3) [n 6] | RC4 [n 7] | УЖАС [73] [74] | Затор | |||||
Google Chrome ( Chrome для Android ) [n 8] [n 9] | 1–9 | Windows (7+) macOS (10.11+) Linux Android (5.0+) iOS (12.2+) Chrome OS | По умолчанию отключено | Включено по умолчанию | да | Нет | Нет | Нет | Да (только настольный компьютер) | требуется SHA-2-совместимая ОС [71] | требуется ОС, совместимая с ECC [72] | Не влияет [79] | Уязвимый (HTTPS) | Уязвимый | Уязвимый | Уязвимый (кроме Windows) | Уязвимый | Да [n 10] | |
10–20 | Нет [80] | Включено по умолчанию | да | Нет | Нет | Нет | Да (только настольный компьютер) | требуется SHA-2-совместимая ОС [71] | требуется ОС, совместимая с ECC [72] | Не затронут | Уязвимый (HTTPS / SPDY) | Уязвимый | Уязвимый | Уязвимый (кроме Windows) | Уязвимый | Да [n 10] | |||
21 год | Нет | Включено по умолчанию | да | Нет | Нет | Нет | Да (только настольный компьютер) | требуется SHA-2-совместимая ОС [71] | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено [81] | Уязвимый | Уязвимый | Уязвимый (кроме Windows) | Уязвимый | Да [n 10] | |||
22–29 | Нет | Включено по умолчанию | да | Да [82] | Нет [82] [83] [84] [85] | Нет | Да (только настольный компьютер) | требуется SHA-2-совместимая ОС [71] | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Уязвимый | Уязвимый | Уязвимый (кроме Windows) | Уязвимый | Временный [№ 11] | |||
30–32 | Нет | Включено по умолчанию | да | да | Да [83] [84] [85] | Нет | Да (только настольный компьютер) | требуется SHA-2-совместимая ОС [71] | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Уязвимый | Уязвимый | Уязвимый (кроме Windows) | Уязвимый | Временный [№ 11] | |||
33–37 | Нет | Включено по умолчанию | да | да | да | Нет | Да (только настольный компьютер) | требуется SHA-2-совместимая ОС [71] | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Частично смягчено [n 12] | Самый низкий приоритет [88] [89] [90] | Уязвимый (кроме Windows) | Уязвимый | Временный [№ 11] | |||
38, 39 | Нет | Включено по умолчанию | да | да | да | Нет | Да (только настольный компьютер) | да | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Частично смягчено | Самый низкий приоритет | Уязвимый (кроме Windows) | Уязвимый | Временный [№ 11] | |||
40 | Нет | Отключено по умолчанию [87] [91] | да | да | да | Нет | Да (только настольный компьютер) | да | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Смягчено [n 13] | Самый низкий приоритет | Уязвимый (кроме Windows) | Уязвимый | Да [n 14] | |||
41, 42 | Нет | По умолчанию отключено | да | да | да | Нет | Да (только настольный компьютер) | да | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Смягчено | Самый низкий приоритет | Смягчено | Уязвимый | Да [n 14] | |||
43 год | Нет | По умолчанию отключено | да | да | да | Нет | Да (только настольный компьютер) | да | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Смягчено | Только в качестве запасного варианта [n 15] [92] | Смягчено | Уязвимый | Да [n 14] | |||
44–47 | Нет | Нет [93] | да | да | да | Нет | Да (только настольный компьютер) | да | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Не затронут | Только в качестве запасного варианта [n 15] | Смягчено | Смягчены [94] | Временный [№ 11] | |||
48, 49 | Нет | Нет | да | да | да | Нет | Да (только настольный компьютер) | да | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] [95] [96] | Смягчено | Смягчено | Временный [№ 11] | |||
50–53 | Нет | Нет | да | да | да | Нет | Да (только настольный компьютер) | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] [95] [96] | Смягчено | Смягчено | Временный [№ 11] | |||
54–66 | Нет | Нет | да | да | да | По умолчанию отключено (черновая версия) | Да (только настольный компьютер) | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] [95] [96] | Смягчено | Смягчено | Временный [№ 11] | |||
67–69 | Нет | Нет | да | да | да | Да (черновая версия) | Да (только настольный компьютер) | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] [95] [96] | Смягчено | Смягчено | Временный [№ 11] | |||
70–83 | Нет | Нет | да | да | да | да | Да (только настольный компьютер) | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] [95] [96] | Смягчено | Смягчено | Временный [№ 11] | |||
84–89 | 90 | Нет | Нет | Предупреждать по умолчанию | Предупреждать по умолчанию | да | да | Да (только настольный компьютер) | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] [95] [96] | Смягчено | Смягчено | Временный [№ 11] | ||
91 [97] | Нет | Нет | Нет | Нет | да | да | Да (только настольный компьютер) | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] [95] [96] | Смягчено | Смягчено | Временный [№ 11] | |||
Браузер | Версия | Платформы | SSL 2.0 (небезопасный) | SSL 3.0 (небезопасный) | TLS 1.0 (устарело) | TLS 1.1 (устарело) | TLS 1.2 | TLS 1.3 | Сертификат электромобиля | Сертификат SHA-2 | Сертификат ECDSA | ЗВЕРЬ | ПРЕСТУПЛЕНИЕ | ПУДЕЛЬ (SSLv3) | RC4 | НЕНОРМАЛЬНЫЙ | Затор | Выбор протокола пользователем | |
Независимость от ОС Microsoft Edge (на основе Chromium) | 79–83 | Windows (7+) macOS (10.12+) Linux Android (4.4+) iOS (11.0+) | Нет | Нет | да | да | да | да | да | да | да | Смягчено | Не затронут | Не затронут | По умолчанию отключено | Смягчено | Смягчено | Да [n 10] | |
84–89 | 90 | Нет | Нет | Предупреждать по умолчанию | Предупреждать по умолчанию | да | да | да | да | да | Смягчено | Не затронут | Не затронут | По умолчанию отключено | Смягчено | Смягчено | Да [n 10] | ||
91 [98] | Нет | Нет | Нет | Нет | да | да | да | да | да | Смягчено | Не затронут | Не затронут | По умолчанию отключено | Смягчено | Смягчено | Да [n 10] | |||
Браузер | Версия | Платформы | SSL 2.0 (небезопасный) | SSL 3.0 (небезопасный) | TLS 1.0 (устарело) | TLS 1.1 (устарело) | TLS 1.2 | TLS 1.3 | Сертификат электромобиля | Сертификат SHA-2 | Сертификат ECDSA | ЗВЕРЬ | ПРЕСТУПЛЕНИЕ | ПУДЕЛЬ (SSLv3) | RC4 | НЕНОРМАЛЬНЫЙ | Затор | Выбор протокола пользователем | |
Mozilla Firefox ( Firefox для мобильных устройств ) [n 17] | 1.0, 1.5 | Windows (7+) macOS (10.12+) Linux Android (5.0+) iOS (11.4+) ESR для: Windows (7+) macOS (10.9+) Linux | Включено по умолчанию [99] | Включено по умолчанию [99] | Да [99] | Нет | Нет | Нет | Нет | Да [71] | Нет | Не влияет [100] | Не затронут | Уязвимый | Уязвимый | Не затронут | Уязвимый | Да [n 10] | |
2 | По умолчанию отключено [99] [101] | Включено по умолчанию | да | Нет | Нет | Нет | Нет | да | Да [72] | Не затронут | Не затронут | Уязвимый | Уязвимый | Не затронут | Уязвимый | Да [n 10] | |||
3–7 | По умолчанию отключено | Включено по умолчанию | да | Нет | Нет | Нет | да | да | да | Не затронут | Не затронут | Уязвимый | Уязвимый | Не затронут | Уязвимый | Да [n 10] | |||
8–10 СОЭ 10 | Нет [101] | Включено по умолчанию | да | Нет | Нет | Нет | да | да | да | Не затронут | Не затронут | Уязвимый | Уязвимый | Не затронут | Уязвимый | Да [n 10] | |||
11–14 | Нет | Включено по умолчанию | да | Нет | Нет | Нет | да | да | да | Не затронут | Уязвимый (SPDY) [81] | Уязвимый | Уязвимый | Не затронут | Уязвимый | Да [n 10] | |||
15–22 СОЭ 17.0–17.0.10 | Нет | Включено по умолчанию | да | Нет | Нет | Нет | да | да | да | Не затронут | Смягчено | Уязвимый | Уязвимый | Не затронут | Уязвимый | Да [n 10] | |||
СОЭ 17.0.11 | Нет | Включено по умолчанию | да | Нет | Нет | Нет | да | да | да | Не затронут | Смягчено | Уязвимый | Самый низкий приоритет [102] [103] | Не затронут | Уязвимый | Да [n 10] | |||
23 | Нет | Включено по умолчанию | да | По умолчанию отключено [104] | Нет | Нет | да | да | да | Не затронут | Смягчено | Уязвимый | Уязвимый | Не затронут | Уязвимый | Да [n 18] | |||
24, 25.0.0 СОЭ 24.0–24.1.0 | Нет | Включено по умолчанию | да | По умолчанию отключено | По умолчанию отключено [105] | Нет | да | да | да | Не затронут | Смягчено | Уязвимый | Уязвимый | Не затронут | Уязвимый | Да [n 18] | |||
25.0.1, 26 СОЭ 24.1.1 | Нет | Включено по умолчанию | да | По умолчанию отключено | По умолчанию отключено | Нет | да | да | да | Не затронут | Смягчено | Уязвимый | Самый низкий приоритет [102] [103] | Не затронут | Уязвимый | Да [n 18] | |||
27–33 СОЭ 31,0–31,2 | Нет | Включено по умолчанию | да | Да [106] [107] | Да [108] [107] | Нет | да | да | да | Не затронут | Смягчено | Уязвимый | Самый низкий приоритет | Не затронут | Уязвимый | Да [n 18] | |||
34, 35 СОЭ 31,3–31,7 | Нет | По умолчанию отключено [109] [110] | да | да | да | Нет | да | да | да | Не затронут | Смягчено | Смягчено [n 19] | Самый низкий приоритет | Не затронут | Уязвимый | Да [n 18] | |||
СОЭ 31,8 | Нет | По умолчанию отключено | да | да | да | Нет | да | да | да | Не затронут | Смягчено | Смягчено | Самый низкий приоритет | Не затронут | Смягчены [113] | Да [n 18] | |||
36–38 СОЭ 38,0 | Нет | По умолчанию отключено | да | да | да | Нет | да | да | да | Не затронут | Смягчено | Смягчено | Только в качестве запасного варианта [n 15] [114] | Не затронут | Уязвимый | Да [n 18] | |||
СОЭ 38,1–38,8 | Нет | По умолчанию отключено | да | да | да | Нет | да | да | да | Не затронут | Смягчено | Смягчено | Только в качестве запасного варианта [n 15] | Не затронут | Смягчены [113] | Да [n 18] | |||
39–43 | Нет | Нет [115] | да | да | да | Нет | да | да | да | Не затронут | Смягчено | Не затронут | Только в качестве запасного варианта [n 15] | Не затронут | Смягчены [113] | Да [n 18] | |||
44–48 СОЭ 45 | Нет | Нет | да | да | да | Нет | да | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] [116] [117] [118] [119] | Не затронут | Смягчено | Да [n 18] | |||
49–59 СОЭ 52 | Нет | Нет | да | да | да | По умолчанию отключено (черновая версия) [120] | да | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] | Не затронут | Смягчено | Да [n 18] | |||
60–62 СОЭ 60 | Нет | Нет | да | да | да | Да (черновая версия) | да | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] | Не затронут | Смягчено | Да [n 18] | |||
63–77 СОЭ 68 | Нет | Нет | да | да | да | да | да | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] | Не затронут | Смягчено | Да [n 18] | |||
78–87 СОЭ 78,0–78,9 | Нет | Нет | По умолчанию отключено [121] | По умолчанию отключено [121] | да | да | да | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] | Не затронут | Смягчено | Да [n 18] | |||
СОЭ 78,10 | 88 | ||||||||||||||||||
Браузер | Версия | Платформы | SSL 2.0 (небезопасный) | SSL 3.0 (небезопасный) | TLS 1.0 (устарело) | TLS 1.1 (устарело) | TLS 1.2 | TLS 1.3 | Сертификат электромобиля | Сертификат SHA-2 | Сертификат ECDSA | ЗВЕРЬ | ПРЕСТУПЛЕНИЕ | ПУДЕЛЬ (SSLv3) | RC4 | НЕНОРМАЛЬНЫЙ | Затор | Выбор протокола пользователем | |
Браузер Opera ( Opera Mobile ) ( Pre-Presto и Presto ) [n 20] | 1-2 | Нет поддержки SSL / TLS [123] | |||||||||||||||||
3 | Да [124] | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет поддержки SSL 3.0 или TLS | Уязвимый | Неизвестный | Неизвестный | N / A | |||||
4 | да | Да [125] | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Уязвимый | Не затронут | Уязвимый | Уязвимый | Неизвестный | Неизвестный | Неизвестный | |||
5 | Включено по умолчанию | Включено по умолчанию | Да [126] | Нет | Нет | Нет | Нет | Нет | Нет | Уязвимый | Не затронут | Уязвимый | Уязвимый | Неизвестный | Неизвестный | Да [n 10] | |||
6–7 | Включено по умолчанию | Включено по умолчанию | да | Нет | Нет | Нет | Нет | Да [71] | Нет | Уязвимый | Не затронут | Уязвимый | Уязвимый | Неизвестный | Неизвестный | Да [n 10] | |||
8 | Включено по умолчанию | Включено по умолчанию | да | По умолчанию отключено [127] | Нет | Нет | Нет | да | Нет | Уязвимый | Не затронут | Уязвимый | Уязвимый | Неизвестный | Неизвестный | Да [n 10] | |||
9 | По умолчанию отключено [128] | Включено по умолчанию | да | да | Нет | Нет | начиная с v9.5 (только настольный компьютер) | да | Нет | Уязвимый | Не затронут | Уязвимый | Уязвимый | Неизвестный | Неизвестный | Да [n 10] | |||
10–11,52 | Нет [129] | Включено по умолчанию | да | По умолчанию отключено | По умолчанию отключено [129] | Нет | Да (только настольный компьютер) | да | Нет | Уязвимый | Не затронут | Уязвимый | Уязвимый | Неизвестный | Неизвестный | Да [n 10] | |||
11,60–11,64 | Нет | Включено по умолчанию | да | По умолчанию отключено | По умолчанию отключено | Нет | Да (только настольный компьютер) | да | Нет | Смягчено [130] | Не затронут | Уязвимый | Уязвимый | Неизвестный | Неизвестный | Да [n 10] | |||
12–12,14 | Нет | По умолчанию отключено [n 21] | да | По умолчанию отключено | По умолчанию отключено | Нет | Да (только настольный компьютер) | да | Нет | Смягчено | Не затронут | Смягчено [n 21] | Уязвимый | Неизвестный | Смягчены [132] | Да [n 10] | |||
12.15–12.17 | Нет | По умолчанию отключено | да | По умолчанию отключено | По умолчанию отключено | Нет | Да (только настольный компьютер) | да | Нет | Смягчено | Не затронут | Смягчено | Частично смягчены [133] [134] | Неизвестный | Смягчены [132] | Да [n 10] | |||
12,18 | Нет | По умолчанию отключено | да | Да [135] | Да [135] | Нет | Да (только настольный компьютер) | да | Да [135] | Смягчено | Не затронут | Смягчено | По умолчанию отключено [N 16] [135] | Смягчены [135] | Смягчены [132] | Да [n 10] | |||
Браузер | Версия | Платформы | SSL 2.0 (небезопасный) | SSL 3.0 (небезопасный) | TLS 1.0 (устарело) | TLS 1.1 (устарело) | TLS 1.2 | TLS 1.3 | Сертификат электромобиля | Сертификат SHA-2 | Сертификат ECDSA | ЗВЕРЬ | ПРЕСТУПЛЕНИЕ | ПУДЕЛЬ (SSLv3) | RC4 | НЕНОРМАЛЬНЫЙ | Затор | Выбор протокола пользователем | |
Браузер Opera ( Opera Mobile ) ( Webkit и Blink ) [n 22] | 14–16 | Windows (7+) macOS (10.11+) Linux Android (4.4+) | Нет | Включено по умолчанию | да | Да [138] | Нет | Нет | Да (только настольный компьютер) | требуется SHA-2-совместимая ОС [71] | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Уязвимый | Уязвимый | Уязвимый (кроме Windows) | Уязвимый | Временный [№ 11] | |
17–19 | Нет | Включено по умолчанию | да | да | Да [139] | Нет | Да (только настольный компьютер) | требуется SHA-2-совместимая ОС [71] | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Уязвимый | Уязвимый | Уязвимый (кроме Windows) | Уязвимый | Временный [№ 11] | |||
20–24 | Нет | Включено по умолчанию | да | да | да | Нет | Да (только настольный компьютер) | требуется SHA-2-совместимая ОС [71] | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Частично смягчены [n 23] | Самый низкий приоритет [140] | Уязвимый (кроме Windows) | Уязвимый | Временный [№ 11] | |||
25, 26 | Нет | Включено по умолчанию [n 24] | да | да | да | Нет | Да (только настольный компьютер) | да | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Смягчено [n 25] | Самый низкий приоритет | Уязвимый (кроме Windows) | Уязвимый | Временный [№ 11] | |||
27 | Нет | По умолчанию отключено [91] | да | да | да | Нет | Да (только настольный компьютер) | да | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Смягчено [n 26] | Самый низкий приоритет | Уязвимый (кроме Windows) | Уязвимый | Да [n 27] (только настольный компьютер) | |||
28, 29 | Нет | По умолчанию отключено | да | да | да | Нет | Да (только настольный компьютер) | да | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Смягчено | Самый низкий приоритет | Смягчено | Уязвимый | Да [n 27] (только настольный компьютер) | |||
30 | Нет | По умолчанию отключено | да | да | да | Нет | Да (только настольный компьютер) | да | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Смягчено | Только в качестве запасного варианта [n 15] [92] | Смягчено | Смягчены [132] | Да [n 27] (только настольный компьютер) | |||
31–34 | Нет | Нет [93] | да | да | да | Нет | Да (только настольный компьютер) | да | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Не затронут | Только в качестве запасного варианта [n 15] [92] | Смягчено | Смягчено | Временный [№ 11] | |||
35, 36 | Нет | Нет | да | да | да | Нет | Да (только настольный компьютер) | да | требуется ОС, совместимая с ECC [72] | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] [95] [96] | Смягчено | Смягчено | Временный [№ 11] | |||
37–40 | Нет | Нет | да | да | да | Нет | Да (только настольный компьютер) | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] [95] [96] | Смягчено | Смягчено | Временный [№ 11] | |||
41–56 | Нет | Нет | да | да | да | По умолчанию отключено (черновая версия) | Да (только настольный компьютер) | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] [95] [96] | Смягчено | Смягчено | Временный [№ 11] | |||
57–74 | Нет | Нет | да | да | да | да | Да (только настольный компьютер) | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] [95] [96] | Смягчено | Смягчено | Временный [№ 11] | |||
75 | 76 | Нет | Нет | Предупреждать по умолчанию | Предупреждать по умолчанию | да | да | Да (только настольный компьютер) | да | да | Не затронут | Смягчено | Не затронут | По умолчанию отключено [N 16] [95] [96] | Смягчено | Смягчено | Временный [№ 11] | ||
Браузер | Версия | Платформы | SSL 2.0 (небезопасный) | SSL 3.0 (небезопасный) | TLS 1.0 (устарело) | TLS 1.1 (устарело) | TLS 1.2 | TLS 1.3 | Сертификат электромобиля | Сертификат SHA-2 | Сертификат ECDSA | ЗВЕРЬ | ПРЕСТУПЛЕНИЕ | ПУДЕЛЬ (SSLv3) | RC4 | НЕНОРМАЛЬНЫЙ | Затор | Выбор протокола пользователем | |
Microsoft Internet Explorer (1–10) [n 28] | 1.x | Windows 3.1 , 95 , NT , [n 29] [n 30] Mac OS 7 , 8 | Нет поддержки SSL / TLS | ||||||||||||||||
2 | да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет поддержки SSL 3.0 или TLS | Уязвимый | Уязвимый | Уязвимый | N / A | |||||
3 | да | Да [143] | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Уязвимый | Не затронут | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Неизвестный | |||
4 , 5 , 6 | Windows 3.1 , 95 , 98 , NT , 2000 [n 29] [n 30] Mac OS 7.1 , 8 , X , Solaris , HP-UX | Включено по умолчанию | Включено по умолчанию | По умолчанию отключено [143] | Нет | Нет | Нет | Нет | Нет | Нет | Уязвимый | Не затронут | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Да [n 10] | ||
6 | Windows XP [n 30] | Включено по умолчанию | Включено по умолчанию | По умолчанию отключено | Нет | Нет | Нет | Нет | Да [n 31] [144] | Нет | Смягчено | Не затронут | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Да [n 10] | ||
7 , 8 | По умолчанию отключено [145] | Включено по умолчанию | Да [145] | Нет | Нет | Нет | да | Да [n 31] [144] | Нет | Смягчено | Не затронут | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Да [n 10] | |||
6 | Сервер 2003 [n 30] | Включено по умолчанию | Включено по умолчанию | По умолчанию отключено | Нет | Нет | Нет | Нет | Да [n 31] [144] | Нет | Смягчено | Не затронут | Уязвимый | Уязвимый | Смягчено [148] | Смягчено [149] | Да [n 10] | ||
7 , 8 | По умолчанию отключено [145] | Включено по умолчанию | Да [145] | Нет | Нет | Нет | да | Да [n 31] [144] | Нет | Смягчено | Не затронут | Уязвимый | Уязвимый | Смягчено [148] | Смягчено [149] | Да [n 10] | |||
7 , 8 , 9 | Виндоус виста | По умолчанию отключено | Включено по умолчанию | да | Нет | Нет | Нет | да | да | Да [72] | Смягчено | Не затронут | Уязвимый | Уязвимый | Смягчено [148] | Смягчено [149] | Да [n 10] | ||
7 , 8 , 9 | Сервер 2008 | По умолчанию отключено | Включено по умолчанию | да | По умолчанию отключено [150] (KB4019276) | По умолчанию отключено [150] (KB4019276) | Нет | да | да | Да [72] | Смягчено | Не затронут | Уязвимый | Уязвимый | Смягчено [148] | Смягчено [149] | Да [n 10] | ||
8 , 9 , 10 | Windows , +7 / +8 Сервер 2008 R2 / 2012 | По умолчанию отключено | Включено по умолчанию | да | По умолчанию отключено [151] | По умолчанию отключено [151] | Нет | да | да | да | Смягчено | Не затронут | Уязвимый | Самый низкий приоритет [152] [n 32] | Смягчено [148] | Смягчено [149] | Да [n 10] | ||
Internet Explorer 11 [n 28] | 11 | Windows 7 Server 2008 R2 | По умолчанию отключено | По умолчанию отключено [n 33] | да | Да [154] | Да [154] | Нет | да | да | да | Смягчено | Не затронут | Смягчено [n 33] | Отключено по умолчанию [158] | Смягчено [148] | Смягчено [149] | Да [n 10] | |
11 [159] | Windows 8.1 | По умолчанию отключено | По умолчанию отключено [n 33] | да | Да [154] | Да [154] | Нет | да | да | да | Смягчено | Не затронут | Смягчено [n 33] | По умолчанию отключено [N 16] | Смягчено [148] | Смягчено [149] | Да [n 10] | ||
Сервер 2012 Сервер 2012 R2 | |||||||||||||||||||
Браузер | Версия | Платформы | SSL 2.0 (небезопасный) | SSL 3.0 (небезопасный) | TLS 1.0 (устарело) | TLS 1.1 (устарело) | TLS 1.2 | TLS 1.3 | Сертификат электромобиля | Сертификат SHA-2 | Сертификат ECDSA | ЗВЕРЬ | ПРЕСТУПЛЕНИЕ | ПУДЕЛЬ (SSLv3) | RC4 | НЕНОРМАЛЬНЫЙ | Затор | Выбор протокола пользователем | |
Microsoft Edge (12–18) (на основе EdgeHTML) Только клиент Internet Explorer 11 [n 28] | 11 | 12–13 | Windows 10 1507–1511 | По умолчанию отключено | По умолчанию отключено | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Смягчено | По умолчанию отключено [N 16] | Смягчено | Смягчено | Да [n 10] |
11 | 14–18 (только клиент) | Windows 10 1607–1903 Windows Server (SAC) 1709–1903 | Нет [160] | По умолчанию отключено | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Смягчено | По умолчанию отключено [N 16] | Смягчено | Смягчено | Да [n 10] | |
11 | 18 (только клиент) | Windows 10 1909 Windows Server (SAC) 1909 | Нет | По умолчанию отключено | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Смягчено | По умолчанию отключено [N 16] | Смягчено | Смягчено | Да [n 10] | |
11 | 18 (только клиент) | Windows 10 2004 Windows Server (SAC) 2004 | Нет | По умолчанию отключено | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Смягчено | По умолчанию отключено [N 16] | Смягчено | Смягчено | Да [n 10] | |
Internet Explorer 11 [n 28] | 11 | Windows 10 20H2 Windows Server (SAC) 20H2 | Нет | По умолчанию отключено | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Смягчено | По умолчанию отключено [N 16] | Смягчено | Смягчено | Да [n 10] | |
11 | Windows 10 21H1 Windows Server (SAC) 21H1 | Нет | По умолчанию отключено | да | да | да | Да [161] | да | да | да | Смягчено | Не затронут | Смягчено | По умолчанию отключено [N 16] | Смягчено | Смягчено | Да [n 10] | ||
Internet Explorer 11 [n 28] | 11 | Windows 10 LTSB 2015 (1507) | По умолчанию отключено | По умолчанию отключено | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Смягчено | По умолчанию отключено [N 16] | Смягчено | Смягчено | Да [n 10] | |
11 | Windows 10 LTSB 2016 (1607) | Нет [160] | По умолчанию отключено | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Смягчено | По умолчанию отключено [N 16] | Смягчено | Смягчено | Да [n 10] | ||
11 | Windows Server 2016 (LTSB / 1607) | Нет [160] | По умолчанию отключено | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Смягчено | По умолчанию отключено [N 16] | Смягчено | Смягчено | Да [n 10] | ||
11 | Windows 10 LTSC 2019 (1809) Windows Server 2019 (LTSC / 1809) | Нет | По умолчанию отключено | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Смягчено | По умолчанию отключено [N 16] | Смягчено | Смягчено | Да [n 10] | ||
11 | Windows Server 2022 (LTSC / 21H?) | Нет | По умолчанию отключено | да | да | да | Да [161] | да | да | да | Смягчено | Не затронут | Смягчено | По умолчанию отключено [N 16] | Смягчено | Смягчено | Да [n 10] | ||
Браузер | Версия | Платформы | SSL 2.0 (небезопасный) | SSL 3.0 (небезопасный) | TLS 1.0 (устарело) | TLS 1.1 (устарело) | TLS 1.2 | TLS 1.3 | Сертификат электромобиля | Сертификат SHA-2 | Сертификат ECDSA | ЗВЕРЬ | ПРЕСТУПЛЕНИЕ | ПУДЕЛЬ (SSLv3) | RC4 | НЕНОРМАЛЬНЫЙ | Затор | Выбор протокола пользователем | |
Microsoft Internet Explorer Mobile [n 28] | 7, 9 | Windows Phone 7, 7.5, 7.8 | По умолчанию отключено [145] | Включено по умолчанию | да | Нет [ необходима ссылка ] | Нет [ необходима ссылка ] | Нет | Нет [ необходима ссылка ] | да | Да [162] | Неизвестный | Не затронут | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Только со сторонними инструментами [n 34] | |
10 | Windows Phone 8 | По умолчанию отключено | Включено по умолчанию | да | По умолчанию отключено [164] | По умолчанию отключено [164] | Нет | Нет [ необходима ссылка ] | да | Да [165] | Смягчено | Не затронут | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Только со сторонними инструментами [n 34] | ||
11 | Windows Phone 8.1 | По умолчанию отключено | Включено по умолчанию | да | Да [166] | Да [166] | Нет | Нет [ необходима ссылка ] | да | да | Смягчено | Не затронут | Уязвимый | Только в качестве запасного варианта [n 15] [167] [168] | Уязвимый | Уязвимый | Только со сторонними инструментами [n 34] | ||
Microsoft Edge (13–15) (на основе EdgeHTML) [n 35] | 13 | Windows 10 Mobile 1511 | По умолчанию отключено | По умолчанию отключено | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Смягчено | По умолчанию отключено [N 16] | Смягчено | Смягчено | Нет | |
14, 15 | Windows 10 Mobile 1607–1709 | Нет [160] | По умолчанию отключено | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Смягчено | По умолчанию отключено [N 16] | Смягчено | Смягчено | Нет | ||
Браузер | Версия | Платформы | SSL 2.0 (небезопасный) | SSL 3.0 (небезопасный) | TLS 1.0 (устарело) | TLS 1.1 (устарело) | TLS 1.2 | TLS 1.3 | Сертификат электромобиля | Сертификат SHA-2 | Сертификат ECDSA | ЗВЕРЬ | ПРЕСТУПЛЕНИЕ | ПУДЕЛЬ (SSLv3) | RC4 | НЕНОРМАЛЬНЫЙ | Затор | Выбор протокола пользователем | |
Apple Safari [n 36] | 1 | Mac OS X 10.2 , 10.3 | Нет [173] | да | да | Нет | Нет | Нет | Нет | Нет | Нет | Уязвимый | Не затронут | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Нет | |
2–5 | Mac OS X 10.4 , 10.5 , Win XP | Нет | да | да | Нет | Нет | Нет | начиная с v3.2 | Нет | Нет | Уязвимый | Не затронут | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Нет | ||
3–5 | Vista , Win 7 | Нет | да | да | Нет | Нет | Нет | начиная с v3.2 | Нет | Да [162] | Уязвимый | Не затронут | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Нет | ||
4–6 | Mac OS X 10.6 , 10.7 | Нет | да | да | Нет | Нет | Нет | да | Да [71] | Да [72] | Уязвимый | Не затронут | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Нет | ||
6 | OS X 10.8 | Нет | да | да | Нет | Нет | Нет | да | да | Да [72] | Смягчено [n 37] | Не затронут | Смягчено [n 38] | Уязвимый [n 38] | Смягчено [179] | Уязвимый | Нет | ||
7, 9 | OS X 10.9 | Нет | да | да | Да [180] | Да [180] | Нет | да | да | да | Смягчено [175] | Не затронут | Смягчено [n 38] | Уязвимый [n 38] | Смягчено [179] | Уязвимый | Нет | ||
8–10 | OS X 10.10 | Нет | да | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Смягчено [n 38] | Самый низкий приоритет [181] [n 38] | Смягчено [179] | Смягчено [182] | Нет | ||
9–11 | OS X 10.11 | Нет | Нет | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Не затронут | Самый низкий приоритет | Смягчено | Смягчено | Нет | ||
10–13 | macOS 10.12 , 10.13 | Нет | Нет | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Не затронут | По умолчанию отключено [N 16] | Смягчено | Смягчено | Нет | ||
12, 13 | 14 | macOS 10.14 | Нет | Нет | да | да | да | Да (начиная с macOS 10.14.4) [183] | да | да | да | Смягчено | Не затронут | Не затронут | По умолчанию отключено [N 16] | Смягчено | Смягчено | Нет | |
13 | 14 | macOS 10.15 | Нет | Нет | да | да | да | да | да | да | да | Смягчено | Не затронут | Не затронут | По умолчанию отключено [N 16] | Смягчено | Смягчено | Нет | |
14 | macOS 11 | Нет | Нет | да | да | да | да | да | да | да | Смягчено | Не затронут | Не затронут | По умолчанию отключено [N 16] | Смягчено | Смягчено | Нет | ||
Браузер | Версия | Платформы | SSL 2.0 (небезопасный) | SSL 3.0 (небезопасный) | TLS 1.0 (устарело) | TLS 1.1 (устарело) | TLS 1.2 | TLS 1.3 | Сертификат электромобиля | Сертификат SHA-2 | Сертификат ECDSA | ЗВЕРЬ | ПРЕСТУПЛЕНИЕ | ПУДЕЛЬ (SSLv3) | RC4 | НЕНОРМАЛЬНЫЙ | Затор | Выбор протокола пользователем | |
Apple Safari (мобильный) [n 39] | 3 | iPhone OS 1 , 2 | Нет [187] | да | да | Нет | Нет | Нет | Нет | Нет | Нет | Уязвимый | Не затронут | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Нет | |
4, 5 | iPhone OS 3 , iOS 4 | Нет | да | да | Нет | Нет | Нет | Да [188] | да | начиная с iOS 4 [162] | Уязвимый | Не затронут | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Нет | ||
5, 6 | iOS 5 , 6 | Нет | да | да | Да [184] | Да [184] | Нет | да | да | да | Уязвимый | Не затронут | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Нет | ||
7 | IOS 7 | Нет | да | да | да | да | Нет | да | да | Да [189] | Смягчено [190] | Не затронут | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Нет | ||
8 | iOS 8 | Нет | да | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Смягчено [n 38] | Самый низкий приоритет [191] [n 38] | Смягчено [192] | Смягчено [193] | Нет | ||
9 | iOS 9 | Нет | Нет | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Не затронут | Самый низкий приоритет | Смягчено | Смягчено | Нет | ||
10–11 | iOS 10 , 11 | Нет | Нет | да | да | да | Нет | да | да | да | Смягчено | Не затронут | Не затронут | По умолчанию отключено [N 16] | Смягчено | Смягчено | Нет | ||
12 | iOS 12 | Нет | Нет | да | да | да | Да (начиная с iOS 12.2) [183] | да | да | да | Смягчено | Не затронут | Не затронут | По умолчанию отключено [N 16] | Смягчено | Смягчено | Нет | ||
13 | iOS 13 | Нет | Нет | да | да | да | да | да | да | да | Смягчено | Не затронут | Не затронут | По умолчанию отключено [N 16] | Смягчено | Смягчено | Нет | ||
iPadOS 13 | |||||||||||||||||||
14 | iOS 14 | Нет | Нет | да | да | да | да | да | да | да | Смягчено | Не затронут | Не затронут | По умолчанию отключено [N 16] | Смягчено | Смягчено | Нет | ||
iPadOS 14 | |||||||||||||||||||
Браузер | Версия | Платформы | SSL 2.0 (небезопасный) | SSL 3.0 (небезопасный) | TLS 1.0 (устарело) | TLS 1.1 (устарело) | TLS 1.2 | TLS 1.3 | EV [n 3] | SHA-2 | ECDSA | ЗВЕРЬ [n 4] | ПРЕСТУПЛЕНИЕ [n 5] | ПУДЕЛЬ (SSLv3) [n 6] | RC4 [n 7] | УЖАС [73] [74] | Затор | Выбор протокола пользователем | |
ОС Google Android [194] | Android 1.0–4.0.4 | Нет | Включено по умолчанию | да | Нет | Нет | Нет | Неизвестный | Да [71] | с 3.0 [162] [72] | Неизвестный | Неизвестный | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Нет | ||
Android 4.1–4.4.4 | Нет | Включено по умолчанию | да | Отключено по умолчанию [195] | Отключено по умолчанию [195] | Нет | Неизвестный | да | да | Неизвестный | Неизвестный | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Нет | |||
Android 5.0–5.0.2 | Нет | Включено по умолчанию | да | Да [195] [196] | Да [195] [196] | Нет | Неизвестный | да | да | Неизвестный | Неизвестный | Уязвимый | Уязвимый | Уязвимый | Уязвимый | Нет | |||
Android 5.1–5.1.1 | Нет | По умолчанию отключено [ необходима ссылка ] | да | да | да | Нет | Неизвестный | да | да | Неизвестный | Неизвестный | Не затронут | Только в качестве запасного варианта [n 15] | Смягчено | Смягчено | Нет | |||
Android 6.0 - 7.1.2 | Нет | По умолчанию отключено [ необходима ссылка ] | да | да | да | Нет | Неизвестный | да | да | Неизвестный | Неизвестный | Не затронут | По умолчанию отключено | Смягчено | Смягчено | Нет | |||
Android 8.0 - 9 | Нет | Нет [197] | да | да | да | Нет | Неизвестный | да | да | Неизвестный | Неизвестный | Не затронут | По умолчанию отключено | Смягчено | Смягчено | Нет | |||
Android 10 | Нет | Нет | да | да | да | да | Неизвестный | да | да | Неизвестный | Неизвестный | Не затронут | По умолчанию отключено | Смягчено | Смягчено | Нет | |||
Android 11 | Нет | Нет | да | да | да | да | Неизвестный | да | да | Неизвестный | Неизвестный | Не затронут | По умолчанию отключено | Смягчено | Смягчено | Нет | |||
Android 12 | Нет | Нет | Неизвестный | Неизвестный | да | да | Неизвестный | да | да | Неизвестный | Неизвестный | Не затронут | По умолчанию отключено | Смягчено | Смягчено | Нет | |||
Браузер | Версия | Платформы | SSL 2.0 (небезопасный) | SSL 3.0 (небезопасный) | TLS 1.0 (устарело) | TLS 1.1 (устарело) | TLS 1.2 | TLS 1.3 | Сертификат электромобиля | Сертификат SHA-2 | Сертификат ECDSA | ЗВЕРЬ | ПРЕСТУПЛЕНИЕ | ПУДЕЛЬ (SSLv3) | RC4 | НЕНОРМАЛЬНЫЙ | Затор | Выбор протокола пользователем |
Цвет или Примечание | Значимость | |
---|---|---|
Версия браузера | Платформа | |
Версия браузера | Операционная система | Будущий выпуск; в разработке |
Версия браузера | Операционная система | Текущая последняя версия |
Версия браузера | Операционная система | Бывший выпуск; все еще поддерживается |
Версия браузера | Операционная система | Бывший выпуск; долгосрочная поддержка все еще активна, но закончится менее чем через 12 месяцев |
Версия браузера | Операционная система | Бывший выпуск; больше не поддерживается |
н / д | Операционная система | Смешанный / Не указано |
Операционная система (Версия +) | Минимальная необходимая версия операционной системы (для поддерживаемых версий браузера) | |
Больше не поддерживается для этой операционной системы |
- Заметки
- ^ Есть ли в браузере средства защиты от известных атак или он не уязвим. Обратите внимание, что фактическая безопасность зависит от других факторов, таких как согласованный шифр, надежность шифрования и т. Д. (См. § Таблица шифров ).
- ^ Может ли пользователь или администратор выбирать протоколы, которые будут использоваться, или нет. Если да, можно избежать нескольких атак, таких как BEAST (уязвим в SSL 3.0 и TLS 1.0) или POODLE (уязвим в SSL 3.0).
- ^ a b Можно ли различить EV SSL и DV SSL (обычный SSL) по индикаторам (зеленый значок замка, зеленая адресная строка и т. д.) или нет.
- ^ a b например Разделение записи 1 / n-1.
- ^ a b например Отключение сжатия заголовков в HTTPS / SPDY.
- ^ а б
- Полное смягчение последствий; отключение самого SSL 3.0, «разделение записей анти-POODLE». «Разделение записей Anti-POODLE» эффективно только при реализации на стороне клиента и действует в соответствии со спецификацией SSL 3.0, однако оно также может вызывать проблемы совместимости из-за проблем в реализациях на стороне сервера.
- Частичное смягчение; отключение отката к SSL 3.0, TLS_FALLBACK_SCSV, отключение наборов шифров с режимом работы CBC . Если сервер также поддерживает TLS_FALLBACK_SCSV, атака POODLE не удастся против этой комбинации сервера и браузера, но соединения, в которых сервер не поддерживает TLS_FALLBACK_SCSV и поддерживает SSL 3.0, по-прежнему будут уязвимы. Если отключить комплекты шифров с режимом работы CBC в SSL 3.0, будут доступны только комплекты шифров с RC4, атаки RC4 станут проще.
- При отключении SSL 3.0 вручную атака POODLE завершится неудачно.
- ^ а б
- Полное смягчение; отключение комплектов шифров с помощью RC4.
- Частичное смягчение последствий для сохранения совместимости со старыми системами; установка более низкого приоритета RC4.
- ^ Google Chrome (и Chromium ) поддерживает TLS 1.0 и TLS 1.1 с версии 22 (он был добавлен, а затем удален с версии 21). Поддержка TLS 1.2 была добавлена, а затем удалена из Chrome 29. [75] [76] [77]
- ^ Использует реализацию TLS, предоставляемую BoringSSL для Android, OS X и Windows [78] или NSS для Linux. Google полностью переключает библиотеку TLS, используемую в Chrome, на BoringSSL с NSS.
- ^ Б с д е е г ч я J к л м п о р Q R сек т у V ш х у г аа аЬ ас объявления аи аф ага ах аю а ^ ак ал ам ао апа водн настроить включение / выключение каждого протоколы через настройку / опцию (название меню зависит от браузеров)
- ^ a b c d e f g h i j k l m n o p q r s t u v Настройте максимальную и минимальную версию включения протоколов с помощью параметра командной строки
- ^ Реализован TLS_FALLBACK_SCSV. [86] Обратный переход к SSL 3.0 отключен с версии 39. [87]
- ^ В дополнение к TLS_FALLBACK_SCSV и отключению возврата к SSL 3.0 сам SSL 3.0 отключен по умолчанию. [87]
- ^ a b c Настройте минимальную версию разрешающих протоколов с помощью chrome: // flags [91] (максимальную версию можно настроить с помощью параметра командной строки)
- ^ a b c d e f g h i Только в том случае, если нет доступных наборов шифров с RC4, наборы шифров с RC4 будут использоваться в качестве запасного варианта.
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an Все наборы шифров RC4 по умолчанию отключены.
- ^ Использует реализацию TLS, предоставленную NSS . Начиная с Firefox 22, Firefox поддерживает только TLS 1.0, несмотря на то, что встроенный NSS поддерживает TLS 1.1. Начиная с Firefox 23, TLS 1.1 можно включить, но он не был включен по умолчанию из-за проблем. В Firefox 24 по умолчанию отключена поддержка TLS 1.2. TLS 1.1 и TLS 1.2 включены по умолчанию в версии Firefox 27.
- ^ a b c d e f g h i j k l m n настройте максимальную и минимальную версию разрешающих протоколов с помощью about: config
- ^ Сам SSL 3.0 отключен по умолчанию. [109] Кроме того, откат к SSL 3.0 отключен, так как версии 34, [111] и TLS_FALLBACK_SCSV реализованы, начиная с 35.0 и ESR 31.3. [109] [112]
- ^ Opera 10 добавила поддержку TLS 1.2 с Presto 2.2. Предыдущая поддержка была для TLS 1.0 и 1.1. TLS 1.1 и 1.2 отключены по умолчанию (за исключением версии 9 [122], в которой TLS 1.1 включен по умолчанию).
- ^ a b SSL 3.0 удаленно отключен по умолчанию с 15 октября 2014 г. [131]
- ^ Поддержка TLS Opera 14 и более поздних версийтакая же, как и для Chrome, поскольку Opera перешла набэкэнд Chromium (Opera 14 для Android основана на Chromium 26 с WebKit , [136] и Opera 15 и выше основаны на Chromium 28 и выше. с Blink [137] ).
- ^ Реализован TLS_FALLBACK_SCSV. [140]
- ^ SSL 3.0 включен по умолчанию, с некоторыми реализованными средствами защиты от известных уязвимостей, таких как BEAST и POODLE. [131]
- ^ В дополнение к TLS_FALLBACK_SCSV реализовано «разделение записи анти-POODLE». [131]
- ^ В дополнение к TLS_FALLBACK_SCSV и «анти-POODLE», по умолчанию отключен сам SSL 3.0. [91]
- ^ a b c Настройте минимальную версию разрешающих протоколов через opera: // flags [91] (максимальную версию можно настроить с помощью параметра командной строки)
- ^ a b c d e f IE использует реализацию TLS операционной системы Microsoft Windows, предоставленную поставщиком поддержки безопасности SChannel . TLS 1.1 и 1.2 отключены по умолчанию до IE11. [141] [142]
- ^ a b Windows NT 3.1 поддерживает IE 1–2, Windows NT 3.5 поддерживает IE 1–3, Windows NT 3.51 и Windows NT 4.0 поддерживает IE 1–6
- ^ a b c d Windows XP, а также Server 2003 и более ранние версии из коробки поддерживают только слабые шифры, такие как 3DES и RC4. [146] Слабые шифры этой версии SChannel используются не только для IE, но и для других продуктов Microsoft, работающих в этой ОС, таких как Office или Центр обновления Windows. Только Windows Server 2003 может получить обновление вручную для поддержки шифров AES с помощью KB948963 [147]
- ^ a b c d MS13-095 или MS14-049 для 2003 и XP-64 или SP3 для XP (32-разрядная версия)
- ^ RC4 можно отключить, кроме как в качестве запасного варианта (только если нет доступных наборов шифров с RC4, наборы шифров с RC4 будут использоваться в качестве запасного варианта). [153]
- ^ a b c d При переходе на SSL 3.0 сайты по умолчанию блокируются в Internet Explorer 11 для защищенного режима. [155] [156] SSL 3.0 по умолчанию отключен в Internet Explorer 11 с апреля 2015 года. [157]
- ^ Б с Может быть отключен с помощью редактирования реестра , но нуждается в третьей партии инструментов , чтобы сделать это. [163]
- ^ Edge (ранее известный как Project Spartan) основан на ответвлении движка рендеринга Internet Explorer 11.
- ^ Safari использует реализацию операционной системы в Mac OS X, Windows (XP, Vista, 7) [169] с неизвестной версией [170] Safari 5 - последняя версия, доступная для Windows. В OS X 10.8 есть поддержка SecureTransport для TLS 1.1 и 1.2 [171] Отчет Qualys SSL имитирует Safari 5.1.9, соединяющийся с TLS 1.0, а не 1.1 или 1.2 [172]
- ^ В сентябре 2013 года Apple реализовала защиту BEAST в OS X 10.8 (Mountain Lion), но она не была включена по умолчанию, в результате чего Safari все еще теоретически уязвим для атаки BEAST на этой платформе. [174] [175] Снижение риска BEAST было включено по умолчанию в OS X 10.8.5, обновленной в феврале 2014 года. [176]
- ^ a b c d e f g h Поскольку Apple удалила поддержку всех протоколов CBC в SSL 3.0 для смягчения последствий POODLE, [177] [178] остается только RC4, который также полностью нарушается атаками RC4 в SSL 3.0.
- ^ Mobile Safari и стороннее программное обеспечение, использующее системную библиотеку UIWebView, используют реализациюоперационной системы iOS , которая поддерживает TLS 1.2 начиная с iOS 5.0. [184] [185] [186]
Библиотеки
Большинство программных библиотек SSL и TLS - это бесплатное программное обеспечение с открытым исходным кодом .
- BoringSSL , ответвление OpenSSL для Chrome / Chromium и Android, а также других приложений Google.
- Botan , криптографическая библиотека с лицензией BSD, написанная на C ++.
- BSAFE Micro Edition Suite: многоплатформенная реализация TLS, написанная на C, с использованием проверенного FIPS криптографического модуля.
- BSAFE SSL-J: библиотека TLS, предоставляющая проприетарный API и JSSE API с использованием проверенного FIPS криптографического модуля.
- cryptlib : переносимая библиотека криптографии с открытым исходным кодом (включает реализацию TLS / SSL)
- Программисты Delphi могут использовать библиотеку под названием Indy, которая использует OpenSSL или, альтернативно, ICS, которая теперь поддерживает TLS 1.3.
- GnuTLS : бесплатная реализация (под лицензией LGPL)
- Java Secure Socket Extension : на Java реализацию , включенную в Java Runtime Environment поддерживается TLS 1.1 и 1.2 , начиная с Java 7. (TLS 1.1 / 1.2 изначально были отключены по умолчанию для клиента на Java 7, но были включены в январе 2017. [198] ) Java 11 поддерживает TLS 1.3. [199] [200]
- LibreSSL : ответвление OpenSSL от проекта OpenBSD.
- MatrixSSL : реализация с двойной лицензией
- mbed TLS (ранее PolarSSL): крошечная реализация библиотеки SSL для встроенных устройств, которая разработана для простоты использования.
- Службы сетевой безопасности : проверенная FIPS 140 библиотека с открытым исходным кодом
- OpenSSL : бесплатная реализация (лицензия BSD с некоторыми расширениями)
- SChannel : реализация SSL и TLS Microsoft Windows как часть своего пакета.
- Безопасный транспорт : реализация SSL и TLS, используемых в OS X и iOS как часть их пакетов.
- wolfSSL (ранее CyaSSL): встроенная библиотека SSL / TLS с упором на скорость и размер.
Выполнение | SSL 2.0 (небезопасный) | SSL 3.0 (небезопасный) | TLS 1.0 | TLS 1.1 | TLS 1.2 | TLS 1.3 |
---|---|---|---|---|---|---|
Ботан | Нет | Нет [201] | да | да | да | |
Пакет BSAFE Micro Edition | Нет | По умолчанию отключено | да | да | да | В развитие |
BSAFE SSL-J | Нет | По умолчанию отключено | да | да | да | да |
cryptlib | Нет | Отключено по умолчанию во время компиляции | да | да | да | |
GnuTLS | Нет [а] | По умолчанию отключено [202] | да | да | да | Да [203] |
Расширение безопасного сокета Java | Нет [а] | По умолчанию отключено [204] | да | да | да | да |
LibreSSL | Нет [205] | Нет [206] | да | да | да | Начиная с версии 3.2.2 [207] [208] |
MatrixSSL | Нет | Отключено по умолчанию во время компиляции [209] | да | да | да | да (черновая версия) |
mbed TLS (ранее PolarSSL) | Нет | По умолчанию отключено [210] | да | да | да | |
Услуги сетевой безопасности | Нет [b] | По умолчанию отключено [211] | да | Да [212] | Да [213] | Да [214] |
OpenSSL | Нет [215] | Включено по умолчанию | да | Да [216] | Да [216] | Да [217] |
SChannel XP / 2003 [218] | По умолчанию отключено MSIE 7 | Включено по умолчанию | Включено по умолчанию в MSIE 7 | Нет | Нет | Нет |
SChannel Vista [219] | По умолчанию отключено | Включено по умолчанию | да | Нет | Нет | Нет |
SChannel 2008 [219] | По умолчанию отключено | Включено по умолчанию | да | Отключено по умолчанию (KB4019276) [150] | Отключено по умолчанию (KB4019276) [150] | Нет |
SChannel 7/2008 R2 [220] | По умолчанию отключено | Отключено по умолчанию в MSIE 11 | да | Включено по умолчанию в MSIE 11 | Включено по умолчанию в MSIE 11 | Нет |
SChannel 8/2012 [220] | По умолчанию отключено | Включено по умолчанию | да | По умолчанию отключено | По умолчанию отключено | Нет |
SChannel 8.1 / 2012 R2, 10 v1507 и v1511 [220] | По умолчанию отключено | Отключено по умолчанию в MSIE 11 | да | да | да | Нет |
SChannel 10 v1607 / 2016 [160] | Нет | По умолчанию отключено | да | да | да | Нет |
SChannel 10 v1903 [221] | Нет | По умолчанию отключено | да | да | да | Нет |
SChannel 10 v21H1 [222] | Нет | По умолчанию отключено | да | да | да | да |
Безопасный транспорт OS X 10.2–10.8 / iOS 1–4 | да | да | да | Нет | Нет | |
Безопасный транспорт OS X 10.9–10.10 / iOS 5–8 | Нет [c] | да | да | Да [c] | Да [c] | |
Безопасный транспорт OS X 10.11 / iOS 9 | Нет | Нет [c] | да | да | да | |
Библиотека Seed7 TLS / SSL | Нет | да | да | да | да | |
wolfSSL (ранее CyaSSL) | Нет | По умолчанию отключено [223] | да | да | да | да (черновой вариант) [224] |
Выполнение | SSL 2.0 (небезопасный) | SSL 3.0 (небезопасный) | TLS 1.0 | TLS 1.1 | TLS 1.2 | TLS 1.3 |
- ^Приветствие клиента SSL 2.0 поддерживается, хотя SSL 2.0 не поддерживается или отключен из-за обратной совместимости.
- ^Реализация протокола SSL / TLS на стороне сервера по-прежнему поддерживает обработку полученных v2-совместимых клиентских приветственных сообщений. [225]
- ^Безопасный транспорт: поддержка SSL 2.0 в OS X 10.8 была прекращена. Поддержка SSL 3.0 была прекращена в OS X 10.11 и iOS 9. TLS 1.1 и 1.2 доступны в iOS 5.0 и новее, а также OS X 10.9 и новее. [226][227]
В документе, представленном на конференции ACM 2012 года по компьютерной и коммуникационной безопасности [228], показано, что некоторые приложения правильно используют некоторые из этих библиотек SSL, что приводит к уязвимостям. По мнению авторов
"основная причина большинства этих уязвимостей - ужасный дизайн API-интерфейсов для базовых библиотек SSL. Вместо того, чтобы выражать высокоуровневые свойства безопасности сетевых туннелей, такие как конфиденциальность и аутентификация, эти API-интерфейсы раскрывают низкоуровневые детали протокола SSL разработчикам приложений. Как следствие, разработчики часто неправильно используют SSL API, неверно истолковывая и неправильно понимая их многочисленные параметры, параметры, побочные эффекты и возвращаемые значения ».
Другое использование
Simple Mail Transfer Protocol (SMTP) также могут быть защищены TLS. Эти приложения используют сертификаты открытых ключей для проверки подлинности конечных точек.
TLS также можно использовать для туннелирования всего сетевого стека для создания VPN , как в случае с OpenVPN и OpenConnect . Многие поставщики к настоящему времени объединили возможности шифрования и аутентификации TLS с авторизацией. С конца 1990-х годов также произошли существенные изменения в создании клиентских технологий вне веб-браузеров, чтобы обеспечить поддержку клиент-серверных приложений. По сравнению с традиционными технологиями IPsec VPN, TLS имеет некоторые неотъемлемые преимущества в брандмауэре и обходе NAT, которые упрощают администрирование для больших групп удаленного доступа.
TLS также является стандартным методом защиты сигнализации приложения Session Initiation Protocol (SIP). TLS может использоваться для обеспечения аутентификации и шифрования сигналов SIP, связанных с VoIP и другими приложениями на основе SIP. [229]
Безопасность
SSL 2.0
В SSL 2.0 было несколько ошибок: [230]
- Идентичные криптографические ключи использовались для аутентификации и шифрования сообщений. (В SSL 3.0 секреты MAC могут быть больше, чем ключи шифрования, поэтому сообщения могут оставаться защищенными от несанкционированного доступа, даже если ключи шифрования сломаны. [231] )
- SSL 2.0 имел слабую структуру MAC, в которой использовалась хеш-функция MD5 с секретным префиксом, что делало его уязвимым для атак на расширение длины .
- SSL 2.0 не имел никакой защиты для рукопожатия, а это означало, что атака «злоумышленник посередине» могла остаться незамеченной.
- SSL 2.0 использовал близкое TCP-соединение, чтобы указать конец данных. Это означало, что атаки усечения были возможны: злоумышленник просто подделывает TCP FIN, оставляя получателя в неведении о незаконном конце сообщения с данными (SSL 3.0 устранил эту проблему с помощью явного предупреждения о закрытии).
- SSL 2.0 предполагал единую службу и фиксированный сертификат домена, что противоречило стандартной функции виртуального хостинга на веб-серверах. Это означает, что большинство веб-сайтов практически не смогли использовать SSL.
SSL 2.0 был отключен по умолчанию, начиная с Internet Explorer 7 , [232] Mozilla Firefox 2, [233] Opera 9.5, [234] и Safari . Поддержка SSL 2.0 (и слабых 40-битных и 56-битных шифров) была полностью удалена из Opera начиная с версии 10. [235] [236]
SSL 3.0
SSL 3.0 улучшен по сравнению с SSL 2.0 за счет добавления шифров на основе SHA-1 и поддержки аутентификации по сертификату.
С точки зрения безопасности SSL 3.0 следует считать менее желательным, чем TLS 1.0. Наборы шифров SSL 3.0 имеют более слабый процесс получения ключей; половина установленного главного ключа полностью зависит от хеш-функции MD5, которая не устойчива к коллизиям и, следовательно, не считается безопасной. В TLS 1.0 установленный главный ключ зависит как от MD5, так и от SHA-1, поэтому процесс его создания в настоящее время не считается слабым. По этой причине реализации SSL 3.0 не могут быть проверены в соответствии с FIPS 140-2. [237]
В октябре 2014 года было сообщено об уязвимости в конструкции SSL 3.0, в результате чего режим работы CBC с SSL 3.0 стал уязвимым для атаки дополнением (см. Атака #POODLE ).
TLS
TLS имеет ряд мер безопасности:
- Защита от понижения версии протокола до предыдущей (менее безопасной) версии или более слабого набора шифров.
- Нумерация последующих записей Приложения с порядковым номером и использование этого порядкового номера в кодах аутентификации сообщений (MAC).
- Использование дайджеста сообщения, дополненного ключом (чтобы только обладатель ключа мог проверить MAC). Конструкция HMAC, используемая большинством наборов шифров TLS, указана в RFC 2104 (в SSL 3.0 использовался другой MAC на основе хэша).
- Сообщение, завершающее рукопожатие («Завершено»), отправляет хэш всех обмененных сообщений рукопожатия, увиденных обеими сторонами.
- Псевдослучайная функция разделяет входные данные пополам и обрабатывает каждому из них с другим алгоритмом хэширования ( MD5 и SHA-1 ), то операцию XOR их вместе , чтобы создать MAC. Это обеспечивает защиту, даже если один из этих алгоритмов оказывается уязвимым.
Атаки на TLS / SSL
Значительные атаки на TLS / SSL перечислены ниже.
В феврале 2015 года IETF выпустила информационный RFC [238], в котором резюмируются различные известные атаки на TLS / SSL.
Атака повторного согласования
В августе 2009 года была обнаружена уязвимость процедуры повторного согласования, которая может привести к атакам путем внедрения открытого текста против SSL 3.0 и всех текущих версий TLS. [239] Например, он позволяет злоумышленнику, который может захватить https-соединение, вставить свои собственные запросы в начало разговора клиента с веб-сервером. На самом деле злоумышленник не может расшифровать обмен данными между клиентом и сервером, поэтому он отличается от типичной атаки типа «человек посередине». Кратковременное исправление заключается в том, что веб-серверы перестают разрешать повторное согласование, которое обычно не требует других изменений, если не используется проверка подлинности сертификата клиента . Чтобы исправить уязвимость, для TLS было предложено расширение индикации повторного согласования. Это потребует от клиента и сервера включения и проверки информации о предыдущих рукопожатиях в любые рукопожатия повторного согласования. [240] Это расширение стало предлагаемым стандартом, и ему был присвоен номер RFC 5746 . RFC реализован несколькими библиотеками. [241] [242] [243]
Атаки на понижение версии: FREAK атака и Тупиковая атака
Атака на более раннюю версию протокола (также называемая атакой с откатом версии) обманом заставляет веб-сервер согласовывать соединения с предыдущими версиями TLS (такими как SSLv2), которые давно считались небезопасными.
Предыдущие модификации исходных протоколов, такие как False Start [244] (принятые и включенные в Google Chrome [245] ) или Snap Start , как сообщается, вводили ограниченные атаки на понижение версии протокола TLS [246] или позволяли вносить изменения в список шифров, отправленный клиентом. к серверу. При этом злоумышленник может преуспеть во влиянии на выбор набора шифров в попытке понизить уровень набора шифров, согласованный для использования либо более слабого алгоритма симметричного шифрования, либо более слабого обмена ключами. [247] В документе, представленном на конференции ACM по компьютерной и коммуникационной безопасности в 2012 году, было показано, что расширение False Start находится под угрозой: при определенных обстоятельствах оно может позволить злоумышленнику восстановить ключи шифрования в автономном режиме и получить доступ к зашифрованным данным. [248]
Атаки перехода на более раннюю версию шифрования могут заставить серверы и клиентов согласовывать соединение с использованием криптографически слабых ключей. В 2014 году была обнаружена атака «человек посередине» под названием FREAK, которая затронула стек OpenSSL , веб-браузер Android по умолчанию и некоторые браузеры Safari . [249] Атака заключалась в том, чтобы обманом заставить серверы согласовать TLS-соединение с использованием криптографически слабых 512-битных ключей шифрования.
Logjam - это уязвимость системы безопасности, обнаруженная в мае 2015 года и использующая возможность использования устаревших 512-битных групп Диффи – Хеллмана «экспортного уровня», созданных еще в 1990-х годах. [250] Это вынуждает уязвимые серверы перейти на криптографически слабые 512-битные группы Диффи – Хеллмана. Затем злоумышленник может вывести ключи, определенные клиентом и сервером, с помощью обмена ключами Диффи-Хеллмана .
Межпротокольные атаки: DROWN
Атака утопить является эксплойт , что атаки серверов поддержки сьютов / протокол SSL современник TLS, эксплуатируя их поддержку устаревших, небезопасных, протокол SSLv2 использовать атаку на связи , используя протоколы уточненный , которые иначе были бы в безопасности. [251] [252] DROWN использует уязвимость в используемых протоколах и конфигурации сервера, а не какую-либо конкретную ошибку реализации. Полная информация о DROWN была объявлена в марте 2016 года вместе с патчем для эксплойта. В то время более 81 000 из 1 миллиона самых популярных веб-сайтов были среди веб-сайтов, защищенных TLS, которые были уязвимы для атаки DROWN. [252]
ЗВЕРЬ атака
23 сентября 2011 г. исследователи Тай Дуонг и Джулиано Риццо продемонстрировали доказательство концепции под названием BEAST ( Browser Exploit Against SSL / TLS ) [253] с использованием Java-апплета для нарушения ограничений политики одного и того же источника для давно известной цепочки блоков шифров (CBC ) уязвимость в TLS 1.0: [254] [255] злоумышленник, наблюдающий 2 последовательных блока зашифрованного текста C0, C1, может проверить, равен ли блок открытого текста P1 x, выбрав следующий блок открытого текста P2 = x C0 C1; согласно операции CBC, C2 = E (C1 P2) = E (C1 Икс C0 C1) = E (C0 x), который будет равен C1, если x = P1. Практические эксплойты ранее не демонстрировались для этой уязвимости , которая была первоначально обнаружена Филипом Рогэуэем [256] в 2002 году. Уязвимость атаки была исправлена с помощью TLS 1.1 в 2006 году, но TLS 1.1 не получил широкого распространения до этой атаки. демонстрация.
RC4 как потоковый шифр невосприимчив к атаке BEAST. Поэтому RC4 широко использовался как способ смягчить атаку BEAST на стороне сервера. Однако в 2013 году исследователи обнаружили в RC4 больше слабых мест. После этого включение RC4 на стороне сервера больше не рекомендовалось. [257]
Сами Chrome и Firefox не уязвимы для атак BEAST, [79] [100] однако Mozilla обновила свои библиотеки NSS для смягчения атак типа BEAST . NSS используется Mozilla Firefox и Google Chrome для реализации SSL. Некоторые веб-серверы , у которых нарушена реализация спецификации SSL, могут в результате перестать работать. [258]
10 января 2012 г. Microsoft выпустила бюллетень по безопасности MS12-006, в котором исправлена уязвимость BEAST, изменив способ передачи зашифрованных сетевых пакетов компонентом Windows Secure Channel ( SChannel ) со стороны сервера. [259] Пользователи Internet Explorer (до версии 11), работающие в более старых версиях Windows ( Windows 7 , Windows 8 и Windows Server 2008 R2 ), могут ограничить использование TLS до версии 1.1 или выше.
Apple устранила уязвимость BEAST, реализовав разделение 1 / n-1 и включив его по умолчанию в OS X Mavericks , выпущенной 22 октября 2013 г. [260]
CRIME и BREACH атаки
Авторы атаки BEAST также являются создателями более поздней атаки CRIME , которая может позволить злоумышленнику восстановить содержимое веб-файлов cookie, когда сжатие данных используется вместе с TLS. [261] [262] При использовании для восстановления содержимого секретных файлов cookie аутентификации , он позволяет злоумышленнику осуществить захват сеанса в аутентифицированном веб-сеансе.
Хотя атака CRIME была представлена как общая атака, которая может эффективно работать против большого количества протоколов, включая, помимо прочего, TLS, и протоколы прикладного уровня, такие как SPDY или HTTP , были продемонстрированы и в значительной степени смягчены эксплойты только против TLS и SPDY. в браузерах и на серверах. Эксплойт CRIME против HTTP-сжатия вообще не был устранен, хотя авторы CRIME предупредили, что эта уязвимость может быть даже более распространенной, чем сжатие SPDY и TLS вместе взятые. В 2013 году был объявлен новый пример CRIME-атаки на HTTP-сжатие, получивший название BREACH . На основе CRIME-атаки, BREACH-атака может извлекать токены входа, адреса электронной почты или другую конфиденциальную информацию из зашифрованного TLS веб-трафика всего за 30 секунд (в зависимости от количества байтов, которые нужно извлечь), при условии, что злоумышленник обманом заставит жертву посетить вредоносная веб-ссылка или может внедрять контент на действительные страницы, которые посещает пользователь (например, беспроводная сеть под контролем злоумышленника). [263] Все версии TLS и SSL подвержены риску BREACH независимо от используемого алгоритма шифрования или шифра. [264] В отличие от предыдущих экземпляров CRIME, от которых можно успешно защититься, отключив сжатие TLS или сжатие заголовков SPDY, BREACH использует сжатие HTTP, которое невозможно отключить, поскольку практически все веб-серверы полагаются на него для повышения скорости передачи данных для пользователей. [263] Это известное ограничение TLS, поскольку он уязвим для атак с выбранным открытым текстом на данные прикладного уровня, которые он должен был защищать.
Атаки по времени на обивку
Ранние версии TLS были уязвимы перед атакой оракула заполнения, обнаруженной в 2002 году. Новый вариант, названный атакой Lucky Thirteen , был опубликован в 2013 году.
Некоторые эксперты [62] также рекомендовали избегать Triple-DES CBC. Так как последние поддерживаемые шифры разработаны для поддержки любой программы с помощью Windows XP SSL «s / TLS библиотеки , как Internet Explorer в Windows XP является RC4 и Triple-DES, а с RC4 теперь осуждаются (см обсуждения RC4 атак ), это затрудняет для поддержки любой версии SSL для любой программы, использующей эту библиотеку в XP.
Исправление было выпущено как расширение Encrypt-then-MAC для спецификации TLS, выпущенное как RFC 7366 . [265] Атака Lucky Thirteen может быть смягчена в TLS 1.2, используя только шифры AES_GCM; AES_CBC остается уязвимым. [ необходима цитата ]
ПУДЕЛЬ НАПАДЕНИЕ
14 октября 2014 г. исследователи Google опубликовали уязвимость в конструкции SSL 3.0, которая делает режим работы CBC с SSL 3.0 уязвимым для атаки дополнением ( CVE - 2014-3566 ). Они назвали эту атаку POODLE ( Padding Oracle On Downgraded Legacy Encryption ). В среднем злоумышленникам нужно всего 256 запросов SSL 3.0, чтобы раскрыть один байт зашифрованных сообщений. [69]
Хотя эта уязвимость существует только в SSL 3.0 и большинство клиентов и серверов поддерживают TLS 1.0 и выше, все основные браузеры добровольно переходят на SSL 3.0, если квитирование с более новыми версиями TLS не удается, если они не предоставляют пользователю или администратору возможность отключить SSL 3.0. и пользователь или администратор делает это [ необходима цитата ] . Таким образом, посредник может сначала провести атаку отката версии, а затем воспользоваться этой уязвимостью. [69]
8 декабря 2014 г. был объявлен вариант POODLE, который влияет на реализации TLS, которые не обеспечивают должного соблюдения требований к байтам заполнения. [266]
RC4 атаки
Несмотря на существование атак на RC4, которые нарушили его безопасность, наборы шифров в SSL и TLS, основанные на RC4, по-прежнему считались безопасными до 2013 года в зависимости от того, как они использовались в SSL и TLS. В 2011 году пакет RC4 был рекомендован как временное решение для атаки BEAST . [267] Новые формы атак, раскрытые в марте 2013 г., убедительно продемонстрировали возможность взлома RC4 в TLS, предполагая, что это не лучший обходной путь для BEAST. [68] Сценарий атаки был предложен Альфарданом, Бернстайном, Патерсоном, Поеттерингом и Шульдтом, который использовал недавно обнаруженные статистические ошибки в таблице ключей RC4 [268] для восстановления частей открытого текста с большим количеством шифров TLS. [269] [270] Атака на RC4 в TLS и SSL, которая требует шифрования 13 × 2 20 для взлома RC4, была представлена 8 июля 2013 года и позже описана как «возможная» в сопроводительной презентации на симпозиуме по безопасности USENIX в августе 2013 года. [271] [272] В июле 2015 года последующие улучшения в атаке сделали более практичным нарушение безопасности TLS с шифрованием RC4. [273]
Поскольку многие современные браузеры были разработаны для защиты от атак BEAST (за исключением Safari для Mac OS X 10.7 или более ранней версии, для iOS 6 или более ранней версии и для Windows; см. § Веб-браузеры ), RC4 больше не является хорошим выбором для TLS 1.0. Шифры CBC, которые ранее подвергались атаке BEAST, стали более популярным выбором для защиты. [62] Mozilla и Microsoft рекомендуют отключать RC4, где это возможно. [274] [275]RFC 7465 запрещает использование комплектов шифров RC4 во всех версиях TLS.
1 сентября 2015 года Microsoft, Google и Mozilla объявили, что наборы шифров RC4 будут отключены по умолчанию в их браузерах ( Microsoft Edge , Internet Explorer 11 в Windows 7 / 8.1 / 10, Firefox и Chrome ) в начале 2016 года. [276 ] [277] [278]
Усеченная атака
Атака с усечением TLS (выход из системы) блокирует запросы на выход из учетной записи жертвы, так что пользователь, не зная, остается авторизованным в веб-службе. Когда отправляется запрос на выход, злоумышленник вводит незашифрованное сообщение TCP FIN (больше нет данных от отправителя), чтобы закрыть соединение. Таким образом, сервер не получает запрос на выход и не знает об аварийном завершении. [279]
Опубликованная в июле 2013 г. [280] [281] атака заставляет веб-службы, такие как Gmail и Hotmail, отображать страницу, информирующую пользователя об успешном выходе из системы, при этом гарантируя, что браузер пользователя поддерживает авторизацию в службе, что позволяет злоумышленник с последующим доступом к браузеру для доступа и получения контроля над учетной записью пользователя, вошедшего в систему. Атака не основана на установке вредоносного ПО на компьютер жертвы; злоумышленникам нужно только встать между жертвой и веб-сервером (например, установив мошенническую беспроводную точку доступа). [279] Эта уязвимость также требует доступа к компьютеру жертвы. Другая возможность заключается в том, что при использовании FTP соединение для передачи данных может иметь ложный FIN в потоке данных, и если правила протокола для обмена предупреждениями close_notify не соблюдаются для файла, могут быть усечены.
Нечестивая атака PAC
Эта атака, обнаруженная в середине 2016 года, использует слабые места в протоколе автообнаружения веб-прокси (WPAD) для раскрытия URL-адреса, на который веб-пользователь пытается перейти по веб-ссылке с поддержкой TLS. [282] Раскрытие URL-адреса может нарушить конфиденциальность пользователя не только из-за доступа к веб-сайту, но и из-за того, что URL-адреса иногда используются для аутентификации пользователей. Службы обмена документами, например, предлагаемые Google и Dropbox, также работают, отправляя пользователю токен безопасности, включенный в URL-адрес. Злоумышленник, получивший такие URL-адреса, может получить полный доступ к учетной записи или данным жертвы.
Эксплойт работает практически со всеми браузерами и операционными системами.
Sweet32 атака
Атака Sweet32 взламывает все 64-битные блочные шифры, используемые в режиме CBC, который используется в TLS, используя атаку дня рождения и либо атаку « человек посередине», либо внедрение вредоносного кода JavaScript на веб-страницу. Цель атаки «человек посередине» или инъекции JavaScript - позволить злоумышленнику захватить достаточно трафика, чтобы организовать атаку в день рождения. [283]
Ошибки реализации: Heartbleed ошибка, Атака BERserk, ошибка Cloudflare
Heartbleed ошибка серьезная уязвимость специфичны для реализации SSL / TLS в популярной OpenSSL библиотеки криптографического программного обеспечения, воздействуя версии 1.0.1 для 1.0.1f. Эта уязвимость, о которой было сообщено в апреле 2014 года, позволяет злоумышленникам украсть закрытые ключи с серверов, которые обычно должны быть защищены. [284] Ошибка Heartbleed позволяет любому пользователю Интернета читать память систем, защищенных уязвимыми версиями программного обеспечения OpenSSL. Это ставит под угрозу секретные частные ключи, связанные с общедоступными сертификатами, используемыми для идентификации поставщиков услуг и для шифрования трафика, имен и паролей пользователей и фактического контента. Это позволяет злоумышленникам подслушивать сообщения, красть данные непосредственно у служб и пользователей и выдавать себя за службы и пользователей. [285] Уязвимость вызвана ошибкой переполнения буфера в программном обеспечении OpenSSL, а не дефектом в спецификации протокола SSL или TLS.
В сентябре 2014 года Intel Security Advanced Threat Research анонсировала вариант уязвимости подделки подписи RSA PKCS # 1 v1.5 Даниэля Блейхенбахера [286] . Эта атака, получившая название BERserk, является результатом неполного декодирования длины ASN.1 подписей с открытым ключом в некоторых реализациях SSL и допускает атаку «человек посередине» путем подделки подписи с открытым ключом. [287]
В феврале 2015 года, после того как СМИ сообщили о скрытой предварительной установке рекламного ПО Superfish на некоторых ноутбуках Lenovo [288], исследователь обнаружил, что доверенный корневой сертификат на затронутых машинах Lenovo небезопасен, поскольку к ключам можно было легко получить доступ, используя название компании, Комодия, как кодовая фраза. [289] Библиотека Komodia была разработана для перехвата трафика TLS / SSL на стороне клиента для родительского контроля и наблюдения, но она также использовалась во многих рекламных программах, включая Superfish, которые часто устанавливались тайком без ведома пользователя компьютера. В свою очередь, эти потенциально нежелательные программы установили поврежденный корневой сертификат, что позволило злоумышленникам полностью контролировать веб-трафик и подтверждать подлинность ложных веб-сайтов.
В мае 2016 года сообщалось, что десятки датских HTTPS-защищенных веб-сайтов, принадлежащих Visa Inc., были уязвимы для атак, позволяющих хакерам внедрять вредоносный код и поддельный контент в браузеры посетителей. [290] Атаки сработали, потому что реализация TLS, используемая на затронутых серверах, неправильно повторно использовала случайные числа ( одноразовые номера ), которые предназначены для использования только один раз, обеспечивая уникальность каждого подтверждения TLS . [290]
В феврале 2017 года ошибка реализации, вызванная одним неверным символом в коде, используемом для синтаксического анализа HTML, привела к ошибке переполнения буфера на серверах Cloudflare . Подобная по своим последствиям ошибке Heartbleed, обнаруженной в 2014 году, эта ошибка переполнения, широко известная как Cloudbleed , позволяла неавторизованным третьим сторонам читать данные в памяти программ, запущенных на серверах, - данные, которые в противном случае должны были быть защищены TLS. [291]
Обзор сайтов, уязвимых для атак
По состоянию на август 2019 г.[Обновить]организация Trustworthy Internet Movement оценила долю веб-сайтов, уязвимых для TLS-атак. [67]
Атаки | Безопасность | |||
---|---|---|---|---|
Ненадежный | Зависит от | Безопасный | Другой | |
Атака повторного согласования | 0,3% поддерживают небезопасное повторное согласование | 0,1% поддерживают оба | 98,4% поддерживают безопасное повторное согласование | 1.1% нет поддержки |
RC4 атаки | 1,2% поддерживают комплекты RC4, используемые в современных браузерах | 12,1% поддерживают некоторые пакеты RC4 | 86.7% нет поддержки | N / A |
Сжатие TLS (ПРЕСТУПНАЯ атака) | 0,6% уязвимых | N / A | N / A | N / A |
Heartbleed | <0,1% уязвимы | N / A | N / A | N / A |
Инъекционная атака ChangeCipherSpec | 0,2% уязвимых и эксплуатируемых | 1,2% уязвимы, не могут быть использованы | 96,9% не уязвимы | 1,7% неизвестно |
Атака POODLE против TLS (Оригинальный POODLE против SSL 3.0 не включен) | 0,3% уязвимых и эксплуатируемых | N / A | 99,5% не уязвимы | 0,2% неизвестно |
Понижение версии протокола | 11,3% Защита от понижения не поддерживается | N / A | 71,6% Поддерживается защита от понижения версии | 17,0% неизвестно |
Прямая секретность
Прямая секретность - это свойство криптографических систем, которое гарантирует, что сеансовый ключ, полученный из набора открытых и закрытых ключей, не будет скомпрометирован, если один из закрытых ключей будет скомпрометирован в будущем. [292] Без прямой секретности, если закрытый ключ сервера будет скомпрометирован, будут скомпрометированы не только все будущие сеансы с шифрованием TLS, использующие этот сертификат сервера, но также и любые прошлые сеансы, в которых он использовался (при условии, конечно, что эти прошлые сеансы были перехвачены и сохранены во время передачи). [293] Реализация TLS может обеспечить прямую секретность, требуя использования эфемерного обмена ключами Диффи – Хеллмана для установления ключей сеанса, и некоторые известные реализации TLS делают это исключительно: например, Gmail и другие службы Google HTTPS, использующие OpenSSL . [294] Однако многие клиенты и серверы, поддерживающие TLS (включая браузеры и веб-серверы), не настроены для реализации таких ограничений. [295] [296] На практике, если веб-служба не использует обмен ключами Диффи-Хеллмана для реализации прямой секретности, весь зашифрованный веб-трафик к этой службе и от нее может быть расшифрован третьей стороной, если она получит главный сервер (частный ) ключ; например, по решению суда. [297]
Даже там, где реализован обмен ключами Диффи – Хеллмана, механизмы управления сеансом на стороне сервера могут повлиять на прямую секретность. Использование билетов сеанса TLS (расширение TLS) приводит к тому, что сеанс защищается с помощью AES128-CBC-SHA256 независимо от любых других согласованных параметров TLS, включая наборы шифров прямой секретности, а долгоживущие ключи билета сеанса TLS препятствуют попытке реализовать прямая секретность. [298] [299] [300] Исследование Стэнфордского университета в 2014 году также показало, что из 473 802 опрошенных TLS-серверов 82,9% серверов, развертывающих обмен эфемерными ключами Диффи-Хеллмана (DHE) для поддержки прямой секретности, использовали слабые параметры Диффи-Хеллмана. Этот слабый выбор параметров может потенциально поставить под угрозу эффективность прямой секретности, которую серверы стремились обеспечить. [301]
С конца 2011 года Google обеспечивает прямую секретность с помощью TLS по умолчанию для пользователей своей службы Gmail , наряду с Документами Google и зашифрованным поиском, среди других служб. [302] С ноября 2013 года Twitter обеспечивает прямую секретность с помощью TLS для пользователей своего сервиса. [303] По состоянию на август 2019 г.[Обновить], около 80% веб-сайтов с поддержкой TLS настроены на использование комплектов шифров, которые обеспечивают прямую секретность для большинства веб-браузеров. [67]
Перехват TLS
Перехват TLS (или перехват HTTPS, если он применяется конкретно к этому протоколу) - это практика перехвата зашифрованного потока данных с целью его дешифрования, чтения и, возможно, манипулирования им, а затем повторного шифрования и повторной отправки данных. Это делается с помощью « прозрачного прокси »: программа перехвата завершает входящее соединение TLS, проверяет открытый текст HTTP, а затем создает новое соединение TLS с местом назначения. [304]
Перехват TLS / HTTPS используется операторами сети в качестве меры защиты информации , чтобы иметь возможность сканировать и защищать сеть от проникновения вредоносного содержимого, такого как компьютерные вирусы и другие вредоносные программы . [304] В противном случае такой контент не мог бы быть обнаружен, пока он защищен шифрованием, что становится все более актуальным в результате повседневного использования HTTPS и других безопасных протоколов.
Существенным недостатком перехвата TLS / HTTPS является то, что он создает собственные новые риски безопасности. Поскольку он обеспечивает точку, в которой сетевой трафик доступен в незашифрованном виде, у злоумышленников есть стимул атаковать эту точку, в частности, чтобы получить доступ к защищенному в противном случае контенту. Перехват также позволяет оператору сети или лицам, которые получают доступ к его системе перехвата, выполнять атаки типа «злоумышленник в середине» против пользователей сети. Исследование, проведенное в 2017 году, показало, что «перехват HTTPS стал поразительно широко распространенным, и что продукты для перехвата данных как класс оказывают крайне негативное влияние на безопасность соединения». [304]
Детали протокола
Протокол TLS обменивается записями , которые инкапсулируют данные для обмена в определенном формате (см. Ниже). Каждая запись может быть сжата, дополнена, дополнена кодом аутентификации сообщения (MAC) или зашифрована, все в зависимости от состояния соединения. Каждая запись имеет поле типа содержимого, которое обозначает тип инкапсулированных данных, поле длины и поле версии TLS. Инкапсулированные данные могут быть управляющими или процедурными сообщениями самого TLS или просто данными приложения, которые необходимо передать TLS. Спецификации (набор шифров, ключи и т. Д.), Необходимые для обмена данными приложения с помощью TLS, согласовываются в «рукопожатии TLS» между клиентом, запрашивающим данные, и сервером, отвечающим на запросы. Таким образом, протокол определяет как структуру полезных данных, передаваемых в TLS, так и процедуру установления и отслеживания передачи.
Рукопожатие TLS
Когда соединение запускается, запись инкапсулирует "контрольный" протокол - протокол обмена сообщениями рукопожатия ( тип содержимого 22). Этот протокол используется для обмена всей информацией, необходимой обеим сторонам для обмена фактическими данными приложения с помощью TLS. Он определяет формат сообщений и порядок их обмена. Они могут варьироваться в зависимости от требований клиента и сервера, т. Е. Существует несколько возможных процедур для установки соединения. Этот первоначальный обмен приводит к успешному соединению TLS (обе стороны готовы передать данные приложения с помощью TLS) или предупреждающему сообщению (как указано ниже).
Базовое рукопожатие TLS
Ниже приводится типичный пример подключения, иллюстрирующий рукопожатие, при котором сервер (но не клиент) аутентифицируется своим сертификатом:
- Фаза переговоров:
- Клиент отправляет сообщение ClientHello, в котором указывается наивысшая версия протокола TLS, которую он поддерживает, случайное число, список предлагаемых наборов шифров и предлагаемые методы сжатия. Если клиент пытается выполнить возобновленное рукопожатие, он может отправить идентификатор сеанса . Если клиент может использовать согласование протокола уровня приложений , он может включать список поддерживаемых протоколов приложений , например HTTP / 2 .
- Сервер отвечает сообщением ServerHello , содержащим выбранную версию протокола, случайное число, набор шифров и метод сжатия из вариантов, предлагаемых клиентом. Чтобы подтвердить или разрешить возобновление рукопожатий, сервер может отправить идентификатор сеанса . Выбранная версия протокола должна быть самой высокой, поддерживаемой как клиентом, так и сервером. Например, если клиент поддерживает TLS версии 1.1, а сервер поддерживает версию 1.2, следует выбрать версию 1.1; версию 1.2 выбирать не следует.
- Сервер отправляет сообщение с сертификатом (в зависимости от выбранного набора шифров сервер может не указывать его). [305]
- Сервер отправляет свое сообщение ServerKeyExchange (в зависимости от выбранного набора шифров, это может быть пропущено сервером). Это сообщение отправляется для всех наборов шифров DHE , ECDHE и DH_anon. [7]
- Сервер отправляет сообщение ServerHelloDone , указывая, что это выполнено с помощью согласования рукопожатия.
- Клиент отвечает сообщением ClientKeyExchange , которое может содержать PreMasterSecret , открытый ключ или ничего. (Опять же, это зависит от выбранного шифра.) Этот PreMasterSecret зашифрован с использованием открытого ключа сертификата сервера.
- Затем клиент и сервер используют случайные числа и PreMasterSecret для вычисления общего секрета, называемого «главным секретом». Все другие ключевые данные ( сеансовые ключи, такие как IV , симметричный ключ шифрования , MAC- ключ [306] ) для этого соединения извлекаются из этого главного секрета (и случайных значений, генерируемых клиентом и сервером), которые передаются через тщательно разработанный псевдослучайная функция.
- Теперь клиент отправляет запись ChangeCipherSpec , по сути говоря серверу: «Все, что я скажу вам с этого момента, будет аутентифицировано (и зашифровано, если параметры шифрования присутствовали в сертификате сервера)». ChangeCipherSpec сам по себе является протоколом уровня записи с типом содержимого 20.
- Клиент отправляет аутентифицированное и зашифрованное сообщение Finished , содержащее хэш и MAC, поверх предыдущих сообщений подтверждения .
- Сервер попытается расшифровать сообщение Finished клиента и проверить хэш и MAC. Если расшифровка или проверка завершились неудачно, рукопожатие считается неудачным, и соединение должно быть разорвано.
- Наконец, сервер отправляет ChangeCipherSpec , говоря клиенту: «Все, что я скажу вам с этого момента, будет аутентифицировано (и зашифровано, если шифрование было согласовано)».
- Сервер отправляет свое аутентифицированное и зашифрованное сообщение Finished .
- Клиент выполняет ту же процедуру дешифрования и проверки, что и сервер на предыдущем шаге.
- Фаза приложения: на этом этапе «рукопожатие» завершено и протокол приложения включен с типом контента 23. Сообщения приложений, которыми обмениваются клиент и сервер, также будут аутентифицированы и, возможно, зашифрованы точно так же, как в их сообщении Finished . В противном случае тип содержимого вернет 25, и клиент не будет аутентифицироваться.
Подтвержденное клиентом рукопожатие TLS
В следующем полном примере показана аутентификация клиента (в дополнение к серверу, как в примере выше; см. Взаимную аутентификацию ) через TLS с использованием сертификатов, которыми обмениваются оба одноранговых узла.
- Фаза переговоров:
- Клиент отправляет сообщение ClientHello, в котором указывается наивысшая версия протокола TLS, которую он поддерживает, случайное число, список предлагаемых наборов шифров и методы сжатия.
- Сервер отвечает сообщением ServerHello , содержащим выбранную версию протокола, случайное число, набор шифров и метод сжатия из вариантов, предлагаемых клиентом. Сервер также может отправить идентификатор сеанса как часть сообщения, чтобы выполнить возобновленное рукопожатие.
- Сервер отправляет сообщение с сертификатом (в зависимости от выбранного набора шифров сервер может не указывать его). [305]
- Сервер отправляет свое сообщение ServerKeyExchange (в зависимости от выбранного набора шифров, это может быть пропущено сервером). Это сообщение отправляется для всех наборов шифров DHE, ECDHE и DH_anon. [7]
- Сервер отправляет сообщение CertificateRequest , чтобы запросить сертификат у клиента.
- Сервер отправляет сообщение ServerHelloDone , указывая, что это выполнено с помощью согласования рукопожатия.
- Клиент отвечает сообщением о сертификате , которое содержит сертификат клиента.
- Клиент отправляет сообщение ClientKeyExchange , которое может содержать PreMasterSecret , открытый ключ или ничего. (Опять же, это зависит от выбранного шифра.) Этот PreMasterSecret зашифрован с использованием открытого ключа сертификата сервера.
- Клиент отправляет сообщение CertificateVerify , которое является подписью над предыдущими сообщениями рукопожатия с использованием закрытого ключа сертификата клиента. Эта подпись может быть проверена с помощью открытого ключа сертификата клиента. Это позволяет серверу знать, что клиент имеет доступ к закрытому ключу сертификата и, следовательно, владеет сертификатом.
- Затем клиент и сервер используют случайные числа и PreMasterSecret для вычисления общего секрета, называемого «главным секретом». Все остальные ключевые данные («сеансовые ключи») для этого соединения извлекаются из этого главного секрета (и случайных значений, генерируемых клиентом и сервером), которые передаются через тщательно разработанную псевдослучайную функцию.
- Теперь клиент отправляет запись ChangeCipherSpec , по сути говоря серверу: «Все, что я вам скажу, будет аутентифицировано (и зашифровано, если шифрование было согласовано)». ChangeCipherSpec сам по себе является протоколом уровня записи и имеет тип 20, а не 22. .
- Наконец, клиент отправляет зашифрованное сообщение Finished , содержащее хэш и MAC, поверх предыдущих сообщений подтверждения.
- Сервер попытается расшифровать сообщение Finished клиента и проверить хэш и MAC. Если расшифровка или проверка завершились неудачно, рукопожатие считается неудачным, и соединение должно быть разорвано.
- Наконец, сервер отправляет ChangeCipherSpec , говоря клиенту: «Все, что я скажу вам с этого момента, будет аутентифицировано (и зашифровано, если шифрование было согласовано)».
- Сервер отправляет собственное зашифрованное сообщение Finished .
- Клиент выполняет ту же процедуру дешифрования и проверки, что и сервер на предыдущем шаге.
- Фаза приложения: на этом этапе «рукопожатие» завершено, протокол приложения включен с типом контента 23. Сообщения приложений, которыми обмениваются клиент и сервер, также будут зашифрованы точно так же, как в их сообщении Finished .
Возобновлено рукопожатие TLS
Операции с открытым ключом (например, RSA) относительно дороги с точки зрения вычислительной мощности. TLS обеспечивает безопасный ярлык в механизме рукопожатия, чтобы избежать этих операций: возобновленные сеансы. Возобновленные сеансы реализуются с использованием идентификаторов сеанса или билетов сеанса.
Помимо повышения производительности, возобновленные сеансы также могут использоваться для единой регистрации , поскольку это гарантирует, что и исходный сеанс, и любой возобновленный сеанс происходят от одного и того же клиента. Это особенно важно для протокола FTP через TLS / SSL , который в противном случае пострадал бы от атаки типа «злоумышленник в середине», при которой злоумышленник мог бы перехватить содержимое дополнительных подключений к данным. [307]
Рукопожатие TLS 1.3
Рукопожатие TLS 1.3 было сокращено до всего одного кругового обхода по сравнению с двумя круговыми обходами, необходимыми в предыдущих версиях TLS / SSL.
Сначала клиент отправляет на сервер сообщение clientHello, которое содержит список поддерживаемых шифров в порядке предпочтений клиента и делает предположение о том, какой алгоритм ключа будет использоваться, чтобы он мог отправить секретный ключ для совместного использования в случае необходимости. Угадывая, какой ключевой алгоритм будет использоваться, сервер исключает обход. После получения clientHello сервер отправляет serverHello со своим ключом, сертификатом, выбранным набором шифров и готовым сообщением.
После того, как клиент получает сообщение о завершении сервера, он согласовывает с сервером, какой набор шифров следует использовать. [308]
Идентификаторы сеанса
При обычном полном рукопожатии сервер отправляет идентификатор сеанса как часть сообщения ServerHello . Клиент связывает этот идентификатор сеанса с IP-адресом сервера и портом TCP, так что, когда клиент снова подключается к этому серверу, он может использовать идентификатор сеанса для сокращения рукопожатия. На сервере идентификатор сеанса сопоставляется с ранее согласованными криптографическими параметрами, в частности с «главным секретом». Обе стороны должны иметь один и тот же «главный секрет», в противном случае возобновленное рукопожатие не удастся (это не позволяет злоумышленнику использовать идентификатор сеанса ). Случайные данные в сообщениях ClientHello и ServerHello фактически гарантируют, что сгенерированные ключи соединения будут отличаться от ключей в предыдущем соединении. В RFC этот тип рукопожатия называется сокращенным рукопожатием. В литературе это также описано как подтверждение перезапуска .
- Фаза переговоров:
- Клиент отправляет сообщение ClientHello, в котором указывается наивысшая версия протокола TLS, которую он поддерживает, случайное число, список предлагаемых наборов шифров и методы сжатия. В сообщение включен идентификатор сеанса из предыдущего TLS-соединения.
- Сервер отвечает сообщением ServerHello , содержащим выбранную версию протокола, случайное число, набор шифров и метод сжатия из вариантов, предлагаемых клиентом. Если сервер распознает идентификатор сеанса, отправленный клиентом, он отвечает тем же идентификатором сеанса . Клиент использует это, чтобы распознать, что выполняется возобновленное рукопожатие. Если сервер не распознает идентификатор сеанса, отправленный клиентом, он отправляет другое значение для своего идентификатора сеанса . Это сообщает клиенту, что возобновленное рукопожатие выполняться не будет. На этом этапе и клиент, и сервер имеют «главный секрет» и случайные данные для генерации данных ключа, которые будут использоваться для этого соединения.
- Теперь сервер отправляет запись ChangeCipherSpec , по существу говоря клиенту: «Все, что я скажу вам с этого момента, будет зашифровано». ChangeCipherSpec сам по себе является протоколом уровня записи и имеет тип 20, а не 22.
- Наконец, сервер отправляет зашифрованное сообщение Finished , содержащее хэш и MAC, поверх предыдущих сообщений подтверждения.
- Клиент попытается расшифровать сообщение Finished сервера и проверить хэш и MAC. Если расшифровка или проверка завершились неудачно, рукопожатие считается неудачным, и соединение должно быть разорвано.
- Наконец, клиент отправляет ChangeCipherSpec , говоря серверу: «Все, что я скажу вам с этого момента, будет зашифровано».
- Клиент отправляет собственное зашифрованное сообщение Finished .
- Сервер выполняет ту же процедуру дешифрования и проверки, что и клиент на предыдущем шаге.
- Фаза приложения: на этом этапе «рукопожатие» завершено, протокол приложения включен с типом контента 23. Сообщения приложений, которыми обмениваются клиент и сервер, также будут зашифрованы точно так же, как в их сообщении Finished .
Билеты на сеанс
RFC 5077 расширяет TLS за счет использования билетов сеанса вместо идентификаторов сеанса. Он определяет способ возобновления сеанса TLS, не требуя, чтобы состояние конкретного сеанса сохранялось на сервере TLS.
При использовании билетов сеанса сервер TLS сохраняет свое зависящее от сеанса состояние в билете сеанса и отправляет билет сеанса клиенту TLS для сохранения. Клиент возобновляет сеанс TLS, отправляя билет сеанса на сервер, а сервер возобновляет сеанс TLS в соответствии с состоянием конкретного сеанса в билете. Билет сеанса шифруется и аутентифицируется сервером, и сервер проверяет его действительность перед использованием его содержимого.
Одним из слабых мест этого метода с OpenSSL является то, что он всегда ограничивает безопасность шифрования и аутентификации передаваемого билета сеанса TLS AES128-CBC-SHA256
, независимо от того, какие другие параметры TLS были согласованы для фактического сеанса TLS. [299] Это означает, что информация о состоянии (билет сеанса TLS) не так хорошо защищена, как сам сеанс TLS. Особую озабоченность вызывает хранение ключей OpenSSL в контексте всего приложения ( SSL_CTX
), т. Е. В течение всего срока службы приложения, и недопущение повторной смены ключей для AES128-CBC-SHA256
билетов сеанса TLS без сброса контекста OpenSSL в масштабе всего приложения (что встречается редко). , подвержен ошибкам и часто требует ручного административного вмешательства). [300] [298]
Запись TLS
Это общий формат всех записей TLS.
Компенсировать | Байт +0 | Байт +1 | Байт +2 | Байт +3 |
---|---|---|---|---|
Байт 0 | Тип содержимого | N / A | ||
Байты 1..4 | Устаревшая версия | Длина | ||
(Главный) | (Незначительный) | (биты 15..8) | (биты 7..0) | |
Байты 5 .. ( m −1) | Сообщение (я) протокола | |||
Байт m .. ( p −1) | MAC (необязательно) | |||
Байты p .. ( q −1) | Заполнение (только блочные шифры) |
- Тип содержимого
- Это поле определяет тип протокола уровня записи, содержащийся в этой записи.
Шестигранник | Декабрь | Тип |
---|---|---|
0x14 | 20 | ChangeCipherSpec |
0x15 | 21 год | Тревога |
0x16 | 22 | Рукопожатие |
0x17 | 23 | Заявление |
0x18 | 24 | Стук сердца |
- Устаревшая версия
- Это поле определяет основную и вспомогательную версии TLS до TLS 1.3 для содержащегося сообщения. Для сообщения ClientHello это не обязательно должна быть самая высокая версия, поддерживаемая клиентом. Для TLS 1.3 и более поздних версий необходимо установить 0x0303, и приложение должно отправлять поддерживаемые версии в дополнительном блоке расширения сообщения.
Основная версия | Дополнительная версия | Тип версии |
---|---|---|
3 | 0 | SSL 3.0 |
3 | 1 | TLS 1.0 |
3 | 2 | TLS 1.1 |
3 | 3 | TLS 1.2 |
3 | 4 | TLS 1.3 |
- Длина
- Длина объединенных полей «протокольное сообщение (я)», «MAC» и «заполнение» (т. Е. Q -5) не должна превышать 2 14 байтов (16 КиБ).
- Сообщение (я) протокола
- Одно или несколько сообщений, указанных в поле «Протокол». Обратите внимание, что это поле может быть зашифровано в зависимости от состояния подключения.
- MAC и отступы
- Код аутентификации сообщения вычисляется над «сообщением протокола (ов)» поле, с дополнительными материалами ключа включен. Обратите внимание, что это поле может быть зашифровано или не включаться полностью, в зависимости от состояния соединения.
- Никакие поля «MAC» или «заполнение» не могут присутствовать в конце записей TLS до тех пор, пока все алгоритмы шифрования и параметры не будут согласованы и согласованы, а затем подтверждены путем отправки записи CipherStateChange (см. Ниже) для сигнализации о том, что эти параметры будут действовать во всех другие записи, отправленные тем же партнером.
Протокол рукопожатия
Большинство сообщений, которыми обмениваются во время настройки сеанса TLS, основаны на этой записи, если только не возникает ошибка или предупреждение, о которых необходимо сигнализировать записью протокола предупреждений (см. Ниже), или если режим шифрования сеанса не изменен другой записью ( см. ниже протокол ChangeCipherSpec).
Компенсировать | Байт +0 | Байт +1 | Байт +2 | Байт +3 |
---|---|---|---|---|
Байт 0 | 22 | N / A | ||
Байты 1..4 | Устаревшая версия | Длина | ||
(Главный) | (Незначительный) | (биты 15..8) | (биты 7..0) | |
Байты 5..8 | Тип сообщения | Длина данных сообщения рукопожатия | ||
(биты 23..16) | (биты 15..8) | (биты 7..0) | ||
Байты 9 .. ( n −1) | Данные сообщения рукопожатия | |||
Байт n .. ( n +3) | Тип сообщения | Длина данных сообщения рукопожатия | ||
(биты 23..16) | (биты 15..8) | (биты 7..0) | ||
Байт ( n +4) .. | Данные сообщения рукопожатия |
- Тип сообщения
- Это поле определяет тип сообщения подтверждения.
Код | Описание |
---|---|
0 | HelloRequest |
1 | КлиентПривет |
2 | СерверПривет |
4 | NewSessionTicket |
8 | EncryptedExtensions (только TLS 1.3) |
11 | Сертификат |
12 | ServerKeyExchange |
13 | CertificateRequest |
14 | СерверHelloDone |
15 | CertificateVerify |
16 | ClientKeyExchange |
20 | Законченный |
- Длина данных сообщения рукопожатия
- Это 3-байтовое поле, указывающее длину данных подтверждения, не включая заголовок.
Обратите внимание, что несколько сообщений подтверждения могут быть объединены в одной записи.
Протокол оповещения
Эта запись обычно не должна отправляться во время обычного подтверждения связи или обмена приложениями. Однако это сообщение может быть отправлено в любой момент во время рукопожатия и до закрытия сеанса. Если это используется, чтобы сигнализировать о фатальной ошибке, сеанс будет закрыт сразу после отправки этой записи, поэтому эта запись используется, чтобы указать причину этого закрытия. Если уровень предупреждения помечен как предупреждение, удаленный может решить закрыть сеанс, если он решит, что сеанс недостаточно надежен для его нужд (перед этим удаленный может также отправить свой собственный сигнал).
Компенсировать | Байт +0 | Байт +1 | Байт +2 | Байт +3 |
---|---|---|---|---|
Байт 0 | 21 год | N / A | ||
Байты 1..4 | Устаревшая версия | Длина | ||
(Главный) | (Незначительный) | 0 | 2 | |
Байты 5..6 | Уровень | Описание | N / A | |
Байты 7 .. ( p −1) | MAC (необязательно) | |||
Байты p .. ( q −1) | Заполнение (только блочные шифры) |
- Уровень
- Это поле определяет уровень предупреждения. Если уровень фатальный, отправитель должен немедленно закрыть сеанс. В противном случае получатель может решить прекратить сам сеанс, отправив собственное фатальное предупреждение и закрыв сам сеанс сразу после его отправки. Использование записей предупреждений необязательно, однако, если они отсутствуют до закрытия сеанса, сеанс может быть возобновлен автоматически (с его рукопожатием).
- Нормальное закрытие сеанса после завершения перенесенного приложения предпочтительно должно сопровождаться предупреждением, по крайней мере, с помощью типа предупреждения с уведомлением о закрытии (с простым уровнем предупреждения), чтобы предотвратить такое автоматическое возобновление нового сеанса. Явная сигнализация о нормальном закрытии безопасного сеанса перед эффективным закрытием его транспортного уровня полезна для предотвращения или обнаружения атак (например, попыток усечения безопасно транспортируемых данных, если они по сути не имеют заранее определенной длины или продолжительности, которые получатель защищенных данных можно ожидать).
Код | Тип уровня | Состояние подключения |
---|---|---|
1 | предупреждение | соединение или безопасность могут быть нестабильными. |
2 | фатальный | соединение или безопасность могут быть скомпрометированы, или произошла неисправимая ошибка. |
- Описание
- В этом поле указывается тип отправляемого предупреждения.
Код | Описание | Типы уровней | Примечание |
---|---|---|---|
0 | Закрыть уведомить | предупреждение / фатальный | |
10 | Неожиданное сообщение | фатальный | |
20 | Плохая запись MAC | фатальный | Возможно, плохая реализация SSL или полезная нагрузка была изменена, например, правилом брандмауэра FTP на сервере FTPS. |
21 год | Расшифровка не удалась | фатальный | Только TLS, зарезервировано |
22 | Переполнение записи | фатальный | Только TLS |
30 | Отказ декомпрессии | фатальный | |
40 | Сбой рукопожатия | фатальный | |
41 год | Нет сертификата | предупреждение / фатальный | Только SSL 3.0, зарезервировано |
42 | Плохой сертификат | предупреждение / фатальный | |
43 год | Неподдерживаемый сертификат | предупреждение / фатальный | например, для сертификата разрешена только проверка подлинности сервера и он представлен как сертификат клиента. |
44 год | Сертификат отозван | предупреждение / фатальный | |
45 | Срок действия сертификата истек | предупреждение / фатальный | Проверьте срок действия сертификата сервера, также проверьте, не истек ли срок действия сертификата в представленной цепочке |
46 | Сертификат неизвестен | предупреждение / фатальный | |
47 | Недопустимый параметр | фатальный | |
48 | Неизвестный ЦС ( центр сертификации ) | фатальный | Только TLS |
49 | Доступ запрещен | фатальный | Только TLS - например, сертификат клиента не был представлен (TLS: пустое сообщение о сертификате или SSLv3: нет предупреждения о сертификате), но сервер настроен так, чтобы требовать его. |
50 | Ошибка декодирования | фатальный | Только TLS |
51 | Расшифровать ошибку | предупреждение / фатальный | Только TLS |
60 | Ограничение экспорта | фатальный | Только TLS, зарезервировано |
70 | Версия протокола | фатальный | Только TLS |
71 | Недостаточная безопасность | фатальный | Только TLS |
80 | Внутренняя ошибка | фатальный | Только TLS |
86 | Неподходящий откат | фатальный | Только TLS |
90 | Пользователь отменен | фатальный | Только TLS |
100 | Без повторных переговоров | предупреждение | Только TLS |
110 | Неподдерживаемое расширение | предупреждение | Только TLS |
111 | Сертификат недоступен | предупреждение | Только TLS |
112 | Неизвестное имя | предупреждение / фатальный | Только TLS; В индикаторе имени сервера клиента указано имя хоста, не поддерживаемое сервером |
113 | Ответ о неверном статусе сертификата | фатальный | Только TLS |
114 | Неверное значение хэша сертификата | фатальный | Только TLS |
115 | Неизвестный идентификатор PSK (используется в TLS-PSK и TLS-SRP ) | фатальный | Только TLS |
Протокол ChangeCipherSpec
Компенсировать | Байт +0 | Байт +1 | Байт +2 | Байт +3 |
---|---|---|---|---|
Байт 0 | 20 | N / A | ||
Байты 1..4 | Устаревшая версия | Длина | ||
(Главный) | (Незначительный) | 0 | 1 | |
Байт 5 | Тип протокола CCS | N / A |
- Тип протокола CCS
- На данный момент только 1.
Протокол приложения
Компенсировать | Байт +0 | Байт +1 | Байт +2 | Байт +3 |
---|---|---|---|---|
Байт 0 | 23 | N / A | ||
Байты 1..4 | Устаревшая версия | Длина | ||
(Главный) | (Незначительный) | (биты 15..8) | (биты 7..0) | |
Байты 5 .. ( m −1) | Данные приложений | |||
Байт m .. ( p −1) | MAC (необязательно) | |||
Байты p .. ( q −1) | Заполнение (только блочные шифры) |
- Длина
- Длина данных приложения (исключая заголовок протокола и включая трейлеры MAC и заполнения)
- MAC
- 32 байта для HMAC на основе SHA-256 , 20 байтов для HMAC на основе SHA-1 , 16 байтов для HMAC на основе MD5 .
- Прокладка
- Переменная длина; последний байт содержит длину заполнения.
Поддержка виртуальных серверов на основе имен
С точки зрения прикладного протокола TLS относится к нижнему уровню, хотя модель TCP / IP слишком грубая, чтобы это показать. Это означает, что рукопожатие TLS обычно (за исключением случая STARTTLS ) выполняется до запуска протокола приложения. В функции виртуального сервера на основе имени , предоставляемой уровнем приложения, все совместно размещенные виртуальные серверы используют один и тот же сертификат, поскольку сервер должен выбрать и отправить сертификат сразу после сообщения ClientHello. Это большая проблема в среде хостинга, потому что это означает, что все клиенты используют один и тот же сертификат или используют разные IP-адреса для каждого из них.
X.509 предлагает два известных обходных пути :
- Если все виртуальные серверы принадлежат одному домену, можно использовать групповой сертификат . [309] Помимо свободного выбора имени хоста, который может быть проблемой или нет, нет единого соглашения о том, как сопоставить сертификаты с подстановочными знаками. В зависимости от протокола приложения или используемого программного обеспечения применяются разные правила. [310]
- Добавьте имя каждого виртуального хоста в расширение subjectAltName. Основная проблема заключается в том, что сертификат необходимо перевыпускать всякий раз, когда добавляется новый виртуальный сервер.
Чтобы указать имя сервера, RFC 4366 Transport Layer Security (TLS) Extensions позволяет клиентам включать расширение Server Name Indication (SNI) в расширенное сообщение ClientHello. Это расширение сразу указывает серверу, какое имя клиент хочет подключиться, поэтому сервер может выбрать соответствующий сертификат для отправки клиентам.
RFC 2817 также описывает метод реализации виртуального хостинга на основе имен путем обновления HTTP до TLS с помощью заголовка обновления HTTP / 1.1 . Обычно это делается для безопасной реализации HTTP через TLS в рамках основной схемы URI «http» (которая позволяет избежать разветвления пространства URI и уменьшает количество используемых портов), однако в настоящее время это поддерживается немногими реализациями. [ необходима цитата ]
Стандарты
Первичные стандарты
Текущая утвержденная версия TLS - это версия 1.3, которая указана в:
- RFC 8446 : «Протокол безопасности транспортного уровня (TLS) версии 1.3».
Текущий стандарт заменяет эти предыдущие версии, которые теперь считаются устаревшими:
- RFC 2246 : «Протокол TLS версии 1.0».
- RFC 4346 : «Протокол безопасности транспортного уровня (TLS) версии 1.1».
- RFC 5246 : «Протокол безопасности транспортного уровня (TLS) версии 1.2».
А также никогда не стандартизированные SSL 2.0 и 3.0, которые считаются устаревшими:
- Интернет-проект (1995 г.) , SSL версии 2.0
- RFC 6101 : «Протокол уровня защищенных сокетов (SSL) версии 3.0».
Расширения
Другие RFC впоследствии расширили TLS.
Расширения TLS 1.0 включают:
- RFC 2595 : «Использование TLS с IMAP, POP3 и ACAP». Задает расширение для служб IMAP, POP3 и ACAP, которое позволяет серверу и клиенту использовать безопасность транспортного уровня для обеспечения частной аутентифицированной связи через Интернет.
- RFC 2712 : «Добавление наборов шифров Kerberos к безопасности транспортного уровня (TLS)». Наборы 40-битных наборов шифров, определенные в этом документе, появляются только с целью документирования того факта, что эти коды наборов шифров уже были назначены.
- RFC 2817 : «Обновление до TLS в HTTP / 1.1», объясняет, как использовать механизм обновления в HTTP / 1.1 для инициирования безопасности транспортного уровня (TLS) через существующее TCP-соединение. Это позволяет незащищенному и защищенному HTTP-трафику совместно использовать один и тот же хорошо известный порт (в данном случае http: at 80, а не https: at 443).
- RFC 2818 : «HTTP Over TLS», отличает защищенный трафик от небезопасного с помощью другого «порта сервера».
- RFC 3207 : «Расширение службы SMTP для безопасного SMTP через безопасность транспортного уровня». Задает расширение для службы SMTP, которое позволяет серверу и клиенту SMTP использовать безопасность транспортного уровня для обеспечения конфиденциальной связи через Интернет с проверкой подлинности.
- RFC 3268 : «Наборы шифров AES для TLS». Добавляет наборы шифров Advanced Encryption Standard (AES) к ранее существовавшим симметричным шифрам.
- RFC 3546 : «Расширения безопасности транспортного уровня (TLS)», добавляет механизм согласования расширений протокола во время инициализации сеанса и определяет некоторые расширения. Устарело RFC 4366 .
- RFC 3749 : «Методы сжатия протокола безопасности транспортного уровня», определяет структуру для методов сжатия и метода сжатия DEFLATE .
- RFC 3943 : «Сжатие протокола безопасности транспортного уровня (TLS) с использованием Lempel-Ziv-Stac (LZS)».
- RFC 4132 : «Добавление наборов шифров Camellia к безопасности транспортного уровня (TLS)».
- RFC 4162 : «Добавление наборов шифров SEED к безопасности транспортного уровня (TLS)».
- RFC 4217 : «Защита FTP с помощью TLS ».
- RFC 4279 : «Наборы шифров с предварительным общим ключом для безопасности транспортного уровня (TLS)», добавляет три набора новых наборов шифров для протокола TLS для поддержки аутентификации на основе предварительно общих ключей.
Расширения TLS 1.1 включают:
- RFC 4347 : « Безопасность транспортного уровня дейтаграмм » определяет вариант TLS, который работает по протоколам дейтаграмм (например, UDP).
- RFC 4366 : «Расширения безопасности транспортного уровня (TLS)» описывает как набор конкретных расширений, так и общий механизм расширения.
- RFC 4492 : « Наборы шифров для криптографии с эллиптическими кривыми (ECC) для безопасности транспортного уровня (TLS)».
- RFC 4680 : «Сообщение подтверждения TLS для дополнительных данных».
- RFC 4681 : «Расширение сопоставления пользователей TLS».
- RFC 4785 : «Наборы шифров с предварительным общим ключом (PSK) с NULL-шифрованием для безопасности транспортного уровня (TLS)».
- RFC 5054 : «Использование протокола защищенного удаленного пароля (SRP) для аутентификации TLS». Определяет наборы шифров TLS-SRP .
- RFC 5077 : «Возобновление сеанса безопасности транспортного уровня (TLS) без состояния на стороне сервера».
- RFC 5081 : «Использование ключей OpenPGP для аутентификации на транспортном уровне (TLS)», исключено RFC 6091 .
Расширения TLS 1.2 включают:
- RFC 5288 : « Наборы шифров для режима счетчика Галуа (GCM) AES для TLS».
- RFC 5289 : «Наборы шифров TLS для эллиптических кривых с SHA-256/384 и режимом счетчика Галуа AES (GCM)».
- RFC 5746 : «Расширение индикации повторного согласования безопасности транспортного уровня (TLS)».
- RFC 5878 : «Расширения авторизации безопасности транспортного уровня (TLS)».
- RFC 5932 : «Наборы шифров Camellia для TLS»
- RFC 6066 : «Расширения безопасности транспортного уровня (TLS): определения расширений», включает указание имени сервера и сшивание OCSP .
- RFC 6091 : «Использование ключей OpenPGP для аутентификации TLS».
- RFC 6176 : «Запрещение уровня защищенных сокетов (SSL) версии 2.0».
- RFC 6209 : «Добавление наборов шифров ARIA к безопасности транспортного уровня (TLS)».
- RFC 6347 : «Версия 1.2 безопасности транспортного уровня дейтаграмм».
- RFC 6367 : «Добавление наборов шифров Camellia к безопасности транспортного уровня (TLS)».
- RFC 6460 : «Профиль Suite B для безопасности транспортного уровня (TLS)».
- RFC 6655 : «Наборы шифров AES-CCM для безопасности транспортного уровня (TLS)».
- RFC 7027 : «Кривые Brainpool для криптографии с эллиптическими кривыми (ECC) для защиты транспортного уровня (TLS)».
- RFC 7251 : «Наборы шифров для криптографии с эллиптической кривой (ECC) AES-CCM для TLS».
- RFC 7301 : « Расширение согласования протокола прикладного уровня безопасности транспортного уровня (TLS) ».
- RFC 7366 : «Шифрование, затем MAC для безопасности транспортного уровня (TLS) и безопасности транспортного уровня дейтаграмм (DTLS)».
- RFC 7465 : «Запрещение наборов шифров RC4».
- RFC 7507 : «Значение набора шифров для аварийной сигнализации TLS (SCSV) для предотвращения атак на понижение версии протокола».
- RFC 7568 : «Прекращение поддержки версии 3.0 уровня защищенных сокетов».
- RFC 7627 : «Хэш сеанса безопасности транспортного уровня (TLS) и расширенное расширение главного секрета».
- RFC 7685 : «Расширение ClientHello Padding для обеспечения безопасности транспортного уровня (TLS)».
Инкапсуляции TLS включают:
- RFC 5216 : « Протокол аутентификации EAP -TLS»
Информационные RFC
- RFC 7457 : «Обобщение известных атак на безопасность транспортного уровня (TLS) и датаграмму TLS (DTLS)»
- RFC 7525 : «Рекомендации по безопасному использованию безопасности транспортного уровня (TLS) и безопасности транспортного уровня дейтаграмм (DTLS)»
Смотрите также
- Согласование протокола уровня приложений - расширение TLS, используемое для ложного запуска SPDY и TLS
- Bullrun (программа дешифрования) - секретная программа защиты от шифрования, управляемая Агентством национальной безопасности США.
- Центр сертификации
- Сертификат прозрачности
- Строгая безопасность транспорта HTTP - HSTS
- Файл с кольцом для ключей
- QUIC (Quick UDP Internet Connections) - «... был разработан для обеспечения защиты, эквивалентной TLS / SSL»; Основная цель QUIC - улучшить воспринимаемую производительность ориентированных на соединение веб-приложений, которые в настоящее время используют TCP.
- Серверная криптография
- tcpcrypt
- DTLS
- Ускорение TLS
Рекомендации
- ^ Лоуренс, Скотт; Khare, Рохит. «Обновление до TLS в HTTP / 1.1» . tools.ietf.org . Проверено 15 декабря 2018 года .
- ^ " SSL / TLS в деталях, заархивированных 06.02.2015 на Wayback Machine ". Microsoft TechNet . Обновлено 30 июля 2003 г.
- ^ а б Хупер, Ховард (2012). CCNP Security VPN 642-648 Официальное руководство по сертификации (2-е изд.). Cisco Press. п. 22. ISBN 9780132966382.
- ^ а б Спотт, Эндрю; Лук-порей, Том; и другие. "Какой уровень TLS?" . Обмен стеками информационной безопасности .
- ^ а б Т. Диркс, Э. Рескорла (август 2008 г.). «Введение» . Протокол безопасности транспортного уровня (TLS) версии 1.2 . сек. 1. дои : 10,17487 / RFC5246 . RFC 5246 .
- ^ Э. Рескорла (август 2008 г.). «Протокол безопасности транспортного уровня (TLS) версии 1.3» .
- ^ а б в г Т. Диркс; Э. Рескорла (август 2008 г.). «Протокол безопасности транспортного уровня (TLS) версии 1.2» . Архивировано 24 декабря 2017 года.
- ^ а б в г д Брайт, Питер (17 октября 2018 г.). «Apple, Google, Microsoft и Mozilla объединились, чтобы положить конец TLS 1.0» . Проверено 17 октября 2018 года .
- ^ а б в г «Вот что нового и изменено в Firefox 74.0 Stable - gHacks Tech News» . www.ghacks.net . Проверено 10 марта 2020 .
- ^ а б в г «TLS 1.0 и TLS 1.1 - Статус платформы Chrome» . chromestatus.com . Проверено 10 марта 2020 .
- ^ https://www.circleid.com/posts/20190124_creating_tls_the_pioneering_role_of_ruth_nelson/
- ^ Томас YC В, Raghuram Bindignavle, Shaowen Су и Саймон С. Ламы , SNP: интерфейс для защищенной сети программирования Трудов USENIX Летней технической конференции, июня 1994 года
- ^ Мессмер, Эллен. «Отец SSL, доктор Тахер Эльгамал, находит быстроразвивающиеся ИТ-проекты на Ближнем Востоке» . Сетевой мир . Архивировано из оригинального 31 мая 2014 года . Проверено 30 мая 2014 .
- ^ Грин, Тим. «Отец SSL говорит, что, несмотря на атаки, стержню безопасности осталось еще много жизни» . Сетевой мир . Архивировано из оригинального 31 мая 2014 года . Проверено 30 мая 2014 .
- ^ а б Опплигер, Рольф (2016). «Введение» . SSL и TLS: теория и практика (2-е изд.). Артек Хаус . п. 13. ISBN 978-1-60807-999-5. Проверено 1 марта 2018 г. - через Google Книги.
- ^ «ПРОТОКОЛ SSL» . Корпорация Netscape. 2007. Архивировано из оригинального 14 июня 1997 года.
- ^ Рескорла 2001
- ^ «POODLE: уязвимость SSLv3 (CVE-2014-3566)» . Архивировано 5 декабря 2014 года . Проверено 21 октября 2014 года .
- ^ «Стандарты безопасности и изменение имен в войне браузеров» . Проверено 29 февраля 2020 .
- ^ Лаура К. Грей (18 декабря 2015 г.). «Изменение даты для перехода с SSL и раннего TLS» . Блог Совета по стандартам безопасности индустрии платежных карт . Проверено 5 апреля 2018 .
- ^ Компания «Ньютек» - решения для вашего бизнеса. «Изменения в соответствии с PCI ожидаются 30 июня. Готов ли ваш бизнес электронной коммерции?» . Forbes . Проверено 20 июня 2018 .
- ^ Диркс, Т. и Э. Рескорла (апрель 2006 г.). «Протокол безопасности транспортного уровня (TLS) версии 1.1» . RFC 4346 . Архивировано 24 декабря 2017 года.
- ^ а б Полк, Тим; Маккей, Терри; Чохани, Сантош (апрель 2014 г.). «Рекомендации по выбору, настройке и использованию реализаций безопасности транспортного уровня (TLS)» (PDF) . Национальный институт стандартов и технологий. п. 67. Архивировано из оригинального (PDF) 08.05.2014 . Проверено 7 мая 2014 .CS1 maint: использует параметр авторов ( ссылка )
- ^ Т. Диркс, Э. Рескорла (август 2008 г.). «Готово» . Протокол безопасности транспортного уровня (TLS) версии 1.2 . сек. 7.4.9. DOI : 10,17487 / RFC5246 . RFC 5246 .
- ^ «Различия между TLS 1.2 и TLS 1.3 (# TLS13)» . WolfSSL . 18 сентября 2019. Архивировано из оригинала 19 сентября 2019 года . Проверено 18 сентября 2019 .
- ^ «Примечания к выпуску NSS 3.29» . Сеть разработчиков Mozilla. Февраль 2017. Архивировано 22 февраля 2017 года .
- ^ «Включить TLS 1.3 по умолчанию» . Bugzilla @ Mozilla. 16 октября 2016 . Проверено 10 октября 2017 года .
- ^ «Firefox - Заметки (60.0)» . Mozilla . Проверено 10 мая 2018 .
- ^ «ProxySG, ASG и WSS будут прерывать SSL-соединения, когда клиенты, использующие TLS 1.3, получают доступ к сайтам, также использующим TLS 1.3» . BlueTouch Online . 16 мая 2017. Архивировано 12 сентября 2017 года . Проверено 11 сентября 2017 года .
- ^ «TLS 1.3 IETF 100 Hackathon» . Архивировано из оригинала на 2018-01-15.
- ^ а б IETF - Internet Engineering Task Force (2017-11-12), IETF Hackathon Presentations and Awards , получено 14.11.2017
- ^ «Ура! TLS 1.3 уже здесь. Теперь пора его реализовать и встроить в программное обеспечение» . Проверено 28 марта 2018 .
- ^ IETF - Internet Engineering Task Force (2018-07-15), IETF102-HACKATHON-20180715-1400 , получено 2018-07-18
- ^ «Доступна бета-версия wolfSSL TLS 1.3» . [email protected]. 11 мая 2017 . Дата обращения 11 мая 2017 .
- ^ «ПОДДЕРЖКА ПРОТОКОЛА TLS 1.3» . [email protected].
- ^ «Поддержка TLS 1.3 Draft 28 в wolfSSL» . [email protected]. 14 июня 2018 . Проверено 14 июня 2018 .
- ^ «Выпущен OpenSSL 1.1.1» . Мэтт Касвелл. 11 сен 2018 . Дата обращения 19 декабря 2018 .
- ^ Хоффман-Эндрюс, Джейкоб (26.02.2019). «ETS - это не TLS, и вам не следует его использовать» . Electronic Frontier Foundation . Проверено 27 февраля 2019 .
- ^ TS 103523-3 - V1.1.1 - КИБЕР; Протокол безопасности мидлбокса; Часть 3: Профиль для корпоративной сети и управления доступом к центру обработки данных ETSI
- ^ Группа финансовой индустрии продвигает намеренно взломанный «стандарт» криптографии под названием ETS Boing Boing
- ^ Ри, Скотт (2013). «Альтернативы центрам сертификации для безопасного Интернета» (PDF) . Конференция RSA в Азиатско-Тихоокеанском регионе. Архивировано 7 октября 2016 года (PDF) . Проверено 7 сентября 2016 года .
- ^ Подсчет SSL-сертификатов; netcraft; 13 мая 2015 г. Архивировано 16 мая 2015 г. в Wayback Machine.
- ^ Раймонд, Арт (3 августа 2017 г.). «DigiCert от Lehi поглощает конкурента по веб-безопасности в сделке на 1 миллиард долларов» . Deseret News . Проверено 21 мая 2020 .
- ^ «Тенденции рыночной доли центров сертификации SSL» . W3Techs . Проверено 21 мая 2020 .
- ^ Устройство правоохранительных органов Subverts SSL. Архивировано 15 марта 2014 г. на Wayback Machine , Wired, 3 апреля 2010 г.
- ^ Новое исследование предполагает, что правительства могут подделывать сертификаты SSL, заархивированные 4 января 2016 г. на Wayback Machine , EFF,24 марта 2010 г.
- ^ П. Эронен, Под ред. «Наборы шифров с предварительным общим ключом для безопасности транспортного уровня (TLS)» . Инженерная группа Интернета. RFC 4279 . Архивировано 5 сентября 2013 года . Проверено 9 сентября 2013 года .
- ^ Д. Тейлор, Под ред. «Использование протокола защищенного удаленного пароля (SRP) для аутентификации TLS» . Инженерная группа Интернета. RFC 5054 . Архивировано 7 декабря 2014 года . Проверено 21 декабря 2014 года .
- ^ Готард, Питер. «Google обновляет SSL-сертификаты до 2048-битного шифрования» . Вычислительная техника . Incisive Media. Архивировано 22 сентября 2013 года . Проверено 9 сентября 2013 года .
- ^ «Значение 2048-битного шифрования: почему важна длина ключа шифрования» . SearchSecurity . Архивировано 16 января 2018 года . Проверено 18 декабря 2017 .
- ^ Шон Тернер (17 сентября 2015 г.). «Консенсус: удалите DSA из TLS 1.3» . Архивировано 3 октября 2015 года.
- ^ RFC 8422
- ^ a b c d draft-chudov-cryptopro-cptls-04 - ГОСТ 28147-89 Наборы шифров для безопасности транспортного уровня (TLS)
- ^ RFC 5288 , 5289
- ^ RFC 6655 , 7251
- ^ RFC 6367
- ^ RFC 5932 , 6367
- ^ а б RFC 6209
- ^ RFC 4162
- ^ «О практической (не) безопасности 64-битных блочных шифров - коллизионные атаки на HTTP через TLS и OpenVPN» (PDF) . 2016-10-28. Архивировано (PDF) из оригинала 24 апреля 2017 года . Проверено 8 июня 2017 .
- ^ «Специальная публикация NIST 800-57. Рекомендации по управлению ключами - Часть 1: Общие (пересмотренные) » (PDF) . 2007-03-08. Архивировано из оригинального (PDF) 6 июня 2014 года . Проверено 3 июля 2014 .
- ^ а б в Qualys SSL Labs. «Рекомендации по развертыванию SSL / TLS» . Архивировано 4 июля 2015 года . Дата обращения 2 июня 2015 .
- ^ RFC 5469
- ^ RFC 7905
- ^ Шифры AEAD
- ^ «HTTP vs https» . Архивировано 12 февраля 2015 года . Проверено 12 февраля 2015 .
- ^ a b c d По состоянию на 11 апреля 2021 г. «Пульс SSL: обзор внедрения SSL на самых популярных веб-сайтах» . Qualys . Проверено 25 апреля 2021 .
- ^ а б ivanr. "RC4 в TLS сломан: что теперь?" . Qualsys Security Labs. Архивировано 27 августа 2013 года . Проверено 30 июля 2013 .
- ^ а б в Бодо Мёллер, Тайский дуонг и Кшиштоф Котович. «Укусы этого пуделя: использование запасного варианта SSL 3.0» (PDF) . Архивировано (PDF) из оригинала на 2014-10-14 . Проверено 15 октября 2014 .
- ^ «Какие браузеры поддерживают расширенную проверку (EV) и отображают индикатор EV?» . Symantec . Архивировано из оригинала на 2015-12-31 . Проверено 28 июля 2014 .
- ^ Б с д е е г ч я J к л м н «Совместимость с SHA-256» . Архивировано 01 июля 2015 года . Проверено 12 июня 2015 .
- ^ Б с д е е г ч я J к л м п о р а Q R сек т у V ш х у г аа аб «Совместимость с ECC» . Архивировано 17 февраля 2016 года . Проверено 13 июня 2015 .
- ^ а б «Отслеживание FREAK-атаки» . Архивировано 06 марта 2015 года . Проверено 8 марта 2015 .
- ^ а б «FREAK: факторинг ключей экспорта RSA» . Архивировано 11 марта 2015 года . Проверено 8 марта 2015 .
- ^ Google (29 мая 2012 г.). «Обновление Dev Channel» . Архивировано 2 марта 2013 года . Проверено 1 июня 2011 .
- ^ Google (21.08.2012). «Стабильное обновление канала» . Архивировано 25 августа 2012 года . Проверено 22 августа 2012 .
- ^ Chromium Project (30 мая 2013 г.). «Реализация Chromium TLS 1.2» .
- ^ «Проект Chromium: BoringSSL» . Архивировано 23 сентября 2015 года . Проверено 5 сентября 2015 .
- ^ а б «Стабильная версия Chrome» . Выпуски Chrome . 2011-10-25. Архивировано 20 февраля 2015 года . Проверено 1 февраля 2015 .
- ^ «Журнал изменений SVN в выпуске Chrome 10.0.648.127» . Архивировано из оригинала на 2014-06-19 . Проверено 19 июня 2014 .
- ^ а б «Императорский фиолетовый - ПРЕСТУПЛЕНИЕ» . 2012-09-22. Архивировано 10 января 2015 года . Проверено 18 октября 2014 .
- ^ а б «Обзор SSL / TLS» . 2008-08-06. Архивировано 3 июля 2013 года . Проверено 29 марта 2013 .
- ^ а б «Chromium Issue 90392» . 2008-08-06. Архивировано 3 августа 2013 года . Проверено 28 июня 2013 .
- ^ а б «Проблема 23503030, слияние 219882» . 2013-09-03. Архивировано 26 февраля 2014 года . Проверено 19 сентября 2013 .
- ^ а б «Проблема 278370: невозможно отправить клиентские сертификаты через TLS 1.2 из Windows» . 2013-08-23. Архивировано 5 октября 2013 года . Проверено 3 октября 2013 .
- ^ Мёллер, Бодо (2014-10-14). «Этот POODLE кусается: использование запасного варианта SSL 3.0» . Блог Google Online Security . Google (через Blogspot). Архивировано 28 октября 2014 года . Проверено 28 октября 2014 .
- ^ а б в «Обновление SSLv3 в Chrome» . Security-dev . 2014-10-31 . Проверено 4 ноября 2014 .
- ^ «Стабильное обновление канала» . Сеть разработчиков Mozilla . 2014-02-20. Архивировано 24 октября 2014 года . Проверено 14 ноября 2014 .
- ^ «Список изменений для Chrome 33.0.1750.117» . Google . Архивировано из оригинала на 2014-01-16 . Проверено 14 ноября 2014 .
- ^ «Проблема 318442: обновление до NSS 3.15.3 и NSPR 4.10.2» . Архивировано 15 марта 2015 года . Проверено 14 ноября 2014 .
- ^ а б в г д «Проблема 693963003: Добавьте минимальный контроль версий TLS в about: flags и Finch заблокируйте его. - Проверка кода» . Архивировано 16 апреля 2015 года . Проверено 22 января 2015 .
- ^ а б в «Проблема 375342: Прекращение поддержки RC4» . Архивировано 12 сентября 2015 года . Проверено 22 мая 2015 .
- ^ а б «Проблема 436391: добавить в документацию информацию об окончании срока действия политики SSLVersionFallbackMin и SSLVersionMin» . Архивировано 18 апреля 2015 года . Проверено 19 апреля 2015 .
- ^ «Проблема 490240: увеличить минимальный размер DH до 1024 бит (ошибка отслеживания)» . Архивировано 12 сентября 2015 года . Проверено 29 мая 2015 .
- ^ Б с д е е г ч я J K L «Намерение отказаться от рекомендаций: RC4» . Проверено 21 декабря 2015 .
- ^ Б с д е е г ч я J K L «Обновление сертификатов SHA-1 в Chrome» . 2015-12-18. Архивировано 18 декабря 2015 года . Проверено 21 декабря 2015 .
- ^ https://support.google.com/chrome/a/answer/7679408?hl=en
- ^ https://docs.microsoft.com/en-us/DeployEdge/microsoft-edge-policies#sslversionmin
- ^ а б в г «Безопасность в Firefox 2» . 2008-08-06. Архивировано 14 июля 2014 года . Проверено 31 марта 2009 .
- ^ а б «Атака на TLS-защищенные коммуникации» . Блог по безопасности Mozilla . Mozilla. 2011-09-27. Архивировано 4 марта 2015 года . Проверено 1 февраля 2015 .
- ^ а б «Введение в SSL» . MDN. Архивировано 14 июля 2014 года . Проверено 19 июня 2014 .
- ^ а б «Примечания к выпуску NSS 3.15.3» . Сеть разработчиков Mozilla . Mozilla. Архивировано 5 июня 2014 года . Проверено 13 июля 2014 .
- ^ а б «MFSA 2013-103: Прочие уязвимости служб сетевой безопасности (NSS)» . Mozilla . Mozilla. Архивировано 14 июля 2014 года . Проверено 13 июля 2014 .
- ^ «Ошибка 565047 - (RFC4346) Реализация TLS 1.1 (RFC 4346)» . Проверено 29 октября 2013 .
- ^ «Ошибка 480514 - реализация поддержки TLS 1.2 (RFC 5246)» . Проверено 29 октября 2013 .
- ^ «Ошибка 733647 - реализация TLS 1.1 (RFC 4346) в Gecko (Firefox, Thunderbird) включена по умолчанию» . Проверено 4 декабря 2013 .
- ^ а б «Заметки о Firefox - Рабочий стол» . 2014-02-04. Архивировано 07 февраля 2014 года . Проверено 4 февраля 2014 .
- ^ «Ошибка 861266 - реализация TLS 1.2 (RFC 5246) в Gecko (Firefox, Thunderbird) включена по умолчанию» . Проверено 18 ноября 2013 .
- ^ а б в «Атака POODLE и конец SSL 3.0» . Блог Mozilla . Mozilla. 2014-10-14. Архивировано 18 октября 2014 года . Проверено 28 октября 2014 .
- ^ «Firefox - Notes (34.0) - Mozilla» . mozilla.org. 2014-12-01. Архивировано 9 апреля 2015 года . Проверено 3 апреля 2015 .
- ^ «Ошибка 1083058 - настройка для управления откатом версии TLS» . bugzilla.mozilla.org . Проверено 6 ноября 2014 .
- ^ «Ошибка 1036737 - добавление поддержки draft-ietf-tls-downgrade-scsv в Gecko / Firefox» . bugzilla.mozilla.org . Проверено 29 октября 2014 .
- ^ а б в «Ошибка 1166031 - Обновление до NSS 3.19.1» . bugzilla.mozilla.org . Проверено 29 мая 2015 .
- ^ «Ошибка 1088915 - Перестаньте предлагать RC4 при первых рукопожатиях» . bugzilla.mozilla.org . Проверено 4 ноября 2014 .
- ^ «Firefox - Notes (39.0) - Mozilla» . mozilla.org. 2015-06-30. Архивировано 3 июля 2015 года . Проверено 3 июля 2015 .
- ^ «Google, Microsoft и Mozilla откажутся от шифрования RC4 в Chrome, Edge, IE и Firefox в следующем году» . VentureBeat . 2015-09-01. Архивировано 5 сентября 2015 года . Проверено 5 сентября 2015 .
- ^ «Намерение отправить: RC4 отключен по умолчанию в Firefox 44» . Архивировано 22 января 2011 года . Проверено 18 октября 2015 .
- ^ «RC4 теперь разрешен только на сайтах из белого списка (отменено)» . Проверено 2 ноября 2015 .
- ^ «Firefox - Notes (44.0) - Mozilla» . mozilla.org. 2016-01-26. Архивировано 4 марта 2016 года . Проверено 9 марта 2016 .
- ^ «Ошибка 1342082 - отключение TLS 1.3 для выпуска FF52» . Проверено 29 марта 2017 .
- ^ а б https://www.mozilla.org/en-US/firefox/78.0/releasenotes/
- ^ «История изменений Opera 9.0 для Windows» . Архивировано 10 сентября 2012 года.
- ^ «Опера 2 серии» . Архивировано 23 октября 2014 года . Проверено 20 сентября 2014 .
- ^ «Опера 3 серии» . Архивировано 23 октября 2014 года . Проверено 20 сентября 2014 .
- ^ «Опера 4 серии» . Архивировано 23 октября 2014 года . Проверено 20 сентября 2014 .
- ^ «Список изменений для Opera 5.x для Windows» . Архивировано 19 октября 2014 года . Проверено 19 июня 2014 .
- ^ «Список изменений для Opera [8] Beta 2 для Windows» . Архивировано 23 ноября 2005 года . Проверено 19 июня 2014 .
- ^ «Веб-спецификации, поддерживаемые в Opera 9» . Архивировано 26 октября 2014 года . Проверено 19 июня 2014 .
- ^ а б «Opera: журнал изменений Opera 10 beta для Windows» . Архивировано из оригинала на 2014-10-23 . Проверено 19 июня 2014 .
- ^ «Об Opera 11.60 и новых проблемах с некоторыми защищенными серверами» . 2011-12-11. Архивировано из оригинала на 2012-01-18.
- ^ а б в «Изменения безопасности в Opera 25; нападение пуделя» . 2014-10-15. Архивировано 20 октября 2014 года . Проверено 28 октября 2014 .
- ^ а б в г «Разбейте затор» . 2015-06-09. Архивировано 14 июня 2015 года . Проверено 11 июня 2015 .
- ^ «Уведомление: протокол шифрования RC4 уязвим для некоторых атак методом грубой силы» . 2013-04-04. Архивировано 15 марта 2015 года . Проверено 14 ноября 2014 .
- ^ «О неустойчивости RC4» . 2013-03-20. Архивировано из оригинала на 2013-11-12 . Проверено 17 ноября 2014 .
- ^ а б в г д «Обновление безопасности Opera 12 и Opera Mail» . 2016-02-16. Архивировано 16 февраля 2016 года . Проверено 17 февраля 2016 .
- ^ "Dev.Opera - вышла Opera 14 для Android!" . 2013-05-21. Архивировано 30 января 2015 года . Проверено 23 сентября 2014 .
- ^ «Dev.Opera - Представляем Opera 15 для компьютеров и быстрый цикл выпуска» . 2013-07-02. Архивировано 2 сентября 2014 года . Проверено 23 сентября 2014 .
- ^ То же, что и в Chrome 26–29
- ^ То же, что и в Chrome 30 и новее
- ^ a b то же, что и в Chrome 33 и новее
- ^ Microsoft (05 сентября 2012 г.). «Защищенный канал» . Архивировано 29 августа 2012 года . Проверено 18 октября 2012 .
- ^ Microsoft (27 февраля 2009 г.). «Приложение A MS-TLSP» . Архивировано 27 сентября 2013 года . Проверено 19 марта 2009 .
- ^ а б «Какие браузеры поддерживают только SSLv2?» . Проверено 19 июня 2014 .
- ^ а б в г «SHA2 и Windows - Блог Windows PKI - Домашняя страница сайта - Блоги TechNet» . 30 сентября 2010 г. Архивировано 16 июля 2014 года . Проверено 29 июля 2014 .
- ^ а б в г д «Улучшения безопасности HTTPS в Internet Explorer 7» . Архивировано 10 октября 2013 года . Проверено 29 октября 2013 .
- ^ «Комплекты шифров TLS» . Microsoft. Архивировано 13 марта 2017 года.
- ^ «Архивная копия» . Архивировано 11 марта 2015 года . Проверено 19 июля 2017 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ Б с д е е г «Уязвимость в Schannel делает возможным обход функции безопасности (3046049)» . 2015-03-10. Архивировано 13 марта 2017 года . Проверено 11 марта 2015 .
- ^ Б с д е е г «Уязвимость в Schannel делает возможным раскрытие информации (3061518)» . 2015-05-12. Архивировано 8 октября 2016 года . Проверено 22 мая 2015 .
- ^ а б в г «Обновление для добавления поддержки TLS 1.1 и TLS 1.2 в Windows Server 2008 SP2, Windows Embedded POSReady 2009 и Windows Embedded Standard 2009» . Проверено 19 июля 2017 .
- ^ а б «В Windows 7 добавлена поддержка TLSv1.1 и TLSv1.2 - IEInternals - Домашняя страница сайта - Блоги MSDN» . Архивировано 26 декабря 2013 года . Проверено 29 октября 2013 .
- ^ Томлинсон, Мэтт (11 ноября 2014 г.). «Сотни миллионов клиентов Microsoft теперь извлекают выгоду из лучшего в своем классе шифрования» . Безопасность Microsoft. Архивировано 14 ноября 2014 года . Проверено 14 ноября 2014 .
- ^ Рекомендации по безопасности Microsoft: Обновление для отключения RC4, заархивировано 11 марта 2015 г. на Wayback Machine
- ^ а б в г Microsoft (24 сентября 2013 г.). «Изменения IE11» . Архивировано 30 октября 2013 года . Проверено 1 ноября 2013 .
- ^ «Обновления безопасности для Internet Explorer за февраль 2015 г.» . 2015-02-11. Архивировано 11 февраля 2015 года . Проверено 11 февраля 2015 .
- ^ «Обновление включает настройку отключения резервной копии SSL 3.0 для сайтов в защищенном режиме по умолчанию в Internet Explorer 11» . Архивировано 14 февраля 2015 года . Проверено 11 февраля 2015 .
- ^ «Уязвимость в SSL 3.0 делает возможным раскрытие информации» . 2015-04-14. Архивировано 8 октября 2016 года . Проверено 14 апреля 2015 .
- ^ Команда Microsoft Edge (9 августа 2016 г.). «RC4 теперь отключен в Microsoft Edge и Internet Explorer 11» . Microsoft. Архивировано 21 августа 2016 года.
- ^ «Internet Explorer 11 для Windows Server 2012 и Windows Embedded 8 Standard» . Служба поддержки Microsoft . 2019-04-16.
- ^ а б в г д «Изменения TLS (Schannel SSP) в Windows 10 и Windows Server 2016» . Microsoft. 2017-03-21. Архивировано из оригинала на 2017-03-30 . Проверено 29 марта 2017 .
- ^ а б «Протоколы в TLS / SSL (Schannel SSP)» .
- ^ а б в г «Какие браузеры работают с универсальным SSL» . Архивировано 4 марта 2016 года . Проверено 15 июня 2015 .
- ^ «Уязвимость POODLE SSL - защитите свой Windo… - Разработка и взлом Windows Phone 8» . Разработчики XDA . Архивировано 23 сентября 2016 года.
- ^ а б «Какая версия TLS используется в Windows Phone 8 для безопасных HTTP-соединений?» . Microsoft. Архивировано 4 марта 2016 года . Проверено 7 ноября 2014 .
- ^ «Qualys SSL Labs - Проекты / Возможности пользовательского агента: неизвестно» . Архивировано 01 марта 2017 года.
- ^ а б «Безопасность платформы» . Microsoft. 2014-06-25. Архивировано 13 марта 2017 года . Проверено 7 ноября 2014 .
- ^ «Примечания к выпуску: важные проблемы в предварительной версии Windows 8.1» . Microsoft. 2013-06-24. Архивировано 4 ноября 2014 года . Проверено 4 ноября 2014 .
- ^ «W8.1 (IE11) против RC4» . Сообщество Qualys . Архивировано 4 ноября 2014 года . Проверено 4 ноября 2014 .
- ^ Адриан, Димцев. «Реализованы общие браузеры / библиотеки / серверы и связанные с ними комплекты шифров» . Проект TLS Cipher Suites . Архивировано 17 апреля 2013 года.
- ^ «Особенности» . Safari . Яблоко. 2009-06-10. Архивировано 17 апреля 2013 года . Проверено 10 июня 2009 .
- ^ «Curl: патч для добавления поддержки TLS 1.1 и 1.2 и замены устаревших функций в SecureTransport» . Швеция: haxx.se. Архивировано 01 марта 2017 года.
- ^ Отчет Qualys SSL: google.co.uk Архивировано 20 марта 2017 г.на Wayback Machine (имитация Safari 5.1.9 TLS 1.0)
- ^ «Apple защищает Mac OS X с помощью выпуска Mavericks» . Планета электронной безопасности. 2013-10-25. Архивировано 8 июля 2014 года . Проверено 23 июня 2014 .
- ^ Ристич, Иван (10.09.2013). "ЗВЕРЬ все еще угроза?" . Qualys. Архивировано 12 октября 2014 года.
- ^ а б Ристич, Иван (31 октября 2013 г.). «Apple включила средства защиты от BEAST в OS X 10.9 Mavericks» . Архивировано 7 ноября 2013 года . Проверено 7 ноября 2013 .
- ^ Ристич, Иван (26 февраля 2014 г.). «Apple наконец-то выпускает патч для BEAST» . Qualys. Архивировано 14 июля 2014 года . Проверено 1 июля 2014 .
- ^ «Об обновлении безопасности 2014-005» . Статья в базе знаний службы поддержки Apple . Яблоко. Архивировано 24 октября 2014 года.
- ^ «О безопасности iOS 8.1» . Статья в базе знаний службы поддержки Apple . Яблоко. Архивировано 23 октября 2014 года.
- ^ а б в «Об обновлении безопасности 2015-002» . Статья в базе знаний службы поддержки Apple . Яблоко. Архивировано 16 марта 2015 года . Проверено 9 марта 2015 .
- ^ а б «О безопасности OS X Mavericks v10.9» . Архивировано 4 июля 2014 года . Проверено 20 июня 2014 .
- ^ «Возможности пользовательского агента: Safari 8 / OS X 10.10» . Qualys SSL Labs. Архивировано 6 сентября 2015 года . Проверено 7 марта 2015 .
- ^ «О безопасности OS X Yosemite v10.10.4 и обновлении безопасности 2015-005» . Архивировано 2 июля 2015 года . Проверено 3 июля 2015 .
- ^ а б Поли, Томми (2019-01-29). «TLS 1.3 в iOS» . [email protected] (список рассылки).
- ^ а б в «Техническое примечание TN2287 - Проблемы взаимодействия iOS 5 и TLS 1.2» . Яблоко. 2011-10-14. Архивировано 07 сентября 2011 года . Проверено 10 декабря 2012 .
- ^ Либовиц, Мэтт (2011-10-13). «Apple выпускает огромные патчи безопасности программного обеспечения» . NBC News . Проверено 10 декабря 2012 .
- ^ MWR Info Security (16 апреля 2012 г.). «Приключения с iOS UIWebviews» . Архивировано 17 апреля 2013 года . Проверено 10 декабря 2012 ., раздел «HTTPS (SSL / TLS)»
- ^ «Справочник по безопасному транспорту» . Архивировано 4 июня 2014 года . Проверено 23 июня 2014 .
kSSLProtocol2
устарело в iOS - ^ «iPhone 3.0: Mobile Safari получает расширенную визуализацию сертификата безопасности» . Блог iPhone . 31 марта 2009 г. Архивировано из оригинала на 2009-04-03.
- ^ «Возможности проектов / пользовательских агентов: Safari 7 / iOS 7.1» . Qualys SSL Labs. Архивировано 13 марта 2017 года.
- ^ щуртертом (2013-10-11). «Запрос SOAP не выполняется случайным образом на одном сервере, но работает на другом на iOS7» . Переполнение стека . Проверено 5 января 2014 .
- ^ «Возможности пользовательского агента: Safari 8 / iOS 8.1.2» . Qualys SSL Labs. Архивировано 4 марта 2016 года . Проверено 7 марта 2015 .
- ^ «О безопасности iOS 8.2» . Статья в базе знаний службы поддержки Apple . Яблоко. Архивировано 9 марта 2015 года . Проверено 9 марта 2015 .
- ^ «О безопасности iOS 8.4» . Архивировано 3 июля 2015 года . Проверено 3 июля 2015 .
- ^ «SSLSocket | Разработчики Android» . Архивировано 18 марта 2015 года . Проверено 11 марта 2015 .
- ^ а б в г «SSLSocket | Разработчики Android» . Архивировано 4 марта 2016 года . Проверено 17 декабря 2015 .
- ^ а б «Изменения в поведении Android 5.0 | Разработчики Android» . Архивировано 9 марта 2015 года . Проверено 11 марта 2015 .
- ^ «Изменения в поведении Android 8.0» . Архивировано 01 декабря 2017 года.
- ^ Oracle. «7093640: включить TLS 1.2 на стороне клиента по умолчанию» . Проверено 30 августа 2018 .
- ^ Oracle. «JEP 332: Безопасность транспортного уровня (TLS) 1.3» . Проверено 30 августа 2018 .
- ^ Бен Смит (2019). «TLS 1.3 для инженеров: исследование спецификации TLS 1.3 и реализации Java OpenJDK» . arXiv : 1904.02148 . Источник 2021-01-29 .
- ^ «Версия 1.11.13, 2015-01-11 - Ботан» . 2015-01-11. Архивировано из оригинала на 2015-01-09 . Проверено 16 января 2015 .
- ^ "[gnutls-devel] Выпущен GnuTLS 3.4.0" . 2015-04-08. Архивировано 16 апреля 2015 года . Проверено 16 апреля 2015 .
- ^ "[gnutls-devel] gnutls 3.6.4" . 2018-09-24 . Проверено 18 мая 2020 .
- ^ «Примечания к выпуску Java ™ SE Development Kit 8, обновление 31» . Архивировано 21 января 2015 года . Проверено 22 января 2015 .
- ^ «Выпущена OpenBSD 5.6» . 2014-11-01 . Проверено 20 января 2015 .
- ^ «Выпущен LibreSSL 2.3.0» . 2015-09-23 . Проверено 24 сентября 2015 .
- ^ https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.2.2-relnotes.txt
- ^ https://github.com/libressl-portable/portable/issues/228
- ^ «MatrixSSL - Новости» . Архивировано из оригинала на 2015-02-14 . Проверено 9 ноября 2014 .
- ^ "Выпущен mbed TLS 2.0.0" . 2015-07-10. Архивировано 25 сентября 2015 года . Проверено 14 июля 2015 .
- ^ «Примечания к выпуску NSS 3.19» . Сеть разработчиков Mozilla . Mozilla. Архивировано 5 июня 2015 года . Проверено 6 мая 2015 .
- ^ «Примечания к выпуску NSS 3.14» . Сеть разработчиков Mozilla . Mozilla. Архивировано 17 января 2013 года . Проверено 27 октября 2012 .
- ^ «Примечания к выпуску NSS 3.15.1» . Сеть разработчиков Mozilla . Mozilla. Архивировано 22 сентября 2013 года . Проверено 10 августа 2013 .
- ^ «Примечания к выпуску NSS 3.39» . 2018-08-31 . Проверено 14 сентября 2018 .
- ^ «Примечания к выпуску серии OpenSSL 1.1.0» . Архивировано 25 августа 2016 года . Проверено 2 октября 2016 .
- ^ а б «Основные изменения между OpenSSL 1.0.0h и OpenSSL 1.0.1 [14 марта 2012 г.]» . 2012-03-14. Архивировано из оригинала на 20 января 2015 года . Проверено 20 января 2015 .
- ^ «Выпущен OpenSSL 1.1.1» . 2018-09-11 . Проверено 14 сентября 2018 .
- ^ Наборы шифров TLS в Microsoft Windows XP и 2003, Архивировано 18 января 2015 г. на Wayback Machine
- ^ a b SChannel Cipher Suites в Microsoft Windows Vista, архивировано 12 января 2015 г. на Wayback Machine
- ^ a b c Наборы шифров TLS в SChannel для Windows 7, 2008R2, 8, 2012 Архивировано 19 марта 2015 г. на Wayback Machine
- ^ «Справочник по поддержке Microsoft TLS 1.3» . Microsoft. 2020-01-30 . Проверено 1 января 2021 .«Что нового в Windows 10 версии 1909 для ИТ-специалистов» . Microsoft. 2020-10-03 . Проверено 1 января 2021 .
- ^ «Протоколы в TLS / SSL (Schannel SSP)» . Microsoft. 2020-12-17 . Проверено 1 января 2021 .
- ^ «Выпущен [wolfssl] wolfSSL 3.6.6» . 2015-08-20. Архивировано 17 октября 2015 года . Проверено 25 августа 2015 .
- ^ «Поддержка [wolfssl] wolfSSL TLS1.3» . 2017-02-13 . Проверено 13 февраля 2017 .
- ^ «Примечания к выпуску NSS 3.24» . Сеть разработчиков Mozilla . Mozilla. Архивировано 26 августа 2016 года . Проверено 19 июня 2016 .
- ^ «Техническое примечание TN2287: проблемы взаимодействия iOS 5 и TLS 1.2» . Библиотека разработчика iOS . Apple Inc. Архивировано 3 апреля 2015 года . Проверено 3 мая 2012 .
- ^ Qualys SSL Labs - Проекты / Возможности пользовательского агента, заархивированные 2015-09-19 на Wayback Machine
- ^ Георгиев, Мартин и Айенгар, Субодх и Джана, Суман и Анубхай, Ришита и Бонех, Дан и Шматиков, Виталий (2012). Самый опасный код в мире: проверка SSL-сертификатов в небраузерном ПО. Материалы конференции ACM 2012 года по компьютерной и коммуникационной безопасности (PDF) . С. 38–49. ISBN 978-1-4503-1651-4. Архивировано (PDF) из оригинала 22.10.2017.CS1 maint: несколько имен: список авторов ( ссылка )
- ^ «Использование схемы SIPS URI в протоколе инициации сеанса (SIP)» . RFC 5630 .
- ^ Йорис Классенс; Валентин Дем; Дэнни Де Кок; Барт Пренил; Джоос Вандевалле (2002). «О безопасности современных электронных банковских систем» (PDF) . Компьютеры и безопасность . 21 (3): 253–265. DOI : 10.1016 / S0167-4048 (02) 00312-7 .
- ^ А. Фрейер; П. Карлтон; П. Кочер (август 2011 г.). «Протокол уровня защищенных сокетов (SSL) версии 3.0» . Архивировано 15 января 2012 года.
- ^ Лоуренс, Эрик (2005-10-22). «IEBlog: предстоящие улучшения HTTPS в Internet Explorer 7 Beta 2» . Блоги MSDN . Архивировано 17 апреля 2013 года . Проверено 25 ноября 2007 .
- ^ «Bugzilla @ Mozilla - Ошибка 236933 - отключение SSL2 и других слабых шифров» . Корпорация Mozilla . Проверено 25 ноября 2007 .
- ^ «Opera 9.5 для Windows Changelog» Архивировано 26 июня 2009 г. на Wayback Machine на Opera.com : «Отключен SSL v2 и слабые шифры».
- ^ « Журнал изменений Opera 10 для Windows». Архивировано 26 марта 2013 г. на Wayback Machine на Opera.com : «Удалена поддержка SSL v2 и слабых шифров»
- ^ Петтерсен, Ингве (30 апреля 2007 г.). «10 лет SSL в Opera - примечания разработчика» . Программное обеспечение Opera . Архивировано из оригинального 12 октября 2007 года . Проверено 25 ноября 2007 .
- ^ Национальный институт стандартов и технологий (декабрь 2010 г.). «Руководство по внедрению FIPS PUB 140-2 и программы проверки криптографических модулей» (PDF) . Архивировано из оригинального (PDF) 6 ноября 2010 года.
- ^ «Обобщение известных атак на безопасность транспортного уровня (TLS) и датаграмму TLS (DTLS)» . RFC 7457 . Архивировано 4 марта 2016 года.
- ^ «CVE - CVE-2009-3555» . Архивировано 4 января 2016 года.
- ^ Эрик Рескорла (2009-11-05). «Понимание атаки повторного согласования TLS» . Образованные догадки . Архивировано 09 февраля 2012 года . Проверено 27 ноября 2009 .
- ^ "SSL_CTX_set_options SECURE_RENEGOTIATION" . Документы OpenSSL . 2010-02-25. Архивировано 26 ноября 2010 года . Проверено 18 ноября 2010 .
- ^ «Выпущен GnuTLS 2.10.0» . Примечания к выпуску GnuTLS . 2010-06-25. Архивировано 09 февраля 2012 года . Проверено 24 июля 2011 .
- ^ «Примечания к выпуску NSS 3.12.6» . Примечания к выпуску NSS . 2010-03-03. Архивировано из оригинала 6 марта 2012 года . Проверено 24 июля 2011 .
- ^ А. Лэнгли; Н. Модадугу; Б. Мёллер (02.06.2010). «Фальстарт безопасности транспортного уровня (TLS)» . Инженерная группа Интернета . IETF. Архивировано 5 сентября 2013 года . Проверено 31 июля 2013 .
- ^ Грюнер, Вольфганг. «Ложный старт: Google предлагает более быстрый Интернет, Chrome уже поддерживает его» . Архивировано из оригинала на 2010-10-07 . Проверено 9 марта 2011 .
- ^ Смит, Брайан. «Атаки с ограниченным откатом при ложном и мгновенном запуске» . Архивировано 4 мая 2011 года . Проверено 9 марта 2011 .
- ^ Димцев, Адриан. «Фальстарт» . Случайный SSL / TLS 101 . Архивировано 4 мая 2011 года . Проверено 9 марта 2011 .
- ^ Маврогианнопулос, Никос; Веркаутерн, Фредерик; Величков, Веселин; Пренил, Барт (2012). Межпротокольная атака на протокол TLS. Материалы конференции ACM 2012 года по компьютерной и коммуникационной безопасности (PDF) . С. 62–72. ISBN 978-1-4503-1651-4. Архивировано (PDF) из оригинала 06.07.2015.
- ^ "SMACK: AttaCK конечного автомата" . Архивировано 12 марта 2015 года.
- ^ Гудин, Дэн (2015-05-20). «Атака, разрушающая HTTPS, угрожает десяткам тысяч веб-серверов и почтовых серверов» . Ars Technica . Архивировано 19 мая 2017 года.
- ^ Лейден, Джон (1 марта 2016 г.). «Треть всех HTTPS-сайтов открыта для атаки DROWN» . Реестр . Архивировано 1 марта 2016 года . Проверено 2 марта 2016 .
- ^ а б «Более 11 миллионов веб-сайтов HTTPS подверглись опасности новой атаки дешифрования» . Ars Technica . Архивировано 01 марта 2016 года . Проверено 2 марта 2016 .
- ^ Тай Дуонг и Джулиано Риццо (13.05.2011). «Вот иди ниндзя» . Архивировано 3 июня 2014 года.
- ^ Дэн Гудин (19 сентября 2011 г.). «Хакеры взламывают шифрование SSL, используемое миллионами сайтов» . Архивировано 09 февраля 2012 года.
- ^ «Y Combinator комментирует проблему» . 2011-09-20. Архивировано 17 апреля 2013 года.
- ^ «Безопасность CBC Ciphersuites в SSL / TLS: проблемы и меры противодействия» . 2004-05-20. Архивировано из оригинала на 2012-06-30.
- ^ Ристич, Иван (10 сентября, 2013). "ЗВЕРЬ все еще угроза?" . Архивировано 12 октября 2014 года . Проверено 8 октября 2014 года .
- ^ Брайан Смит (30 сентября 2011 г.). «(CVE-2011-3389) Rizzo / Duong выбрал атаку с открытым текстом (BEAST) на SSL / TLS 1.0 (при поддержке websockets -76)» .
- ^ «Уязвимость в SSL / TLS может привести к раскрытию информации (2643584)» . 2012-01-10. Архивировано 15 августа 2014 года.
- ^ Ристич, Иван (31 октября 2013 г.). «Apple включила средства защиты от BEAST в OS X 10.9 Mavericks» . Архивировано 12 октября 2014 года . Проверено 8 октября 2014 года .
- ^ Дэн Гудин (13 сентября 2012). «Взлом в основе доверия в Интернете позволяет перехватить сеанс HTTPS» . Ars Technica . Архивировано 01 августа 2013 года . Проверено 31 июля 2013 .
- ^ Деннис Фишер (13 сентября 2012 г.). «Атака CRIME использует коэффициент сжатия запросов TLS в качестве побочного канала для взлома защищенных сеансов» . ThreatPost. Архивировано из оригинального 15 сентября 2012 года . Проверено 13 сентября 2012 .
- ^ а б Гудин, Дэн (1 августа 2013 г.). «Угнать за 30 секунд: новая атака захватывает секреты со страниц, защищенных HTTPS» . Ars Technica . Condé Nast. Архивировано 3 августа 2013 года . Проверено 2 августа 2013 года .
- ^ Лейден, Джон (2 августа 2013 г.). «Шаг в ПРОБЛЕМЫ: новая атака, разработанная для чтения зашифрованных веб-данных» . Реестр . Архивировано 5 августа 2013 года . Проверено 2 августа 2013 года .
- ^ П. Гутманн (сентябрь 2014 г.). «Шифрование-затем-MAC для безопасности транспортного уровня (TLS) и безопасности транспортного уровня дейтаграмм (DTLS)» . Архивировано 12 мая 2015 года.
- ^ Лэнгли, Адам (8 декабря 2014 г.). «ПУДЕЛЬ снова кусает» . Архивировано 8 декабря 2014 года . Проверено 8 декабря 2014 .
- ^ безопасность - Самые безопасные шифры для использования с BEAST? (Эксплойт TLS 1.0) Я читал, что RC4 невосприимчив - Ошибка сервера
- ^ Пуян Сепехрдад; Серж Воденэ; Мартин Вуаньу (2011). «Обнаружение и использование новых предубеждений в RC4». В Алексе Бирюкове; Гуан Гун; Дуглас Р. Стинсон (ред.). Избранные области криптографии: 17-й международный семинар, SAC 2010, Ватерлоо, Онтарио, Канада, 12-13 августа 2010 г., пересмотренные избранные статьи . Конспект лекций по информатике. 6544 . С. 74–91. DOI : 10.1007 / 978-3-642-19574-7_5 . ISBN 978-3-642-19573-0.
- ^ Грин, Мэтью. «Атака недели: RC4 вроде взломан в TLS» . Инженерия криптографии . Архивировано 14 марта 2013 года . Проверено 12 марта 2013 года .
- ^ Надхем АльФардан, Дэн Бернштейн, Кенни Патерсон, Бертрам Поеттеринг и Джейкоб Шульдт. «О безопасности RC4 в TLS» . Лондонский Королевский университет Холлоуэй. Архивировано 15 марта 2013 года . Проверено 13 марта 2013 года .CS1 maint: несколько имен: список авторов ( ссылка )
- ^ AlFardan, Nadhem J .; Бернштейн, Даниэль Дж .; Патерсон, Кеннет Дж .; Поэттинг, Бертрам; Шульдт, Джейкоб К.Н. (8 июля 2013 г.). «О безопасности RC4 в TLS и WPA» (PDF) . Архивировано 22 сентября 2013 года (PDF) . Проверено 2 сентября 2013 года . Цитировать журнал требует
|journal=
( помощь ) - ^ AlFardan, Nadhem J .; Бернштейн, Даниэль Дж .; Патерсон, Кеннет Дж .; Поэттинг, Бертрам; Шульдт, Джейкоб К.Н. (15 августа 2013 г.). О безопасности RC4 в TLS (PDF) . 22-й симпозиум по безопасности USENIX . п. 51. Архивировано (PDF) из оригинала 22 сентября 2013 года . Проверено 2 сентября 2013 года .
Атаки восстановления открытого текста на RC4 в TLS возможны, но не совсем практичны
- ^ Гудин, Дэн. «Когда-то теоретическая крипто-атака на HTTPS теперь практически практически» . Ars Technical . Conde Nast. Архивировано 16 июля 2015 года . Проверено 16 июля 2015 года .
- ^ «Рекомендуемые конфигурации TLS на стороне сервера Mozilla Security» . Mozilla. Архивировано 03 января 2015 года . Проверено 3 января 2015 .
- ^ «Рекомендация по безопасности 2868725: Рекомендация по отключению RC4» . Microsoft. 2013-11-12. Архивировано 18 ноября 2013 года . Проверено 4 декабря 2013 .
- ^ «Прекращение поддержки шифра RC4 в Microsoft Edge и Internet Explorer 11» . Команда Microsoft Edge. 1 сентября 2015 года. Архивировано 2 сентября 2015 года.
- ^ Лэнгли, Адам (1 сентября 2015 г.). «Намерение отказаться от рекомендаций: RC4» .
- ^ Барнс, Ричард (1 сентября 2015 г.). «Намерение отправить: RC4 отключен по умолчанию в Firefox 44» . Архивировано 22 января 2011 года.
- ^ а б Джон Лейден (1 августа 2013 г.). «Gmail, Outlook.com и электронное голосование« взломали »на сцене в результате взлома криптовалюты» . Реестр . Архивировано 1 августа 2013 года . Проверено 1 августа 2013 года .
- ^ "Брифинги BlackHat USA" . Черная шляпа 2013 . Архивировано 30 июля 2013 года . Проверено 1 августа 2013 года .
- ^ Смит, Бен; Пиронти, Альфредо (2013). «Усечение подключений TLS для нарушения убеждений в веб-приложениях» . 7-й семинар USENIX по наступательным технологиям . Архивировано 6 ноября 2015 года . Проверено 15 февраля +2016 .
- ^ Гудин, Дэн. «Новая атака обходит защиту HTTPS на Mac, Windows и Linux» . Ars Technica . Condé Nast. Архивировано 27 июля 2016 года . Проверено 28 июля +2016 .
- ^ Гудин, Дэн (24 августа 2016 г.). «HTTPS и OpenVPN сталкиваются с новой атакой, которая может расшифровать секретные файлы cookie» . Ars Technica . Архивировано 24 августа 2016 года . Проверено 24 августа 2016 года .
- ^ «Почему это называется« Heartbleed Bug »?» . Вашингтон Пост . 2014-04-09. Архивировано 9 октября 2014 года.
- ^ «Уязвимость Heartbleed Bug [9 апреля 2014 г.]» . Comodo Group . Архивировано 5 июля 2014 года.
- ^ Блейхенбахер, Даниэль (август 2006 г.). «Подделка подписи RSA Блейхенбахером на основе ошибки реализации» . Архивировано из оригинала на 2014-12-16.
- ^ «БЕРСерк» . Безопасность Intel: расширенное исследование угроз. Сентябрь 2014. Архивировано 12 января 2015 года.
- ^ Гудин, Дэн (19 февраля 2015 г.). «ПК Lenovo поставляются с рекламным ПО, которое прерывает HTTPS-соединения» . Ars Technica . Архивировано 12 сентября 2017 года . Проверено 10 декабря 2017 года .
- ^ Валсорда, Филиппо (20 февраля 2015 г.). «Проверка SSL Komodia / Superfish нарушена» . Filippo.io. Архивировано 24 февраля 2015 года.
- ^ а б Гудин, Дэн. « « Запрещенная атака »делает десятки сайтов HTTPS Visa уязвимыми для взлома» . Ars Technica . Архивировано 26 мая 2016 года . Проверено 26 мая 2016 .
- ^ Кларк Эстес, Адам. «Все, что вам нужно знать о Cloudbleed, последней катастрофе в области безопасности Интернета» . Gizmodo . Архивировано 25 февраля 2017 года . Проверено 24 февраля 2017 .
- ^ Диффи, Уитфилд; ван Оршот, Пол К.; Винер, Майкл Дж. (Июнь 1992 г.). «Аутентификация и аутентифицированный обмен ключами» . Конструкции, коды и криптография . 2 (2): 107–125. CiteSeerX 10.1.1.59.6682 . DOI : 10.1007 / BF00124891 . S2CID 7356608 . Архивировано 13 марта 2008 года . Проверено 11 февраля 2008 .
- ^ Обсуждение в списке рассылки TLS в октябре 2007 г. Архивировано 22 сентября 2013 г. на Wayback Machine.
- ^ «Долгосрочная защита данных с прямой секретностью» . Архивировано 06 мая 2013 года . Проверено 5 ноября 2012 .
- ^ Бернат, Винсент. «SSL / TLS и совершенная прямая секретность» . Архивировано 27 августа 2012 года . Проверено 5 ноября 2012 .
- ^ «Лаборатории SSL: развертывание прямой секретности» . Qualys.com. 2013-06-25. Архивировано 26 июня 2013 года . Проверено 10 июля 2013 .
- ^ Ристич, Иван (05.08.2013). «Лаборатории SSL: развертывание прямой секретности» . Qualsys. Архивировано 20 сентября 2013 года . Проверено 31 августа 2013 .
- ^ а б Лэнгли, Адам (27 июня 2013 г.). «Как нарушить секретность пересылки TLS» . imperialviolet.org . Архивировано 8 августа 2013 года.
- ^ а б Данььер, Флоран. «Секреты TLS»: технический документ, представляющий последствия для безопасности развертывания сеансовых билетов (RFC 5077), реализованных в OpenSSL » (PDF) . Матта Консалтинг Лимитед. Архивировано (PDF) из оригинала 6 августа 2013 года . Проверено 7 августа 2013 года .
- ^ а б Данььер, Флоран. «Секреты TLS»: То, что вам все забыли сказать ... » (PDF) . Матта Консалтинг Лимитед. Архивировано 5 августа 2013 года (PDF) из оригинала . Проверено 7 августа 2013 года .
- ^ LS Huang; С. Адхикарла; Д. Бонех; К. Джексон (2014). «Экспериментальное исследование развертываний прямой секретности TLS» . IEEE Internet Computing . 18 (6): 43–51. CiteSeerX 10.1.1.663.4653 . DOI : 10.1109 / MIC.2014.86 . S2CID 11264303 . Архивировано 20 сентября 2015 года . Проверено 16 октября 2015 года .
- ^ «Долгосрочная защита данных с прямой секретностью» . Архивировано 12 февраля 2014 года . Проверено 7 марта 2014 .
- ^ Хоффман-Эндрюс, Джейкоб. «Прямая секретность в Twitter» . Twitter. Архивировано 16 февраля 2014 года . Проверено 7 марта 2014 .
- ^ а б в Дурумерик, Закир; Ма, Зейн; Спринголл, Дрю; Барнс, Ричард; Салливан, Ник; Бурштейн, Эли; Бейли, Майкл; Халдерман, Дж. Алекс; Паксон, Верн (5 сентября 2017 г.). «Влияние перехвата HTTPS на безопасность» . Симпозиум NDSS . DOI : 10.14722 / ndss.2017.23456 . ISBN 978-1-891562-46-4.
- ^ a b В настоящее время это сертификаты X.509 , но RFC 6091 также определяет использование сертификатов на основе OpenPGP .
- ^ "tls - Различия между терминами" предварительный секрет "," главный секрет "," закрытый ключ "и" общий секрет "?" . Обмен криптографическим стеком . Проверено 1 октября 2020 .
- ^ Крис (18 февраля 2009 г.). «Выпущен vsftpd-2.1.0 - Использование возобновления сеанса TLS для аутентификации соединения данных FTPS» . Scarybeastsecurity. blogspot.com. Архивировано 07 июля 2012 года . Проверено 17 мая 2012 .
- ^ Валсорда, Филиппо. «Обзор TLS 1.3 и вопросы и ответы» . Блог Cloudflare .
- ^ Обзор Wildcard SSL сертификат , архивируются с оригинала на 2015-06-23 , извлекаться 2015-07-02
- ^ Именованные виртуальные хосты SSL: как решить проблему (PDF) , заархивировано (PDF) из оригинала на 03.08.2012 , получено 17.05.2012
Эта статья основана на материалах, взятых из Free On-line Dictionary of Computing до 1 ноября 2008 г. и включенных в соответствии с условиями «перелицензирования» GFDL версии 1.3 или новее.
дальнейшее чтение
- Вагнер, Давид; Шнайер, Брюс (ноябрь 1996). «Анализ протокола SSL 3.0» (PDF) . Второй семинар USENIX по электронной коммерции . USENIX Press. С. 29–40.
- Эрик Рескорла (2001). SSL и TLS: проектирование и создание безопасных систем . США: ISBN Addison-Wesley Pub Co. 978-0-201-61598-2.
- Стивен А. Томас (2000). Основы SSL и TLS для защиты Интернета . Нью-Йорк: Вили. ISBN 978-0-471-38354-3.
- Бард, Грегори (2006). «Сложная, но выполнимая блочно-адаптивная атака по выбранному открытому тексту на SSL» . Международная ассоциация криптологических исследований (136) . Проверено 23 сентября 2011 .
- Канвел, Брайс. «Перехват пароля в канале SSL / TLS» . Проверено 20 апреля 2007 .
- Несколько авторов IETF. «RFC изменения для повторного согласования TLS» . Проверено 11 декабря 2009 .
- Создание виртуальных частных сетей с использованием IPsec и SSL / TLS Статья в Linux Journal Рами Розена
- Джошуа Дэвис (2010). Внедрение SSL / TLS . Вайли. ISBN 978-0470920411.
- Полк, Тим; Маккей, Керри; Чохани, Сантош (апрель 2014 г.). «Рекомендации по выбору, настройке и использованию реализаций безопасности транспортного уровня (TLS)» (PDF) . Национальный институт стандартов и технологий. Архивировано из оригинального (PDF) 08 мая 2014 года . Проверено 7 мая 2014 .
- Абду, Абдель Рахман; ван Оршот, Пол (август 2017 г.). «Проверка местоположения сервера (SLV) и закрепление местоположения сервера: усиление аутентификации TLS» . Сделки о конфиденциальности и безопасности . ACM.
Внешние ссылки
Технические характеристики (см. § Стандарты для старых ссылок SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1)
- Протокол безопасности транспортного уровня (TLS) версии 1.2RFC 5246
- IETF (Инженерная рабочая группа Интернета) TLS Workgroup
- Непереносимость версии TLS
- Непереносимость версии TLS
- TLS 1.3 и нетерпимость к версии
- Другой
- OWASP: Памятка по защите транспортного уровня
- Выступление о SSL / TLS, в котором пытается объяснить вещи понятными людям терминами.
- Уязвимость повторного согласования TLS - инструменты IETF
- Qualys SSL Labs - SSL Pulse
- Как создать CSR для SSL
- Как работает TLS Handshake в приватном браузере