• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Ein abhörsicheres Mailsystem

KayHH

Gast
Moin apfeltalker,

ich habe mir mal ein paar Gedanken über ein neues Mail-System gemacht. Anlas dafür ist die zunehmende Überwachung der elektronischen Kommunikation durch Behörden und Wirtschaft. Als Nebeneffekt verhindert das System außerdem Spam.

Während man den Mailinhalt vor unerwünschter Einsicht durch Verschlüsselung schützen kann, ist es beim bisherigen Mailverfahren immer noch möglich die Kommunikationswege auszuspähen. Dies soll durch mein neues Mailverfahren ebenfalls verhindert werden.

Das System besteht aus einem Client, welcher als Plugin für die gängigen Mailclients zur Verfügung gestellt werden soll und einem Mailserver. Der Mailserver ist auf einem Rechner installiert, welcher sich idealer Weise unter eigener räumlicher Kontrolle, am besten außerhalb der EU befindet und per Standleitung oder schnellem DSL angebunden ist. 600 kBit Upstream sollten für's erste reichen. Theoretisch wäre damit ein tägliches Mailaufkommen von ca. 6 GB zu bewerkstelligen.

Phase 1: Es werden Teilnehmer für den Maildienst gesucht. Im ersten Schritt wird daher mein Bekannten- und Kundenkreis angeschlossen. Sobald genügend Leute am System beteiligt sind und selbiges eingerichtet ist fällt der Startschuß und die Clients werden per Mail vom Server freigeschaltet. Ab nun erfolgt die Kommunikation zwischen allen Beteiligten über den neuen Maildienst.

Die Clients verschlüsseln den Inhalt und den Empfänger der Mail und senden diese an den Server. Dieser entschlüsselt den Empfänger und stellt die Mail zu. Soweit so gut. Zum Verschlüsseln des Empfängers wird der öffentliche Schlüssel des Mailservers verwendet. Der Inhalt wird mit dem öffentlichen Schlüssel des Empfängers verschlüsselt. Unverschlüsselte Verbindungen sind nicht vorgesehen. Wer mitmacht kommuniziert automatisch immer auch verschlüsselt.

Damit man nicht nachvollziehen kann, wer wem eine Mail schickt, gibt es mehrere Gegenmaßnahmen.

1. Sowohl die Clients als auch der Server schicken Dummymails raus, welche zwar Traffic erzeugen, bei den Clients bzw. dem Server aber voll automatisch verworfen werden.
2. Sowohl die Clients als auch der Server zerstückeln Mails in unterschiedlich große Teile oder bauen unterschiedliche Mails zu einer großen Mail zusammen, fügen diesen Dummyinhalt zu bzw. ziehen Dummyinhalt ab. Damit ist es nicht mehr möglich die am Server eingehenden und ausgehenden Mails anhand der Größe zuzuordnen. In Verbindung mit Punkt 1 sollte es für einen Beobachter von außen extrem verwirrend sein, was im einzelnen abläuft.
3. Der Client bietet die Möglichkeit an, einen Zeitraum anzugeben bis wann eine E-Mail spätestens beim Empfänger ankommen muss. Der Server hat damit die Möglichkeit die Mails zu sammeln, umzubauen und mehr oder weniger zeitversetzt weiterzuleiten. In Verbindung mit Punkt 1 und 2 ist damit keinerlei Zuordnung, wer mit wem kommuniziert mehr möglich. Je länger die Mails unterwegs sein dürfen umso mehr Spielraum haben die Clients und der Server.

Der Server selbst verfügt nur über wenige E-Mail-Adressen, welche die Mails annehmen, diese können recht kompliziert benannt sein, da sich die Clients um die Verwaltung kümmern. Sämtliche Inhalte sind durch ein asymmetrisches Verschlüsselungsverfahren mit einem 2048 Bitoder 4096 Bit langem Key verschlüsselt. Der Server nimmt nur Mails an, welches ein bestimmtes Merkmal tragen, jeder Input ohne das Merkmal wird sofort verworfen. Außerdem ist der Mailserver in der Lage den Clients in diesem Fall eine neue gültige Annahmeadresse mitzuteilen. So werden die Cleints wirksam vor Spam geschützt.

Das System wäre so nicht für größere Netzwerke zu gebrauchen. Die nächste Ausbaustufe sieht daher den Zusammenschluss mehrerer Mailserver vor, welche E-Mails in andere "Zonen" weiterleiten. Dazu wird langfristig eine Art DNS aufgebaut. Die Kommunikation zwischen den Mailservern soll analog der Kommunikation zwischen Clients und Server erfolgen.

