【问题标题】:Android - Security On Saving DataAndroid - 保存数据的安全性
【发布时间】:2016-09-10 02:25:11
【问题描述】:

我想在本地保存从服务器检索到的用户分数,以减少对服务器的调用次数。
但是,如果我使用 SharedPreferences,则用户可以轻松地对其进行编辑。如果我使用本地数据库,如果用户具有 root 访问权限,也可以更改它。 那么有什么方法可以安全地存储数据吗?我应该对其进行编码吗?
请注意,我无法检查本地分数是否等于服务器分数,因为它可能会被应用程序修改。

【问题讨论】:

  • 应用程序可以在启动时调用服务器检索分数,还是希望分数永久存在于客户端?

标签: android sqlite security sharedpreferences store


【解决方案1】:

一种更好的方式来加强安全性,同时将数据保存在您的服务器上并在那里加强安全性。但是,如果您希望将其保存在本地;然后加密并保存。

不加密的情况下将用户的个人信息和/或密码等敏感数据保存在共享首选项或原始 sqlite 数据库中是不好的。

【讨论】:

  • 我将加密数据,数据库将使用服务器数据,但服务器不会使用数据库数据。该应用程序将直接修改服务器值,但显示数据库值。
  • 加密并不意味着数据完整性。正确的答案是 MAC(消息验证码)而不是加密。而且,您刚刚将问题转移到隐藏密钥上,这就是促使我向上面的原始海报提出问题的原因。
猜你喜欢
  • 2013-03-02
  • 1970-01-01
  • 1970-01-01
  • 2018-10-16
  • 2012-01-02
  • 2014-06-26
  • 2016-12-18
  • 2015-06-24
  • 2018-12-16
相关资源
最近更新 更多