ubuntuusers.de

Entschlüsseln mit GoCryptFS

Status: Gelöst | Ubuntu-Version: Ubuntu 21.10 (Impish Indri)
Antworten |

vubu1

Anmeldungsdatum:
14. Juli 2010

Beiträge: 176

Hallo,

es gibt viele Anleitungen, wie man mit GoCryptFS Dateien verschlüsseln kann und die von ubuntuusers gehört zu den Besten.

Doch wenn es um das Entschlüsseln geht sieht es mit den Anleitungen ziemlich mager aus. Leider war ich bisher nicht erfolgreich.

Ich nehme einen Satz aus der Anleitung von ubuntuusers zum Ausgangspunkt:

Zum entschlüsseln der Dateien ist die GoCryptFS-Konfigurationsdatei und das Passwort erforderlich.

https://wiki.ubuntuusers.de/GoCryptFS/

Angenommen, ich habe eine Datei verschlüsselt, die GoCryptFS-Konfigurationsdatei und das Passwort (natürlich auch den master key) sorgfältig aufbewahrt und möchte nun nach Jahren meine Datei wieder entschlüsseln. Wie gehe ich vor?

Zur Simulation dieser Situation habe ich eine Datei verschlüsselt und zum Entschlüsseln habe ich versucht, den Abschnitt "Reverse Mode" der Anleitung anzuwenden.

Nach erfolglosem Herumprobieren (Neuerstellung von anders benannten Verzeichnissen, Anwendung der Anweisungen unter "Reverse Mode") frage ich mich, ob ich da überhaupt auf dem richtigen Weg bin.

Es heisst dort ja:

Im Reverse Mode wird der Inhalt von CODIERT über das FUSE-Dateisystem „read-only“ angezeigt, wenn dieses eingehängt ist.

Wo wird der Inhalt von CODIERT angezeigt? Im Ordner KLARTEXT? Ich habe entsprechende anders benannte Ordner angelegt, verstehe aber nicht, wie ich GoCryptFS dazu bewegen kann, meine "alte" GoCryptFS-Konfigurationsdatei zu verwenden. Auch kann ich mangels Rechten meine verschlüsselte Datei nicht so einfach in den anders benannten Ordner CODIERT2 hineinkopieren. Natürlich könnte ich das als Root bewerkstelligen, doch bin ich überhaupt auf dem richtigen Weg?

Vielleicht kann mir hier jemand weiterhelfen, der mit GoCryptFS schon entschlüsselt hat.

Viele Grüße

vubu1

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9678

Wohnort: Münster

vubu1 schrieb:

[…] Zur Simulation dieser Situation habe ich eine Datei verschlüsselt und zum Entschlüsseln habe ich versucht, den Abschnitt "Reverse Mode" der Anleitung anzuwenden.

Die im Wiki beschriebenen Methoden "Forward" und "Reverse" sind Betriebsweisen für unterschiedliche Szenarien und verwenden unterschiedliche Verschlüsselungsmethoden. Sie sind nicht so zu verstehen, als wäre das eine die Umkehrung des anderen und insbesondere ist "Forward" kein Synonym für Verschlüsseln und "Reverse" kein Synonym für Entschlüsseln.

Vielmehr ist AES eine Familie von symmetrischen Verschlüsselungen: Für das Ver- wie für das Entschlüsseln wird derselbe Schlüssel verwendet.

Du musst also lediglich die Verhältnisse wie beim damaligen Verschlüsseln exakt reproduzieren, insbesondere die verschlüsselten Dateien im Verzeichnis ~/CODIERT/ hinterlegen und dieselbe Betriebsweise (entweder "Forward" oder "Reverse") wie damals anwenden. Die Klartext-Versionen der Dateien stehen dann natürlich unter ~/KLARTEXT/

vubu1

(Themenstarter)

Anmeldungsdatum:
14. Juli 2010

Beiträge: 176

Ich dachte mir schon, dass ich auf dem Holzweg bin, daher danke für die Klarstellung, dass die Betriebsweise "Reverse" kein Synonym für das Entschlüsseln ist!

kB schrieb:

Du musst also lediglich die Verhältnisse wie beim damaligen Verschlüsseln exakt reproduzieren ...

Lediglich ist nur ein Wort, aber genau darin stecken die Schwierigkeiten.

  • Gegeben: verschlüsselte Datei, Konfigurationsdatei, Passwort

  • Gesucht: entschlüsselte Datei im Verzeichnis KLARTEXT2

Ich habe zunächst (zur Simulation der Situation) drei neue Verzeichnisse angelegt:

1
2
mkdir ~/.config/gocryptfs2/
mkdir ~/CODIERT2 ~/KLARTEXT2

