PGP
Aus KissDoc
Inhaltsverzeichnis |
Allgemein
PGP (Pretty Good Privacy) ist ein Programm/Verfahren zum Verschlüsseln von Daten. Es nutzt das sogenannte Public-Key Verfahren (asymmetrische Verschlüsselung), bei dem ein Paar von Schlüsseln zum Einsatz kommt.
- public Key
- mit ihm werden Daten (z.B. Mails oder Dateien) verschlüsselt. Der Schlüssel steht öffentlich zur Verfügung (z.B. auf einem Keyserver) um jedem die Möglichkeit zu geben, Daten für den jeweiligen Keybesitzer verschlüsseln zu können. Mit dem Key ist es jedoch nicht möglich, diese Daten wieder zu entschlüsseln, dafür benötigt man den
- private Key
- Nur mit ihm ist ein Entschlüsseln der Daten möglich. Der private Key sollte daher nur dem Besitzer zur Verfügung stehen, also z.B. auf dem eigenen, passwortgeschützten Rechner abgelegt sein. Zusätzlich ist noch die Eingabe eines sog. Mantras, also eines Passwortes nötig, um Daten entschlüsseln zu können. Das Passwort wird beim Erstellen des Schlüsselpaars festgelegt, kann aber jederzeit geändert werden.
GnuPG
GnuPG (GNU Privacy Guard - RFC 2440) ist die kostenlose Open Source Version von PGP. Native ist es nur als Kommandozeilen-Tool verfügbar, allerdings existieren mittlerweile zahlreiche Tools zur komfortablen Benutzung von GnuPG unter Windows und Linux. Ausserdem gibt es für alle bekannten Mailclients Plugins, mit denen das ver- und entschlüsseln sowie signieren von Mails zum Kinderspiel wird.
Hier eine Auflistung einiger Tools rund um GnuPG:
- Plugins
- Enigmail (für Thunderbird)
- GData GnuPlugin (für Outlook)
- Weitere Frontends, Plugins und Tools aller Art
Keyserver
Es ist unmöglich, einem User eine verschlüsselte Datei zu senden, ohne den öffentlichen Key des Empfängers zu besitzen. Eine Möglichkeit für solche Fälle bieten sogenannte Key-Server. Diese sind in einem Verbund organisiert und halten öffentliche Schlüssel von Usern vor - so denn das der User wünscht. Das ist vor allem für die Cklickerfreunde recht interessant, da einige Mailclients bereits automatisch nach so einem Schlüssel fragen können, in dem man auf eine Mail clickt und dann eventuell den öffentlichen Schlüssel des Users gleich installiert bekommt.
Eine andere Möglichkeit, und meiner Meinung nach auch eine bessere, ist es, dem Gesprächspartner eine Mail zu senden und ihn um sein öffentliches Keyfile zu bitten. Dabei könnte zwar ein Angreifer diesen Prozeß modifizieren, aber dafür gibt es Tausch-Kaffeekränzchen. Auch seid ihr nicht so wichtig, dass sich da jemand die Arbeit machen würde, diesen einzelnen Transport zeitnah zu verändern.
Auch hat Enrico gemeint, dass diese veröffentlichte Mailadresse bereits nach kürzester Zeit übelst Bespamt (was für ein Wort) wurde. Da haben wir es mal wieder. Wer Fremden vertrauen muß .... Lest erst mal alle für und wider rund um die Keyserver, bevor ihr recht gedankenlos euren öffentliche Key dahin sendet! Diese Zeilen sind für diejenigen, die meinen etwas sagen zu müssen, wenn der Key etwas herkömmlich ausgetauscht wird.
Verwendung
Neben einem MiniHowto und dem offiziellen Handbuch zum Erzeugen des Schlüsselpaares, Signieren, Ver- und Entschlüsseln mit GnuPG hier in aller Kürze die wichtigsten Schritte:
cd ~ gpg --gen-key
Bei den Angaben zum Typ, zur Länge und zur Laufzeit können die Standardwerte verwendet werden. Dann noch einen Vollständigen Namen und Email angebe. Lautet das Frontend KGpg, kann dies jetzt auch mal aufgerufen werden (kgpg).
ACHTUNG: In KDE mit KMail unter Debian sagre gibt's einen Bug bei verschlüsselten Mails (Signierung funktioniert), wobei sich der Bug nur auf die Debain Packages bezieht - sind einfach unvollständig. Es gibt einen exakten Workaround von der KDE Group. In aller Kürze:
- Packages installieren:
apt-get install gnupg-agent gnupg2 pinentry-qt - In
~/.gnupg/gpg.confdie Zeileuse-agenteinschalten - In ~/.gnupg/gpg-agent.conf
no-grab default-cache-ttl 1800 # gueltigkeit 30 min
- Folgendes Script in
~/.kde/env/gnupg.sherstellen:
#!/bin/sh
if [ -x /usr/bin/gpg-agent ]; then
if [ -f ${HOME}/.gpg-agent-info ]; then
OLD_GPG_AGENT=`cat ${HOME}/.gpg-agent-info`
CHECK_PID=`echo ${OLD_GPG_AGENT}|cut -d ":" -f 2`
PROG=`ps -p ${CHECK_PID} |tail -1| sed -e "s,^[^ ]* *[^ ]* *[^ ]* *,,"`
if [ "${PROG}x" != "gpg-agentx" ]; then
rm ${HOME}/.gpg-agent-info
else
export GPG_AGENT_INFO=${OLD_GPG_AGENT}
fi
fi
if [ ! -f ${HOME}/.gpg-agent-info ]; then
eval "`gpg-agent --daemon`"
echo $GPG_AGENT_INFO >${HOME}/.gpg-agent-info
fi
fi
- KDE neu starten
ANMERKUNG: gpg-agent verlangt beim Start von KDE nach dem Passwort und nicht erst beim senden der ersten verschluesselten / signierten Mail, da muss noch irgendeine bessere Lösung her.

