Bullshit made in Germany: SSL/TLS-Umstellung bei T-Online, GMX und Web.de

Ab heute ist es ja soweit: die Mailproviderschwergewichte T-Online, GMX, Web.de und Freenet stellen im Bereich der Email auf die sog. Transportverschlüsselung um. Es gibt sogar im Web das Äquivalent zu einer PR-Buzzword-Hochglanzbroschüre, um den Leuten Sand in die Augen zu streuen, namens „E-Mail made in Germany.“ 

Email in Deutschland für Deutschland wird also nun endlich, endlich sicher. Auf dem Transportweg, die wie Provider schreiben, aber welcher Laie kann schon beurteilen, was das genau bedeutet oder eben auch nicht. Viele Emailnutzer, die ich kenne, sind in Sorge, dass sie ohne Umstellung ihre ach so wichtigen Emails nicht mehr bekommen könnten und mit der Umstellung total überfordert, sie wissen einfach nicht, wieso, weshalb, warum und was der ganze Zinnober soll.

Genau für solche Leute ist die Umstellung eigentlich gedacht, aber genau diese Leute verstehen es auch einfach nicht, was das soll und die meisten werden es auch nicht begreifen wollen. Für die ist Email einfach ein alltäglich benutztes Kommunikationsmedium, das out of the box zu laufen hat und wehe, daran könnte sich einmal etwas ändern. So und nicht anders sieht es da aus.

Was eigentlich geschieht denn nun genau?

Die Provider führen verpflichtend eine Verschlüsselung des Transportweges ein, d.h. vom Endbenutzer zum Emaildienstleister wie GMX hin. Verschlüsselung bedeutet dabei, dass die komplette Kommunikation eben verschlüsselt wird und es so potentiellen Angreifern massiv erschwert werden soll, die Kommunikation zwischen beiden Geräten, also Rechner zuhause und Rechner beim Dienstleister, abzuhören.

Das klingt zunächst einmal an und für sich nach einer guten Sache und das ist es im Grunde auch. Warum ist es eine gute Sache? Nun, beispielsweise wenn man irgendwo an einem öffentlichen WLAN-Hotspot sitzt und da seine Emails unverschlüsselt abruft, da kann jeder weitere Rechner im selben Netz dies Passwort mit praktisch kaum Aufwand aufzeichnen und speichern. Damit kann dann ein böswilliger Angreifer das Emailkonto für seine Zwecke mißbrauchen, beispielsweise zum Spamversand.

Mit Hilfe der Transportverschlüsselung ist dieses Szenario praktisch nicht mehr existent. Klingt gut, ist in dem Fall auch gut.

Was ist daran ärgerlich?

Transportverschlüsselung ist eigentlich ein alter Hut! Den ersten Standard, SSL, gibt es bereits seit 1994 (!), und den Nachfolgestandard TLS seit 1999 (!). Warum, bitte, machen die Diensteanbieter diese Standards erst nach über 15 Jahren ihrer Festschreibung verpflichtend?

Dazu kommt, dass damit zwar die Übertragung an sich sicher wird, aber nicht die Speicherung auf den Rechnern entlang des Transportweges.

Genauer gesagt, und das ist der Knackpunkt: eine Email nimmt auf dem Weg vom Absender zum Empfänger meistens einen nicht immer genau vorhersehbaren Weg; die Rechner auf diesem Weg kommunizieren nun verschlüsselt, sofern es sich um die vier Provider oben handelt. Aber die Speicherung der Email auf den Rechner innerhalb dieses Wegs erfolgt nach wie vor im Klartext! 

Das bedeutet nichts anderes, das zwar die Kommunikation mit Hilfe dieser Initiative nur zwischen diesen vier Anbietern garantiert nun verschlüsselt wird, während die Emails aber auf dem jeweiligen Rechner im Klartext vorliegt. Wenn also jemand Emails abgreifen will, dann kann er dies nach wie vor ohne großen Aufwand tun.

Die Hochglanzwebbroschüre aber erweckt beim Laien den falschen Eindruck, als seien die Emails da nun auf einmal so bombensicher, und das ist einfach schlichtweg falsch. Das sind sie eben nicht.

Was bleibt zu tun, wenn man wirklich sichere Emails nutzen will?

Die Initiative sorgt also nur für sichere Transportwege, aber nicht für eine sichere Ende-zu-Ende-Kommunikation! Es gibt nach wie vor genug Einfallslöcher, dass Böswillige die Emails einfach auf dem Weg von A nach B abgreifen und auswerten.

