2016-05-22 178 views
1

我需要在我的應用程序中保護一些敏感數據。我想用NSFileProtection來做到這一點。我想知道,用戶是否能夠瀏覽使用NSFileProtection保護的文件,如果他將越獄它的設備?如果是,是否有其他方法來保護這些數據免遭越獄設備的侵害?NSFileProtection越獄設備

回答

4

NSFileProtection不提供對具有root權限的設備上執行的代碼的任何實際保護。沒有PIN碼,你可以打開任何文件。當設備被鎖定時,pincode文件將不可訪問,但可以輕鬆攔截輸入的pincode並稍後使用它以編程方式禁用保護並隨時打開任何文件。但是如果用戶自己想要訪問,那麼他將不會首先使用PIN碼。

至於其他保護方式,我不認爲你可以妥善保護任何技術用戶。有幾種方式,但總是有方法:

  1. 加密數據並存儲本地加密密鑰。用戶可以找到密鑰並解密所有內容
  2. 加密數據,但在服務器端存儲加密密鑰,絕不會在本地任何地方緩存它們。用戶可以嗅探網絡流量並獲取密鑰。使用證書鎖定的SSL將保護您免受此類攻擊。但用戶可以隨時修補應用程序的二進制文件或使用掛鉤完全禁用加密或轉儲加密密鑰。
  3. 不要在本地存儲任何東西,始終訪問網絡上的數據。使用帶有證書鎖定的SSL來避免嗅探。但是,二進制補丁和鉤子仍然是可能的。

所以我不認爲你可以完全保護你的數據,但你可以使保護足夠困難,以反向工程和禁用,以便大多數用戶不會通過它。

+0

THX爲您的答案。你能再給我解釋一件事嗎。如果用戶沒有pincode用戶如何訪問這些文件?假設該應用程序沒有啓用文件共享。 – Sayaki

+0

文件共享是通過USB或WiFi iTunes同步訪問的。它不提供任何其他保護。如果設備越獄,可以通過根文件系統USB訪問或沙箱外設備上的任何應用程序訪問這些文件。幾乎所有的軟件保護iOS都取決於它的操作系統非常有限且封閉。一旦你獲得root權限,一切都消失了。包括你可以閱讀整個內容的鑰匙串。 – creker