Appendix: Apple Silicon Secure Boot Tags

The format of an Image4 manifest.

Overview

Objects used in the APTicket include:

Boot Firmware

Four Character Code

Activator

Executable Code

Purpose

Apple Converged IO

ciof

Yes

CIO image

Apple Neural Engine

ane1

Yes

ANE image

Apple Neural Engine

anef

Yes

ANE image

Apple Video Encoder

avef

Yes

AVE image

Device Tree

dtre

iBoot

Device tree that is patched by iBoot and handed forward to the kernel

FDR Trusted Root CA for AP

ftap

No

Hash of FDR Trusted Root CA, used for the AP

FDR Trusted Root CA for SEP

ftsp

No

Hash of FDR Trusted Root CA, used for the SEP

Graphics

gfxf

Yes

GPU firmware

Kernel Cache

krnl

iBoot

The kernel image, including all extensions

Local Storage iBoot

illb

Boot ROM

The iBoot booted by Boot ROM during a normal boot

NAND Services

ansf

iBoot

Basic NAND support

OS Image

rosi

Restore OS

The OS image which is restored to the system volume

Power Management services

pmpf

Yes

Power Management Processor

Restore ANE

ran1

Yes

ANE image which boots in restore OS

Restore Converged IO

rcio

Yes

Basic CIO support in restore OS

Restore FDR Trusted Root CA for AP

rfta

No

Hash of Restore FDR Trusted Root CA, used for the AP

Restore FDR Trusted Root CA for SEP

rfts

No

Hash of Restore FDR Trusted Root CA, used for the SEP

Restore Kernel Cache

rkrn

iBoot

The kernel image which boots in the restore OS

Restore NAND Services

rans

Basic NAND support in restore OS

Restore RAM Disk

rdsk

The operating system RAM disk that boots in the restore OS

Restore Secure Page Table Monitor

rspt

The SPTM image which boots in the restore OS

Restore TMU

rtmu

Yes

TMU image used in restore OS. See tmuf.

Restore Trust Cache (RAM Disk)

rdtr

iBoot

The trust cache covering the contents of the Restore RAM Disk

Restore Trust Cache

rtsc

No

The trust cache covering the contents of the restore OS

Restore Trusted Execution Monitor

rtrx

The TXM image which boots in the restore OS

Restore sepOS

rsep

The sepOS which boots in the restore OS

Secure Page Table Monitor

sptm

The SPTM image

Smart IO

siof

Yes

System Volume Sealing Metadata

msys

Restore OS

Metadata describing the normal form of the file system. Applied prior to sealing.

System Volume Seal

isys

iBoot

Root of hash tree covering the system volume

Time Management Unit

tmuf

Yes

TMU image. Synchronizes time across Thunderbolt (and USB4) links.

Static Trust Cache

trst

iBoot

No

The trust cache covering the contents of the OS Image

Trusted Execution Monitor

trxm

iBoot

The TXM image

USB Recovery iBoot

ibec

Boot ROM

The iBoot downloaded over USB and booted during recovery scenarios

iBoot Data

ibdt

iBoot

iBoot tunables that can be revised independently of iBoot itself

iBoot Second Stage

ibss

Boot ROM

The iBoot booted by Boot ROM during DFU

iBoot

ibot

Boot ROM

sepOS

sepi

sepOS

Cryptexes use an additional set of objects:

Component

Four Character Code

Use

Activator

Action

Info.plist

ginf

Metadata about the cryptex

cryptexd

Reserves cryptex identifier. May specify custom mount point

Disk Image

gdmg

The cryptex disk image

cryptexd

Excluded from the cryptex ticket, disk image integrity is protected by gtgv

Seal

gtgv

The root of the file system’s hash tree

APFS file-system driver

Pins root hash to file-system hash tree

Trust Cache

gtcd

The code directory hashes of all executable content

Softwarefoundations

Permits listed cdhashes to execute

For additional information about trust cache objects, see Appendix: Apple Silicon Trust Cache Format.

An Image4 manifest can specify the following constraints:

Constraint

Four Character Code

Purpose

Chip ID

chip

Identifies a specific SoC

Security Domain

sdom

Security policy domain of the SoC

Board ID

bord

Identifies a specific product, within the scope of the Chip ID and Security Domain

Unique Chip ID

ecid

Unique value assigned to each individual SoC, within the scope of a specific Chip ID

Unique Device ID

udid

Combination of Chip ID and ECID, providing a unique identifier

Effective Production Status

epro

Effective development or production fusing status of an SoC

Effective Security Status

esec

Effective insecure or secure fusing status of an SoC

Certificate Production Status

cpro

Development or production fusing status of the signing certificate

Certificate Security Status

csec

Insecure or secure fusing status of the signing certificate

Certificate Epoch

cepo

Minimum certificate epoch of the device

Extended Security Domain

esdm

Additional security policy information (such as research fusing)

Restore Version

vnum

A version tuple to ensure a minimum OS version for accepting a manifest

Long OS Version

love

C-string formatted data representing the OS version

Allow Mix-N-Match

amnm

Allows using a heterogeneous manifest chain for verifying objects (relaxes the constraint for enforcing chmh)

Data Only

data

Constraint to enforce rejection of the manifest by the environment that authorizes the use of trust caches

Boot Nonce Hash

bnch

Digest of the boot nonce used to enforce anti-replay by Boot ROM and iBoot

SEP Nonce

snon

Nonce used to enforce anti-replay for SEP objects

Cryptex1 Nonce Hash

cnch

Digest of the Cryptex1 nonce used to enforce anti-replay for Cryptex1 manifests

Nonce Domain

ndom

Domain of the nonce to use to enforce anti-replay

Research Mode

rsch

Constrains manifest to only research mode devices

Object Digest

dgst

Enforce an object’s digest matches the listing in the manifest

Boot Manifest Hash

chmh

Digest of the manifest used to boot the system, used to enforce use of a single manifest chain