In das Verzeichnis "gocryptfs2" habe ich die KONFDATEI.conf kopiert.

Um das Filesystem zu mounten hoffe ich, das diese Anweisung die richtige ist:

1
2
3
4
5
6
user@uc:~$ gocryptfs -config ~/.config/gocryptfs2/KONFDATEI.conf ~/CODIERT2 ~/KLARTEXT2
Using config file at custom location /home/user/.config/gocryptfs2/KONFDATEI.conf
Password:
Decrypting master key
Filesystem mounted and ready.
user@uc:~$

Nun kopierte ich die verschlüsselte Datei in das Verzeichnis CODIERT2 und hoffe, dass die entschlüsselte im Verzeichnis KLARTEXT2 erscheint.

  • Ergebnis: Es passiert leider nichts und auch nicht, wenn sie schon vorher in das Verzeichnis CODIERT2 kopiert wurde.

Was habe ich falsch gemacht und wie komme ich zum gewünschten Ergebnis?

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9678

Wohnort: Münster

vubu1 schrieb:

[…] Nun kopierte ich die verschlüsselte Datei in das Verzeichnis CODIERT2 und hoffe, dass die entschlüsselte im Verzeichnis KLARTEXT2 erscheint.

  • Ergebnis: Es passiert leider nichts und auch nicht, wenn sie schon vorher in das Verzeichnis CODIERT2 kopiert wurde.

Zeige:

ls -al ~/CODIERT2 ~/KLARTEXT2 

Was habe ich falsch gemacht und wie komme ich zum gewünschten Ergebnis?

Prüfe, ob FUSE richtig installiert ist.

Eventuell benötigst Du noch eine Datei gocryptfs.diriv im Verzeichnis ~/CODIERT2/, siehe Wiki GoCryptFS.

Sonst Problembehebung mit Master-Key.

vubu1

(Themenstarter)

Anmeldungsdatum:
14. Juli 2010

Beiträge: 176

kB schrieb:

Zeige:

ls -al ~/CODIERT2 ~/KLARTEXT2 
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
user@uc:~$ ls -al ~/CODIERT2 ~/KLARTEXT2
/home/user/CODIERT2:
total 12
drwxrwxr-x  2 user user 4096 Nov 21 19:54 .
drwxr-x--- 38 user user 4096 Nov 22 08:28 ..
-rw-rw-r--  1 user user   70 Nov 20 11:14 6ICcN3P1smxJvNrMPz8jSA

/home/user/KLARTEXT2:
total 8
drwxrwxr-x  2 user user 4096 Nov 20 12:02 .
drwxr-x--- 38 user user 4096 Nov 22 08:28 ..

Prüfe, ob FUSE richtig installiert ist.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
user@uc:~$ sudo apt-get install fuse
[sudo] password for user:
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
fuse ist schon die neueste Version (2.9.9-5ubuntu2).
fuse wurde als manuell installiert festgelegt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
user@uc:~$ cd ..
user@uc:/home$ cd ..
user@uc:/$ cd etc
user@uc:/etc$ ls fuse*.*
fuse.conf
user@uc:/etc$ cd modules-load.d
user@uc:/etc/modules-load.d$

In diesem Verzeichnis befindet sich die Datei modules.conf. Sie wurde nach https://wiki.ubuntuusers.de/FUSE/ erweitert:

1
2
3
4
5
6
7
8
user@uc:/etc/modules-load.d$ cat modules.conf
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
mount_max = 999
user_allow_other
user@uc:/etc/modules-load.d$

Eventuell benötigst Du noch eine Datei gocryptfs.diriv im Verzeichnis ~/CODIERT2/, siehe Wiki GoCryptFS.

Die Datei gocryptfs.diriv wurde nun in das Verzeichnis ~/CODIERT2/ kopiert.

  • Ergebnis: Es fand keine Entschlüsselung statt.

Sonst Problembehebung mit Master-Key.

1
2
3
4
5
user@uc:~$ gocryptfs -masterkey=stdin CODIERT2 KLARTEXT2
Masterkey: 
Using explicit master key.
Filesystem mounted and ready.
user@uc:~$ 
  • Ergebnis: Die entschlüsselte Datei befindet sich in /home/user/KLARTEXT2.

Immerhin ein Teilerfolg. Doch wie kann man die Entschlüsselung mit dem Passwort bewerkstelligen?

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9678

Wohnort: Münster

vubu1 schrieb:

[…]

user@uc:/etc/modules-load.d$ cat modules.conf
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
mount_max = 999
user_allow_other
user@uc:/etc/modules-load.d$

