2009-10-19 37 views
2

客戶端擔心數據應用程序在設備上本地使用和存儲的安全性(例如,即使在越獄的iPhone上,他們也想阻止讀取我們的數據文件)。所以我想知道 - 確保iPhone數據安全的可能方法是什麼?我正在考慮2種存儲數據的方法 - 一堆xml文件(最大大小 - 大約1MB)或sqlite數據庫。我更傾向於第二個變體,但仍不確定保護iPhone上的數據的常用做法

+2

我認爲越獄iPhone的安全性是一個失敗的原因。通過添加「加密」和「模糊處理」,你能做的最好的事情是「讓」對手的生活變得更加困難 – notnoop 2009-10-19 15:26:56

+0

你真的不會在這裏提供很多信息。數據文件有多大?他們是否因用戶而異?只讀嗎? 我懷疑你會發現答案大致相當於實施DRM。最終設備需要使用數據,這意味着設備需要有任何你需要的密鑰。在一天結束的時候,你所能做的只是某種數據模糊處理,但即使有人真的關心打破數據,這也不會有效。 – 2009-10-19 15:28:27

回答

0

手機上提供的commoncrypto庫支持對稱加密。您可以將密鑰存儲在本身是非對稱加密的密鑰鏈中。解密鑰匙鏈的關鍵在於硬件,因此您需要花費一些時間來檢索數據。

+0

不幸的是,這可能不會提供OP正在尋找的那種保護。在越獄iPhone上,您可以針對應用運行gdb並獲取鑰匙串返回的密鑰。 – 2009-10-19 15:25:17

+0

在jailbricked手機上,您可以通過任何機制解密時獲取純文本。然而,使用commoncrypto至少會提高設備的備份不可讀性。 – 2009-10-19 15:32:18

2

任何時間代碼都運行在超出您的控制範圍的物理硬件上,易受攻擊 - iPhone必須有能力解碼數據以使其可用,並且如果iPhone具有該功能,用戶。如果數據足夠有價值,有人打破你的加密。

電影業在其DVD DRM上花費了數百萬美元。它幾周後就破解了。

3

你可能想看看這篇文章 - Protecting resources in iPhone and iPad apps。它討論了在構建時加密應用程序資源的方案,然後可以在應用程序需要時對其解密。解密發生在內存中,因此不受保護的臨時文件不會留在文件系統中。您甚至可以將加密的HTML,PDF &圖像直接加載到UIWebView中。

爲了透明起見:我寫了那篇文章,它在我自己的網站上託管。

0

(例如,即使在越獄iPhone上,他們也想阻止讀取我們的數據文件)。你可以使用localytics移動分析(開源)來查明該應用程序是否已經在Jail破iPhone中使用或不使用..他們有高級選項也..移動分析的很多available.you可以檢查..