我正计划开发一款应用,我不希望它只是“在线”,所以我希望能够在用户设备内部存储数据,app数据。这是'安全'吗?或者人们可以摆弄应用数据?是否有任何安全的离线方式来存储应用数据?
我试过阅读http://developer.android.com/guide/topics/data/data-storage.html#filesInternal,这表明它是安全的,但在其他地方有人说根电话可以忽视这一点。这样安全与否? - 如果手机有根据,有没有办法“阻止应用程序”?
答案 0 :(得分:3)
我遇到了同样的问题,但发现加密是处理这种情况的唯一机制,但当然会增加设备的负担,但如果这是强制性的,那么只有选项使用加密或隐写术
答案 1 :(得分:3)
在有根电话上,用户可以读取数据。
使用JellyBean谷歌试图加密应用程序数据以防止这种情况发生,但此功能暂时被禁用,因为它打破了太多的应用程序。
根据您可以检测的手机生根的一些方法,例如使用roottools。 但是,没有可靠的方法来检测电话可以根植的所有方式。
即使你可以确保手机没有根据,在下载数据后会阻止用户使用手机吗?
请注意,即使您没有将数据下载到文件中:使用rooted手机,攻击者仍然可以将应用程序的.dex文件传输到他的PC。然后,他可以对其进行反编译(例如,使用dex2jar和jd-gui)以获取有关如何从服务器读取数据的信息。 因此,您的应用从攻击者可能访问的服务器访问的任何信息都可以访问。
答案 2 :(得分:0)
这是'安全'吗?
默认情况下,它对其他应用程序是安全的。
在其他地方有人说根电话可以忽视这个
使用手机的用户可以使用超级用户权限运行应用,这些应用可以访问设备上的任何文件。
因此,内部存储数据对用户来说并不安全,因为它是用户的电话,而不是您的电话,因此它是用户的数据,而不是您的数据。大多数用户不会触摸您的数据,但如果他们采取足够的步骤,所有用户都有权这样做。
如果手机有根据,有没有办法'阻止应用'?
没有坚如磐石的方法可以确定手机是否已植根。