Dropbox und TrueCrypt – verschlüsselte Daten in der Cloud

28. März 2009 Kategorie: Apfelmus, Backup & Security, Internet, Portable Programme, geschrieben von: caschy

Einige von euch nutzen Dropbox – und sicherlich auch TrueCrypt, oder? Beide Programme gibt es für Windows portabel (Portable TrueCrypt / Portable Dropbox). Sowohl Dropbox als auch TrueCrypt kann man unter Windows, Linux und Mac OS X nutzen. Vorhin habe ich ein wenig rumexperimentiert. Folgendes ist interessant: Dropbox synchronisiert alle veränderten Dateien – was bei einem TrueCrypt-Container kompliziert sein könnte. Dieser würde dann ja immer vollständig synchronisiert, da es sich quasi nur um eine Datei handelt. Wäre also albern einen 100 Megabyte großen Container jedes Mal hoch- und runterzuladen, nur weil man eine Textdatei im Container geändert hat.

Ich führte einen kleinen Testlauf durch: ich erstellte in meiner Dropbox (die ja lokal als auch online in der Cloud vorhanden ist) einen verschlüsselten Container. Die Dropbox-Software begann sofort mit dem Upload des Containers. In meinem Testlauf spielte ich erst einmal mit einem 10-Megabyte-Container herum. Ich mountete den Container und schob einige Daten hinein – wieder begann die Software mit der Aktualisierung des ganzen Containers – schließlich hatte sich der Zeitstempel geändert.

Nun habe ich TrueCrypt gesagt, dass er in Zukunft nicht den Zeitstempel ändern soll:

tc_screenshot_0001.jpg

Diese Einstellungsmöglichkeit findet ihr unter Mac OS X in den Einstellungen im Security-Tab. Unter Windows ändert ihr dieses in den TrueCrypt-Voreinstellungen unter dem Punkt “Windows” – “Zeiteinstellungen von Containerdateien behalten”.

tcscreen2.jpg

Jetzt wurde nicht der komplette Container synchronisiert – sondern tatsächlich nur die Dateien, die innerhalb des Containers geändert wurden.

Wie es nun funktioniert, dass die Dropbox erkennt, dass sich neue und / oder veränderte Daten im Container befinden – keine Ahnung. Aber es funktioniert. Es werden immer nur die Änderungen im Container abgeglichen. Nicht der ganze Container. Klingt komisch – ist aber so.

Natürlich sollte man beachten, dass die Änderungen am Container erst vorgenommen werden, wenn dieser via TrueCrypt ausgehangen wird.

Ihr könnt nun also gefahrlos Daten online in der Cloud speichern. Ihr könnt zum Beispiel auf eurem USB-Stick einen Container anlegen und diesen immer mittels Portable Dropbox mit euch herumtragen. Selbst wenn ihr diesen verliert – kein Problem – einfach via Webinterface in die Dropbox – da habt ihr ja noch eine Kopie eurer verschlüsselten Daten.

Coole Lösung – und hier noch einmal der Fotobeweis, dass nur geänderte Daten abgeglichen werden (und nicht der komplette Container):

tc_screenshot_0002.jpg

Vielleicht kann ja jemand was mit meiner Lösung anfangen =) Falls jemand Schwierigkeiten mit TrueCrypt hat – hier hatte ich eine Anleitung verfasst – alternativ sollte die Blogsuche weiterhelfen.

Gefällt dir der Artikel?
Dann teile ihn mit deinen Freunden.
Nutze dafür einfach unsere Links:
Über den Autor: caschy

Dortmunder im Norden. Blogger, Freund gepflegter Technik, BVB-Maniac und Gründer dieses Blogs. Neben Blogs interessiere ich mich für Social Media und Austausch mit Menschen im Allgemeinen. Auch zu finden bei Twitter, Google+, Facebook, XING, Linkedin und YouTube.

Carsten hat bereits 11787 Artikel geschrieben.


109 Kommentare

