Shaun McCance
shaunm@gnome.org 2011
Enregistrement sécurisé des mots de passe et autres données sensibles

# 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.

Le gestionnaire de trousseaux peut gérer plusieurs trousseaux, et chaque trousseau peut contenir autant d'éléments que nécessaire. Un élément de trousseau contient une donnée quelconque, souvent un mot de passe. Chaque trousseau est verrouillé individuellement et il est obligatoire de fournir un mot de passe pour le déverrouiller. Lorsque le trousseau est déverrouillé, l'utilisateur peut accéder à tous les éléments qu'il contient.

Le gestionnaire de trousseaux dispose de listes de contrôle d'accès pour chaque élément d'un trousseau, afin de contrôler quelle application peut accéder à un élément. Si une application inconnue tente d'accéder à un élément d'un trousseau, le gestionnaire de trousseaux demande à l'utilisateur s'il doit autoriser ou refuser l'accès par cette application. Cela empêche des programmes malicieux ou mal écrits d'accéder aux données sensibles des utilisateurs.

Les données d'un trousseau enregistrées sur le système de fichiers sont chiffrées par l'algorithme AES block et les attributs de l'élément sont hachés avec SHA1. Grâce au hachage des attributs, le gestionnaire de trousseaux est capable de rechercher des éléments demandés par les applications même sans déverrouiller le trousseau. Le déverrouillage intervient au moment où un élément correspondant est trouvé et qu'il doit être récupéré.

Le gestionnaire de trousseaux gère également un trousseau de session. Les éléments de ce trousseau de session ne sont jamais enregistrés sur le disque, et ils sont effacés dès que la session de l'utilisateur prend fin. Ce trousseau peut être utilisé pour stocker des mots de passe qui ne doivent être utilisés que dans la session actuelle.

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