Appleプラットフォームのセキュリティ
-
ようこそ
-
概要
-
用語集
-
改訂履歴
-
Copyright

Macコンピュータのブートプロセス
Apple T2セキュリティチップを搭載したMacコンピュータの電源を入れると、Boot ROMという読み出し専用メモリからコードが実行されます。ハードウェアの信頼の起点となるこの変更不可のコードは、チップ製造時に書き込まれたものであり、脆弱性が監査されているため、無条件に信頼されます。Boot ROMコードにはAppleルートCAの公開鍵が含まれており、この公開鍵は、iBootブートローダーの読み込みを許可する前にiBootブートローダーがAppleの秘密鍵によって署名されていることを確認するために使用されます。これが信頼チェーンの最初のステップです。iBootはT2チップ上でカーネルとKernel Extensionのコードを検証し、続いてインテルUEFIファームウェアを検証します。UEFIファームウェアおよび関連する署名は、まずはT2チップでのみ使用できます。

検証の後、UEFIファームウェアのイメージがT2チップのメモリの一部にマップされます。このメモリは、拡張シリアル・ペリフェラル・インターフェイス(eSPI)を通じてインテルCPUで使用できるようになります。インテルCPUは自身の最初の起動時に、T2チップ上の、整合性が確認され、メモリにマップされたファームウェアのコピーから、eSPIを通じてUEFIファームウェアを取得します。
信頼チェーンの評価はインテルCPUで継続されます。UEFIファームウェアがboot.efi(macOSのブートローダー)の署名を評価します。インテルのアプリケーションプロセッサに常駐するmacOSのセキュアブート用の署名はiOS、iPadOS、T2チップのセキュアブートに使用されているものと同じImage4形式で保存されます。Image4ファイルを解析するコードは、現在のiOSおよびiPadOSのセキュアブート実装のものと同じ、ハードコーディングされたコードです。次に、boot.efiはimmutablekernelという新しいファイルの署名を検証します。セキュアブートが有効になっているとき、immutablekernelファイルはmacOSの起動に必要なAppleのKernel Extensionの完全なセットとなります。セキュア・ブート・ポリシーはimmutablekernelにプロセスが引き継がれた時点で終了します。その後はmacOSのセキュリティポリシー(システム整合性保護や署名されたKernel Extensionなど)が有効になります。
このプロセスでエラーまたは失敗が起きると、MacがmacOS復元モード、Apple T2セキュリティチップのリカバリモード、またはApple T2セキュリティチップのDFUモードに入ります。