Gnome Keyring
# Gnome Keyring

Gnome Keyring ist die Kennwortverwaltung und Single-Sign-on-Lösung von Gnome.

## Funktion

Neben Benutzernamen und Kennwörtern nimmt sie beispielsweise auch Zertifikate und Schlüssel auf und lädt private SSH-Schlüssel automatisch mit einem integrierten SSH-Agent. Die Daten werden in zentralen Datenbanken („Keyrings“) mit starker Verschlüsselung kennwortgeschützt gespeichert. Nach einmaliger Authentifizierung mit einem Hauptkennwort können Anwendungen und Dienste darauf zugreifen und sich z. B. automatisch bei Web-Diensten oder Websites authentifizieren. Bei erstmaligem Zugriff eines Programmes wird der Benutzer gefragt, ob er den Zugriff erlauben möchte. Die Entsperrung der Datenbank(en) kann über Pluggable Authentication Modules (PAM) automatisch mit dem Benutzer-Login am System geschehen. Die Datenbank kann automatisch nach einer bestimmten Zeit ohne Zugriff (Timeout) geschlossen werden. Es können auch mehrere Kennwortdateien pro Benutzer angelegt werden, deren Inhalte dann getrennt freigeschaltet werden müssen. Zusätzlich existiert ein flüchtiger Sitzungs-Keyring.

## Technik

Gnome Keyring verwendet den Verschlüsselungsalgorithmus AES zur Verschlüsselung der Daten (auch der Attribute bis auf eine Angabe des Typs des Objektes) und SHA-1 als Hashfunktion. Zu jedem abgelegten Objekt werden beschreibende Attribute mit abgelegt (z. B. der Name der Seite, zu der ein Login gehört), über die ein abfragendes Programm die passende Information auffinden kann. Im unverschlüsselten Header der Kennwortdatei werden zusätzlich noch Hashes der Schlüsselwörter gespeichert, unter denen die einzelnen Werte abgelegt sind. Dadurch kann schon vor dem Entschlüsseln (also bevor der Benutzer nach dem Kennwort gefragt werden muss) festgestellt werden, ob der gewünschte Wert in der Datei vorhanden ist.

### Architektur

Gnome Keyring besteht aus einem Daemon, dem gnome-keyring-daemon, der sämtliche Verschlüsselung erledigt. Die Programmbibliothek libgnome-keyring (unter LGPL) stellt eine Programmierschnittstelle zur Verfügung, durch die andere Anwendungen über eine Umgebungsvariable oder über D-Bus die Dienste des Daemon nutzen können. Gnome Keyring Manager (gnome-keyring-manager) ist das Frontend, das dem Benutzer eine grafische Oberfläche bereitstellt. In GNOME 2.22 wurde Gnome Keyring Manager durch Seahorse ersetzt.

## Geschichte

Im November 2003 schrieb der ursprüngliche Autor Alexander Larsson die erste Version von GNOME Keyring. Am 27. November legte er das CVS dafür an und stellte die erste Revision ein. Am 29. November schlug er das Ganze zur Aufnahme in Gnome vor. Am 8. Dezember 2003 wurde die erste Version 0.1 veröffentlicht.

## Kritik

Gnome Keyring verwendet ein umstrittenes Sicherheitsmodell, bei dem es (dauerhaft) zugelassenen Applikationen möglich ist, alle im Schlüsselbund hinterlegten Geheimnisse (z. B. Passwörter) zu lesen.