如何防止数据库和共享首选项被黑客攻击

时间:2017-11-09 16:50:50

标签: android sql encryption sharedpreferences

我正在开发一个密码管理器应用程序,用于将您的帐户及其密码存储在数据库中,并将该应用程序的密码存储在共享首选项中,以便其他人无法访问您的帐户

保护数据的最佳方法是什么 假设我创建了一种方法来加密数据并创建一个方法来解密它,以便普通用户可以读取数据

如果设备是root用户,黑客可以将应用程序数据移动到具有相同应用程序的另一个设备,这样即使加密也可以读取数据库,因为另一个设备中的应用程序具有解密方法

是否有后门方法,以便黑客远程将数据传输到其他设备并通过应用程序本身解密数据

如果加密方法包含生成随机加密密钥并将其作为下一行存储在密码字符串中(密码中不允许使用多行)这是一种安全的方法,因为黑客攻击包含加密的完全密码字符串密钥然后用应用程序解密它

假设我创建了一个单独的加密密钥....它应该永久存储在某个地方......但是如果黑客可以访问它,他可以通过应用程序本身破解加密吗?如果是,加密密钥可以存储在用户无法访问的地方

注意:设置与设备的IMEI相关的加密密钥不是解决方案,因为我打算让设备在设备之间同步数据,因此很多设备可以访问同一个帐户

2 个答案:

答案 0 :(得分:0)

如果某人有根,他们拥有一切。从基本的角度来看,他们可以伪装成用户,你的应用程序会为他们解密内容,然后他们就会得到结果。

使用主密码作为基础对敏感内容进行加密意味着对某些类型的攻击是安全的 - 但如果攻击者可以使用一块软件监视该密码进入他们仍然可以偷走它。它确实可以防止某些部分,因为当软件“冷”(即密码不存在或没有加载)时,受保护的数据是安全的(如果加密是可靠的)。

答案 1 :(得分:0)

有一个外部库非常适合加密使用Facebook Conceal的Shared Pref数据

Hawk