要約
- RFC 5197は、MIKEYのmodeを実装可否だけでなく、PKI依存、PFS、両者の鍵生成への関与、group keying、forkやearly mediaへの適合性で比較している。
- fork先、CSB、TGK、各Crypto SessionのTEK、SSRC、応答時刻を結び付けなければ、二つの「成功」が同じ鍵境界を共有していたかどうかを後から判定できない。
forkは配送ではなく鍵の複製でもある
SIPのforkでは、proxyがINVITEを複数の場所へ送る。SDPにMIKEY payloadが含まれていれば、鍵確立の材料も同時に枝分かれする。ここで重要なのは、どのmodeも同じようにforkへ適応するわけではないことだ。
PSKでは受信側が事前に同じ秘密を持たなければならない。通常のRSAでは、送信側が最終応答先の証明書を先に知る必要がある。全候補を知っていれば複数containerを入れる方法もあるが、それは全証明書を事前に持つことを要求する。DH系やRSA-Rは未知の応答先を扱いやすい一方、応答が増えれば署名検証やDiffie-Hellman計算も増える。
RFC 5197は、forward型で同じ鍵素材が複数の応答先へ届く場合をさらに追う。二つのbranchが同じTEKを使い、同じ32ビットSSRCを選ぶと、SRTPは同じ入力から同じsession keyとpacketごとの初期化ベクトルを導出し得る。結果はツータイムパッドである。
SSRC衝突が通常は低確率であることと、あるsessionで衝突しなかったことは別の主張だ。運用証跡には、forkのbranch、実際に応答したendpoint、TEKの共有範囲、SSRC、衝突検出と解消結果が必要になる。
CSBという成功単位では粗すぎる
MIKEYは、一つのCrypto Session Bundleで複数のCrypto Sessionの鍵とsecurity parameterを確立できる。各sessionはTGKとparameterを共有しながら、異なるTEKを得られる。この階層は効率を生むが、CSB established だけを残す監視には見えない。
調査に必要なのは秘密鍵の値ではない。CSB識別子、TGKの非秘密識別子、各Crypto Session、導出されたTEKのscope、関連するmedia streamと応答先の対応である。これがあれば、鍵の再利用が設計通りの共有だったのか、forkが意図せず広げたのかを区別できる。
group communicationも同じである。RSAやPSKは中央serverが各clientへgroup keyを配る構成で使える場合がある。DH-SIGNは主にpoint-to-pointで、DH-HMACはPFSと双方の関与を得られるがgroup keyingを自動的に支えない。「MIKEY実装済み」はconference topologyへの適合性を意味しない。
modeは安全強度の順位ではない
RFC 5197が扱う七つの方法は、PSK、RSA、DH-SIGN、NULL、DH-HMAC、文書内で議論されるDH-SAML、そしてRSA-Rである。それぞれが異なる不足を補う。
PSKは軽量でPKI不要だがPFSがなく、initiatorだけが鍵素材を作る。RSAもPFSがなく、responder certificateを事前に必要とし、revocation確認がリアルタイムでない場合がある。DH-SIGNは双方がsecretへ寄与しPFSを持つが、広い規模のidentityにはPKIが要る。DH-HMACはPSKでDHを認証し、PKIなしで双方寄与とPFSを得るが、PSK配布とgroup制約は残る。
NULLは下位層に全面依存する。TLSがproxyで終端すれば、そのproxyがmaster keyを平文で得る可能性がある。RSA-Rはresponder certificateをband内で渡せるためforkやretargetingに役立つが、initiatorのRANDは相手の正しい関与を強制できず、真のPFSにはならない。
したがって、mode名から一つの「強さ」を計算するのは誤りである。identity、PFS、双方寄与、replay、group適合、下位層の終端点を別々に評価しなければならない。
応答を待つmodeと待たないmedia
PSKとRSAは一つのinitiator messageで必要な材料を渡せる。early mediaが来る前に双方が鍵を持ちやすい。DH系とRSA-Rはresponseを必要とし、initiatorはそれを受け取るまで最終鍵を得られない。
signalingが複数proxyを戻る一方、mediaが短い経路で届けば、通常のearly media用途でなくてもSRTPが先に来る。ここで鍵が未準備なのは、暗号modeの破損ではない。選択した交換の時間構造である。precondition、保留、packet drop、fallbackのどれを採るかはpolicyとして記録すべきで、成功表示へ隠してはならない。
一つのsessionに必要な証拠
最初にinitiator、想定responder、fork policy、media contextと、実際に実行したmodeを残す。PSK、certificate、下位層、credential serverなどの前提条件と、そのidentity bindingを保存する。certificateなら検証時刻とrevocation情報の鮮度、replayならtime source、許容skew、cache horizonと再起動世代が必要だ。
次にtranscript hashをCSBへ結び、TGKから各TEKへのscope、全branch、SSRCとcollision処理を記録する。最後にresponse受信、鍵install、最初の暗号化packet、最初の復号成功を並べる。PFS、双方寄与、peer authentication、replay resistance、group suitability、media readinessは独立した結果欄にする。
これはRFC 5197に新しいwire formatを要求する提案ではない。同文書が示した適用差を、実際のsessionから消さないための記録である。実装、設定、選択、完了、利用可能は別の現実層であり、一つの緑色表示が全部を代理することはできない。
出典
- RFC 5197 HTML
- RFC 5197 テキスト
- RFC 5197 情報ページ
- IETF Datatracker:RFC 5197
- RFC 5197の履歴
- RFC 5197の参照文献
- RFC 5197 errata
- RFC 3830 — MIKEY
- RFC 3711 — SRTP
- RFC 4650 — DH-HMAC
- RFC 4738 — RSA-R
- RFC 4567 — SDP/RTSPの鍵管理拡張
- RFC 4568 — media streamのsecurity description
- RFC 5027 — SDP mediaのsecurity precondition
- RFC 4086 — randomness要件
- RFC 4082 — TESLA
- RFC 4442 — TESLA bootstrapping
- Heng Lu — 現実の層と象徴的権力
- Heng Lu — 最小初期仕様
- Heng Lu — running codeの優先
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