Wenn man wirklichen Wert darauf legen sollte, dass seine Emails höchstwahrscheinlich nicht von unbefugten Dritten gelesen werden können, dann bleibt einem nichts anderes übrig, als dies selbst in die Hand zu nehmen.

Es gibt dabei zwei verschiedene, seit langem etablierte Ansätze, nämlich:

  • den Klassiker Pretty Good Privacy (PGP) von Phil Zimmerman, dessen erste Version bereits 1991 (!) erschien. Es basiert auf einer dezentralen Schlüsselerzeugung, in der man sich gegenseitig das Vertrauen ausspricht, sog. Key Signing Parties waren früher gang und gäbe.  Edward Snowden sah PGP bei korrekter Anwendung als sicher an, also können wir das auch.
  • S/MIME, ein seit 1995 festgeschriebener Standard, den die meisten Mailprogramme wie Outlook direkt unterstützen. S/MIME basiert auf einer zentralen Zertifikatvergabe, es gibt einige Anbieter, die kostenlose persönliche Zertifikate zur Verfügung stellen, und ist in Sachen Sicherheit mit PGP durchaus vergleichbar. 

Dennoch sollte man besser, wenn möglich, PGP benutzen, denn die zentralen Zertifikatvergabestellen bei S/MIME haben in den letzten Jahren mehrfach grandios versagt.

Whatsapp vs. Threema

Facebook kauft Whatsapp für 19 Milliarden Dollar. Nun überlegen also viele angeblich, auf andere Messenger zu wechseln, weil sie die Daten bei Facebook nicht sehen wollen. Nun ja, wie es immer bei so etwas ist, wird das in den Medien hoch gepusht und in Wirklichkeit wird es 98% der Kunden nicht weiter interessieren, die werden bei Whatsapp bleiben und fertig.

Whatsapp ist wie ein Fax: es lebt von der Masse seiner Benutzer. Andere Apps mögen noch so schön sein in dem Bereich, wenn sie nicht die Masse erreichen, dann sind sie nutzlos.

Und nun wird ausgerechnet ein Produkt namens Threema aus der Schweiz gepusht mit dem Versprechen „Wir verschlüsseln alles und sind damit sicher!“, das auch Geld kostet und sich auf dem Papier erst einmal gut liest. Nur, wie kann man da sicher sein? Selbst, wenn man dem Hersteller die besten Absichten unterstellt, so läuft es in Wirklichkeit darauf hinaus:

  1. der Quellcode von Threema ist nicht öffentlich einsehbar, und daher kann keiner sagen, ob es nicht Fehler im Kryptographiecode oder eingebaute Hintertüren gibt,
  2. die Server sind ebenfalls eine Black Box und auch daher gilt bei denen, keiner kann bis auf den Hersteller sagen, was sich auf den Servern genau abspielt und
  3. die Nutzerzahl ist viel zu gering sowie
  4. wer weiß schon, was sich auf dem eigenen Smartphone abspielt, das kann sowieso geknackt sein.

Also alles in allem eine nett gemeinte Idee, die man aber nicht ernst nehmen kann, solange das Programm nicht öffentlich seinen Code publiziert und jeder damit seine eigene Infrastruktur bauen kann, ist es wertlos. Und dann kann man bei der geringen Nutzerzahl gleich bei Whatsapp bleiben.

Was die Softwareentwickler wohl rauchen…

Also manchmal verstehe ich es einfach nicht, was in den Köpfen von Softwareentwicklern vorgeht. Irgendwie dreht sich in den letzten Jahren alles um das Thema Tablet und Vereinfachung der Benutzeroberflächen. Das ist im ersten Augenblick auch in Ordnung, wenn man dem Benutzer die Möglichkeit lässt, sein Programm so einzurichten, wie er es mag. Aber genau diese Wahlmöglichkeit nehmen die Entwickler einem häufig, die Ergebnisse gleichen sich häufig erstaunlich, und von den Fehlern der Vorgänger lernen? Fehlanzeige!

In Second Life war das der unglückliche Viewer 2, sozusagen das Vista von Linden Lab. Außer Haus entwickelt, eine nette Idee, aber total katastrophal und mit vielem Zeug wie Webprofilen, die keiner wirklich braucht. Kein Wunder, dass Firestorm da wohl nach wie vor der Marktführer ist.

