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.
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 .
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.
1openssl 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:
Um die Nautilus-Integration zu erhalten, installieren Sie das Paket seahorse-nautilusaus dem Software Center: seahorse-nautilus
'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.
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.).
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 * "
Antworten:
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:
Entschlüsselung:
Beachten Sie, dass
gpg
der Symkey standardmäßig zwischengespeichert wird (dokumentiertes Verhalten). Um dies zu vermeiden, verwenden Sie die--no-symkey-cache
Option 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
openssl
ist 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:
Sie werden nach einem Passwort gefragt, das Sie zweimal eingeben müssen.
Entschlüsseln:
Handbuchseite für das enc- Programm.
1
openssl enc
verwendet die durch die-md
Option definierte Digest-Funktion (Standardeinstellung md5) und ruft die FunktionEVP_BytesToKey()
mit einer Iterationszahl von 1 auf. Diese finden Sie in der openssl-Quelle unterapps/enc.c
.quelle
-a
base64-codiert den Eingang (Alias von-base64
), um ihn zu entschlüsseln, müssen Sie auch die-a
Option hinzufügen .aes-256
ist ein Alias füraes-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 .Ich benutze Seahorse dafür. Es ist ein Gnome-Frontend für GnuPG und lässt sich gut in Nautilus integrieren:
Um die Nautilus-Integration zu erhalten, installieren Sie das Paket
seahorse-nautilus
aus dem Software Center: seahorse-nautilusquelle
TrueCrypt : Nicht mehr verfügbare , ungesicherte Freeware-Software für die Festplattenverschlüsselung.
quelle
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 erstelltfoo.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 ausgpg 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:
Sie können die verschlüsselte Datei beliebig umbenennen. Beim Entschlüsseln bleibt der ursprüngliche Dateiname erhalten.
quelle
Es gibt auch eCryptfs , mit dem Ubuntu Home Directories verschlüsselt.
Sie können bei der Installation die Verschlüsselung
$HOME/Private
des 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/Private
wird rekursiv verschlüsselt.quelle
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.).
quelle
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
quelle
openssl aes-256-cbc ...
Wissen Sie, dass Sie anstelle von usingif [ $? -ne 0 ] ; then... fi
nur 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 * "