2009-11-13 100 views
1

我有一個iPhone應用程序需要有自毀選項。這個應用程序將被用於敏感的地點,並擁有一些算法,這是除了iPod持有人以外的任何人都不知道。自我刪除iPhone應用程序

什麼是最「完整」的方式刪除應用程序?

我在想如何將零寫入nib文件。或實際的application.app,但我相信這個文件夾是寫保護和沙箱。

任何人有更好的方法來實現這個想法?

詳述(從原來的海報的評論摘自):

這是一個越獄的iPhone。

這些裝置將被提供給軍事人員,這個裝置落入敵人的手中是我最擔心的問題。它會有一個按鈕,所以一旦應用程序被寫入零或更好的應用程序擦拭擦拭應用程序沒有任何工作的方式和垃圾遍及「垃圾」損壞,它需要檢查的iPod閃存芯片與設備,我100%知道錯誤的人不會有

回答

1

我要在這裏出去,說你可能不想使用iPhone這種類型的應用程序。在iphone和跳板中對這種確切類型的操作有意圖的限制。如果你做的事情非常敏感,以至於無法落入未經授權的手中,我的建議是使用不同的,更可定製/可控制的平臺。

+0

我打算使用越獄的iPod,因爲我知道這些限制並簡化了應用程序的分發。 – Annerajb 2009-11-13 22:06:42

+0

好吧,這將消除它的一個方面 - 你可能也想看看一些加密,以及如果你正在使用定製的iPod。 – paulthenerd 2009-11-13 22:10:02

0

這些文件夾是沙盒,但您的應用程序在那裏。在我越獄的iPhone上,我看到所有權限都歸移動設備所有,所以我沒有看到任何理由不能用零覆蓋所有文件,然後刪除它們。

+0

因此,使用NSFileManager將零寫入應用程序應該不成問題? – Annerajb 2009-11-13 21:53:12

+0

看起來不錯。應該是相當直接的測試。我看到一些操作系統在執行二進制代碼時遇到問題(導致崩潰)。 – 2009-11-13 22:04:02

0

應用程序包是有效的只讀,也許你應該在網絡上的某個地方以加密的形式存儲一些信息。

1

除非您使用的是越獄設備,否則您可能會遇到問題。

即使您可以找到一種方法來自動刪除應用程序,但仍然存在這些算法陷入錯誤手中的風險 - 您基本上會遇到與蘋果公司越獄相同的問題 - 一旦設備在別人的手中,它只需要適當的動機來訪問數據。

確保算法安全的唯一方法是將數據傳遞到遠程服務器並獲取結果。安全漏洞仍然存在,但是要低得多。

+0

我想我會詳細闡述一下。這些裝置將被提供給軍事人員,這種裝置落入敵人手中是我最擔心的問題。它會有一個按鈕,所以一旦應用程序被寫入零或更好的應用程序擦拭擦拭應用程序沒有任何工作的方式和垃圾遍及「垃圾」損壞,它需要檢查的iPod閃存芯片與設備,我100%知道錯誤的人不會有。 – Annerajb 2009-11-13 22:11:41

0

即使你找到一種方法,在閃存應用程序上書寫,你真的不刪除該應用。閃存芯片使用wear leveling algorithms當你寫出來零它們通常被寫入到一個新的內存塊,而不是同一塊之前用於降低寫入同一個塊等等,所以你真的沒有什麼擦除。數據仍然可以從閃存芯片(由專業版)恢復。

另一選擇是分離出該算法的參數,使得該算法不再敏感(或至少不能使用),並提供在一個文件中的加密的參數。然後提供通過網絡的關鍵在於授權用戶和不存儲鑰匙插入閃存,RAM只。他們每次啓動應用程序時都需要獲取密鑰。只有鑰匙交給授權用戶。當然,您還需要加密該密鑰以便通過另一個密鑰在網絡上傳輸......有系統可以做到這一點,不要發明自己的密碼,無論如何,您需要加密專家才能做到這一點對。

1

我不知道這樣做有多好,但是您可以將算法存儲爲應用程序包內的文件,可以使用腳本語言或其他方式從該文件運行算法,並在需要時刪除該文件至。

3

如果您在應用程序中公開存儲包含此算法的代碼,那麼在運行「擦除」過程之前,沒有什麼能夠阻止「錯誤的人」越獄設備並複製設備的完整文件結構。

此外,如果您正在與美國政府客戶打交道,我懷疑他們會批准購買越獄設備,因爲此類設備的供應商有claimed that jailbreaking is illegal。不管這是否會在法庭上舉行,政府往往在這些問題上保守,在謹慎方面犯錯。由於蘋果公司是一家大型美國公司和政府供應商,因此我不希望政府採購商在這方面採取違禁行爲。

我的建議是加密應用程序包中文件中的特定算法,並要求此應用程序的用戶使用正確(困難)的密碼將該文件解密到內存中。這樣,即使「壞人」能夠訪問應用程序,他們也不會擁有訪問這些算法所需的所有內容,並且不得不暴露加密部分的密碼。這可以在標準的非越獄設備上完成。

美國軍隊是rolling out iPods in the field,他們有自定義應用程序,所以我相信你不是第一個面臨這個挑戰的人。如果這項工作是通過國防部SBIR資助(或類似的)資助的,你甚至可以聯繫你的簽約官員,看看他們是否可以讓你聯繫可能能夠幫助你的適當機構的人員與此(甚至可以確定是否是一個問題開始)。

0

我會使用內置的加密來存儲數據,用戶必須輸入密鑰才能解密數據。沒有密鑰,數據blob是否從設備中恢復並不重要。

相關問題