1. Introduction (はじめに)
セッション開始プロトコル (SIP) [RFC3261] とセッション記述プロトコル (SDP) [RFC4566] はマルチメディアセッションや通話の確立に用いられる. SDP は TCP [RFC4145] およびメディアセッション用 TCP/TLS [RFC4572] の確立にも使われる. リアルタイム輸送プロトコル (RTP) [RFC3550] は UDP および TCP [RFC4571] 上でリアルタイムメディアを運ぶ. データグラム TLS (Datagram TLS) [RFC4347] により TLS 機能を UDP や DCCP などのデータグラムプロトコルに適用できる. 本文書は DTLS 拡張 ([RFC5764]) を用いて UDP 上で SRTP [RFC3711] セキュリティを確立する指針を示す.
本仕事の目的は, 事前関係のない装置間でも暗号通信を可能にする鍵交渉手法を提供することにある. ルーティングやセッション確立に関与したすべての呼シグナリング要素を信頼する必要もない. エンドユーザの追加作業や, よく知られた CA 署名証明書の全装置への展開も不要である.
メディアは双方が証明書を持つ相互認証済み DTLS セッションで運ばれる. 証明書はピアの公開鍵を運ぶための純粋なキャリアとして用いられる点が重要である. DTLS に裸鍵モードがないため形式上の問題にすぎない. 証明書は自己署名かつ自己生成でよい. 主要 TLS スタックはオンデマンド生成が可能である. ピアが保持する場合は第三者証明書も MAY で使える. 証明書 fingerprint は offer/answer 交換の一部として SIP 上の SDP で送られる.
fingerprint 機構により接続の一方は DTLS ハンドシェイクで提示された証明書がシグナリング側の当事者の証明書と一致することを検証できる. ただしシグナリングに整合性保護が必要である. RFC 3261 の S/MIME 署名や [RFC4474] の SIP Identity は悪意ある中間者による改ざんに強く, 最高レベルのセキュリティを与える. SIPS などホップ毎のセキュリティでも, パス上のシグナリング要素を支配しない攻撃者に対する改ざん耐性をある程度提供する. DTLS-SRTP はシグナリングに機密性より整合性を要するため, 資格情報を持ち信頼すべき要素の数が大きく減る. 特に RFC 4474 使用時は認証サービスだけが証明書を持ち信頼されればよい. 中間要素は検知されない改ざんができず MITM を仕掛けられない. 対して SDESCRIPTIONS [RFC4568] はシグナリング機密性を要するため, すべての中間要素を信頼しなければならない.
本アプローチは, 認証・鍵交換 (例: MIKEY [RFC3830]) をシグナリングに載せる従来手法と異なる. DTLS-SRTP ではメディア保護はメディア端点が確立し, メディア鍵は SIP/SDP との暗号的バインディングのみ行う. 暗号化メディアがない場合も RTP と SIP を通常どおり使える.
SIP では呼び出し側が offer を送り, 被呼側は SIP answer 前に一方向メディアを送ることがある. メディア鍵交渉を SIP から切り離す本仕様により, answer 前に早期メディアを確立しつつ, メディア送信者が鍵材料の一部を選べるという重要なセキュリティ特性を維持する. 初期 SIP シグナリング後にメディアセッションを変更・再鍵化しても追加 SIP は不要である.
本仕様の適用性に影響する設計判断は第 3 節で述べる.