Difference between revisions of "Bootchain"

From The iPhone Wiki
Jump to: navigation, search
(Created page with "==Application Processor== *Bootrom *LLB *iBoot *Kernel *Applications ==Baseband== *Bootrom *Bootloader *[[Baseband_F...")
 
(add introduction - correct this way?)
Line 1: Line 1:
  +
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).
  +
 
==Application Processor==
 
==Application Processor==
 
*[[Bootrom]]
 
*[[Bootrom]]

Revision as of 07:43, 27 January 2012

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).

Application Processor

Baseband