我需要开发一个简单的应用程序演示,该应用程序通过HTTPS读取文件并将其保存到iOS设备(例如iPhone)的本地内存(内部或外部)中,并且只能访问它。因此,需要特定于应用程序的文件加密。
Apple iOS开发人员库的“高级应用程序技巧”页面,在“使用磁盘上的加密保护数据”部分中,似乎暗示通过默认(即iOS文件系统)或“完成”在磁盘上加密的文件。用户键入设备的锁码后,所有应用程序都可以访问数据保护。
如果是这样,有人可以建议用户在尝试打开文件时,通过密码请求在iOS设备上为每个应用程序实现文件加密的最佳方法吗?任何示例代码也将非常有帮助。
另外,“软件加密”是否也适用于iOS?默认加密和数据保护加密似乎都是基于硬件的。
谢谢!
应用程序之间无法访问应用程序文件。每个应用程序都是单独沙盒化的。
在所有情况下,文档都在讨论“您的应用程序”可用的访问权限/其他应用程序永远无法访问它。但请参见下文。其中一个保护选项有助于说明“您的应用”在后台访问文件的时间和权限。
越狱的iOS设备将具有更大的文件系统访问权限,因此添加“数据保护”将对此向量进行保护。
请参阅有关iOS环境的文档会议,尤其是有关iOS环境的“应用程序沙箱”部分
硬件加密:硬件加密提供了一些功能。1.速度。2.加密方法无法更改,即与软件加密一样,不存在任何可能被盗用的代码。3.无法访问密钥。密钥以某种方式放置/创建在硬件中,并且该硬件将不允许读取访问(偶尔会有非常安全的导出功能)。要求设备对数据执行加密功能并返回数据。例如智能卡,HSM,TPM和TPM等效项,iPhone具有TPM等效项,并用于钥匙串。碰巧我和妻子昨天在讨论这个话题。:-)
据我所知,对于批量数据的加密,iOS确实使用特殊的硬件指令来辅助AES加密,以提高速度,但是由于软件中提供了密钥,因此不会被视为硬件加密。由于缺少有关Apple A系列ARM芯片的信息,因此这里有些猜测,Mac中的Intel芯片就是如此。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句