Gibt es ein Tool zum Verschlüsseln einer Datei oder eines Verzeichnisses?


66

Was ist der beliebteste Weg, um einzelne Dateien oder Ordner zu verschlüsseln?


Frage ist etwas unklar. Möchten Sie Dateien manuell oder im laufenden Betrieb verschlüsseln und entschlüsseln?
Psusi

4
Anstelle von "am beliebtesten" kann es hilfreich sein, eine Lösung an Ihre Anforderungen anzupassen (gemäß der Frage von psusi). Suchen Sie eine Kombination aus einfach, zuverlässig, nativ, sicher, schnell und Open Source? Alle oder einige davon?
Belacqua

7
Ich möchte die Bemerkung hinzufügen, dass TrueCrypt entgegen der Behauptung einiger Antworten von Debian / Ubuntu / Fedora / Red Hat / Linux / OpenSuse / Gentoo / etc. Nicht als Freie Software oder Open Source angesehen wird.
23.

Antworten:


46

GnuPG (GPG) kann asymmetrische und symmetrische Verschlüsselung verwenden. Bei der asymmetrischen Krypto handelt es sich um zwei Schlüssel, einen öffentlichen Schlüssel zur Verschlüsselung und einen privaten Schlüssel zur Entschlüsselung. Siehe die Antwort von djeikyb auf dieser Seite für die Verwendung von asymmetrischen Schlüsseln.

Bei symmetrischer Verschlüsselung sind die Verschlüsselungs- und Entschlüsselungsschlüssel gleich. Es ist wichtig zu wissen, dass die meisten Menschen sehr schlecht darin sind, sichere Passwörter zu wählen. Ein Verschlüsselungsschema mit Kennwörtern sollte daher eine Schlüsselableitungsfunktion verwenden, die mehr Ressourcen (Zeit, Speicher) benötigt, um Brute-Force-Angriffe zu verlangsamen.

Eine Beschreibung von GnuPGs KDF finden Sie in diesem Beitrag zu Crypto Stack Exchange . Beispiel für die Verwendung der symmetrischen Verschlüsselung:

gpg --symmetric < unencrypted_file > encrypted_file

Entschlüsselung:

gpg --decrypt < encrypted_file > decrypted_file

Beachten Sie, dass gpgder Symkey standardmäßig zwischengespeichert wird (dokumentiertes Verhalten). Um dies zu vermeiden, verwenden Sie die --no-symkey-cacheOption wie in einer entsprechenden Antwort beschrieben .

Handbuchseite von gpg .


alte Antwort für Benutzer, die in der Lage sind, gute Schlüssel auszuwählen, siehe Hinweis unten

Für einzelne Dateien opensslist dies sehr nützlich, insbesondere wenn die Datei über einen ungesicherten Kanal (z. B. E-Mail) gesendet wird. Es ist kostenlos (in Geld und in Freiheit), im Gegensatz zu Truecrypt, das nur in Geld kostenlos ist.

HINWEIS : Das hier eingegebene Kennwort wird von einer MD5- Iteration 1 verarbeitet . Wenn Sie ein Passwort "123456" gewählt haben, haben Sie sehr wenig Sicherheit.

Verschlüsseln:

openssl aes-256-cbc -salt -in unencrypted_file -out encrypted_file

Sie werden nach einem Passwort gefragt, das Sie zweimal eingeben müssen.

Entschlüsseln:

openssl aes-256-cbc -d -in encrypted_file -out unencrypted_file

Handbuchseite für das enc- Programm.

1 openssl enc verwendet die durch die -mdOption definierte Digest-Funktion (Standardeinstellung md5) und ruft die Funktion EVP_BytesToKey()mit einer Iterationszahl von 1 auf. Diese finden Sie in der openssl-Quelle unter apps/enc.c.


Gibt es eine Möglichkeit, dies ohne ein Passwort zu tun?
Assaf Lavie

@Assaf Lavie: OpenSSL unterstützt keine Schlüsseldateien, obwohl es ein Kennwort aus der ersten Zeile einer Datei lesen kann. Lesen Sie die Handbuchseite zu openssl im Abschnitt Argumente für Passphrasen .
Lekensteyn

Außerdem können Sie das Flag "-a" verwenden, mit dem Sie den verschlüsselten Text wie folgt kopieren können: "openssl aes-256-cbc -a -salt -in unverschlüsselte_datei -out verschlüsselte_datei"
v2r

@ v2r Für weitere Leser hinzufügen: -abase64-codiert den Eingang (Alias ​​von -base64), um ihn zu entschlüsseln, müssen Sie auch die -aOption hinzufügen .
Lekensteyn

1
@Lucio aes-256ist ein Alias ​​für aes-256-cbc, es gibt keinen Unterschied. CBC ist eine Betriebsart für Blockchiffren. enc(1)Eine Liste der unterstützten Chiffren finden Sie auf der Handbuchseite von .
Lekensteyn

30

Ich benutze Seahorse dafür. Es ist ein Gnome-Frontend für GnuPG und lässt sich gut in Nautilus integrieren:Nautilus-Integration

Um die Nautilus-Integration zu erhalten, installieren Sie das Paket seahorse-nautilusaus dem Software Center: seahorse-nautilus Installieren Sie Seahorse-Nautilus


