在阅读第6页的iOS安全文档时,它将讨论OTA的更新过程。
OTA进程包括向Apple发送当前版本和设备ID的信息。在OTA响应中,Apples签署版本信息和设备ID,设备也会发送一个nonce来处理重放攻击。
苹果还声明:
The boot-time chain-of-trust evaluation verifies that the signature comes from
Apple and that the measurement of the item loaded from disk, combined with the
device’s ECID, matches what was covered by the signature. These steps ensure that
the authorization is for a specific device and that an old iOS version from one
device can’t be copied to another. The nonce prevents an attacker from saving
the server’s response and using it to tamper with a device or otherwise alter
the system software.我的问题是:
1)为什么需要签名的设备ID成为OTA更新的一部分?如果设备与苹果联系,只有苹果才能签署OTA响应。考虑到现在的情况,该设备可以告诉它刚刚发送的请求。那么,为什么需要签名的设备ID来个性化OTA更新呢?
2)他们提到将旧的iOS复制到不同的手机上--它们是否意味着通过某种USB接口或其他?如何才能做到这一点?
发布于 2016-03-27 00:53:06
iOS固件安装过程需要"SHSH“,其中包含iOS版本字符串和唯一的设备ID,然后由苹果进行签名。iOS引导加载程序在加载和执行该代码之前需要该签名。我假设OTA更新类似,因此也需要SHSH blobs。
为什么需要签名的设备ID?问苹果,而不是我们。最有可能的是,它是一种防御机制,防止降级到易受攻击的固件(用于越狱),因为您需要匹配的SHSH blobs,如果有新的固件版本,苹果就不再签署这些漏洞。这实际上是在你的引文中提到的,他们希望“一个旧的iOS版本不能从一个设备复制到另一个设备”。
发布于 2016-02-25 21:41:50
1)我认为设备ID是必需的,所以您不能进行OTA更新,并将其放到其他设备上。
( 2)或者试图通过重播苹果的回应来更新OTA。
https://security.stackexchange.com/questions/115776
复制相似问题