在包含現有SQLite數據庫(即編譯時)的iPhone iOS4應用程序中,SQLite數據庫中的數據有多安全?iPhone和SQLite數據庫安全
例如,是否值得加密SQLite數據庫(使用許可證銷售的sqlite3_key(...)
方法)?
在包含現有SQLite數據庫(即編譯時)的iPhone iOS4應用程序中,SQLite數據庫中的數據有多安全?iPhone和SQLite數據庫安全
例如,是否值得加密SQLite數據庫(使用許可證銷售的sqlite3_key(...)
方法)?
它被鎖定,直到iPhone被越獄。越獄後,可以到您的數據庫,並可以將其複製到他的桌面,然後可以看到您的數據。所以我認爲如果你有非常重要的數據,那麼你應該加密你的數據庫
SQLite數據庫可以被加密。在我看來,主要問題是如何提供密鑰。把這個密鑰放在源代碼中是愚蠢的;從安全服務器交付密鑰(一次?)是更有前途的。即使那樣,當它到達時也存在將鑰匙放在哪裏的問題。例如,邪惡的人一旦將其放入鑰匙串中就可以檢索它嗎? (可能...) – SK9 2011-04-28 09:12:12
你必須回答的第一個問題是你的數據有多寶貴?這在一定程度上決定了黑客願意花費多少時間來嘗試獲取它。安全性是一個複雜的主題,你可以花幾天時間研究IOS安全性。它在很大程度上取決於IOS版本,IOS 4是第一個具有很好安全機會的版本。首先,除非您的設備被鎖定,否則任何東西都不安全此外,即使設備被鎖定,您的數據庫也不會被加密,除非您在代碼中設置了數據保護標誌。除了保護一個應用程序數據外,Sandbox並沒有真正幫助你。黑客與您的設備將越獄它並安裝SSH服務器,在那一點上可以做任何他們想做的事情,包括蠻力密碼破解嘗試。如果一個IOS 4設備被一個體面的密碼鎖定,並且您在數據庫上設置了數據保護,那麼您可能會依靠IOS硬件加密。但是,你可以依靠用戶設置一個體面的密碼嗎?默認的簡單密碼只有4位數 - 不是很好。他們都將是iOS 4+用戶嗎?否則,您需要對數據庫進行自己的加密。只要不把密鑰存儲在任何地方,cuz黑客就會找到它。當你在編碼中考慮安全性時,考慮黑客也可以反編譯並運行你的應用的修改版本。
@ user69..2:SQLite數據庫可以加密,所以它不安全時,應用程序。在我看來,主要問題是如何提供密鑰。把這個密鑰放在源代碼中是愚蠢的;從安全服務器交付密鑰(一次?)是更有前途的。即使那樣,當它到達時也存在將鑰匙放在哪裏的問題。例如,邪惡的人一旦將其放入鑰匙串中就可以檢索它嗎? (可能...)如果蘋果有一些鑰匙串讓開發者保護他們的數據........... – SK9 2011-04-28 09:13:05
如果一個應用程序有真正敏感的數據,讓他們輸入密鑰,每當應用程序啓動,永遠不會存儲它(除了在內存中)。相當不方便,但那總是與安全性交換。 – ax123man 2011-04-29 00:26:42
@All:爲什麼iPhone不安全的快速解釋,即使是開發者 - http://www.wired.com/gadgetlab/2009/07/iphone-encryption/ – SK9 2011-05-03 22:05:07