2012-10-11 36 views
1

我打算開發一個應用程序,我不希望它只是'在線',所以我希望能夠在用戶設備,應用程序數據內部存儲數據。這是'安全'嗎?或者人們可以擺弄應用程序數據嗎?有沒有安全的離線方式來存儲應用程序數據?Android應用數據,用戶可以訪問/編輯它嗎?

我試着讀http://developer.android.com/guide/topics/data/data-storage.html#filesInternal這表明它是安全的,但在別處有人說根植的手機可以忽略這一點。那麼它是否安全? - 如果手機根深蒂固,是否有什麼方法可以「阻止應用程序」?

+0

那麼重要的應用程序如銀行/平安它如何保護?如果可以反編譯...? –

回答

3

在有根的手機上,用戶可以讀取數據。

與果凍豆Google試圖加密應用程序數據,以防止這種情況發生,但此功能現在被禁用,因爲它打破了太多的應用程序。

某些方式可以檢測到手機的生根,例如使用roottools。 但是,沒有可靠的方式來檢測電話可以植根的所有方式。

即使您可以確保手機沒有固定,但是在您下載數據之後會阻止用戶生根電話嗎?

請注意,即使您沒有將數據下載到文件中:使用固定電話攻擊者仍然可以將應用程序的.dex文件傳輸到他的PC。然後,他可以對其進行反編譯(例如,使用dex2jarjd-gui)以獲取有關如何從服務器讀取數據的信息。 因此,您的應用可以從攻擊者可能訪問的服務器訪問的任何信息。

+0

就這樣我的APK總是可以玩的嗎? :( –

+1

是的,我想將應用程序看作一種奇特的網頁:你不能相信客戶端(在這種情況下客戶端就是你的應用程序運行的手機)攻擊者擁有更多的客戶端權限因此要回答你有關銀行應用如何受到保護的問題:很可能與銀行網頁受保護的方式相同:通過實施安全服務器端而不是客戶端服務器端,側。 –

3

我也面臨同樣的問題,但發現加密處理的情況的唯一機制,但ofcourse在設備上增加了負擔,但如果這是強制性那麼唯一的選擇是使用加密或隱祕

+1

加密/隱寫幾乎是無用的,因爲用戶可以訪問密鑰和算法以及數據。最多時,這會增加用戶訪問用戶數據的過程,但不會阻止他們。你所描述的是DRM,有兩種類型的DRM:那些已經被破解的DRM,以及那些沒有人試圖破解的DRM。 – CommonsWare

0

這是'安全'?

默認情況下,它從其他應用程序安全。

別的地方,有人說源於手機可以無視誰根自己的手機可以運行具有超級用戶權限的應用程序這個

用戶,並且這些應用程序可以訪問設備上的任何文件。

因此,內部存儲的數據對用戶來說並不安全,因爲它是用戶的電話,而不是你的,因此它是用戶的數據,而不是你的數據。大多數用戶不會訪問您的數據,但如果採取足夠的措施來完成此操作,所有用戶都有權使用這些數據。

如果是的話,如果有什麼方法可以'如果手機植根於'屏蔽應用程序'?

有沒有堅實的方式來確定電話是否植根。

+0

如果出現這種情況,android可以爲我們提供哪些安全措施來使濫用有價值的數據成爲可能? –

+0

@AndroSelva:如果你不希望用戶「濫用」「有價值的數據」,唯一真正的解決方案是沒有用戶。下一個最好的解決方法是不要將數據存儲在用戶的設備上,迫使用戶想出如何在應用程序之外自行下載數據。 – CommonsWare

+0

如果我的應用程序是基於離線的應用程序,該怎麼辦? –

相關問題