PhilippC / keepass2android

Password manager app for Android
https://play.google.com/store/apps/details?id=keepass2android.keepass2android
GNU General Public License v3.0
4.74k stars 382 forks source link

Protect Database with 6-digit PIN the same way as Biometric unlock is implemented #1769

Open Lumenbolt opened 3 years ago

Lumenbolt commented 3 years ago

The master password for my main database is of 30+ characters long, and typing it everytime I access it would undoubtedly be tedious (even after I reboot my phone). It'd be great to have an option to protect the database with a 6-digit PIN (or device's security PIN) alongside the ability to do so with Biometrics (which already is a feature) in case of devices that don't have a biometric scanner. This feature is already available on KeepassDX, an another fork of Keepass on Android.

P.S. I'm not talking about the QuickUnlock feature, since it only locks the app temporarily and as long as the app is running on phone's memory.

kolchose80 commented 2 years ago

Please let me push this request. I think this would be a good feature.

The same here. From time to time (sometimes ons a day and sometimes several times) I have to re-enter the master Passwort. The tablet hast no biometric sensors so no other chance.

PhilippC commented 2 years ago

do you have insights on how KeepassDX is implementing this? I can only think of storing the master password, encrypted with the weaker 6-digit key?

kolchose80 commented 2 years ago

Maybe another approach.

That K2A remember the database and ask only for the Quick unlock code 3,4,5,6 digits (your choice) And if the quick unlock code is wrong K2A ask for the whole master password.

For me I use It on mobile phone and Tablet. Mobile Phone is fine because I unlock it with fingerprint. I never need the master password. But only on tablet is not so comfortable because Android keeps killing the process.

yan12125 commented 7 months ago

do you have insights on how KeepassDX is implementing this?

It seems Device Unlocking works similarly (relevant souce codes) as fingerprint unlocking in Keepass2Android. The master password of a database is stored in Android system keystore, and the access is protected by either device credentials (PINs, passwords, ...) or biometric (fingerprints, ...). Maybe Keepass2Android can extend codes for fingerprints to supports PINs?