3.2.1. Transform-independent parameters (変換非依存パラメータ)
3.2.1. Transform-independent parameters (変換非依存パラメータ)
変換非依存パラメータは, 使用される特定の暗号化または認証変換とは独立して暗号コンテキストに存在します。SRTP の暗号コンテキストの変換非依存パラメータは以下で構成されます:
-
32 ビット符号なし rollover counter (ROC, ロールオーバーカウンタ), 16 ビット RTP シーケンス番号が 65,535 を通過した後にゼロにリセットされた回数を記録します。SRTP が RTP パケットヘッダーから抽出するシーケンス番号 (SEQ) とは異なり, ROC は Section 3.3.1 に記載されているように SRTP によって維持されます。
与えられた ROC と RTP シーケンス番号に対応する SRTP パケットのインデックスを 48 ビット量として定義します
i = 2^16 * ROC + SEQ. -
受信者のみが使用する 16 ビットシーケンス番号 s_l, 受信した最高の RTP シーケンス番号と考えることができます (その処理については Section 3.3.1 を参照)。メッセージ認証が推奨される (RECOMMENDED) ため, これは認証されるべきです (SHOULD),
-
暗号化アルゴリズムの識別子, すなわち暗号とその操作モード,
-
メッセージ認証アルゴリズムの識別子,
-
replay list (リプレイリスト), 受信者のみが維持 (認証とリプレイ保護が提供される場合), 最近受信および認証された SRTP パケットのインデックスを含みます,
-
MKI インジケーター (0/1), SRTP および SRTCP パケットに MKI が存在するかどうかを示します,
-
MKI インジケーターが 1 に設定されている場合, MKI フィールドの長さ (オクテット単位), および (送信者の場合) 現在アクティブな MKI の実際の値 (MKI インジケーターと長さの値はコンテキストの存続期間中固定に保たれなければなりません (MUST)),
-
master key (マスター鍵), ランダムでなければならず (MUST), 秘密に保たれなければなりません,
-
各マスター鍵について, そのマスター鍵で処理 (送信) された SRTP パケット数のカウンター (セキュリティにとって不可欠, Sections 3.3.1 および 9 を参照),
-
非負整数 n_e および n_a, 暗号化とメッセージ認証のためのセッション鍵の長さを決定します。
さらに, 各マスター鍵について, SRTP ストリームは以下の関連値を使用してもよい (MAY):
-
master salt (マスターソルト), セッション鍵の鍵導出に使用されます。この値は使用時にランダムでなければなりません (MUST) が, 公開されてもかまいません (MAY)。マスターソルトの使用は強く推奨されます (RECOMMENDED), Section 9.2 を参照してください。"NULL" ソルトは 00...0 として扱われます。
-
集合 {1,2,4,...,2^24} 内の整数,「key_derivation_rate」(鍵導出レート), 未指定の値はゼロとして扱われます。2 の累乗という制約により, セッション鍵導出の実装が簡素化されます。Section 4.3 を参照してください。
-
MKI 値,
-
<From, To> 値, マスター鍵の有効期間を指定し, マスター鍵が有効な範囲 (範囲の端点を含む) 内の 2 つの 48 ビットインデックス値で表現されます。<From, To> の使用については Section 8.1.1 を参照してください。<From, To> は MKI の代替であり, マスター鍵が <From, To> 範囲が定義されている SRTP セッション鍵と一対一対応していることを前提としています。
SRTCP はデフォルトで SRTP と暗号コンテキストを共有しなければなりません (SHALL), ただし以下の場合を除きます:
-
RTCP インデックスが各 SRTCP パケットに明示的に含まれているため, ロールオーバーカウンターと s_l 値を維持する必要はありません,
-
別個のリプレイリストが維持されます (リプレイ保護が提供される場合),
-
SRTCP はそのマスター鍵に対して別個のカウンターを維持します (マスター鍵が SRTP と同じである場合でも, 以下を参照), その鍵で処理された SRTCP パケット数のカウントを維持する手段として。
特に注意すべき点として, 定義済み変換 (鍵導出を含む) が使用される場合, マスター鍵は SRTP と対応する SRTCP の間で共有されてもよい (MAY) が, セッション鍵は共有されてはなりません (MUST NOT)。
さらに, 場合によっては (Sections 8 および 9.1 を参照), 与えられた RTP セッション内の複数の SRTP ストリーム (synchronization source (SSRC, RTP ヘッダーの一部) によって識別される) が, 暗号コンテキストパラメータの大部分 (場合によってはマスター鍵とセッション鍵を含む) を共有することがあります。このような場合, 上記の通常の SRTP/SRTCP パラメータ共有と同様に, 各ストリーム (SSRC) に対して別個のリプレイリストとパケットカウンターを維持しなければなりません (MUST)。また, 別個の SRTP インデックスも維持しなければなりません (MUST)。
上記パラメータ (およびその他の SRTP パラメータ) の要約, 定義済み変換, およびデフォルト値については, Sections 5 および 8.2 を参照してください。