3
Dies funktioniert nur, wenn Sie einen GPG-Schlüssel in Ihrem System erstellt haben ...
hhlp

3
@hhlp: Die Antwort von djeikyb erklärt, wie man das macht.
idbrii

1
Ich möchte meinen GPG-Schlüssel verschlüsseln.
KI4JGT

19

TrueCrypt : Nicht mehr verfügbare , ungesicherte Freeware-Software für die Festplattenverschlüsselung.


2
+1, encfs - mit oder ohne GUI - ist sehr nützlich und für die meisten Zwecke ausreichend.
Loevborg

3
Cryptkeeper ist einfach, leistungsstark und mit Dropbox ein Kinderspiel ( askubuntu.com/questions/19613/… ).
Scaine

TrueCrypt ist aus Lizenzgründen nicht in Ubuntu (oder anderen wichtigen Distributionen) enthalten.
MagicFab

2
TrueCrypt ist nicht so Open Source. en.wikipedia.org/wiki/…
yuric

4
'WARNUNG: Die Verwendung von TrueCrypt ist nicht sicher' - TrueCrypt
user457015

16

Eine Cli-Methode wäre GnuPG und vielleicht Teer. Dies ist eine kurze Anleitung als Referenz. Sie sollten die Dokumentation unbedingt lesen.

Erster Lauf gpg --gen-key. Befolgen Sie die Anweisungen, um Ihr öffentliches / privates Schlüsselpaar zu generieren. Jetzt können Sie Dateien verschlüsseln: gpg -e foo.txt. Dadurch wird eine Datei mit dem Namen erstellt foo.txt.gpg. GnuPG löscht die ursprüngliche unverschlüsselte Datei nicht, es liegt an Ihnen, ob Sie sie herumhängen möchten. Führen Sie zum Entschlüsseln von foo.txt.gpg Folgendes aus gpg foo.txt.gpg. Beim Entschlüsseln werden Sie aufgefordert, vorhandene Dateien zu überschreiben.

Wenn Sie ein Verzeichnis verschlüsseln müssen, müssen Sie es zuerst tarieren:

tar -cf foo.tar foo/
gpg -e foo.tar

Sie können die verschlüsselte Datei beliebig umbenennen. Beim Entschlüsseln bleibt der ursprüngliche Dateiname erhalten.


2
Die Vorteile dieser Methode sind: Erstens müssen keine zusätzlichen Pakete installiert werden. Zweitens ist kein Root-Zugriff erforderlich. Ich würde dem Befehl tar eine Komprimierung hinzufügen (xz oder gz).
Panther

12

Es gibt auch eCryptfs , mit dem Ubuntu Home Directories verschlüsselt.

Sie können bei der Installation die Verschlüsselung $HOME/Privatedes Basisverzeichnisses auswählen oder mit dem Dienstprogramm ecryptfs-setup-private standardmäßig ein einzelnes Verzeichnis einrichten . Dieser Ordner kann so konfiguriert werden, dass er beim Anmelden automatisch bereitgestellt und beim Abmelden deaktiviert wird. Jede einzelne Datei und jeder einzelne Ordner $HOME/Privatewird rekursiv verschlüsselt.


Leider ist eCryptfs SEHR langsam. Außerdem gibt es in der neuesten Version einige Bugs
ruX 30.01.13

Im Gegenteil, eCryptfs ist schneller als gpg. Standardmäßig versucht gpg vor der Verschlüsselung zu komprimieren. Und eCryptfs wird jetzt auch von den meisten Android-
Geräten

2

Sie können auch "Akademische Signatur" verwenden, um die Kryptografie mit elliptischen Kurven mit einer wxWidgets-GUI zu verwenden. Es ist Open Source, aber nicht in den Repositories. Es werden hauptsächlich asymmetrische ECC-Verschlüsselung, Signaturen und Zeitstempel verwendet. Das Tool verfügt aber auch über einen Menüeintrag zum Aufrufen von Gnupg (RSA) und zum direkten Zugriff auf die symmetrische Ver- / Entschlüsselung von Dateien mit AES und anderen Algorithmen. Die Homepage ist hier: https://www.academic-signature.org

Ich verwende es häufig zum Schutz von Dateien während des Transports und zum digitalen Signieren von akademischen Dokumenten (Abschriften, Empfehlungsschreiben, Notenlisten usw.).


1

Ich habe einige der anderen Vorschläge übernommen und einen einfachen Shell-Script-Wrapper (für die Faulen) erstellt.

https://github.com/orionM/ssl-crypt-tools

genießen


1
hmm, bash script using openssl aes-256-cbc ...Wissen Sie, dass Sie anstelle von using if [ $? -ne 0 ] ; then... finur verwenden können ||? Und es gibt einige Leute, die glauben, OpenSSL * habe im letzten Jahr mehrere schwerwiegende Sicherheitslücken gehabt [ Heartbleed ], während die Snowden-Dokumente zeigen, dass GPG eines der wenigen Programme ist, die den NSA möglicherweise überraschen, wenn sie richtig verwendet werden. Der OpenSSL-Code ist es auch eine vollständige Senkgrube und hat schreckliche Testabdeckung. (Offenlegung: [er] arbeitet [s] an einem "OpenSSL saugt; lassen Sie es uns beheben" -Projekt.) - jbarlow * "
Xen2050
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.