- PVSM.RU - https://www.pvsm.ru -

«Интернет стал чуть безопаснее»: комитет IETF утвердил TLS 1.3

Спустя 4 года и 28 драфтов, Инженерный совет Интернета (IETF) одобрил [1] обновленный протокол TLS 1.3. Далее расскажем, в чем причина длительного утверждения протокола, и поговорим о его особенностях.

«Интернет стал чуть безопаснее»: комитет IETF утвердил TLS 1.3 - 1 [2]
/ фото Solo se puede [3] CC [4]

Почему так долго

Утверждение новой версии протокола заняло столько времени, так как обновление вызвало у некоторых компаний, в частности, банков, опасения. TLS 1.3 не позволяет расшифровывать проходящий трафик в сети, так как архитектура нового протокола использует эфемерные [5] ключи вместо статических [6]. Банкам необходимо анализировать трафик, чтобы обеспечить прозрачность подключений: ЦОД для финансовых организаций обычно подчиняется определенным требованиям [7] (например, требованиям стандарта PCI DSS [8]).

Для того чтобы получить возможность отслеживать трафик, некоторые операторы предложили [9] встроить в протокол своеобразный «бэкдор»: внедрить статический протокол [10] Диффи — Хеллмана. Обсуждение этого вопроса и задержало одобрение TLS. Отметим, что инициатива все же была отклонена.

Первая причина отказа заключается в том, что использование статического протокола Диффи — Хеллмана позволит прослушивать сеть, а это нарушение RFC 2804 [11] IETF Policy on Wiretapping.

Вторая причина — неготовность [12] рабочих групп IETF стандартизировать поддержку слабого шифрования в новом протоколе. Как показывает история, использование слабых алгоритмов шифрования, например, шифров RSA экспортного класса, может привести к таким атакам, как man-in-the-middle. Поэтому в IETF не согласились задействовать менее защищенные версии TLS, даже если это усложнит работу сетевых провайдеров.

На пути TLS 1.3 также встал [13] случай с Хромбуками. В январе 2017 года Google представили релиз Chrome 56 с поддержкой TLS 1.3, доступный для устройств на Linux, macOS, Windows, Android и iOS. Но после обновления Chrome до новой версии, Хромбуки и Windows-ПК в школах округа Монтгомери, США, не смогли подключиться к сети.

Позже выяснилось, что причиной сбоя стал инструмент безопасности Blue Coat 6.5. Он «вешал» систему, если Chrome устанавливал соединение по TLS 1.3, так как разработчики не до конца следовали спецификациям Google. В итоге ИТ-гигант временно приостановил [1] внедрение протокола.

«Интернет стал чуть безопаснее»: комитет IETF утвердил TLS 1.3 - 2
/ фото Jack-Benny Persson [14] CC [15]

Главные особенности TLS 1.3

В TLS 1.3 разработчики сделали несколько существенных изменений, по сравнению с предыдущей версией протокола.

Изменили процедуру «рукопожатия»

При использовании TLS 1.2 процесс установления соединения проходит [1] в несколько этапов:

  • Сперва клиент обращается к серверу и предлагает ряд систем шифрования, с которыми он может работать.
  • Сервер отвечает клиенту, сообщает, какую систему шифрования он будет использовать, и отправляет ключ шифрования.
  • Клиент получает ключ и использует его для шифрования и отправки случайной последовательности символов.
  • Далее создаются 2 новых ключа: мастер-ключ (сильнее) и сессионный ключ (слабее).
  • Далее, клиент сообщает, какую систему шифрования он планирует использовать для сессионного ключа.
  • Наконец, сервер одобряет систему шифрования и начинается обмен данными.

TLS 1.3 в 2 раза ускоряет весь процесс за счет объединения нескольких шагов, сокращая время до начала обмена информацией. Последовательность получается следующая:

  • Клиент сообщает серверу о системах шифрования, с которыми он может работать.
  • Сервер одобряет системы и передает свой ключ.
  • Клиент предоставляет сессионные ключи.

При этом сам механизм стал более безопасным, так как разработчики удалили все алгоритмы, которые не используют AEAD-режимы блочного шифрования [16]. При этом в структуре типовых шифронаборов механизмы аутентификации и обмена ключами были «отделены» от алгоритма защиты записи и хеш-функции для HMAC [17].

Внедрили forward secrecy

Это нововведение не позволит [18] злоумышленникам использовать скопированные ключи одной сессии для расшифровки других данных. Даже в случае компрометации мастер-ключа, сессионные ключи не будут взломаны.

Добавили режим 0-RTT

Режим, в котором сервер и клиент могут установить соединение по старым ключам, если они уже обменивались пакетами. Такой подход сократит время до начала приема-передачи данных.

