apple-data 1.0.607 → 1.0.610

Sign up to get free protection for your applications and to get access to all the features.
Files changed (209) hide show
  1. checksums.yaml +4 -4
  2. data/lib/apple_data/data_file.rb +29 -0
  3. data/lib/apple_data/version.rb +1 -1
  4. data/share/backup.yaml +2 -0
  5. data/share/baseband/qualcomm/mav13.yaml +3 -2
  6. data/share/baseband/qualcomm/mav20.yaml +43 -42
  7. data/share/baseband/qualcomm/mav21.yaml +246 -248
  8. data/share/baseband.yaml +62 -62
  9. data/share/bluetooth.yaml +33 -33
  10. data/share/boot_args.yaml +19 -18
  11. data/share/bridgeos.yaml +5 -0
  12. data/share/bundles.yaml +42 -40
  13. data/share/coprocessor.yaml +34 -45
  14. data/share/cores.yaml +1 -0
  15. data/share/credits.yaml +3 -0
  16. data/share/debug.yaml +6 -4
  17. data/share/device_tree.yaml +1 -1
  18. data/share/devices/ADP3,1.yaml +3 -0
  19. data/share/devices/ADP3,2.yaml +3 -0
  20. data/share/devices/AppleTV5,3.yaml +3 -0
  21. data/share/devices/AudioAccessory5,1.yaml +3 -0
  22. data/share/devices/MacBookAir10,1.yaml +3 -0
  23. data/share/devices/MacBookPro17,1.yaml +3 -0
  24. data/share/devices/MacBookPro18,1.yaml +3 -0
  25. data/share/devices/MacBookPro18,2.yaml +3 -0
  26. data/share/devices/MacBookPro18,3.yaml +3 -0
  27. data/share/devices/MacBookPro18,4.yaml +3 -0
  28. data/share/devices/Macmini9,1.yaml +3 -0
  29. data/share/devices/VirtualMac2,1.yaml +3 -0
  30. data/share/devices/Watch3,1.yaml +3 -0
  31. data/share/devices/Watch3,2.yaml +3 -0
  32. data/share/devices/Watch3,3.yaml +3 -0
  33. data/share/devices/Watch3,4.yaml +3 -0
  34. data/share/devices/Watch4,1.yaml +3 -0
  35. data/share/devices/Watch4,2.yaml +3 -0
  36. data/share/devices/Watch4,3.yaml +3 -0
  37. data/share/devices/Watch4,4.yaml +3 -0
  38. data/share/devices/Watch5,1.yaml +3 -0
  39. data/share/devices/Watch5,10.yaml +3 -0
  40. data/share/devices/Watch5,11.yaml +3 -0
  41. data/share/devices/Watch5,12.yaml +3 -0
  42. data/share/devices/Watch5,2.yaml +3 -0
  43. data/share/devices/Watch5,3.yaml +3 -0
  44. data/share/devices/Watch5,4.yaml +3 -0
  45. data/share/devices/Watch5,9.yaml +3 -0
  46. data/share/devices/Watch6,1.yaml +3 -0
  47. data/share/devices/Watch6,2.yaml +3 -0
  48. data/share/devices/Watch6,3.yaml +3 -0
  49. data/share/devices/Watch6,4.yaml +3 -0
  50. data/share/devices/Watch6,6.yaml +3 -0
  51. data/share/devices/Watch6,7.yaml +3 -0
  52. data/share/devices/Watch6,8.yaml +3 -0
  53. data/share/devices/Watch6,9.yaml +3 -0
  54. data/share/devices/iBridge2,1.yaml +3 -0
  55. data/share/devices/iBridge2,10.yaml +3 -0
  56. data/share/devices/iBridge2,11.yaml +3 -0
  57. data/share/devices/iBridge2,12.yaml +3 -0
  58. data/share/devices/iBridge2,13.yaml +3 -0
  59. data/share/devices/iBridge2,14.yaml +3 -0
  60. data/share/devices/iBridge2,15.yaml +3 -0
  61. data/share/devices/iBridge2,16.yaml +3 -0
  62. data/share/devices/iBridge2,19.yaml +3 -0
  63. data/share/devices/iBridge2,20.yaml +3 -0
  64. data/share/devices/iBridge2,21.yaml +3 -0
  65. data/share/devices/iBridge2,22.yaml +3 -0
  66. data/share/devices/iBridge2,3.yaml +3 -0
  67. data/share/devices/iBridge2,4.yaml +3 -0
  68. data/share/devices/iBridge2,5.yaml +3 -0
  69. data/share/devices/iBridge2,6.yaml +3 -0
  70. data/share/devices/iBridge2,7.yaml +3 -0
  71. data/share/devices/iBridge2,8.yaml +3 -0
  72. data/share/devices/iMac21,1.yaml +3 -0
  73. data/share/devices/iMac21,2.yaml +3 -0
  74. data/share/devices/iPad11,1.yaml +3 -0
  75. data/share/devices/iPad11,2.yaml +3 -0
  76. data/share/devices/iPad11,3.yaml +3 -0
  77. data/share/devices/iPad11,4.yaml +3 -0
  78. data/share/devices/iPad11,6.yaml +3 -0
  79. data/share/devices/iPad11,7.yaml +3 -0
  80. data/share/devices/iPad12,1.yaml +3 -0
  81. data/share/devices/iPad12,2.yaml +3 -0
  82. data/share/devices/iPad13,1.yaml +3 -0
  83. data/share/devices/iPad13,10.yaml +3 -0
  84. data/share/devices/iPad13,11.yaml +3 -0
  85. data/share/devices/iPad13,16.yaml +3 -0
  86. data/share/devices/iPad13,17.yaml +3 -0
  87. data/share/devices/iPad13,2.yaml +3 -0
  88. data/share/devices/iPad13,4.yaml +3 -0
  89. data/share/devices/iPad13,5.yaml +3 -0
  90. data/share/devices/iPad13,6.yaml +3 -0
  91. data/share/devices/iPad13,7.yaml +3 -0
  92. data/share/devices/iPad13,8.yaml +3 -0
  93. data/share/devices/iPad13,9.yaml +3 -0
  94. data/share/devices/iPad14,1.yaml +3 -0
  95. data/share/devices/iPad14,2.yaml +3 -0
  96. data/share/devices/iPad4,1.yaml +3 -0
  97. data/share/devices/iPad4,2.yaml +3 -0
  98. data/share/devices/iPad4,3.yaml +3 -0
  99. data/share/devices/iPad4,4.yaml +3 -0
  100. data/share/devices/iPad4,5.yaml +3 -0
  101. data/share/devices/iPad4,6.yaml +3 -0
  102. data/share/devices/iPad4,7.yaml +3 -0
  103. data/share/devices/iPad4,8.yaml +3 -0
  104. data/share/devices/iPad4,9.yaml +3 -0
  105. data/share/devices/iPad5,1.yaml +3 -0
  106. data/share/devices/iPad5,2.yaml +3 -0
  107. data/share/devices/iPad5,3.yaml +3 -0
  108. data/share/devices/iPad5,4.yaml +3 -0
  109. data/share/devices/iPad6,11.yaml +3 -0
  110. data/share/devices/iPad6,12.yaml +3 -0
  111. data/share/devices/iPad6,3.yaml +3 -0
  112. data/share/devices/iPad6,4.yaml +3 -0
  113. data/share/devices/iPad6,7.yaml +3 -0
  114. data/share/devices/iPad6,8.yaml +3 -0
  115. data/share/devices/iPad7,1.yaml +3 -0
  116. data/share/devices/iPad7,11.yaml +3 -0
  117. data/share/devices/iPad7,12.yaml +3 -0
  118. data/share/devices/iPad7,2.yaml +3 -0
  119. data/share/devices/iPad7,3.yaml +3 -0
  120. data/share/devices/iPad7,4.yaml +3 -0
  121. data/share/devices/iPad7,5.yaml +3 -0
  122. data/share/devices/iPad7,6.yaml +3 -0
  123. data/share/devices/iPad8,1.yaml +3 -0
  124. data/share/devices/iPad8,10.yaml +3 -0
  125. data/share/devices/iPad8,11.yaml +3 -0
  126. data/share/devices/iPad8,12.yaml +3 -0
  127. data/share/devices/iPad8,2.yaml +3 -0
  128. data/share/devices/iPad8,3.yaml +3 -0
  129. data/share/devices/iPad8,4.yaml +3 -0
  130. data/share/devices/iPad8,5.yaml +3 -0
  131. data/share/devices/iPad8,6.yaml +3 -0
  132. data/share/devices/iPad8,7.yaml +3 -0
  133. data/share/devices/iPad8,8.yaml +3 -0
  134. data/share/devices/iPad8,9.yaml +3 -0
  135. data/share/devices/iPhone10,1.yaml +3 -0
  136. data/share/devices/iPhone10,2.yaml +3 -0
  137. data/share/devices/iPhone10,3.yaml +3 -0
  138. data/share/devices/iPhone10,4.yaml +3 -0
  139. data/share/devices/iPhone10,5.yaml +3 -0
  140. data/share/devices/iPhone10,6.yaml +3 -0
  141. data/share/devices/iPhone11,2.yaml +3 -0
  142. data/share/devices/iPhone11,4.yaml +3 -0
  143. data/share/devices/iPhone11,6.yaml +3 -0
  144. data/share/devices/iPhone11,8.yaml +3 -0
  145. data/share/devices/iPhone12,1.yaml +3 -0
  146. data/share/devices/iPhone12,3.yaml +3 -0
  147. data/share/devices/iPhone12,5.yaml +3 -0
  148. data/share/devices/iPhone12,8.yaml +3 -0
  149. data/share/devices/iPhone13,1.yaml +3 -0
  150. data/share/devices/iPhone13,2.yaml +3 -0
  151. data/share/devices/iPhone13,3.yaml +3 -0
  152. data/share/devices/iPhone13,4.yaml +3 -0
  153. data/share/devices/iPhone14,2.yaml +3 -0
  154. data/share/devices/iPhone14,3.yaml +3 -0
  155. data/share/devices/iPhone14,4.yaml +3 -0
  156. data/share/devices/iPhone14,5.yaml +3 -0
  157. data/share/devices/iPhone14,6.yaml +3 -0
  158. data/share/devices/iPhone6,1.yaml +3 -0
  159. data/share/devices/iPhone6,2.yaml +3 -0
  160. data/share/devices/iPhone7,1.yaml +3 -0
  161. data/share/devices/iPhone7,2.yaml +3 -0
  162. data/share/devices/iPhone8,1.yaml +3 -0
  163. data/share/devices/iPhone8,2.yaml +3 -0
  164. data/share/devices/iPhone8,4.yaml +3 -0
  165. data/share/devices/iPhone9,1.yaml +3 -0
  166. data/share/devices/iPhone9,2.yaml +3 -0
  167. data/share/devices/iPhone9,3.yaml +3 -0
  168. data/share/devices/iPhone9,4.yaml +3 -0
  169. data/share/devices/iPod7,1.yaml +3 -0
  170. data/share/devices/iPod9,1.yaml +3 -0
  171. data/share/devices/iProd99,1.yaml +3 -0
  172. data/share/dnssd.yaml +2 -0
  173. data/share/entitlements.yaml +2991 -2989
  174. data/share/environment_variables.yaml +55 -54
  175. data/share/esim.yaml +4 -3
  176. data/share/fdr.yaml +31 -28
  177. data/share/firmware.yaml +5 -3
  178. data/share/homekit.yaml +11 -9
  179. data/share/iboot.yaml +141 -135
  180. data/share/icloud.yaml +1 -1
  181. data/share/img4.yaml +437 -396
  182. data/share/ioreg.yaml +625 -623
  183. data/share/ipsw.yaml +155098 -155096
  184. data/share/kext.yaml +427 -425
  185. data/share/keybags/8103.yaml +0 -1
  186. data/share/keys.yaml +29 -25
  187. data/share/launchd/services_bridgeOS_6.1.yaml +3 -0
  188. data/share/lightning.yaml +10 -10
  189. data/share/lockdownd.yaml +2 -1
  190. data/share/mach_o.yaml +3 -0
  191. data/share/mobile_gestalt.yaml +2 -0
  192. data/share/nvram.yaml +2 -0
  193. data/share/ota.yaml +7 -8
  194. data/share/pallas.yaml +2 -1
  195. data/share/pki.yaml +293 -164
  196. data/share/platforms.yaml +19 -19
  197. data/share/pmu.yaml +2 -0
  198. data/share/registers.yaml +1 -1
  199. data/share/resources.yaml +198 -198
  200. data/share/sandbox.yaml +1 -1
  201. data/share/sep.yaml +132 -131
  202. data/share/services.yaml +2 -0
  203. data/share/sip.yaml +2 -0
  204. data/share/smc.yaml +1 -1
  205. data/share/syscfg.yaml +103 -77
  206. data/share/terms.yaml +623 -221
  207. data/share/vmapple.yaml +25 -25
  208. metadata +2 -3
  209. data/share/devices/iPhone15,2.yaml +0 -0
