Ich wollte den Blogartikel jetzt irgendwie mit einem Spruch wie „Vier oder mehr Augen sehen mehr als zwei.“ starten, weil das hier jetzt so etwas wie ein offenes Brainstorming wird. Grund hierfür ist, dass ich bei einem Kunden eine Verschlüsselung von Daten in der Cloud eingeführt habe. Zuerst wollte ich es mit VeraCrypt umsetzen, was aber nach längeren überlegen mit Kopfschmerzen von mir nicht als wirklich praktisch eingestuft wurde, da hier immer eine große Container-Datei mit der Cloud synchronisiert wird, sobald in diesem Container nur eine kleine Änderung vorgenommen wurde. Wenn ich also eine Rechnung in den verschlüsselten Container schiebe, die vielleicht 1 MB groß ist, würde hier nicht nur dieses eine Megabyte in die Cloud verschoben, sondern die gesamte Containerdatei, die dann vielleicht 2,01 Gigabyte groß ist, jetzt einfach mal als Beispiel. Deswegen fiel meine Wahl auf cryfs als Containersystem.
Das ist gut, weil ….
Das ist gut, weil bei cryfs nicht nur eine große Containerdatei besteht, wie es bei VeraCrypt der Fall ist, sondern hier die Verschlüsselung in viele kleine Dateien erfolgt, die immer dieselbe Größe haben. Dadurch entstehen viele Tausende kleine Dateien und Ordner, die, wenn neue Dateien in den Container eingefügt werden, nicht komplett neu synchronisiert werden müssen, sondern nur der Teil, der sich wirklich geändert hat. Im besten Fall also nur 1 MB an Daten, wenn wir bei dem Beispiel von oben bleiben. Das ist natürlich bedeutend schneller, schont den Traffic bei Datentarifen und blockiert nicht ständig einen Teil der Bandbreite des Internets, da nicht immer wieder alles in die Cloud geladen wird. Eine optimale Lösung also, wenn Ordner und Dateien verschlüsselt in der Cloud gelagert werden sollen.
Das ist schlecht, weil …
Nun würde ich hier nicht laut nachdenken, wenn ich nicht auch Nachteile sehen würde. Das beginnt dann schon bei den vielen kleinen Dateien, die zwar für die Synchronisierung in die Cloud super sind, von denen aber auch schnell Mal welche gelöscht werden könnten, was dann natürlich das Dateisystem zerstört, wodurch eine Entschlüsselung der Daten erschwert, im schlimmsten Fall sogar unmöglich gemacht wird. Dieses Problem hätte ich bei einer VeraCrypt-Datei nicht. Okay, die könnte ich auch löschen, aber dann ist eh alles Weg, wenn ich keine Backups habe.
Nun ergibt es meiner Meinung nach keinen Sinn, Daten, die ich Verschlüsseln möchte, lokal unverschlüsselt zu speichern, um hier ein Backup zu haben. Deswegen habe ich mir überlegt, dass es sinnvoll wäre, jede neue Datei, die ich verschlüsselt in die Cloud lege, auch gleichzeitig in einen VeraCrypt-Container zu legen. Wenn dann das eine verschlüsselte Dateisystem korrupt wäre, könnte ich die Daten aus dem anderen verschlüsselten Dateisystem wieder herstellen. Hier würde sich eine externe Festplatte anbieten, allerdings stoße ich hier schon wieder auf den nächsten Stolperstein, denn die Dateien liegen ja in der Cloud, damit alle berechtigten Mitarbeiter*innen darauf zugreifen können, was auch bedeutet, dass diese hier durchaus auch neue Dateien hinzufügen und andere entfernen könnten.
Meine Idee würde ich jetzt also so weit ausbauen, dass ich den zweiten Datenträger mit dem Veracrypt-Container auf einem externen Gerät auslagere und das ganze über Syncthing synchron halte. Der Nachteil hier wäre natürlich, dass dieses externe Gerät irgendwo stehen müsste und es nicht permanent im Betrieb sein sollte, da der VeraCrypt-Container hier ja die gesamte Zeit entschlüsselt und somit auch ein Zugriff auf die Dateien möglich wäre. Ein Server, der 24/7 läuft, wäre hier also keine Lösung, dann könnte ich die Dateien nämlich auch gleich in der Cloud unverschlüsselt liegen lassen.
Und jetzt alle …
Hier hänge ich gerade ein wenig und würde deswegen diesen Gedankengang jetzt hier einmal an euch übergeben. Vielleicht habt ihr eine Idee, vielleicht seht ihr auch einen Denkfehler und die Lösung ist eigentlich sehr viel einfacher. Ich freue mich über eure Gedanken dazu in den Kommentaren.
Hallo Sven,
Alternative zur Cloud Lösung, so verwende ich es, wäre vielleicht ein lokales NAS mit verschlüsselten Dateisystem. Synology bietet das von Haus aus an. EncryptedShares.
Du hast jetzt aber auch nicht geschrieben, ob es Zugriff von außen geben soll. Sprich HomeOffice Anbindung oder Ähnliches.
Es gibt aber auch noch BoxCryptor und „encFS“. Habe ich aber selber nie verwendet.
Meine Backups lass ichüber Synology Cloud verschlüsselt ablegen. Und habe ein offline Backup auch externen Platten. Aber um Backup geht es hier ja so nicht.
Du wirst allerdings immer das Problem haben, dass im laufenden Betrieb die Daten unverschlüsselt vorliegen. Das ist auch bei Festplattenvollverschlüsselung so. Wenn es nur um den Austausch geht, dann vielleicht eine lokale NAS mit Anbindung über VPN? Damit hast du gar keine cloud nötig.
Die Cloud, hier eine Nextcloud, ist selbstgehostet und ja, es geht hier um Homeoffice-Zugriffe und darum, dass die Daten in der Cloud verschlüsselt sind. Das sind die tatsächlich dauerhaft, da die Daten nur lokal auf dem Notebook/PC entschlüsselt werden, also die „Kopie“ aus der Cloud sozusagen. Jetzt geht es mir eigentlich schon darum, dies verschlüsselten Daten noch auf einem anderen Datenträger in einem anderen Container zu haben, damit es keinen vollständigen Datenverlust gibt, wenn der eine Verschlüsselungscontainer korrupt werden sollte.
Für mich ist eine Containerlösung für die Verschlüsselung sinnvoller als die gesamte Festplatte zu verschlüsseln, weil – wie du schon erwähntest – die Daten wären immer unverschlüsselt, solange der PC in Betrieb ist. Bei der Containerlösung sind immer nur die Container geöffnet, die gerade zur Arbeit benötigt werden und die restlichen Container wären weiterhin verschlüsselt. Eventuell wäre es sinnvoll die Festplatte auch zu verschlüsseln, um gegen den Diebstahl der Hardware gesichert zu sein, aber ich bin froh, dass ich überhaupt erst einmal mit Datenverschlüsselung bei dem Kunden beginnen darf und dann kann ich vielleicht nach und nach das ganze optimieren 😉