Ende-zu-Ende-Verschlüsselung von Telefonaten mit PhonerLite und AntiSip

24.4.2024

Telefonate mit vollständiger Ende-zu-Ende-Verschlüsselung gelingen mit den Softphones PhonerLite über den kostenlosen SIP-Provider AntiSip. Der Telefonprovider kann durch diese Verschlüsselungstechnik mit Hilfe von ZRTP, SRTP und TLS in Verbindung mit SNI das Gespräch nicht abhören. Neben einer kochbuchartigen Anleitung versucht der Artikel die Abkürzungen zu erklären.

Dabei kommen hauptsächlich die Protokolle  TLS, SRTP und ZRTP zum Einsatz. In einfachen Worten erklärt: TLS verschlüsselt die Transportdaten nach dem SIP-Protokoll. SRTP verschlüsselt den Audiostream. ZRTP sorgt für die Ende-zu-Ende-Verschlüsselung. Dadurch kann selbst der vermittelnde Telefonserver nicht mitlesen. Sowohl der Server als auch die Endgeräte müssen für ZRTP geeignet sein.

. https://de.wikipedia.org/wiki/Secure_Real-Time_Transport_Protocol
. https://de.wikipedia.org/wiki/ZRTP
. https://de.wikipedia.org/wiki/Transport_Layer_Security
. https://de.wikipedia.org/wiki/Server_Name_Indication
. https://de.wikipedia.org/wiki/Session_Initiation_Protocol
. https://de.wikipedia.org/wiki/Real-Time_Transport_Protocol

Dass ZRTP tatsächlich aktiv ist, erkennt man  auf PhonerLite an dem Hängeschloss-Symbol, das einen grünen Haken besitzt. Fährt man mit der Maus auf dieses Symbol, erscheint der Schriftzug „ZRTP: pwmc“:

Antisip Zrtp Phonerlite
Telefonverbindung über AntiSip mit ZRTP-Verschlüsselung, was am Hängeschloss mit grünem Haken zu erkennen ist.

Das Hängeschloss ohne grünen Haken bedeutet, dass der Audiostream nur mit SRTP verschlüsselt ist. Dies bedeutet, dass eine verschlüsselte Verbindung nur zwischen dem Telefonserver und dem Endgerät (hier PhonerLite) vorliegt. Der Server könnte also abhören. Auf richterlichem Beschluss kann dies auch tatsächlich vorkommen. Mit einer  ZRTP-Verschlüsselung ist dies nicht mehr möglich. Vielleicht schaffen es Geheimdienste mit viel Geld und Aufwand dennoch. Eine absolute Sicherheit gegen Lauschangriffe gibt es nicht.

Testumgebung2phonerliitezrtp
Testumgebung bestehend aus zwei Laptops mit PhonerLite, mit denen ein Telefonat über den kostenlosen SIP-Server AntiSip läuft.

Leider unterstützen Asterisk-Server noch nicht ZRTP. Vor Jahren aus der Anfangszeit von Asterisk gab es einen Patch für ZRTP, der allerdings nie zuverlässig funktionierte.

Unter https://sip.antisip.com/service/register.html können SIP-Accounts von AntiSip besorgt werden. Wir benötigen zwei Accounts von AntiSip. Es ist zu beachten, dass der Username leider mindestens einen Buchstaben enthalten muss. Damit können diese Accounts praktisch nur in Softphones Verwendung finden. Normale Telefone erlauben auf Grund ihrer Tastatur oder Wählscheibe nur Ziffern.

Folgende Konfiguration ist in PhonerLite für AntiSip-Accounts zu wählen:

Proxy/Registrar: sip.antisip.com:5061
Benutzername: Der gewählte Username, z.B. x123456
Kennwort: Das gewählte Password, z.B. 123456aB
Verbindungsart (Transport): TLS
Angezeigter Name: Was einem gefällt

In PhonerLite unter „Codecs“ ein Häkchen bei SRTP, SAVP und ZRTP setzen.

Screenshots der Konfiguration eines SIP-Accounts von AntiSip:

Phonerlite Antisip Tsl Zrpt 01

Phonerlite Antisip Tsl Zrpt 02

Phonerlite Antisip Tsl Zrpt 03

Phonerlite Antisip Tsl Zrpt 04

Phonerlite Antisip Tsl Zrpt 05

Wie sicher ist das Verfahren von AntiSip?

