Протокол связи
Datagram Transport Layer Security ( DTLS ) — это протокол связи, обеспечивающий безопасность приложений на основе датаграмм , позволяя им взаимодействовать способом, разработанным [ 1] [2] [3] для предотвращения подслушивания , взлома или подделки сообщений . Протокол DTLS основан на потокоориентированном протоколе Transport Layer Security (TLS) и предназначен для предоставления аналогичных гарантий безопасности. Протокол DTLS сохраняет семантику базового транспорта — приложение не страдает от задержек, связанных с потоковыми протоколами, но поскольку он использует протокол пользовательских датаграмм (UDP) или протокол передачи управления потоком (SCTP), приложению приходится иметь дело с переупорядочением пакетов , потерей датаграмм и данными, размер которых превышает размер сетевого пакета датаграмм . Поскольку DTLS использует UDP или SCTP, а не TCP, он избегает проблемы сбоя TCP [4] [5] при использовании для создания VPN-туннеля.
Определение
Следующие документы определяют DTLS:
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]
Реализации
Библиотеки
Приложения
- Клиент Cisco AnyConnect VPN использует TLS и изобрел VPN на основе DTLS. [34]
- OpenConnect — это клиент с открытым исходным кодом, совместимый с AnyConnect, и сервер ocserv , поддерживающий (D)TLS. [35]
- Cisco InterCloud Fabric использует DTLS для формирования туннеля между частными и публичными/провайдерскими вычислительными средами. [36]
- Туннель ZScaler 2.0 использует DTLS для туннелирования. [37]
- Клиент F5 Networks Edge VPN использует TLS и DTLS. [38]
- SSL VPN от Fortinet [39] и SSL VPN от Array Networks [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 года два исследователя из Royal Holloway, Лондонского университета, обнаружили атаку по времени [44] , которая позволила им восстановить (части) открытого текста из соединения DTLS с использованием реализации DTLS OpenSSL или GnuTLS при использовании режима шифрования Cipher Block Chaining .
Смотрите также
Ссылки
- ^ ab E. Rescorla; N. Modadugu (апрель 2006 г.). Datagram Transport Layer Security. Сетевая рабочая группа. doi : 10.17487/RFC4347 . RFC 4347. Устарело. Устарело согласно RFC 6347. Обновлено согласно RFC 5746 и 7507.
- ^ abc E. Rescorla; N. Modadugu (январь 2012 г.). Datagram Transport Layer Security версии 1.2. Internet Engineering Task Force (IETF). doi : 10.17487/RFC6347 . ISSN 2070-1721. RFC 6347. Устарело. Устарело в соответствии с RFC 9147. Обновлено в соответствии с RFC 7507, 7905, 8996 и 9146. Устаревший RFC 4347.
- ^ abc E. Rescorla; H. Tschofenig; N. Modadugu (апрель 2022 г.). Протокол Datagram Transport Layer Security (DTLS) версии 1.3. Рабочая группа IETF TLS. doi : 10.17487/RFC9147 . RFC 9147. Предлагаемый стандарт. Устаревший RFC 6347.
- ^ Тиц, Олаф (2001-04-23). "Почему TCP поверх TCP — плохая идея". Архивировано из оригинала 2023-03-10 . Получено 2015-10-17 .
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ^ Хонда, Осаму; Охсаки, Хироюки; Имасе, Макото; Ишизука, Мика; Мураяма, Дзюнъити (октябрь 2005 г.). "Понимание TCP через TCP: влияние туннелирования TCP на сквозную пропускную способность и задержку". В Atiquzzaman, Mohammed; Баландин, Сергей I (ред.). Производительность, качество обслуживания и управление сетями связи и датчиков следующего поколения III . Том 6011. Bibcode : 2005SPIE.6011..138H. CiteSeerX 10.1.1.78.5815 . doi : 10.1117/12.630496. S2CID 8945952.
- ^ T. Phelan (май 2008 г.). Datagram Transport Layer Security (DTLS) over the Datagram Congestion Control Protocol (DCCP). Сетевая рабочая группа. doi : 10.17487/RFC5238 . RFC 5238. Информационное. Обновлено RFC 8996.
- ^ P. Calhoun; M. Montemurro; D. Stanley, ред. (март 2009 г.). Спецификация протокола управления и обеспечения беспроводных точек доступа (CAPWAP). Сетевая рабочая группа. doi : 10.17487/RFC5415 . RFC 5415. Предложенный стандарт. Обновлен RFC 8553 и 8996.
- ^ D. McGrew; E. Rescorla (май 2010 г.). Расширение Datagram Transport Layer Security (DTLS) для установления ключей для безопасного протокола передачи данных в реальном времени (SRTP). Internet Engineering Task Force . doi : 10.17487/RFC5764 . ISSN 2070-1721. RFC 5764. Предложенный стандарт. Обновлен RFC 7983 и 9443.
- ^ Пек, М.; Иго, К. (2012-09-25). "Профиль Suite B для безопасности транспортного уровня датаграмм / Безопасный протокол передачи в реальном времени (DTLS-SRTP)". IETF .
- ^ M. Tuexen; R. Seggelmann; E. Rescorla (январь 2011 г.). Datagram Transport Layer Security (DTLS) для протокола передачи управления потоком (SCTP). Internet Engineering Task Force (IETF). doi : 10.17487/RFC6083 . ISSN 2070-1721. RFC 6083. Предложенный стандарт. Обновлен RFC 8996.
- ^ «Протокол Datagram Transport Layer Security (DTLS) версии 1.3».
- ^ "LibreSSL 3.3.2 Release Notes". Проект OpenBSD. 2021-05-01 . Получено 2021-06-13 .
- ^ Жюльен Кауфманн. "libsystools: библиотека с открытым исходным кодом TLS/DTLS для Windows/Linux, использующая OpenSSL". SourceForge .
- ^ ab "mbed TLS 2.0.0 выпущен". ARM. 2015-07-13 . Получено 2015-08-25 .
- ^ "NSS 3.14 release notes". Mozilla Developer Network . Mozilla. Архивировано из оригинала 2013-01-17 . Получено 2012-10-27 .
- ^ "NSS 3.16.2 release notes". Mozilla Developer Network . Mozilla. 2014-06-30. Архивировано из оригинала 2021-12-07 . Получено 2014-06-30 .
- ^ "Начиная с версии 1.0.2". Проект OpenSSL . Проект OpenSSL. 2015-01-22. Архивировано из оригинала 2014-09-04 . Получено 2015-01-26 .
- ^ Рэй Браун. "pydtls - Datagram Transport Layer Security для Python". GitHub .
- ^ Рэй Браун. «DTLS для Python». Python Software Foundation .
- ^ Рэй Браун/Mobius Software LTD. "pydtls - Datagram Transport Layer Security для Python". GitHub .
- ^ Рэй Браун/Mobius Software LTD. "DTLS для Python3 на основе PyDTLS". Python Software Foundation .
- ^ ab "Доступно обновление, которое добавляет поддержку DTLS в Windows 7 SP1 и Windows Server 2008 R2 SP1". Microsoft . Получено 13 ноября 2012 г. .
- ^ Justinha. "Изменения TLS (Schannel SSP) в Windows 10 и Windows Server 2016". docs.microsoft.com . Получено 01.09.2017 .
- ^ "Техническое примечание TN2287: Проблемы взаимодействия iOS 5 и TLS 1.2". Библиотека разработчиков iOS . Apple Inc . Получено 2012-05-03 .
- ^ Олаф Бергманн. "tinydtls". Фонд Eclipse .
- ^ Питер Вахер. "Waher.Security.DTLS". Waher Data AB.
- ^ "wolfSSL Встроенная библиотека SSL/TLS".
- ^ Дмитрий Цветцих. «Безопасные UDP-коммуникации с использованием DTLS на чистом js». GitHub .
- ^ Дмитрий Цветцих. «DTLS на чистом js». НПМ .
- ^ Mobius Software LTD. "Неблокирующая реализация Java DTLS на основе BouncyCastle и Netty". Mobius Software LTD.
- ^ Шон Дюбуа. "pion/dtls: реализация DTLS 1.2 Server/Client для Go". GitHub .
- ^ "californium/scandium: Реализация DTLS 1.2 Server/Client для java и coap. Включает расширение идентификатора соединения". Eclipse Foundation .
- ^ SNF4J.ORG. "Простой сетевой фреймворк для Java (SNF4J)". GitHub .
{{cite web}}
: CS1 maint: numeric names: authors list (link) - ^ "AnyConnect FAQ: туннели, поведение повторного подключения и таймер бездействия". Cisco . Получено 26 февраля 2017 г. .
- ^ "OpenConnect". OpenConnect . Получено 26 февраля 2017 г. .
- ^ "Обзор архитектуры Cisco InterCloud" (PDF) . Cisco Systems .
- ^ "Туннель ZScaler ZTNA 2.0". ZScaler .
- ^ "f5 Datagram Transport Layer Security (DTLS)". Сети f5 .
- ^ «Использование DTLS для повышения производительности SSL VPN». Fortinet . 25 февраля 2016 г.
- ^ "array.c из OpenConnect". 23 мая 2022 г.
- ^ «Настройка виртуального сервера DTLS». Citrix Systems .
- ^ "WebRTC Interop Notes". Архивировано из оригинала 2013-05-11.
- ^ "Firefox 86.0, см. все новые функции, обновления и исправления". Mozilla . 2021-02-23. Архивировано из оригинала 2021-02-22 . Получено 2021-02-23 .
Начиная с Firefox 86, DTLS 1.0 больше не поддерживается для установления PeerConnections WebRTC. Все службы WebRTC должны поддерживать DTLS 1.2 с этого момента как минимальную версию.
- ^ «Атаки с восстановлением открытого текста против датаграмм TLS» (PDF) .
Внешние ссылки
- «Безопасность транспортного уровня (tls) — Устав». IETF .
- Модадугу, Нагендра; Рескорла, Эрик (21.11.2003). "Проектирование и реализация Datagram TLS" (PDF) . Stanford Crypto Group . Получено 17.03.2013 .
- Аль-Фардан, Надхем Дж.; Патерсон, Кеннет Г. «Атаки с восстановлением открытого текста против датаграмм TLS» (PDF) . Получено 25.11.2013 .
- Гибсон, Стив; Лапорт, Лео (28.11.2012). "Datagram Transport Layer Security". Security Now 380 . Получено 17.03.2013 .Перейти к 1:07:14.
- Пример кода Робина Сеггельмана: эхо, генератор символов и отбрасывание клиентов/серверов.
- Иллюстрированное соединение DTLS