
Appleデバイスの管理対象デバイス認証
管理対象デバイス認証はiOS 16以降、iPadOS 16以降、macOS 14以降、tvOS 16以降、visionOS 1.1以降、watchOS 9以降で利用できます。この認証では、Secure Enclaveを使用して、デバイスの識別情報とそのセキュリティポスチャに関する暗号保証を提供します。iPad、iPhone、Apple TVデバイスにはA11 Bionicチップ以降が必要であり、Appleシリコン搭載Macコンピュータのみに対応しています。管理対象デバイス認証により、以下の脅威から保護することができます:
所有権を偽っている、侵害されたデバイス
古い認証を提供する、侵害されたデバイス
別のデバイスの識別子を送信する、侵害されたデバイス
不正なデバイスで使用するための秘密鍵の抽出
認証局(CA)をだまして攻撃者に証明書を発行させるために、証明書リクエストをハイジャックする攻撃者
管理対象デバイス認証を使用すると、デバイスはAppleアテステーションサーバからの認証を要求できます。サーバは、Apple Enterprise Attestation Root CAのルートであるリーフおよび中間証明書で構成されるデータの配列を返します。デバイスのタイプによっては、リーフ証明書には、次の表に示されているように特定のプロパティを含めることができます。
OIDと値 | 対応オペレーティングシステムの最小バージョン | 説明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
1.2.840.113635.100.8.9.1 シリアル番号 | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | デバイスのシリアル番号を表し、デバイスの識別に使用できます。ユーザのプライバシーを保護するため、ユーザ登録で管理対象データ認証を使用する際は、この値は含まれていません。 | |||||||||
1.2.840.113635.100.8.9.2 UDID | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | 一意のハードウェアIDを表し、デバイスの識別に使用できます。Macでは、UDIDはデバイスのプロビジョニングUDIDに一致します。ユーザのプライバシーを保護するため、ユーザ登録で管理対象データ認証を使用する際は、この値は含まれていません。 | |||||||||
1.2.840.113635.100.8.10.2 sepOSバージョン | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Secure Enclaveファームウェアのバージョンを表します。 | |||||||||
1.2.840.113635.100.8.11.1 鮮度コード | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | 特定の認証を識別する、一意の予測不能なコード。これは、コードの作成後にアテステーションが生成されたことを示します。 | |||||||||
1.2.840.113635.100.8.13.1 SIPのステータス | macOS 14 | Appleシリコン搭載MacのSIPの有効化のステータスを表します。 | |||||||||
1.2.840.113635.100.8.13.2 セキュアブートのステータス | macOS 14 | Appleシリコン搭載Macの選択したセキュアブート構成を表します。 | |||||||||
1.2.840.113635.100.8.13.3 他社製のカーネル機能拡張を許可 | macOS 14 | 他社製のカーネル機能拡張がAppleシリコン搭載Macで許可されているかどうかを表します。 | |||||||||
1.2.840.113635.100.8.10.3 LLBバージョン | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | Low-Level Bootloaderのバージョンを表します。 | |||||||||
1.2.840.113635.100.8.10.1 オペレーティングシステムのバージョン | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | オペレーティングシステムとiBootのバージョンを表します。 | |||||||||
1.2.840.113635.100.8.9.4 ソフトウェアアップデートデバイスID | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 |
| |||||||||
認証のリクエストは、デバイス管理サービスから送信されるDeviceInformationリクエストによって開始するか、ACME構成をインストールすることによって開始できます。どちらの場合も、デバイスはデバイス管理サービスまたはACMEソリューションから鮮度コードを受信します。DeviceInformation認証を使用する場合、鮮度コードはリクエスト内で指定されるDeviceAttestationNonceの値です。ACME認証を使用する場合、鮮度コードはdevice-attest-01チャレンジからのトークンのSHA-256ハッシュです。結果の値はリーフ証明書のプロパティとして含まれていて、デバイス管理サービスまたはACMEソリューションがこの値を使用して、認証がリクエストに一致することを検証できます。
バックエンドサービスは、認証の受信時に、検証チェックを慎重に実行する必要があります。これらのチェックには、リーフ証明書がApple Enterprise Attestation Root CAによって発行されたことの確認、鮮度コードのハッシュと期待値の比較、および認証のその他のプロパティの検査が含まれます。
組織の開発モデルによっては、管理対象デバイス認証は最新の安全な導入の重要な土台として、さまざまな方法で使用できます:
ACME発行の証明書を使用して、クライアントからデバイス管理サービスへの接続を認証し、
DeviceInformation認証を利用して継続的にデバイスのプロパティを検証します。デバイスの識別情報とそのセキュリティポスチャを検証し、証明書を発行する前にACMEソリューションで信頼性の評価を実行します。この方法で、必要な規格を満たすデバイスのみが証明書を受信するようにします。
ACME証明書の認証からデバイスのプロパティを埋め込み、信頼している相手の信頼性の評価を実行します。
ハードウェア固定鍵
ACMEプロトコルを使用した証明書の発行の一環として、認証を提供するようにデバイスに要求できます。また、この認証により、関連する鍵ペアがSecure Enclaveによって保護されるようになるので、強力なハードウェアセキュリティのメリットが得られ、秘密鍵の書き出しを防止できます。
ハードウェア固定鍵を作成するには、ACME構成で鍵のサイズが256ビットまたは384ビットのECSECPrimeRandomアルゴリズムを使用する必要があります。これにより、NIST SP 800-186で定義されているように、P-256またはP-384曲線で鍵ペアが作成されます。
秘密鍵を生成するために、Secure Enclaveはまず以下のものを使用して、ラップされた暗号シークレットを作成します:
ハードウェアTrue Random Number Generator(TRNG)の組み合わせ
Secure Enclaveの安全な不揮発性ストレージに保存されるエントロピー
データ保護鍵
オペレーティングシステムはラップされたシークレットを保存しますが、ラップされたシークレットは単独では役に立ちません。秘密鍵を取得するために、Secure Enclaveは同じシークレット、同じ保存されたエントロピー、同じデータ保護鍵を使用する必要があります。保存されたエントロピーとデータ保護鍵はその特定のSecure Enclaveに固有であるため、そのSecure Enclaveのみが、ハードウェア固定鍵をそのSecure Enclaveに実質的にバインドする秘密鍵を生成できます。
デバイスが消去されると、Secure Enclaveは保存されたエントロピーを消去します。このため、バックアップと復元のあとにハードウェア固定鍵を再生成することはできません(同じデバイスに復元する場合でも)。
ACMEペイロードとハードウェア固定鍵が含まれている構成は、復元時に削除されます。ハードウェア固定鍵がデバイス管理サービスのクライアントIDとして使用される場合、デバイスは登録解除されます。このシナリオでは、デバイスが自動デバイス登録によって登録された場合、デバイスはその登録プロファイルを再取得して、再登録します。