ubuntuusers.de

AES Crypt

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

aescrypt_logo.png 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 🇬🇧.

Voraussetzungen

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.

Installation

Wiki/Icons/synaptic.png 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.

Manuell

Hinweis!

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:

  1. Herunterladen der GUI-Version 🇬🇧 ⮷ als Archivdatei (Systemarchitektur beachten)

  2. Entpacken der Archivdatei [1]

  3. Inhalt des Archivs ausführbar machen [2]

  4. Installation mit Root-Rechten [3][4]

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

PPA

Alternativ steht ein inoffizielles "Personal Package Archiv" (PPA) [5] zur Verfügung. Unterstützt wird aktuell (Stand April 2021) nur Ubuntu 18.04.

Adresszeile zum Hinzufügen des PPAs:

  • ppa:aasche/aescrypt

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung des Eigentümers/Teams aasche zu entnehmen.

Nach dem Aktualisieren der Paketquellen kann folgendes Paket installiert werden:

  • aescrypt (ppa)

Befehl zum Installieren der Pakete:

sudo apt-get install aescrypt 

Oder mit apturl installieren, Link: apt://aescrypt

Verwendung

Die Nutzung erfolgt über das Kontextmenü rechte Maustaste 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ü rechte Maustaste des jeweiligen Dateimanagers zu verankern.

  • Existiert beim Entschlüsseln einer Datei bereits eine Originaldatei gleichen Namens, wird sie durch die entschlüsselte Version überschrieben

Nautilus

Um eine Datei zu ver-/entschüsseln, siehe Nautilus (Abschnitt „Dateiverknuepfungen“). 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].

Dolphin

Prinzipiell wie bei Nautilus. Weitere Details sind dem Artikel Dolphin (Abschnitt „Kontextmenue-und-Servicemenues“) zu entnehmen.

./aescrypt-gui_zenity.png

Thunar

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.

PCManFM

  • ~/.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 (Abschnitt „Verknuepfung-mit-Programmen“) beschrieben vor.

Wiki/Icons/terminal.png

Kommandozeile

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

Beispiele

  • 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 / 

Problembehebung

Verzeichnisse verschlüsseln

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.

Prüfsummen

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.

Zenity-Fehler

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 🇬🇧).

Kompilierung aus dem Quelltext

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 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.

Diese Revision wurde am 6. Januar 2022 10:39 von noisefloor erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Sicherheit, Verschlüsselung, System