Безопасность транспортного уровня дейтаграмм
Безопасность транспортного уровня дейтаграмм ( DTLS ) — это протокол связи, обеспечивающий безопасность приложений на основе дейтаграмм , позволяя им взаимодействовать способом, разработанным специально для них. [1] [2] [3] для предотвращения подслушивания , фальсификации или подделки сообщений . Протокол DTLS основан на протоколе потокоориентированном Transport Layer Security (TLS) и предназначен для предоставления аналогичных гарантий безопасности. Дейтаграмма протокола DTLS сохраняет семантику базового транспорта — приложение не страдает от задержек, связанных с потоковыми протоколами, но поскольку оно использует UDP или SCTP , приложению приходится иметь дело с переупорядочением пакетов , потерей дейтаграммы и данными, превышающими размер передаваемых данных. дейтаграммы размер сетевого пакета . Поскольку DTLS использует UDP или SCTP, а не TCP, он позволяет избежать «проблемы сбоя TCP». [4] [5] при использовании для создания VPN-туннеля.
Определение
[ редактировать ]Следующие документы определяют DTLS:
- RFC 5238 от мая 2008 г. [6] для использования с протоколом управления перегрузкой дейтаграмм (DCCP)
- RFC 5415 от марта 2009 г. [7] для использования с контролем и обеспечением точек беспроводного доступа (CAPWAP)
- RFC 5764 от мая 2010 г. [8] для использования с безопасным транспортным протоколом реального времени (SRTP), впоследствии названным DTLS-SRTP в проекте с безопасным протоколом управления транспортировкой в реальном времени (SRTCP) [9]
- RFC 6083 от января 2011 г. [10] для использования с инкапсуляцией протокола передачи управления потоком (SCTP)
- RFC 9147 от апреля 2022 г. [3] для использования с протоколом пользовательских датаграмм (UDP)
DTLS 1.0 основан на TLS 1.1, DTLS 1.2 основан на TLS 1.2, а DTLS 1.3 основан на TLS 1.3. DTLS 1.1 не существует, поскольку этот номер версии был пропущен для согласования номеров версий с TLS. [2] Как и предыдущие версии DTLS, DTLS 1.3 предназначен для предоставления «эквивалентных гарантий безопасности [TLS 1.3], за исключением защиты порядка/неповторяемости». [11]
Реализации
[ редактировать ]Библиотеки
[ редактировать ]Этот раздел нуждается в дополнительных цитатах для проверки . ( сентябрь 2023 г. ) |
Выполнение | ДТЛС 1.0 [1] | ДТЛС 1.2 [2] | ДТЛС 1.3 [3] |
---|---|---|---|
Ботан | Да | Да | |
криптлиб | Нет | Нет | |
ГнуTLS | Да | Да | |
Расширение защищенного сокета Java | Да | Да | |
LibreSSL | Да | Да [12] | |
библиотеки libsystools [13] | Да | Нет | |
МатрицаSSL | Да | Да | |
mbed TLS (ранее PolarSSL) | Да [14] | Да [14] | |
Службы сетевой безопасности | Да [15] | Да [16] | |
OpenSSL | Да | Да [17] | |
ПиДТЛС [18] [19] | Да | Да | |
Python3 dtls [20] [21] | Да | Да | |
RSA BSAFE | Нет | Нет | |
с2н | Нет | Нет | |
Канал XP/2003, Vista/2008 | Нет | Нет | |
Сканал 7/2008R2, 8/2012, 8.1/2012R2, 10 | Да [22] | Нет [22] | |
«Сканал 10» (1607), 2016 г. | Да | Да [23] | |
Безопасный транспорт OS X 10.2–10.7 / iOS 1–4 | Нет | Нет | |
Безопасный транспорт OS X 10.8–10.10 / iOS 5–8 | Да [24] | Нет | |
ШаркSSL | Нет | Нет | |
Тинидтлс [25] | Нет | Да | |
Waher.Security.DTLS [26] | Нет | Да | |
wolfSSL (ранее CyaSSL) [27] | Да | Да | Да |
@nodertc/dtls [28] [29] | Нет | Да | |
java-dtls [30] | Да | Да | |
пешка/дтлс [31] (Идти) | Нет | Да | |
калифорний/скандий [32] (Ява) | Нет | Да | |
СНФ4Дж [33] (Ява) | Да | Да | |
Выполнение | ДТЛС 1.0 | ДТЛС 1.2 | ДТЛС 1.3 |
Приложения
[ редактировать ]- VPN-клиент Cisco AnyConnect использует TLS и изобретенную VPN на основе DTLS. [34]
- OpenConnect — это клиент с открытым исходным кодом, совместимый с AnyConnect, и сервер ocserv , поддерживающий (D)TLS. [35]
- Cisco InterCloud Fabric использует DTLS для формирования туннеля между частными и общедоступными вычислительными средами/средами поставщиков. [36]
- ZScaler Tunnel 2.0 использует DTLS для туннелирования. [37]
- VPN-клиент F5 Networks Edge использует TLS и DTLS. [38]
- SSL VPN от Fortinet [39] и массивные сети SSL VPN [40] также используйте DTLS для туннелирования VPN.
- Citrix Systems NetScaler использует DTLS для защиты UDP. [41]
- Веб-браузеры: Google Chrome , Opera и Firefox поддерживают DTLS-SRTP. [42] для WebRTC . Firefox 86 и более поздние версии не поддерживают DTLS 1.0. [43]
- Протокол удаленного рабочего стола 8.0 и более поздних версий.
Уязвимости
[ редактировать ]В феврале 2013 года два исследователя из Королевского Холлоуэя (Лондонский университет) обнаружили тайминговую атаку. [44] что позволило им восстановить (части) открытого текста из соединения DTLS с использованием реализации DTLS OpenSSL или GnuTLS, когда цепочки блоков шифра использовалось шифрование в режиме .
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б Э. Рескорла; Н. Модадугу (апрель 2006 г.). Безопасность транспортного уровня дейтаграмм . Сетевая рабочая группа. дои : 10.17487/RFC4347 . RFC 4347 . Устаревший. Устарело RFC 6347. Updated by RFC 5746 и 7507 .
- ^ Jump up to: а б с Э. Рескорла; Н. Модадугу (январь 2012 г.). Безопасность транспортного уровня дейтаграмм, версия 1.2 . Целевая группа инженеров Интернета (IETF). дои : 10.17487/RFC6347 . ISSN 2070-1721 . RFC 6347 . Устаревший. Устарело RFC 9147. Updated by RFC 7507, 7905, 8996 and 9146. Obsoletes RFC 4347 .
- ^ Jump up to: а б с Э. Рескорла; Х. Чофениг; Н. Модадугу (апрель 2022 г.). Протокол безопасности транспортного уровня датаграмм (DTLS) версии 1.3 . Рабочая группа IETF TLS. дои : 10.17487/RFC9147 . РФК 9147 . Предлагаемый стандарт. Устаревшие RFC 6347
- ^ Титц, Олаф (23 апреля 2001 г.). «Почему TCP поверх TCP — плохая идея» . Архивировано из оригинала 10 марта 2023 г. Проверено 17 октября 2015 г.
{{cite web}}
: CS1 maint: bot: исходный статус URL неизвестен ( ссылка ) - ^ Хонда, Осаму; Осаки, Хироюки; Имасе, Макото; Исидзука, Мика; Мураяма, Дзюнъити (октябрь 2005 г.). «Понимание TCP поверх TCP: влияние туннелирования TCP на сквозную пропускную способность и задержку». В Атикуззамане, Мохаммед; Баландин, Сергей I (ред.). Производительность, качество обслуживания и управление коммуникационными и сенсорными сетями следующего поколения III . Том. 6011. Бибкод : 2005SPIE.6011..138H . CiteSeerX 10.1.1.78.5815 . дои : 10.1117/12.630496 . S2CID 8945952 .
- ^ Т. Фелан (май 2008 г.). Безопасность транспортного уровня дейтаграмм (DTLS) через протокол управления перегрузкой дейтаграмм (DCCP) . Сетевая рабочая группа. дои : 10.17487/RFC5238 . РФК 5238 . Информационный. Обновлено РФК 8996 .
- ^ П. Кэлхун; М. Монтемурро; Д. Стэнли, ред. (март 2009 г.). Спецификация протокола управления и обеспечения точек беспроводного доступа (CAPWAP) . Сетевая рабочая группа. дои : 10.17487/RFC5415 . РФК 5415 . Предлагаемый стандарт. Обновлено RFC 8553 и 8996 .
- ^ Д. МакГрю; Э. Рескорла (май 2010 г.). Расширение Datagram Transport Layer Security (DTLS) для создания ключей для безопасного транспортного протокола реального времени (SRTP) . Рабочая группа по интернет-инжинирингу . дои : 10.17487/RFC5764 . ISSN 2070-1721 . РФК 5764 . Предлагаемый стандарт. Обновлено RFC 7983 и 9443 .
- ^ Пек, М.; Иго, К. (25 сентября 2012 г.). «Профиль Suite B для безопасности транспортного уровня дейтаграмм / безопасного транспортного протокола реального времени (DTLS-SRTP)» . IETF .
- ^ М. Туксен; Р. Зеггельманн; Э. Рескорла (январь 2011 г.). Безопасность транспортного уровня дейтаграмм (DTLS) для протокола передачи управления потоком (SCTP) . Целевая группа инженеров Интернета (IETF). дои : 10.17487/RFC6083 . ISSN 2070-1721 . РФК 6083 . Предлагаемый стандарт. Обновлено РФК 8996 .
- ^ «Протокол безопасности транспортного уровня датаграмм (DTLS) версии 1.3» .
- ^ «Примечания к выпуску LibreSSL 3.3.2» . Проект OpenBSD. 01.05.2021 . Проверено 13 июня 2021 г.
- ^ Жюльен Кауфман. «libsystools: библиотека с открытым исходным кодом TLS/DTLS для Windows/Linux с использованием OpenSSL» . СоурсФордж .
- ^ Jump up to: а б «выпущен mbed TLS 2.0.0» . РУКА. 13 июля 2015 г. Проверено 25 августа 2015 г.
- ^ «Примечания к выпуску NSS 3.14» . Сеть разработчиков Mozilla . Мозилла. Архивировано из оригинала 17 января 2013 г. Проверено 27 октября 2012 г.
- ^ «Примечания к выпуску NSS 3.16.2» . Сеть разработчиков Mozilla . Мозилла. 30 июня 2014 г. Архивировано из оригинала 07 декабря 2021 г. Проверено 30 июня 2014 г.
- ^ «Начиная с версии 1.0.2» . Проект OpenSSL . Проект OpenSSL. 22 января 2015 г. Архивировано из оригинала 4 сентября 2014 г. Проверено 26 января 2015 г.
- ^ Рэй Браун. «pydtls — безопасность транспортного уровня дейтаграмм для Python» . Гитхаб .
- ^ Рэй Браун. «DTLS для Python» . Фонд программного обеспечения Python .
- ^ Рэй Браун/Mobius Software LTD. «pydtls — безопасность транспортного уровня дейтаграмм для Python» . Гитхаб .
- ^ Рэй Браун/Mobius Software LTD. «DTLS для Python3 на основе PyDTLS» . Фонд программного обеспечения Python .
- ^ Jump up to: а б «Доступно обновление, которое добавляет поддержку DTLS в Windows 7 SP1 и Windows Server 2008 R2 SP1» . Майкрософт . Проверено 13 ноября 2012 г.
- ^ Юстинья. «Изменения TLS (Schannel SSP) в Windows 10 и Windows Server 2016» . docs.microsoft.com . Проверено 1 сентября 2017 г.
- ^ «Техническое примечание TN2287: Проблемы совместимости iOS 5 и TLS 1.2» . Библиотека разработчиков iOS . Apple Inc. Проверено 3 мая 2012 г.
- ^ Олаф Бергманн. "минидтлс" . Фонд Эклипс .
- ^ Питер Вахер. «Waher.Security.DTLS» . Компания Waher Data AB .
- ^ «Встроенная библиотека SSL/TLS wolfSSL» .
- ^ Дмитрий Цветцих. «Безопасная связь UDP с использованием DTLS на чистом js» . Гитхаб .
- ^ Дмитрий Цветцих. «DTLS на чистом js» . НПМ .
- ^ ООО "Мобиус Софтвер". «Неблокирующая реализация Java DTLS на основе BouncyCastle и Netty» . ООО "Мобиус Софтвер" .
- ^ Шон Дюбуа. «pion/dtls: реализация сервера/клиента DTLS 1.2 для Go» . Гитхаб .
- ^ «californium/scandium: реализация сервера/клиента DTLS 1.2 для Java и Coap. Включает расширение идентификатора соединения» . Фонд Эклипс .
- ^ SNF4J.ORG. «Простая сетевая платформа для Java (SNF4J)» . Гитхаб .
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ) - ^ «Часто задаваемые вопросы по AnyConnect: туннели, поведение при повторном подключении и таймер неактивности» . Циско . Проверено 26 февраля 2017 г.
- ^ «ОпенКоннект» . ОпенКоннект . Проверено 26 февраля 2017 г.
- ^ «Обзор архитектуры Cisco InterCloud» (PDF) . Сиско Системы .
- ^ «ZScaler ZTNA 2.0 Туннель» . ZСкалер .
- ^ «f5 Безопасность транспортного уровня дейтаграмм (DTLS)» . f5 Сети .
- ^ «Использование DTLS для повышения производительности SSL VPN» . Фортинет . 25 февраля 2016 г.
- ^ «array.c из OpenConnect» . 23 мая 2022 г.
- ^ «Настройка виртуального сервера DTLS» . Ситрикс Системс .
- ^ «Заметки о взаимодействии WebRTC» . Архивировано из оригинала 11 мая 2013 г.
- ^ «Firefox 86.0: все новые функции, обновления и исправления» . Мозилла . 2021-02-23. Архивировано из оригинала 22 февраля 2021 г. Проверено 23 февраля 2021 г.
Начиная с Firefox 86, DTLS 1.0 больше не поддерживается для установления PeerConnections WebRTC. С этого момента все службы WebRTC должны поддерживать DTLS 1.2 как минимальную версию.
- ^ «Атаки с восстановлением открытого текста на датаграммы TLS» (PDF) .
Внешние ссылки
[ редактировать ]- «Безопасность транспортного уровня (tls) — Хартия» . IETF .
- Модадугу, Нагендра; Рескорла, Эрик (21 ноября 2003 г.). «Проектирование и реализация дейтаграммного TLS» (PDF) . Стэнфордская криптогруппа . Проверено 17 марта 2013 г.
- АльФардан, Надхем Дж.; Патерсон, Кеннет Г. «Атаки с восстановлением открытого текста против дейтаграмм TLS» (PDF) . Проверено 25 ноября 2013 г.
- Гибсон, Стив; Лапорт, Лео (28 ноября 2012 г.). «Безопасность транспортного уровня дейтаграмм» . Безопасность сейчас 380 . Проверено 17 марта 2013 г. Перейдите к 1:07:14.
- Робина Сеггельмана Пример кода : эхо, генератор символов и отказ от клиента/сервера.
- Иллюстрированное соединение DTLS