I have a hard time understanding the benefits of the keyring (e.g. GNOME keyring). I get the convenience parts - I don’t have to enter password for something every time I want to use it (e.g. mounted encrypted drive) and I don’t have to create a secret for some background stuff (applications keys). But the problem is, if I understand it correctly, that every application has the same access to my keyring, so, in theory, a malicious application can just read my Signal key and they can just read all my Signal messages right? Is there a point, then, in encrypting e.g. local database (like Signal) if the key to that database is readily available anyway? Any input is welcome. thanks!
If you’re using flatpaks and apps are not configured to skip sandboxing, each app get their own keyring and can’t access others’.
Interesting, and if they are configured to skip sandboxing I could still change it in flatseal right?
The security model skews towards convenience versus absolute security, meaning automation is it’s goal, not perfect security. They use a reasonable amount of security to protect unauthorized access, meaning untrusted apps can’t access keys by default, and container apps only have selective access. AppArmor is supposed to be handling some DBUS interactions in the background to prevent any old app from grabbing everything, but again, automation is the purpose here.
If you don’t have a reasonably trusted system, then sure, it’s about as secure as any other password manager. I remember reading some time ago there was a plan to make a global framework for trusted application.accessnto things like this, but it was shot down for being “oppressive” in the same way as Microsoft’s trust app mess.
Ideally there would be an advanced mode where each app is granted access to specific keys, and that interaction is controlled by the user. This would never be the default obviously as the user interaction would be an insane annoyance to people who don’t care.
Thanks for the summary, a few more questions if its ok: What do you mean by untrusted apps? Is it untrusted by system (by what mechanism) or by some central entity? Container apps, you mean flatpaks? And they get selective access, like there is some space for all flatpaks that is separated, or there is actually one space per app and they don’t see anything else?
This has more details: https://wiki.gnome.org/Projects/GnomeKeyring/SecurityFAQ
This seems to be out of date, and there is no info in the GNOME Project handbook… Maybe its still valid?
Meanwhile, I’m fighting to get rid of the password on the keyring each time it comes back by itself. For context, my root partition is encrypted, so it’s not a huge deal if the keyring stored on it doesn’t have its own password, I think. I set up autologin to avoid a duplicate password, but since the session manager no longer unlocks the keyring, the keyring must have no password else I get a password prompt all over again. There’s probably a more elegant way, but I’ve yet to find it.
Not sure if this is your problem. But if you use encrypted system partition + autologin, it should use the encryption passphrase to auto unlock the keyring after the autologin. That is probably what is happening when you remove the password, on the next login it sets the enc passphrase again, right? Why do you try to remove the password?
it should use the encryption passphrase to auto unlock the keyring after the autologin
It doesn’t, hence the need to remove the password. Password only comes back every once in a while, rather than every login. Maybe a bad combination of desktop environment/session manager? LightDM with XFCE in my case.
Did you try to set the password the same as your encryption passphrase? But dunno, I have no idea if that works on your combo.


