GNU Privacy Guard
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 und dient als Ersatz für PGP. In Debian ist schon die neueste Version 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. Für die Verschlüsselung nutzt GPG verschiedene Algortihmen wie RSA oder Elgamal.
- GPG speichert alle Schlüssel, die man sammelt, in einem "Schlüsselbund"-Verzeichnis
~/.gnupg/
.
Schlüssel erstellen
Man tippt in der bash:
gpg --full-gen-key
Es folgt ein Menü, welche Art von Schlüssel man erstellen möchte. Voreingestellt ist RSA und RSA. Enter tippen!
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?
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.
RSA keys may be between 1024 and 4096 bits long. What keysize do you want? (3072)
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.
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)
Nun noch den echten Name, die Email-Addresse und einen kurzen Kommentar eingeben. Falls alles in Ordnung ist, O eingeben und Enter drücken.
GnuPG needs to construct a user ID to identify your key. Real name:Null Acht-Fünfzehn Email address: Comment: You selected this USER-ID: Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?
Es öffnet sich nun ein Menü, um ein Passwort einzugeben für den privaten Schlüssel, um später zu signieren und zu entschlüsseln.
Vom System werden nun eine Menge Zufallszahlen benötigt, sodass ihr nun freundlich gebeten werdet, ein wenig mit der Maus oder der Tastatur zu spielen. Es dauert eine ganze Weile, aber dann kommt von der Konsole, dass das Schlüsselpaar erstellt wurde.
Der erstellte Schlüssel liegt nun in ~/.gnupg/
.
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.
Befehle mit GPG
Mit den folgenden Befehlen kann man mit GPG arbeiten.
Befehl | Beschreibung |
---|---|
gpg -easr "Name oder Key_Id" <Datei>
|
|
gpg -do <Entschlüsselt.txt> <Datei.asc>
|
|
gpg -a --output <Dateiname.asc>
|
|
gpg --import <Dateiname.asc>
|
|
gpg --detach-sign -a <Datei>
|
|
gpg --verify <Datei.asc>
|
|
gpg --delete-secret-and-public-key "ID oder Name"
|
|
Hinweise
- Man kann für seinen Namen ein Leerzeichen verwenden, jedoch muss man bei allen Operationen mit GPG den Namen in Hochkommatas setzen.
Bsp:
gpg -ear 'Null Acht-Fünfzehn' <Datei>
- Das Verschlüsseln im ASCII-Format ist vor allem vorzuziehen bei der Übertragung übers Internet. Wenn man es lediglich auf der Festplatte verschlüsselt speichern will, ist das Binärformat, gerade bei großen Dateien, vorzuziehen.
Quelle: GnuPG-ubuntuusers