Bitmessage
Bitmessage Protokoll | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Familie: | Internetprotokollfamilie | ||||||||||||||||||||||||
Einsatzgebiet: | Vertraulicher E-Mail-Verkehr | ||||||||||||||||||||||||
Port: | 8444/TCP | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
Spezifikation: | Proposed Bitmessage Protocol Technical Paper[1] | ||||||||||||||||||||||||
Version: | Revision 1, November 2012 Jonathan Warren[1] | ||||||||||||||||||||||||
Website: | bitmessage.org |
Bitmessage ist ein 2012 vorgeschlagenes Verschlüsselungsprotokoll, das einen vertraulichen und anonymen Austausch von E-Mail-ähnlichen Nachrichten in einem Peer-to-Peer-Netzwerk ermöglichen soll.[1] Das Protokoll und die Referenzimplementierung basieren auf der Bitcoin-Technik.
Nachrichten werden verschlüsselt und signiert übertragen. Anders als zum Beispiel bei den E-Mail-Verschlüsselungsprotokollen S/MIME und PGP, werden bei Bitmessage auch Absender, Empfänger und die Betreffzeile vertraulich übertragen, um dadurch einen anonymen Nachrichtenaustausch zu ermöglichen. Bitmessage unterscheidet sich von Remailing bei E-Mail, dass die Anonymität von Absender und Empfänger durch eine Broadcast-Übertragung der Nachrichten an alle Bitmessage-Teilnehmer umgesetzt wird.
Es gibt eine Referenzimplementierung von dem Entwickler des Bitmessage-Protokolls. Das Programm PyBitmessage lässt sich ähnlich wie ein E-Mail-Programm benutzen und ermöglicht nach der Installation die Teilnahme am weltweiten Bitmessage-Netzwerk.
Funktionsprinzip
Anonymität des Empfängers
Beim Bitmessage-Protokoll trägt eine verschlüsselte Botschaft keinerlei direkten Hinweis auf Absender oder Empfänger. Sie muss daher allen Teilnehmern des Bitmessage-Netzwerks zugestellt werden. Ein Teilnehmer kann mittels des HMAC-Verfahren feststellen, ob eine Nachricht mit einem seiner öffentlichen Schlüssel verschlüsselt wurde.[2] Ist dies der Fall, weiß er, dass die Nachricht für ihn bestimmt ist, und er sie entschlüsseln kann.
Wenn das Bitmessage-Netzwerk wächst, wird die Zahl der zugestellten Botschaften groß genug werden, um die Internetverbindung eines einzelnen Teilnehmers zu überlasten. Deshalb teilt sich das Netzwerk rechtzeitig in Gruppen, die sogenannten „Streams“. Eine Bitmessage-Botschaft wird dann nur den Mitgliedern des Streams zugestellt, in dem sich der Empfänger befindet.
Bitmessage-Adressen
Verschlüsselt wird mit dem öffentlichen Schlüssel des Empfängers. Der Empfänger ist der einzige, der die Botschaft wieder entschlüsseln kann, weil nur er den dazugehörigen privaten Schlüssel kennt.
Als Empfängeradresse dient der RIPEMD-160-Hash des öffentliche Schlüssels des Empfängers. Dadurch wird die Länge der Adresse von 128 Byte auf 20 Byte verkürzt. Um mit dem Hash den öffentlichen Schlüssel des Empfängers zu erhalten, kann ein Teilnehmer im jeweiligen Stream mittels einer speziellen Nachricht danach fragen.[3]
Der Fingerprint wird zusammen mit der Nummer des Streams, in welchem sich der Empfänger befindet, in eine Buchstaben- und Ziffernkette umgewandelt die man auf einem Zettel notieren oder am Telefon diktieren kann, zum Beispiel:
BM‐2nTX1KchxgnmHvy9ntCN9r7sgKTraxczzyE
Das Prefix „BM-“ kennzeichnet die Zeichenfolge als Bitmessage-Adresse. Die Base58-Kodierung sorgt für druck- und aussprechbare Zeichen und soll Fehler durch die Verwechslung von I und l, bzw. 0 und O ausschließen.
Eigenschaften von Bitmessage-Adressen
Eine Bitmessage-Adresse ähnelt dem Schuh des Aschenputtels. Die junge Frau hatte dem Prinzen einen Schuh hinterlassen, der nur ihr passte. Sie konnte dem Prinzen beweisen, dass sie die maskierte Tänzerin gewesen war. Sie konnte aber auch anonym bleiben, wenn sie wollte. Ohne ihre Kooperation konnte der Prinz sie nicht ausfindig machen.
Doch da endet die Parallele: Um sie ausfindig zu machen, musste der Prinz einen öffentlichen Aufruf im Königreich verbreiten: „Mit wem habe ich getanzt? Bitte melde dich!“ Es meldeten sich unzählige junge Frauen. Hätten sie das per Bitmessage-Protokoll getan, hätte er Aschenputtels Antwort an der Signatur erkennen können. Jede Bitmessage-Botschaft enthält neben dem signierten Klartext den öffentlichen Schlüssel, mit dem sich die Signatur überprüfen lässt.[4] Aus dem öffentlichen Schlüssel hätte der Prinz die Bitmessage-Adresse berechnen können, um sie mit der Adresse zu vergleichen, die die maskierte Tänzerin ihm hinterlassen hatte. Doch wenn sie ihm tatsächlich eine Bitmessage-Adresse hinterlassen hätte, dann hätte er den „öffentliche Aufruf“ verschlüsseln können, und dann hätte allein ihre Antwort schon als Beweis genügt.
Diese Eigenschaften des Bitmessage-Netzwerks ergeben sich unmittelbar aus den Eigenschaften öffentlicher und privater Schlüssel, so wie sie in S/MIME und OpenPGP schon seit Jahren verwendet werden. Es musste nur jemand auf die Idee kommen, sie mit einer Broadcast-Übertragung zu kombinieren.
Vergleich mit Anonymisierung von E-Mails
Remailer ermöglichen die anonyme Übertragung von E-Mails. Das Funktionsprinzip von Remailern beruht darauf, dass die Herkunft der E-Mail verschleiert wird. Vor allem die IP-Adresse des Absenders soll verschleiert werden, da die IP-Adresse zur Identifizierung von Nutzern dienen kann.
Remailer
Ein Remailer leitet E-Mails weiter, entfernt hierbei jedoch die Absenderadresse und andere Metadaten, mit denen die Identifizierung des Absenders möglich sein könnte. Der Empfänger sieht lediglich die IP-Adresse des Remailers. Um die Anonymität zu erhöhen, können mehrere Remailer kaskadiert werden, das heißt eine E-Mail wird durch mehrere Remailer von unterschiedlichen Betreibern geleitet. Die Sicherheit des Remailings kann durch den Einsatz von fortgeschrittenen Techniken wie Mixen und Onion-Routing noch weiter erhöht werden. Ein einzelner Remailer-Betreiber oder ein Angreifer, der einen Remailer abhören kann, soll dadurch nicht an die Identität des Absenders gelangen.
Vergleich der Funktionsprinzipien
Remailing hat das Ziel den Absender zu anonymisieren und verwendet hierzu einzelne Server bzw. serverbasierte Netzwerke. Remailer interagieren mit der bestehenden E-Mail-Infrastruktur, sodass der Empfänger zum Beispiel sein gewohntes E-Mail-Programm und Postfach auf dem Server seines E-Mail-Dienstleisters verwenden kann. Dadurch kann ein Absender anonym E-Mails verschicken, auch wenn der Empfänger kein Remailing verwendet.
Bitmessage hingegen verwendet ein eigenes Peer-to-Peer-Netzwerk, bei dem Absender und Empfänger anonymisiert werden. E-Mail-Adressen oder andere Teile der bestehenden E-Mail-Infrastruktur werden nicht verwendet. Ein Versand von Nachrichten an Empfänger, die Bitmessage nicht verwenden, ist daher nicht möglich.
Angreifbarkeit
Der Entwickler Jonathan Warren nimmt an, dass ein Angreifer einen einzelnen Internetanschluss abhören oder kontrollieren kann, jedoch nicht die Internetanschlüsse aller Bitmessage-Nutzer. Ein Angreifer wie die NSA könne außerdem einen zentralen Internet-Knoten abhören, jedoch ebenfalls nicht die Internetanschlüsse aller Teilnehmer.[5]
Unter diesen Bedingungen könne ein Angreifer nicht den genauen Standort oder die Identität eines Bitmessage-Nutzers feststellen. Durch das Abhören von Internet-Knoten könne man den ungefähren Standort von Absender und Empfänger eingrenzen. Durch das Abhören eines Internetanschlusses könne ein Angreifer einen Bitmessage-Nutzer dann identifizieren, wenn der Angreifer einen bestimmten Bitmessage-Nutzer an einem Internetanschluss vermutet.[6]
Angriffe durch Peers
Ein Angreifer könnte sich unter die Teilnehmer des Bitmessage-Netzwerks mischen und einen oder mehrere manipulierte Bitmessage-Clients betreiben. Die Möglichkeiten die sich dadurch ergeben sind bisher unbekannt.
Einbruch in den Rechner eines Peers
Viel wahrscheinlicher als das Abhören eines Internet-Anschlusses ist der Einbruch in den Rechner eines Bitmessage-Nutzers über das Internet. Ein Angreifer, dem es gelingt, auf diese Weise einen privaten Schlüssel zu ergattern, kann nicht nur nachträglich alle bisher mit der zugehörigen Bitmessage-Adresse empfangenen Botschaften entschlüsseln. Er findet außerdem Signaturen vor, die die Urheberschaft der jeweiligen Absender beweisen.
Es hilft den Opfern auch nicht, wenn die Botschaften nach dem Lesen wieder gelöscht wurden, weil diese Botschaften zuvor in verschlüsselter Form durchs Internet gewandert sind, wo der Angreifer sie aufzeichnen konnte. Bitmessage taugt also nicht dazu, Off-the-Record-Botschaften auszutauschen, deren Existenz die Beteiligten nachträglich leugnen wollen. Diese Schwäche teilt Bitmessage mit S/MIME, PGP und anderen Anwendungen asymmetrischer Verschlüsselung.[7]
Angreifbarkeit durch „Traffic Analysis“
Das Funktionsprinzip des Bitmessage-Netzwerks ist tatsächlich uralt. Schon lange bevor es das Internet gab, wurde es im militärischen Bereich verwendet. Auch damals wurden verschlüsselte Botschaften per Broadcast zugestellt, nämlich per Funk. (Damals wurden allerdings nur symmetrische Verschlüsselungsverfahren verwendet.) Aus der Militärgeschichte kann man lernen, wie ein Angriff dagegen aussieht.
Der Angriff nennt sich Traffic Analysis[8]. Der anerkannt zuverlässigste Schutz dagegen besteht darin, einen konstanten Strom gleich großer verschlüsselter Botschaften zu erzeugen, die normalerweise keinen Inhalt haben, die bei Bedarf aber durch sinnvolle Botschaften ersetzt werden. Größere Texte müssen dabei auf mehrere Botschaften verteilt werden.
Von dieser Technik sind sowohl das Bitmessage-Protokoll als auch seine Konkurrenten weit entfernt.
Literatur
- Jonathan Warren: Bitmessage: A Peer-to-Peer Message Authentication and Delivery System (PDF-Datei; 199 kB) vom 27. November 2012. (Erstbeschreibung des Protokolls)
- Jonathan Warren: Proposed Bitmessage Protocol Technical Paper (PDF-Datei; 324 kB) vom 14. Januar 2013
- Reiko Kaps: E-Mail-Ersatz. In: c’t. Nr. 9/2013, ISSN 0724-8679, S. 45.
- Reiko Kaps: E-Mail-Ersatz mit Bitcoin-Technik, 26. März 2013. In: Heise online.
- Julian Wolf: Bitcoin-Schwester "Bitmessage" ermöglicht dezentralen Nachrichtenversand, 26. März 2013. In: gulli.com.
Weblinks
- Offizielle Website für das Protokoll Bitmessage (engl.)
- Download für Mac und Linux von GitHub (engl.)
Einzelnachweise
- ↑ a b c Jonathan Warren: Proposed Bitmessage Protocol Technical Paper (PDF; 324 kB), Revision 1, Jan.14 2013
- ↑ Spezifikation des Bitmessage-Protokolls
- ↑ Spezifikation des Bitmessage-Protokolls
- ↑ Vgl. asymmetrische Verfahren. Beim Signieren wird der zu signierende Text mit dem privaten Schlüssel verschlüsselt und an den Klartext angehängt. Dieses Anhängsel ist die Signatur. Entschlüsseln lässt sie sich nur mit dem dazugehörigen öffentlichen Schlüssel. Stimmt das Ergebnis mit dem Klartext überein, ist er unverändert vom Absender zum Empfänger gelangt. Außerdem ist klar, dass nur derjenige, der den privaten Schlüssel kannte, diese Signatur leisten konnte. In der Praxis verschlüsselt man übrigens nicht den ganzen Klartext, sondern nur eine Art Prüfsumme, die mit einer Hashfunktion aus dem Klartext berechnet wurde.
- ↑ Jonathan Warren: Proposed Bitmessage Protocol Technical Paper (PDF; 324 kB), Revision 1, Jan.14 2013, Abschnitt 7, Attackers.
- ↑ Jonathan Warren: Proposed Bitmessage Protocol Technical Paper (PDF; 324 kB), Revision 1, Jan.14 2013, Abschnitt 8, Attacks.
- ↑ Nikita Borisov, Ian Goldberg, Eric Brewer: Off-the-Record Communication, or, Why Not To Use PGP (PDF; 132 kB), Workshop on Privacy in the Electronic Society, 28.Oct 2004.
- ↑ Traffic Analysis: Protocols, Attacks, Design Issues, and Open Problems von Jean-François Raymond, Juli 2000
ihr könnt nichts ihr dummen hurensöhne