apple-data 1.0.607 → 1.0.610

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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