data/share/img4.yaml CHANGED
@@ -2,41 +2,54 @@
2
2
  metadata:
3
3
  description:
4
4
  credits:
5
+ collections:
6
+ - img4_tags
5
7
  types:
6
8
  digest-object:
7
- description: Digest Objects are Firmare or Other Hashable Datastreams.
8
- They will exist in NOR, Disk, or be received over USB. These objects
9
- will contain a `DGST` value that is the cryptographic hash of the contents.
10
- They can contain additional properties per object, some of which are standard
11
- and others that are object specific.
9
+ description: Digest Objects are Firmware or Other Hash-able binary streams. They
10
+ will exist in NOR, Disk, or be received over USB. These objects will contain
11
+ a `DGST` value that is the cryptographic hash of the contents. They can contain
12
+ additional properties per object, some of which are standard and others that
13
+ are object specific.
12
14
  common_properties:
13
- ESEC: Effective Security Mode - The security mode after evaluating the chip and any demotion request
14
- EPRO: Effective Production Mode - The peoduction mode after evaluating the chip production and demotation request
15
- EKEY: Effective Key Access - The effective access to teh SEP, used to protect data during demotion
15
+ ESEC: Effective Security Mode - The security mode after evaluating the chip
16
+ and any demotion request
17
+ EPRO: Effective Production Mode - The production mode after evaluating the chip
18
+ production and demotion request
19
+ EKEY: Effective Key Access - The effective access to teh SEP, used to protect
20
+ data during demotion
16
21
  subtypes:
17
22
  local-boot-object:
18
23
  trust-measurement:
19
- description: A trust measurement is requested from the processor to ensure that
20
- the boot flow has not changed since a prior time that measurement was taken.
21
- To date the trust measurement is commonly found on SEP firmware images.
24
+ description: A trust measurement is requested from the processor to ensure
25
+ that the boot flow has not changed since a prior time that measurement was
26
+ taken. To date the trust measurement is commonly found on SEP firmware images.
22
27
  ssv-root-hash:
23
- description: Root Hash values are used to validate the Signature of an APFS Signed
24
- volume or snapshot. They will be paired to a coresponding disk image. Some also
25
- are paired with `ssv-merkle-tree` which includes the metadata for the volume.
28
+ description: Root Hash values are used to validate the Signature of an APFS
29
+ Signed volume or snapshot. They will be paired to a corresponding disk
30
+ image. Some also are paired with `ssv-merkle-tree` which includes the metadata
31
+ for the volume.
26
32
  trust-cache:
27
33
  img4-disk-image:
