1. Einführung
1. Einführung
Dieses Dokument beschreibt einen Mechanismus zur Verwendung von DTLS [RFC4347] zur Etablierung von Schlüsseln für SRTP [RFC3711] und SRTCP [RFC3711] Ströme. SRTP und SRTCP (zusammen als SRTP bezeichnet, wenn keine Mehrdeutigkeit besteht) verwenden symmetrische Schlüsselverschlüsselung und -authentifizierung. Sie benötigen einen Master-Schlüssel, ein Master-Salt, einen SRTP-Verschlüsselungsalgorithmus, einen SRTP-Authentifizierungsalgorithmus und SRTP-Parameter. DTLS ist ein Kanalsicherheitsprotokoll, das die gegenseitige Authentifizierung von Endpunkten und die Aushandlung kryptographischer Parameter ermöglicht. Nach Abschluss des DTLS-Handshakes werden verschlüsselte Daten als eine Reihe von DTLS-Datensätzen gesendet. Durch Signalisierung von SRTP-Parametern im DTLS-Handshake kann DTLS verwendet werden, um Schlüssel für SRTP-Ströme zu etablieren.
Dieses Dokument definiert eine neue DTLS-Erweiterung, die es einem DTLS-Peer ermöglicht, die Verwendung von SRTP auszuhandeln und Parameter für beide Richtlinien bereitzustellen. Die Erweiterung bietet keine vollständige Aushandlung der SRTP-Richtlinie; die in der Erweiterung angebotene Richtlinie MUSS jeden Parameter enthalten, der für den empfangenden Endpunkt erforderlich ist, um den Verkehr korrekt zu entschlüsseln. Die Erweiterung bietet keine Möglichkeit, die Verwendung von DTLS-SRTP auszuhandeln, noch bietet sie eine Möglichkeit auszuhandeln, welche SRTP-Richtlinie verwendet werden soll. Der DTLS-Handshake MUSS durchgeführt werden, um die für SRTP erforderliche Schlüsselvereinbarung bereitzustellen.
Ein motivierender Faktor für die Entwicklung von DTLS-SRTP ist die derzeitige Verbreitung von Mechanismen für das Schlüsselmanagement für SRTP [RFC4568][RFC4567][SDESCRIPTIONS] [MIKEY]. Eine weitere Motivation besteht darin, die zukünftige Entwicklung von Funktionen wie einer kryptographisch gebundenen Identität zu unterstützen.
Es sollte beachtet werden, dass DTLS-SRTP sehr ähnlich und weitgehend kompatibel mit SDP Security Descriptions [RFC4568] ist. Die Hauptunterschiede sind:
- DTLS-SRTP erzeugt End-to-End-Sicherheit für die Medien, da die Schlüsselvereinbarung auf dem Medienpfad stattfindet. Bei SDP Security Descriptions ist die Sicherheit nur als Hop-by-Hop bekannt.
- DTLS-SRTP bietet eingeschränkte Identitätsauthentifizierung, nützlich wenn starke Identität erforderlich ist. Bei SDP Security Descriptions wird die Identität vollständig out-of-band bereitgestellt.
- DTLS-SRTP ermöglicht das Rekeying von Sitzungen mit langer Dauer. Bei SDP Security Descriptions erfordert Rekeying im Allgemeinen einen weiteren Offer/Answer-Austausch.
Die Schnittstelle zur Anwendung soll sehr einfach sein. Die einzige benötigte Anwendungsinformation ist die Verwendung des Schlüsselmaterials; z.B. dass es für SRTP verwendet werden soll. Die Anwendung muss die Schlüssel oder Kryptoalgorithmen nicht extrahieren, da der RTP-Stack bereits Zugriff darauf hat.
Dieses Dokument beschreibt auch, wie RTP-, RTCP-, DTLS- und STUN-Pakete auf einem einzelnen UDP-Port multiplext werden. STUN [RFC5389] wird verwendet, um den Medien das Durchqueren von Network Address Translators (NATs) und Firewalls zu ermöglichen. Da RTP und RTCP auf demselben Host und Port laufen, teilen sie dieselbe NAT-Bindung.