Soweit meine Idee. Gibt es Denkfehler? Über Kommentare würde ich mich freuen.


Gruß KayHH
 
  • Like
Reaktionen: Chuck-.-

Chuck-.-

Bismarckapfel
Registriert
22.12.06
Beiträge
142
Wow. :oops:
Gedankenfehler habe ich keine gefunden bin aber von der Idee Begeistert. Du scheinst dir richtig viel Gedanken gemacht zu haben.

Die Idee, Dummyinhalte der mail hinzu zu fügen, find ich klasse und bin sicher das das auch funktionieren wird . Bin mal gespannt ob dein Versuch funktioniert. Würde mich natürlich auch als Beta-Tester anbieten ;)

Viel Glück :)
 

cmue

Freiherr von Berlepsch
Registriert
19.06.06
Beiträge
1.100
Das ganze Mailing soll dann nur mit den Leuten funktionieren, die der Server kennt?

Wenn ja -> richtie dir ein stink normalen Mail Server ein (von mir aus Exchange oder open Source) und blocke sämtliche Adressen und gebe nur die frei, die du auch kennst. Hat halt den Nachteil, das du nur mit den bekannten Adressen Mailen kannst. Verschlüsselung kannst du natürlich auch hier anbinden.
 

Cyrics

Neuer Berner Rosenapfel
Registriert
01.04.05
Beiträge
1.973
das System muss ich mir nochmal genauer durchdenken, weil ich es bis jetzt wohl noch nicht ganz verstanden habe.

Schwachpunkte sind aber unter anderem, dass du nicht auf IPv6, Quantentechnologie und der Übernahme des Systems gewappnet bist.
Außerdem durchschau ich das Schlüsselprinzip derzeit noch nicht, weil du ja eine Art Verschlüsselung zwischen zwei Stellen schaffst, mit einem Man-in-the-Middle... wärst du damit nicht selbst die größte Schwachstelle? Dein Rechner ist dann der Schlüssel zu allem, und das einzige Ziel was interessant wäre.
Es muss also dezentral zwischen mehreren Rechnern laufen, doch das bedeutet, dass auch mehrere Schlüssel wieder existieren. Diese müssten öfters wechseln, und das wird wiederrum viel zu aufwendig (Größe der Schlüssel, Rechenenergie, müssten verschickt werden (Sicherheitsrisiko)).

Es gibt doch sonst schon Anonymisierungsportale, über die man seine Mails verschicken kann. Mit der richtigen Verschlüsselung und der endgültigen Implementierung von IPv6, sollten sich deine Probleme doch auflösen, oder?
 

KayHH

Gast
Außerdem durchschau ich das Schlüsselprinzip derzeit noch nicht, weil du ja eine Art Verschlüsselung zwischen zwei Stellen schaffst, mit einem Man-in-the-Middle... wärst du damit nicht selbst die größte Schwachstelle? Dein Rechner ist dann der Schlüssel zu allem, und das einzige Ziel was interessant wäre.
Was die Information wer mit wem angeht hast Du recht, an die Inhalte komme ich als Serverbetreiber aber auch nicht ran. Ich habe mir das ganze auch so gedacht, das der Mailserver die Informationen nur solange kennt, wie er sie zur Bearbeitung der Mails wirklich braucht. logs sollen keine geführt werden, außer evtl. etwas Statistik zur Optimierung des ganzen Systems.

Als System habe ich an ein Debian-Linux mit dm-crypt gedacht. Somit wäre auch alles auf dem Server soweit möglich verschlüsselt. Zieht jemand den Stecker um das Gerät zu beschlagnahmen ist alles verschlossen.

Eine Übernahme des Servers von außen stelle ich mir nicht so einfach vor. Dadurch das alles verschlüsselt ist, wird es auch schwierig dem System bösen Code unterzuschieben. Man in the middle Attacken würde sofort auffliegen. Die Mail wäre nicht mehr gültig und würde sofort verworfen.


Gruß KayHH
 

DivDax

Bismarckapfel
Registriert
24.05.07
Beiträge
143
Wie wäre es einfach grundsätzlich E-Mails zu verschlüsseln? Schon hat man diese ganzen "Probleme" nicht mehr.
 

MrNase

