Wenn ein einzelner Byte in einem LUKS-Container verändert wird, kopiert Dropbox dann immer den kompletten Container? Oder werden nur die geänderten Inhalte syncronisiert?
LUKS: Kopiert Dropbox immer den kompletten Container!?
Anmeldungsdatum: Beiträge: 873 |
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 873 |
Habs ausprobiert und bin der Meinung, dass Dropbox das nicht tut. Wenn der ganze Container mal hochgeladen ist und eine kleine Datei verändert wurde, geht der Upload anschließend viel schneller. Aber muss ich die Tage noch ausführlich testen... |
Anmeldungsdatum: Beiträge: 6244 Wohnort: Berlin |
Ich kenne mich nicht mit Dropbox aus. Aber irgendwie hast du, glaube ich, das LUKS-Prinzip noch nicht verinnerlicht. LUKS bietet eine sogenannte transparente Verschlüsselung. Das bedeutet, dass du oder irgend welche Programme von der Verschlüsselung gar nichts bemerken. Der LUKS Container ist verschlüsselt, und der bleibt verschlüsselt, auch wenn du auf dem Rechner ein Passwort eingibst. Die Dinge die du unverschlüsselt siehst, liegen im Prinzip nur im Arbeitsspeicher. Sobald aber die Änderung an einer Datei gespeichert wird, wird diese Änderung auch verschlüsselt gespeichert. Es funktioniert also nicht, wie ein Packprogramm, mit dem ich Dateien auspacke, ändere und danach wieder ins Archiv packe. Das wäre für eine Verschlüsselung viel zu umständlich und unsicher, weil dann jedesmal die temporär ausgepackten Dateien gelöscht und überschrieben werden müssten. |
Anmeldungsdatum: Beiträge: 7651 |
Um festzustellen welche Bytes sich geändert haben, müsste der LUKS Container lokal komplett eingelesen werden, das alleine dauert dann schon... Ob Dropbox das macht und dann nur die Differenz neu hochlädt, weiß ich auch nicht. Auf Dateiebene (des gemounteten verschlüsselten Dateisystems) würde Dropbox natürlich die unverschlüsselten Dateien hochladen da sich die Verschlüsselung nur darunter abspielt... und da würde man dann üblicherweise nach Dateigröße/Timestamp gehen. |
(Themenstarter)
Anmeldungsdatum: Beiträge: 873 |
Danke für Eure Hinweise. Also wenn ich den LUKS-Container außerhalb der Dropbox /mnt/.... mounte, dann sieht Dropbox doch nie die entschlüsselten Daten, oder? Mir ist auch beim mounten des Containers auf einem anderen Rechner aufgefallen, dass es schnell zu Konflikten kommen kann. Dropbox legt dann den Container nochmal an. Man sollte die Datei aushängen (umount), warten bis Dropbox die Syncronisation abgeschlossen hat und dann erst von einem anderen Rechner zugreifen... Dann funktioniert das aber recht gut und schnell. Die Syncronisation dauert dann auch viel kürzer als beim Erstellen des Containers. |
Anmeldungsdatum: Beiträge: 6244 Wohnort: Berlin |
Ich habe jetzt noch mal nachgelesen, was Dropbox macht, und auch gesucht, ob bezüglich deiner Frage etwas im Netz zu finden ist: Wenn du den Luks-Container in die Dropbox geschoben hast, so sieht Dropbox das Dateisystems dieses Conteiners nie, egal, ob du das lokal entschlüsselst oder nicht. Theoretisch müsste Dropbox bei einer Änderung innerhalb des Luks_Laufwerks den gesamten Container neu übertragen, aber: Es ist bereits bekannt, dass bei Truecrypt-Laufwerken ebenfalls nicht das gesamte Laufwerk neu übertragen wurde, wenn der Zeitstempel des Containers nicht verändert wurde. Dann wurde immer nur der geänderte Teil übertragen. Es gibt Theorien, wie Dropbox das bewerkstelligt, aber nichts genaues weiß man nicht. Somit ist es durchaus möglich, dass Dropbox mit diesem Mechanismus ebenfalls den LUKS-Container - oder jede andere große Datei - nur an den geänderten Stellen aktualisiert. Eine Idee ist, dass bei größeren Dateien die Prüfsumme nicht für die ganze Datei gebildet wird, sondern jeweils für kleinere Blocks. Und wennsich eben die Prüfsumme für einen dieser Blocks geändert hat, wird nur der aktualisiert. Dies könnte eingebaut worden sein, um Übertragungsfehler zu korriegieren - gerade bei großen Dateien ist es ja nicht sinnvoll, dass die gesamte Datei neu übertragen wird, wenn nur ein einziges Bit gekippt ist. Dokumentiert scheint das aber nicht zu sein. |
Anmeldungsdatum: Beiträge: 7651 |
Bei BitTorrent ist das ja auch so. Nur muss dann trotzdem (lokal) die gesamte Datei eingelesen werden um diese Prüfsummen zu bilden. Und der Container sollte zu dieser Zeit dann auch nicht in Benutzung sein, da sonst das Abbild womöglich inkonsistent wird. |
Anmeldungsdatum: Beiträge: 6244 Wohnort: Berlin |
Ja, davon war auch bei Truecrypt die Rede. |
(Themenstarter)
Anmeldungsdatum: Beiträge: 873 |
Ok, ich danke Euch!
Das klingt gut. Bezüglich Container und Dropbox hatte ich u.a. dass hier gefunden. Ist schon etwas geheimnisvoll, wie Dropbox das macht... |
Anmeldungsdatum: Beiträge: 6244 Wohnort: Berlin |
Da man ja auf dem lokalen Rechner ein Client-Programm installiert, ist das eher nicht so geheimnisvoll, sonder nur unbekannt/undokumentiert. ABer durch das lokale Programm kann ja für beliebige Abschnitte lokal eine Prüfsumme gebildet werden, und diese wird dann mit übermittelt. Das Programm auf dem Server nimmt die Prüfsumme, testet die empfangenen Bytes dagegen, und ermittel so, ob die Prüfsumme übereinstimmt. Da muss man dann nur statt Prüfsummen Dateiweise anzulegen, diese für z.B. jeweils 100 MB anlegen. Das Errechnen der Prüfsummen geht ja auf heutigen Rechnern superschnell. Dann einfach noch eine kleine Datenbank mit den Prüfsummen für große Dateien, und binnen Sekunden kann man feststellen, ob so ein Container geändert wurde, und welcher Teil zu aktualisieren ist. Beim Entwurf dieser Software haben die Entwickler bestimmt schon eingeplant, dass auch verschlüsselte Container synchronisiert werden sollen, ohne deren Inhalt zu kennen, und ohne stets den kompletten Container übertragen zu mnüssen. |
(Themenstarter)
Anmeldungsdatum: Beiträge: 873 |
Dann danke nochmal für die Infos. Das funktioniert wirklich gut. Man muss nur darauf achten, dass man nicht gleichzeitig von unterschiedlichen PC's auf den Container zugreift. Und man sollte Dropbox auch immer die Zeit geben die Syncronisation abzuschließen, bevor man von einem anderen PC zugreift. Dropbox erlaubt auch eine Dateigröße bis 10 GB (die TelekomCloud z.B. nur 2 GB). Solange Encfs in der Wolke nicht 100% sicher ist, ist das wirklich eine Alternative... |