Appleプラットフォームのセキュリティ
- ようこそ
- Appleプラットフォームのセキュリティの概要
- 用語集
- 改訂履歴
- 著作権および商標

データ保護の概要
iPad、iPhone、Appleシリコン搭載Mac、Apple TV、Apple Vision Pro、Apple WatchなどのApple SoCを搭載したデバイスでは、デバイスのフラッシュストレージに保存されたデータを保護するために、「データ保護」と呼ばれる技術が使用されます。データ保護により、デバイスで電話の着信などの一般的なイベントに応答すると同時に、ユーザデータを高いレベルで暗号化することが可能になっています。一部のシステムアプリ(「カレンダー」、「連絡先」、「メール」、「メッセージ」、「写真」など)とヘルスケアデータの値は、デフォルトでデータ保護を使用します。他社製アプリにもこの保護は自動で適用されます。
実装
データ保護は、鍵の階層を構築して管理することで実装され、Appleデバイスに内蔵されたハードウェア暗号化技術をベースにしています。データ保護は、各ファイルをクラスに割り当てることでファイルごとに制御されます。ファイルにアクセスできるかどうかは、そのクラスキーがロック解除されているかどうかによって決定されます。また、Apple File System(APFS)によって、鍵をエクステントごとにさらに分割できる(ファイルの一部に別の鍵を持たせることができる)ようになっています。
データボリューム上にファイルが作成されるたびに、データ保護によって新しい256ビット鍵(Per Fileキー)が作成され、ハードウェアAESエンジンに渡されます。ハードウェアAESエンジンは、ファイルがフラッシュストレージに書き込まれるときに、その鍵を使用してファイルを暗号化します。
A14~A18およびM1以降を搭載したデバイスでは、暗号化にXTSモードのAES-256が使用され、256ビット鍵(Per Fileキー)が鍵導出関数(NIST Special Publication 800-108)で処理されることにより、256ビットの値と256ビットの暗号鍵が導出されます。
A9~A13およびS5以降を搭載したデバイスでは、暗号化にXTSモードのAES-128が使用され、256ビットのPer Fileキーが128ビットの値と128ビットの暗号鍵に分割されています。
Appleシリコン搭載Macでは、データ保護はデフォルトでクラスCになっていますが(データ保護クラスを参照してください)、Per ExtentキーやPer Fileキーではなくボリュームキーが使用されます。これにより事実上、FileVaultでユーザデータを保護する場合と同じセキュリティモデルが再現されます。ただし、パスワードを暗号鍵の階層とタングルして完全な保護を受けるには、ユーザがFileVaultを有効にする必要があります。デベロッパは、Per FileまたはPer Extentキーを使用するさらに高レベルの保護クラスを選択することもできます。