Difference between revisions of "Bootchain"

From The iPhone Wiki
Jump to: navigation, search
(Undo revision 26925 by 5urd (talk) - wrong - please discuss if you disagree)
(adding introductory summary for context)
Line 1: Line 1:
  +
The '''bootchain''' (or '''secure boot chain''') is the system by which Apple tries to ensure that only signed/trusted code is loaded on an iOS device.
The reason for having a secure boot chain is as follows. The initial code (bootrom) is contained within the processor and cannot be changed. It decrypts the next stage and verifies integrity before it executes any code of the next stage. This continues for all stages until the execution of the kernel and applications. The integrity verification uses the keys on the device. To sign such code, you need the corresponding private key that only Apple holds. This way Apple has total control of any code that runs on your device. The idea of jailbreaking is to break this chain somewhere so that you can run any application or customize some firmware changes (unlock for example).
 
  +
  +
The initial code ([[bootrom]]) is contained within the processor and cannot be changed. It decrypts the next stage and verifies integrity before it executes any code of the next stage. This continues for all stages until the execution of the [[kernel]] and applications. The integrity verification uses the keys on the device. To sign such code, you need the corresponding private key that only Apple holds. This way Apple has total control of any code that runs on your device. The idea of jailbreaking is to break this chain somewhere so that you can run any application or customize some firmware changes (unlock for example).
   
 
==Application Processor==
 
==Application Processor==

Revision as of 09:49, 30 September 2013

The bootchain (or secure boot chain) is the system by which Apple tries to ensure that only signed/trusted code is loaded on an iOS device.

The initial code (bootrom) is contained within the processor and cannot be changed. It decrypts the next stage and verifies integrity before it executes any code of the next stage. This continues for all stages until the execution of the kernel and applications. The integrity verification uses the keys on the device. To sign such code, you need the corresponding private key that only Apple holds. This way Apple has total control of any code that runs on your device. The idea of jailbreaking is to break this chain somewhere so that you can run any application or customize some firmware changes (unlock for example).

Application Processor

Baseband