代替起動モードでの鍵の保護
データ保護は、認証に成功したあと、認証されたユーザのみがユーザデータにアクセスできるように設計されています。データ保護クラスはさまざまなユースケースをサポートするように設計されています。例えば、デバイスが一度ロック解除されたあとであれば、ロックされていてもデータの読み込みと書き込みができる機能があります。代替起動モードでのユーザデータへのアクセスを保護するためには、その他の手段も使用されます。これには、デバイスファームウェアアップデート(DFU)モード、リカバリモード、Apple Diagnostics、さらにはソフトウェアアップデート中に使用される手段までが含まれます。これらの機能の基礎にあるのはハードウェアとソフトウェアの機能を組み合わせたものであり、Appleが設計したシリコンの進化に伴って拡張されてきました。
機能 | A10 | A11–A17 S3–S9 M1、M2、M3 |
リカバリ: すべてのデータ保護クラスを保護 | ||
DFUモード、リカバリ、ソフトウェアアップデートの代替起動: クラスA、クラスB、クラスCデータ保護 |
Secure EnclaveのAESエンジンには、ロック可能なソフトウェアシードビットが実装されています。UIDから鍵が生成されると、追加の鍵階層を構築するために、鍵導出関数にこれらのシードビットが埋め込まれます。シードビットの使われ方はSystem on Chipによって異なります:
Apple A10またはS3以降のSoCでは、ユーザのパスコードによって保護される鍵を識別するために1つのシードビットが専用で使用されます。このシードビットは、ユーザのパスコードが必要な鍵(データ保護クラスA、クラスB、クラスCキーなど)では設定され、ユーザのパスコードが不要な鍵(ファイルシステムメタデータキー、クラスDキーなど)では設定されません。
iOS 13以降とiPadOS 13.1以降では、A10以降を搭載したデバイスの場合、診断モードで起動するとすべてのユーザデータが暗号化によってアクセス不能になります。この仕組みを実現するために、メディア鍵へのアクセス可否を設定する追加のシードビットが使用されます。データ保護機能によって暗号化されたデータボリューム上のメタデータ(とすべてのファイルのコンテンツ)にアクセスするには、このメディア鍵が必要です。この保護機能では、ユーザのパスコードが必要なクラスだけでなく、すべてのクラス(A、B、C、D)で保護されたファイルが対象になります。
A12 SoCでは、アプリケーションプロセッサがデバイスファームウェアアップグレード(DFU)モードまたはリカバリモードに入ると、Secure Enclave Boot ROMによってパスコードのシードビットがロックされます。パスコードのシードビットがロックされているときは、ビットを変更する操作が禁止されます。これは、ユーザのパスコードで保護されたデータへのアクセスを防ぐためです。
デバイスをDFUモードにしたあとにデバイスを復元すると、Appleが署名した未変更のコードしか存在しない、既知の正常な状態に戻ります。手動でDFUモードにできます。
デバイスをDFUモードにする方法については、Appleの以下のサポート記事を参照してください。
デバイス | Appleサポートの記事 |
---|---|
iPhone、iPad | |
Apple TV | |
Appleシリコン搭載Mac |