【问题标题】:Encryption conundrum加密难题
【发布时间】:2013-07-17 22:31:15
【问题描述】:

我正在构建一个可以从服务器发送和接收数据的应用程序。很简单。在连接断开的情况下,我还开始对存储数据的功能进行编程,直到获得连接为止。这些数据将本地存储在 SQLite 数据库中。

数据(不是表)正在被加密,我将在服务器端存储单个用户 salt/IV。

这就是我的问题的症结所在。如果用户没有连接,那么他/她就无法连接到我的服务器来检索他们的盐/IV,如果我将他们的个人密钥存储在设备上的某个地方,那么任何人都可以偷看!

我可以采用一种常见的做法来确保数据安全吗?我很难相信没有互联网连接就无法安全地存储数据,但话说回来,我对整个服务器通信业务还比较陌生。

【问题讨论】:

标签: java android sql security encryption


【解决方案1】:

只是扮演魔鬼的拥护者:谁说服务器没有受到损害并从攻击者那里传递私钥/盐/IV?这可以通过例如被入侵的接入点或通过某些 Android 恶意软件来实现,该恶意软件将主机名重定向到替换您的服务器的不同 IP 地址。

不必担心这些潜在问题。您不负责保持用户设备的完整性。如果我是你,我只会将用户设备上的加密密钥/凭据存储在内部/私有应用存储中。

如果用户的系统已root或被入侵,你不应该受到责备,我想用户还有更多需要担心的事情。

除此之外,您还需要问自己一个问题,即您的应用是否值得攻击者研究、处理和利用。

【讨论】:

  • 该应用程序会处理金钱和一些相当敏感的信息,所以我肯定会看到有人想在信息发送到服务器之前修改信息。我不能确切地详细说明,但当我说它会导致一些严重的问题时,请相信我。不过,我从来没有真正想过你要说什么关于安全,你是对的。我不负责确保用户保护自己的设备安全。谢谢你的回答,朋友。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-14
相关资源
最近更新 更多