snix 28. März 2009 um 14:08 Uhr

Ich hätte nicht erwartet, dass das funktioniert. Meine Befürchtung war auch, dass die komplette Container-Datei neu übertragen wird.

Vielen Dank für Deinen Test!

Matthias 28. März 2009 um 14:13 Uhr

Danke Caschy!
Geniale Lösung. Bin bisher davor zurückgeschreckt Dropbox zu nutzen. Eben wegen der fehlenden Verschlüsselung (ich trau grundsätzlich nur meiner “eigenen” Verschlüsselung.
So bietet sich das ganze doch wirklich als Backup kleinerer Sachen an.

atreiu 28. März 2009 um 14:13 Uhr

Das wäre ja super, wenn das funktioniert! Nach so eine Lösung suche ich schon wirklich lange, da man damit endlich 100% sicher private Daten auf fremdem Server speichern kann.

Bevor ich das selbst ausprobiere, wäre es schön, wenn jemand eine Erklärung für dieses Verhalten hat :)

FERNmann 28. März 2009 um 14:57 Uhr

In der Dropbox-Wiki wird diese Vorgehensweise sogar vorgeschlagen: http://tr.im/hV9a
Mich wundert es nur, dass Dropbox die einzelen Dateien im TrueCrypt-Container erkennt. Müssten die Entwickler ja irgendwie absichtlich eingebaut haben.

3lektrolurch 28. März 2009 um 15:14 Uhr

Als Informatik-Laie würde ich mal dazu sagen, dass Dropbox erstmal nur den Fingerabdruck vergleicht und bei Ungleichheit dann einen bit-/byteweisen Vergleich vornimmt, dann bei Bedarf die zu ändernde Datei umbaut, wobei Dropbox gar nicht wirklich weiß, was es da macht, dateimäßig gesehen.
Das dürfte ja nur dann geschehen, wenn die Dateien exakt die gleiche Größe haben und vom Namen her auch gleich sind.

Müßte man mal mit einer Grafikdatei ausprobiern, bei der ein Byte verändert wurde, dann wüßte man ob’s stimmt.

Kamtabia Ysimer 28. März 2009 um 15:20 Uhr

TC Container sollten eigentlich immer die gleiche Größe haben, egal was darin passiert. Also gehe ich auch davon aus das einfach eine Bit für Bit Kontrolle gemacht wird, und nur veränderten Bits/Bytes des Containers übertragen werden. Eine entschlüsselung und Kontrolle der enthaltenen Daten findet wohl nicht statt, wie auch.

Flo 28. März 2009 um 16:35 Uhr

Ich weiss nicht, was ich davon halten soll….

Innerhalb des Containers findet eine komplizierte Verschlüsselung statt. Wenn jetzt bitweise etwas kopiert und im alten (gesicherten) Container überschrieben wird, wird da nicht die existierende Verschlüsselung an irgendeiner Stelle unterbrochen oder verändert?

ich 28. März 2009 um 16:42 Uhr

Caschy, bitte, lass das Buzzword-Dropping. “In der Cloud” ist einfach gruselig. “Online” reicht völlig, ist korrekt, und jeder weiß, was gemeint ist.

3lektrolurch 28. März 2009 um 16:44 Uhr

@flo: wenn Dropbox die Containerdatei immer restlos synchronisiert, wo sollte sich da ein Fehler ergeben? Es wird ja immer von einer funktionierenden Datei ausgegangen.
Probleme könnte es vielleicht geben, wenn eine Syncronisation unterbrochen wird. Dann weiß dropbox vielleicht nicht, welcher der letzte Quellcontainer war. Natürlich ist das immer der auf dem Stick, aber dropbox dürfte wohl immer auch von einer Änderung erst auf dem Server ausgehen…oder soll der User das gar nicht können dürfen? Muß man wohl mal alles testen.

caschy 28. März 2009 um 16:44 Uhr

Ich glaube kaum, dass in diesem Beitrag die besondere Beachtung auf Cloud liegt.

