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