TLS 1.3

Материал из Википедии — свободной энциклопедии
Данная страницане проверялась участниками с соответствующими правами.
Перейти к навигацииПерейти к поиску
TLS 1.3
НазваниеTransport Layer Security v.1.3
Уровень (помодели OSI)Сеансовый
СемействоTLS
Создан вМарт 2018
Назначение протоколаЗащита передачи данных
СпецификацияRFC 8446
Основные реализации (клиенты)Mozilla Firefox иGoogle Chrome

TLS 1.3 — версия протокола защиты транспортного уровня (англ. Transport Layer Security)[1], являющаяся седьмой итерацией протоколаTLS и его предшественникаSSL (англ. Secure Sockets Layer). Протокол предназначен для защиты передаваемых данных между узлами сети, а именно предоставление шифрования, аутентификации и целостности соединения.

Версия 1.3 была утверждена в качестве стандарта 9 августа 2018 годаИнженерным советом Интернета (англ. Internet Engineering Task Force, IETF)[2][3].

Содержание

Установка соединения в TLS 1.3

[править |править код]

Процедура установки соединения также называется фазой рукопожатия (англ. Handshake)[4]. Данная процедура была модифицирована в версии 1.3 и значительно сократила время работы.TLS 1.3 необходима только одна передача в оба конца для установки соединения. В новой версииTLS 1.3 количество переговоров между клиентом и сервером сократилось с четырёх до двух, обмен ключами и схема цифровой подписи через расширение больше не требуются.

Возобновление сеанса 0-RTT

[править |править код]

Также вTLS 1.3 была включена система рукопожатий0-RTT, которая требует ноль циклов для установки соединения . Клиент имеет возможность подключиться к уже посещённому серверу ещё до разрешения отTLS 1.3 обмена данными. Это происходит путём хранения секретной информации, такой как идентификатор сеанса или билеты предыдущих сеансов. Данная система имеет несколько недостатков в безопасности, о которых рассказано в соответствующем разделе.

Схема установки соединения в TLS 1.3

[править |править код]
  • Клиент посылает сообщениеClientHello, состоящее из:[5]
    1. Открытый ключ клиентаkey_share, полученный по протоколуДиффи-Хеллмана или идентификаторы секретных ключейpre_shared_key, если используется шифрование по заранее заданному секретному ключу, известному обоим узлам сети;
    2. Предполагаемый режим обмена секретными ключамиpsk_key_exchange_modes;
    3. Модель алгоритма цифровой подписиsignature_algorithms.
  • Сервер отвечает следующими сообщениями:
    1. Ответная часть открытого ключаkey_share или выбранный идентификатор секретного ключаpre_shared_key;
    2. Серверное сообщениеEncryptedExtensions для передачи в зашифрованном виде дополнения, включающие в себя параметры тонкой настройки;
    3. При необходимости аутентификации, серверное сообщениеCertificateRequest для получения клиентского сертификата;
    4. Сертификат сервераCertificate
    5. СообщениеCertificate_verify, которое содержит цифровой сертификат сервера;
    6. Сообщение о завершении процедуры рукопожатияFinished
  • Клиент проверяет сертификат сервера, генерирует итоговый секретный ключ (в случае выбора данного способа генерации) и отправляет сообщения:
    1. Сообщение о завершении процедуры рукопожатияFinished (формальная отправка для подтверждения);
    2. В случае запроса клиентского сертификата отправляет свой сертификатCertificate;
    3. Зашифрованное сообщение (с этого момента происходит шифрование данных).

Особенности процедуры Handshake TLS 1.3

[править |править код]
  • Узлы при первой возможности переходят к зашифрованному виду и практически все сообщения в Handshake получаются зашифрованными;
  • Добавлено серверное сообщениеEncrypted Extensions, включающее в себя дополнительные параметры в зашифрованном виде[6];
  • Экономия целого полного цикла общения клиента и сервера и как следствие уменьшение времени работы процедуры минимум на 100 миллисекунд.

Улучшения безопасности TLS 1.3

[править |править код]

