1 Problem - gibt es ein Problem?
Warum es sinnvoll ist,
Jabber ICQ, MSN, etc. vorzuziehen, kann man unter anderem
hier nachlesen - aber Skype? Skype ist doch genial! Etwas anderes zu behaupten, wäre vermutlich eine Lüge.
Skype
- hat eine sehr wohlstrukturierte, unüberladene und so komfortabel wie intuitiv bedienbare Benutzerschnittstelle,
- ist kostenlos,
- ist sehr weit verbreitet,
- hat eine sehr gute Sprachqualität,
- setzt standardmäßig auf verschlüsselte Verbindungen bei Telefongesprächen, im Chat und beim Dateitransfer,
- gibt es für alle gängigen Desktop-Betriebssysteme (Windows, GNU, OS X).
Wo liegt also das Problem?
- Skype ist nicht nur einfach nur proprietär oder verzichtet auf offene Standards [1, 2, 3], sondern setzt auf ein vollkommen geheimes Protokoll.
- Da Skype Closed Source ist, kann man dessen Verschlüsselung nicht trauen (siehe dazu z.B. Folie 67 in dieser PDF). Es gibt zudem Hinweise darauf, dass die Betreiber von Skype einen Masterschlüssel besitzen, mit sie alle Sitzungen bespitzeln können.
- Skype enthält Spyware.
- Die Rechte an Skype wurden von eBay aufgekauft und Ebay ist nicht gerade bekannt für seine datenschutzfreundliche Unternehmenspolitik.
- Andere Auflistungen der Probleme bei der Verwendung von Skype sind unter anderem hier und hier zu finden.
2 Anforderungen
Für die Suche nach einer nach einer besseren Alternative zu Skype habe ich mir eine Liste an Anforderungen erstellt, die dieses Programm erfüllen sollte.
Die Software
- muss auf offene Standards setzen und sollte möglichst eine große Breite an offenen Standards unterstützen,
- sollte FLOSS sein,
- muss unter Linux und Windows laufen und sollte bestenfalls auch für MacOS X sowie weitere Plattformen zur Verfügung stehen,
- sollte - am Liebesten standardmäßig - verschlüsselte VoIP-Telefongespräche, Chatsessions und Dateitransfers ermöglichen,
- sollte intuitiv und einfach in der Handhabung sein (z.B. keine komplizierte Installation, Gesprächsaufbau funktioniert ohne umständliche Konfiguration, usw.)
- und sollte günstigerweise auch Videotelefonie unterstützen.
3 Welche offenen Standards für Internettelefonie gibt es?
Im Bereich der freien Internet-Kommunikationsprotokolle gibt es derzeit zwei große Vertreter:
- SIP:
Das SIP-Protkoll ist ein weit verbreiteter Standard, der auch von vielen der kommerziellen VoIP-Anbieter verwendet wird, die einen VoIP-Telefonanschluss mit dem DSL-Angebot mitliefern. Mit einem SIP-fähigen Klienten kann man auch den kostenlosen Service sipgate verwenden, bei dem man eine gülte Telefonnummer erhält, der aber anscheinend keine ankommenden Anrufe anderer kostenloser Anbieter erlaubt.
- Jingle:
Das andere Protokoll im Bunde der freien VoIP-Standards ist die Jabber/XMPP-Erweiterung Jingle. Die freie Enzyklopädie schreibt dazu: "Mit der „Jingle“ genannten Erweiterung kann Jabber P2P-Sitzungen vereinbaren. Heutzutage wird dies vor allem für VoIP genutzt, und ist in der Aufgabenstellung SIP sehr ähnlich.
Nachdem Google am 8. August 2005 mit der Veröffentlichung von Google Talk das Jabber-Protokoll zunächst proprietär um VoIP-Funktionen erweiterte, veröffentlichte die Jabber Software Foundation am 15. Dezember 2005 die Spezifikation der Erweiterung „Jingle Signalling“, die Jabber um P2P-Fähigkeiten erweitert, sowie die Spezifikation einer ersten Anwendung, „Jingle Audio“ für VoIP. Am selben Tag veröffentlichte Google den Quellcode der Programmbibliothek libjingle, die diese Spezifikation implementiert."
Es sei angemerkt, dass sowohl Jingle als auch SIP ausschließlich das Sitzungsprotokoll definieren, also wie der Aufbau einer Verbindung zwischen zwei Partnern ahnhand von zwei Jabber- bzw. SIP-Adressen vonstatten geht (siehe z.B. wie
der Aufbau einer SIP-Sitzung im Prinzip funktioniert). Welcher
Codec aber z.B. für die Video-/Audiokompression verwendet wird, ist in diesen Protokollen nicht festgelegt. Freiheit schafft eben auch das Problem der Vielfalt - wer die Wahl hat, hat die Qual :=|. Allerdings konnte ich im Internet keine Beschwerden über Kompatibilitätprobleme zwischen SIP- bzw. Jingle-Anwendungen untereinander finden - was wohl darauf hindeutet, dass die meisten Klienten alle gängigen Multimediakompressions-Standards ohne Probleme unterstützen.
4 Okay, und welche Software gibt es nun?
Eine Liste von Programmen, die Jingle unterstützen ist z.B.
hier zu finden, eine sehr guter tabellarischer Vergleich verschiedener VoIP-Software im
Wikipedia-Artikel "Comparison of VoIP software" sowie eine Liste ausschließlich freier VoIP-Programme in der Kategorie
Free VoIP software der englischen Wikipedia bzw. der Kategorie
Freie VoIP-Software der deutschen Wikipedia.
Nach einem qualvollen Durchforsten dieser Listen kommen die folgenden Programme in die nähere Vorauswahl:
- Ekiga: Jingle. Von verschlüsselten Telefongesprächen konnte ich aber nichts finden.
- Minisip: SIP. Bietet SRPT, mit dem man Gespräche verschlüsseln kann. Ansonsten scheint der Klient aber eher minimalistisch zu sein.
WxCommunicator: SIP. Von Verschlüsselung aber keine Rede.
WengoPhone: SIP. SRTP-Verschlüsselung wird ab der Version 2.1 vom Software-Klienten unterstützt [1, 2], allerdings scheint der SIP-Anbieter Wengo SRTP noch nicht zu unterstützen - aber man könnte sich (bis dahin) ja auch einen anderen SIP-Anbieter suchen und mit WengoPhone verwenden.
- Jabbin: Jingle.
- Coccinella: Jingle.
- SIP Communicator: SIP und Java-basiert, Jingle-Unterstützung ist in Arbeit. Auch eine Ende-zu-Ende-Verschlüsselung scheint geplant zu sein.
Wie man sieht, ist das mit der Verschlüsselung doch komplizierter als gedacht. Medienverschlüsselung gibt es schon zum Teil (WengoPhone), einen Verschlüsselungsstandard für SIP gibt es mit SRTP auch - für Jingle noch nicht. Google hat da zwar schon etwas angedeutet, aber wie lange das dauert und was das dann sein wird, kann man bei google nie genau wissen. Natürlich könnte man einen "Workaround" machen und die Audio-Inhalte einfach "irgendwie" verschlüsseln. Dann funktioniert das aber nur mit diesem Klienten und die ganze Idee mit den (offenen) Standards ist dahin. Auch der mögliche automatisierte Schlüsselaustausch wie bei Skype (oder WengoPhone) ist ein wesentlicher Vorteil einer standardisierten Verschlüsselungsroutine.
Von einer VoIP-"Anonymitätsverschlüsselung", die analog zu einem Anonymisierer wie JAP im HTTP-Internet auch die Verbindungsdaten verdeckt (also wer wen wann angerufen hat), kann man natürlich bis jetzt nur träumen.
Es sei im Anschluss noch
hier auf ein öffentliches Chatlog verwiesen, das unter anderem verschlüsselte VoIP zum Thema hat, wenn auch etwas konfus abgehandelt.
5 Fazit
Dieser "theoretischen" Recherche muss sich nun eine ausuferndere Analyse einzelner Programme sowie ein ausführlicher praktischer Test anschließen. Darüber wird dann aber zu einem späteren Zeitpunkt in einem anderen Blog-Eintrag berichtet :). Ich kann aber jetzt schon verraten, dass mir WengoPhone als ein sehr großer Favorit in diesem Wettkampf erscheint - würde Wengo noch SRTP anbieten und vielleicht WengoPhone sogar noch Jingle-Unterstützung, dass man mit allen Google-Talk-Fuzzies noch reden kann, wäre die Sache eigentlich schon geritzt.