In dieser Datei für die zu ladenden Kernelmodule haben die Konfigurationsoptionen für FUSE nichts zu suchen. Jedenfalls nicht in der Schreibweise, wie sie in der Konfigurationsdatei für FUSE stehen könnten. Entferne das wieder.

[…]

Sonst Problembehebung mit Master-Key.

[…]

  • Ergebnis: Die entschlüsselte Datei befindet sich in /home/user/KLARTEXT2.

Immerhin ein Teilerfolg. Doch wie kann man die Entschlüsselung mit dem Passwort bewerkstelligen?

Ich habe keine Ahnung, was bei Dir krank ist. Vielleicht verwendest Du eine falsche Konfigurationsdatei.

vubu1

(Themenstarter)

Anmeldungsdatum:
14. Juli 2010

Beiträge: 176

Ich habe nun noch einmal die ganze Prozedur mit neuen Dateien und Verzeichnissen durchgeführt.

  • Ergebnis: Erfolg!

(Möglicherweise hatte ich zuletzt tatsächlich versehentlich die falsche Konfigurationsdatei verwendet. Danke für die Geduld!)

Es hat sich herausgestellt, dass neben der verschlüsselten Datei, die Konfigurationsdatei und dem Passwort, auch die Datei gocryptfs.diriv zum Entschlüsseln notwendig ist.

Es soll nun die funktionierende Vorgehensweise zum Ver- und Entschlüsseln im Zusammenhang als konkretes Beispiel wiedergegeben werden:

Verschlüsseln:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
user@uc:~$  mkdir ~/CODIERT3 ~/KLARTEXT3 ~/.config/gocryptfs3
user@uc:~$ gocryptfs -init -config ~/.config/gocryptfs3/KONFDATEI.conf ~/CODIERT3
Using config file at custom location /home/user/.config/gocryptfs3/KONFDATEI.conf
Choose a password for protecting your files.
Password:
Repeat:

Your master key is:

    3cf08369-b6feff59-88fd53ad-dc221f12-
    a14ba68a-caf25a77-5fbd2a86-ee933396

If the gocryptfs.conf file becomes corrupted or you ever forget your password,
there is only one hope for recovery: The master key. Print it to a piece of
paper and store it in a drawer. This message is only printed once.
The gocryptfs filesystem has been created successfully.
You can now mount it using: gocryptfs CODIERT3 MOUNTPOINT
user@uc:~$
1
2
3
4
5
6
user@uc:~$ gocryptfs -config ~/.config/gocryptfs3/KONFDATEI.conf ~/CODIERT3 ~/KLARTEXT3
Using config file at custom location /home/user/.config/gocryptfs3/KONFDATEI3.conf
Password:
Decrypting master key
Filesystem mounted and ready.
user@uc:~$

Kommentar: Wenn nun eine zu verschlüsselnde Beispieldatei3 in das Verzeichnis KLARTEXT3 kopiert wird, entsteht im Verzeichnis CODIERT3 die entsprechende verschlüsselte Datei. Die Datei gocryptfs.diriv war dort vorher schon vorhanden.

1
user@uc:~$ fusermount -u ~/KLARTEXT3

Kommentar: Dies bewirkt, dass die unverschlüsselte Beispieldatei3 aus dem Verzeichnis verschwindet und nur noch die verschlüsselte Datei im Verzeichnis CODIERT3 vorhanden ist.

Entschlüsseln:

1
user@uc:~$  mkdir ~/CODIERT4 ~/KLARTEXT4 ~/.config/gocryptfs4

In das Verzeichnis "gocryptfs4" wurde die KONFDATEI.conf aus "gocryptfs3" kopiert, danach:

1
2
3
4
5
6
user@uc:~$ gocryptfs -config ~/.config/gocryptfs4/KONFDATEI.conf ~/CODIERT4 ~/KLARTEXT4
Using config file at custom location /home/user/.config/gocryptfs4/KONFDATEI.conf
Password:
Decrypting master key
Filesystem mounted and ready.
user@uc:~$

Nun kopierte ich die verschlüsselte Datei in das Verzeichnis CODIERT4 und hoffe, dass die entschlüsselte im Verzeichnis KLARTEXT4 erscheint. Dies ist leider nicht der Fall. Daraufhin wurde die Datei gocryptfs.diriv aus CODIERT3 in CODIERT4 kopiert.

  • Ergebnis: In KLARTEXT4 erscheint die entschlüsselte Beispieldatei3.

Viele Grüße

vubu1

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9678

Wohnort: Münster

Danke für die ausführliche Rückmeldung! Ich habe der Wiki-Seite GoCryptFS einen entsprechenden Hinweis hinzugefügt.

Antworten |