我对Android上的安全性有疑问。 我打算在我的Android应用程序中使用一些sdks / libraries。 我想确保sdks / library不访问我的用户数据。 一种方法是以加密格式保存用户数据。 我想知道实现这一目标的最佳做法是什么。
非常感谢任何输入。
谢谢, 马南
答案 0 :(得分:1)
如果您在应用程序中包含库,那么它们将在与应用程序其余部分相同的UID下运行,因此实际上没有办法防止它们这样做。即使您的应用程序对数据进行加密,也需要访问可用于解密数据的密钥,因此,由于它们作为yoru app的一部分运行,因此库也可以访问这些密钥。 (请注意,这意味着指定了一个非常复杂的库,用于访问应用程序中的数据,高度不太可能。)
如果您真的担心这一点,那么您可以将库代码包含在单独的应用程序中,让应用程序调用它。例如,您可以将库集合部署为后台服务,并且需要自定义权限才能绑定到只有您的应用程序请求/拥有的权限。然后,您可以使用自定义权限来锁定对您自己的应用程序中的函数/ API的访问,这些函数将提供库所需的数据,以便只有您的单独库才能获取该数据。
值得再次指出,如果您计划使用标准/通用库,它们的可能性包括代码,以明确了解您的应用正在使用的数据结构并获取非法访问权限数据不太可能。也许我并不是真的了解你的威胁模型。
答案 1 :(得分:0)
如果你想确保没有人会访问你的私人数据,最好加密一下,在我的一个项目中,我使用http://sqlcipher.net/并推荐给你。
它是一个围绕sqlite3的包装框架,允许加密数据库文件,在这种情况下,从安全角度来看它会更可靠