GnuPG/Kryptografie: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
=== Beschreibung === | === Beschreibung === | ||
''GnuPG'' implementiert den [[OpenPGP]]-Standard nach RFC 4880 | ; PGP/GnuPG - Pretty Good Privacy | ||
Das [https://tools.ietf.org/search/rfc4880 OpenPGP-Protokoll] definiert eine Reihe von asymmetrischen und symmetrischen Verschlüsselungsalgorithmen, Signaturverfahren und Kompressionsprotokollen. [https://gnupg.org/ GnuPG], eine FOSS-Implementierung des OpenPGP-Standards, wird häufig für die Verschlüsselung von E-Mails verwendet. | |||
GnuPG signiert eine Nachricht, verschlüsselt sie symmetrisch und verschlüsselt den symmetrischen Schlüssel und den Hash mit dem öffentlichen Schlüssel von Bob asymmetrisch. | |||
Forschungen zu SHA-1 aus dem Jahr 2005 (siehe: [https://www.schneier.com/blog/archives/2005/02/sha1_broken.html SHA-1 Broken]) sowie die erste erfolgreiche Kollision in der Praxis Anfang 2017 (siehe: [https://shattered.io/ SHAttered]) haben deutlich gemacht, dass Kollisionsangriffe eine echte Bedrohung für die Sicherheit der SHA-1-Hash-Funktion darstellen. | |||
Da SHA-1 in der OpenPGP-Spezifikation als Pflichtimplementierung definiert ist, wird es von GnuPG weiterhin verwendet. | |||
* Derzeit sollten die Einstellungen so angepasst werden, dass die Verwendung von SHA-1 möglichst vermieden wird. | |||
; Bei der Verwendung von GnuPG gibt es einige Dinge zu beachten | |||
* Schlüssellängen (siehe: [https://bettercrypto.org/#keylengths Keylengths]) | |||
* Zufälligkeit (siehe: [https://bettercrypto.org/#rngs Zufallszahlengeneratoren]) | |||
* Bevorzugung des symmetrischen Verschlüsselungsalgorithmus (siehe: [https://bettercrypto.org/#ciphersuites Architektonischer Überblick]) | |||
* Bevorzugung der Hash-Funktion (siehe: [https://bettercrypto.org/#ciphersuites Architektonischer Überblick]) | |||
Der korrekte Umgang mit Schlüsselmaterial, Passphrasen und dem Web-of-Trust liegt außerhalb des Rahmens dieses Dokuments. | |||
* Die [https://www.gnupg.org/ GnuPG-Website] bietet ein gutes Tutorial zu GnuPG. | |||
Nach dem 31. Dezember 2017 wird GnuPG Version 2.0.x nicht mehr unterstützt und [https://lists.gnupg.org/pipermail/gnupg-announce/2017q3/000413.html soll nicht mehr verwendet werden]. | |||
* Verwenden Sie stattdessen die neue Langzeitversion 2.1. | |||
=== Beschreibung === | |||
; ''GnuPG'' implementiert den [[OpenPGP]]-Standard nach RFC 4880 | |||
* asymmetrischen und symmetrischen Verschlüsselungsalgorithmen | * asymmetrischen und symmetrischen Verschlüsselungsalgorithmen | ||
* Signaturverfahren und Kompressionsprotokollen | * Signaturverfahren und Kompressionsprotokollen | ||
GnuPG ist eine FOSS-Implementierung des OpenPGP-Standards | ; GnuPG ist eine [[FOSS]]-Implementierung des [[OpenPGP]]-Standards | ||
* Häufig für die Verschlüsselung von E-Mails verwendet | * Häufig für die Verschlüsselung von E-Mails verwendet | ||
* GnuPG signiert eine Nachricht, verschlüsselt sie symmetrisch und verschlüsselt den symmetrischen Schlüssel und den Hash mit dem öffentlichen Schlüssel von Bob asymmetrisch | * GnuPG signiert eine Nachricht, verschlüsselt sie symmetrisch und verschlüsselt den symmetrischen Schlüssel und den Hash mit dem öffentlichen Schlüssel von Bob asymmetrisch | ||
; SHA-1 | ; SHA-1 | ||
Derzeit sollten die Einstellungen so angepasst werden, dass die Verwendung von SHA-1 möglichst vermieden wird | Derzeit sollten die Einstellungen so angepasst werden, dass die Verwendung von SHA-1 möglichst vermieden wird | ||
Bei der Verwendung von GnuPG gibt es einige Dinge zu beachten | * Forschungen zu SHA-1 aus dem Jahr 2005 (siehe: [https://www.schneier.com/blog/archives/2005/02/sha1_broken.html SHA-1 Broken]) sowie die erste erfolgreiche Kollision in der Praxis Anfang 2017 (siehe: [https://shattered.io/ SHAttered]) haben deutlich gemacht, dass Kollisionsangriffe eine echte Bedrohung für die Sicherheit der SHA-1-Hash-Funktion darstellen | ||
* Da SHA-1 in der OpenPGP-Spezifikation als Pflichtimplementierung definiert ist, wird es von GnuPG weiterhin verwendet | |||
Bei der Verwendung von GnuPG gibt es einige Dinge zu beachten | |||
* Schlüssellängen (siehe: [https://bettercrypto.org/#keylengths Schlüssellängen]) | |||
* Zufälligkeit (siehe: [https://bettercrypto.org/#rngs Zufallszahlengeneratoren]) | * Zufälligkeit (siehe: [https://bettercrypto.org/#rngs Zufallszahlengeneratoren]) | ||
* Bevorzugung des symmetrischen Verschlüsselungsalgorithmus (siehe: [https://bettercrypto.org/#ciphersuites Architektonischer Überblick]) | * Bevorzugung des symmetrischen Verschlüsselungsalgorithmus (siehe: [https://bettercrypto.org/#ciphersuites Architektonischer Überblick]) | ||
* Bevorzugung der Hash-Funktion (siehe: [https://bettercrypto.org/#ciphersuites Architektonischer Überblick]) | * Bevorzugung der Hash-Funktion (siehe: [https://bettercrypto.org/#ciphersuites Architektonischer Überblick]) | ||
Der korrekte Umgang mit Schlüsselmaterial, Passphrasen und dem Web-of-Trust liegt außerhalb des Rahmens dieses Dokuments | Der korrekte Umgang mit Schlüsselmaterial, Passphrasen und dem Web-of-Trust liegt außerhalb des Rahmens dieses Dokuments | ||
* Die [https://www.gnupg.org/ GnuPG-Website] bietet ein gutes Tutorial zu GnuPG | * Die [https://www.gnupg.org/ GnuPG-Website] bietet ein gutes Tutorial zu GnuPG | ||
== Anwendungen == | == Anwendungen == | ||
Zeile 67: | Zeile 88: | ||
Since the release of [https://www.gnupg.org/faq/whats-new-in-2.1.html GnuPG version 2.1] end-2014 ECC is supported | Since the release of [https://www.gnupg.org/faq/whats-new-in-2.1.html GnuPG version 2.1] end-2014 ECC is supported | ||
* Older versions though are still widely used therefore ECC is not yet applicable in practice | * Older versions though are still widely used therefore ECC is not yet applicable in practice | ||
; ECC - Elliptic Curve Cryptography | |||
Seit der Veröffentlichung von [https://www.gnupg.org/faq/whats-new-in-2.1.html GnuPG Version 2.1] Ende 2014 wird ECC unterstützt. Ältere Versionen sind jedoch noch weit verbreitet, daher ist ECC in der Praxis noch nicht anwendbar. | |||
<noinclude> | <noinclude> | ||
Zeile 85: | Zeile 109: | ||
# https://gnupg.org | # https://gnupg.org | ||
# [https://tools.ietf.org/search/rfc4880 OpenPGP-Protokoll] | # [https://tools.ietf.org/search/rfc4880 OpenPGP-Protokoll] | ||
[[Kategorie:Kryptografie/Best Practice]] | [[Kategorie:Kryptografie/Best Practice]] | ||
[[Kategorie:GnuPG]] | [[Kategorie:GnuPG]] | ||
</noinclude> | </noinclude> |
Aktuelle Version vom 13. April 2024, 12:28 Uhr
GnuPG - Pretty Good Privacy
Beschreibung
- PGP/GnuPG - Pretty Good Privacy
Das OpenPGP-Protokoll definiert eine Reihe von asymmetrischen und symmetrischen Verschlüsselungsalgorithmen, Signaturverfahren und Kompressionsprotokollen. GnuPG, eine FOSS-Implementierung des OpenPGP-Standards, wird häufig für die Verschlüsselung von E-Mails verwendet.
GnuPG signiert eine Nachricht, verschlüsselt sie symmetrisch und verschlüsselt den symmetrischen Schlüssel und den Hash mit dem öffentlichen Schlüssel von Bob asymmetrisch.
Forschungen zu SHA-1 aus dem Jahr 2005 (siehe: SHA-1 Broken) sowie die erste erfolgreiche Kollision in der Praxis Anfang 2017 (siehe: SHAttered) haben deutlich gemacht, dass Kollisionsangriffe eine echte Bedrohung für die Sicherheit der SHA-1-Hash-Funktion darstellen.
Da SHA-1 in der OpenPGP-Spezifikation als Pflichtimplementierung definiert ist, wird es von GnuPG weiterhin verwendet.
- Derzeit sollten die Einstellungen so angepasst werden, dass die Verwendung von SHA-1 möglichst vermieden wird.
- Bei der Verwendung von GnuPG gibt es einige Dinge zu beachten
- Schlüssellängen (siehe: Keylengths)
- Zufälligkeit (siehe: Zufallszahlengeneratoren)
- Bevorzugung des symmetrischen Verschlüsselungsalgorithmus (siehe: Architektonischer Überblick)
- Bevorzugung der Hash-Funktion (siehe: Architektonischer Überblick)
Der korrekte Umgang mit Schlüsselmaterial, Passphrasen und dem Web-of-Trust liegt außerhalb des Rahmens dieses Dokuments.
- Die GnuPG-Website bietet ein gutes Tutorial zu GnuPG.
Nach dem 31. Dezember 2017 wird GnuPG Version 2.0.x nicht mehr unterstützt und soll nicht mehr verwendet werden.
- Verwenden Sie stattdessen die neue Langzeitversion 2.1.
Beschreibung
- GnuPG implementiert den OpenPGP-Standard nach RFC 4880
- asymmetrischen und symmetrischen Verschlüsselungsalgorithmen
- Signaturverfahren und Kompressionsprotokollen
- Häufig für die Verschlüsselung von E-Mails verwendet
- GnuPG signiert eine Nachricht, verschlüsselt sie symmetrisch und verschlüsselt den symmetrischen Schlüssel und den Hash mit dem öffentlichen Schlüssel von Bob asymmetrisch
- SHA-1
Derzeit sollten die Einstellungen so angepasst werden, dass die Verwendung von SHA-1 möglichst vermieden wird
- Forschungen zu SHA-1 aus dem Jahr 2005 (siehe: SHA-1 Broken) sowie die erste erfolgreiche Kollision in der Praxis Anfang 2017 (siehe: SHAttered) haben deutlich gemacht, dass Kollisionsangriffe eine echte Bedrohung für die Sicherheit der SHA-1-Hash-Funktion darstellen
- Da SHA-1 in der OpenPGP-Spezifikation als Pflichtimplementierung definiert ist, wird es von GnuPG weiterhin verwendet
Bei der Verwendung von GnuPG gibt es einige Dinge zu beachten
- Schlüssellängen (siehe: Schlüssellängen)
- Zufälligkeit (siehe: Zufallszahlengeneratoren)
- Bevorzugung des symmetrischen Verschlüsselungsalgorithmus (siehe: Architektonischer Überblick)
- Bevorzugung der Hash-Funktion (siehe: Architektonischer Überblick)
Der korrekte Umgang mit Schlüsselmaterial, Passphrasen und dem Web-of-Trust liegt außerhalb des Rahmens dieses Dokuments
- Die GnuPG-Website bietet ein gutes Tutorial zu GnuPG
Anwendungen
Hashing
Vermeiden Sie SHA-1, indem Sie bessere Hashing-Methoden bevorzugen
- GnuPG
Bearbeiten Sie $HOME/.gnupg/gpg.conf:
Digest selection in GnuPG
personal-digest-preferences SHA512 cert-digest-algo SHA512 default-preference-list AES256 CAMELLIA256 AES192 CAMELLIA192 AES CAMELLIA128 TWOFISH SHA512 SHA384 SHA256 BZIP2 ZLIB ZIP
Key Generation
Because of lack of forward secrecy (see: [pfs]) in OpenPGP it is preferable to use large asymmetric keys for long term communication protection
- A RSA key of 4096 bits should provide enough confidentiality for the next 10 years (see: Cryptographic Key Length Recommendation)
- New key generation with GnuPG version 2.1
$ gpg --batch --full-gen-key $HOME/Desktop/params.txt`
- Parameters for key generation with GnuPG version 2.1
Key-Type: RSA Key-Length: 4096 Subkey-Type: RSA Subkey-Length: 4096 Name-Real: <your-name> Name-Email: <your-email-address> Passphrase: <password> Expires: 2y # My preferences: AES256, CAMELLIA256, AES192, CAMELLIA192, AES128, CAMELLIA128, TWOFISH, SHA512, SHA384, SHA256, BZIP2, ZLIB and ZIP
Preferences: S9 S13 S8 S12 S7 S11 S10 H10 H9 H8 Z3 Z2 Z1
The preferences parameters S9 to Z1 correspond to AES256, CAMELLIA256, AES192, CAMELLIA192, AES, CAMELLIA128, TWOFISH, SHA512, SHA384, SHA256, BZIP2, ZLIB and ZIP
|
Elliptic Curve Cryptography
- Elliptic Curve Cryptography (ECC)
Since the release of GnuPG version 2.1 end-2014 ECC is supported
- Older versions though are still widely used therefore ECC is not yet applicable in practice
- ECC - Elliptic Curve Cryptography
Seit der Veröffentlichung von GnuPG Version 2.1 Ende 2014 wird ECC unterstützt. Ältere Versionen sind jedoch noch weit verbreitet, daher ist ECC in der Praxis noch nicht anwendbar.
Anhang
Siehe auch
Dokumentation
RFC | Titel |
---|---|
4880 | OpenPGP Message Format |