beemdevelopment / Aegis

A free, secure and open source app for Android to manage your 2-step verification tokens.
https://getaegis.app
GNU General Public License v3.0
8.37k stars 355 forks source link

Allow encrypted backup without password protecting the app #1345

Open tbridges42 opened 3 months ago

tbridges42 commented 3 months ago

The use case: In my risk profile I am willing to accept the risk that my device is stolen and unlocked, however I am not willing to accept the risk that my tokens become inaccessible, nor the risk that my off-device backups are exposed in a hack. Additionally, I have to use TOTPs frequently, sometimes in time-critical situations, which makes entering a code or biometrics frustrating.

The solution: Allow the user to specify a password or biometrics for vault backups separately from specifying a password for app access. This is not less secure than the app's default configuration of no encryption at all.

I've had a look through your code and although I haven't done Android development in a long time I think I could take a stab at it if this proposal is greenlit.

alexbakker commented 2 months ago

This is already an option when creating a manual export, but it is not an option for automatic backups. The reason for this is the fact that we never store the user's password or the key derived from it.

We would have to make an exception in order to support automatic password protected backups for plain text Aegis vaults. I'm not sure this use case is common enough to justify it.