Champagner Reinette
Registriert
11.01.05
Beiträge
2.656
Was mir noch nicht so ganz klar ist: Der Weg von dir zum Server hin wird sich nicht verschleiern lassen. Auch wenn die Nachricht verschlüsselt ist: dieser Weg ist offen. Selbst wenn sich die Annahmeadresse des Servers ändert - irgendwie muss ja definiert sein welche Route die e-Mail nehmen muss damit sie zum Server kommt. Spätestens wenn du zum Verschicken eine Verbindung mit dem Server aufnimmst wird diese Uhrzeit und die Ziel-IP gespeichert.

Gleiches gilt für den Kontakt vom Server zum Client. Es ist vielleicht nicht möglich durch zufällige Parameter (Zeit, Größe usw.) genaue Rückschlüsse ziehen zu können (wann, was) aber der Server muss die e-Mails ja irgendwie verschicken und der Weg kann ja vom Provider immer nachvollzogen werden. Wenn du über dein Plugin eine Verbindung zum Server herstellst dann wird diese Verbindung irgendwo beim Provider protokolliert. Wenn du nun 20x über nen bestimmten Port ne Verbindung zu einer bestimmten IP herstellst dann wird das auffällig.

Nicht schlecht wäre eine dynamische IP die, z.B. über einen Proxy, in zufälligen Zeitabständen wechselt. Die IP, sofern vorher bekannt, könnte in der e-Mail an sich hinterlegt werden. So in der Art 'Die nächste e-Mail wird an den Server mit der IP 123.234.232.12 verschickt.


btw. wird der Server die e-Mail _verschicken_? Normalerweise holt sich der Client die e-Mails ab (zumindest bei POP3-Servern die ich meistens nutze). :)
 

Cyrics

Neuer Berner Rosenapfel
Registriert
01.04.05
Beiträge
1.973
@DivDax
die Email werden bereits verschlüsselt. Das Problem ist die Zuordnung der Kommunikationspartner. Es lässt sich leicht erkennen wer mit wem Emails schreibt. Dann brauch mich der Mail-Inhalt oft nicht mehr interessieren. Das versucht KayHHs System zu verdecken.

Was mir noch nicht so ganz klar ist: Der Weg von dir zum Server hin wird sich nicht verschleiern lassen. Auch wenn die Nachricht verschlüsselt ist: dieser Weg ist offen. Selbst wenn sich die Annahmeadresse des Servers ändert - irgendwie muss ja definiert sein welche Route die e-Mail nehmen muss damit sie zum Server kommt. Spätestens wenn du zum Verschicken eine Verbindung mit dem Server aufnimmst wird diese Uhrzeit und die Ziel-IP gespeichert.

Gleiches gilt für den Kontakt vom Server zum Client. Es ist vielleicht nicht möglich durch zufällige Parameter (Zeit, Größe usw.) genaue Rückschlüsse ziehen zu können (wann, was) aber der Server muss die e-Mails ja irgendwie verschicken und der Weg kann ja vom Provider immer nachvollzogen werden. Wenn du über dein Plugin eine Verbindung zum Server herstellst dann wird diese Verbindung irgendwo beim Provider protokolliert. Wenn du nun 20x über nen bestimmten Port ne Verbindung zu einer bestimmten IP herstellst dann wird das auffällig.
Inwiefern auffällig?
Du hast zwar recht damit, dass man offene Netzwerkprotokolle nie verstecken kann und Quelle und Ziel immer offen darliegen. Durch diese "Dummymails", die hier erwähnt wurden, soll eine genaue Zurordnung ja verschleiert werden. Durch Verzögerung auch eine gewisse Größe des Systems könnte dies tatsächlich funktionieren, dass eine Zuordnung nicht möglich ist bzw. Auffälligkeiten nicht existieren.
Die zeitliche Verzögerung der Mails unterstützen dabei das Ganze.

Nicht schlecht wäre eine dynamische IP die, z.B. über einen Proxy, in zufälligen Zeitabständen wechselt. Die IP, sofern vorher bekannt, könnte in der e-Mail an sich hinterlegt werden. So in der Art 'Die nächste e-Mail wird an den Server mit der IP 123.234.232.12 verschickt.
Ich glaube das wäre ziemlich nutzlos, weil der Provider die IP zugeteilt hat. Es ist ja nicht so, dass sich jeder wie er will eine IP zuordnet und glücklich damit ist.
Solche Zuordnungstabellen sind schnell durchsucht und Zusammenhänge erkannt.

@KayHH
wie bei meinem Beitrag hier schon deutlich wurde, funktioniert deine Idee wirklich nur, wenn dein Netzwerk groß genug ist. Es muss viel Verkehr statt finden mit vielen Teilnehmern. Dem hinderlich ist aber die Idee der Dummymails. Um eine mögliche Zuordnung zu verhindern, müssten die Dummymails die richtige größe haben. Im worst-case verschicken die Leute Mails mit Anhängen (~6MB), das ganze dann noch zeitlich verzögert und bei 10000 Teilnehmern (was sehr wenig ist, bei einem solchen Netzwerk), hat man vielleicht 60 GB plötzlich.
Nun muss ja deine Dummymail-Geschichte greifen. Das heisst die 10000 Teilnehmer erhalten jetzt eine Mail, die etwa 6MB Anhängen entspricht. Die Plugins verwerfen meinetwegen die Dummymails (*) aber sie erhalten 6MB+Text+Header-Informationen. Mit der ganzen Fragmentierungsgeschichte, kommt man wohl etwa auf 7000 IP-Pakete, die jeder Teilnehmer erhält. Also muss dein Server wohl etwa 70.000.000 IP-Pakete verschicken. Dazu kommt, dass er erstmal den Dummy-Inhalt generieren muss. Die nötige Datenleitung bräuchtest du wohl auch für bei einem solchen zentralisierten System.

Entweder du beschränkst das Ganze auf Plain-Text, oder das System bricht zusammen.

(*) hier ergibt sich eigentlich die nächste Schwachstelle. Das Plugin ist für Jederman frei verfügbar, oder? Dieses Plugin erkennt ja anscheinend, wann es sich um eine DummyMail handelt, und wann nicht. Wieso sollte es dann für diejenigen, die eine Zuordnung der Mails versuchen, nicht möglich sein, selbst zu erkennen, wann es ein Dummy ist? Der Algorithmus liegt doch offen vor ihnen.

Fazit:
ich finde die Idee nicht schlecht, aber das Ganze kann man wirklich günstiger und schneller kriegen. Es gibt bereits Anonymisierungsnetzwerke, die eigentlich ähnlich wie dein Prinzip funktionieren. Diese haben nur bereits sehr viele Teilnehmer, und diese beschränken das Ganze nicht nur auf Mailverkehr, sondern jeglichen Netzwerkverkehr. Die bunte Mischung des Netzwerkverkehrs, die große Zahl der Teilnehmer und die breite Streuung der Router erlauben eine großes Maß an Sicherheit.
Dies lässt sich bei Wikipedia nachlesen, welches auch schön die Nachteile aufzeigt und die Grenzen der Anonymisierung: Tor (Netzwerk)
Hier erfolgt auch keine Speicherung sondern eine sofortige Verwerfung der Pakete. Es wird nur bei TCP-Verbindungen zwischen gespeichert, wo die Bestätigung der Pakete abgewartet werden muss.
 

angelone

Dülmener Rosenapfel
Registriert
02.05.04
Beiträge
1.673
klingt interessant.
aber wiso benutzt du kein normales smtp mit tls?
damit die inhalte auf den fernen servern nicht lesbar sind wärend die da rumliegen verschlüsselst du deine mails.

das ist alles bereits im einsatz und funktioniert seit jahren ganz toll.
wiso also neue komplizierte dinge ausdenken?
 

Hilarious

Gelbe Schleswiger Reinette
Registriert
10.08.05
Beiträge
1.759
klingt interessant.
aber wiso benutzt du kein normales smtp mit tls?
damit die inhalte auf den fernen servern nicht lesbar sind wärend die da rumliegen verschlüsselst du deine mails.

das ist alles bereits im einsatz und funktioniert seit jahren ganz toll.
wiso also neue komplizierte dinge ausdenken?

Diese Frage stellt sich mir ebenfalls. Ich habe meinem Mail-Server beigebracht, den kompletten Transportweg per SSL/TLS zu verschlüsseln. Die Kosten sind dafür gering und bestehen lediglich (grob dargestellt) in der eigenen Arbeitszeit, das Zertifikat zu installieren, die Ports in der Firewall freizugeben und den eigenen Client darauf einzustellen. So wird der vollständige Weg zum und vom Mail-Server hoch verschlüsselt. Spricht der nächste Mail-Server (des Empfängers) auch SSL/TLS handeln mein und der fremde Mail-Server auch wiederum die Verschlüsselung aus und transportieren die Mail wieder verschlüsselt.

Das einzige Problem: Mail-Server-Provider sind gesetzlich verpflichtet, ab einer Größe von 1.000 E-Mail-Kunden eine SINA-Box mit direkter Anzapfleitung nach Pullach zu kaufen und anzuschließen. Würde sich dies nach Deinem Modell nicht auch nur umgehen lassen, wenn alle, also auch die Empfänger-Mailserver auf den Kayman-Islands stehen?