ВTLS 1.3 были удалены устаревшие и небезопасные функции, которые присутствовали в предыдущих версиях, такие как:

  • Алгоритмы шифрованияDES и3DES;
  • Алгоритмы хэшированияMD5 иSHA-1;
  • Export-шифры и шифрRC4;
  • Блочный шифрAES в режиме CBC (Cipher Block Chaining).

В новой версииTLS было реализовано свойствоPerfect Forward Secrecy, дающее гарантиюнекомпрометациисеансового ключа без обязательного обмена ключами протоколомRSA[7][8]. Уменьшена потенциальная вероятность неправильной настройки протокола из-за его упрощения с точки зрения администрирования. Как писалось ранее, общение межу узлами сети почти сразу происходит в зашифрованном виде, благодаря чему увеличивается криптонадежность протокола[9].

Кроме этого, в новой версии поддерживается протокол шифрованияHCDH и может не затрагивать протокол обмена ключами на основе протоколаDH.

Уязвимости TLS 1.3

[править |править код]

В новой версии протокола исправлено большинство недостатков и уязвимостей предыдущих версий, однако на данный момент обнаружено несколько уязвимостей в безопасности:

  1. Существует несколько проблем безопасности в сеансах возобновления0-RTT:
    • Отсутствие полной прямой секретности. То есть в случае компрометации ключей сеанса, злоумышленник может расшифровать данные0-RTT, отправленные клиентом на первом этапе. Данная проблема решается постоянным изменением ключей сеанса[10].
    • Отсутствие гарантии запрета повторного подключения. Если злоумышленнику каким-то образом удастся завладеть вашими зашифрованными данными0-RTT, он может обмануть сервер и заставить его поверить в то, что запрос пришёл с сервера, поскольку у него нет возможности узнать, откуда пришли данные. Отправка подобных запросов несколько раз называетсяатака повторного воспроизведения.
  2. Неполный отказ от RSA, из-за которого появляется возможность скомпрометировать обмен ключами через утекающиепроцессорные кэши. Данная уязвимость была использована для проведения новой вариации атакиБлейхенбахера, которая была изложена группой специалистов встатье.
  3. Уязвимость при работе с функционаломURL программного обеспеченияCisco Firepower Threat Defense. Злоумышленник может без прохождения проверки подлинности обойти блокировку трафика для определённыхURL-адресов[11]. Злоумышленник может воспользоваться этой уязвимостью, отправив созданные подключенияTLS 1.3 на уязвимое устройство. Успешныйэксплойт может позволить злоумышленнику обойти защитуTLS 1.3 и получить доступ кURL-адресам, которые находятся за пределами уязвимого устройства. Уязвимость вызвана логичной ошибкой обработкиSnort-соединений в протоколеTLS 1.3.
  4. Зачастую оба узла соединения поддерживают старую версиюTLS с набором шифров, поддерживающим обмен ключамиRSA. Используя этот факт, злоумышленник может внедрить вредоносныйJavaScript файл в браузер клиента через вредоносную точку доступа по типуWi-Fi. Внедрённый файл создаёт специальныйHTTPS-запрос, включающий в себя обход посредника для прослушиваниязашифрованных данных[12]. Данная уязвимость даёт возможность проведениякриптографических атакZombie POODLE иGOLDENDOODLE Attack[12].

Совместимость с предыдущими версиями

[править |править код]
Наборов шифров для TLS 1.2 и 1.3

В версииTLS 1.3 набор шифров (Cipher Suites) был существенно уменьшен по сравнению с версиейTLS 1.2 и принадлежит классу шифровAEAD[13]. Данные наборы регистрируются и хранятся в специальном реестре TLS IANA[14], в котором присваивается уникальный идентификационные номер. Из-за этого у протокола версии 1.3отсутствует обратная совместимость с более ранними версиями даже при использовании одинаковых наборов шифров[15].

Доступные наборы шифров дляTLS 1.3:

  • TLS_AES_128_CCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_CCM_8_SHA256

Поддерживающие TLS 1.3 версии браузеров

