wolfSSL Java JSSEプロバイダーでDTLS 1.3をサポート

wolfSSLのJava JSSEプロバイダーwolfJSSEにおいて、DTLS 1.3をサポートしました。

このサポートには、SSLEngineインターフェースを通じたクライアントとサーバー両側でのDTLS 1.3実装が含まれます。この実装は現在GitHubで公開しているwolfssljniリポジトリのマスターブランチで提供しており、次の安定リリースに含める予定です。

DTLS 1.3の利点

RFC 9147で標準化されたDTLS 1.3は、以下のような点でDTLS 1.2よりもセキュリティとパフォーマンスが改善されています。

  • ハンドシェイクレイテンシの削減(ラウンドトリップの減少)
  • プライバシーの強化(ハンドシェイクメッセージの暗号化)
  • ネットワーク攻撃に対するレジリエンスの向上
  • 現代的な暗号アルゴリズムの採用

wolfJSSEのビルド

wolfJSSEは、Unix/Linux、macOS、Windows、Androidといった様々なプラットフォームでビルドできます。具体的なビルド手順については、wolfSSL JNI/JSSEマニュアルをご参照ください。

サンプルアプリケーション

wolfJSSEには、Java DTLS 1.3機能を試すことができるサンプルDTLS 1.3クライアント/サーバーアプリケーションを同梱しています。ビルドするには、次のコマンドを実行します。

$ ant examples

サンプルクライアントは./examples/provider/DtlsClientEngine.javaに、サーバーは./examples/provider/DtlsServerEngine.javaにあります。それぞれ、同じ名前を共有するラッパースクリプトを使用して、ルートのwolfssljniディレクトリから実行できます。

サンプル出力は次のようになります。

$ ./examples/provider/DtlsServerEngine.sh
DTLS 1.3 Server listening on port 11113
DTLS 1.3 Server Engine created
Waiting for client connection...
Client connected from /127.0.0.1:58703
…
DTLS handshake completed successfully
Pausing briefly before processing application data...
…
Received from client: Hello from DTLS 1.3 Client!
Echoing message back to client
…
Closing connection...
Connection closed

$ ./examples/provider/DtlsClientEngine.sh
Client socket created, connecting to localhost:11113
DTLS 1.3 Client Engine created
Starting DTLS handshake...
…
DTLS handshake completed successfully
Processing post-handshake session tickets...
Received post-handshake packet of 255 bytes, processing...
Processed post-handshake packet: OK, consumed: 255, produced: 0
Pausing briefly before sending data...
Pausing after handshake to allow connection to stabilize...
Sending application data: Hello from DTLS 1.3 Client!
…
Waiting for server response (allowing time for processing)...
Now attempting to receive server response...
Waiting for application data packet from server...
Received packet of 49 bytes
Raw bytes: 2F DA 82 00 2C DB B7 A5 0D 19 31 20 68 A2 0C 1C 91 75 F6 65 ...
Unwrap result: OK, consumed: 49, produced: 27
Successfully decrypted data: Hello from DTLS 1.3 Client!
Closing connection...
Connection closed

ご質問がございましたら、ぜひ info@wolfssl.jp までお問い合わせください。

原文:https://www.wolfssl.com/wolfssl-java-jsse-provider-supports-dtls-1-3