Website-Suche

So verschlüsseln und entschlüsseln Sie Dateien und Verzeichnisse mit OpenSSL und Linux


Das sichere Verschlüsseln und Entschlüsseln von Dateien und Verzeichnissen ist für den Schutz sensibler Daten unerlässlich. OpenSSL, ein leistungsstarkes Open-Source-Tool, bietet robuste Verschlüsselungs- und Entschlüsselungsfunktionen, die Dateien jeder Größe verarbeiten können, von kleinen Textdateien über große Binärdateien bis hin zu ganzen Verzeichnissen. Dieses Tutorial führt Sie durch den Prozess der Verschlüsselung und Entschlüsselung von Dateien und Verzeichnissen mit OpenSSL auf Linux-Systemen wie Redhat, Ubuntu, Debian, CentOS und Fedora.

In diesem Tutorial lernen Sie:

  • So erstellen Sie eine Beispieldatei oder ein Beispielverzeichnis
  • So generieren Sie ein öffentliches und privates RSA-Schlüsselpaar
  • So verschlüsseln Sie eine Datei oder ein Verzeichnis mit OpenSSL
  • So entschlüsseln Sie die verschlüsselte Datei oder das verschlüsselte Verzeichnis wieder in den ursprünglichen Zustand

Erstellen einer Beispieldatei oder eines Beispielverzeichnisses und Generieren von RSA-Schlüsseln

Zu Beginn benötigen Sie eine Datei oder ein Verzeichnis, das Sie verschlüsseln möchten. Zu Demonstrationszwecken erstellen wir eine Beispieldatei oder ein Beispielverzeichnis und generieren ein RSA-Schlüsselpaar.

  1. Erstellen Sie eine Beispieldatei oder ein Beispielverzeichnis: Sie können eine Datei oder ein Verzeichnis erstellen, je nachdem, was Sie verschlüsseln möchten. Hier sind die Befehle für beide:Für eine Datei:

    $ fallocate -l 100M sample_file.img

    Dieser Befehl erstellt eine Datei mit dem Namen sample_file.img und einer Größe von 100 MB.

    Für ein Verzeichnis:

    $ mkdir sample_directory
    touch sample_directory/file1.txt sample_directory/file2.txt
  2. Dadurch wird ein Verzeichnis mit dem Namen sample_directory erstellt, das zwei Textdateien enthält.

  3. Generieren Sie ein öffentliches und privates RSA-Schlüsselpaar: Generieren Sie nun ein öffentliches und privates Schlüsselpaar mit dem OpenSSL-Befehl:

    $ openssl req -x509 -nodes -newkey rsa:2048 -keyout private-key.pem -out public-key.pem

    Dieser Befehl erstellt ein 2048-Bit-RSA-Schlüsselpaar. Der private Schlüssel wird in private-key.pem gespeichert, und der öffentliche Schlüssel wird in public-key.pem gespeichert. Während dieses Vorgangs werden Sie zur Eingabe von Zertifikatsdetails aufgefordert. Sie können diese jedoch überspringen, indem Sie ENTER drücken.

    $ ls -l *.pem

    Stellen Sie sicher, dass der private Schlüssel sicher aufbewahrt wird, da ein Verlust ihn daran hindert, Ihre Dateien oder Verzeichnisse zu entschlüsseln.

  4. RSA-Schlüssel generieren und Beispieldatei erstellen und Verzeichnis


Verschlüsseln einer Datei oder eines Verzeichnisses mit OpenSSL

