WebRTC wurde maßgeblich von Google und Mozilla initiiert, um der Konkurrenz von MS Skype etwas entgegen zu setzen. Es wurde vom W3C standardisiert und ist seit 2017 in allen Browsern enthalten. Es wird auch in einigen Messengern für Audiotelefonie verwendet.
Der Datenstrom wird bei WebRTC ebenfalls mit SRTP verschlüsselt. Die Verwaltung der Accounts erfolgt auf zentralen Servern aber die Sprachkommunikation läuft über eine direkte Verbindung zwischen den Clients. Für den Aufbau der Verbindung kann ICE (Internet Connectivity Establishment) genutzt werden. Wenn keine direkte Verbindung zwischen den Clients möglich ist, werden TURN Server als Proxys genutzt.
Verschiedene Forschungsergebnisse wie Language Identification in Ecrypted VoIP Traffic (2007, PDF), Recovering Spoken Phrases in Encrypted VoIP Conversation (2008, PDF) und Phonotatic Recontruction of Encrypted VoIP Conversations (2011, PDF) zeigen, dass es bei Verschlüsselung von Telefonie Angriffsmöglichkeiten gibt, um gesprochene Phrasen anhand der Datenrate aus dem verschlüsselten Datenstrom zu rekonstruieren ohne die Verschlüsselung knacken zu müssen. Deshalb wird für hohe Sicherheitsanforderungen die Verwendung fester Datenraten empfohlen.
Bei WhatsApp ist die Technik scheinbar im Einsatz. Als bei einem (angeblich sicher verschlüsseltem) WhatsApp Telefonat im März 2023 mit einer Bekannten, die in Brüssel bei der EU im Engergiesektor arbeitet, im Nebensatz das Wort "Gazprom" fiel, wurde die Verbindung kurz unterbrochen.
" Hallo, hallo - bist Du nach da???" Als die Verbindung nach eingen Sekunden wieder aufgebaut war ein Lachen am anderen Ende der Leitung: "Das passiert immer, wenn ich Gazprom sage." Nachdem die belanglose Konversation 5min weiterging wieder eine kurze Unterbrechung.
WhatsApp verwendet die SRTP Verschlüsselung allerdings ohne ZRTP zum Schlüsseltausch und ohne SAS zur Verifikation, so dass man die Verschlüsselung nicht einfach verifizieren kann.
In den Einstellungen könnte man unter "Account → Sicherheit" die Sicherheitsbenachrichtigungen aktivieren, so dass im Beispiel (vermutlich) eine Warnung hätte angezeigt werden müssen, wenn es für Lawful Interception keine Sonderbehandlung gibt, die diese Warnung unterdrückt(?) Die Option ist standardmäßig deaktiviert. Aber wer sicher kommunizieren will, würde sich wahrscheinlich nicht auf WhatsApp verlassen, dessen Mutterkonzen ein PRISM Partner der NSA ist.
SRTP definiert die Verschlüsselung des Sprachkanals. Die Verschlüsselung der Daten erfolgt symmetrische mit AES128/256 oder Twofish128/256. Für die Verschlüsselung wird ein gemeinsamer Schlüssel benötigt, der zuerst via ZRTP ausgehandelt wird.
ZRTP erledigt den Schlüsselaustausch für SRTP und nutzt das Diffie-Hellman Verfahren. Wenn beide VoIP-Clients ZRTP beherrschen, wird beim Aufbau der Verbindung ein Schlüssel für SRTP automatisch ausgehandelt und verwendet. Der Vorgang ist transparent und erfordert keine Aktionen der Nutzer. Allerdings könnte sich ein Man-in-the-Middle einschleichen.
SAS dient dem Schutz gegen Man-in-the-Middle Angriffe auf ZRTP. Den beiden Partnern wird eine 4-stellige Zeichenfolge angezeigt, die über den Sprachkanal zu verifizieren ist.
Üblicherweise nennt der Anrufer die ersten beiden Buchstaben und der Angerufenen die beiden letzten Buchstaben. Wenn die Zeichenfolge identisch ist, kann man davon ausgehen, dass kein Man-in-the-Middle das Gespräch belauschen kann.
Beim VoIP Client Jitsi sieht es während eines verschlüsselten Gespräches so aus:
Hinweis: Moderne Messenger mit verschlüsselter Telefonie (außer WhatsApp) haben ein ähnliches Feature zur Verifikation implementiert, verwenden aber meist 4 Emojis statt Buchstaben.