Oder im Bereich der freien Software muss man sich nur mal GNOME anschauen. GNOME war bis zur Version 2.X unter Linux der beliebteste Desktop, doch dann erschien im Herbst 2010 die Version 3.0. GNOME 3.0 war, kurz gesagt, ein völliger Umbau, der dem Benutzer viele Wahlmöglichkeiten nahm. Aber genau diesen Wegfall pries man dem Nutzer noch als Fortschritt an und GNOME 3.0 würde sicher gut funktionieren, wenn es denn ein GNOME-Tablet geben würde. Das gibt es aber bis heute nicht, die Hauptanzahl seiner Benutzer sind nach wie vor klassische Desktopmausschubser und für die war GNOME 3.0 ein sofortiges Hassobjekt. Davon hat sich GNOME bis heute nicht erholt, die Benutzer verließen scharenweise das sinkende Schiff und selbst Debian hat GNOME als Standarddesktop rausgeworfen.

Dazu kam, dass mit Cinnamon und Mate zwei Forks entstanden, die auf unterschiedlicher Grundlage die althergebrachte Desktopmetapher weiter sponnen. Diese erhielten massiv Zulauf und GNOME selber hat Schadensbegrenzung betrieben, aber ist inzwischen in einem Zustand, dass es nur noch wenige benutzen dürften. Das Internet ist jedenfalls voll mit Postings Marke „GNOME 3 sucks“, und das zu Recht. Canonical hat mit Unity daher inzwischen auch seinen eigenen Desktop im Bau.

Microsoft wiederholte haargenau denselben Fehler mit Windows 8: man stülpte dem Desktop eine Tabletoberfläche über und entsorgte den Desktop. Nur machte das bei Microsoft noch Sinn, weil eben die auch wirklich Windows-Tablets herstellen. Dennoch ist auch hier Microsoft seit dem Erscheinen nur noch am Zurückrudern, den Startknopf gibt es inzwischen wieder, in Bälde soll man auch die Kacheloptik ganz auf dem PC abschalten können. Warum wohl trotz inzwischen 200 Millionen verkaufter Lizenzen? Ganz einfach weil kaum eine Firma Windows 8 bei sich einsetzen will, daher.

PS: wer meint, Apple sei da wirklich besser, der solle sich nur einfach einmal in Ruhe anschauen, was denn Apple in Mac OS X 10.7 mit dem Rollbalken verzapft hat. Mit 10.8 haben sie dann nachgebessert.

Die Beschleunigung des Viewer-Caches

Eines der Nadelöhre in der Architektur jedes Second Life Viewers ist sein Cache auf der Festplatte. In dem Cache legt der Viewer sowohl die dargestellten Texturen als auch der Objekte einer Sim ab. Klingt erst einmal nicht dramatisch, aber das hat seine Konsequenzen, die in der Natur der Festplatte liegen.

Nun ist es so, dass die meisten Texturen abgelegt auf der Festplatte für sich alleine nicht viel Speicherplatz benötigen. Ein typischer Cache-Ordner besteht aus 10000-30000 Dateien. Es sind eben pro Sim schon sehr viele Texturen, die ihren Weg auf die Festplatte finden, und damit greift dann letzten Endes die Festplatte als Nadelöhr.

Jedes moderne Betriebssystem ist sich der Tatsache, dass der Zugriff auf die Festplatte um Längen langsamer als auf den Hauptspeicher ist, bewusst. Deswegen nutzt jedes Betriebssystem automatisch den nicht durch Programme genutzten Teil des Hauptspeichers als Schreib-Lese-Cache. Das bedeutet, dass Schreibzugriffe auf die Festplatte zeitverzögert stattfinden und vorher noch vom System optimiert werden, sowie oft benötigte Dateien möglichst lange im Hauptspeicher gehalten werden. Fordert ein Programm eine solche Datei an, dann wird erst geschaut, ob sie im Cache vorliegt und wenn ja (das nennt man dann einen Hit), wird sie direkt aus dem Cache geliefert und nicht von der Festplatte gelesen. So weit, so gut.

Was aber passiert, wenn wir den Rechner gerade erst gestartet haben, dabei noch nicht in Second Life waren und einen recht gut gefüllten Viewercache haben? Dann bleibt dem System nichts anderes übrig, als alle diese Texturen nacheinander von der Festplatte zu lesen. Und da dies schon auf einer normalen Sim, auf der man sich bewegt und ein normales Blickfeld hat, durchaus mehrere Hundert Stück sein können, dauert das dann eine Weile.

