2012-07-13 52 views
0

我正在開發一個應用程序,非常簡單,而且它的重要組成部分,是內容,其中包括大量的信息已經聚集了很多年的。我想以一種很好的方式將其格式化以顯示給用戶。的iOS加密使用的網絡數據安全

當用戶下載應用程序並首次加載應用程序時,它會轉到服務器以將整個數據庫存入手機。然後,他可以看到重要的項目,並通過它們進行排序/篩選。爲了避免有人拿我的數據庫,我會使用SSL連接。我知道他們是否希望他們可以使用該應用程序逐一查看每一條內容,但沒有關於此的內容。

的事情是:我在雲(礦)的數據。我可以使用SSL連接安全地下載它(任何其他想法來保證傳輸?)。當我在這裏得到它時,我將它保存在一個分貝(核心數據是明顯的選擇)。

如何保護內部數據庫中的數據,所以如果應用程序被黑客攻擊,有人無法訪問數據庫?我會把它放在鑰匙鏈中,但它是一個相當大的分貝,它不是重要。 (這是不明智的信息,只是我不希望任何人得到大量。)

我可以做的另一件事是永遠不會在設備中存儲任何東西,並讓用戶總是打電話給雲,但我認爲這太費時。只要給他選擇將他們最喜歡的選擇保存到設備。但是這太費時,並且存在同步問題。

這是我擡頭有關類似問題的參考,沒有我要求回答的部分: How to encrypt iPhone upload and download of info?

回答

1

基本上,唯一的選擇就是使用SqlCipher。當然,你必須將它自己移植到iPhone上(除非其他人自上次查看後發佈了一個端口)。但這不是一項不可逾越的任務。

當然,即使你SqlCipher不知何故有存儲的關鍵挑戰。沒有真正安全的方法來做到這一點 - 你必須使用某種形式的「默默無聞的安全」。

+0

我可以存儲在鑰匙串鑰匙,這就是所謂在iPhone上最安全的部分(它甚至具有硬件加密) – Daniel 2012-07-13 21:46:07

+0

SqlCipher顯得相當好用! http://sqlcipher.net/ios-tutorial/你現在可以爲iOS準備好150美元。 (我剛與公司見面,只是評論它,因爲它與答案有關,可能對未來某個人有用) – Daniel 2012-07-13 21:53:22

1

爲什麼不只是有一些私人密鑰信息存儲在代碼中,然後當你想下載數據庫只是讓它用密鑰查詢服務器?這樣你就不需要擔心下載部分的SSL或加密。關於存儲它,我同意熱舔,SqlCipher似乎是最好的和唯一的選擇。但是請注意加密,因爲您必須將其聲明爲Apple並獲得各種導出許可(http://stackoverflow.com/questions/2135081/does-my-application-contain-encryption)。

希望這有助於

喬納森

+0

你是指公鑰密碼術? – Daniel 2012-07-13 21:45:04

+0

@Daniel我想是的。 – 2012-07-14 10:37:22