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