Verschlüsselung: Unterschied zwischen den Versionen
fg>WikiSysop |
K (1 Version importiert) |
(kein Unterschied)
|
Aktuelle Version vom 7. Oktober 2020, 16:02 Uhr
GnuPG
Das grafische Frontend zu GnuPG ist KGpg
- KGpg wird als Miniprogramm gestartet. Zugriff über den Systemabschnitt der Kontrolleiste.
- Konsolenbefehl zum Öffnen der Schlüsselverwaltung
kgpg -k
- Revocation Zertifikat erzeugen
gpg --output revoke.asc --gen-revoke <key-id>
Die Datei revoke.asc
sicher aufbewahren und das Zertifikat ausdrucken.
Falls man die Passphrase vergessen hat oder der private Schlüssel nicht mehr sicher ist, dann folgende Kommandos ausführen:
keyserver=keys.gnupg.net gpg --import revoke.asc gpg --keyserver $keyserver --send-keys <key-id>
Info: https://www.hackdiary.com/2004/01/18/revoking-a-gpg-key/
Verschlüsseltes Loop-Device
Anlegen eines Containers für ein verschlüsseltes Dateisystem
- Mit YAST
Partitionierer / Crypt-Dateien / Crypt-Datei hinzufügen
- oder ...
Im folgenden Beispiel wird als Pfadname für den Container /sda2/container
angenommen.
container_file="/sda2/container" dd if=/dev/urandom of=container_file bs=1M count=250 cryptsetup -c aes-xts-plain64 -s 512 -h sha512 -y luksFormat container_file cryptsetup luksOpen container_file container
Verschlüsselten Container mounten
Folgendes Skript hängt den Container in das Dateisystem ein.
- Das Skript verarbeitet den Pfadnamen des Containers als Eingabeparameter. Containerdatei und Mountpoint müssen den gleichen Dateinamen haben.
/usr/local/bin/mount_container.sh
param=$1 if [ $# -eq 0 ] ; then cat << 'delimiter' --------------------------------------------------------- Beschreibung Usage 1: mount_container.sh <Pfad zum Containerfile> Usage 2: Aufruf ohne Parameter: Pfad zum Containerfile wird abgefragt. --------------------------------------------------------- delimiter read -p "Pfad zum Containerfile eingeben: " param fi if [ -z $param ] ; then exit ; fi SAFE=$param CRYPTNAME=$(basename $param) MNT=/mnt/$CRYPTNAME FS=ext2 LOOPDEV=`/sbin/losetup -f` if [ "`/sbin/losetup -a | grep -c "$SAFE"`" != "0" ]; then echo "bereits eingehängt" exit fi /sbin/losetup $LOOPDEV $SAFE /sbin/cryptsetup luksOpen $LOOPDEV $CRYPTNAME /bin/mount -t $FS /dev/mapper/$CRYPTNAME $MNT
Nach Ausführen dieses Skriptes als root sollte im Dateimanager Dolphin in der Sidebar nun der Container auftauchen.
Aushängen des verschlüsselten Containers
Das Skript zum Aushängen des Containers:
/usr/local/bin/umount_container.sh
param=$1 if [ $# -eq 0 ] ; then cat << 'delimiter' --------------------------------------------------------- Beschreibung Usage 1: umount_container.sh <Pfad zum Containerfile> Usage 2: Aufruf ohne Parameter: Pfad zum Containerfile wird abgefragt. --------------------------------------------------------- delimiter read -p "Pfad zum Containerfile eingeben: " param fi if [ -z $param ] ; then exit ; fi SAFE=$param CRYPTNAME=container MNT=/mnt/$(basename $param) LOOPDEV=`losetup -a | grep "$SAFE" | sed "s/: .*//"` if [ "`losetup -a | grep -c "$SAFE"`" != "1" ]; then echo "nicht eingehängt" exit fi /bin/umount $MNT /sbin/cryptsetup luksClose $CRYPTNAME /sbin/losetup -d $LOOPDEV
Siehe auch https://wiki.ubuntuusers.de/LUKS/Containerdatei/
Integration in den KDE-Desktop
Mit kmenuedit zwei Starterdateien erzeugen, eine zum Einhängen und eine zum Aushängen des Containers.
- Unter "Erweitert" muss man anklicken:
Im Terminal starten Mit anderer Benutzerkennung starten: root
Hier der Inhalt der zwei Desktop-Dateien, die man natürlich auch manuell erzeugen kann:
~/.local/share/applications/Mount Container.desktop
[Desktop Entry] Comment=Verschlüsselten Container einhängen Exec=/usr/local/bin/mount_container.sh /sda2/container GenericName=Container einhängen Icon=kipi-dropbox Name=Mount Container NoDisplay=false Path[$e]= StartupNotify=false Terminal=1 TerminalOptions= Type=Application X-KDE-SubstituteUID=true X-KDE-Username=root[/code]
~/.local/share/applications/Umount Container.desktop
[Desktop Entry] Comment=Verschlüsselten Container aushängen Exec=/usr/local/bin/umount_container.sh /sda2/container GenericName=Container aushängen Icon=preferences-web-browser-adblock Name=Umount Container NoDisplay=false Path[$e]= StartupNotify=true Terminal=1 TerminalOptions= Type=Application X-KDE-SubstituteUID=true X-KDE-Username=root/code]
Konfiguration
/etc/crypttab