28
- description: Disk images are often signed IMG4 payloads used for USB boot or as the
29
- arm64BaseSystem.dmg. IMG4 is used for smaller disk images that can be entirely
30
- validated "single shot" unlike larger disks which use SSV and validate on read.
34
+ description: Disk images are often signed IMG4 payloads used for USB boot
35
+ or as the arm64BaseSystem.dmg. IMG4 is used for smaller disk images that
36
+ can be entirely validated "single shot" unlike larger disks which use SSV
37
+ and validate on read.
31
38
  img4_tags:
39
+ acdc:
40
+ description:
32
41
  acfw:
33
42
  description:
34
43
  ache:
35
44
  description:
36
45
  acib:
37
46
  description:
47
+ acid:
48
+ description: Apple Account Directory Services ID (DSID)
49
+ type: integer
38
50
  aciw:
39
51
  description:
52
+ ADCL:
40
53
  ader:
41
54
  description:
42
55
  agfi:
@@ -44,9 +57,9 @@ img4_tags:
44
57
  almo:
45
58
  description: Some internal iBootable image. Unknown purpose
46
59
  AMNM:
47
- description: allow mix-n-match
48
- When set to true, img4s can be any valid signed version, allowing for unusual AP tickets where some
49
- components may be from a prior verson
60
+ description: allow mix-n-match When set to true, img4s can be any valid signed
61
+ version, allowing for unusual AP tickets where some components may be from a
62
+ prior version
50
63
  type: boolean
51
64
  anef:
52
65
  description: Apple Neural Engine Firmware
@@ -55,6 +68,7 @@ img4_tags:
55
68
  - ManifestKey-DataCenter
56
69
  anrd:
57
70
  description:
71
+ ansf:
58
72
  aofi:
59
73
  description:
60
74
  aopf:
@@ -71,64 +85,73 @@ img4_tags:
71
85
  auac:
72
86
  description:
73
87
  aubt:
74
- description: Auxiliary
88
+ description: Audio Boot Chime
75
89
  augs:
76
- description:
77
- Auxiliary User System Image
78
- Included in APTicket CA extensions, as well as factory manifests.
90
+ description: Auxiliary System Image Included in APTicket CA extensions, as well
91
+ as factory manifests. All cryptex manifests, and APTickets other then the root
92
+ APTicket (the one that is used directly from NOR) have this set to 1, indicating
93
+ that it is an an addition or replacement to APTicket, but only if authorized. It
94
+ also seems to travel with `aubt` and `aupr`
79
95
  roots:
80
- - ExtraContent
81
- - ManifestKey
96
+ - ExtraContent
97
+ - ManifestKey
82
98
  aupr:
83
- description:
99
+ description: Audio Power Attach Chime
100
+ auxh:
101
+ description: User Authorized Kext List Hash
102
+ context:
84
103
  auxi:
85
- title: Auxiliary Kernel Collection (AuxKC) Image4 Manifest Hash (`auxi`)
86
- description: >
87
- After the system verifies that the UAKL hash matches what’s found in the `auxp` field of the
88
- LocalPolicy, it requests that the AuxKC be signed by the Secure Enclave processor application that’s
89
- responsible for LocalPolicy signing. Next, an SHA384 hash of the AuxKC Image4 manifest signature is placed
90
- into the LocalPolicy to avoid the potential for mixing and matching previously signed AuxKCs to an operating
91
- system at boot time. If iBoot finds the auxi field in the LocalPolicy, it attempts to load the AuxKC from
92
- storage and validate its signature. It also verifies that the hash of the Image4 manifest attached to the
93
- AuxKC matches the value found in the auxi field. If the AuxKC fails to load for any reason, the system
94
- continues to boot without this boot object and (so) without any third-party kexts loaded. The auxp field
95
- is a prerequisite for setting the auxi field in the LocalPolicy. Users change the auxi value implicitly
96
- when they change the UAKL by approving a kext from the Security & Privacy pane in System Preferences.
97
- type: binary
98
- subtype: sha2-384
104
+ title: Auxiliary Image4 Manifest Hash (`auxi`)
105
+ description: After the system verifies that the UAKL hash matches what’s found
106
+ in the `auxp` field of the LocalPolicy, it requests that the AuxKC be signed
107
+ by the Secure Enclave processor application that’s responsible for LocalPolicy
108
+ signing. Next, an SHA384 hash of the AuxKC Image4 manifest signature is placed
109
+ into the LocalPolicy to avoid the potential for mixing and matching previously
110
+ signed AuxKCs to an operating system at boot time. If iBoot finds the auxi field
111
+ in the LocalPolicy, it attempts to load the AuxKC from storage and validate
112
+ its signature. It also verifies that the hash of the Image4 manifest attached
113
+ to the AuxKC matches the value found in the auxi field. If the AuxKC fails to
114
+ load for any reason, the system continues to boot without this boot object and
115
+ (so) without any third-party kexts loaded. The auxp field is a prerequisite
116
+ for setting the auxi field in the LocalPolicy. Users change the auxi value implicitly
117
+ when they change the UAKL by approving a kext from the Security & Privacy pane
118
+ in System Preferences.
119
+ type: digest-object
120
+ subtype: manifest
99
121
  access:
100
122
  write:
101
- - macOS
123
+ - macOS
102
124
  auxk:
103
125
  description: Auxiliary Kernel Cache
104
126
  auxp:
105
- title: Auxiliary Kernel Collection (AuxKC) Policy Hash (auxp)
106
- description: >
107
- The `auxp` is an SHA384 hash of the user-authorized kext list (UAKL) policy. This is used at
108
- AuxKC generation time to help ensure that only user-authorized kexts are included in the AuxKC. `smb2`
109
- is a prerequisite for setting this field. Users change the `auxp` value implicitly when they change the
110
- UAKL by approving a kext from the Security & Privacy pane in System Preferences.
127
+ title: Auxiliary Policy Hash (auxp)
128
+ description: The `auxp` is an SHA384 hash of the user-authorized kext list (UAKL)
129
+ policy. This is used at AuxKC generation time to help ensure that only user-authorized
130
+ kexts are included in the AuxKC. `smb2` is a prerequisite for setting this field.
131
+ Users change the `auxp` value implicitly when they change the UAKL by approving
132
+ a kext from the Security & Privacy pane in System Preferences.
111
133
  type: binary
112
134
  subtype: sha2-384
113
135
  access:
114
136
  write:
115
- - macOS
137
+ - macOS
116
138
  auxr:
117
139
  title: Auxiliary Kernel Collection (AuxKC) Receipt Hash (auxr)
118
- description: >
119
- The `auxr` is an SHA384 hash of the AuxKC receipt, which indicates the exact set of kexts that
120
- were included into the AuxKC. The AuxKC receipt can be a subset of the UAKL, because kexts can be excluded
121
- from the AuxKC even if they’re user authorized if they’re known to be used for attacks. In addition,
122
- some kexts that can be used to break the user-kernel boundary may lead to decreased functionality,
123
- such as an inability to use Apple Pay or play 4K and HDR content. Users who want these capabilities
124
- opt in to a more restrictive AuxKC inclusion. The auxp field is a prerequisite for setting the auxr
125
- field in the LocalPolicy. Users change the auxr value implicitly when they build a new AuxKC from
126
- the Security & Privacy pane in System Preferences.
140
+ description: The `auxr` is an SHA384 hash of the AuxKC receipt, which indicates
141
+ the exact set of kexts that were included into the AuxKC. The AuxKC receipt
142
+ can be a subset of the UAKL, because kexts can be excluded from the AuxKC even
143
+ if they’re user authorized if they’re known to be used for attacks. In addition,
144
+ some kexts that can be used to break the user-kernel boundary may lead to decreased
145
+ functionality, such as an inability to use Apple Pay or play 4K and HDR content.
146
+ Users who want these capabilities opt in to a more restrictive AuxKC inclusion.
147
+ The auxp field is a prerequisite for setting the auxr field in the LocalPolicy.
148
+ Users change the auxr value implicitly when they build a new AuxKC from the
149
+ Security & Privacy pane in System Preferences.
127
150
  type: digest-object
