Sicheres Speichern von Passwörtern und anderen Daten
Mario Blättermann
mario.blaettermann@gmail.com 2009-2012
Christian Kirbach
christian.kirbach@gmail.com 2011, 2012.
Aljosha Papsch
al@rpapsch.de 2012

# Secret

GNOME uses libsecret as a secure keyring manager, to store users' passwords and other sensitive data. Applications can use the keyring manager library to store and access passwords, and users can manage their passwords using GNOME's Seahorse application.

Die Schlüsselbundverwaltung kann mit mehreren Schlüsselbünden umgehen, wobei jeder Schlüsselbund wiederum eine beliebige Anzahl von Einträgen enthalten kann. Ein Eintrag im Schlüsselbund enthält Daten, zumeist ein Passwort. Jeder Schlüsselbund ist individuell gesperrt, so dass die Benutzer ein Passwort zur Entsperrung bereitstellen müssen. Sobald ein Schlüsselbund entsperrt ist, hat der Benutzer Zugriff auf alle enthaltenen Einträge.

Die Schlüsselbundverwaltung bietet Zugriffskontrolllisten für jedes Schlüsselbundobjekt, über die Anwendungen Zugriff auf das jeweilige Objekt erhalten können. Falls eine unbekannte Anwendung versucht, Zugriff auf das Schlüsselbundobjekt zu erlangen, fragt die Schlüsselbundverwaltung den Benutzer, ob der Zugriff gewährt oder verweigert werden soll. Das verhindert, dass böswillige oder dürftig programmierte Anwendungen Zugriff auf die sicherheitskritischen Daten des Benutzers erlangen.

Die im Dateisystem gespeicherten Daten des Schlüsselbundes werden mit »AES block cipher« gespeichert, wobei SHA1 zur Ermittlung der Prüfsumme der Attribute des Objektes verwendet wird. Aufgrund der Prüfsummen der Attribute ist die Schlüsselbundverwaltung in der Lage, nach den von Anwendungen angefragten Daten zu suchen, ohne den eigentlichen Schlüsselbund entsperren zu müssen. Der Schlüsselbund muss erst dann entsperrt werden, wenn tatsächlich ein passendes Objekt gefunden wurde und darauf zugegriffen wird.

Die Schlüsselbundverwaltung stellt auch einen sitzungsgebundenen Schlüsselbund zur Verfügung. Die Einträge in diesem Schlüsselbund werden niemals dauerhaft gespeichert und gehen verloren, sobald die Sitzung des Benutzers beendet ist. Der Sitzungs-Schlüsselbund kann zum Speichern von Passwörtern genutzt werden, die nur für die aktuelle Sitzung nötig sind.

If you use GIO to access remote servers, you automatically get the benefits of the keyring manager. Whenever GIO needs to authenticate the user, it provides the option to store the password, either in the default keyring or in the session keyring.

You should use libsecret's keyring manager whenever your application needs to store passwords or other sensitive data for users. Using the keyring manager provides a better user experience while still keeping user data safe and secure.

Gnome used a library called gnome-keyring before version 3.6 was released. In version 3.6 onward, libsecret is used instead. This allows sharing the keyring service between GNOME and other desktop environments and applications.

Libsecret Reference Manual