AntiSip verwendet TLS in Verbindung mit SNI. Zusätzlich kommen SRTP und ZRTP zum Einsatz.

Bei der Verwendung von SNI (Server Name Indication) gibt der Client den Hostnamen während des TLS-Handshakes an den Server weiter. Dies ermöglicht es dem Server, das entsprechende SSL/TLS-Zertifikat auszuwählen, das für den angeforderten Hostnamen gültig ist. Der Client benötigt kein eigenes Zertifikat, sondern gibt lediglich den Hostnamen an, den er kontaktieren möchte.

Ein gültiges Zertifikat ist jedoch auf dem Server erforderlich. Dieses Zertifikat wird vom Server verwendet, um seine Identität zu authentifizieren und die Kommunikation mit dem Client zu verschlüsseln. Der Client überprüft das Zertifikat des Servers, um sicherzustellen, dass es von einer vertrauenswürdigen Zertifizierungsstelle ausgestellt wurde und zum Zeitpunkt der Verwendung gültig ist.

Zusammenfassend: Der Client gibt den Hostnamen über SNI an, um dem Server mitzuteilen, welchen Host er kontaktieren möchte. Ein gültiges Zertifikat ist auf dem Server erforderlich, um die Identität zu authentifizieren und die Kommunikation zu verschlüsseln. Der Client benötigt kein eigenes Zertifikat für die Kommunikation über TLS mit SNI.

Die Sicherheit des Verfahrens hängt von verschiedenen Faktoren ab:

    1. TLS (Transport Layer Security): TLS bietet eine grundlegende Sicherheitsschicht, indem es die Kommunikation zwischen Client und Server verschlüsselt und die Integrität der Daten gewährleistet. Die Verwendung von TLS stellt sicher, dass die Übertragung von Daten über das Internet vor Abhörversuchen geschützt ist.
    2. SNI (Server Name Indication): SNI ermöglicht es einem Client, den Hostnamen während des TLS-Handshakes an den Server zu übermitteln, damit dieser das entsprechende SSL/TLS-Zertifikat auswählen kann. SNI verbessert die Skalierbarkeit von Servern, die mehrere SSL/TLS-Zertifikate verwenden, auf einer IP-Adresse. Es trägt jedoch nicht direkt zur Sicherheit der Datenübertragung bei, sondern erleichtert lediglich die Auswahl des richtigen Zertifikats.
    3. SRTP (Secure Real-time Transport Protocol): SRTP verschlüsselt den Audio- und Videostream in Echtzeit und stellt sicher, dass die Übertragung von Medieninhalten vor Abhörversuchen geschützt ist. Durch die Verschlüsselung des Datenstroms wird verhindert, dass Dritte den Inhalt der Kommunikation abhören oder manipulieren können.
    4. ZRTP (Zimmermann Real-time Transport Protocol): ZRTP bietet eine zusätzliche Sicherheitsschicht, indem es den Schlüsselaustausch und die Authentifizierung der Kommunikationspartner in Echtzeit durchführt. ZRTP ermöglicht es den Benutzern, die Sicherheit der Kommunikation unabhängig von der Vertrauenswürdigkeit der Server oder Zertifikate sicherzustellen.

Insgesamt bieten die Kombination von SNI mit TLS, SRTP und ZRTP ein solides Sicherheitsniveau für VoIP-Telefonate über das Internet. Durch die Verschlüsselung der Datenübertragung (TLS), den Schutz des Audio- und Videostreams (SRTP) und den sicheren Schlüsselaustausch (ZRTP) wird die Vertraulichkeit, Integrität und Authentizität der Kommunikation gewährleistet. Es ist jedoch wichtig, dass alle diese Protokolle ordnungsgemäß implementiert und konfiguriert sind, um die bestmögliche Sicherheit zu gewährleisten.

Weiterführende Informationen: 

150pxvorschaubildphonerliteverschluesselung
Wenige Änderungen in der Asterisk-Konfiguration sind notwendig.
Verschlüsselung von Telefonaten mit TLS und SRTP für Asterisk und PhonerLite – 20.4.2024: Beschreibung der Konfiguration für eine Verschlüsselung mit TLS, SRTP und SARV von Telefonverbindungen unter Verwendung des kostenlosen SIP-Softphones PhonerLite für Windows und einem Asterisk-Telefon-Server, der dazu ebenfalls zu konfigurieren ist. – weiter