128
151
  subtype: sha2-384
129
152
  access:
130
153
  write:
131
- - macOS
154
+ - macOS
132
155
  avef:
133
156
  description: AV Encryption (DRM) Firmware
134
157
  type: digest-object
@@ -140,54 +163,66 @@ img4_tags:
140
163
  description: battery image 1
141
164
  batf:
142
165
  description: battery full image
166
+ batF:
143
167
  BLDS:
144
168
  description:
145
- prid:
146
- description: Encrypted Private Key / Private Key Info
147
169
  bles:
148
170
  description:
149
- rtmu:
150
- description: Restore TMU for AP
151
- type: digest-object
152
- recovery: true
171
+ BMac:
172
+ description: Bluetooth MAC Address
173
+ manifest: true
153
174
  BNCH:
154
- description: Boot Nonce Hash - based on the values of com.apple.System.boot-nonces
175
+ title: Boot Nonce Cryptographic Hash
176
+ description: Based on the values of com.apple.System.boot-nonces
177
+ type: nonce
178
+ subtype:
155
179
  BORD:
156
180
  description: |-
157
- The board the chip is attached to. With iPhones/iPads this is the variation between device sizes (occasionally
158
- also used for low cost devices like the SE/XR). This is usually expressed as a hex encoded uint8_t. Some
159
- types of board seem to encode a bitfield for non MP (mainline production) boards such as EVT/DVT
181
+ The board the chip is attached to. With iPhones/iPads this is the variation between
182
+ device sizes (occasionally also used for low cost devices like the SE/XR). This is
183
+ usually expressed as a hex encoded uint8_t. Some types of board seem to encode a
184
+ bitfield for non MP (mainline production) boards such as EVT/DVT
160
185
 
161
186
  With the T2 this value is unique to all MacBooks with the T2.
162
187
  type: integer
163
188
  alias:
164
- - board-id
189
+ - board-id
165
190
  bstc:
166
- description: Base Sysetm Static Trust Cache
191
+ title: Base System Trust Cache
192
+ description: The Base System Trust Cache is the static trust cache (a file containing
193
+ a list of CDHashes that is to be trusted and executed at platform trust.) that
194
+ corresponds to the Base System (typically arm64BaseSystem.dmg).
167
195
  type: digest-object
168
196
  subtype: trust-cache
169
197
  bsys:
170
- description: Base System Seal Root Hash
198
+ title: Base System Root Hash
171
199
  type: digest-object
172
200
  subtype: ssv-root-hash
201
+ caos:
202
+ description:
203
+ type: digest-object
204
+ root:
205
+ - ExtraContent
206
+ casy:
207
+ description: App Cryptex SSV Root Hash
208
+ type: digest-object
209
+ subtype: ssv-root-hash
210
+ roots:
211
+ - ExtraContent
173
212
  CEPO:
174
213
  description: |-
175
- Certificate/Chip Epoch. This is a unit of roll-forward time (monotonic) that allows for any security issues
176
- in the prior epoch to be fixed by a anti-rollback scheme.
214
+ Certificate/Chip Epoch. This is a unit of roll-forward time (monotonic) that
215
+ allows for any security issues in the prior epoch to be fixed by a anti-rollback scheme.
177
216
  nullable: true
178
217
  type: boolean
179
218
  alias:
180
- - chip-epoch
219
+ - chip-epoch
181
220
  cfel:
182
221
  description:
183
222
  chg0:
184
223
  description: Charging Image 0
185
224
  type: digest-object
186
225
  subtype: graphic
187
- faic:
188
- description:
189
- type: integer
190
- default: 0
191
226
  chg1:
192
227
  description: Charging Image 1
193
228
  type: digest-object
@@ -197,54 +232,53 @@ img4_tags:
197
232
  sharing the same GID key
198
233
  type: integer
199
234
  width: 2
200
- nsph:
201
- description: preboot splat manifest hash
202
235
  CHMH:
203
- description: chained manifest hash
236
+ title: Chained Manifest Hash
237
+ description: Appears in manifest / APTickets where the ticket is chained from
238
+ another via `nish` or `nsph`.
239
+ ciof:
204
240
  cker:
205
241
  description:
206
242
  ckih:
207
243
  description:
244
+ clas:
245
+ description: Class for Key / Object - Found in FDR objects
246
+ examples:
247
+ roots:
248
+ - ExtraContent
249
+ CLHS:
250
+ clid:
208
251
  cmsv:
209
252
  description:
210
- rans:
211
- description: Restore Apple NAND Storage Firmware
212
- type: digest-object
253
+ cnch:
254
+ roots:
255
+ - ExtraContent
213
256
  coih:
214
257
  title: CustomOS Image4 Manifest Hash (coih)
215
- description: >
216
- The `coih` is an SHA384 hash of CustomOS Image4 manifest. The payload for that manifest is used
217
- by iBoot (instead of the XNU kernel) to transfer control. Users change the `coih` value implicitly when
218
- they use the `kmutil` configure-boot command-line tool in 1TR.
258
+ description: The `coih` is an SHA384 hash of CustomOS Image4 manifest. The payload
259
+ for that manifest is used by iBoot (instead of the XNU kernel) to transfer control.
260
+ Users change the `coih` value implicitly when they use the `kmutil` configure-boot
261
+ command-line tool in 1TR.
219
262
  type: digest-object
220
263
  subtype: IM4M
221
264
  access:
222
265
  write:
223
- - 1TR
266
+ - 1TR
224
267
  CPRO:
225
- description: Chip promotion fuse value (what is burned in)
268
+ description: Certificate Promotion Mode
226
269
  alias:
227
- - certificate-production-status
270
+ - certificate-production-status
228
271
  nullable: true
229
272
  type: boolean
230
273
  CSEC:
231
- description: Burned-in chip security mode
274
+ description: Certificate Security Mode
232
275
  type: boolean
233
276
  nullable: true
234
277
  alias:
235
- - certificate-security-mode
236
- csys:
237
- description: Install / Restore SSV Root Hash
238
- type: digest-object
239
- subtype: ssv-root-hash
240
- dali:
241
- description:
242
- data:
278
+ - certificate-security-mode
279
+ csos:
243
280
  description:
244
- casy:
245
- description: App Cryptex SSV Root Hash
246
281
  type: digest-object
247
- subtype: ssv-root-hash
248
282
  roots:
249
283
  - ExtraContent
250
284
  cssy:
@@ -253,34 +287,28 @@ img4_tags:
253
287
  subtype: ssv-root-hash
254
288
  roots:
255
289
  - ExtraContent
290
+ csys:
291
+ description: Install / Restore SSV Root Hash
292
+ type: digest-object
293
+ subtype: ssv-root-hash
294
+ dali:
295
+ description:
296
+ data:
297
+ description:
298
+ dcp2:
256
299
  DGST:
257
300
  description: payload digest
258
301
  diag:
259
302
  description:
260
- trca:
261
- description:
262
- type: digest-object
263
- roots:
264
- - ExtraContent
265
- csos:
266
- description:
267
- type: digest-object
268
- roots:
269
- - ExtraContent
270
- trcs:
271
- description:
272
- type: digest-object
273
- roots:
274
- - ExtraContent
275
303
  disk:
276
304
  description:
277
305
  DPRO:
278
- description: Demote from Production Request
279
- Value is used by TSS sever to issue EPRO values, or effective AP prodctuion state.
306
+ description: Demote from Production Request Value is used by TSS sever to issue
307
+ EPRO values, or effective AP production state.
280
308
  DSEC:
281
- description: Demote from Secure Request
282
- Value is used by TSS server to issue ESEC values, or effective AP Security Mode should the
283
- requester be authorized. These requests are not available to consumers, only to Apple Internal.
309
+ description: Demote from Secure Request Value is used by TSS server to issue ESEC
310
+ values, or effective AP Security Mode should the requester be authorized. These
311
+ requests are not available to consumers, only to Apple Internal.
284
312
  dtre:
