gpt4 book ai didi

database - 如何确保我的数据库在 Mac OS X 开发中安全?

转载 作者:行者123 更新时间:2023-12-03 17:57:05 25 4
gpt4 key购买 nike

我正在开发一个 Mac OS X 应用程序,其中将包含用户数据。 Core data/Sqlite 是存储用户数据库的不错选择。但我想确保用户数据是高度安全的。那么我们在 Mac 平台上有什么选择来开发安全数据库呢?

最佳答案

您有多个选项可以与 Core Data 一起使用。但当软件运行且解密 key 处于“实时”状态时,这些方法都无法保护您的数据。

第一个选项是使用加密的磁盘镜像来存储数据库文件。这在 iOS 上不是必需的,默认情况下所有文件都会加密,但您可以配置一些加密方面以实现更严格的安全设置(谷歌搜索 NSFileProtectionKey)。在 OS X 上,等效技术是 FileVault,但它在大多数时间不会处于事件状态,因此您不应该指望它。所以是的,磁盘镜像在软件启动时安装并提供正确的密码,在软件退出时卸载。您可能希望使用辅助进程来保护磁盘镜像免受应用程序崩溃的影响,该辅助进程会监视主应用程序并在应用程序崩溃或退出而未正确卸载它时卸载镜像。

第二个选项是编写一个 NSValueTransformer 来加密实体中的每个敏感属性。这里的保护是属性级别的。它可能足够好,也可能不够好,并且它会影响获取请求的工作方式。

第三个选项是编写您自己的持久存储(通过子类化 NSAtomicStore)。但这并非没有后果,必须仔细评估该解决方案。

除此之外,不要忘记类(class)的基础:钥匙串(keychain)、PBKDF2 之类的 key 拉伸(stretch)函数、密码盐等等。

关于database - 如何确保我的数据库在 Mac OS X 开发中安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11554497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com