Shaun McCance
shaunm@gnome.org 2011
Sicheres Speichern von Passwörtern und anderen Daten
Mario Blättermann
mario.blaettermann@gmail.com 2009-2012, 2016
Christian Kirbach
christian.kirbach@gmail.com 2011, 2012, 2015, 2017, 2018
Aljosha Papsch
al@rpapsch.de 2012
Tim Sabsch
tim@sabsch.com 2019

# Secret

GNOME verwendet libsecret für eine sichere Schlüsselbundverwaltung zum Speichern von Benutzerpasswörtern und anderen sicherheitsrelevanten Daten. Anwendungen können die Bibliothek der Schlüsselbundverwaltung zum Speichern und Zugreifen auf Passwörter verwenden. Benutzer können ihre Passwörter in der GNOME-Anwendung Schlüsselbundverwaltung verwalten.

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.

Falls Sie GIO zum Zugriff auf entfernte Server verwenden, nutzen Sie automatisch den Vorteil der Schlüsselbundverwaltung. Wann immer es für GIO erforderlich ist den Benutzer zu legitimieren, wird die Option zur Speicherung des Passworts angeboten, entweder im Standard-Schlüsselbund oder im sitzungsgebundenen Schlüsselbund.

Sie sollten die Schlüsselbundverwaltung von libsecret immer dann einsetzen, wenn Ihre Anwendung Passwörter oder andere sicherheitsrelevante Daten des Benutzers speichern soll. Die Schlüsselbundverwaltung bietet eine hohe Bedienerfreundlichkeit und hält die Benutzerdaten gleichzeitig sicher in Verwahrung.

In GNOME wurde eine Bibliothek namens gnome-keyring bis zur Veröffentlichung der Version 3.6 verwendet. Spätere Versionen verwenden stattdessen libsecret. Diese ermöglicht die Freigabe des Schlüsselbund-Dienstes für andere Arbeitsumgebungen und Anwendungen.

Das Referenzhandbuch von Libsecret