285
313
  description: device tree
286
314
  type: digest-object
@@ -290,6 +318,7 @@ img4_tags:
290
318
  type: digest-object
291
319
  subtype: device-tree
292
320
  recovery: true
321
+ dven:
293
322
  ECID:
294
323
  description: Exclusive chip identifier. This is burned into an eFuse at time
295
324
  of manufacture and unique across all devices sharing the same CHIP
@@ -313,124 +342,58 @@ img4_tags:
313
342
  nullable: false
314
343
  type: boolean
315
344
  EPRO:
316
- description: Effective chip promotion / demotion state (if CPFM 03 this must be 0 to set ESEC)
345
+ description: Effective chip promotion / demotion state (if CPFM 03 this must be
346
+ 0 to set ESEC)
317
347
  alias:
318
- - effective-production-status-ap
348
+ - effective-production-status-ap
319
349
  nullable: false
320
350
  type: boolean
321
- secb:
322
- description: Sets a security value such as `trst` or the FDR signing trust object. "security blob?"
323
351
  esca:
324
352
  description:
325
- hrlp:
326
- title: Has Secure Enclave Signed recoveryOS Local Policy (hrlp)
327
- description: >
328
- The `hrlp` indicates whether or not the `prot` value is the measurement of a Secure Enclave–signed
329
- recoveryOS LocalPolicy. If not, then the recoveryOS LocalPolicy is signed by the Apple online signing server,
330
- which signs things such as macOS Image4 files.
331
- type: boolean
332
- access:
333
- write:
334
- - 1TR
335
- - recoveryOS
336
- - macOS
337
353
  esdm:
338
354
  description: Extended Security Domain fuses
339
355
  type: integer
340
356
  alias:
341
- - esdm-fuses
342
- styp:
343
- description: Crytpex Subtype
344
- type: u32
345
- alias:
346
- - cryptex subtype
347
- roots:
348
- - ExtraContent
349
- acid:
350
- stID:
351
- description: Station IDentifier
352
- AcID:
353
- description: Apple Account DSID
354
- type: integer
355
- WSKU:
356
- description: Wireless SKU
357
- WMac:
358
- description: Wireless MAC Address
359
- TMac:
360
- description: Thunderbolt MAC Address
361
- manifest: true
362
- BMac:
363
- description: Bluetooth MAC Address
364
- manifest: true
365
- SrNm:
366
- description: Unit Serial Number
367
- manifest: true
368
- ptrp:
369
- snuf:
370
- description: Staged next update firmware?
371
- Regn:
372
- description: Region Code
373
- example: LL/A
374
- type: string
375
- manifest: true
376
- Mod#:
377
- CLHS:
378
- HmCA:
379
- FSCl:
380
- ADCL:
381
- clid:
382
- hop0:
383
- oppd:
384
- description: Unknown, used by `stg1`/`sepi` - sha384 hash sized
357
+ - esdm-fuses
385
358
  ESEC:
386
359
  description: Effective security mode
387
360
  alias:
388
- - effective-security-mode-ap
361
+ - effective-security-mode-ap
389
362
  euou:
390
363
  description: engineering use-only unit
391
- clas:
392
- description: Class for Key / Object - Found in FDR objects
393
- examples:
394
- roots:
395
- - ExtraContent
396
- psmh:
397
- description: previous stage manifest hash
398
-
364
+ faic:
365
+ description:
366
+ type: integer
367
+ default: 0
399
368
  fchp:
400
369
  description: Cryptex1,ChipID - Mask
401
370
  roots:
402
371
  - ExtraContent
403
372
  fdrs:
404
373
  description:
405
- rvok:
406
- description: Trust object revocation list
407
- trpk:
408
- description: Trust public keys
409
- rssl:
410
- description: The valid CA used for secure communications with the FDR server to obtain the FDR objects. This
411
- differs from the `trst` object as `rssl` is in transit and `trst` is at rest.
412
374
  fdrt:
413
375
  description:
376
+ fgpt:
377
+ description: factory glob al pre-release trust
414
378
  file:
415
379
  description:
416
380
  fpgt:
417
381
  description:
382
+ FSCl:
418
383
  ftab:
419
- description: >
420
- Factory Trust - Auto Boot
421
- FTAB images (used for devices such as AirPods, etc) are "hacktivated" or pre-APTicket'ed devices as they
422
- lack either a restore connection, or persistet memory. Common early usage of this was the Heywire dongles
423
- used for video conversion on the Mac. It was simplest for the device to lack NAND and simply receive the
424
- firmware from a host on powerup. FTAB files are fully ready to run blobs often including RTKit OS based
425
- memory images.
384
+ description: Factory Trust - Auto Boot FTAB images (used for devices such as AirPods,
385
+ etc) are "hacktivated" or pre-APTicket'ed devices as they lack either a restore
386
+ connection, or persistent memory. Common early usage of this was the Haywire
387
+ dongles used for video conversion on the Mac. It was simplest for the device
388
+ to lack NAND and simply receive the firmware from a host on power-up. FTAB
389
+ files are fully ready to run blobs often including RTKit OS based memory images.
426
390
  ftap:
427
- description: >
428
- Factory Trust - Application Processor
391
+ description: Factory Trust/FIPS Test? - Application Processor
429
392
  type: hash
430
393
  ftot:
431
- description: Factory Trust - Other
394
+ description: Factory Trust/FIPS Test? - Other
432
395
  ftsp:
433
- description: Factory Trust - SEP
396
+ description: Factory Trust/FIPS Test? - SEP
434
397
  type: hash
435
398
  fuos:
436
399
  description: Fully Unsigned OS
@@ -440,6 +403,7 @@ img4_tags:
440
403
  description:
441
404
  glyc:
442
405
  description: Gyroscope Calibration
406
+ glyP:
443
407
  glyp:
444
408
  description:
445
409
  hash:
@@ -448,46 +412,39 @@ img4_tags:
448
412
  description:
449
413
  hime:
450
414
  description:
415
+ HmCA:
451
416
  hmmr:
452
417
  description:
453
418
  homr:
454
419
  description:
455
- cnch:
456
- roots:
457
- - ExtraContent
458
- ndom:
459
- roots:
460
- - ExtraContent
461
- pave:
462
- description: XNU version string?
463
- type: string
464
- roots:
465
- - ExtraContent
420
+ hop0:
421
+ hrlp:
422
+ title: Has Secure Enclave Signed recoveryOS Local Policy (hrlp)
423
+ description: The `hrlp` indicates whether or not the `prot` value is the measurement
424
+ of a Secure Enclave–signed recoveryOS LocalPolicy. If not, then the recoveryOS
425
+ LocalPolicy is signed by the Apple online signing server, which signs things
426
+ such as macOS Image4 files.
427
+ type: boolean
428
+ access:
429
+ write:
430
+ - 1TR
431
+ - recoveryOS
432
+ - macOS
466
433
  hypr:
467
434
  description: Hypervisor
435
+ ibd1:
436
+ description: iBoot Data Stage 1
437
+ ibdt:
438
+ description: iBoot Data
468
439
  iBEC:
469
440
  description: iBoot Epoch Change
470
441
  ibot:
471
442
  description: iBoot
472
- ibdt:
473
- description: iBoot Data
474
- ibd1:
475
- description: iBoot Data Stage 1
476
- glyP:
477
443
  ibss:
478
- dven:
479
- dcp2:
480
- ciof:
481
- batF:
482
- ansf:
483
- rfcg:
484
- type: boolean
485
444
  iBSS:
486
445
  description: iBoot Second Stage
487
446
  ienv:
488
447
  description:
489
- LLB:
490
- description: Low Level iBoot
491
448
  IM4M:
492
449
  description:
493
450
  IM4P:
@@ -496,6 +453,8 @@ img4_tags:
496
453
  description:
497
454
  IMG4:
498
455
  description:
456
+ inst:
457
+ description: The key or file to install
499
458
  ipdf:
500
459
  description:
501
460
  isor:
@@ -516,84 +475,72 @@ img4_tags:
516
475
  description:
517
476
  krnl:
518
477
  description: Kernel
519
- acdc:
520
- description:
521
478
  kuid:
522
479
  title: Key encryption key (KEK) Group UUID (kuid)
523
- description: >
524
- The kuid indicates the volume that was booted. The key encryption key has typically been used
525
- for Data Protection. For each LocalPolicy, it’s used to protect the LocalPolicy signing key. The
526
- kuid is set by the user implicitly when creating a new operating system install.
480
+ description: The kuid indicates the volume that was booted. The key encryption
481
+ key has typically been used for Data Protection. For each LocalPolicy, it’s
482
+ used to protect the LocalPolicy signing key. The kuid is set by the user implicitly
483
+ when creating a new operating system install.
527
484
  type: binary
528
485
  subtype: sha2-384
529
486
  access:
530
487
  write:
531
- - 1TR
532
- - recoveryOS
533
- - macOS
488
+ - 1TR
489
+ - recoveryOS
490
+ - macOS
534
491
  lamo:
535
492
  description:
536
493
  lckr:
537
494
  description:
495
+ LLB:
496
+ description: Low Level iBoot
538
497
  LNCH:
539
- description:
498
+ description: Local Policy Nonce Cryptographic Hash
540
499
  lobo:
541
- description: Local Boot Object. Indicates that the object is to be used as the target of a local boot only
542
- and not provided by the server for remote / DFU boots.
500
+ description: Local Boot Object. Indicates that the object is to be used as the
501
+ target of a local boot only and not provided by the server for remote / DFU
502
+ boots.
543
503
  logo:
544
504
  description: Apple logo image
545
505
  love:
546
- title: Local Operating System Version (love)
547
- description: >
548
- The love indicates the OS version that the LocalPolicy is created for. The version is obtained from the
549
- next state manifest during LocalPolicy creation and is used to enforce recoveryOS pairing restrictions.
506
+ title: Long Operating System Version (love)
507
+ description: The love indicates the OS version that the LocalPolicy is created
508
+ for. The version is obtained from the next state manifest during LocalPolicy
509
+ creation and is used to enforce recoveryOS pairing restrictions.
550
510
  type: string
551
- example: "21.3.66.0.0,0"
511
+ example: 21.3.66.0.0,0
552
512
  access:
553
513
  write:
554
- - 1TR
555
- - recoveryOS
556
- - macOS
557
- roots:
558
- - ManifestKey-DataCenter
559
- prtp:
560
- description: Product ID String
561
- type: string
562
- example: iPhone16,2
563
- roots:
564
- - ManifestKey-DataCenter
565
- sdkp:
566
- description: SDK for Product
567
- type: string
514
+ - 1TR
515
+ - recoveryOS
516
+ - macOS
568
517
  roots:
569
518
  - ManifestKey-DataCenter
570
- values:
571
- - iphoneos
572
- - macos
573
519
  lphp:
574
520
  description:
575
- mspr:
576
521
  lpnh:
577
522
  title: LocalPolicy Nonce Hash (lpnh)
578
- description: >
579
- The lpnh is used for anti-replay of the LocalPolicy. This is an SHA384 hash of the LocalPolicy Nonce
580
- (LPN), which is stored in the Secure Storage Component and accessible using the Secure Enclave Boot
581
- ROM or Secure Enclave. The raw nonce is never visible to the Application Processor, only to the
582
- sepOS. An attacker wanting to convince LLB that a previous LocalPolicy they had captured was valid
583
- would need to place a value into the Secure Storage Component, which hashes to the same lpnh value
584
- found in the LocalPolicy they want to replay. Normally there is a single LPN valid on the system—except
585
- during software updates, when two are simultaneously valid—to allow for the possibility of falling back
586
- to booting the old software in the event of an update error. When any LocalPolicy for any operating
587
- system is changed, all policies are re-signed with the new lpnh value corresponding to the new LPN
588
- found in the Secure Storage Component. This change happens when the user changes security settings
589
- or creates new operating systems with a new LocalPolicy for each.
523
+ description: The lpnh is used for anti-replay of the LocalPolicy. This is an SHA384
524
+ hash of the LocalPolicy Nonce (LPN), which is stored in the Secure Storage Component
525
+ and accessible using the Secure Enclave Boot ROM or Secure Enclave. The raw
526
+ nonce is never visible to the Application Processor, only to the sepOS. An attacker
527
+ wanting to convince LLB that a previous LocalPolicy they had captured was valid
528
+ would need to place a value into the Secure Storage Component, which hashes
529
+ to the same lpnh value found in the LocalPolicy they want to replay. Normally
530
+ there is a single LPN valid on the system—except during software updates, when
531
+ two are simultaneously valid—to allow for the possibility of falling back to
532
+ booting the old software in the event of an update error. When any LocalPolicy
533
+ for any operating system is changed, all policies are re-signed with the new
534
+ lpnh value corresponding to the new LPN found in the Secure Storage Component.
535
+ This change happens when the user changes security settings or creates new operating
536
+ systems with a new LocalPolicy for each.
590
537
  type: binary
591
538
  subtype: sha2-384
592
539
  access:
593
540
  write:
594
- - 1TR
595
- - recoveryOS
596
- - macOS
541
+ - 1TR
542
+ - recoveryOS
543
+ - macOS
597
544
  lpol:
598
545
  description: Local Policy
599
546
  ltrs:
@@ -616,29 +563,66 @@ img4_tags:
616
563
  description:
617
564
  mmsv:
618
565
  description:
566
+ Mod#:
619
567
  mpro:
620
568
  description:
621
569
  msec:
622
570
  description:
571
+ mspr:
623
572
  msys:
624
- description: Merkle Tree Metadata for System Disk
573
+ description: System Volume Canonical Metadata Contains a Merkle Tree of the System
574
+ Volume. The Merkle-Tree is used to verify Signed System Volume, in a similar
575
+ way to a Git repository, where every file is included in the tree of the folder
576
+ and so on up to the root node. The root node is validated against the corresponding
577
+ `root_hash`. The inclusion of the merkle tree allows for discovery of where
578
+ the system volume's data is broken, as the root_hash can only tell you if it
579
+ is broken.
625
580
  mtfw:
626
581
  description:
582
+ mtpf:
627
583
  name:
628
584
  description:
585
+ ndom:
586
+ roots:
587
+ - ExtraContent
588
+ nish:
589
+ title: Next Stage Image4 Manifest Hash (nsih)
590
+ description: The nsih field represents an SHA384 hash of the Image4 manifest data
591
+ structure that describes the booted macOS. The macOS Image4 manifest contains
592
+ measurements for all the boot objects—such as iBoot, the static trust cache,
593
+ device tree, Boot Kernel Collection, and signed system volume (SSV) volume root
594
+ hash. When LLB is directed to boot a given macOS, it’s designed to ensure that
595
+ the hash of the macOS Image4 manifest attached to iBoot matches what’s captured
596
+ in the nsih field of the LocalPolicy. In this way, the nsih captures the user
597
+ intention of what operating system the user has created a LocalPolicy for. Users
598
+ change the nsih value implicitly when they perform a software update.
599
+ type: binary
600
+ subtype: sha2-384
601
+ context:
602
+ lpol:
603
+ access:
604
+ write:
605
+ - 1TR
606
+ - recoveryOS
607
+ - macOS
629
608
  nrde:
630
609
  description:
631
610
  nsih:
632
611
  description: Next Stage Image Hash
612
+ nsph:
613
+ description: Next Stage pre-boot splat manifest hash
633
614
  nsrv:
634
615
  description:
635
616
  OBJP:
636
- description: Object Properties - Values that may be assigned per "object" (firmawres) that contain a `DGST`
617
+ description: Object Properties - Values that may be assigned per "object" (firmwares)
618
+ that contain a `DGST`
637
619
  type: sequence
