Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate with libsecret #20

Open
TheFrozenFire opened this issue Aug 30, 2018 · 3 comments
Open

Integrate with libsecret #20

TheFrozenFire opened this issue Aug 30, 2018 · 3 comments

Comments

@TheFrozenFire
Copy link

TheFrozenFire commented Aug 30, 2018

Gnome provides a keyring library out-of-the-box called libsecret. It supports remote password managers, and could in theory be integrated into this app to provide access to passwords, instead of using HID emulation. This approach would presumably mitigate keyloggers as well.

@TheFrozenFire TheFrozenFire changed the title Integrate with Seahorse Integrate with libsecret Aug 30, 2018
@TamtamHero
Copy link
Contributor

It's a good idea, but from a pure security perspective, if you have a keylogger on your computer, it's just a matter of time until the bad guy gets his hands on libsecrets as well, isn't it?

@TheFrozenFire
Copy link
Author

TheFrozenFire commented Nov 15, 2020

The way that I view security is that it's about mitigations. There is no "perfectly secure" system.

However, HID inputs, especially keyboard inputs, are a promiscuous interface. That's what keyloggers rely upon. There isn't much of a security scheme in place for protecting plaintext HID inputs. The generic interface also means that one cannot layer such a scheme on top.

Moving to an interface like libsecret allows for a much more sophisticated security context. Yes, in theory, you could attack the secrets service directly. But, if that becomes a common attack, that secrets service can be updated to include more effective mitigations against such attacks.

With libsecret, there is a verbose API that allows for some degree of negotiation of secret retrieval. Secret collections can be locked and unlocked, allowing for designs such as timing out the unlock of a collection, requiring the user to unlock the collection again to retrieve passwords from it.

For paranoid users, the Ledger app could also require per-retrieval authorization from the Ledger device.

@TamtamHero
Copy link
Contributor

TamtamHero commented Nov 16, 2020

Sounds good!
I had a little look and I think I will go (when I get the time, no ETA 😿 ) with https://pypi.org/project/keyring/, which is compatible with Secret Services (the thing which libsecret is using under the hood) but also with other keychains from different OS.
It would be a portable tool that would retrieve passwords from the passwords app and copy them in the appropriate keychain. Is this what you had in mind ?

Edit: maybe you were thinking of a system where libsecret is a client of the password app and retrieves passwords only when needed, without storing them in its own database ? That would probably be quite a lot of work, and even more to have compatibility with Windows/MacOS 🤔

It supports remote password managers

I couldn't find much about this from the docs, did I miss something ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants