2011-07-22 188 views
0

我有一個iOS應用程序,計劃了一些額外的應用程序,爲用戶存儲特定的數據。我正在計劃在Apache Web服務器下編寫PHP同步服務器,以允許用戶創建帳戶並跨多個設備同步數據。我沒有在我的虛擬主機上設置SSL,所以我正在尋找一種內置方法來在同步過程中加密/解密數據。使用iOS和PHP加密和解密

感謝mcrypt,PHP端的加密/解密將非常簡單。但我還沒有找到在iOS端進行加密/解密的最佳方式。我發現一些使用開源或自定義加密方法的人,但Apple API中是否提供了一種直接加密/解密數據的方法?

+0

找到我需要的CommonCrypto庫:http://developer.apple.com/library/ios/#codinghowtos/Security/_index.html –

回答

0

這麼多問題,我不知道從哪裏開始。

設備A(具有變化同步) 網絡服務器(你有這樣的話) 設備B(需要從A變化) 設備C(需要從A變化)

[1]取決於加密的變化您正在發送的內容。

[2]是否要將數據從設備A加密到設備B和C?還是數據從A加密到Web服務器就足夠了?

如果您需要將它加密(A到B,C),那麼您需要使用對稱加密,其中密鑰在所有3個設備之間共享,而不是在網絡服務器之間共享。如果你只想將數據加密到網絡服務器的那一點,那麼你應該使用SSL(它會更快)。

[3]你將如何管理這些加密密鑰(假設你沒有使用SSL)?

總的來說,這聽起來不是安全的,加密不是你只是「打開」或「插入」,並最終形成一個安全的環境。也許你可以告訴我們你的總體目標是什麼。

+0

我已經制定出整體加密計劃,只是不確定哪些方法在iOS中可用於加密。我有這個策略。服務器端代碼不會成爲問題。 iOS端代碼是我需要幫助的,特別是只需要指向方法/類/庫的指針,這些指針將允許我在iOS端編寫實現代碼。 –

+0

至於戰略,我在看端到端的加密。我已經制定了如何處理客戶端和服務器之間的唯一加密密鑰的計劃。實施不需要超緊密的安全性;同步數據不是特別敏感(沒有財務數據,密碼等,只是用戶註釋和與應用程序功能相關的一些其他數據)。我想讓任何人試圖撬動困難。我腦海中應該保持足夠的安全。 SSL加密將是最好的解決方案,但如上所述,我沒有它,當我的需求是基本的時候,這是不值得的。 –

+0

在任何共享服務器上,SSL每月不能超過5美元。如果安全性比獲得SSL證書更重要。如果安全性不值每月5美元,那麼數據並不重要,你不需要加密。正是這些破碎的加密系統給人們帶來虛假的信心並導致數據泄露。 – Daisetsu