638
620
  omer:
639
621
  description:
640
622
  ooth:
641
623
  description:
624
+ oppd:
625
+ description: Unknown, used by `stg1`/`sepi` - sha384 hash sized
642
626
  osev:
643
627
  description:
644
628
  osrd:
@@ -647,6 +631,11 @@ img4_tags:
647
631
  description:
648
632
  owns:
649
633
  description:
634
+ pave:
635
+ description: Pre-authorization Version (XNU) The version of a pre-authorized Cryptex.
636
+ type: string
637
+ roots:
638
+ - ExtraContent
650
639
  PAYP:
651
640
  description:
652
641
  pcrp:
@@ -667,24 +656,44 @@ img4_tags:
667
656
  subtype:
668
657
  pndp:
669
658
  description:
659
+ prid:
660
+ description: Encrypted Private Key / Private Key Info
670
661
  prot:
671
662
  title: Paired recoveryOS Trusted Boot Policy Measurement (prot)
672
- description: >
673
- A paired recoveryOS Trusted Boot Policy Measurement (TBPM) is a special iterative SHA384 hash calculation
674
- over the Image4 manifest of a LocalPolicy, excluding nonces, in order to give a consistent measurement
675
- over time (because nonces like lpnh are frequently updated). The prot field, which is found only in each
676
- macOS LocalPolicy, provides a pairing to indicate the recoveryOS LocalPolicy that corresponds to the
677
- macOS LocalPolicy.
663
+ description: A paired recoveryOS Trusted Boot Policy Measurement (TBPM) is a special
664
+ iterative SHA384 hash calculation over the Image4 manifest of a LocalPolicy,
665
+ excluding nonces, in order to give a consistent measurement over time (because
666
+ nonces like lpnh are frequently updated). The prot field, which is found only
667
+ in each macOS LocalPolicy, provides a pairing to indicate the recoveryOS LocalPolicy
668
+ that corresponds to the macOS LocalPolicy.
678
669
  type: digest-object
679
670
  subtype: trust-measurement
680
671
  access:
681
672
  write:
682
- - 1TR
683
- - recoveryOS
684
- - macOS
673
+ - 1TR
674
+ - recoveryOS
675
+ - macOS
676
+ prtp:
677
+ description: Product Type String
678
+ type: string
679
+ example: iPhone16,2
680
+ roots:
681
+ - ManifestKey-DataCenter
682
+ psmh:
683
+ description: previous stage manifest hash
684
+ ptrp:
685
+ rans:
686
+ description: Restore Apple NAND Storage Firmware
687
+ type: digest-object
685
688
  rbmt:
686
689
  description:
687
- mtpf:
690
+ rcfg:
691
+ description: Appears in certificates issues by factory such as `T6031-SDOM1-TssLive-ManifestKey-RevA-Factory`. Potentially
692
+ indicates that the policy is for a recovery boot only.
693
+ type: boolean
694
+ rcio:
695
+ description: Restore CIO
696
+ rdcp:
688
697
  rddg:
689
698
  description:
690
699
  rdsk:
@@ -693,16 +702,17 @@ img4_tags:
693
702
  description:
694
703
  recm:
695
704
  description:
696
- rcfg:
697
- description: >
698
- Appears in certificates issues by factory such as `T6031-SDOM1-TssLive-ManifestKey-RevA-Factory`.
699
- Potentially indicates that the policy is for a recovery boot only.
705
+ Regn:
706
+ description: Region Code
707
+ example: LL/A
708
+ type: string
709
+ manifest: true
710
+ rfcg:
700
711
  type: boolean
701
712
  rfta:
702
713
  description:
703
714
  rfts:
704
715
  description:
705
- rdcp:
706
716
  rkrn:
707
717
  description: restore kernel
708
718
  rlgo:
@@ -714,78 +724,41 @@ img4_tags:
714
724
  type: boolean
715
725
  ronh:
716
726
  title: recoveryOS Nonce Hash (ronh)
717
- description: >
718
- The ronh behaves the same way as the lpnh, but is found exclusively in the LocalPolicy for system
719
- recoveryOS. It’s updated when the system recoveryOS is updated, such as on software updates. A
720
- separate nonce from the lpnh and rpnh is used so that when a device is put into a disabled state
721
- by Find My, existing operating systems can be disabled (by removing their LPN and RPN from the
722
- Secure Storage Component), while still leaving the system recoveryOS bootable. In this way, the
723
- operating systems can be reenabled when the system owner proves their control over the system by
724
- putting in their iCloud password used for the Find My account. This change happens when a user updates
725
- the system recoveryOS or creates new operating systems.
727
+ description: The ronh behaves the same way as the lpnh, but is found exclusively
728
+ in the LocalPolicy for system recoveryOS. It’s updated when the system recoveryOS
729
+ is updated, such as on software updates. A separate nonce from the lpnh and
730
+ rpnh is used so that when a device is put into a disabled state by Find My,
731
+ existing operating systems can be disabled (by removing their LPN and RPN from
732
+ the Secure Storage Component), while still leaving the system recoveryOS bootable.
733
+ In this way, the operating systems can be re-enabled when the system owner proves
734
+ their control over the system by putting in their iCloud password used for the
735
+ Find My account. This change happens when a user updates the system recoveryOS
736
+ or creates new operating systems.
726
737
  type: binary
727
738
  subtype: sha2-384
728
739
  access:
729
740
  write:
730
- - 1TR
731
- - recoveryOS
732
- - macOS
741
+ - 1TR
742
+ - recoveryOS
743
+ - macOS
733
744
  rosi:
734
745
  description:
735
- nish:
736
- title: Next Stage Image4 Manifest Hash (nsih)
737
- description: >
738
- The nsih field represents an SHA384 hash of the Image4 manifest data structure that describes the booted
739
- macOS. The macOS Image4 manifest contains measurements for all the boot objects—such as iBoot, the static
740
- trust cache, device tree, Boot Kernel Collection, and signed system volume (SSV) volume root hash. When
741
- LLB is directed to boot a given macOS, it’s designed to ensure that the hash of the macOS Image4 manifest
742
- attached to iBoot matches what’s captured in the nsih field of the LocalPolicy. In this way, the nsih
743
- captures the user intention of what operating system the user has created a LocalPolicy for. Users
744
- change the nsih value implicitly when they perform a software update.
745
- type: binary
746
- subtype: sha2-384
747
- context:
748
- lpol:
749
- access:
750
- write:
751
- - 1TR
752
- - recoveryOS
753
- - macOS
754
- spih:
755
- description: Cryptex1 Image4 Hash
756
- stng:
757
- description: Cryptex1 Generation / Cryptex type?
758
- auxh:
759
- description: User Authorized Kext List Hash
760
- context:
761
746
  rpnh:
762
747
  title: Remote Policy Nonce Hash (rpnh)
763
- description: >
764
- The rpnh behaves the same way as the lpnh but is updated only when the remote policy is updated, such as when
765
- changing the state of Find My enrollment. This change happens when the user changes the state of Find My on
766
- their Mac.
748
+ description: The rpnh behaves the same way as the lpnh but is updated only when
749
+ the remote policy is updated, such as when changing the state of Find My enrollment.
750
+ This change happens when the user changes the state of Find My on their Mac.
767
751
  type: binary
768
752
  subtype: sha2-384
769
753
  access:
770
754
  write:
771
- - 1TR
772
- - recoveryOS
773
- - macOS
774
- RSCH:
775
- description: Research mode
776
- rcio:
777
- description: Restore CIO
778
- fgpt:
779
- description: factory glob al pre-release trust
780
- UDID:
781
- description: universal device identifier
755
+ - 1TR
756
+ - recoveryOS
757
+ - macOS
782
758
  rsch:
783
759
  description: research mode
784
- vnum:
785
- description: Version Number - Update Maximum
786
- type: string
787
- roots:
788
- - ExtraContent
760
+ RSCH:
761
+ description: Research mode
789
762
  rsep:
790
763
  description: Restore SEP Image, paired with oppd/tbms
791
764
  type: string
@@ -798,12 +771,31 @@ img4_tags:
798
771
  description:
799
772
  rso3:
800
773
  description:
774
+ rssl:
775
+ description: The valid CA used for secure communications with the FDR server to
776
+ obtain the FDR objects. This differs from the `trst` object as `rssl` is in
777
+ transit and `trst` is at rest.
778
+ rtmu:
779
+ description: Restore TMU for AP
780
+ type: digest-object
781
+ firmware: true
782
+ recovery: true
801
783
  rtpf:
802
784
  description:
803
785
  rtsc:
804
786
  description:
787
+ rvok:
788
+ description: Trust object revocation list
805
789
  scef:
806
790
  description:
791
+ sdkp:
792
+ description: SDK Platform
793
+ type: string
794
+ roots:
795
+ - ManifestKey-DataCenter
796
+ values:
797
+ - iphoneos
798
+ - macos
807
799
  SDOM:
808
800
  description: |-
809
801
  Security domain, or which set of certificates govern device security.
@@ -812,15 +804,19 @@ img4_tags:
812
804
  0x01 - Main Production certificates
813
805
  width: 2
814
806
  alias:
815
- - security-domain
807
+ - security-domain
808
+ secb:
809
+ description: Sets a security value such as `trst` or the FDR signing trust object.
810
+ "security blob?". Known to include `trst` (yes a `trst` partition with a `secb`
811
+ object with a `trst` object), `rssl` (Factory SSL root CA), `rvok` (Revocation
812
+ list) and `trpk` (trusted public keys?)
816
813
  SECM:
817
814
  description:
815
+ sei3:
816
+ description: Secure Enclave ID (alternate)? Appears to have a value identical
817
+ to `seid`.
818
818
  seid:
819
819
  description: Secure Enclave ID
820
- stg1:
821
- description: stage 1 bootloader
822
- type: string
823
- encoding: sha2-384
824
820
  sepi:
825
821
  description: SEP Image, contains oppd and tbms in seal
826
822
  type: string
@@ -832,15 +828,18 @@ img4_tags:
832
828
  sip0:
833
829
  description: System Integrity Protection (SIP) 0 Status - Overall
834
830
  sip1:
835
- description: System Integrity Protection (SIP) 1 Status - Signed System Volume Status
831
+ description: System Integrity Protection (SIP) 1 Status - Signed System Volume
832
+ Status
836
833
  sip2:
837
834
  description: System Integrity Protection (SIP) 2 Status - Kernel CTRR Status
838
835
  sip3:
839
- description: System Integrity Protection (SIP) 3 Status - Boot Args Filtering Status
836
+ description: System Integrity Protection (SIP) 3 Status - Boot Args Filtering
837
+ Status
840
838
  slvn:
841
839
  description:
842
840
  smb0:
843
- description: Secure Multi-Boot 0 - Security Mode - Full Security, Reduced, Disabled - Setting to 1 sets to reduced
841
+ description: Secure Multi-Boot 0 - Security Mode - Full Security, Reduced, Disabled
842
+ - Setting to 1 sets to reduced
844
843
  smb1:
845
844
  description: Secure Multi-Boot 1 - Setting to 1 allows Permissive
846
845
  smb2:
@@ -851,31 +850,74 @@ img4_tags:
851
850
  description: Secure Multi-Boot 3 - DEP-allowed MDM Control
852
851
  smb5:
853
852
  description: Unknown - but known to exist in Factory signing
854
- SNON:
855
- description: SEP Nonce
856
853
  snon:
857
854
  description: SEP Nonce
855
+ SNON:
856
+ description: SEP Nonce
857
+ snuf:
858
+ description: Staged next update firmware?
859
+ spih:
860
+ description: Cryptex1 Image4 Hash
861
+ SPTM:
862
+ description: Secure Page Table Monitor
858
863
  srnm:
859
864
  description:
865
+ SrNm:
866
+ description: Unit Serial Number
867
+ manifest: true
868
+ ssca:
869
+ sski:
870
+ description: SHA2 os some kind
871
+ type: binary
860
872
  ster:
861
873
  description:
874
+ stg1:
875
+ description: stage 1 bootloader
876
+ type: string
877
+ encoding: sha2-384
878
+ stID:
879
+ description: Station Identifier
880
+ stng:
881
+ description: Cryptex1 Generation / Cryptex type?
882
+ styp:
883
+ description: Crytpex Subtype
884
+ type: u32
885
+ alias:
886
+ - cryptex subtype
887
+ roots:
888
+ - ExtraContent
862
889
  svrn:
863
890
  description: Server nonce
891
+ tatp:
892
+ description: Target Type (board name)
893
+ roots:
894
+ - ManifestKey-DataCenter
864
895
  tbmr:
865
896
  description: Trusted Boot Measurement (Recovery/Root?)
866
897
  tbms:
867
898
  description: Trusted Boot Measurement (Signature?)
868
899
  notes: Likely encrypted by the SEP and opaque to the AP
869
- tatp:
870
- description: Board Name (such as d84) - Target AP Test
871
- roots:
872
- - ManifestKey-DataCenter
873
900
  tery:
874
901
  description:
875
902
  test:
876
903
  description:
877
904
  tics:
878
905
  description:
906
+ TMac:
907
+ description: Thunderbolt MAC Address
908
+ manifest: true
909
+ trca:
910
+ description:
911
+ type: digest-object
912
+ roots:
913
+ - ExtraContent
914
+ trcs:
915
+ description:
916
+ type: digest-object
917
+ roots:
918
+ - ExtraContent
919
+ trpk:
920
+ description: Trust public keys
879
921
  trst:
880
922
  description: Trust Object
881
923
  tsys:
@@ -885,15 +927,12 @@ img4_tags:
885
927
  type: integer
886
928
  roots:
887
929
  - ExtraContent
888
- caos:
889
- description:
890
- type: digest-object
891
- root:
892
- - ExtraContent
893
930
  ucer:
894
931
  description: User Cert
895
932
  ucon:
896
933
  description:
934
+ UDID:
935
+ description: universal device identifier
897
936
  udid:
898
937
  description: Unique Device ID
899
938
  uidm:
@@ -905,34 +944,36 @@ img4_tags:
905
944
  description:
906
945
  vkdl:
907
946
  description:
947
+ vnum:
948
+ description: Version Number - Update Maximum
949
+ type: string
950
+ roots:
951
+ - ExtraContent
908
952
  vuid:
909
953
  title: APFS volume group UUID (vuid)
910
- description: >
911
- The vuid indicates the volume group the kernel should use as root. This field is primarily informational
912
- and isn’t used for security constraints. This vuid is set by the user implicitly when creating a new
913
- operating system install.
954
+ description: The vuid indicates the volume group the kernel should use as root.
955
+ This field is primarily informational and isn’t used for security constraints.
956
+ This vuid is set by the user implicitly when creating a new operating system
957
+ install.
914
958
  type: binary
915
959
  subtype: sha2-384
916
960
  access:
917
- - 1TR
918
- - recoveryOS
919
- - macOS
961
+ - 1TR
962
+ - recoveryOS
963
+ - macOS
920
964
  ware:
921
965
  description:
922
- sski:
923
- description: SHA2 os some kind
924
- type: binary
925
- inst:
926
- descryption: The key or file to install
966
+ WCHF:
967
+ description: Wireless Charging Firmware
927
968
  wchf:
928
969
  description: Wireless Charging Framework
970
+ WMac:
971
+ description: Wireless MAC Address
972
+ WSKU:
973
+ description: Wireless SKU
929
974
  xbtc:
930
975
  description: x86 Boot Trust Cache
931
976
  xsys:
932
977
  description: x86 System Root Hash
933
978
  xugs:
934
979
  description:
935
- SPTM:
936
- description: Secure Page Table Monitor
937
- WCHF:
938
- description: Wireless Charging Firmware