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.
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: