12. セキュリティに関する考慮 (Security Considerations)
本仕様で定義するペイロード形式を用いる RTP パケットは, RTP [3] の 9 節で論じられる一般的なセキュリティに関する考慮の対象となる.
一般的なストリーミングシナリオでは, メッセージ認証, データ完全性, リプレイ保護, および機密性が望ましい.
認証がないと, 中間者攻撃やリプレイ攻撃が可能になり, RTP 再送にとって非常に有害になりうる. 例: 改ざんされた RTCP パケットが不適切な再送を引き起こし実際にオリジナルデータストリームに割り当てられたビットレート共有を実効的に減らす, 改ざんされた RTP 再送パケットがクライアントのデコーダをクラッシュさせる, 改ざんされた再送要求が本ドキュメントの 5 節に記述する SSRC 関連付けの仕組みを無効にする. 一方, リプレイされたパケットは誤った再順序化および RTT 測定 (再送要求戦略に必要) を招き, 受信者バッファのオーバーフローを引き起こしうる.
さらにデータの機密性を確保するには, オリジナルのペイロードデータを暗号化する必要がある. 実際, 2 オクテットの再送ペイロードヘッダを暗号化する必要はない. データ内容についての手がかりを提供しないためである.
さらに, 本ペイロード形式に用いる暗号の仕組みは既知平文攻撃に対する保護を提供することが RECOMMENDED である. RTP はストリームを既知平文攻撃から守るため, 初期 RTP タイムスタンプはランダムにすべき (SHOULD) と推奨する. 本ペイロード形式はこの推奨に従わない. 初期タイムスタンプは最初に再送されるパケットのメディアタイムスタンプとなるからである. しかしオリジナルストリームの初期タイムスタンプ自体がランダムであるため, オリジナルストリームが暗号化されていれば, 攻撃者にとって最初に再送されるパケットのタイムスタンプもランダムとなる. したがって機密性は損なわれない.
オリジナルストリームにセキュリティサービスを提供するために暗号を用いる場合, MUST で同等の暗号強度の同一サービスを再送ストリームにも提供しなければならない. 再送ストリームとオリジナルストリームに同一鍵を用いると, 例えば二回使用パッド (two-time pads) などのセキュリティ上の問題を招きうる. 二回使用パッドの含意と回避方法についてはセキュアリアルタイムトランスポートプロトコル (SRTP) [12] の 9.1 節を参照.
本ドキュメント執筆時点では, SRTP は言及したセキュリティサービスをすべて提供していない. 少なくとも 2 つの理由がある: 1) 二回使用パッドの発生, 2) 本ペイロード形式は通常 RTP/AVPF プロファイル下で動作するのに対し, SRTP は RTP/AVP のみを支援する点である. 将来, SRTP の適応版がこれらの欠点を解決する見込みである.
再送の使用に伴う輻輳制御の考慮は本ドキュメントの 7 節で扱う.