Однако в этом случае клиент (например, браузер) не устанавливает защищенный канал с сервером, а просто посылает запрос. При этом злоумышленники могут перехватить пакет и при желании подделать его. Поэтому в спецификации протокола отдельно рассмотрены [19] атаки повторного воспроизведения (Replay Attacks [20]), которые реализуются путём записи и последующей отправки ранее посланных корректных сообщений, и способы противодействия им.

Здесь важно помнить, что ответственность за реализацию защиты от подобных атак несет сервер, поэтому в документе IETF сделан особый упор на механизмы защиты, которые бы противодействовали деятельности злоумышленников. С предлагаемыми подходами можно ознакомиться по ссылке [21].

Описание других функций и особенностей стандарта можно найти здесь [22].


P.S. Несколько материалов из Первого блога о корпоративном IaaS:

P.P.S. Подборка статей из блога «ИТ-ГРАД» на Хабре:

Автор: ИТ-ГРАДовец

Источник [29]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/276775

Ссылки в тексте:

[1] одобрил: http://www.theregister.co.uk/2018/03/23/tls_1_3_approved_ietf/

[2] Image: https://habrahabr.ru/company/it-grad/blog/352668/

[3] Solo se puede: https://www.flickr.com/photos/phylevn/2859748831/in/photostream/

[4] CC: https://creativecommons.org/licenses/by/2.0/

[5] эфемерные: https://ru.wikipedia.org/wiki/%D0%AD%D1%84%D0%B5%D0%BC%D0%B5%D1%80%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BB%D1%8E%D1%87

[6] статических: https://en.wikipedia.org/wiki/Static_key

[7] требованиям: http://searchdatacenter.techtarget.com/tip/A-data-center-regulatory-compliance-primer

[8] стандарта PCI DSS: http://iaas-blog.it-grad.ru/bezopasnost/sertifikaciya-pci-dss-chasto-zadavaemye-voprosy/

[9] предложили: https://www.thesslstore.com/blog/tls-1-3-banking-industry-working-undermine-encryption/

[10] протокол: https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%94%D0%B8%D1%84%D1%84%D0%B8_%E2%80%94_%D0%A5%D0%B5%D0%BB%D0%BB%D0%BC%D0%B0%D0%BD%D0%B0

[11] RFC 2804: https://tools.ietf.org/html/rfc2804

[12] неготовность: https://www.cs.uic.edu/~s/musings/tls13-enterprises/

[13] встал: https://www.theregister.co.uk/2017/02/27/blue_coat_chokes_on_chrome_encryption_update/

[14] Jack-Benny Persson: https://www.flickr.com/photos/hades2k/5871685134/

[15] CC: https://creativecommons.org/licenses/by-sa/2.0/

[16] AEAD-режимы блочного шифрования: https://ru.wikipedia.org/wiki/AEAD-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC_%D0%B1%D0%BB%D0%BE%D1%87%D0%BD%D0%BE%D0%B3%D0%BE_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F

[17] HMAC: https://ru.wikipedia.org/wiki/HMAC#%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0

[18] не позволит: https://techcrunch.com/2018/03/23/the-web-will-soon-be-a-little-safer-with-the-approval-of-this-new-security-standard/

[19] рассмотрены: https://tools.ietf.org/id/draft-ietf-tls-tls13-21.html#rfc.appendix.E.5

[20] Replay Attacks: https://ru.wikipedia.org/wiki/%D0%90%D1%82%D0%B0%D0%BA%D0%B0_%D0%BF%D0%BE%D0%B2%D1%82%D0%BE%D1%80%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D0%BE%D1%81%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F

[21] ссылке: https://tools.ietf.org/id/draft-ietf-tls-tls13-21.html#anti-replay

[22] здесь: https://tools.ietf.org/id/draft-ietf-tls-tls13-21.html

[23] Особенности двухфакторной аутентификации: работает ли это в облаке IaaS: http://iaas-blog.it-grad.ru/bezopasnost/osobennosti-dvuxfaktornoj-autentifikacii/

[24] Государственные системы в облаке: особенности размещения: http://iaas-blog.it-grad.ru/bezopasnost/osobennosti-razmeshheniya-gis-v-oblake/

[25] Защита персональных данных: европейский подход: http://iaas-blog.it-grad.ru/tendencii/zashhita-personalnyx-dannyx-evropejskij-podxod/

[26] Slingshot APT: найден продвинутый вирус — он оставался незамеченным 6 лет: https://habrahabr.ru/company/it-grad/blog/350974/

[27] Новый вирус Reaper заразил 2 миллиона IoT-устройств: https://habrahabr.ru/company/it-grad/blog/340938/

[28] Последнее обновление для HPE ProLiant выводило из строя сетевые адаптеры: https://habrahabr.ru/company/it-grad/blog/339366/

[29] Источник: https://habrahabr.ru/post/352668/?utm_source=habrahabr&utm_medium=rss&utm_campaign=352668