Ubuntu 16.04 Xenial Xerus
Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
AES Crypt ist ein Programm zum Verschlüsseln einzelner Dateien. Es kann plattformübergreifend genutzt werden, da neben Linux auch Windows, Mac OS X und iOS unterstützt werden (für Android wird Crypt4All Lite empfohlen).
Grundlage der symmetrischen Verschlüsselung ist das sehr sichere AES-256 im CBC-Modus, als Passwort-Hash kommt SHA-256 zum Einsatz. Für Programm und Quellcode wird eine Lizenz vom Typ Freeware bzw. BSD-Style verwendet.
Zur Erinnerung: Falls das Kennwort zur Entschlüsselung verloren geht, ist die verschlüsselte Datei unwiderruflich verloren - es gibt keinen Nachschlüssel! Und es besteht Verwechslungsgefahr: AES Crypt ist nicht identisch mit AEScrypt .
Je nach Desktop-Umgebung wird entweder auf Zenity oder KDialog zurückgegriffen, um die Kennwort-Eingabe zu erleichtern. Eines der beiden Programme ist zwar in der Regel vorinstalliert, aber eine Kontrolle kann nicht schaden.
Das Programm ist nicht in den offiziellen Paketquellen enthalten, da die freizügige Lizenz eine Aufnahme verhindert. Die Installation muss daher manuell oder über ein PPA erfolgen, wenn man es nicht selbst aus dem Quelltext erstellen möchte.
Fremdsoftware kann das System gefährden.
Anmerkung: Nach dem Herunterladen sollte man unbedingt die Prüfsumme ermitteln (siehe Hashfunktionen) und mit der offiziellen Prüfsumme abgleichen, um eine Manipulation durch Dritte auszuschließen.
Prinzipiell besteht die Installation aus vier Schritten:
Herunterladen der GUI-Version als Archivdatei (Systemarchitektur beachten)
Entpacken der Archivdatei [1]
Inhalt des Archivs ausführbar machen [2]
Da die Schritte 1 und 2 keine Schwierigkeit darstellen sollten, hier nur die Befehle für die beiden letzten Schritte am Beispiel der 32-bit-Version:
chmod 755 AESCrypt-GUI-3.11-Linux-x86-Install sudo ./AESCrypt-GUI-3.11-Linux-x86-Install
Installiert werden folgende Dateien:
Installierte Dateien | |
Datei | Zweck |
/usr/bin/aescrypt | Kommandozeilenversion |
/usr/bin/aescrypt-gui | Perl-Skript (setzt Zenity oder KDialog voraus) |
/usr/share/aescrypt/SmallLock.png | Programmsymbol |
/usr/share/aescrypt/uninstall | Deinstallationsroutine |
/usr/share/applications/AESCrypt.desktop | Programmstarter |
Alternativ steht ein inoffizielles "Personal Package Archiv" (PPA) [5] zur Verfügung. Unterstützt werden allerdings nur LTS-Versionen von Ubuntu.
Adresszeile zum Hinzufügen des PPAs:
ppa:aasche/aescrypt
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der PPA-Beschreibung des Eigentümers/Teams aasche zu entnehmen.
Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.
Nach dem Aktualisieren der Paketquellen kann folgendes Paket installiert werden:
aescrypt (ppa)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install aescrypt
sudo aptitude install aescrypt
Paranoiker bevorzugen grundsätzlich das Kompilieren aus dem Quellcode [6]. Dabei kann man selbst entscheiden, ob man eine Archivdatei oder GitHub als Quelle nutzen möchte (der Programmautor empfiehlt die Archivdatei). Anschließend wird der Quellcode entpackt:
tar -xzf aescrypt-VERSION.tgz cd aescrypt-VERSION/src
Für Debian und Ubuntu muss das Makefile in den Abschnitten "install
" und "uninstall
" noch leicht angepasst werden:
# # Makefile for aescrypt # Copyright (C) 2007, 2008, 2009, 2013 # Paul E. Jones <paulej@packetizer.com> # # This software is licensed as "freeware." Permission to distribute # this software in source and binary forms is hereby granted without a # fee. THIS SOFTWARE IS PROVIDED 'AS IS' AND WITHOUT ANY EXPRESSED OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # THE AUTHOR SHALL NOT BE HELD LIABLE FOR ANY DAMAGES RESULTING FROM THE # USE OF THIS SOFTWARE, EITHER DIRECTLY OR INDIRECTLY, INCLUDING, BUT # NOT LIMITED TO, LOSS OF DATA OR DATA BEING RENDERED INACCURATE. # CC=gcc #The below line is for debugging #CFLAGS=-I. -ggdb -Wall -D_FILE_OFFSET_BITS=64 CFLAGS=-Wall -D_FILE_OFFSET_BITS=64 LIBS= #Uncomment the line below to compile on Mac #LIBS=-liconv all: aescrypt aescrypt_keygen aescrypt: aescrypt.o aes.o sha256.o password.o keyfile.o $(CC) $(CFLAGS) $(LIBS) -o $@ $^ aescrypt_keygen: aescrypt_keygen.o password.o $(CC) $(CFLAGS) $(LIBS) -o $@ $^ test: @$(CC) -DTEST -o sha.test sha256.c @./sha.test @#rm sha.test @$(CC) -DTEST -o aes.test aes.c @./aes.test @#rm aes.test testfile: aescrypt @echo "testing this 123..." > test.orig.txt ./aescrypt -e -p "praxis" test.orig.txt @cp test.orig.txt.aes test.txt.aes ./aescrypt -d -p "praxis" test.txt.aes cmp test.orig.txt test.txt %.o: %.c %.h $(CC) $(CFLAGS) -c $*.c install: aescrypt install -o root -g root -m 755 aescrypt /usr/bin install -o root -g root -m 755 aescrypt_keygen /usr/bin install -o root -g root -m 755 ../gui/aescrypt-gui /usr/bin install -o root -g root -m 644 ../man/aescrypt.1 /usr/share/man/man1 install -o root -g root -m 644 ../gui/AESCrypt.desktop /usr/share/applications install -d /usr/share/aescrypt install -o root -g root -m 644 ../Readme.txt /usr/share/aescrypt install -o root -g root -m 644 ../gui/SmallLock.png /usr/share/aescrypt uninstall: rm -f /usr/bin/aescrypt rm -f /usr/bin/aescrypt_keygen rm -f /usr/bin/aescrypt-gui rm -f /usr/share/man/man1/aescrypt.1 rm -f /usr/share/applications/AESCrypt.desktop rm -f /usr/share/aescrypt/ clean: rm -f *.o aescrypt aescrypt_keygen test* *test
Dann erfolgt das Kompilieren und die Installation mit folgenden Befehlen:
make sudo checkinstall ## oder sudo make install
Als kleiner Bonus steht bei der Installation aus dem Quellcode zusätzlich der Befehl aescrypt_keygen zur Erzeugung eines Schlüsseldatei zur Verfügung.
Die Nutzung erfolgt über das Kontextmenü des jeweiligen Dateimanagers via aescrypt-gui. Während Nautilus und Dolphin von Haus aus unterstützt werden, muss man bei anderen Programmen noch selbst Hand anlegen (siehe unten).
Bevor die Verwendung in den einzelnen Dateimanagern besprochen wird, noch ein paar grundsätzliche Anmerkungen:
die Länge des Kennworts beeinflusst den Aufwand, den ein Angreifer betreiben muss, um die Verschlüsselung zu brechen. Mit anderen Worten: je länger, desto sicherer. Anmerkung: Leerzeichen im Kennwort werden erst ab Version 3.10 akzeptiert.
Sowohl das Verschlüsseln als auch das Entschlüsseln einer Datei erfordert die zweimalige Eingabe des Kennworts. Ab Version 3.10 reicht zur Entschlüsselung eine einmalige Eingabe.
Verschlüsselte Dateien erhalten automatisch die Endung .aes, die an den Originaldateinamen angehängt wird
Die Originaldatei bleibt beim Verschlüsseln erhalten. Während man eine verschlüsselte Datei einfach löschen kann, wenn sie nicht mehr benötigt wird, sollte man beim Löschen einer Originaldatei mehr Aufwand betreiben und diese "sicher" löschen. Weitere Hinweise sind den Artikeln wipe und shred zu entnehmen. Empfohlen wird, eine Funktion zum sicheren Löschen ebenfalls im Kontextmenü des jeweiligen Dateimanagers zu verankern.
Existiert beim Entschlüsseln einer Datei bereits eine Originaldatei gleichen Namens, wird sie durch die entschlüsselte Version überschrieben
Um eine Datei zu ver-/entschüsseln, siehe Nautilus. Der erforderliche Programmname lautet AESCrypt. Unter Umständen kann es erforderlich sein, die Datei /usr/share/applications/AESCrypt.desktop noch ausführbar zu machen [2].
Siehe Thunar/Benutzerdefinierte Aktionen. Beispiel:
Name: AES Crypt
Befehl: aescrypt-gui %f
Dateizuordnung: *
Erscheint falls ausgewählt: alles außer Ordner aktivieren
Alternativ kann man auch Thunar/Senden an verwenden.
Zu den Details siehe PCMan File Manager/Benutzerdefinierte Aktionen.
~/.local/share/file-manager/actions/aescrypt.desktop:
[Desktop Entry] Type=Action Tooltip= Name=Encrypt or decrypt a file using AES Crypt Name[de]=Mit AES Crypt ver- oder entschlüsseln Icon=/usr/share/aescrypt/SmallLock.png Profiles=aescrypt; [X-Action-Profile aescrypt] MimeTypes=all/allfiles Exec=/usr/bin/aescrypt-gui %f Name=en-/decrypt
Wenn noch eine eine ältere Version (< als 1.2) von PCManFM genutzt wird, geht man wie im Artikel PCMan File Manager beschrieben vor.
Die allgemeine Syntax von aescrypt lautet [1]:
aescrypt OPTIONEN QUELLDATEI
Die Angabe einer Datei ist zwingend erforderlich. Das Programm kennt die folgenden Optionen:
Optionen von aescrypt | |
Option | Beschreibung |
-e | Datei verschlüsseln |
-d | Datei entschlüsseln |
-p KENNWORT | Passwort |
-k SCHLÜSSELDATEI | keyfile, Alternative zu -p |
-o DATEI | Zieldatei |
Verschlüsseln einer Datei (die Endung .aes wird automatisch angefügt):
aescrypt -e -p KENNWORT DATEI
Name der verschlüsselten Datei anpassen (die Endung .aes wird nicht angefügt):
aescrypt -e -p KENNWORT DATEI -o ZIELDATEI
Entschlüsseln einer Datei:
aescrypt -d -p KENNWORT DATEI.aes
Ein Tar-Archiv eines Ordners im Homeverzeichnis anlegen und verschlüsseln:
tar -cvf - ~/ORDNERNAME | aescrypt -e -k ~/SCHLÜSSELDATEI - > ~/ORDNERNAME.tar.aes
Ein verschlüsseltes Tar-Archiv wiederherstellen:
aescrypt -d -k ~/SCHLÜSSELDATEI ~/ORDNERNAME.tar.aes -o - | tar -xvf - -C /
Beim Entschlüsseln mit der Version 3.10 unter Verwendung von aescrypt-gui kann folgende Meldung auftauchen:
"Message have been altered or password is incorrect"
Auf der Kommandozeile kann die Datei dennoch korrekt entschlüsselt werden. Abhilfe schafft das Ersetzen von aescrypt-gui durch eine neuere Version .
Es kann passieren, dass bei der doppelten Kennworteingabe zur Verschlüsselung ein nicht identisches Kennwort beanstandet wird, obwohl die Eingabe korrekt war. Erhält man im Terminal beim Befehl:
aescrypt-gui DATEINAME.TYP
eine Fehlermeldung der Art:
"(zenity:5208): WARNING **: Couldn't connect to accessibility bus..."
dann ergänzt man als Workaround folgende Zeile in der Datei ~/.bashrc:
export NO_AT_BRIDGE=1
Anschließend ab- und neu anmelden (Quelle: 1193236 ).
Dieser Fehler wurde in der Version 3.10 oder neuer behoben.
Dateien mit Leerzeichen im Pfad oder Namen können von aescrypt-gui in der Version 3.0.9 nicht ver-/entschlüsselt werden. Man erhält die Fehlermeldung:
"Error opening input file /PFAD/ZUR/DATEI : No such file or directory"
Ohne Leerzeichen im Pfad/Dateinamen tritt dieser Fehler nicht auf. Als Notlösung kann man die Datei /usr/bin/aescrypt-gui mit einem Editor und Root-Rechten bearbeiten und folgende Zeile:
$message = `$aescrypt -e -p $password '$filename' 2>&1`;
gegen
$message = `$aescrypt -e -p $password $filename 2>&1`;
austauschen (Quelle: strange behaviour under linux ). Durch diese Lösung nicht berücksichtigt werden einfache ('
) und doppelte ("
) Anführungszeichen im Dateinamen sowie evtl. andere Sonderzeichen.
Die gleiche Problematik betrifft auch Leerzeichen im Kennwort, die nicht gestattet sind. Sollen diese zwingend verwendet werden, muss man zum Ver-/Entschlüsseln auf die Kommandozeilenversion ausweichen und Leerzeichen entsprechend maskieren.
Oft ist die Verschlüsselung ganzer Ordnerstrukturen gewünscht. Da aber nur einzelne Dateien verarbeitet werden können, legt man als Zwischenschritt eine Archivdatei an, die anschließend verschlüsselt wird.
Kommen Prüfsummen für Dateien zum Einsatz, ist zu beachten, dass diese unterschiedlich ausfallen, wenn die unverschlüsselte Original-Datei ein zweites Mal verschlüsselt wird (sonst wäre es für einen potentiellen Angreifer auch zu einfach...).
Diese Revision wurde am 5. März 2017 12:51 von aasche erstellt.