我已SQLCipher
在我的 Android 应用程序中实现以使其数据库安全。SQLCipher
需要一个密钥来加密数据库文件。我面临的问题是密钥保护,如果我的应用程序在有根设备上使用或被反向工程,那么我的密钥将被暴露并且数据库可以被解密。
请注意,我的应用程序不会在每次用户打开它时都要求输入密码,因此用户输入的密码不能用作密钥。我想实现像 facebook、whatsapp 应用程序这样的行为,它使用私钥/密钥加密数据而不询问任何密码,并使用户始终保持登录状态。这些应用程序在哪里以及如何存储它们的密钥?
请提出一个可以保护密钥的解决方案/算法。此外,Android OS 是否提供任何此类数据保护/管理功能?