The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "SHSH"
(for ipt3 iOS4 still available, because no 4.0.1) |
(link TinyUmbrella) |
||
Line 3: | Line 3: | ||
This often also refers to the backup file with the signature. This signature is needed to restore a specific firmware version. The signature is being created by Apple and is being generated based on some hardware keys of the device and the hash of the firmware. Using a [http://en.wikipedia.org/wiki/Replay_attack replay attack], with the saved signature old firmware can be restored, although Apple doesn't issue the signatures anymore and therefore disallows installing older firmware. Therefore it is recommended to save the signature for your device as long as Apple issues it. |
This often also refers to the backup file with the signature. This signature is needed to restore a specific firmware version. The signature is being created by Apple and is being generated based on some hardware keys of the device and the hash of the firmware. Using a [http://en.wikipedia.org/wiki/Replay_attack replay attack], with the saved signature old firmware can be restored, although Apple doesn't issue the signatures anymore and therefore disallows installing older firmware. Therefore it is recommended to save the signature for your device as long as Apple issues it. |
||
− | To downgrade the firmware, simply change your hosts file to map any request to an Apple server to point to [[Saurik]]'s server instead, if your certificate is there. If you have the file yourself, run |
+ | To downgrade the firmware, simply change your hosts file to map any request to an Apple server to point to [[Saurik]]'s server instead, if your certificate is there. If you have the file yourself, run [[TinyUmbrella]] on your local machine. |
Not all devices have this check built in. Older devices allow installation of any correctly signed firmware, so no backup of the certificate is necessary. Devices that need Apple signatures are: [[N88ap|iPhone 3GS]], [[N90ap|iPhone 4]], [[N18ap|iPod touch 3G]], [[K48ap|iPad]] and all newer devices. To restore to arbitrary versions of iOS 4.0, the SHSH is also needed for the [[N72ap|iPod touch 2G]] and [[N82ap|iPhone 3G]]. See also the [http://blog.iphone-dev.org/post/833937433 Dev Team Blog post] about this. |
Not all devices have this check built in. Older devices allow installation of any correctly signed firmware, so no backup of the certificate is necessary. Devices that need Apple signatures are: [[N88ap|iPhone 3GS]], [[N90ap|iPhone 4]], [[N18ap|iPod touch 3G]], [[K48ap|iPad]] and all newer devices. To restore to arbitrary versions of iOS 4.0, the SHSH is also needed for the [[N72ap|iPod touch 2G]] and [[N82ap|iPhone 3G]]. See also the [http://blog.iphone-dev.org/post/833937433 Dev Team Blog post] about this. |
Revision as of 21:48, 23 July 2010
0x80 byte RSA signature of a firmware image.
This often also refers to the backup file with the signature. This signature is needed to restore a specific firmware version. The signature is being created by Apple and is being generated based on some hardware keys of the device and the hash of the firmware. Using a replay attack, with the saved signature old firmware can be restored, although Apple doesn't issue the signatures anymore and therefore disallows installing older firmware. Therefore it is recommended to save the signature for your device as long as Apple issues it.
To downgrade the firmware, simply change your hosts file to map any request to an Apple server to point to Saurik's server instead, if your certificate is there. If you have the file yourself, run TinyUmbrella on your local machine.
Not all devices have this check built in. Older devices allow installation of any correctly signed firmware, so no backup of the certificate is necessary. Devices that need Apple signatures are: iPhone 3GS, iPhone 4, iPod touch 3G, iPad and all newer devices. To restore to arbitrary versions of iOS 4.0, the SHSH is also needed for the iPod touch 2G and iPhone 3G. See also the Dev Team Blog post about this.
With the tools mentioned below it is possible to backup the signature. It is not necessary that the device is jailbroken to do the backup. Usually the shsh signature file is stored on Saurik's server. If it is stored there, then you can see in Cydia (on jailbroken devices) for which version a backup exists.
Users usually make the mistake that (even if they understand all this) they think the shsh firmware version they backup depends on the firmware version they have installed on their device. It does NOT depend on the device which signature you can save - it only depends on which version Apple signs. And that depends on the date. For example in April 2010 you could only backup the certificate for firmware 3.1.3, even if you have still 3.1.1 installed on you phone. Here's a timeline:
Timeline
iOS | for Device(s) | From | Until |
---|---|---|---|
3.0 | iPhone 3GS | 19 June 2009 | 9 September 2009 |
3.0.1 | iPhone 3GS | 31 July 2009 | 9 September 2009 |
3.1 | iPhone 3GS | 9 September 2009 | 8 October 2009 |
3.1.1 | iPod touch 3G | 9 September 2009 | 8 October 2009 |
3.1.2 | iPhone 3GS, iPod touch 3G | 8 October 2009 | 2 February 2010 |
3.1.3 | iPhone 3GS, iPod touch 3G | 2 February 2010 | 21 June 2010 |
3.2 | iPad | 3 April 2010 | 15 July 2010 |
3.2.1 | iPad | 15 July 2010 | - |
4.0 | iPhone 3GS | 21 June 2010 | 15 July 2010 |
4.0 | iPod touch 3G | 21 June 2010 | - |
4.0 | iPhone 4 | 24 June 2010 | 15 July 2010 |
4.0.1 | iPhone 3GS, iPhone 4 | 15 July 2010 | - |
Links and Tools
- TinyUmbrella requires Java installed
- AutoSHSH tool Was in the menu there, but does not work since 4.0 anymore. Was a quick&easy tool for end-users.
- Detailed background info from Saurik