Wieso kommt dies so? Ganz einfach daher, weil hier nun die mechanischen Beschränkungen einer Festplatte greifen. Die Leistungsfähigkeit einer modernen Festplatte wird an zwei Kennziffern gemessen, nämlich der maximale Schreib-/Lesedurchsatz sowie die Zugriffszeit. Die Zugriffszeit ist dabei der Zeitraum, den die Festplatte im Schnitt benötigt, um den Schreib-Lese-Kopf auf den Anfang der gewünschten Datei zu positionieren. Diesen Vorgang nennt man übrigens auch Seek. Typischerweise wird diese Zeit in Millisekunden gemessen, und eine moderne Festplatte hat eine Zugriffszeit im Bereich von irgendwo 5-10 ms. Dabei gilt natürlich die Devise: je niedriger die Zugriffszeit, desto besser. Eine gewisse Zugriffszeit aber wird man mit Festplatten niemals unterschreiten können.

So. Was bedeutet das? Wenn wir neu einloggen auf irgendeine Sim, dann will der Viewer aus einem gut gefüllten Cache einen Haufen an Texturen von der Festplatte lesen. Das bedeutet, dass es innerhalb kurzer Zeit zu einem Haufen an Seeks kommt, die die Festplatte abarbeiten muss.

Und hier nun eine einfache Rechnung: wieviel Seeks pro Sekunde schafft eine Festplatte maximal? 1 Sekunde sind 1000 Millisekunden, also meinetwegen 1000 ms / 8 ms = 125 Seeks/Sekunde. A-ha, damit kommen wir der Sache dann nämlich schon näher. Und sollte die Festplatte meinetwegen 6 ms Zugriffszeit haben, dann kommen wir da auf 1000 ms / 6 ms = 167 Seeks/Sekunde, was auch nicht wirklich besser ist.

Wenn wir uns dann noch klar machen, dass die Festplatte meist nicht nur von Second Life alleine benutzt wird, sondern zeitgleich auch andere Programme sie benutzen, dann wird einem klar, dass der Viewer längst nicht immer die theoretisch maximal mögliche Anzahl an Seeks pro Sekunde für sich alleine zur Verfügung haben wird.

Mit anderen Worten: die Festplatte ist in der Regel für den Anwendungsfall gut gefüllter Cache, neu gestartetes System und man loggt mit dem Viewer gerade ein, das Nadelöhr. Der Prozessor könnte mehr leisten, aber er kann es eben nicht, weil er auf die Festplatte warten muss und das ist schlecht.

Wenn man den Viewer-Cache für den obigen Fallo also beschleunigen will, dann muss man dafür sorgen, dass die Anzahl an Seeks pro Sekunde erhöht wird. Klingt einfach und ist es auch eigentlich, denn man könnte ja anstelle einer Festplatte eine billige Solid State Disk (SSD) im Rechner einbauen und den Viewercache darauf speichern. SSDs sind für solche Anwendungsfälle, also Ordnerstrukturen mit tausenden, kleinen Dateien, gerade zu ideal. Eine SSD hat keinerlei bewegliche Teile und ihre Zugriffszeit ist in der Regel um den Faktor 100 besser als einer Festplatte.

Die Zugriffszeit einer SSD beim Lesen liegt so im Bereich von 0,05 bis 0,08 Millisekunden. Einfache Rechnung also: 1000 ms / 0,07 ms = 14285 Seeks/Sekunden. Und selbst günstige SSDs sind nur unwesentlich langsamer. Das bedeutet klar, dass eine SSD ganz einfach das Speichermedium der Wahl für solche Anwendungsfälle ist.

Wenn man aber keine SSD hat oder erwerben will, dann kann man dennoch seinen Rechner beschleunigen. Voraussetzung dafür ist, dass man mindestens zwei Festplatten im Rechner installiert hat. Moderne Betriebssyssteme haben die Möglichkeit, zwei Festplatten oder zwei gleich große Partitionen auf zwei verschiedenen Festplatten zu einem sog. Stripe-Set  zusammenzufassen. Die Anwendung sieht nur ein Laufwerk in der Größe der beiden Partitionen zusammengerechnet, in Wirklichkeit aber handelt es sich dabei um diese beiden Festplatten, die das Betriebssystem als eine ansteuert.

