SRTP – Secure Real-Time Transport Protocol
Abkürzung: SRTP
SRTP verschlüsselt den Sprachstrom. Den Schlüsselaustausch regelt es nicht, dafür sind andere Verfahren zuständig.
Definition SRTP
SRTP ist in RFC 3711 festgelegt und erweitert RTP um Verschlüsselung, Authentifizierung und Schutz gegen das Wiedereinspielen aufgezeichneter Pakete. Der Aufbau des Pakets bleibt erhalten, verschlüsselt wird nur die Nutzlast.
Dass der Kopf unverschlüsselt bleibt, ist Absicht. Folgenummer und Zeitstempel müssen für Zwischenstationen lesbar sein, damit sich der Strom weiterhin verarbeiten lässt. Ein Mithörer erfährt dadurch, dass telefoniert wird und wie lange, aber nicht, was gesprochen wird.
Zum Steuerkanal gehört die entsprechende gesicherte Variante.
Was SRTP nicht leistet
SRTP legt fest, wie mit einem vorhandenen Schlüssel zu verschlüsseln ist. Woher dieser Schlüssel kommt, ist nicht Teil der Festlegung. Das ist der Punkt, an dem in der Praxis die meisten Missverständnisse entstehen.
Drei Wege sind verbreitet:
Schlüssel in der Sitzungsbeschreibung. Der Schlüssel wird in der Beschreibung per SDP mitübertragen, festgelegt in RFC 4568. Das Verfahren ist einfach und weit verbreitet, hat aber eine zwingende Voraussetzung: Die Signalisierung muss verschlüsselt sein. Andernfalls reist der Schlüssel im Klartext mit, und die Verschlüsselung ist wertlos.
Aushandlung im Medienkanal. Die Schlüssel werden direkt zwischen den Endpunkten ausgehandelt, bevor die Sprache fließt, festgelegt in RFC 5763 und 5764. Unabhängig davon, ob die Signalisierung geschützt ist. Das Verfahren der Kommunikation im Browser, in der klassischen Telefonie seltener.
Aushandlung mit Prüfwort. Ein Verfahren, bei dem beide Seiten einen kurzen Vergleichswert angezeigt bekommen, den sie sich gegenseitig vorlesen können. Damit lässt sich ein Mithörer in der Mitte erkennen, ohne dass eine Zertifikatsstruktur nötig ist.
In der Praxis
Verschlüsselte Signalisierung und verschlüsselte Sprache sind zwei getrennte Entscheidungen. Ein Anschluss kann das eine ohne das andere haben.
Das ist die häufigste Fehlannahme: Wer in seinem Gerät die verschlüsselte Signalisierung einschaltet, hat damit noch keine verschlüsselte Sprache. Die Gesprächsinhalte laufen weiterhin offen, sofern SRTP nicht zusätzlich ausgehandelt wurde.
Umgekehrt ergibt verschlüsselte Sprache mit dem Schlüssel in der Sitzungsbeschreibung keinen Sinn, solange die Signalisierung offen läuft.
Anbieterunterstützung. Nicht jeder Anbieter unterstützt SRTP, und nicht jeder Anschluss ist dafür freigeschaltet. Ob es geht, steht in den Anschlussunterlagen oder ist beim Anbieter zu erfragen.
Fehlerbilder. Verlangt eine Seite zwingend Verschlüsselung und beherrscht die andere sie nicht, wird das Gespräch abgelehnt. Der zugehörige Statuscode lautet 488. Steht das Gerät dagegen auf einer Einstellung, die beides zulässt, kommt das Gespräch unverschlüsselt zustande, ohne dass darauf hingewiesen wird.
Ein dritter Fall führt zu stummen Verbindungen: Die Aushandlung gelingt, aber eine Seite verschlüsselt mit anderen Vorgaben als die andere entschlüsselt. Das Gespräch steht, zu hören ist Rauschen oder nichts.
Reichweite. Die Verschlüsselung endet dort, wo das Gespräch das IP-Netz verlässt. Bei einem Anruf ins Festnetz oder ins Mobilfunknetz ist nur der erste Abschnitt geschützt. Eine Ende-zu-Ende-Sicherung ist das nicht.
Abgrenzung
SIPS bezeichnet die verschlüsselte Signalisierung über TLS. Es schützt, wer mit wem telefoniert, nicht was gesprochen wird.
VoVPN führt den gesamten Telefonieverkehr durch einen Tunnel. Das schützt beide Ebenen, wirkt aber nur bis zum Ende des Tunnels.
Quellen
- RFC 3711: The Secure Real-time Transport Protocol (SRTP)
- RFC 4568: Session Description Protocol (SDP) Security Descriptions for Media Streams
- RFC 5763 und RFC 5764: Framework und Erweiterung für den Schlüsselaustausch über DTLS
- RFC 6189: ZRTP, Media Path Key Agreement for Unicast Secure RTP