RudiRalala 28. März 2009 um 16:47 Uhr

Den gleichen Effekt gibt es auch mit anderer professioneller Sicherungssoftware. Zwecks Laufzeitoptimierung wird nur eine inkrementelle Delta-Sicherung auf die alte Datei oder auch auf den ganzen Datenbestand durchgeführt.

Den Muster-Abgleich kann man ja auch bei “Hobby-Software” wie Toucan oder SyncToy ein- und ausschalten.

Ich würde davon abraten, auch scheinbar sicher verschlüsselte Dateien online in der Wolke und dann noch in den USA abzulegen. Die Wege des Herrn und der CIA sind unergründlich …

Ren 28. März 2009 um 17:03 Uhr

Bemerkung: Es wird nicht nur die geänderte Datei synchronisiert, sondern auch der Verzeichniseintrag, der innerhalb des Containers gespeichert wird. Da der Container, der 10 MB groß ist, immer 10 MB Platz einnimmt, egal wie viel benutzt ist (Leerer Speicherplatz erscheint als Zufallsdaten) benötigt der Container, nachdem er einen kleine Textdatei beinhaltet, immer noch 10 MB. Ein Teil der Zufallsdaten wird mit der verschlüsselten Version der Textdatei überschrieben. Diese paar Bytes ändern sich in der 10MB großen Datei, und Dropbox synchronisiert sie. Dropbox scheint dabei so intelligent zu sein, dass sie nur geänderte Daten synchronisiert. Warum sie das aber nicht tut, wenn der Zeitstempel des Containers sich ändert, finde ich viel interessanter.
Eine Andere Frage ist: Was passiert, wenn ich auf einem zweiten Rechner gleichzeitig meinen Container ändere. Nach Adam Riese und Eva Zwerg müsste Dropbox dann her gehen, und einen Konflikt melden. Wenn er es jetzt auch noch schafft, den Konflikt innerhalb der Textdatei, die im verschlüsselten Container liegt, zu lösen, dann ist Truecrypt geknackt. *g*

3lektrolurch 28. März 2009 um 17:20 Uhr

@Ren: wenn der Zeitstempel des Containers sich geändert hat ist wohl für dropbox der Fall klar, nämlich die ganz normale Dateiänderung = überschreibe alte Datei (auf Server).
Ich glaube bald zu wissen, warum dropbox die byteweise Angleichung macht. Vielleicht deswegen, weil es bei Dateien, die zwar die gleiche Größe und den gleichen Namen haben, aber einen unterschiedlichen Fingerabdruck, annimmt, dass es sich um einen Übertragungsfehler handelt und die Datei quasi stückweise zusammenschustert, um Traffic zu sparen, vielleicht ja ab einer festgelegten Dateigröße.

Ren 28. März 2009 um 17:32 Uhr

@3lektrolurch: das klingt vernünftig.
@RudiRalala: Ich würde nicht davon abraten, verschlüsselte Dateien auf einem Server in den USA abzulegen. Klar, die von atreiu angesprochene 100%tige Sicherheit gibt es nicht. Aber besser man lädt Dateien in einem verschlüsselten Container auf einen Server in den USA, als im Klartext. Und besser man hat einen Verschlüsseltes Backup seiner wichtigen Daten auf einem Server in den USA, als kein Backup.
Jeder muss für sich entscheiden, was wichtiger ist. Der Dienst, oder die Sicherheit, dass die Daten keiner lesen kann. Wenn man aber den Dienst nutzt, dann doch verschlüsselt. Ist doch ne super Sache! Übrigens: das ganze müsste auch mit Hidden Volumes gehen.

aubriete herzenduft 28. März 2009 um 17:57 Uhr

Natürlich.
Denn WAS in der Datei steckt, ist nach außen so oder so nicht bekannt. Das Backupprogramm sieht nur die einzelnen Bytes. Es weiß ja nicht da da etwas verschlüsseltes ist.

