首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >安卓SharedPreference安全

安卓SharedPreference安全
EN

Stack Overflow用户
提问于 2012-02-12 05:44:05
回答 1查看 53.1K关注 0票数 130

我想知道共享首选项的安全性。

是否有可能访问共享首选项,即使它们是在MODE_PRIV (0)中创建的?

是否可以列出所有可用的共享首选项,然后从其他应用程序获取所有设置?

共享首选项是放置敏感数据的好地方吗,比如密码或身份验证令牌?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-12 06:34:27

共享首选项作为文件存储在设备上的文件系统中。默认情况下,它们存储在应用程序的数据目录中,并设置了文件系统权限,仅允许特定应用程序运行时所使用的UID访问它们。因此,它们是私有的,因为Linux文件权限限制了对它们的访问,就像在任何Linux/Unix系统上一样。

任何对设备具有根级别访问权限的人都可以看到它们,因为根用户可以访问文件系统上的所有内容。此外,使用与创建应用程序相同的UID运行的任何应用程序都可以访问它们(通常不会这样做,您需要采取特定操作来使两个应用程序使用相同的UID运行,因此这可能不是一个大问题)。最后,如果有人能够在不使用已安装的Android操作系统的情况下挂载您设备的文件系统,他们还可以绕过限制访问的权限。

如果您担心这样访问您的首选项(或您的应用程序编写的任何数据),那么您将需要对其进行加密。如果你这么关心他们,你需要弄清楚你所看到的风险水平到底需要多少保护。在2011年12月刚刚出版的Application Security for the Android Platform上有一个非常广泛的讨论(免责声明:我是这本书的作者)。

票数 243
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9244318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档