Changes

353 bytes removed ,  17:10, 26 July 2017
no edit summary
Line 18: Line 18:     
The master static key is generated by decrypting the master static seed (a constant stored in bootloader .data) with the master static key encryption key. The master static seed used varies depending on whether the console is a retail unit or a dev unit.
 
The master static key is generated by decrypting the master static seed (a constant stored in bootloader .data) with the master static key encryption key. The master static seed used varies depending on whether the console is a retail unit or a dev unit.
Both the master static key encryption key and the stage 2 key are stored in a keyblob. The following table describes the keyblob format.
+
Both the master static key encryption key and the stage 2 key are stored in a keyblob. The keyblob format is described [[Flash_Filesystem#Keyblob|here]].
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x10
  −
| AES-CMAC over the next 0xA0 bytes
  −
|-
  −
| 0x10
  −
| 0x10
  −
| CTR
  −
|-
  −
| 0x20
  −
| 0x90
  −
| Encrypted keydata
  −
|}
  −
 
  −
Decrypted Keydata format:
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x80
  −
| Array of master static key encryption keys
  −
|-
  −
| 0x80
  −
| 0x10
  −
| Stage 2 key
  −
|}
      
32 of these blobs are stored in the eMMC. Only one at a time is loaded, it is controlled by the bootloader version field in the BCT (at +0x2330).
 
32 of these blobs are stored in the eMMC. Only one at a time is loaded, it is controlled by the bootloader version field in the BCT (at +0x2330).