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!

  • CallMeAl (like Alan)@piefed.zip
    link
    fedilink
    English
    arrow-up
    26
    ·
    2 days ago

    A keyring is better than a plain text file (apps can only access the keyring when its unlocked) but not as secure as password keeper like KeepassXC.

    • dieTasse@feddit.orgOP
      link
      fedilink
      English
      arrow-up
      9
      ·
      2 days ago

      Since in most cases the keyring is unlocked on login, this seems like a small hurdle to overcome, right? I am trying to figure out if there is something I fundamentally misunderstand about the keyring or if it’s that trivial (and insecure).

      • CallMeAl (like Alan)@piefed.zip
        link
        fedilink
        English
        arrow-up
        7
        ·
        2 days ago

        is something I fundamentally misunderstand about the keyring…

        Keyrings like GNOME Keyring support setting it to auto-lock after a timeout. That would be the way to use it, IMO.

        • dieTasse@feddit.orgOP
          link
          fedilink
          English
          arrow-up
          7
          ·
          2 days ago

          I see, this would eliminate random apps from just grabbing the passwords anytime (though they can still poll if they are open). If I choose the auto-lock, I will have to enter password to the keyring often (depending on the time and how many apps need a password). Isn’t then more convenient AND more secure to use a password manager anyway? Apps can’t access my password from the password manager like they do from the keyring, so I could set longer auto-lock delay than the keyring and still be more secure and more convenient, right? Am I oversimplyfying too much? 😀

          • CallMeAl (like Alan)@piefed.zip
            link
            fedilink
            English
            arrow-up
            5
            ·
            2 days ago

            There are many options to consider. You could use a very short timeout and optimize for low friction unlock, such as with a thumb reader.

            My advice, if you have an app you want to use that requires the keyring then use the keyring with it. In general, I say use a password manager.

            • dieTasse@feddit.orgOP
              link
              fedilink
              English
              arrow-up
              4
              ·
              2 days ago

              The fact is, I am trying to determine what do I want to implement for my application. I am introducing database encryption and was thinking about doing what Signal is doing and not bothering the user and saving the key to the keyring, but now I am not sure if that is a good idea and maybe I will just ask user for a password…

      • atzanteol@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        6
        ·
        2 days ago

        KDE requires giving permissions to an app that wants to access kwallet also. I’m sure gnome does something similar.

        • dieTasse@feddit.orgOP
          link
          fedilink
          English
          arrow-up
          4
          ·
          2 days ago

          Giving permission from the user? That would be points for KDE actually. On GNOME I have never been asked, so I doubt it has it.

          • atzanteol@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            6
            ·
            2 days ago

            Yeah - I’ve been asked “application nextcloud wants to access wallet kdewallet” or something. I think it remembers the app for future requests though.

      • Tetsuo@jlai.lu
        link
        fedilink
        arrow-up
        6
        ·
        2 days ago

        I think you understand correctly.

        Your setup seems quite insecure considering your keyring seems to be always open and that you use a password that is already used to login.

        On the other hand a keyring can be unlocked only when used and could also have it’s own dedicated password for it. Security is more a gradient than something binary.

        Also if you store keys that are particularly sensitive in it they are as vulnerable as the container that stores them.

        Not blaming you of anything of course, I think you are asking the right questions. 👍

        • dieTasse@feddit.orgOP
          link
          fedilink
          English
          arrow-up
          9
          ·
          2 days ago

          That is the default behavior though. On most mainstream distros at least. The password matches the one that you login with and the keyring is unlocked automatically. And I get it, if I was handling this manually, I may as well just use my password manager right? I was just hoping, that maybe the apps would see only their password. Maybe some dedicated keyring space per app, you know what I mean. I didn’t expect there to be one giant pile of passwords for anybody to grab 😀

        • Quibblekrust@thelemmy.club
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 hours ago

          There are two ways to do it with KeePass (or KeePassXC or KeePassDX):

          1. using the auto-type feature with a virtual keyboard
          2. Using it as the desktop’s “secrets provider”.

          When I asked if KeePassXC could work on Wayland, I meant, “does the auto-type feature work yet?” I actually have not looked into using KeePassXC as a secrets provider.

          The built-in AutoType feature uses a virtual keyboard to type passwords by switching to the target window and then typing them in as if it were you using a real keyboard. This works in Windows, Android, and X11 (insecurely), but not in Wayland.

          On a desktop PC, you can configure the auto-type sequence in an individual entry or on the folder it’s in. Then you press Ctrl-V with an entry selected, and KeePassXC will switch to the previous window and start typing like a keyboard. You control when it presses Tab to switch fields, when it types the username or password, and if it hits Enter to submit the login. Stuff like that.

          On Windows, the above is secure unless some random app comes to the front as soon as you press the AutoType hotkey. Other programs can’t read the keystrokes. On X11 this is insecure. Every program running on the computer can hear every keystroke from every keyboard (real or virtual). This is just one of the reasons why Wayland exists, to eliminate security holes like this, and why KeePassXC under Wayland can’t do auto-typing. (Yet)

          On Android, you use the KeePass virtual keyboard to AutoType entries. I personally use KeePassDX, but I’m sure there are other ones. Like all Android keyboards, it needs to be enabled in settings before you can use it. You either open KeePass, choose an entry, and then switch to the KeePass keyboard, or switch to the keyboard first, click one of the buttons, and KeePassDX will launch, and have you choose a key to load.

          Either way, the KeePass virtual keyboard presents you with buttons for username, password, or any other text fields, and you simply focus the field you want to be typed into, and press the appropriate button. It’s secure. Other apps can’t intercept the keystrokes. I would screen shot what the keyboard looks like, but I can’t do that because of the security settings. KeePassDX blocks screenshots by default, and that carries over to its virtual keyboard.

          The other option on Linux is you can configure KeePassXC to be the “secrets provider”. Then, when an application does the formal request for a stored secret on the system, KeePassXC provides it instead of KWallet or whatever your DE uses. I have never tried this out, and I don’t know how secure it is.

      • dieTasse@feddit.orgOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 days ago

        In some threads I read that you can use Keepass indeed and it can be set to give a password prompt when app asks for access to your secrets. Might be annoying but might also help prevent secrets theft when a prompt appears at a random moment.

      • Azzu@leminal.space
        link
        fedilink
        arrow-up
        1
        ·
        2 days ago

        It does. I’ve been using it as my secrettool for quite a while instead of kwallet in KDE kwin wayland.