2012-02-22 56 views
0

我擁有存儲在應用程序隨附的屬性列表中的專有信息(公式等)。 屬性列表將由Xcode中的屬性列表編輯器創建和編輯。iOS 5:如何加密捆綁中的屬性列表?

此屬性列表如何在iOS 5中加密以避免用戶閱讀屬性列表公式?我正在尋找一個非常透明且易於實施的解決方案。

+0

爲什麼你不加密文件並解密它,並保存在doc目錄中,如果iTunes文件共享不允許... – 2012-02-22 19:16:49

+0

我正在尋找更多的即時加密。謝謝,Inder! – AlexR 2012-02-22 19:18:23

回答

3

首先,這是問題的一個非常具體的形式,「我怎麼防止我的應用程序被反向工程。」答案是你沒有。你可以實現一些基本的東西來試圖隱藏攻擊者的信息。但是,沒有辦法將您的代碼交給完全控制它運行的硬件並且仍然阻止其被反向設計的攻擊者。有關此的一般討論,請參閱Obfuscating CocoaSecure https encryption for iPhone app to webpage中列出了此問題的更多版本。

所以真正的問題是如何從臨時攻擊者隱藏你的信息,意識到專門的攻擊者會打敗你的計劃。當你以這種方式提出問題時,你意識到答案的一部分「儘可能容易,因爲如果它不會很成功,那麼花大量精力去做就會很愚蠢。」

所以用一個長而隨機的共享密鑰來混洗文件。將共享密碼放在你的代碼中,然後繼續生活。如果你需要一個好的工具,我推薦CommonCrypto,因爲它是內置的。請記住,這只是混淆。只要密鑰在軟件中,就不能認爲它是「加密」。

如果您的祕密足夠寶貴,您擁有重要的持續技術和法律資源來保護他們,請郵寄我一些更多的細節,我們可以談談您如何在您的內部創建反盜版和貿易祕密保護團隊組織(我有這方面的經驗,很樂意提供諮詢專業知識)。但請記住,蘋果公司控制着iPhone的上下,並花了很多錢來保護它。它仍然越獄。除非你打算將資源應用於類似的規模,否則你不應該期待更好的結果。在幾乎所有情況下,您最好花費自己的資源使產品更好,而不是保護您的產品。

+0

可能相關https://stackoverflow.com/questions/44695274/how-to-avoid-hardcoding-keys-for-encryption-swift?noredirect=1#comment76374229_44695274 – 2017-06-22 09:47:22