2011-04-27 100 views
0

在包含現有SQLite數據庫(即編譯時)的iP​​hone iOS4應用程序中,SQLite數據庫中的數據有多安全?iPhone和SQLite數據庫安全

例如,是否值得加密SQLite數據庫(使用許可證銷售的sqlite3_key(...)方法)?

+0

@All:爲什麼iPhone不安全的快速解釋,即使是開發者 - http://www.wired.com/gadgetlab/2009/07/iphone-encryption/ – SK9 2011-05-03 22:05:07

回答

1

它被鎖定,直到iPhone被越獄。越獄後,可以到您的數據庫,並可以將其複製到他的桌面,然後可以看到您的數據。所以我認爲如果你有非常重要的數據,那麼你應該加密你的數據庫

+0

SQLite數據庫可以被加密。在我看來,主要問題是如何提供密鑰。把這個密鑰放在源代碼中是愚蠢的;從安全服務器交付密鑰(一次?)是更有前途的。即使那樣,當它到達時也存在將鑰匙放在哪裏的問題。例如,邪惡的人一旦將其放入鑰匙串中就可以檢索它嗎? (可能...) – SK9 2011-04-28 09:12:12

0

AFAIK數據在iOS 4.x設備上進行物理加密。除此之外,應用程序是沙盒,這是一個相當安全的系統。

+0

任何文件都可以通過越獄進行訪問設備 – 2011-04-27 14:21:48

+0

克勞斯說,手機是安全的,直到它被越獄。所以它不是非常安全。 – SK9 2011-04-28 09:14:30

+0

取決於您「訪問」的含義。如果設備被鎖定了密碼,那麼您將很難讀取任何硬件加密數據。 – ax123man 2011-04-29 14:31:57

1

你必須回答的第一個問題是你的數據有多寶貴?這在一定程度上決定了黑客願意花費多少時間來嘗試獲取它。安全性是一個複雜的主題,你可以花幾天時間研究IOS安全性。它在很大程度上取決於IOS版本,IOS 4是第一個具有很好安全機會的版本。首先,除非您的設備被鎖定,否則任何東西都不安全此外,即使設備被鎖定,您的數據庫也不會被加密,除非您在代碼中設置了數據保護標誌。除了保護一個應用程序數據外,Sandbox並沒有真正幫助你。黑客與您的設備將越獄它並安裝SSH服務器,在那一點上可以做任何他們想做的事情,包括蠻力密碼破解嘗試。如果一個IOS 4設備被一個體面的密碼鎖定,並且您在數據庫上設置了數據保護,那麼您可能會依靠IOS硬件加密。但是,你可以依靠用戶設置一個體面的密碼嗎?默認的簡單密碼只有4位數 - 不是很好。他們都將是iOS 4+用戶嗎?否則,您需要對數據庫進行自己的加密。只要不把密鑰存儲在任何地方,cuz黑客就會找到它。當你在編碼中考慮安全性時,考慮黑客也可以反編譯並運行你的應用的修改版本。

+0

@ user69..2:SQLite數據庫可以加密,所以它不安全時,應用程序。在我看來,主要問題是如何提供密鑰。把這個密鑰放在源代碼中是愚蠢的;從安全服務器交付密鑰(一次?)是更有前途的。即使那樣,當它到達時也存在將鑰匙放在哪裏的問題。例如,邪惡的人一旦將其放入鑰匙串中就可以檢索它嗎? (可能...)如果蘋果有一些鑰匙串讓開發者保護他們的數據........... – SK9 2011-04-28 09:13:05

+0

如果一個應用程序有真正敏感的數據,讓他們輸入密鑰,每當應用程序啓動,永遠不會存儲它(除了在內存中)。相當不方便,但那總是與安全性交換。 – ax123man 2011-04-29 00:26:42