Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS中特定于应用程序的文件加密_Ios_Iphone_File_Encryption - Fatal编程技术网

iOS中特定于应用程序的文件加密

iOS中特定于应用程序的文件加密,ios,iphone,file,encryption,Ios,Iphone,File,Encryption,我需要开发一些简单的演示,演示应用程序通过HTTPS读取文件,并将其保存到iOS设备(例如iPhone)的本地内存(内部或外部),以使其只能访问。因此,需要特定于应用程序的文件加密 “使用磁盘加密保护数据”一节中的Apple iOS开发者库页面似乎暗示,在用户键入设备锁码后,通过默认(即iOS文件系统)或“完整”数据保护在磁盘上加密的文件将被所有应用程序访问 如果是这样的话,有人能建议在iOS设备上实现每个应用程序的文件加密的最佳方法吗?当用户试图打开文件时,请使用密码请求?任何示例代码都将非常

我需要开发一些简单的演示,演示应用程序通过HTTPS读取文件,并将其保存到iOS设备(例如iPhone)的本地内存(内部或外部),以使其只能访问。因此,需要特定于应用程序的文件加密

“使用磁盘加密保护数据”一节中的Apple iOS开发者库页面似乎暗示,在用户键入设备锁码后,通过默认(即iOS文件系统)或“完整”数据保护在磁盘上加密的文件将被所有应用程序访问

如果是这样的话,有人能建议在iOS设备上实现每个应用程序的文件加密的最佳方法吗?当用户试图打开文件时,请使用密码请求?任何示例代码都将非常有用

此外,“软件加密”是否适用于iOS?默认加密和数据保护加密似乎都是基于硬件的


谢谢

应用程序文件在应用程序之间不可访问。每个应用程序都是单独的沙盒

在所有情况下,文档都在谈论“您的应用程序”的可用访问权限/其他应用程序永远无法访问它。但见下文。其中一个保护选项有助于涵盖“您的应用程序”在后台访问文件的内容和时间

越狱的iOS设备将具有更大的文件系统访问权限,因此添加“数据保护”将保护您免受此载体的攻击

请参阅iOS环境中的文档会话,特别是“应用程序沙盒”部分

硬件加密:硬件加密提供了一些功能。1.速度2.加密方法无法更改,也就是说,与软件加密一样,没有可能泄露的代码。3.无法访问该密钥。密钥以某种方式放置/创建在硬件中,硬件将不允许读取访问(偶尔会有非常安全的导出功能)。要求设备对数据执行加密功能并返回数据。例如智能卡、HSM、TPM和TPM等价物,iPhone有TPM等价物,用于钥匙链。昨天我和妻子碰巧讨论了这个话题。:-)


据我所知,对于批量数据的加密,iOS确实使用特殊的硬件指令来帮助AES加密以提高速度,但由于软件中有可用的密钥,因此这不会被视为硬件加密。由于缺乏关于苹果a系列ARM芯片的信息,这里有一点猜测,Mac中的英特尔芯片也是如此。

但肯定存在攻击者可以读取iOS内存全部内容的情况?尽管存在特定于应用程序的沙箱,但如何做到这一点?仅限越狱设备。有两种(至少)CPU模式:特权模式(有时称为管理模式)和用户模式(至少)。每个都有功能,用户受到限制,包括物理内存访问。除其他外,这些限制允许多用户系统操作和限制访问。以web服务器为例。但是,在越狱设备中,无论谁知道锁(PIN)并登录,都可以访问所有文件,即使这些文件是通过数据保护保存的?如果设备是越狱的,PIN是已知的,攻击者可以对iOS设备进行物理访问。访问可能是可用的。对于安全设计,必须确定一些事项。数据对开发人员、设备所有者、数据所有者和攻击者的价值。什么样的攻击需要加强。用户能容忍的使用困难程度。需要保护的漏洞。然后可以开始制定安全计划。如果你有真正的价值,你需要聘请一名安全领域专家。仅仅拥有良好的加密是不够的。