Kunzisoft / KeePassDX

Lightweight vault and password manager for Android, KeePassDX allows editing encrypted data in a single file in KeePass format and fill in the forms in a secure way.
https://www.keepassdx.com/
GNU General Public License v3.0
4.28k stars 261 forks source link

"No StrongBox available", Biometric-Authentication not working #1824

Closed NitroxydeX closed 1 month ago

NitroxydeX commented 1 month ago

Describe the bug

I currently have the problem that I can't unlock my KeePass-Database using Biometric features. Getting different errors on different inputs.

To Reproduce

Steps to reproduce the behavior:

  1. Open Database
  2. Clicking into the password field generates a popup "No StrongBox available"
  3. Trying to press the Biometric button results in "Please type in your password first before pressing this button"

Expected behavior

Working App/Biometrics again

KeePass Database

KeePassDX:

Android:

Additional context

Could be related to the latest update of KeePassDX or the latest Android May Security Patch

Already tried to delete cache, delete app-data and reinstalled the app through PlayStore.

J-Jamet commented 1 month ago

"No StrongBox available" is not a KeePassDX message. Maybe the biometric API on your devive is broken or the keystore is not available.

NitroxydeX commented 1 month ago

The StrongBox message appears when clicking or typing my password in the password field in KeePassDX. So this shouldn't be related to the biometric api at all? Besides that: all other apps have no problem with biometric features.

Is the keystore related to KeePassDX?

J-Jamet commented 1 month ago

https://docs.samsungknox.com/admin/fundamentals/whitepaper/samsung-knox-for-android/core-platform-security/knox-vault/

https://developer.android.com/privacy-and-security/keystore

Looks like another Samsung Keystore bug, they're really not good at following the API rules. https://github.com/Kunzisoft/KeePassDX/issues/1269#issuecomment-1075449893

The password field is linked to biometrics, and is checked to initialize API. Other applications are often server/client, so they exchange asymmetrical keys. Here, we need to store a symmetrical key.

NitroxydeX commented 1 month ago

After reading through the whitepaper and the comments in other issues related to Samsung I tried to give it a shot with deleting all biometric data and re-adding it.

Works for now. Maybe it break again with the next Samsung Patch.