LinuxCommandLibrary

gnome-keyring-daemon

Manages user secrets and keys

SYNOPSIS

gnome-keyring-daemon [OPTIONS]
gnome-keyring-daemon [--start | --replace | --foreground | --daemonize]
gnome-keyring-daemon --components=COMPONENTS

PARAMETERS

--start
    Initializes and starts the daemon instance.

--replace
    Stops any running daemon instance and starts a new one.

--foreground
    Runs the daemon in the foreground; useful for debugging, as it won't fork to the background.

--daemonize
    Forks the daemon process into the background (this is often the default behavior if no other mode is specified).

--components=COMPONENTS
    Specifies which internal keyring components or services the daemon should activate (e.g., 'secrets,ssh,gpg,pkcs11').

--unlock
    Used internally to trigger the unlocking of a keyring. Not typically invoked directly by users.

--display=DISPLAY
    Specifies the X display to connect to, usually determined automatically by the session manager.

--login
    A special internal option used during initial user login setup.

--version
    Displays the version information of the daemon and exits.

--help
    Shows a brief help message with available options and exits.

DESCRIPTION

gnome-keyring-daemon is a crucial background service within the GNOME desktop environment, acting as the central component of the GNOME Keyring system.

Its primary function is to securely store and manage various security credentials for the user, including passwords, cryptographic keys (like SSH keys), certificates, and other sensitive information. By encrypting these secrets, typically with the user's login password, it provides a secure vault that applications can access.

The daemon aims to offer a single point of authentication for multiple applications. Instead of each application prompting for its own password, they can retrieve credentials from the keyring after the user has unlocked it (usually during login). This greatly enhances usability and and security.

It integrates seamlessly with PAM (Pluggable Authentication Modules) to automatically unlock the user's default keyring upon successful session login. Furthermore, it often incorporates functionality similar to ssh-agent and gpg-agent, allowing applications to use SSH and GnuPG keys without manual passphrase entry each time.

CAVEATS

While gnome-keyring-daemon significantly improves security and usability by centralizing credential management, it has some considerations:

Security Risk: If the user's master password (often synchronized with their login password) is weak, or if the system itself is compromised, the entire keyring contents could be vulnerable.
Integration Issues: Its proper functioning relies on correct integration with PAM (Pluggable Authentication Modules) and the desktop session manager. Misconfigurations can lead to repeated password prompts or a non-functional keyring.
Single Point of Failure: If the daemon fails, or if it's unable to unlock, many applications might lose access to their stored credentials, leading to usability issues across the desktop environment.

KEYRING COMPONENTS

The --components option allows specifying which internal services the daemon should provide, optimizing resource usage and functionality:
secrets: Manages generic passwords and secret data for applications (e.g., Wi-Fi passwords, email account passwords).
ssh: Provides SSH agent functionality, allowing applications to use SSH private keys without repeatedly prompting for passphrases.
gpg: Provides GnuPG agent functionality, enabling applications to use GnuPG private keys for signing and decryption.
pkcs11: Provides PKCS#11 integration, allowing the daemon to interface with smart cards and hardware security modules.

SECURITY MODEL

The daemon encrypts keyrings stored on disk using strong symmetric encryption algorithms. For the default 'Login' keyring, the encryption key is typically derived from the user's login password, often facilitated by a PAM module. This allows for automatic unlocking of the keyring upon successful graphical session login. Applications interact with the daemon via D-Bus, requesting access to specific secrets. The daemon only provides access to these secrets if it is currently unlocked and the requesting application has appropriate permissions, ensuring a secure communication channel for sensitive data.

HISTORY

gnome-keyring-daemon has been an integral part of the GNOME desktop environment since its early versions, evolving to provide a robust and unified security credential management system. Initially, its primary focus was on basic password storage. Over time, its functionality expanded significantly to integrate and often replace standalone agents like ssh-agent and gpg-agent. This development aimed to offer a more seamless and integrated experience for managing various types of cryptographic keys and secrets under a single, user-friendly system, thereby reducing complexity for end-users by centralizing credential management and authentication prompts.

SEE ALSO

gnome-keyring(1), seahorse(1), ssh-agent(1), gpg-agent(1), pam_gnome_keyring(8)

Copied to clipboard