BtrFS sollte dies wirklich unterstützen, tut es aber nicht . ECryptFS scheint also die Lücke zu füllen. Die einzige Sache ist, wie würde ich die Komprimierung darüber legen?
Gründe für die Komprimierung zusätzlich zur Verschlüsselung:
- absichtlich wird die Umkehrung (Verschlüsselung zusätzlich zur Komprimierung) nicht komprimiert, da die Verschlüsselung idealerweise versucht, den Chiffretext von zufälligen Daten nicht zu unterscheiden;
- Die Verschlüsselung dichterer Informationen ist sicherer.
Ich suche nach einer Lösung auf Dateisystemebene, bei der Dateien ad hoc mit verschiedenen Schlüsseln (z. B. für Benutzer / Gruppen) verschlüsselt werden können (dh ohne größere Neukonfiguration auf Blockebene geändert werden können) Verschlüsselung).
filesystems
encryption
btrfs
compression
ecryptfs
James Haigh
quelle
quelle
.gz
oder.xz
Dateien und dann verschlüsseln sie, könnte eine gute Lösung ein verschlüsseltes dm-crypt / LUKS Behälter, mit einer Kompressionsdateisystem wie Btrfs formatiert sein. LUKS sollte in der Lage sein, mehrere Schlüssel zu verwenden und "kann ohne größere Neukonfiguration geändert werden", um die Sie sich Sorgen machen, aber dann hat der LUKS-Container eine große feste Größe, hmmm. Ich habe einen enttäuschenden Mangel an komprimierenden Dateisystemen festgestellt ... ntfs & btrfs. Oder es gibt Squashfs, aber es ist schreibgeschützt.Antworten:
Es scheint, dass der einzige verbleibende Ansatz darin besteht, ein komprimierendes Dateisystem über das verschlüsselte Dateisystem zu stapeln. Hier sind einige Optionen, aber ich habe keine praktischen Erfahrungen damit:
Ich bezweifle, dass Sie Komprimierung oder Verschlüsselung pro Datei auswählen können. Btrfs soll das bieten, aber die Realität ist wahrscheinlich weit davon entfernt. Genau wie es vor 5 Jahren RAID haben sollte.
quelle
Sie müssen (hauptsächlich im Feld für private Superblock-Informationen) Eingaben in das Komprimierungsdateisystem in eine Datenbankdatei einbetten, die ausgeführt wird, wenn das Komprimierungsdateisystem über encryptfs bereitgestellt wird (mit der Option -o für die Übergabe der Argumente für die Bereitstellungszeit). Es wird ein stapelbares Dateisystem sein, das auf eingehende Lese- / Schreibanforderungen für Dateien gemäß einigen vordefinierten Mechanismen in Dateisystemmethoden reagiert.
Angenommen, bestimmte Dateien sollen mit einem bestimmten Algorithmus komprimiert werden. Dies muss durch die Lese- / Schreibmethoden herausgefunden werden, die Sie in compressfs / main.c und file.c usw. schreiben. Schreiben Sie Code auf Benutzerebene, der ioctl implementiert, um die Funktion dieser Komprimierung zu aktualisieren Dateisystem wie das Hinzufügen / Entfernen / Auflisten von Algorithmen, die durch Schreiben in die Datenbank unterstützt werden, die Sie beim Mounten portiert haben.
quelle