wolfSSLの5.6.3リリースに新たに追加された機能として、TLS堅牢化オプションがあります。この機能は、RFC9325での推奨に従ってTLS接続を保護します。このオプションの有効化により、wolfSSLは次のことを行います:
- 1.2より古いTLSバージョンの無効化
- TLS1.2における一時鍵有限体ディフィーヘルマン鍵合意に基づく暗号スイートの無効化 (つまり、”TLS_DHE_*”スイートを無効化)
- NULL暗号の無効化
- 匿名暗号の無効化
- 以下のレガシー暗号の無効化
- RC4
- 静的RSA
- 静的DH
- ”切り詰められたHMAC拡張機能”の無効化
- TLS1.2でセキュア再ネゴシエーション拡張を送信しセキュア再ネゴシエーションを行わない接続を拒否
112あるいは128ビットセキュリティを選択することも可能です。112ビットのセキュリティが有効になっている場合、wolfSSLは次のことを行います:
- 少なくとも2048ビットのディフィーヘルマン鍵を要求
- 少なくとも2048ビットのRSA鍵を要求
- 少なくとも224ビットの楕円曲線鍵を要求
128 ビットのセキュリティが有効になっている場合、wolfSSL は次のことを行います:
- 3DESを含む暗号スイートを無効化
- 少なくとも3072ビットのディフィーヘルマン鍵を要求
- 少なくとも3072ビットのRSA鍵を要求
- 少なくとも256ビットの楕円曲線鍵を要求
この機能は、wolfSSLのコンフィグレーションオプションとして ”–enable-harden-tls”フラグを渡すことで有効にすることができます。
RFC9325には、アプリケーションおよびプロトコルの開発者向けの推奨事項も数多くあります。これらには次のようなものがあります。
- ALPNを使用して、送信されたトラフィックが正しいアプリケーションによって解釈されることを確認してください。
- 暗号化されていないチャネルから暗号化されたチャネルへの動的アップグレードを有効にする方法ではなく、TLSのみのチャネルを使用してください。
- 当該アプリケーションプロトコルで、0-RTTが適切かつ安全であるとの明示的な仕様が存在しない限り、TLS 1.3ではゼロラウンドトリップタイム (0-RTT) データの使用を避けてください。
RFCを精読し、プロジェクトを可能な限り安全にする方法を確認することを強くお勧めします。 TLSコネクションの強化についてご質問がある場合は、info@wolfssl.jp までご連絡ください。