SRTP (Secure Real-time Transport Protocol) ist die verschlüsselte Variante des Echtzeit-Transportprotokolls RTP. Es ist in RFC 3711 definiert und sorgt dafür, dass Audio- und Videodaten von VoIP-Anrufen und WebRTC-Sitzungen nicht abgehört oder manipuliert werden können.
Was SRTP schützt
RTP überträgt Medienströme im Klartext — jeder im Netzwerk könnte mithören oder Pakete verändern. SRTP ergänzt drei Schutzziele:
- Vertraulichkeit: Die Nutzdaten (Payload) werden verschlüsselt, standardmäßig mit AES im Zählermodus (AES-CM).
- Integrität und Authentizität: Ein kryptografischer Tag (HMAC-SHA1) stellt sicher, dass Pakete unverändert sind und vom echten Sender stammen.
- Replay-Schutz: Eine Sequenznummern-Prüfung verwirft abgefangene und erneut eingespeiste Pakete.
Schlüsselverteilung
SRTP selbst legt nur fest, wie verschlüsselt wird — die Schlüssel müssen anderweitig vereinbart werden. In VoIP-Umgebungen übernimmt das oft der SIP-Server per SDES (Schlüssel im SDP) oder ZRTP; bei WebRTC ist DTLS-SRTP (RFC 5764) der Standard: Die Schlüssel werden über einen DTLS-Handshake abgeleitet, der auf TLS-Mechanismen aufbaut. Das Steuerprotokoll RTCP hat mit SRTCP eine entsprechende sichere Variante.
Praxis
- Ports: SRTP verwendet dieselben Ports wie RTP (z. B. 5004/5005 oder dynamische Bereiche).
- Overhead: Die Verschlüsselung kostet nur wenige Prozent Rechenzeit — für Echtzeitanwendungen unkritisch.
- Pflicht: In modernen Systemen (WebRTC, viele VoIP-Anbieter) ist SRTP Standard, unverschlüsseltes RTP gilt als Sicherheitsrisiko.