簡體   English   中英

如何使我的數據庫對Mac OS X開發安全?

[英]How can I make my database Secure For Mac OS X development?

我正在開發一個Mac OS X應用程序,其中將包含用戶數據。 核心數據/ Sqlite是用於存儲用戶數據庫的好選擇。 但是我要確保用戶數據是高度安全的。 那么,在Mac平台上,我們有什么選擇來開發安全數據庫。

您可以使用幾個選項來使用Core Data。 但是,當軟件運行且解密密鑰為“實時”時,這些方法均無法保護您的數據。

第一種選擇是使用加密的磁盤映像來存儲數據庫文件。 在iOS上這不是必需的,默認情況下,所有文件都是加密的,但是您可以配置一些加密方面,以進行更嚴格的安全設置(使用NSFileProtectionKey搜索)。 在OS X上,等效的技術是FileVault,但大多數時間它不會處於活動狀態,因此您不要指望它。 因此,是的,在軟件啟動時掛載的磁盤映像和提供的正確密碼在軟件退出時掛載。 您可能希望使用幫助程序監視主應用程序,並在應用程序崩潰或退出而沒有正確卸載它的情況下卸載該映像,來保護磁盤映像免於應用程序崩潰。

第二種選擇是編寫一個NSValueTransformer來加密實體中的每個敏感屬性。 這里的保護位於屬性級別。 它可能足夠好,也可能不夠好,並且會影響獲取請求的工作方式。

第三種選擇是編寫自己的持久性存儲(通過將NSAtomicStore子類NSAtomicStore )。 這並非沒有后果,因此,必須仔細評估解決方案。

除此之外,不要忘了基礎:鑰匙串,諸如PBKDF2之類的密鑰拉伸功能,密碼鹽等等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM