Zum Inhalt springen

GNU Privacy Guard

Aus Foxwiki
Version vom 13. März 2019, 10:31 Uhr von imported>Alexanderrogers

GNU Privacy Guard, abgekürzt GPG, ist ein freies Kryptographiesystem, zum Ver- und Entschlüsseln von Daten sowie zum Erzeugen und Prüfen von Signaturen. In Debian ist schon die neue Version 2 installiert.

Funktionsweise

GPG benutzt ein Public-Key-Verschlüsselungsverfahren. Dabei erstellt man ein Schlüsselpaar, ein öffentliches und ein privates. Der private Schlüssel darf nur der Eigentümer haben, mit dem können Daten entschlüsselt und signiert werden. Der öffentliche Schlüssel dient zur Verschlüsselung und zur Überprüfung der Signaturen, dieser hat der Kommunikationspartner. Um die Daten zu verschlüsseln stehen unterschiedlich starke Schlüssel zur Verfügung. Standard ist momentan eine Länge von 3072 Bits.

Schlüsselbund

GPG speichert alle Schlüssel, die man sammelt, in einem "Schlüsselbund"-Verzeichnis ~/.gnupg/. Innerhalb stehen eigentlich zwei Schlüsselbünde, die Datei secring.gpg enthält die eigenen, geheimen Schlüssel, die andere Datei pubring.gpg enthält die öffentlichen Schlüssel, sowohl die eigenen, als auch die der Kommunikationspartner.

Schlüssel erstellen

Man tippt in der bash:

gpg --full-gen-key
Please select what kind of key you want:
  (1) RSA and RSA (default)
  (2) DSA and Elgamal
  (3) DSA (sign only)
  (4) RSA (sign only)
Your selection? 

Es folgt ein Menü, welche Art von Schlüssel man erstellen möchte. Voreingestellt ist RSA und RSA. Enter tippen!

RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072)

Nun wird gefragt, welche Schlüssellänge man haben möchte. Mit Enter wird die Voreinstellung von 3072 Bits genommen, es wird empfohlen mindestens 3072 Bits zu nehmen. Man kann auch längere Schlüssellängen eintippen, um die Sicherheit zu erhöhen, jedoch dauert die Arbeit der Verschlüsselung länger.

Please specify how long the key should be valid.
        0 = key does not expire
     <n>  = key expires in n days
     <n>w = key expires in n weeks
     <n>m = key expires in n months
     <n>y = key expires in n years
Key is valid for? (0)

Danach folgt die Frage, wie lange das Schlüsselpaar gültig ist. Voreingestellt ist 0, also für ewig. Es wird allerdings empfohlen sich auf eine bestimmte Zeitdauer festzulegen und keinen "ewigen" Schlüssel anzulegen.



Fortsetzung folgt...


Schlüssel auflisten

Mit dem Befehl

gpg -K

werden alle eigenen, geheimen Schlüssel aufgelistet

Mit

gpg -k

werden alle öffentliche Schlüssel aufgelistet

Diese Befehle zeigen alle Informationen über die Schlüssel an.

Wenn man keine Schlüssel angelegt hat oder welche importiert hat, ist die Ausgabe dieser Befehle leer.

Dateioperationen

Mit den folgenden Befehlen kann man mit GPG arbeiten.


Befehl Beschreibung
gpg -ear <Name oder Key_Id> <Datei>
  • Verschlüsseln einer Datei
  • mit -e wird eine Datei verschlüsselt
  • mit -a wird die Datei in ASCII-Armor-Code gespeichert. Ansonsten wird es in Binärcode geschrieben und man erhält stattdessen einen Datei mit der Endung .gpg, bei Signaturen .sig
  • mit -r <Name oder Key_Id> wird die Datei explizit für den bestimmten User verschlüsselt.
  • Am Ende erhält man eine Datei namens Datei.asc
gpg -do entschlüsselt.txt <Datei.asc>
  • Entschlüsseln einer Datei
  • mit -d wird eine Datei entschlüsselt
  • mit -o <Datei.txt> wird eine entschlüsselte Textdatei ausgegeben. Lässt man es weg, gibt GPG den entschlüsselten Text auf der Bash aus.


wird eine Datei entschlüsselt. In entschlüsselt.txt steht nun der Text. Wenn man die Option -o und die Datei weglässt, erscheint der Text in der bash.

Quelle: GnuPG-ubuntuusers