The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Nonce
Nonce is a signing method that randomizes Apple's cryptographic signature hash blobs (SHSH blobs) and is used with the BBTicket (baseband signing ticket) and the APTicket (firmware signing ticket).
Method
The device bootloaders (baseband or firmware) generate a random number at the restore, then send them to iTunes which sends them to Apple. Then Apple sends the APTicket / BBTicket SHSH certificate with the number generated. This level is the most critical: the number within the certificate is matched to the number generated on device, and if they match iTunes will prepare the matched certificate and finally will stitch the randomized blobs to the firmware. If the blobs don't match the restore will fail and the bootloaders will reject the certificate.
Usage
BBTicket
- No iPod touch (or iPad Wi-Fi) has been signed with the BBTicket, since by definition it has no baseband.
- iPhone 2G (bootloaders can be neutered to cancel this signchecks). iPhone 3G, iPhone 3GS and iPad Wi-Fi+3G - if the baseband is higher or equal (or just higher on bootloader 3.9 on iPhone 2G). Some bootloaders allow downgrade of the baseband if it is still signed.
- iPhone 4 (iPhone3,1), iPhone 4 (iPhone3,3), iPhone 4S, and iPad 2 (iPad2,2) and iPad 2 (iPad2,3) - AT+XNONCE - restores the baseband only if Apple is still signing it. On bootloaders 2.8, 2.13, Trek and Phoenix, both the AT+XNONCE and the "higher or equal" checks happen.
APTicket
- Devices with the S5L8900 get SHSH blobs without APTicket on 4.0 - 4.2.1, even though they are not required and can be avoided with Pwnage+Pwnage 2.0.
- Devices with the S5L8720 get SHSH blobs without APTicket from 3.1.1 and on, even though Bootrom 240.4 doesn't require them and they can be avoided with the 0x24000 Segment Overflow
- Devices with the S5L8920, S5L8922, S5L8930 and S5L8940 got SHSH blobs without APTicket between 3.0 - 4.3.5, and they can not be avoided (except for the Bootrom 359.3 with the 0x24000 Segment Overflow)
- Devices with the S5L8920, S5L8922, S5L8930, S5L8940, S5L8942, S5L8945, and S5L8950 get APTicket SHSH blobs on 5.0+. The SHSH requirement can not be avoided (except for the Bootrom 359.3 with 0x24000 Segment Overflow), and the APTicket requirement can only be avoided on devices vulnerable to the limera1n Exploit, or if the device is on iOS 5.1.1 or lower.
Jailbreak difficulties
With nonce signatures, signatures can't be cached, because signatures will not match if they have been reused. In other words, the widely used replay attack is no longer possible.