0

我将 SqlCipher 与内容提供程序一起使用。现在,当我想锁定应用程序时,我只需清除缓存的密码。但是,该应用程序可以继续使用任何打开的光标。这意味着重新打开应用程序会授予对敏感数据的访问权限。如果应用程序没有密码,我会通过重定向到登录屏幕来解决这个问题。

但是,我担心这些打开的游标是否存在任何安全问题,或者我是否应该继续阻止 UI 访问而不担心?SqlCipher 的文档说它动态读取/写入加密页面,而不是解密整个数据库,这让我认为打开的游标仍然是安全的。

这里的主要问题是有人丢失了他们的手机,然后知识渊博的人可以使用这些打开的游标来提取敏感数据。

4

1 回答 1

0

我没有查看用于 Android 游标实现的 SQLCipher 的详细信息,但通常在 Android 游标中,将整个结果集保存在堆空间中,并且在 SQLCipher 的情况下,那些将在那时被解密。

但是,由于这些游标是您的进程私有的,因此由于 Linux/Android 进程隔离,除了通过您的 UI 之外,任何人都没有很好的方法来获取它们。如果您的 UI 不允许任何人到达任何地方,除非再次登录,那么您就受到了很好的保护。问题在于您是否确定您的 UI 没有任何无意的代码路径会绕过登录(例如,最近的任务列表)并允许访问数据。

于 2012-03-30T18:09:22.567 回答