Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
dtls — Нативная реализация DTLS 1.2 и 1.3 на Go с обменом ключами ECDHE и PSK, AEAD-шифрами, идентификаторами соединений, возобновлением сессий, 0-RTT и Encrypted Client Hello. | Kitploit
Инструменты/GitHubGitHub/pion/dtls
Утилиты общего назначенияСниффинг и анализ пакетовИнструменты шифрования/дешифрованияСетевая безопасностьКриптографияУтилиты и фреймворкиАутентификация
GitHubpion/dtls

dtls

Нативная реализация DTLS 1.2 и 1.3 на Go с обменом ключами ECDHE и PSK, AEAD-шифрами, идентификаторами соединений, возобновлением сессий, 0-RTT и Encrypted Client Hello.

Репозиторий
71121699 ч 14 мин назадПроверено Kitploit
Сайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться


Pion DTLS

Реализация DTLS на Go

Pion DTLS Sourcegraph Widget join us on Discord Follow us on Bluesky
GitHub Workflow Status Go Reference Coverage Status Go Report Card License: MIT


Нативная реализация DTLS 1.2 и DTLS 1.3 на языке программирования Go.

Долгосрочная цель — профессиональный аудит безопасности и, возможно, включение в stdlib.

RFC

Реализовано

  • RFC 6347: Datagram Transport Layer Security Version 1.2
  • RFC 9146: Connection Identifier for DTLS 1.2
  • RFC 9147: The Datagram Transport Layer Security (DTLS) Protocol Version 1.3
  • RFC 9849: TLS Encrypted Client Hello
  • RFC 9853: Return Routability Check for DTLS 1.2 and 1.3
  • RFC 5705: Keying Material Exporters for Transport Layer Security (TLS)
  • RFC 7627: Transport Layer Security (TLS) - Session Hash and Extended Master Secret Extension
  • RFC 7301: Transport Layer Security (TLS) - Application-Layer Protocol Negotiation Extension

Возможности

Pion DTLS поддерживает DTLS 1.2 и DTLS 1.3. Мы приветствуем вклад и исправления ошибок.

Текущие возможности

  • Клиент/сервер DTLS 1.2 и DTLS 1.3
  • Обмен ключами через ECDHE (curve25519, nistp256, nistp384) и PSK
  • Внешний PSK в DTLS 1.3 с psk_ke и psk_dhe_ke, с поддержкой SHA-256 и SHA-384
  • DTLS 1.3 предлагает несколько идентификаторов PSK на одно рукопожатие для выбора сервером
  • Потеря и переупорядочивание пакетов обрабатываются во время рукопожатия
  • Экспорт ключей (RFC 5705)
  • Сериализация и восстановление состояния соединения DTLS 1.2 и DTLS 1.3 с помощью Resume
  • Возобновление сеанса через session ticket в DTLS 1.3 и опциональные ранние данные 0-RTT
  • Encrypted Client Hello (ECH) в DTLS 1.3, настраивается через WithECH (RFC 9849)
  • Расширение Extended Master Secret (RFC 7627)
  • Расширение ALPN (RFC 7301)
  • Connection IDs (CID) для DTLS 1.2 и DTLS 1.3, включая маршрутизацию слушателем при смене адреса пира
  • Обновления CID после рукопожатия в DTLS 1.3 и запасные CID для миграции пути
  • Return Routability Check (RRC) для DTLS 1.2 и DTLS 1.3 (RFC 9853)
  • Локальное зондирование и миграция пути в DTLS 1.3 с помощью Conn.AddPath, Path.Probe и Path.Switch
  • Обновления трафиковых ключей в DTLS 1.3 с помощью Conn.UpdateKeys

Поддерживаемые шифры

DTLS 1.3: сертификат и PSK
  • TLS_AES_128_GCM_SHA256 (RFC 8446)
  • TLS_AES_256_GCM_SHA384 (RFC 8446)
  • TLS_CHACHA20_POLY1305_SHA256 (RFC 8446)
DTLS 1.2: ECDHE
  • TLS_ECDHE_ECDSA_WITH_AES_128_CCM (RFC 6655)
  • TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 (RFC 6655)
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (RFC 5289)
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (RFC 5289)
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (RFC 5289)
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (RFC 5289)
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (RFC 8422)
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (RFC 8422)
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (RFC 7905)
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (RFC 7905)
DTLS 1.2: PSK
  • TLS_PSK_WITH_AES_128_CCM (RFC 6655)
  • TLS_PSK_WITH_AES_128_CCM_8 (RFC 6655)
  • TLS_PSK_WITH_AES_256_CCM_8 (RFC 6655)
  • TLS_PSK_WITH_AES_128_GCM_SHA256 (RFC 5487)
  • TLS_PSK_WITH_AES_128_CBC_SHA256 (RFC 5487)
  • TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 (RFC 7905)
DTLS 1.2: ECDHE и PSK
  • TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 (RFC 5489)
  • TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 (RFC 7905)

Исключённые функции

  • DTLS 1.0
  • Пересогласование (renegotiation)
  • Сжатие

Pion DTLS

Библиотека по умолчанию включает DTLS 1.2 и DTLS 1.3, отдавая предпочтение DTLS 1.3. Используйте WithMaxVersion(protocol.Version1_2), чтобы ограничить соединение DTLS 1.2, или WithMinVersion(protocol.Version1_3), чтобы требовать DTLS 1.3.

Для DTLS-сервера, слушающего на 127.0.0.1:4444

go run examples/listen/selfsign/main.go

Для DTLS-клиента, который подключается к 127.0.0.1:4444

go run examples/dial/selfsign/main.go

OpenSSL

Pion DTLS может подключаться к самому себе и к OpenSSL.

  // Generate a certificate
  openssl ecparam -out key.pem -name prime256v1 -genkey
  openssl req -new -sha256 -key key.pem -out server.csr
  openssl x509 -req -sha256 -days 365 -in server.csr -signkey key.pem -out cert.pem

  // Use with examples/dial/selfsign/main.go
  openssl s_server -dtls1_2 -cert cert.pem -key key.pem -accept 4444

  // Use with examples/listen/selfsign/main.go
  openssl s_client -dtls1_2 -connect 127.0.0.1:4444 -debug -cert cert.pem -key key.pem

Возобновление сеанса и ранние данные в DTLS 1.3

DTLS 1.3 поддерживает возобновление сеанса с помощью тикета сеанса с опциональными ранними данными 0-RTT. Возобновление допускает только psk_dhe_ke (PSK с эфемерным ECDHE).

Пример возобновления демонстрирует первую аутентифицированную сертификатом связь, шифрованное хранение сеанса и последующие соединения с возобновлением и опциональными ранними данными. Инструкции по запуску и требование одноразового Claim в хранилище сеансов для 0-RTT см. в его README.

API State/Resume также поддерживает восстановление установленных соединений DTLS 1.3 без нового рукопожатия. См. Resume.

Использование с PSK

DTLS 1.3 поддерживает внешние PSK с psk_ke (только PSK) и psk_dhe_ke (PSK с эфемерным ECDHE), используя SHA-256 или SHA-384. Клиенты могут предлагать несколько идентичностей PSK за одно рукопожатие, чтобы сервер мог выбрать из них.

Скачать инструмент