MuntashirAkon / MuntashirAkon/AppManager

Use strong encryption in Android KeyStore

Open
#767 0 comments 1 reaction 0 assignees View on GitHub
Feature Priority: 3 Security Status: Pending
Dominant language
Java
Stars
9k
Forks
518
PR merge metrics
No merged PRs in 30d

Description

Investigate and provide options to configure the following security features for the Android KeyStore:
- [Use StrongBox when possible](https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec.Builder#setIsStrongBoxBacked(boolean))
- [Require device unlock for operation](https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec.Builder#setUnlockedDeviceRequired(boolean))
- [Require user authentication](https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec.Builder#setUserAuthenticationRequired(boolean))
- [Require user confirmation](https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec.Builder#setUserConfirmationRequired(boolean))

In App Manager, Android KeyStore is used to encrypt/decrypt the password (the decrypted password is always cleared from memory after each operation) for the BKS KeyStore internally used by Android. Therefore, it plays a very important role if the user has encrypted backups present or use a custom signing key.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.