Dabei verteilt das Betriebssystem nun Schreib-/Lesezugriffe möglichst gleich zwischen beiden Festplatten, ebenso die Dateien. Dies hat den Vorteil, dass ein Stripeset umso schneller wird, auf je mehr Festplatten es angelegt ist, denn die Zahl der Seeks pro Festplatte addiert sich (d.h. ein Set auf zwei Platten erreicht theoretisch bei 8 ms Zugriffszeit je Platte eben maximal 125 * 2 = 250 Seeks/s, bei 3 Platten 125 * 3 = 375 Seeks/s usw.), allerdings bietet es absolut keine Sicherheit für die darauf befindlichen Dateien. Geht eine Platte kaputt, dann ist das komplette Set unbrauchbar.

Das aber macht im Falle des Viewercaches absolut nichts aus, da dies ohnehin nur ein temporärer Zwischenspeicher ist, der jederzeit erneuert werden kann. Sollte man also beispielsweise unter Windows mehr als eine Festplatte im Rechner verbaut haben, dann kann sich der Aufbau eines Stripesets für den Viewercache durchaus lohnen, denn es bringt einem ohne Mehrkosten einen spürbaren Leistungsgewinn.

Eine Anleitung, wie man unter Windows 7 solch eine Konfiguration aufbaut, findet sich hier. Dabei ist wie immer zu beachten, dass man besser weiß, was man tut, denn man arbeitet an der Festplattenpartitionierung und ein falscher Handgriff kann da schlimmstenfalls Datenverlust nach sich ziehen. Also Vorsicht.

Bitcoin – blablabla

Bitcoin ist ja gerade ein Hype, wie er im Buche steht und das wird momentan immer schlimmer. Angeblich zittern ganze Staaten vor dieser digitalen Wunderwährung, die sie nicht kontrollieren können und was weiß ich noch alles. Alles Käse – Bitcoin ist ein interessantes Experiment ohne besonders praktischen Wert, nicht mehr, aber auch nicht weniger.

Doch was ist Bitcoin eigentlich? Zum einen eine nach oben hin künstlich gedeckelte digitale „Währung“, zum anderen ein verteiltes Finanztransaktionsprotokoll im Bereich Micropayments. Die Transaktionen sind dabei der eigentlich interessante Teil, denn für so etwas gibt es nun wirklich Bedarf und hier ist ein Weg gezeigt worden, wie das geht. Die Frage dabei ist natürlich, wie gut das für zig Millionen skalieren würde, das wäre vermutlich ein Desaster.

Die Währung dagegen ist ein astreiner Fehlschlag. Bitcoin hat eine eingebaute Deflation, weil die maximale Geldmenge künstlich gedeckelt ist. Warum heute eine Ware für 1 Bitcoin kaufen, wenn man sie in vier Wochen auch für 0,50 Bitcoins bekommen könnte? Also hocken viele lieber auf ihren Coins, anstelle sie auszugeben.

Und überhaupt Geld: eine Währung lebt davon, dass ihr Wert recht stabil ist, fluktuiert und ausgegeben wird. Der Wert von Bitcoins bemisst sich einzig und alleine darüber in Wirklichkeit, wieviel echte Dollars und anderes man bereit ist zu bezahlen. Für den eigentlichen, angeblichen Nutzungszweck – als Währung – werden Bitcoins kaum genutzt. Bitcoins sind vielmehr ein astreines Spekulationsobjekt geworden und wenn man sich mal den Werteverlauf der Bitcoins anschaut, dann wird einem auch klar, dass dem so ist und mit so etwas kaum ein vernünftiger Mensch Sachen bezahlen würde noch Zahlungen annehmen würde.

Und ein Spekulationsobjekt, bei dem die Early Adopters recht einfach eine nette Menge anhäufen konnten, die sie nun teuer verkloppen könnten, ja das sind sie durchaus. Alles, was nun Bitcoins mined, wird es immer schwerer haben, noch einen einzigen Coin zu minen als früher. Und bei knapp 22 Millionen, also irgendwann um 2020 rum, wird damit Schluss sein. Es ist eine gigantische Umweltverschmutzung und Energieverschwendung für nichts und aber auch wieder nichts.

Und Bitcoins können unwiederbringlich verloren gehen – dazu reicht es schon aus, wenn die Festplatte mit der Wallet abraucht und man kein Backup hat. Diese Coins sieht man nie wieder und stehen auch dem Rest nie mehr zur Verfügung.

Kurz und gut es ist ein interessantes Experiment, eine Spekulationsblase allererster Güte ohne wirklich praktischen Nutzen, aber auch ein Anfang. Hoffentlich lernen spätere Ansätze dieser Art aus den Fehlern bei Bitcoin und machen es besser. Denn gut ist Bitcoin nun wirklich nicht, bestenfalls gut gemeint, das ist aber auch alles.