gpt4 book ai didi

ios - 如何将数据保护与核心数据一起使用?

转载 作者:可可西里 更新时间:2023-11-01 05:28:15 25 4
gpt4 key购买 nike

我正在开发一个使用 Core Data 的 iOS 7 及更高版本的应用程序,我被要求对持久数据进行加密。我在后台使用 SQLite 数据库。

我一直在阅读 iOS Technology Overview 中有关 Data Protection 功能的信息和 App Programming Guide for iOS , 但我不确定它是否可以与 Core Data 一起使用来加密 SQLite 文件...可以吗?怎么办?

如果可以将Data ProtectionCore Data一起使用,是否满足加密存储数据的要求?我的意思是,这就够了吗?我还发现有一些第三方处理 SQLite 数据加密,例如 SQLCipher .我应该集成此类第三方之一吗?

提前致谢

最佳答案

[...] but I'm not sure if it can be used with Core Data to encrypt the SQLite file... can it?

this answer 中所述您应该确保 SQLite 文件本身在创建时已加密。

NSPersistentStoreFileProtectionKeyNSFileProtectionComplete 选项一起使用意味着“[...] 文件以加密格式存储在磁盘上,无法读取或写入当设备被锁定或启动时”。看看 documentation在所有可用选项上。

与上面提到的 DV_ 一样,这仅在设备获得密码时有效。

If using Data Protection with Core Data is possible, would that meet the requirement of encrypting the stored data?

这取决于存储数据的敏感性。 “通常”Apple 提供的硬件加密足以满足正常用例。

如果未设置密码或攻击者可以通过物理访问解锁设备,则可以在设备越狱时访问数据库文件及其内容。

像 SQLCipher 这样的工具有助于防止这种情况发生,因为您不依赖于系统提供的安全框架。即使设备受到威胁,数据库文件也会被加密,因为加密/解密将由应用程序本身处理。

要使用其各个属性保护数据库文件的内容,您可以将Transformable AttributesNSValueTransformer ( details ) 一起使用。

关于ios - 如何将数据保护与核心数据一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29746944/

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