メインコンテンツまでスキップ

1. Introduction (はじめに)

1. Introduction (はじめに)

この文書は、DTLS [RFC4347] を使用して SRTP [RFC3711] および SRTCP [RFC3711] フローのための鍵を確立するメカニズムについて説明します。SRTP と SRTCP (曖昧さがない場合は総称して SRTP と呼びます) は、対称鍵暗号化と認証を使用します。それらには、マスター鍵 (master key)、マスターソルト (master salt)、SRTP 暗号化アルゴリズム、SRTP 認証アルゴリズム、および SRTP パラメータが必要です。DTLS は、エンドポイント間の相互認証と暗号パラメータのネゴシエーションを可能にするチャネルセキュリティプロトコルです。DTLS ハンドシェイクが完了すると、暗号化されたデータが一連の DTLS レコードとして送信されます。DTLS ハンドシェイクで SRTP パラメータをシグナリングすることにより、DTLS を使用して SRTP フローのための鍵を確立できます。

この文書は、DTLS ピアが SRTP の使用をネゴシエートし、両方のポリシーのパラメータを提供できるようにする DTLS の新しい拡張を定義します。この拡張は、SRTP ポリシーの完全なネゴシエーションを提供しません。拡張で提供されるポリシーには、受信エンドポイントがトラフィックを正しく復号化するために必要なすべてのパラメータが含まれていなければなりません。この拡張は、DTLS-SRTP の使用をネゴシエートする方法や、どの SRTP ポリシーを使用するかをネゴシエートする方法を提供しません。SRTP に必要な鍵合意を提供するために、DTLS ハンドシェイクを実行しなければなりません。

DTLS-SRTP を開発する動機の 1 つは、SRTP の鍵管理メカニズムの現在の増殖です [RFC4568][RFC4567][SDESCRIPTIONS] [MIKEY]。もう 1 つの動機は、暗号的にバインドされたアイデンティティなどの機能の将来の開発をサポートすることです。

DTLS-SRTP は SDP Security Descriptions [RFC4568] と非常に類似しており、大部分互換性があることに注意してください。主な違いは次のとおりです:

  • DTLS-SRTP は、鍵確立がメディアパス上で行われるため、メディアにエンドツーエンドのセキュリティを提供します。SDP Security Descriptions では、セキュリティはホップバイホップであることしかわかりません。
  • DTLS-SRTP は、強力なアイデンティティが必要な場合に役立つ限定的なアイデンティティ認証を提供します。SDP Security Descriptions では、アイデンティティは完全に帯域外で提供されます。
  • DTLS-SRTP は、長時間のセッションの再鍵交換を可能にします。SDP Security Descriptions では、再鍵交換には通常、別の offer/answer 交換が必要です。

アプリケーションへのインターフェースは、非常にシンプルであることを意図しています。必要なアプリケーション情報は、鍵マテリアルの使用法のみです。たとえば、SRTP に使用されることなどです。RTP スタックはすでに鍵や暗号アルゴリズムにアクセスできるため、アプリケーションはそれらを抽出する必要はありません。

この文書はまた、単一の UDP ポートで RTP、RTCP、DTLS、および STUN パケットを多重化する方法について説明します。STUN [RFC5389] は、メディアがネットワークアドレストランスレータ (Network Address Translators, NAT) とファイアウォールを通過できるようにするために使用されます。RTP と RTCP は同じホストとポートで実行されるため、同じ NAT バインディングを共有します。