SPG*_*SPG 1 sqlite android sqlcipher android-sqlite android-studio
目前我正在开发一个Android应用程序,它存储用户的重要数据,例如密码,卡号,网站用户名和密码等。我决定使用SQLITE DB,以便用户的数据可以驻留在他们自己的手机中,并且我计划实施 AES-256 算法 (SQLCiper),以便使用密钥对数据进行加密。但我担心的是它能发挥多大作用,如果有人进行逆向工程或 root 会发生什么?
请帮助我弄清楚这一点。
提前致谢。
根本行不通。当然,您可以加密数据库。但加密密钥在哪里?它在您的应用程序中。小型逆向工程将获得关键。
因此,您决定将密钥设为随机字符串并将其存储在安全存储中。这更强大......但随后我使用 AOSP 编译自定义操作系统并覆盖安全存储功能以将存储的数据记录到磁盘中。你已经设置了路障,仅此而已。
因此,您决定将密钥保留在服务器上并将其作为 https 请求的一部分发送出去,仅将其保留在内存中。现在我需要做一些认真的逆向工程。你会阻止脚本小子,但不会阻止经验丰富的逆向工程师。
您实际上如何保证数据安全?根本不要把它放在客户端上。那么它就完全安全了。当然,您现在必须保护客户端和服务器之间的协议。并且不要向客户端提供任何他不应该使用的数据 - 如果您有所有用户的信息,则仅将该用户的信息放入客户端数据库中。
基本上,您不会对授权用户保密数据。你最多可以设置一些减速带。确定数据实际上有多秘密,您期望谁成为攻击者(无聊的高中生?经验丰富的逆向工程师?国家?),并用它来计算出要投入多少精力,以及数据应该存储在哪里。
| 归档时间: |
|
| 查看次数: |
1598 次 |
| 最近记录: |