0

I am trying to figure out how much more protection keystore offers if a key is stored with setUserAuthenticationRequired(true) and setInvalidatedByBiometricEnrollment on a rooted device. As far i know on rooted device if device is unlocked they can perform actions using my key. But i was wondering if root user can somehow bypass required biometric authentication/biometric enrollment and then use secure CryptoObject

4
  • A rooted device cannot invent information it doesn't have, being it a password or a biometric fingerprint. But a rooted device can fake everything, including pretending to bind a secret to a biometric fingerprint, and can snoop everything (including decrypted secret in an app memory). Of course, rooted mean running in the unconfined SELinux domain or equivalent, not simply UID=0. Commented Jul 4 at 15:57
  • The rooted device won't bypass that requirement initially unless it is doing active MITM between the app and TEE. But once the device is unlocked, then it can impersonate the app to de-register the key and can put it back there with the requirement that does not require the device to be unlocked.
    – defalt
    Commented Jul 5 at 15:21
  • @defalt thats actually fine, i was thinking about using it with Signature CryptoObject where i would have to approve public key manually on my backend, and i would do it only when i have the device. If later someone changes the key, new public key would not be approved. Only risk would be if they were able to gain access to old Signature object and sing the message.
    – whd
    Commented Jul 6 at 17:25
  • 1
    It doesn't have to change the key, it can just re-register the same key with restrictions removed.
    – defalt
    Commented Jul 8 at 11:44

0

You must log in to answer this question.

Browse other questions tagged .