Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
dtls — ECDHEおよびPSK鍵交換、AEAD暗号、コネクションID、セッション再開、0-RTT、Encrypted Client Helloを備えたDTLS 1.2および1.3のネイティブGo実装。 | Kitploit
ツール/GitHubGitHub/pion/dtls
汎用ユーティリティパケットスニッフィングと分析暗号化/復号化ツールネットワークセキュリティ暗号化ユーティリティとフレームワーク認証
GitHubpion/dtls

dtls

ECDHEおよびPSK鍵交換、AEAD暗号、コネクションID、セッション再開、0-RTT、Encrypted Client Helloを備えたDTLS 1.2および1.3のネイティブGo実装。

リポジトリを見る
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


Goプログラミング言語によるネイティブなDTLS 1.2およびDTLS 1.3の実装です。

長期的な目標は、専門家によるセキュリティレビューを受けることであり、また標準ライブラリへの採用もあり得ます。

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_ke および psk_dhe_ke を使用した DTLS 1.3 外部 PSK。SHA-256 および SHA-384 をサポート
  • DTLS 1.3 はサーバー選択のためにハンドシェイクごとに複数の PSK アイデンティティを提供
  • ハンドシェイク中のパケットロスと再順序付けを処理
  • 鍵エクスポート (RFC 5705)
  • Resume による DTLS 1.2 および DTLS 1.3 の接続状態のシリアライズと復元
  • DTLS 1.3 セッションチケットの再開およびオプションの 0-RTT アーリーデータ
  • DTLS 1.3 Encrypted Client Hello (ECH)。WithECH で設定 (RFC 9849)
  • Extended Master Secret 拡張 (RFC 7627)
  • ALPN 拡張 (RFC 7301)
  • DTLS 1.2 および DTLS 1.3 用の Connection ID (CID)。ピアアドレス変更にわたるリスナールーティングを含む
  • DTLS 1.3 のハンドシェイク後 CID 更新およびパスマイグレーション用の予備 CID
  • DTLS 1.2 および DTLS 1.3 用の Return Routability Check (RRC) (RFC 9853)
  • Conn.AddPath、Path.Probe、Path.Switch による DTLS 1.3 のローカルパスプロービングとマイグレーション
  • Conn.UpdateKeys による DTLS 1.3 のトラフィックキー更新

サポートされる暗号

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
  • 再ネゴシエーション
  • 圧縮

Pion DTLS

このライブラリはデフォルトで DTLS 1.2 と DTLS 1.3 を有効にし、DTLS 1.3 を優先します。 接続を DTLS 1.2 に制限するには WithMaxVersion(protocol.Version1_2) を使用し、 DTLS 1.3 を必須にするには WithMinVersion(protocol.Version1_3) を使用します。

127.0.0.1:4444 でリッスンする DTLS サーバーの場合

go run examples/listen/selfsign/main.go

127.0.0.1:4444 に接続する DTLS クライアントの場合

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(エフェメラル ECDHE を用いた PSK)のみが許可されます。

再開の例では、証明書認証による 最初の接続、暗号化されたセッションストレージ、および再開とオプションのアーリーデータを伴う 後続の接続を実演します。実行手順と、0-RTT に必要なセッションストアの 単回使用 Claim 要件については、その README を参照してください。

State/Resume API は、新しいハンドシェイクを行わずに確立済みの DTLS 1.3 接続を復元することもサポートします。Resume を参照してください。

PSK を使用する場合

DTLS 1.3 は、SHA-256 または SHA-384 を使用した psk_ke(PSK のみ)および psk_dhe_ke (エフェメラル ECDHE を用いた PSK)による外部 PSK をサポートします。クライアントはハンドシェイクごとに 複数の PSK アイデンティティを提示し、サーバーがその中から選択できます。

PSK の例では、デフォルトで DTLS 1.3 を TLS_AES_128_GCM_SHA256 とともに使用します。

Pion DTLS

go run examples/listen/psk/main.go
go run examples/dial/psk/main.go

TLS_PSK_WITH_AES_128_CCM_8 で DTLS 1.2 を使用するには、両方に -dtls12 を渡します:

go run examples/listen/psk/main.go -dtls12
go run examples/dial/psk/main.go -dtls12

OpenSSL

これらの OpenSSL DTLS 1.2 コマンドを使用する場合は、-dtls12 を付けて Pion の例を実行してください。

  // Use with examples/dial/psk/main.go -dtls12
  openssl s_server -dtls1_2 -accept 4444 -nocert -psk abc123 -cipher PSK-AES128-CCM8

  // Use with examples/listen/psk/main.go -dtls12
  openssl s_client -dtls1_2 -connect 127.0.0.1:4444 -psk abc123 -cipher PSK-AES128-CCM8

コミュニティ

Pion には Discord 上で活発なコミュニティがあります。

プロジェクトの更新情報や重要な WebRTC ニュースについては、Pion Bluesky または Pion Twitter をフォローしてください。

ツールをダウンロード