Single-factor OTP authenticators contain two persistent values. The first is a symmetric key that
persists for the device’s lifetime. The second is a nonce that is either changed each time the
authenticator is used or is based on a real-time clock.
…OTP authenticators — particularly software-based OTP generators —
SHOULD discourage and SHALL NOT facilitate the cloning of the secret key onto multiple
devices.
Therefore, being able to dump the shared secret off a rooted phone still squeaks by, but a straight-up "export" feature that facilitates decoupling the key from the phone disqualifies it.
Is this something you'd be interested in adding support for -- a separate "NIST Mode" that, say, stores the secret against the phone's HSM (and/or does the calculations in an enclave) to allow the app to be usable in corporate contexts?
Thanks for the suggestion. I don't currently have bandwidth to do it since it is rather complicated. I am open to any contribution if there are more interest to secure the app.
Right now, the app is not usable (at least, not licitly usable) in any FIPS-140-compliant system.
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63b.pdf
Therefore, being able to dump the shared secret off a rooted phone still squeaks by, but a straight-up "export" feature that facilitates decoupling the key from the phone disqualifies it.
Is this something you'd be interested in adding support for -- a separate "NIST Mode" that, say, stores the secret against the phone's HSM (and/or does the calculations in an enclave) to allow the app to be usable in corporate contexts?