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

Optional FULL unlock using fingerprint #7020

Open
DownrightNifty opened this issue Oct 5, 2021 · 37 comments · May be fixed by #11520
Open

Optional FULL unlock using fingerprint #7020

DownrightNifty opened this issue Oct 5, 2021 · 37 comments · May be fixed by #11520

Comments

@DownrightNifty
Copy link

Summary

Currently, you can enable fingerprint (Touch ID on macOS) for quick unlock. I'm proposing an optional setting that allows unlocking the entire database with just your fingerprint. This obviously decreases security, so the user should be warned and discouraged from enabling this. It would be helpful to provide the user with information on by exactly how much enabling this feature will decrease their security and what new risks they are exposed to (e.g. perhaps it's easier for a laptop thief to access their database).

Context

Some users should not enable this feature. For example, if you use KeePassXC on an OS without an encrypted filesystem or secure secret storage service (e.g. Keychain on macOS), you might be opening yourself up to certain attacks. But I use an up-to-date version of macOS with FileVault disk encryption enabled, so I'm not personally concerned about this.

macOS' Keychain is designed to store extremely sensitive data in a secure manner. Safari saves passwords directly in the Keychain database, for example. Chrome saves the encryption key for saved passwords in Keychain.

Ironically, I think in my case, the lack of this feature actually decreases my security. I end up relying on my browser's password manager for frequently used passwords because I don't want to go through the trouble of typing out my long database password every time I need them. I don't ever keep KeePass running in the background (I always just quit the app after accessing the one password I need at a time), so the quick unlock feature is completely useless to me. I've even considered shortening my database password because entering it is so annoying. But I sync my database to Google Drive, so I don't want to decrease the strength of the encryption by decreasing my password length.

I use KeePass2Android on my phone and it has support both for fingerprint quick unlock and full unlock. I would love to see the same feature implemented in KeePassXC!

@droidmonkey
Copy link
Member

Why don't you leave keepassxc running? Seems like an easy win and you get most of the feature you want.

@DownrightNifty
Copy link
Author

I just prefer to quit apps when I'm not using them, so they don't unnecessarily use up any memory or battery life. I imagine KeePass uses barely any resources while idle, but I'd still prefer not to have it open because I rarely even need to use it (since my browser cookies are usually sufficient to keep me signed in for quite a while) and because it gets in the way (e.g. it shows up in Cmd+Tab alongside the programs I'm actually using at the time, which is distracting).

@droidmonkey
Copy link
Member

You could enable the test icon and minimize/ close to tray. Just offering alternatives until this is implemented.

@Plinsboorg
Copy link

Please, make this feature possible.
This feature will make the XC password manager much more convenient for everyday users like me.

@phoerious
Copy link
Member

I don't like it. Biometrics don't replace passwords, since they are easy to steal and impossible to change. A database encrypted on one device will also most likely not be transferrable to another device, since the key stored in the system key chain is auto-generated and random.

@droidmonkey
Copy link
Member

droidmonkey commented May 2, 2022

This is more about storing quick unlock encrypted payload into the OS credential store. That way we can pull it out of the store on app load and support quick unlock immediately. I have a UI change in mind to support this per database while making the choice obvious to end users.

@Plinsboorg
Copy link

@droidmonkey Thank you for your reply.
I was a little disappointed to not see this feature in the plan for the 2.8.0 release.
Can we expect it anytime soon?

@drawingthesun
Copy link

Strongbox has this feature, I really wish there was a way we could get it in XC.

Even if we had to compile a custom build? If the change is an easy one...

@smlu
Copy link
Contributor

smlu commented Oct 6, 2022

Even if we had to compile a custom build? If the change is an easy one...

@drawingthesun see #6029. Unmaintained branch is still up at https://github.com/smlu/keepassxc/tree/feature/windows-hello . It will require some refactoring to get the latest stuff in, tho.

@v3DJG6GL
Copy link

Hello everyone :)
Has there been any recent progress on full unlock with Windows Hello? I haven't seen any recent commits.
The lack of this feature is the only reason I haven't switched to KeePassXC yet.
I know there might be some security risks. But by no means in every scenario:
I would love to deploy KeePassXC in a small business. The employees need a passwordless workflow, as they somehow can't remember an 8+ character password - otherwise they stick the passwords next to the monitor, for example, which is terrible security-wise.

Anyway, thanks for the great effort you put into maintaining this application!

@droidmonkey
Copy link
Member

droidmonkey commented Jan 18, 2023

The employees need a passwordless workflow

Then use yubikeys or key files. Windows hello is not a passwordless workflow and does not move with you between machines.

@v3DJG6GL
Copy link

v3DJG6GL commented Jan 18, 2023

Then use yubikeys or key files. Windows hello is not a passwordless workflow and does not move with you between machines.

Yubikeys are not so practical in our setup: we would still need a place to keep the Yubikey, and I doubt that would work for long. The key would get lost or misplaced very quickly.

Windows Hello, on the other hand, is - in our example - virtually passwordless, since we use fingerprint readers in combination with Windows Hello. These are very accurate and we almost never need a password or PIN to log in.

And since we have one user login for all users on these computers (and also plan to use one password database for all users), the Windows Hello approach might be the easiest way for employees since they are not as tech-savvy ;)

@droidmonkey
Copy link
Member

Egad, at least you are aiming to use keepassxc 😆

