Tipps & Tricks rund um Apple, Mac, iPhone, iPod, iPad und Apple Watch für Umsteiger, Einsteiger und Neugierige

Dateien verschlüsseln mit OpenSSL unter Mac OS X

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