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.
- checksums.yaml +4 -4
- data/lib/apple_data/data_file.rb +29 -0
- data/lib/apple_data/version.rb +1 -1
- data/share/backup.yaml +2 -0
- data/share/baseband/qualcomm/mav13.yaml +3 -2
- data/share/baseband/qualcomm/mav20.yaml +43 -42
- data/share/baseband/qualcomm/mav21.yaml +246 -248
- data/share/baseband.yaml +62 -62
- data/share/bluetooth.yaml +33 -33
- data/share/boot_args.yaml +19 -18
- data/share/bridgeos.yaml +5 -0
- data/share/bundles.yaml +42 -40
- data/share/coprocessor.yaml +34 -45
- data/share/cores.yaml +1 -0
- data/share/credits.yaml +3 -0
- data/share/debug.yaml +6 -4
- data/share/device_tree.yaml +1 -1
- data/share/devices/ADP3,1.yaml +3 -0
- data/share/devices/ADP3,2.yaml +3 -0
- data/share/devices/AppleTV5,3.yaml +3 -0
- data/share/devices/AudioAccessory5,1.yaml +3 -0
- data/share/devices/MacBookAir10,1.yaml +3 -0
- data/share/devices/MacBookPro17,1.yaml +3 -0
- data/share/devices/MacBookPro18,1.yaml +3 -0
- data/share/devices/MacBookPro18,2.yaml +3 -0
- data/share/devices/MacBookPro18,3.yaml +3 -0
- data/share/devices/MacBookPro18,4.yaml +3 -0
- data/share/devices/Macmini9,1.yaml +3 -0
- data/share/devices/VirtualMac2,1.yaml +3 -0
- data/share/devices/Watch3,1.yaml +3 -0
- data/share/devices/Watch3,2.yaml +3 -0
- data/share/devices/Watch3,3.yaml +3 -0
- data/share/devices/Watch3,4.yaml +3 -0
- data/share/devices/Watch4,1.yaml +3 -0
- data/share/devices/Watch4,2.yaml +3 -0
- data/share/devices/Watch4,3.yaml +3 -0
- data/share/devices/Watch4,4.yaml +3 -0
- data/share/devices/Watch5,1.yaml +3 -0
- data/share/devices/Watch5,10.yaml +3 -0
- data/share/devices/Watch5,11.yaml +3 -0
- data/share/devices/Watch5,12.yaml +3 -0
- data/share/devices/Watch5,2.yaml +3 -0
- data/share/devices/Watch5,3.yaml +3 -0
- data/share/devices/Watch5,4.yaml +3 -0
- data/share/devices/Watch5,9.yaml +3 -0
- data/share/devices/Watch6,1.yaml +3 -0
- data/share/devices/Watch6,2.yaml +3 -0
- data/share/devices/Watch6,3.yaml +3 -0
- data/share/devices/Watch6,4.yaml +3 -0
- data/share/devices/Watch6,6.yaml +3 -0
- data/share/devices/Watch6,7.yaml +3 -0
- data/share/devices/Watch6,8.yaml +3 -0
- data/share/devices/Watch6,9.yaml +3 -0
- data/share/devices/iBridge2,1.yaml +3 -0
- data/share/devices/iBridge2,10.yaml +3 -0
- data/share/devices/iBridge2,11.yaml +3 -0
- data/share/devices/iBridge2,12.yaml +3 -0
- data/share/devices/iBridge2,13.yaml +3 -0
- data/share/devices/iBridge2,14.yaml +3 -0
- data/share/devices/iBridge2,15.yaml +3 -0
- data/share/devices/iBridge2,16.yaml +3 -0
- data/share/devices/iBridge2,19.yaml +3 -0
- data/share/devices/iBridge2,20.yaml +3 -0
- data/share/devices/iBridge2,21.yaml +3 -0
- data/share/devices/iBridge2,22.yaml +3 -0
- data/share/devices/iBridge2,3.yaml +3 -0
- data/share/devices/iBridge2,4.yaml +3 -0
- data/share/devices/iBridge2,5.yaml +3 -0
- data/share/devices/iBridge2,6.yaml +3 -0
- data/share/devices/iBridge2,7.yaml +3 -0
- data/share/devices/iBridge2,8.yaml +3 -0
- data/share/devices/iMac21,1.yaml +3 -0
- data/share/devices/iMac21,2.yaml +3 -0
- data/share/devices/iPad11,1.yaml +3 -0
- data/share/devices/iPad11,2.yaml +3 -0
- data/share/devices/iPad11,3.yaml +3 -0
- data/share/devices/iPad11,4.yaml +3 -0
- data/share/devices/iPad11,6.yaml +3 -0
- data/share/devices/iPad11,7.yaml +3 -0
- data/share/devices/iPad12,1.yaml +3 -0
- data/share/devices/iPad12,2.yaml +3 -0
- data/share/devices/iPad13,1.yaml +3 -0
- data/share/devices/iPad13,10.yaml +3 -0
- data/share/devices/iPad13,11.yaml +3 -0
- data/share/devices/iPad13,16.yaml +3 -0
- data/share/devices/iPad13,17.yaml +3 -0
- data/share/devices/iPad13,2.yaml +3 -0
- data/share/devices/iPad13,4.yaml +3 -0
- data/share/devices/iPad13,5.yaml +3 -0
- data/share/devices/iPad13,6.yaml +3 -0
- data/share/devices/iPad13,7.yaml +3 -0
- data/share/devices/iPad13,8.yaml +3 -0
- data/share/devices/iPad13,9.yaml +3 -0
- data/share/devices/iPad14,1.yaml +3 -0
- data/share/devices/iPad14,2.yaml +3 -0
- data/share/devices/iPad4,1.yaml +3 -0
- data/share/devices/iPad4,2.yaml +3 -0
- data/share/devices/iPad4,3.yaml +3 -0
- data/share/devices/iPad4,4.yaml +3 -0
- data/share/devices/iPad4,5.yaml +3 -0
- data/share/devices/iPad4,6.yaml +3 -0
- data/share/devices/iPad4,7.yaml +3 -0
- data/share/devices/iPad4,8.yaml +3 -0
- data/share/devices/iPad4,9.yaml +3 -0
- data/share/devices/iPad5,1.yaml +3 -0
- data/share/devices/iPad5,2.yaml +3 -0
- data/share/devices/iPad5,3.yaml +3 -0
- data/share/devices/iPad5,4.yaml +3 -0
- data/share/devices/iPad6,11.yaml +3 -0
- data/share/devices/iPad6,12.yaml +3 -0
- data/share/devices/iPad6,3.yaml +3 -0
- data/share/devices/iPad6,4.yaml +3 -0
- data/share/devices/iPad6,7.yaml +3 -0
- data/share/devices/iPad6,8.yaml +3 -0
- data/share/devices/iPad7,1.yaml +3 -0
- data/share/devices/iPad7,11.yaml +3 -0
- data/share/devices/iPad7,12.yaml +3 -0
- data/share/devices/iPad7,2.yaml +3 -0
- data/share/devices/iPad7,3.yaml +3 -0
- data/share/devices/iPad7,4.yaml +3 -0
- data/share/devices/iPad7,5.yaml +3 -0
- data/share/devices/iPad7,6.yaml +3 -0
- data/share/devices/iPad8,1.yaml +3 -0
- data/share/devices/iPad8,10.yaml +3 -0
- data/share/devices/iPad8,11.yaml +3 -0
- data/share/devices/iPad8,12.yaml +3 -0
- data/share/devices/iPad8,2.yaml +3 -0
- data/share/devices/iPad8,3.yaml +3 -0
- data/share/devices/iPad8,4.yaml +3 -0
- data/share/devices/iPad8,5.yaml +3 -0
- data/share/devices/iPad8,6.yaml +3 -0
- data/share/devices/iPad8,7.yaml +3 -0
- data/share/devices/iPad8,8.yaml +3 -0
- data/share/devices/iPad8,9.yaml +3 -0
- data/share/devices/iPhone10,1.yaml +3 -0
- data/share/devices/iPhone10,2.yaml +3 -0
- data/share/devices/iPhone10,3.yaml +3 -0
- data/share/devices/iPhone10,4.yaml +3 -0
- data/share/devices/iPhone10,5.yaml +3 -0
- data/share/devices/iPhone10,6.yaml +3 -0
- data/share/devices/iPhone11,2.yaml +3 -0
- data/share/devices/iPhone11,4.yaml +3 -0
- data/share/devices/iPhone11,6.yaml +3 -0
- data/share/devices/iPhone11,8.yaml +3 -0
- data/share/devices/iPhone12,1.yaml +3 -0
- data/share/devices/iPhone12,3.yaml +3 -0
- data/share/devices/iPhone12,5.yaml +3 -0
- data/share/devices/iPhone12,8.yaml +3 -0
- data/share/devices/iPhone13,1.yaml +3 -0
- data/share/devices/iPhone13,2.yaml +3 -0
- data/share/devices/iPhone13,3.yaml +3 -0
- data/share/devices/iPhone13,4.yaml +3 -0
- data/share/devices/iPhone14,2.yaml +3 -0
- data/share/devices/iPhone14,3.yaml +3 -0
- data/share/devices/iPhone14,4.yaml +3 -0
- data/share/devices/iPhone14,5.yaml +3 -0
- data/share/devices/iPhone14,6.yaml +3 -0
- data/share/devices/iPhone6,1.yaml +3 -0
- data/share/devices/iPhone6,2.yaml +3 -0
- data/share/devices/iPhone7,1.yaml +3 -0
- data/share/devices/iPhone7,2.yaml +3 -0
- data/share/devices/iPhone8,1.yaml +3 -0
- data/share/devices/iPhone8,2.yaml +3 -0
- data/share/devices/iPhone8,4.yaml +3 -0
- data/share/devices/iPhone9,1.yaml +3 -0
- data/share/devices/iPhone9,2.yaml +3 -0
- data/share/devices/iPhone9,3.yaml +3 -0
- data/share/devices/iPhone9,4.yaml +3 -0
- data/share/devices/iPod7,1.yaml +3 -0
- data/share/devices/iPod9,1.yaml +3 -0
- data/share/devices/iProd99,1.yaml +3 -0
- data/share/dnssd.yaml +2 -0
- data/share/entitlements.yaml +2991 -2989
- data/share/environment_variables.yaml +55 -54
- data/share/esim.yaml +4 -3
- data/share/fdr.yaml +31 -28
- data/share/firmware.yaml +5 -3
- data/share/homekit.yaml +11 -9
- data/share/iboot.yaml +141 -135
- data/share/icloud.yaml +1 -1
- data/share/img4.yaml +437 -396
- data/share/ioreg.yaml +625 -623
- data/share/ipsw.yaml +155098 -155096
- data/share/kext.yaml +427 -425
- data/share/keybags/8103.yaml +0 -1
- data/share/keys.yaml +29 -25
- data/share/launchd/services_bridgeOS_6.1.yaml +3 -0
- data/share/lightning.yaml +10 -10
- data/share/lockdownd.yaml +2 -1
- data/share/mach_o.yaml +3 -0
- data/share/mobile_gestalt.yaml +2 -0
- data/share/nvram.yaml +2 -0
- data/share/ota.yaml +7 -8
- data/share/pallas.yaml +2 -1
- data/share/pki.yaml +293 -164
- data/share/platforms.yaml +19 -19
- data/share/pmu.yaml +2 -0
- data/share/registers.yaml +1 -1
- data/share/resources.yaml +198 -198
- data/share/sandbox.yaml +1 -1
- data/share/sep.yaml +132 -131
- data/share/services.yaml +2 -0
- data/share/sip.yaml +2 -0
- data/share/smc.yaml +1 -1
- data/share/syscfg.yaml +103 -77
- data/share/terms.yaml +623 -221
- data/share/vmapple.yaml +25 -25
- metadata +2 -3
- 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
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
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
|
14
|
-
|
15
|
-
|
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
|
20
|
-
the boot flow has not changed since a prior time that measurement was
|
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
|
24
|
-
volume or snapshot. They will be paired to a
|
25
|
-
are paired with `ssv-merkle-tree` which includes the metadata
|
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
|
29
|
-
arm64BaseSystem.dmg. IMG4 is used for smaller disk images that
|
30
|
-
validated "single shot" unlike larger disks which use SSV
|
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
|
-
|
49
|
-
|
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:
|
88
|
+
description: Audio Boot Chime
|
75
89
|
augs:
|
76
|
-
description:
|
77
|
-
|
78
|
-
|
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
|
-
|
81
|
-
|
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
|
86
|
-
description:
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
into the LocalPolicy to avoid the potential for mixing and matching previously
|
91
|
-
system at boot time. If iBoot finds the auxi field
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
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
|
-
|
123
|
+
- macOS
|
102
124
|
auxk:
|
103
125
|
description: Auxiliary Kernel Cache
|
104
126
|
auxp:
|
105
|
-
title: Auxiliary
|
106
|
-
description:
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
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
|
-
|
137
|
+
- macOS
|
116
138
|
auxr:
|
117
139
|
title: Auxiliary Kernel Collection (AuxKC) Receipt Hash (auxr)
|
118
|
-
description:
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
some kexts that can be used to break the user-kernel boundary may lead to decreased
|
123
|
-
such as an inability to use Apple Pay or play 4K and HDR content.
|
124
|
-
opt in to a more restrictive AuxKC inclusion.
|
125
|
-
field
|
126
|
-
the
|
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
|
-
|
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
|
-
|
150
|
-
description:
|
151
|
-
|
152
|
-
recovery: true
|
171
|
+
BMac:
|
172
|
+
description: Bluetooth MAC Address
|
173
|
+
manifest: true
|
153
174
|
BNCH:
|
154
|
-
|
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
|
158
|
-
also used for low cost devices like the SE/XR). This is
|
159
|
-
|
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
|
-
|
189
|
+
- board-id
|
165
190
|
bstc:
|
166
|
-
|
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
|
-
|
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
|
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
|
-
|
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
|
-
|
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
|
-
|
211
|
-
|
212
|
-
|
253
|
+
cnch:
|
254
|
+
roots:
|
255
|
+
- ExtraContent
|
213
256
|
coih:
|
214
257
|
title: CustomOS Image4 Manifest Hash (coih)
|
215
|
-
description:
|
216
|
-
|
217
|
-
|
218
|
-
|
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
|
-
|
266
|
+
- 1TR
|
224
267
|
CPRO:
|
225
|
-
description:
|
268
|
+
description: Certificate Promotion Mode
|
226
269
|
alias:
|
227
|
-
|
270
|
+
- certificate-production-status
|
228
271
|
nullable: true
|
229
272
|
type: boolean
|
230
273
|
CSEC:
|
231
|
-
description:
|
274
|
+
description: Certificate Security Mode
|
232
275
|
type: boolean
|
233
276
|
nullable: true
|
234
277
|
alias:
|
235
|
-
|
236
|
-
|
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
|
-
|
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
|
-
|
283
|
-
|
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
|
345
|
+
description: Effective chip promotion / demotion state (if CPFM 03 this must be
|
346
|
+
0 to set ESEC)
|
317
347
|
alias:
|
318
|
-
|
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
|
-
|
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
|
-
|
361
|
+
- effective-security-mode-ap
|
389
362
|
euou:
|
390
363
|
description: engineering use-only unit
|
391
|
-
|
392
|
-
description:
|
393
|
-
|
394
|
-
|
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
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
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
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
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
|
-
|
525
|
-
|
526
|
-
|
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
|
-
|
532
|
-
|
533
|
-
|
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
|
542
|
-
and not provided by the server for remote / DFU
|
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:
|
547
|
-
description:
|
548
|
-
|
549
|
-
|
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:
|
511
|
+
example: 21.3.66.0.0,0
|
552
512
|
access:
|
553
513
|
write:
|
554
|
-
|
555
|
-
|
556
|
-
|
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
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
would need to place a value into the Secure Storage Component, which hashes
|
584
|
-
found in the LocalPolicy they want to replay. Normally
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
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
|
-
|
595
|
-
|
596
|
-
|
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
|
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" (
|
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
|
-
|
674
|
-
|
675
|
-
|
676
|
-
macOS LocalPolicy, provides a pairing to indicate the recoveryOS LocalPolicy
|
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
|
-
|
683
|
-
|
684
|
-
|
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
|
-
|
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
|
-
|
697
|
-
description:
|
698
|
-
|
699
|
-
|
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
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
Secure Storage Component), while still leaving the system recoveryOS bootable.
|
723
|
-
operating systems can be
|
724
|
-
putting in their iCloud password used for the
|
725
|
-
|
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
|
-
|
731
|
-
|
732
|
-
|
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
|
-
|
765
|
-
|
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
|
-
|
772
|
-
|
773
|
-
|
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
|
-
|
785
|
-
description:
|
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
|
-
|
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
|
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
|
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
|
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
|
-
|
912
|
-
|
913
|
-
|
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
|
-
|
918
|
-
|
919
|
-
|
961
|
+
- 1TR
|
962
|
+
- recoveryOS
|
963
|
+
- macOS
|
920
964
|
ware:
|
921
965
|
description:
|
922
|
-
|
923
|
-
description:
|
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
|