RTMPS機能について
RTMPS機能は、安全なRTMPSストリーミング配信を実現するためにさまざまな暗号化アルゴリズムをサポートしています。幅広い配信先のサーバーとの互換性を確保するため、複数の暗号化アルゴリズムに対応していますが、その中には現在のセキュリティベストプラクティスに適合しないものも含まれています。
RTMPS機能がサポートする暗号化アルゴリズム
以下の暗号化アルゴリズムをサポートしています。
- TLS_AES_256_GCM_SHA384
- TLS_AES_128_GCM_SHA256
- TLS_AES_128_CCM_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_256_CCM
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_DHE_RSA_WITH_AES_256_CCM
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_128_CCM
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_DHE_RSA_WITH_AES_128_CCM
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
推奨される暗号化アルゴリズムについて
NIST 勧告(NIST SP 800-57 Part 1 Revision 5)および関連するセキュリティ標準に基づき、以下の暗号化アルゴリズムが推奨されています。
- TLS_AES_256_GCM_SHA384
- TLS_AES_128_GCM_SHA256
- TLS_AES_128_CCM_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_256_CCM
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_128_CCM
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
非推奨アルゴリズムについて
RTMPS機能は互換性のため以下のアルゴリズムもサポートしていますが、NIST 勧告(NIST SP 800-57 Part 1 Revision 5)および関連するセキュリティ標準に基づき非推奨とされており、将来のバージョンでは削除される可能性があります。
Key exchange algorithms
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_DHE_RSA_WITH_AES_256_CCM
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_DHE_RSA_WITH_AES_128_CCM
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
接続互換性について
RTMPS機能は、セキュリティと互換性のバランスを考慮して設計されています。現時点では、以下の理由から非推奨アルゴリズムもサポートしていますが、将来のバージョンではセキュリティ強化のためこれらのアルゴリズムを削除する可能性があります。
- RTMPSのストリーミング機能を使用するには、RTMPS配信に対応したさまざまなサーバーに接続する必要があります。
- 古いシステムやレガシーサーバーとの互換性を維持する必要があります。
- サーバー側での暗号化アルゴリズムの設定変更は複雑であり、すべてのユーザーが安全な設定に変更できるとは限りません。
- RTMPSのサーバー設定は他のセキュアサービスと共有されることが多く、サーバー上の他サービスへの影響を考慮する必要があり、容易に変更できるとは限りません。
- さまざまな環境での相互運用性を確保するため、幅広い暗号化アルゴリズムのサポートが必要です。
RTMPS接続時に使用される暗号化アルゴリズムは接続先サーバーとの自動ネゴシエーションによって決定されるため、サーバー側の設定に依存します。セキュリティリスクを認識しつつも、ユーザーの多様なニーズに応えるため、現時点では幅広い互換性を優先しています。
セキュリティリスク
CBCおよびDHEを含む非推奨アルゴリズムを使用すると、暗号化されたデータが攻撃者によって解読されるリスクが高まり、ストリーミング配信中のデータが漏洩する危険性があります。
安全な接続のための推奨事項
RTMPSのストリーミング配信機能を使用する際は、接続先サーバーが推奨暗号化アルゴリズムをサポートしているか事前に確認してください。サーバー側では推奨アルゴリズムのみを有効にし、非推奨アルゴリズムを無効化することをお勧めします。
参考資料
- Recommendation for Key Management, Special Publication 800-57 Part 1 Revision 5, NIST, 2020.
- Transitioning the Use of Cryptographic Algorithms and Key Lengths, Special Publication 800-131A Revision 2, NIST, 2019.
- Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication, Special Publication 800-38B, NIST, 2005 (includes updates as of 10/06/2016).

