Sicher chatten
RetroShare
Freunde einladen
Nun haben Sie eine funktionierende RetroShare-Installation, aber noch keine einzigen Chatpartner. Das wird sich auch nicht ändern, solange Sie keine Freunde einladen und mit ihnen die Schlüssel austauschen.
RetroShare bietet Ihnen die Möglichkeit, neue Freunde per E-Mail einzuladen (Abbildung 4) – das funktioniert nur, wenn Sie das Standard-Mailprogramm (unter KDE z. B. kmail) auch konfiguriert haben. Nutzen Sie nur einen Webmailer (wie Google Mail) und keinen lokal installierten E-Mail-Client, können Sie diese Funktion nicht verwenden. Es ist aber auch ohne automatische E-Mails kein Problem, die nötigen Informationen an Ihre Kontakte weiterzugeben.
Wir gehen im Folgenden davon aus, dass zwei Anwender (Sie und Ihr Kontakt) live an Ihren Rechnern sitzen. Sie können die für das gegenseitige Hinzufügen nötigen Schritte parallel ausführen.
- Zunächst klicken Sie beide auf das oberste Icon in der am linken Rand liegenden Symbolleiste, es zeigt eine blaue Person und ein grünes Plussymbol und zeigt als Erläuterung Assistent zum Hinzufügen von Freunden an, wenn Sie mit der Maus darüber fahren.
- Damit öffnet sich ein neues Fenster mit dem Assistenten, der Ihnen hilft, den neuen Freund hinzuzufügen. Übernehmen Sie hier die vorausgewählte Option Gib das Zertifikat manuell ein und klicken Sie auf Weiter.
Sie sehen dann einen zweigeteilten Dialog (Abbildung 5). In der oberen Hälfte zeigt das Programm Ihren eigenen öffentlichen Schlüssel an, und der untere Bereich ist noch leer.
- Kopieren Sie aus dem oberen Bereich Ihren eigenen Schlüssel per Copy & Paste in eine E-Mail und schicken Sie diese an Ihren Kontakt. Wenn Sie das Ganze synchron erledigen, erhalten Sie beide nach kurzer Zeit eine E-Mail, die jeweils den Schlüssel des Kontakts enthält.
- Der fremde Schlüssel gehört in den unteren Bereich des Fensters. Fügen Sie also die Textzeilen aus der E-Mail unten ein – achten Sie dabei darauf, dass Sie nichts auslassen und nicht zu viel Text einfügen: Der relevante Bereich beginnt mit einer Zeile
-----BEGIN PGP PUBLIC KEY BLOCK-----und endet mit einer Zeile der Form--LOCAL--192.168.178.1:12345;--EXT--111.222.111.222:0;. Klicken Sie auf Weiter, wenn Sie den Schlüssel eingefügt haben. Es erscheinen nun Informationen über den Schlüssel; u. a. sehen Sie den Namen Ihres Kontaktes (Abbildung 6). Da Sie bei der gewählten Schlüsselaustauschmethode recht sicher sein können, dass Sie wirklich den Schlüssel Ihres Kontakts eingefügt haben, aktivieren Sie noch die Option Authentifiziere Freund (GPG Schlüssel unterzeichnen) und klicken dann auf Abschließen.
- Sie werden dann aufgefordert, Ihr Passwort für den GPG-Schlüssel (die GPG-Passphrase) einzugeben.
Haben Sie (auf beiden Seiten) das Hinzufügen des neuen Kontakts erledigt, sehen Sie nach einer Weile in einer Statusmeldung, dass Sie mit einem neuen Freund verbunden sind (Abbildung 7).
Chatten
Einen Chat können Sie nur mit Freunden beginnen, mit denen Sie auch verbunden sind. Dazu reicht ein Doppelklick auf den Eintrag in der Freundesliste; es öffnet sich dann ein klassisches Chatfenster, in dem Sie Ihre Nachrichten eingeben und die Antworten lesen (Abbildung 8). Sie können es auch verwenden, um dem anderen eine Datei zuzusenden.
RetroShare baut direkte Verbindungen zwischen den Chatpartnern auf, es gibt keinen zwischengeschalteten Server. Abhängig von der Netzwerkanbindung der beiden Partner ist es unterschiedlich aufwendig, diese Verbindung herzustellen, z. B. dann, wenn beide Anwender hinter einer Firewall sitzen. Im Test hat es teilweise mehrere Minuten gedauert, bis die Verbindung stand. Wie sich die Partner überhaupt finden können, lesen Sie im Kasten Technische Details.
In den meisten Fällen wird keine Anpassung an den Netzwerkeinstellungen nötig sein, denn RetroShare unterstützt unter anderem Verbindungen über UPnP (Universal Plug & Play). Wenn Sie Schwierigkeiten beim Verbindungsaufbau haben und einen DSL- oder ähnlichen Router für den Internetzugang verwenden, können Sie am Router einen Port auf den Rechner weiterleiten, an dem Sie RetroShare benutzen. Bei den meisten Routern ist das einfach über die Weboberfläche zu erledigen.
Suchen Sie (nur bei Problemen!) eine nicht benutzte Portnummer aus, 2323 ist ein guter Kandidat – die Nummer darf nicht kleiner als 1024 sein. Dann tragen Sie im Router ein, dass diese Portnummer an dieselbe Portnummer auf Ihrem RetroShare-Rechner weitergeleitet wird, sowohl für TCP als auch UDP. Bei der FritzBox sind dafür zwei Einträge in der Tabelle nötig, jeweils einer für TCP und einer für UDP (Abbildung 9).
Wenn Sie die Weiterleitung eingerichtet haben, müssen Sie auch RetroShare noch darüber informieren; dazu klicken Sie im Programm auf das Zahnrad-Icon in der Symbolleiste am linken Rand, wechseln im Einstellungsfenster zum Reiter Server, schalten dort oben auf Portweiterleitung von Hand um und tragen dann in den beiden Port-Feldern die neue Portnummer (im Beispiel 2323) ein. Nach einem Neustart sollten Verbindungen dann leichter zustande kommen.
Technische Details
Beim Verbindungsaufbau zwischen zwei Chatpartnern gibt es zwei große Probleme, welche die Software lösen muss – die Lösungsideen sind aus anderen Systemen schon bekannt, aber bei RetroShare kombiniert:
IP-Adresse des Partners finden
In klassischen Instant-Messaging-Systemen gibt es einen zentralen Server, an dem sich jeder Anwender anmelden muss. Der Server hat dann den Gesamtüberblick darüber, welche Teilnehmer gerade aktiv sind und unter welchen IP-Adressen man sie erreichen kann. Will ein Partner den anderen erreichen, fordert er den Server auf, die Verbindung herzustellen.
Bei RetroShare gibt es keinen Server, deswegen ist die Kontaktaufnahme viel schwieriger. Das Programm setzt dazu auf Techniken, die auch Peer-2-Peer-Netzwerke für Filesharing einsetzen, u. a. verwendet es so genannte verteilte Hashtabellen (distributed hash tables, DHTs) [7], deren Beschreibung hier zu weit führen würde. Vereinfacht gesagt, sucht RetroShare zunächst seine "nächsten Nachbarn", von dort wird die Anfrage dann weitergeleitet, bis schließlich die gesuchte Information gefunden wird.
Um die Suche überhaupt starten zu können, enthält RetroShare eine Liste mit 500 IP-Adressen von RetroShare-Anwendern, von denen einige online sein müssen.
Direktverbindung aufbauen
Ist die IP-Adresse des Gesprächspartners gefunden, steht das Programm vor dem nächsten Problem: Selbst wenn beide Seiten gleichzeitig eine Verbindung aufbauen möchten, finden sie nicht so leicht zueinander. Die meisten PCs von Privatanwendern haben keine öffentliche IP-Adresse, über die sie aus dem Internet heraus ansprechbar sind, sondern hängen an einem Router (z. B. einem DSL-Router). Der Router wählt sich ins Internet ein und erhält eine öffentliche IP-Adresse (ist also von außen erreichbar), aber dem PC teilt der Router nur eine private IP-Adresse (die meist mit 192.168. beginnt) zu.
Wenn beide Seiten ein solches Netzwerk-Setup haben, ist mit klassischen Mitteln keine Direktverbindung möglich. Dann muss entweder einer der Teilnehmer auf seinem Router eine Portweiterleitung einrichten, oder die Programme müssen sich Tricks bedienen, um dennoch kommunizieren zu können. Dazu gibt es ein Verfahren namens UDP Hole Punching [8], die z. B. auch Skype für denselben Zweck nutzt. Weil das Hole Punching kein schnelles Verfahren ist, dauert es damit manchmal ca. zehn Minuten, bis eine Chatverbindung steht.
Gruppenchat
Wenn Sie einen Chatraum betreten, sehen Sie dort auch Teilnehmer, mit denen Sie nicht befreundet sind – und können mit ihnen chatten. Das funktioniert aber nur so lange, wie jeder der Chatraumbesucher auf Umwegen mit allen übrigen befreundet ist. Wenn also z. B. Anton mit Berta, Berta mit Chris, Chris mit Dora und Dora mit Emil befreundet sind (aber keine der fünf Personen darüber hinaus weitere Verbindungen untereinander haben), dann können alle gemeinsam in einem Chatraum miteinander sprechen. Verlässt in diesem Szenario Chris ("in der Mitte") den Raum, dann zerfällt der Raum in zwei Teile: Anton und Berta bleiben in der ersten Hälfte, Dora und Emil in der zweiten. Die beiden getrennten Gruppen können nicht weiter gemeinsam miteinander chatten, weil das Bindeglied (Chris) fehlt.
Auch das liegt daran, dass es keinen Server gibt, über den die Teilnehmer alle miteinander verbunden wären: Wenn im obigen Beispiel Anton etwas im Chatraum schreibt, legt seine Botschaft einen langen Weg bis zum Rechner von Emil zurück, nämlich über alle "dazwischen" liegenden Kontakte.
Wir danken dem RetroShare-Entwicklerteam, das sich die Zeit für ein zweistündiges Interview mit EasyLinux genommen hat, um technische Fragen zu beantworten – das Interview haben wir in einem RetroShare-Chatraum geführt.