Nachdem wir nun die Schlüssel und die Beispieldatei bzw. das Beispielverzeichnis haben, fahren wir mit der Verschlüsselung fort.

  1. Datei oder Verzeichnis verschlüsseln: Je nachdem, ob Sie eine Datei oder ein Verzeichnis verschlüsseln, ist der Vorgang etwas anders.Für eine Datei:

    $ openssl smime -encrypt -binary -aes-256-cbc -in sample_file.img -out sample_file.img.enc -outform DER public-key.pem

    Dieser Befehl verschlüsselt sample_file.img mit AES-256-CBC und speichert die verschlüsselte Ausgabe als sample_file.img.enc.

    Für ein Verzeichnis:
    Komprimieren Sie zunächst das Verzeichnis in einen Tarball:

    $ tar -czf sample_directory.tar.gz sample_directory/

    Verschlüsseln Sie dann den Tarball:

    $ openssl smime -encrypt -binary -aes-256-cbc -in sample_directory.tar.gz -out sample_directory.tar.gz.enc -outform DER public-key.pem
  2. Dieser Befehl verschlüsselt sample_directory.tar.gz und speichert die verschlüsselte Ausgabe als sample_directory.tar.gz.enc.

  3. Verschlüsselung überprüfen: Um sicherzustellen, dass der Verschlüsselungsprozess erfolgreich war, generieren Sie zum Vergleich die MD5-Prüfsumme sowohl der ursprünglichen als auch der verschlüsselten Dateien oder Verzeichnisse.Für eine Datei:

    $ md5sum sample_file.img*

    Für ein Verzeichnis:

    $ md5sum sample_directory.tar.gz*

    Die Prüfsummen sollten unterschiedlich sein und bestätigen, dass die Datei oder das Verzeichnis verschlüsselt wurde.

  4. Eine Datei oder ein Verzeichnis mit OpenSSL verschlüsseln

Entschlüsseln einer Datei oder eines Verzeichnisses mit OpenSSL

Sobald Ihre Datei oder Ihr Verzeichnis verschlüsselt ist, müssen Sie wissen, wie Sie sie entschlüsseln.

  1. Verschlüsselte Datei oder Verzeichnis entschlüsseln: Je nachdem, ob Sie eine Datei oder ein Verzeichnis entschlüsseln, verwenden Sie die folgenden Befehle.Für eine Datei:

    $ openssl smime -decrypt -in sample_file.img.enc -binary -inform DER -inkey private-key.pem -out decrypted_sample_file.img

    Dieser Befehl entschlüsselt sample_file.img.enc und speichert das Ergebnis als decrypted_sample_file.img.

    Für ein Verzeichnis:
    Entschlüsseln Sie zunächst den Tarball:

    $ openssl smime -decrypt -in sample_directory.tar.gz.enc -binary -inform DER -inkey private-key.pem -out decrypted_sample_directory.tar.gz

    Extrahieren Sie dann das Verzeichnis:

    $ tar -xzf decrypted_sample_directory.tar.gz
  2. Dieser Befehl stellt das ursprüngliche sample_directory wieder her.

  3. Entschlüsselung überprüfen: Um zu überprüfen, ob die Entschlüsselung erfolgreich war, generieren Sie die MD5-Prüfsumme der entschlüsselten Datei oder des entschlüsselten Verzeichnisses und vergleichen Sie sie mit der Prüfsumme der Originaldatei oder des Originalverzeichnisses.Für eine Datei:

    $ md5sum decrypted_sample_file.img sample_file.img

    Für ein Verzeichnis:

    $ md5sum decrypted_sample_directory.tar.gz sample_directory.tar.gz

    Die Prüfsummen der ursprünglichen und entschlüsselten Dateien oder Verzeichnisse sollten übereinstimmen, was darauf hinweist, dass die Entschlüsselung erfolgreich war.

  4. Entschlüsseln einer Datei oder eines Verzeichnisses mit OpenSSL

Abschluss

Wenn Sie die in diesem Tutorial beschriebenen Schritte befolgen, können Sie Dateien und Verzeichnisse mit OpenSSL unter Linux problemlos verschlüsseln und entschlüsseln. Unabhängig davon, ob Sie mit kleinen Dateien, großen Dateien oder ganzen Verzeichnissen arbeiten, bietet OpenSSL eine zuverlässige und effiziente Methode zur Sicherung Ihrer Daten. Denken Sie immer daran, Ihren privaten Schlüssel sicher aufzubewahren, da er für die Entschlüsselung Ihrer Dateien oder Verzeichnisse unerlässlich ist.

Verwandte Artikel: