Immer häufiger kommen in verschiedenen Internetforen Fragen auf, wie man am Besten seine Kommunikation im Internet verschlüsseln kann. Das hat sicherlich mit der NSA Spähaffäre zu tun, die immer gewaltiger(er)e Ausmaße annimmt. Leider gibt es für das Verschlüsseln kein allgemeingültiges Patentrezept und keine praktikablen Lösungen für Jedermann, die zudem noch systemweit (auf dem eigenen Rechner) sämtliche Kommunikation verschlüsselt. So muß jedes Programm zur digitalen Kommunikation einzeln irgendwie abgesichert werden. Daher bedeutet Verschlüsselung immer noch einiges an Grundwissen, die richtige Software und Geduld beim Einrichten eben dieser. Auch ist Disziplin gefragt. Fakt ist: Es artet ganz schnell in Arbeit aus. Daher beschäftigt sich dieser Artikel mit der Verschlüsselung von Privatgetippsel über verschiedene Instantmessenger.
Instantmessenger, was ist das?
Instantmessenger sind kleine Zusatzprogramme zum Chatten und Versenden von Sofortnachrichten in verschiedenen Längen. Hierfür haben sich mittlerweile viele Protokolle etabliert, man nehme beispielsweise ICQ, XMPP/Jabber, Yahoo oder Skype. In diesen Messengern werden Kommunikationspartner abgelegt, verwaltet und man kann am eigenen Bildschirm sehen, wer Online ist und wer nicht. Ist jemand Online, kann man dieser Person über ein Chatfenster eine Nachricht zukommen lassen, die ohne Zeitverzug bei ihm/ihr auch angezeigt wird. Der Begriff Peer-to-Peer (P2P) trifft es daher recht gut. Textnachrichten werden je nach genutztem Protokoll entweder direkt zum Gegenüber geroutet oder nehmen einen Umweg über die Server des jeweiligen Diensteanbieters.
Die einzelnen Dienste weisen jedem Benutzer eine eigene Adresse zu, die wie die Postanschrift im Heimatort wirkt. Mit dieser Adresse und einem Passwort kann sich der jeweilige Nutzer authentifizieren. Die eigene Adresse tauscht man mit anderen Personen meist auf anderem Wege aus und erlaubt somit den anderen Nutzern seinen Status (Online oder Offline) anzuzeigen.
Instantmessenger gibt es wie Sand am Meer, zu jedem Protokoll gibt es mindestens eines, welches die Entwickler des Protokolls herausgeben. Nutzt man mehrere dieser Protokolle, kommen aus Gründen des eigenen Komforts oder der eigenen Systemressourcen Multimessenger zum Einsatz. Eine Open-Source Alternative ist beispielsweise Pidgin. Diese Multimessenger vereinen mehrere (oder alle) dieser Protokolle unter einem Dach, so daß man nicht für jedes Protokoll einen anderen Messenger benötigt.
Wie Funktioniert eine Verschlüsselung?
Alice möchte Bob eine Nachricht über einen Messenger schreiben. Nun kann sich jeder Neugierige zwischen den Beiden einklinken und Alices Nachricht mitlesen oder sogar verändern.
Daher einigen Alice und Bob sich darauf, ihre Kommunikation zu verschlüsseln. Dazu generiert Alice an ihrem eigenen Computer ein Schlüsselpaar aus einem öffentlichen Schlüssel und einem geheimen, privaten Schlüssel.
Bob tut das gleiche an seinem Computer. Jeder besitzt also einen privaten Schlüssel, der bei jedem selbst bleibt. Die öffentlichen Schlüssel werden nun zwischen Bob und Alice ausgetauscht. Ohne beide Schlüsselpaare können neugiereige Mitleser nur Zeichensalat empfangen.
Jetzt möchte Alice eine verschlüsselte Nachricht an Bob schicken. Für diesen Brief kramt sie Bobs öffentlichen Schlüssel heraus, dazu ihren eigenen geheimen Schlüssel, den nur sie persönlich kennt. Mit dieser Kombination verschlüsselt sie ihre geheime Nachricht und schickt diese an Bob.
Kurze Zeit später bekommt Bob die Nachricht und sieht ersteinmal nur Zeichensalat, denn die Nachricht ist ja codiert. Nun braucht er Alices öffentlichen Schlüssel und seinen geheimen Schlüssel um den Zeichensalat zu entziffern.
Kurz gesagt: Wenn ich eine Nachricht verschlüsseln möchte, brauche ich eine Kombination aus meinem eigenen, nur mir bekanntem Privatschlüssel und dem öffentlichen Schlüssel des Kommunikationspartners. Beim Entziffern läuft das faktisch genauso ab, nur irgendwie anders und umgekehrt.
Nun das ist die vereinfachte Form der Verschlüsselung. Beim Chatten via Instant-Messenger gibt es allerdings noch ein paar weitere Punkte zu beachten, da diese Form der Kommunikation prinzipiell so zu behandeln ist wie ein Gespräch unter vier Augen. Folgende Punkte müssen gewährleistet seit:
- Verschlüsselung – Niemand kann die Nachrichten mitlesen.
- Beglaubigung – Man kann sich sicher sein, dass der Empfänger derjenige ist, für den man ihn hält.
- Abstreitbarkeit – Verschlüsselte Nachrichten enthalten keine elektronische Signatur. Es ist also möglich, dass jemand Nachrichten nach einer Konversation so fälscht, dass sie von einem selbst zu stammen scheinen. Während eines Gespräches kann der Empfänger aber gewiss sein, dass die empfangenen Nachrichten authentisch und unverändert sind.
- Folgenlosigkeit – Wenn der (langlebige) private Schlüssel einem Dritten in die Hände fällt, hat dies keine Auswirkung auf die Kompromittierung bisher getätigter Gespräche: Die Gespräche können damit nicht nachträglich entschlüsselt werden.
Das kompliziert das oben beschrieben Verfahren natürlich um Einiges. Insgesamt werden hier mehrere, sehr kurzlebige Schlüssel aus den privat generierten und getauschten Daten generiert, so daß die eben genannten Faktoren eingehalten bleiben. Mehr dazu gibts bei der Wikipedia zu lesen, wer denn nach OTR – Off the Record Messenging sucht. Verschlüsselt wird hier nach Diffie-Hellmann
Warum denn so kompliziert?
Jedes Schlüsselpaar wird aus je zwei Zeichenkolonnen erstellt. Der öffentliche Schlüssel, der an andere User ausgegeben wird, darf keine Rückschlüsse auf den privaten und geheimen Schlüssel erlauben. Zudem ist das bisher noch die sicherste Methode um Mails und Kurznachrichten zu verschlüsseln.
Messenger und Chat-Protokolle sind per Default (also in den Grundeinstellungen) zudem nicht für Verschlüsselung eingestellt. Bei den massiven Lauschattacken gegen die kommunikative Freiheit ist es wichtig, für ein Stückchen Sicherheit zu sorgen.
Die Regeln, die im öffentlichen Leben auf der Straße gelten, sind im Internet genauso gültig. Niemand würde vertrauliche Informationen im direkten Gespräch von Nachbar zu Nachbar quer über die Straße brüllen. Man trifft sich dazu an einem ungestörten Ort, wo man sich dazu austauscht. Bei E-Mails und Chatnachrichten ist Vertraulichkeit genauso anzuwenden wie bei einem privaten Gespräch. Es muß nicht jeder alles mithören oder mitlesen können, denn unter Beobachtung sagt und schreibt man doch einiges nicht oder anders, als wenn man privat miteinander redet oder schreibt.
Wie kann ich meine Instantmesseges denn nun am Besten Verschlüsseln?
Wir benötigen ein halbwegs aktuelles Windows (ab Vista und aufwärts) oder Linux, dazu den aktuellen Multimessenger Pidgin und das Plugin OTR – Off-the-Record Messaging. Getestet habe ich das bisher nur unter Windows.
Für die meisten Distributionen von Linux dürfte Pidgin in den Hauptrepositories der jeweiligen Distribution liegen. Das Plugin OTR – Off-the-Record Messaging bekommt man ebenfalls über den Paketmanager. Für Linux heißt das Paket für das Plugin pidgin-otr. Beides installiert man oder holt sich die jeweiligen Pakete von der Entwicklerseite und kompiliert diese sich.
Folgende Schritte habe ich unter Windows erledigt, dürften aber unter Linux ähnlich sein. Ich gehe davon aus, daß der geneigte Leser bereits schon bei irgendeinem beliebigen Dienst das eine oder andere Konto hat. Wie das für die einzelnen Dienste anzulegen ist, würde den Rahmen hier sprengen. Daher gehe ich nur darauf ein, wie man seine Accounts in Pidgin anlegt.
- Pidgin downloaden. Unter Linux schaut man im Paketmanager nach, ob da Pidgin vorhanden ist, anonsten kompiliert man sich Pidgin.
- Jetzt installiert man sich Pidgin, dazu folgt man den Anweisungen auf dem Bildschirm.
- Beim ersten Start kommt nun folgendes Fenster.
- Mit einem Klick auf Hinzufügen kann man nun einen ersten Account in Pidgin einpflegen.
- Nun füllt man die geforderten Angaben natürlich mit den entsprechenden Daten aus. Hat man woanders noch andere Accounts herumfliegen, wiederholt man die genannten Punkte so oft, bis alles eingepflegt ist.
- Bestehende Kontakte aus jedem Messenger werden von den Servern der jeweiligen Diensteanbieter automatisch in die Buddy-List importiert und eingefügt.
Hat man alle seine Accounts in Pidgin eingepflegt, muß noch das Plugin OTR – Off-the-Recording Messaging installiert werden. Linuxanwender bekommen das Paket pidgin-otr aus ihrem Paketmanager und ihren Repositories, die für ihre Distribution zuständig sind.
- Das Plugin OTR – Off the Record Messaging downloaden
- OTR auf dem eigenen System installieren.
Jetzt geht es ans Einrichten von OTR – Off-the-Record Messaging.
Hinweis: Beide Kommunikationspartner, die verschlüsselte Nachrichten senden und empfangen wollen, benötigen ein eigenes Schlüsselpaar aus öffentlichem und privatem Schlüssel. Das setzt bei bei Sender und Empfänger die gleiche oder ähnliche Software vorraus, die das Generieren der privaten und öffentlichen Schlüssel und das spätere Chiffrieren und Dechiffrieren der Nachrichten erledigt.
Jetzt muß man Pidgin natürlich erst einmal dazu bringen, ein Schlüsselpaar aus privatem und öffentlichem Schlüssel zu generieren. Den öffentlichen Schlüssel muß man natürlich mit jedem Kommunikationspartner, mit dem man schreiben möchte, austauschen.
- Dazu muß der geneigte Nutzer in der Menüleiste in der Liste mit den Bekanntschaften auf Werkzeuge und Plugins klackern. Die beiden Bilder zeigen das natürlich noch einmal.
- Im folgendem Fenster generiert man am besten gleich für alle angelegten Messengerkonten ein Schlüsselpaar
- Nun muß man sich mit seinem Gesprächspartner, am besten durch drei Blumentöpfe hindurch, auf eine Frage und eine dazu passende Antwort verständigen. Das könnte beispielsweise der Lieblingsfilm Blade Runner sein, wo ein Wort die Frage und das andere die Antwort ist.
- Der Kommunikationspartner müßte dann die Frage beantworten oder selbst die Frage stellen. Wie das aussieht kann man imm folgenden Bild einsehen.
- Ist die Authentification erfolgreich, ist der verschlüsselte Chat aktiv, ist sie fehlgeschlagen, muß diese Prodzedur wiederholt werden.
Fazit
Ein ähnliches Prodzedere gibt es beim Verschlüsseln von E-Mails. Jeder, der verschlüsselt kommunizieren möchte, sei es beim Chatten oder beim Mails schreiben, muß einiges an Arbeit auf seiner eigenen Seite investieren. Dazu kommt noch die Überzeugungsarbeit, um Kommunikationspartner zum Verschlüsseln zu bewegen.
Momentan bieten einige Provider von Instant Messengerprotokollen und Mailpostfächern an, die Verbindung zwischen Sender und Empfänger bzw zwischen Sender und dem hauseigenen Server und zwischen Server und Empfänger via SSL/TLS zu sichern. Damit werden die Nachrichten an sich selbst nicht geschützt. Im Zweifelsfall kann man die Nachrichten dann an geeigneter Stelle, beispielsweise bei zwischengeschaltetem Server, speichern und lesen bzw auch verändern. Dagegen hilft nur die Totalverschlüsselung, wie sie hier beschrieben wurde. Kommunikationswege an sich werden nur von den Providern durch diverse Trust-Zertifikate gesichert.
Alles in Allem ist das Verschlüsseln der Nachrichten mit einigem Aufwand verbunden und viele Leute scheuen daher die Mühen aus verschiedenen Gründen. Mir ist es auch schon untergekommen, daß man nicht auf für sich bekannte und bewährte Software verzichten mag. Leider gelingt eine solche Integration in freier Open-Source Software, hier im Beispiel Pidgin, am Besten und mit dem wenigsten Aufwand. Hersteller von proprietärer Software (beispielsweise ICQ, Skype usw.) machen es dem Nutzer schwer, solche Lösungen zu implementieren.
Mit Hilfe von quelloffenen Multi-Messengern ist es ein Einfaches mit einer Verschlüsselungstechnik wie dieser, sämtliche genutzten Chatprotokolle abzudecken und mit einem Streich sämtliche Nachrichten zu den Kommunikationspartnern verschiedener Dienste abzusichern.
Wie sicher jetzt diese Verschlüsselung ist, wage ich nicht zu beurteilen. Jede Verschlüsselung hebt den Aufwand, an den begehrlichen Inhalt von Nachrichten heranzukommen, deutlich an. Je besser eine Verschlüsselung ist, desto höher ist der Rechenaufwand, um diese zu knacken. Irgendwann mag jede Verschlüsselung durch schiere Rechenkraft geknackt werden, aber bis dahin fließt noch viel Wasser die Weida hinunter, so daß jede privat geführte Chatunterhaltung vorerst privat bleibt
Links
Im Artikel benutzte Programme
Weiterführende Lektüre