[править |править код]

На данный момент протокол TLS 1.3 поддерживается следующими браузерами и версиями[16]:

МинимальныеРекомендуемые
Google Chrome6770 или выше
Mozilla Firefox6063 или выше
Android Chrome1.3в 70 версии
Samsung Internet6.27.2

Примечания

[править |править код]
  1. ГОСУДАРСТВЕННЫЙ СТАНДАРТ СТБ 34.101.65-2014
  2. Sectigo . sectigo.com. Дата обращения: 7 декабря 2021. Архивировано 28 сентября 2020 года.
  3. IETF утверждает TLS 1.3 в качестве Интернет-Стандарта  (рус.). Anti-Malware.ru (26 марта 2018). Дата обращения: 7 декабря 2021. Архивировано 6 декабря 2021 года.
  4. Варвара Николаева. Что такое TLS-рукопожатие и как оно устроено  (рус.). Tproger (2 июля 2019). Дата обращения: 7 декабря 2021. Архивировано 7 декабря 2021 года.
  5. Eric Rescorla. The Transport Layer Security (TLS) Protocol Version 1.3. — Internet Engineering Task Force, 2018-08. —RFC 8446. Архивировано 26 ноября 2021 года.
  6. A Walkthrough of a TLS 1.3 Handshake . commandlinefanatic.com. Дата обращения: 8 декабря 2021. Архивировано 1 ноября 2021 года.
  7. Kim Crawley. What Forward Secrecy Does For TLS 1.3 | Venafi (англ.). www.venafi.com. Дата обращения: 7 декабря 2021. Архивировано 8 декабря 2021 года.
  8. RSA Vulnerabilities . paginas.fe.up.pt. Дата обращения: 7 декабря 2021. Архивировано 8 декабря 2021 года.
  9. Why use TLS 1.3? | SSL and TLS vulnerabilities (англ.). Дата обращения: 7 декабря 2021. Архивировано 7 декабря 2021 года.
  10. TLS 1.3 Handshake: Taking a Closer Look (амер. англ.). Hashed Out by The SSL Store™ (20 марта 2018). Дата обращения: 7 декабря 2021. Архивировано 4 декабря 2021 года.
  11. NVD - CVE-2020-3285 . nvd.nist.gov. Дата обращения: 7 декабря 2021. Архивировано 6 декабря 2021 года.
  12. 12ddos. New TLS 1.3 protocol vulnerability, thousands of websites face data leakage risks (амер. англ.). InfoTech News (15 февраля 2019). Дата обращения: 7 декабря 2021. Архивировано 6 декабря 2021 года.
  13. Cipher suites — Edge certificates (англ.). Cloudflare Docs. Дата обращения: 7 декабря 2021. Архивировано 7 декабря 2021 года.
  14. Transport Layer Security (TLS) Parameters . www.iana.org. Дата обращения: 7 декабря 2021. Архивировано 21 декабря 2016 года.
  15. Как работает TLS, в технических подробностях . tls.dxdt.ru. Дата обращения: 7 декабря 2021. Архивировано 15 ноября 2021 года.
  16. TLS 1.3 - Support Tables - W3cubDocs . docs.w3cub.com. Дата обращения: 7 декабря 2021. Архивировано 4 декабря 2021 года.

Ссылки

[править |править код]
Перейти к шаблону «IPstack»
ОсновныепротоколыTCP/IP по уровняммодели OSI
Физический
Канальный
Сетевой
Транспортный
Сеансовый
Представления
Прикладной
Другие прикладные
Перейти к шаблону «Механизмы безопасности в Интернете»
Шифрование ифильтрация трафика
Физический уровень
Канальный уровень
Сетевой уровень
Транспортный уровень
Сеансовый уровень
Представительский уровень
Прикладной уровень
Аутентификация
Защита компьютера
Защита IP-телефонии[англ.]
Анонимизация трафика
Защита беспроводных сетей
Источник —https://ru.wikipedia.org/w/index.php?title=TLS_1.3&oldid=147024915
Категории:
Скрытые категории: