4

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

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

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

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

4

1 回答 1

1

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

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

如果用户的系统有根或受到破坏,你不应该受到责备,我猜用户还有更多需要担心的事情。

最重要的是,您需要问自己一个问题,即您的应用程序是否特别值得攻击者研究、解决和利用。

于 2013-07-18T20:01:11.947 回答