3.4. Secure RTCP (Sicheres RTCP)
3.4. Secure RTCP (Sicheres RTCP)
Sicheres RTCP (Secure RTCP) folgt der Definition von sicherem RTP (Secure RTP). SRTCP fügt der RTCP-Paketdefinition drei obligatorische neue Felder (den SRTCP-Index, ein "Verschlüsselungs-Flag" encrypt-flag und das Authentifizierungs-Tag authentication tag) und ein optionales Feld (das MKI) hinzu. Die drei obligatorischen Felder MÜSSEN an ein RTCP-Paket angehängt werden, um ein äquivalentes SRTCP-Paket zu bilden. Die hinzugefügten Felder folgen allen anderen profilspezifischen Erweiterungen.
Gemäß Section 6.1 von [RFC3550] gibt es ein ERFORDERLICHES Paketformat für zusammengesetzte Pakete (compound packets). SRTCP MUSS Pakete gemäß dieser Anforderung in dem Sinne erhalten, dass der erste Teil ein Sender-Bericht (sender report) oder ein Empfänger-Bericht (receiver report) sein MUSS. Das in diesem Abschnitt angegebene RTCP-Verschlüsselungspräfix (eine zufällige 32-Bit-Menge) DARF jedoch NICHT verwendet werden, da es, wie dort angegeben, nur auf die in [RFC3550] angegebene Verschlüsselungsmethode anwendbar ist und von den in SRTP verwendeten kryptografischen Mechanismen nicht benötigt wird.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<+
|V=2|P| RC | PT=SR or RR | length | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| SSRC of sender | |
+>+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ |
| ~ sender info ~ |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| ~ report block 1 ~ |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| ~ report block 2 ~ |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| ~ ... ~ |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |V=2|P| SC | PT=SDES=202 | length | |
| +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ |
| | SSRC/CSRC_1 | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| ~ SDES items ~ |
| +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ |
| ~ ... ~ |
+>+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ |
| |E| SRTCP index | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<+
| ~ SRTCP MKI (OPTIONAL) ~ |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| : authentication tag : |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
+-- Encrypted Portion Authenticated Portion -----+
Abbildung 2. Ein Beispiel für das Format eines sicheren RTCP-Pakets, bestehend aus einem zugrunde liegenden zusammengesetzten RTCP-Paket mit einem Sender-Bericht und SDES-Paket.
Der verschlüsselte Teil (Encrypted Portion) eines SRTCP-Pakets besteht aus der Verschlüsselung (Section 4.1) der RTCP-Nutzdaten des äquivalenten zusammengesetzten RTCP-Pakets, vom ersten RTCP-Paket an, d.h. vom neunten (9) Oktett bis zum Ende des zusammengesetzten Pakets. Der authentifizierte Teil (Authenticated Portion) eines SRTCP-Pakets besteht aus dem gesamten äquivalenten (möglicherweise zusammengesetzten) RTCP-Paket, dem E-Flag und dem SRTCP-Index (nachdem eine Verschlüsselung auf die Nutzdaten angewendet wurde).
Die hinzugefügten Felder sind:
E-flag: 1 Bit, ERFORDERLICH
Das E-Flag gibt an, ob das aktuelle SRTCP-Paket verschlüsselt oder unverschlüsselt ist. Section 9.1 von [RFC3550] erlaubt die Aufteilung eines zusammengesetzten RTCP-Pakets in zwei Pakete niedrigerer Schichten, von denen eines verschlüsselt und eines im Klartext gesendet werden soll. Das auf "1" gesetzte E-Bit zeigt ein verschlüsseltes Paket an, und "0" zeigt ein nicht verschlüsseltes Paket an.
SRTCP index: 31 Bits, ERFORDERLICH
Der SRTCP-Index ist ein 31-Bit-Zähler für das SRTCP-Paket. Der Index ist explizit in jedem Paket enthalten, im Gegensatz zum "impliziten" Indexansatz, der für SRTP verwendet wird. Der SRTCP-Index MUSS auf Null gesetzt werden, bevor das erste SRTCP-Paket gesendet wird, und MUSS nach jedem gesendeten SRTCP-Paket modulo 2^31 um eins erhöht werden. Insbesondere DARF der SRTCP-Index nach einer Neuverschlüsselung NICHT wieder auf Null zurückgesetzt werden.
Authentication Tag: konfigurierbare Länge, ERFORDERLICH
Das Authentifizierungs-Tag wird verwendet, um Nachrichtenauthentifizierungsdaten zu übertragen.
MKI: konfigurierbare Länge, OPTIONAL
Der MKI ist der Hauptschlüsselindikator (Master Key Indicator) und funktioniert gemäß der MKI-Definition in Section 3.
SRTCP verwendet standardmäßig die kryptografischen Kontextparameter und die Paketverarbeitung von SRTP, mit den folgenden Änderungen:
-
Der Empfänger muss den Index nicht "schätzen", da er explizit im Paket signalisiert wird.
-
Die vordefinierte SRTCP-Verschlüsselung ist wie in Section 4.1 angegeben, verwendet jedoch die Definition des verschlüsselten SRTCP-Teils, die in diesem Abschnitt angegeben ist, und verwendet den SRTCP-Index als Index i. Die Verschlüsselungstransformation und die zugehörigen Parameter MÜSSEN standardmäßig die gleichen sein, die für den Schutz der zugehörigen SRTP-Streams ausgewählt wurden, während der NULL-Algorithmus auf RTCP-SDES-Elemente angewendet werden MUSS (die daher im Klartext gesendet werden MÜSSEN).
-
Die vordefinierte SRTCP-Nachrichtenauthentifizierung und -integrität ist wie in Section 4.2 angegeben, jedoch mit dem authentifizierten SRTCP-Teil als Eingabe und unter Verwendung des SRTCP-Index als Index i. Die Authentifizierungstransformation und die zugehörigen Parameter (Sitzungsauthentifizierungsschlüssel usw.) MÜSSEN standardmäßig die gleichen sein, die für den Schutz der zugehörigen SRTP-Streams ausgewählt wurden.
-
Die vordefinierte SRTCP-Schlüsselableitung ist wie in Section 4.3 angegeben, unter Verwendung des SRTCP-Index als Index i. Der Hauptschlüssel und das Hauptsalt MÜSSEN die gleichen sein wie für die zugehörigen SRTP-Streams, während die Sitzungsschlüssellängen und die key_derivation_rate von denen, die für SRTP verwendet werden, abweichen KÖNNEN.
Wie bei SRTP kann ein MKI im Paket für die SRTCP-Hauptschlüsselanzeige enthalten sein.