I do plan to build support for always available windows hello, I will try to get that in as my next major PR.

@droidmonkey droidmonkey self-assigned this Jan 18, 2023
@droidmonkey droidmonkey added this to the v2.7.5 milestone Jan 18, 2023
@v3DJG6GL
Copy link

Egad, at least you are aiming to use keepassxc 😆

Well, I love KeePassXC in every way - except for this feature, which I miss a little ;)

I do plan to build support for always available windows hello, I will try to get that in as my next major PR.

yay, thank you very much!

@Plinsboorg
Copy link

Thank you @droidmonkey
I've also been waiting for this feature for half a year already.
Is there any way to donate to you directly or to a bounty for this feature?

@TonyInTokyo
Copy link

Egad, at least you are aiming to use keepassxc 😆

I do plan to build support for always available windows hello, I will try to get that in as my next major PR.

Please, include this feature in macOS as well. Thank you!

@phoerious phoerious removed this from the v2.7.5 milestone May 22, 2023
@v3DJG6GL
Copy link

so this feature is obviously postponed - what are the reasons? 🥺

@garpunkal
Copy link

I would love this feature too, just installed keepassxc and I was a little confused why I had to entry password and fingerprint once I'd enabled biometrics. I'd previously used a plugin for keepass that allowed full unlock with windows hello.

@TonyInTokyo
Copy link

When will this be implemented or in which version will this be implemented?

@mvasiliiv
Copy link

Can someone tell me how to enable full fingerprint unlock?

@phoerious
Copy link
Member

It's not implemented yet. Please read the previous messages.

@mvasiliiv
Copy link

I'm sorry, but it's very hard for me to take the previous messages, since I use a translator. Perhaps there is at least an approximate date when this functionality will appear?

@phoerious
Copy link
Member

No.

@mvasiliiv
Copy link

It's a pity, maybe there is a working plugin from a third-party developer?

@andylundqvist
Copy link

andylundqvist commented Sep 9, 2023

I'm trying to move away from Bitwarden but not having Touch ID (on Mac) for a cold login (as an option, mind you) is stopping the move for me. I close apps I do not currently use and I have a long, complex password, so Touch ID would be a huge help.

Too bad, I hope you'll work on it/reconsider, the software otherwise seems excellent!

@jdrch
Copy link

jdrch commented Oct 27, 2023

Chiming in here to say that the lack of full unlock using Windows Hello and child database support is preventing me from switching to KeePassXC too.

@mvasiliiv
Copy link

Hello, is there any information when the full fingerprint unlock feature will be added? It's terribly inconvenient without her!

@jdrch
Copy link

jdrch commented Dec 5, 2023

Per @phoerious they're not implementing it, perhaps because KeePassXC's development is Linux-centric. If you want that feature, use KeePass + the WinHelloUnlock plugin.

@droidmonkey
Copy link
Member

droidmonkey commented Dec 5, 2023

I've implemented it on a draft branch for Windows and MacOS. We cannot (won't) implement full unlock with fingerprint for Linux because Linux does not have a hardware backed key store solution. At least not a standard one.

develop...feature/remember-quickunlock

I need to push my latest changes to this branch, but this is the start.

@DownrightNifty
Copy link
Author

Thanks for getting around to this! Personally, I ended up migrating from Google Drive to Syncthing (end-to-end encrypted) for my password database, so I was able to shorten the password length. Now it's not so bad to type in every time. This will be handy for those with complicated passwords, though.

@jdrch
Copy link

jdrch commented Dec 5, 2023

I've implemented it on a draft branch for Windows and MacOS

Thanks! Looking forward to seeing it in a release version :)

@qkz3es
Copy link

qkz3es commented Apr 13, 2024

I downloaded the latest version Release 2.7.7, which supports touchid feature on macos, but I still have to enter a password when I open it for the first time. Is there a way to solve this problem so that I can use touchid when I open it for the first time?

@Plinsboorg
Copy link

I downloaded the latest version Release 2.7.7, which supports touchid feature on macos, but I still have to enter a password when I open it for the first time. Is there a way to solve this problem so that I can use touchid when I open it for the first time?

Hi.
this feature is implemented in the following branch
https://github.com/keepassxreboot/keepassxc/tree/feature/remember-quickunlock

it is still not merged to the main. So it's ok that you don't see it in the latest release.

I tried to build the mentioned branch from sources but it didn't work for me as you can see in this discussion
#9290

so we need to wait until this branch will be merged.

@NilsRo
Copy link

NilsRo commented Jun 26, 2024

Any news about this? The branch is not updated for a while. Hoped to see that in 2.8.0...

@droidmonkey
Copy link
Member

droidmonkey commented Jun 26, 2024

It'll be resurrected for 2.8.0. I developed it and personally want it as a feature.

@Ironfist69
Copy link

Ironfist69 commented Aug 26, 2024

It'll be resurrected for 2.8.0. I developed it and personally want it as a feature.

Using the 2.8.0-snapshot. It still prompts for Master Password after reboot

@Zamtakk
Copy link

Zamtakk commented Oct 22, 2024

Just adding my voice to the pile, I'm also using Bitwarden but would like to switch. Because I have quite a bad case of RSI I want to keep keystrokes to a minimum, I can live with the slight degrade in security if I can unlock my database with my fingerprint instead of password on cold boot.

I will check this thread once in a while to see when it has been pushed to main.

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