3lektrolurch 28. März 2009 um 19:41 Uhr

@Ren: Gleichzeitig, wie soll das gehen? Wenn auf einem zweiten Rechner enbenfalls die Containerdatei geändert wird, wird der jeweils letzte Synco-Vorgang den vorhergehenden überschreiben…
Eine Sicherheitsminderung der Verschlüsselung könnte ich mir vorstellen, wenn zwei oder mehr aufeinanderfolgende Versionen einer Containerdatei vorliegen. Fängt also jemand den Datenverkehr ab, könnte das erreicht werden und würde erkennen können, wieviele und welche Bytes geändert wurden. Das wäre für den Entschlüssler schon eine vorteilhafte Ausgangslage.
Würde ich wichtige Dateien in einem solchen Container verstecken, käme nur eine Mixtur aus mehreren Verschlüsselungsalgorithmen in Frage, ich bezweifle, dass auch mit diesem Vorteil da irgendeine echte Chance zu Knacken bestünde.

FERNmann 28. März 2009 um 20:25 Uhr

Achso, Dropbox gleicht den Container bitweise ab. Dachte schon, der macht das TrueCrypt Volume irgendwie auf, wie bei ZIPCrypto, wo die Dateinamen unverschlüsselt sind.

Chris 28. März 2009 um 20:53 Uhr

Feine Sache, danke für die Anleitung, das wollte ich schon immer mal ausprobieren. Gleichzeitig habe ich für grössere Backups Jungle Disk und Amazon S3 laufen, da funktioniert das ganze genauso (wenn die Zeitstempel-beibehalten-Option in TC deaktiviert ist, werden nur die geänderten bits übertragen) – sehr effizient.

Mit dem Server in den USA hab ich keine Probleme, aber hier geht es ja sowieso auch um Backup und nicht so sehr um maximale Geheimhaltung.

Lukas 28. März 2009 um 21:28 Uhr

Danke Caschy!
Einfach genial dieser Tip!

Tom 28. März 2009 um 21:34 Uhr

Nur also Info;
Nach dem Lesen des Artikels habe ich mal versucht die portable Version zu starten, aber auf meinem Windows 7 x64 läuft die nicht! Das Programm bricht sofort ab …

UPDATE: Der direkte Aufruf der DROPBOX.EXE scheint zu funktionieren :-O

caschy 28. März 2009 um 21:36 Uhr

Jau, ist ja auch nur 32Bit (wie in verlinkten Beitrag erwähnt).

Tom 28. März 2009 um 23:01 Uhr

Und? Fast alle meine portablen Programme sind nur 32bit (TrueCrypt, Launchy, CCleaner, Console …). Weiß gar nicht, welches ich 64bittig habe …
Ist erst das zweite Mal, dass ein portables Programm Probleme macht – das andere ist Dein portables Chrome! :-)

Interessanter ist wirklich das “Zusammenspiel” von DropBox und Truecrypt! Mir ist ehrlich gesagt nicht klar, WAS da genau abläuft. Muss mal einen Sonntag drüber nachdenken :-O

P.S.: Über Console könntest Du übrigens auch mal was Schreiben (liegt irgendwo unter sourceforge …)

vmk 28. März 2009 um 23:12 Uhr

Die Beschreibung, dass bei neuem Zeitstempel die ganze Datei und sonst nur ein bit/blockweiser Abgleich stattfindet, das hört sie wie eine schon sehr bekannte Sync-Lösung an: rsync – Wikipedia. Das Verhalten von rsync lässt sich durch unzähliche Parameter steuern. Ich denke DropBox benutzt den schon vorhandenen Code von rsync oder eine sehr ähnliche Implementation. Ein Abgleich von z.B. mp3-Dateien mit geänderten ID3-Tags benötigt auch nur ein paar Bits pro Datei.

Joshua 29. März 2009 um 14:24 Uhr

Interessant. Ich würde das gern mal mit nem grösseren TC-Container ausprobieren (Benchmark machen), allerdings limitiert z.B. SkyDrive die max. Dateigrösse auf 50MB pro Datei. Wo krieg ich denn ne Datei (also nen TC-Container) hochgeladen, die z.B. 1GB gross ist (oder grösser)?

dermike 29. März 2009 um 18:57 Uhr

Funktionert hervorragen, danke für den Tip

michael 30. März 2009 um 07:15 Uhr

FRAGE
Wo liegt eigentlich der Sinn das ganze mit einem TC-Container zu betreiben, wenn der HOST die Routine zur Entschlüsselung kennt??

3lektrolurch 30. März 2009 um 17:29 Uhr

@Joshua: Skydrive arbeitet doch nicht mit Dropbox zusammen, oder willst du sowas wie rsync oder DeltaCopy nutzen?
@michael: wie kommst du darauf, dass der Host die Routine kennt? Soweit ich das versteh, synchronisiert Dropbox erst, nachdem der Container im normalen lokalen Einsatz war und unmounted wurde, da is nix mehr mit entschlüsseln.

Ich 31. März 2009 um 10:46 Uhr

jo container ist im syncenden zustand ja nicht mehr offen, sondern nur ne einzele datei die schlussendlich aus 0en und 1er besteht.

Kleines Beispiel:

Dein Truecryptcontainer sieht so aus: 001011001110
Nun mountest du ihn und änderst ne Datei.
Zum sichern wird er wieder abgehängt.
Nun sieht dein Container so aus: 101011001111

Dropbox erkennt nun, dass sich da was geändert hat. Er knallt nun nicht mehr die komplette Datei hoch, sondern nur die 2 (die erste und hinterste) Stellen, die sich verändert haben. Dabei geht nix kaputt, da ja dann bei euch zuhause und auf dem Server 1:1 die gleiche Datei ist.

Rainer 31. März 2009 um 15:06 Uhr

Habe Dropbox ausprobiert … und wie erwartet schert sich ein proprietäres Programm nicht um bisherige Konventionen aus der Open-Source-Welt. Konkret: ich nutze TortoiseHG (und früher TortoiseSVN) zur Versionsverwaltung von Quellcode. Das sind schöne Explorer-Erweiterungen, um Mercurial- und Subversion-Repositorys zu verwalten. Diese nutzen, genau wie Dropbox, Overlay-Icons für Dateien, um anzuzeigen, ob eine Datei geändert oder hinzugefügt wurde, im Konflikt steht, aktuell ist, etc.

Dropbox hat dafür dann seine eigenen Icons genommen, anstatt diejenigen aus Tortoise dafür zu verwenden (die beiden Tortoise-Varianten teilen sich nämlich die Icons). Warum ist das schlecht? Weil der Explorer nur 16 Plätze bereithält für diese Icons. Und wenn Dropbox sich welche nimmt, werden andere Icons in Tortoise nicht mehr dargestellt.

Im Endeffekt natürlich eine irrwitzige Einschränkung des Explorers, aber andererseits: Wer als Programmierer so etwas kennt und nutzt (wie bei Dropbox), sollte BITTE sparsam damit umgehen und gemeinsame Plätze teilen.

Kurz gesagt: Tortoise ist mir wichtiger, Dropbox kommt erstmal wieder weg.

Rainer 2. April 2009 um 22:18 Uhr

Wegen den Overlay-Icons: ich hab einfach drei nicht so dringend benötigte von TortoiseHG gelöscht aus der Registry, dann geht’s auch wieder.

Stefan Block 14. April 2009 um 20:07 Uhr

Ich benutze Allway Sync zum Syncen der lokalen Daten auf einem Netzlaufwerk. Bekommt man dieses “Feature”, das nur die Änderungen des Containers übertragen werden, dort auch hin? Eventuell auch mit einem anderen Sync-Programm?

3lektrolurch 14. April 2009 um 22:24 Uhr

@Stefan Block: möglicherweise geht das mit DeltaSync. Allway Sync kann das wohl eher nicht.

steven 25. April 2009 um 20:22 Uhr

Super Anregung…..hat Begehrlichkeiten geweckt…ich will ich das Prinzip aber nicht mit Dropbox//Truecrypt, sondern mit meinen eigenen FTP Servern allgemein nutzen.

Jetzt sitze ich schon Stunden um dasselbe Ergebnis hinzukriegen -nur die veränderten Bytes einer Datei werden übertragen statt der gesamten Datei, das wäre soooo schön um beim Hin- & Herschieben von Datein von diversen FTP Servern mal von Tempo reden zu können (trotz 2000MBit upload…).

Der Hinweis mit rsync -was apple auch bei timemachine einsetzt- war schon ganz gut. Leider fehlt der Hinweis auf weitere Software, die das Protokoll ebenfalls nutzt.

DeltaCopy klappt beim Backup über PCs – beötigt aber Installation eines Server-Dienstes (->nur lokales Windowssystem bzw. WinServer mit fester IP).
Unison ist nach Testen (puh..) doch zu langsam überträgt massig Bytes und ist schlecht in der Bedienung.

Hey, wenn hier jemand was dazu weiß : Bitte posten!
Ist ein super Thema und anscheinend auch eine Marktlücke.

penpusher 29. Mai 2009 um 18:14 Uhr

@caschy

danke für diese ausführliche Anleitung und allgemein für die Dropbox-Tipps.

Ich (Generation 57+) habe es ohne Fehler einrichten können.

Thorsten 2. Juni 2009 um 18:52 Uhr

Kurze Frage:
Die Option “Zeitstempel von Containerdateien behalten” muss an- oder abgehakt sein? Ich verstehe es so, dass die Option angehakt sein soll, bei dir im Screenshot ist diese aber deaktiviert!

Andy 19. Juni 2009 um 23:02 Uhr

Wie groß sind eure Container, die ihr mit Dropbox nutzt?

@Thorsten
Ich glaube es muss deaktiviert sein, aber ich hab grad erst angefangen damit rumzuspielen

Joachim 8. Juli 2009 um 20:28 Uhr

Bei mir ist der Haken drin und es funktioniert scheinbar trotzdem..

bertyX 9. August 2009 um 22:48 Uhr

ja das ist in der Tat verwirrend, da ja der Haken per DEFAULT gesetzt ist und gestzt bedeutet, dass per DEFAULT das Datum bei jeder Änderung NICHT geändert wird.

Wenn man den Haken wegnimmt, dann meckert TrueCrypt, dass das Weglassen ein Sicherheitsrisiko darstellt ( logisch ) und dann wird das Datum angepasst.

Was muss man nun machen? ich lad mein container gerade hoch und hatte keine Gelegenheit zum testen :)

bertyX 9. August 2009 um 23:39 Uhr

also habs jetzt getestet und ohne den haken ist es für den Zweck wohl richtig, wobei dass dann nicht mehr zur Erklärung passt :(

was ich nicht kapiere ist, wieso dropbox erst anfängt zu syncen wenn das gemountete file dismountet wird ?! truecrypt verschlüsselt doch on the fly …

er 13. August 2009 um 19:43 Uhr

Buzzword-Dropping = Buzzword-Dropping ;-)


1 Trackback(s)

26. August 2009
Zebulonit (Andreas)

Deine Meinung ist uns wichtig...

Hinterlasse eine Antwort

Du willst nichts verpassen?
Neben der E-Mail-Benachrichtigung habt ihr auch die Möglichkeit den Feed dieses Beitrags zu abonnieren. Wer natürlich alles lesen möchte, der sollte den Hauptfeed abonnieren. Alternativ könnt ihr euch via E-Mail über alle neuen Beiträge hier im Blog informieren lassen. Einfach eure E-Mail-Adresse hier eingeben, dann bekommt ihr 1x täglich eine Zusammenstellung.