GNU Privacy Guard
aus Wikipedia, der freien Enzyklopädie
GNU Privacy Guard | |
---|---|
![]() |
|
Basisdaten | |
Entwickler: | The GNU Privacy Guard Team |
Aktuelle Version: | 2.0.9 und 1.4.9 (26. März 2008) |
Betriebssystem: | Linux/Unix, Mac OS X, Windows |
Kategorie: | Verschlüsselungssoftware |
Lizenz: | GPL |
Deutschsprachig: | ja |
Website: | gnupg.org |
GnuPG oder GPG (GNU Privacy Guard, englisch für GNU-Privatsphärenschutz) ist ein freies Kryptographiesystem, d. h. es dient zum Ver- und Entschlüsseln von Daten sowie zum Erzeugen und Prüfen elektronischer Signaturen. Das Programm implementiert den OpenPGP-Standard nach RFC 4880 und wurde als Ersatz für PGP entwickelt. Versionen ab 2.0 implementieren auch den S/MIME-Standard. GnuPG benutzt standardmäßig nur patentfreie Algorithmen und wird unter der GNU-GPL vertrieben. Es kann unter Linux, Mac OS X und diversen anderen Unix-Varianten sowie unter Microsoft Windows betrieben werden.
Inhaltsverzeichnis |
[Bearbeiten] Ziele
GnuPG hat sich zum Ziel gesetzt, einer möglichst großen Benutzergruppe die Verwendung von kryptographischen Methoden zur vertraulichen Übermittlung von elektronischen Daten zu ermöglichen.
GnuPG unterstützt dazu folgende Funktionen:
- Verschlüsselung von Daten (z. B. E-Mails), um vertrauliche Informationen an einen oder mehrere Empfänger zu übermitteln, die nur von den Empfängern wieder entschlüsselt werden können.
- Erzeugung einer Signatur über die versendeten Daten, um deren Authentizität und Integrität zu gewährleisten.
Beide Funktionen können kombiniert werden. In der Regel wird dabei zuerst die Signatur gebildet und an die Daten angehängt. Dieses Paket wiederum wird dann verschlüsselt an die Empfänger versandt.
[Bearbeiten] Web of Trust
Mittels eines Web of Trust (Netz des Vertrauens) versucht PGP/GnuPG dem Problem zu begegnen, dass man sich persönlich meist nicht der Echtheit der Schlüssel aller Kommunikationspartner versichern kann. Benutzer können andere Schlüssel mit ihrem eigenen Schlüssel signieren und bestätigen Dritten damit, dass sie sich von der Echtheit des Schlüssels überzeugt haben. Zudem kann man festlegen, wie sehr man den Signierungen der Person vertraut. Dadurch entsteht das beschriebene Vertrauensnetzwerk. Wenn Alice beispielsweise mit ihrer Signatur die Echtheit des Schlüssels von Bob bestätigt hat, kann Cloey der Echtheit des Schlüssels von Bob auch dann trauen, wenn sie selbst sich davon nicht direkt überzeugen konnte, weil sie ihn beispielsweise aus dem Internet bezogen hat. Voraussetzung dafür ist natürlich, dass sie den Schlüssel von Alice kennt und ihr vertraut. Es gibt einige Zertifizierungsstellen (engl. certification authority, CA), die die Echtheit von Schlüsseln beispielsweise durch persönlichen Kontakt mit Überprüfung des Personalausweises feststellen. Kostenlos wird dies zum Beispiel vom Deutschen Forschungsnetz, der Zeitschrift c't und von CAcert angeboten.
GnuPG setzt auf ein sogenanntes asymmetrisches Schlüsselverfahren. Das bedeutet, dass ein Schlüssel aus zwei Teilen besteht, dem privaten Schlüssel und dem öffentlichen Schlüssel. Auf den privaten Schlüssel darf nur der Eigentümer Zugriff haben. Daher wird dieser in der Regel auch mit einem Passwort geschützt. Mit diesem können Daten entschlüsselt und signiert werden. Der öffentliche Schlüssel dient dazu, Daten zu verschlüsseln und signierte Daten zu überprüfen. Er muss jedem Kommunikationspartner zur Verfügung stehen, der diese beiden Aktionen durchführen will. Die Daten können mit dem öffentlichen Schlüssel weder signiert noch entschlüsselt werden, daher ist seine Verbreitung auch mit keinem Sicherheitsrisiko behaftet.
[Bearbeiten] Funktionsweise
GPG verschlüsselt Nachrichten, indem es asymmetrische Schlüsselpaare verwendet, die von den GPG-Nutzern individuell erstellt wurden. Die so entstehenden öffentlichen Schlüssel können mit anderen Nutzern über eine Vielzahl von Kanälen ausgetauscht werden, z. B. Internet Schlüsselserver. Sie sollten unbedingt sehr behutsam ausgetauscht werden, um Identitätsmanipulationen vorzubeugen, da öffentliche Schlüssel bzw. Identitätsübereinstimmungen mit dem originären Eigentümer des Schlüssels gefälscht werden können. GPG kann nur feststellen, ob die Daten mit einem bestimmten Schlüssel signiert bzw. verschlüsselt wurden. Ob der Schlüssel selbst vertrauenswürdig ist, muss der Anwender entscheiden, schließlich kann jeder einen Schlüssel mit den Angaben fremder Anwender erstellen und ihn auf einen Keyserver laden. Einen aus dem Internet geladenen Schlüssel sollte man also mit größerer Vorsicht behandeln. Zur Überprüfung kann man sich etwa den Fingerabdruck (Hash-Wert), den jeder Schlüssel mit sich tragen sollte, vom vermuteten Eigentümer des Schlüssels z. B. am Telefon vorlesen lassen.
Um die Daten zu encodieren stehen verschieden starke Schlüssel zur Verfügung. Üblich sind momentan (2005) 1024 bis 4096-bit starke Schlüssel. GPG verwendet derzeit nur nicht-patentierte Algorithmen, um mit diesen Schlüsseln Daten zu verschlüsseln wie etwa ElGamal, CAST5, Triple DES (3DES), AES (Rijndael) und Blowfish.
[Bearbeiten] Unterstützung durch das BMWA
Die Entwicklung von GnuPG wurde vom Bundesministerium für Wirtschaft und Arbeit (BMWA) und Bundesministerium des Innern (BMI) im Rahmen der Aktion „Sicherheit im Internet“ unterstützt (siehe GNU Privacy Projekt), um eine frei verfügbare Verschlüsselungssoftware für jedermann zur Verfügung zu stellen. Inzwischen ist die Unterstützung ausgelaufen.
Da der Quellcode jedermann offen steht, hat GnuPG gegenüber dem nicht vollständig offenen PGP deutliche Vorteile, z. B. kann (mit dem nötigen Wissen und entsprechendem Zeitaufwand) überprüft werden, dass man durch GnuPG selbst nicht ausspioniert wird.
[Bearbeiten] Frontends
Um GnuPG in verschiedenen Anwendungskontexten zu benutzen, sind zahlreiche Frontends erstellt worden. Hier können die folgenden Frontend-Typen unterschieden werden:
- Frontends, die die Funktionen des kommandozeilenorientierten Programmes über eine graphische Oberfläche zur Verfügung stellen, wie z. B. der Gnu Privacy Assistant (GPA), der von der Free Software Foundation als Standard-Frontend vorgesehen ist, Seahorse und KGpg für die Integration in die Desktop-Umgebungen GNOME bzw. KDE und WinPT sowie Gpg4win für die Arbeit unter Windows.
- Mailprogramme, die GnuPG entweder direkt (wie z. B. Evolution, KMail oder Mutt) oder über ein Plug-In (Enigmail für Mozillas E-Mail-Programme, EudoraGPG für Eudora, GPGol für Microsoft Outlook oder GPGMail für Apple Mail) einbinden können.
- Chatprogramme wie Gabber, Miranda IM, licq, Kopete, Psi oder Gajim, die so teilweise auch plattformübergreifende verschlüsselte Chats über Netzwerke wie ICQ ermöglichen.
- Serverbasierte Frontends wie GNU Anubis oder freenigma, die als SMTP-Relay-Server oder als MTA eine zentralisierte und transparente E-Mail-Verschlüsselung erlauben.
Daneben gibt es noch weitere Schnittstellen für die Nutzung von GnuPG aus verschiedenen Skriptsprachen wie Perl, PHP oder Python.
[Bearbeiten] Kritik
Es gibt auch Kritik an GPG. Diese bezieht sich z. B. auf die Verwendung zumindest teilweise schon kompromittierter Algorithmen (z. B. SHA1) und Voreinstellungen, die teils sogar diese Algorithmen verwenden lassen.