Dropbox: Sicher und portabel in der Cloud [Part 1]

avanciert in der letzten Zeit zu einem der beliebtesten Storagediensten in “der Cloud”. Jeder und seine Mama hat mittlerweile eine eigene und nutzt diese, um Mediendaten mit anderen zu teilen. Viele nutzen sie auch, um ihre persönlichen Dokumente von jedem Gerät abrufen zu können.

Datensicherheit in der Cloud

Wenn man persönliche Daten in der Cloud lagert, muss man sich natürlich Gedanken über die Datensicherheit machen. Ein fiktiver Einbrecher, der meinen Dropbox-Account knackt oder sogar bei Dropbox selbst einbricht, hätte Zugriff auf meine Daten. Diese beiden Szenarios unterscheiden sich natürlich, weil die Jungs und Mädels bei Dropbox die gleichen Gedanken gemacht haben: Dropbox nutzt ein AES256-verschlüsseltes Dateisystem. Ein Einbrecher, der Zugriff auf die Dropbox-Server erhält, kann meinen Dropboxordner in der Theorie nicht auslesen, da er nicht meinen Schlüssel für das verschlüsselte Dateisystem kennt.

Kann jemand jedoch meinen Dropbox-Account knacken, indem er sich irgendwie mein Passwort erschleicht, hat er direkt Zugriff auf alle meine Daten. Hinzu kommt: Dropbox ist nicht irgendeine Bastelbude sondern ein Unternehmen dessen Server in den USA stehen und damit deren Gerichtsbarkeit unterliegen.

Das bedeutet: Wenn die dortigen Strafverfolger Zugriff haben wollen, muss Dropbox ihnen eine Backdoor für jeden Account bereit stellen. Dropbox hat also mindestens einen Masterschlüssel, mit dem (oder denen) jeder Account auslesbar ist. Diese Tatsachen führen natürlich dazu, dass die Verschlüsselung meiner Dropbox im wesentlichen Augenwischerei ist. Wenn jemand bei Dropbox einbricht, sollte es kein großes Problem sein an einen dieser Masterschlüssel zu kommen.

Und jetzt? Wie helfe ich mir?

Der Plan ist also, das ganze wieder sicher zu machen, indem man die schützenswerten Daten in seiner Dropbox auf einer weiteren Sicherungsschicht aufbaut. Das lässt sich relativ einfach mit verschlüsselten Containerdateien realisieren. Diese funktionieren wie folgt:

Eine Datei kann prinzipiell alle möglichen Daten enthalten. Man legt also in einer Datei, deren Größe man bei der Erstellung fix vorgibt (das wird später noch wichtig), ein komplettes, autarkes Dateisystem ab. Dort steht dann, wenn man dafür beispielsweise Microsofts FAT-System verwendet, neben den eigentlichen Dateien auch die komplette File Allocation Table mit drin – ein vollständiges Dateisystem also.

Diese Containerdatei wird dann selbst verschlüsselt, wodurch alle enthaltenen Dateien und auch die Informationen darüber, dass in der Datei überhaupt irgendetwas enthalten ist, aussehen wie Zufallsdaten.

Durch die automatische Synchronisierung über Dropbox sollte man dann die Dateicontainer mit einem Mausklick und einer Passwortabfrage parallel auf mehreren Rechnern einbinden können, auch wenn man auf diesen Rechnern garkeine installieren kann (kein root-/Adminkonto). Ob und wie das realisierbar ist, wird dann im nächsten Teil aufgeklärt.

Ich habe mir mehrere Softwarelösungen herausgesucht, um von allen von mir genutzten Plattformen ( 7 x86, Debian GNU/ bzw. Ubuntu, Android 4) diese Containerdateien einbinden zu können. Ein großer Entscheidungsfaktor dabei war, dass die Lösung quelloffen ist: Die Implementierung einer Verschlüsselung muss nachvollziehbar sein, sonst ist sie nicht vertrauenswürdig. Schließlich kann ein Softwarehersteller/Programmierer immer mit Regierungen oder anderen Interessengruppen zusammen arbeiten und eine Hintertür oder einen Masterschlüssel einbauen. Wenn man den Quellcode einer Software nicht prüfen kann, kann man das in der Regel garnicht oder nur sehr schwierig nachvollziehen.

Gefunden habe ich folgende:

Davon fielen EncFS und CrossCrypt direkt aus Sicherheitsgründen wieder raus: EncFS verschleiert nicht die Dateisystemmetadaten (Dateinamen, Änderungs/Zugriffsdaten, Dateigrößen…), die einem potentiellen Angreifer immernoch Informationen über die Nutzung der Datensicherheit geben. Des weiteren verhindert dies das Konzept der glaubhaften Bestreitbarkeit. CrossCrypt-Container sind anfällig für Rainbow-Table-Angriffe, da ihre Schlüssel nicht gesalzen sind. Da ich in der Vergangenheit bereits mit dm-crypt und LUKS gearbeitet habe (um meine /home-Partitionen zu verschlüsseln) und deren Implementierung wenig benutzerfreundlich ist entschied ich mich diesmal für TrueCrypt. Nebenbei wollte ich auch etwas neues ausprobieren. ;)

Wie geht es dann weiter?

In Teil 2 des Artikels werde ich mich darum kümmern, wie das alles zu installieren und einzurichten ist. Dieser folgt entweder heute oder übermorgen. Bis dahin: lest euch doch schon einmal schlau, Kryptografie ist ein sehr interessantes Thema. :)

Update:

Inzwischen gibt es auch den angesprochenen zweiten Teil, in dem auf die letztliche Umsetzung des Ganzen eingegangen wird.

Kommentarrichtlinien

Kommentare sind immer gern gesehen, allerdings haben wir einige wenige Richtlinien. Wir bitten euch diese einzuhalten, um eine möglichst niveauvolle und respektvolle Diskussion zu den Themen zu gewährleisten. Folgendes gibt es beim Kommentieren zu beachten:

  • Achtet auf einen sachlichen und respektvollen Ton
  • Die Meinung anderer ist stets zu respektieren
  • Beleidigungen werden nicht geduldet, wenn sie gegen geltendes Recht verstoßen
  • Links zu anderen Webseiten/Artikeln/Beiträgen sind erlaubt, sofern sie zum Thema passen (keine SEO-Links)
  • Keywords als Kommentatorname sind nicht erlaubt
  • E-Mail-Adressen sind freiwillige Angaben