~/

How to generate your own GPG keypair (DE)

Einrichtung, Erklärung und Einsatz von GnuPG

Informationen zu GnuPG (GPG)

  • GnuPG ist eine vollständige und freie Implementierung des OpenPGP- Standards, auch bekannt als PGP.
  • GnuPG kann unter der Lizenzbedingungen des GPLv3 frei verwendet, verändert und weitergegeben werden.
  • Mit GnuPG kann man Daten und Kommunikation verschlüsseln und entschlüsseln, elektronische Signaturen erzeugen und prüfen,sowie sich authentifizieren.
  • GnuPG unterstützt unter anderem auch S/MIME und SSH.
  • Für und mit GnuPG gibt es eine vielzahl von Anwendungen. Eine der bekannteren Anwendungen ist Kleopatra für Windows.
  • GnuPG läuft auf allen Unix-Plattformen + Windows und macOS.

Algorithmen im Jahr 2022

  • RSA (Verschlüsseln, Entschlüsseln und Signieren) ist seit einigen Jahren der Standard,wenn es um die Erstellung und Nutzung von asymmetrischer Verschlüsselung geht.
  • DSA (Entschlüsseln und Signieren) sollte nicht mehr verwendet werden, da der benötigte Zufall für einen sicheren Schlüssel nur durch spezielle tRNG gewährleistet wird. Standard Systeme nutzen oft nur pRNG und dadurch kann der Schlüssel mit wenig Aufwand gebrochen werden.
  • Elgamal (Verschlüsseln) für Elgamal gilt das Gleiche wie für DSA.
  • ECC (Elliptische-Kurven-Kryptografie) ist langsam im Kommen, hat aber derzeit noch das Problem ,das es nicht mit allen Systemen funktioniert,daher ist es ungeeignet für die Nutzung mit GPG. Derzeit gibt es auch nur eine Kurve die als wirklich “sicher” gilt.

Schlüssellängen im Jahr 2021

Die Wahl der richtigen Schlüssellänge ist wichtig um sicherzustellen,dass der Schlüssel eine Komplexität erreicht die in endlicher Zeit nicht zu brechen ist und somit als sicher gilt. Die meisten Systeme nehmen als Standardeinstellungen eine Schlüssellänge von 3072Bit, aber um sein Schlüsselpaar für eine längere Zeit nutzen zu können sollte der Schlüssel mindestens eine Länge von 4096Bit haben. Es macht derzeit nur wenig Sinn die Länge des Schlüssels noch weiter zu steigern, denn die X-Fache Länge des Schlüssels lässt die Komplexität nicht im gleichen Maße steigen. Das heißt, ein Schlüssel mit der Länge 8192Bit ist nicht doppelt so Komplex wie bei einer Länge von 4096Bit. Schlüssel mit der Länge 1024Bit sollten unter keinen Umständen mehr genutzt werden und man sollte sich ein neues Schlüsselpaar erstellen. Bei 2048Bit Schlüsseln gilt es derzeit noch abzuwegen ob dieser noch für eine gewisse Zeit weiter verwendet wird oder nicht. ACHTUNG! Alte Schlüsselpaare unter keinen Umständen löschen. Sonst ist ein Entschlüsseln alter Dateien und Kommunikationen nicht mehr möglich. Ein einfaches Widerrufen des alten öffentlichen Schlüssels reicht vollkommen aus. Danach einfach ein neues Schlüsselpaar erstellen und den neuen öffentlichen Schlüssel über verschiedene Wege verteilen.

GnupG CLI

  • Beachte,dass du eine Email-Adresse eingibst,sie kann auch erfunden sein
  • Beachte,dass du die Gültigkeit des Schlüsselpaares maximal für 3-5 Jahre eintragen solltest
  • WICHTIG DER PRIVATE KEY BLEIBT NUR BEI DIR NICHT TEILEN !
  • Den Fingerprint bekommst du mit gpg --list-keys email@adresse.com (Die Buchstaben- Zahlenkette)

Erstellung des Schlüsselpaares

  • gpg --full-generate-key --expert

Backup des Schlüsselpaares

  • gpg --armor --output privkey@example.com.asc --export-secret-keys FINGERPRINT
  • gpg --armor --output pubkey@example.com.asc --export FINGERPRINT
  • gpg --ownertrust > owntertrust-example.de.txt

  • Herzlichen Glückwunsch du hast jetzt ein Schlüsselpaar!

Widerrufzertifikat erstellen

  • gpg --output revoke@example.de.asc --gen-revoke FINGERPRINT

Importieren von öffentlichen Schlüsseln

  • gpg --import datacobra-gpgkey.asc
  • Der Public-Key wird dafür benötigt

    Andere Features von GnuPG

symmetrische Verschlüsselung

  • gpg -c test.txt
  • gpg --output test.txt --decrypt test.txt.gpg

    Signieren und Verifizieren von Dateien

  • gpg --detach-sign -a test.txt
  • gpg --verify test.txt.asc

    Verschlüsselung von Dateien und Verzeichnissen

  • gpg --output doc.gpg --encrypt --recipient blake@cyb.org doc
  • gpg --output doc --decrypt doc.gpg
  • gpgtar --encrypt --output mydocs.gpg --recipient Bob@ross.org mydocs
  • gpgtar --list-archive mydocs.gpg
  • gpgtar --decrypt mydocs.gpg oder erstelle erst ein Tar-Archiv und verschlüssel es dann

Und mein GPG-Key