@@ -56,27 +56,64 @@ By fixing hashes to a sequence of zeros, once a APTicket is issued it may be re-
5656Zero keys can be observed both the for xART root UUID (00000000-0000-0000-0000-000000000000) as well
5757as the initial values for BNCH domain nonces.
5858
59- ## HyperVisor ` hypr ` , Application Partitions ` appv ` , Root Domain (` hyp0 ` ) and ` 0Cfg `
59+ ## HyperVisor ` hypr ` , Application Partitions ` appv ` , Root Domain (` hyp0 ` ) and ` hyp0 ` 's SysCfg ` 0Cfg `
6060
6161For Apple systems historically the ` hypr ` role is filled by the SPTM, but with newer Apple Silicon
6262this have moved from EL2 to Guarded Execution Roles.
6363
64+ In "self hosted factory trust" the ` hyp0 ` partition is used to act as the restoring station, and
65+ a ` hypX ` partition is the restored station. This manifests in the FDR cached data as unlabeled
66+ parts (those without any prefix such as ` fCfg ` , ` dCfg ` , etc), those of the ` hyp0 ` host station
67+ (` mansta ` ) and those of the restored device station ` mandev ` . This allows the ` fSys ` or Firmware
68+ SysCfg and ` 0Cfg ` or ` hyp0 ` domain 0 SysCfg to be stored at the root NOR part, while EAN can be
69+ leveraged for the per OS ` fCfg `
70+
6471### ` hyp0 ` XNU and the TXM
6572
66- EL2 execution, as well as the initial
73+ EL2 execution begins for consumer builds with the setup of the PPM (Largely replaced by Trusted
74+ Execution Monitor and Exclaves). For classical setup, the hypervisor component is loaded, followed
75+ by ` hyp0 ` (analogous to XEN ` dom0 ` ).
6776
6877## Re-entrant iBoot and SEP
6978
79+ To support differing versions of the SEPOS and related services the device root SEPROM will load
80+ the system level ` sepf ` ,` sepi `
81+
7082## iBoot (` ibot ` ), iBoot Data (` ibdt ` ), secondary iBoot (`)
7183
7284## Usage of Local Policy and Local Trust Keys
7385
7486## FDR, Managed Station and Managed Device
7587
88+ FDR or "SysCfg in the Cloud" allows blobs of data to be retrieved by the restoring system through
89+ a proxy mechanism implemented by the restore station. This permits the restoring device to
90+ request and retrieve the 4CC binary objects for placement onto persistent memory. There are multiple
91+ trust primitives in the FDR system:
92+
93+ * The ` trst ` or at rest signing certificate
94+ * The ` rssl ` or TLS trusted root certificate for communications with the FDR service
95+ * The ` rvok ` or revoked Certificate / Key list
96+ * The ` trpk ` or trusted public keys (additional to the one in the ` trst ` certificate)
97+ normal restore process appears to contain the ` trst ` , ` rssl ` , an empty ` rvok ` and no ` trtk ` .
98+ Factory trusted installs seem to contain a ` trpk ` that is a sequence of public keys that may
99+ additionally be used.
100+
76101## Communication with ` hop0 ` via RemoteXPC
77102
103+ The HyperVisor Partitions are connected using synthetic USB NCM/CDC devices, usually annotated as
104+ apniX (Apple Private NCM Interface). This provides a transport mechanism between the domains over
105+ the virtualized USB and IPv6 Fabric similar in nature to the system utilized by the T1/T2 chips.
106+ For this reason the ` /usr/libexec/remotectl ` command line app can be used to interrogate the remote
107+ system's ` remoted ` service.
108+
78109## Dual NVMe Endpoints, and Emulated Apple NOR
79110
111+ The Apple NAND Storage 2/3 components are capable of multiple endpoints, where each endpoint
112+ is a configuration of mappings of LBAs (Logical Block Addresses) to Namespaces, with a given type.
113+ On systems where a hypervisor is used, typically two such endpoints can be observed, the "true" or
114+ "root" endpoint, as well as a shadow mapping used for the guest operating system thereby allowing
115+ a different set of namespaces and their LBAs
116+
80117## Custom Sequencing via the PMGR
81118
82119## The Trust Object, and Embedded Trust Keys ` trpk `
0 commit comments