Unix bietet diverse leistungsstarke Verschlüsselungsmöglichkeiten – doch wie sollten Sie verfahren, wenn Sie Dateien lediglich schnell und einfach verschlüsseln möchten? Hier bietet sich das OpenSSL-Toolkit an – es ist standardmäßig an Bord und bietet eine stärkere Verschlüsselung, als Sie vermutlich jemals brauchen werden. Folgende Beispiele verwenden das Kryptosystem AES-256, das derzeit als so sicher gilt, dass es – als ersten offenen kryptographischen Algorithmus überhaupt – auch der amerikanische Geheimdienst NSA für die Verschlüsselung auf höchster Geheimhaltungsstufe zugelassen hat.
Datei verschlüsseln
Folgendes Beispiel demonstriert die grundlegende Syntax zur Verschlüsselung anhand der beispielhaften test.txt
-Datei und der daraus erstellten (verschlüsselten) test.txt.aes256
-Datei.
openssl enc -e -aes256 -in test.txt -out test.txt.aes256 -salt
Nachdem Sie den Befehl bestätigt haben, werden Sie aufgefordert, das gewünschte Passwort einzugeben und nochmals zu bestätigen.
Datei entschlüsseln
Der Empfänger der verschlüsselten test.txt.aes256
-Datei kann diese mit folgendem Befehl wieder entschlüsseln.
openssl enc -d -aes256 -in test.txt.aes256 -out test.txt
Nachdem der Empfänger den Befehl bestätigt hat, wird er aufgefordert, das von Ihnen gewählte Passwort einzugeben. Gibt der Empfänger hier das falsche Passwort ein, wird zwar eine test.txt
-Datei erstellt, diese enthält jedoch ausschließlich unbrauchbaren Datenmüll. Nur mit dem richtigen Passwort kann die ursprüngliche test.txt
-Datei erstellt werden.
Shell-Scripts zur Ver- und Entschlüsselung
Bei häufigerer Verwendung empfiehlt es sich, die folgenden beiden Shell-Scripts auf Ihrem System abzuspeichern. So können Sie später ganz einfach mit den beiden Befehlen aes256encode
und aes256decode
Dateien ver- und entschlüsseln.
Kopieren Sie hierfür zunächst das folgende Shell-Script an die gewünschte Stelle im System. In diesem Beispiel gehen wir davon aus, dass Sie die Datei unter ~/.shell-scripts/aes256encode.sh
abspeichern.
#!/bin/bash
# macs & moritz
if [ $# -lt 1 ]; then
echo "Usage: aes256encode your_file"
exit 1
fi
openssl enc -e -aes256 -in "$1" -out "$1".aes256 -salt
Anschließend kopieren Sie auch dieses folgende Shell-Script an die gewünschte Stelle im System. In diesem Beispiel gehen wir davon aus, dass Sie die Datei unter ~/.shell-scripts/aes256decode.sh
abspeichern.
#!/bin/bash
# macs & moritz
if [ $# -lt 2 ]; then
echo "Usage: aes256decode encrypted_file decrypted_file"
exit 1
fi
openssl enc -d -aes256 -in "$1" -out "$2"
Anschließend editieren Sie Ihr .bash_profile
…
nano ~/.bash_profile
…und erweitern es um die folgenden Einträge.
alias aes256encode='sh ~/.shell-scripts/aes256encode.sh'
alias aes256decode='sh ~/.shell-scripts/aes256decode.sh'
Anschließend beenden Sie die Terminal-Anwendung komplett und öffnen diese erneut, damit Ihre eben vorgenommenen Änderungen aktiv sind. Nun können Sie beliebige Dateien bequem verschlüsseln…
aes256encode test.txt
aes256decode test.txt.aes256 test.txt