-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Encrypted(?) Storage #14
Comments
The tokens are not encrypted and I think that it is possible to have them backup up (either through
FreeOTPPlus/app/src/main/AndroidManifest.xml Lines 38 to 39 in e7dfc62
The normal SharedPreferences storage is used with FreeOTPPlus/app/src/main/java/org/fedorahosted/freeotp/TokenPersistence.java Lines 49 to 52 in e7dfc62
To actually employ encryption, the KeyStore API should be used: |
Seems to be a good idea. Does this mean that the original FreeOTP stores the keys unencrypted as well? |
That is correct, the original FreeOTP implementation also lacks encryption. Their developers are open to implementing it though, indeed using the KeyStore API: freeotp/freeotp-android#6 (comment) There is one PR to implement this, I have not reviewed though and mention it since it was referenced from the previous issue: freeotp/freeotp-android#150 |
Facing same issue. Everytime I take backup, the .json file remains on phone storage in plaintext. It's obvious to keep it on same location and forget about it. Also, keeping a backup in plaintext is not recommended. @helloworld1 Kindly implement. |
Yes, encryption support is still on my todo list. I don't think FreeOTP+ can actually use KeyStoreAPI because the data needs to be stored elsewhere and restored on a different device. |
I don't do ('dont know', precisely) any coding part. But, while lurking on internet, I came to know about some of the open source encryption libraries which can be implemented in android applications very efficiently. https://facebook.github.io/conceal/ Hope, this helps. |
I understood the comment was asking about libraries for the user interface part for PIN or libraries for fingerprint, not for encryption. |
encrypting tokens using any of the suggested library with user PIN/fingerprint hash will be sufficient. |
How about lifting from another project? |
@unicorntaco I found the implementation of andOTP pretty good and convincing. I wonder what is the advantage of FreeOTP / FreeOTP+. Also FreeOTP+ provides the capability to migrate to andOTP. |
One big advantage of the original FreeOTP is that it uses a decent layout on tablets... see #121 |
Let's consolidate the discussion in #128 |
I have some questions: How does the app store keys? And how does it export them to external storage (e.g. GDrive)? Do you employ encryption? Thank you!
The text was updated successfully, but these errors were encountered: