WWDC Quick Look 💓 By SwiftGGTeam
Discover Managed Device Attestation

Discover Managed Device Attestation

元の動画を見る

ハイライト

Managed Device Attestation は、デバイスの Secure Enclave を使用してハードウェアで承認された証明書チェーンを生成し、サーバーがデバイスが企業によって発行されたものであるかどうか、改ざんされていないかどうか、特定のセキュリティ ポリシー (FileVault の有効化やパスワード ポリシーの設定など) を満たしているかどうかを検証できるようにします。 MDM、VPN、Wi-Fi 認証シナリオに適しています。


主要内容

企業の IT 管理には根本的な問題があります。デバイスがサーバーに接続するとき、それが実際に改ざんされていない会社支給の iPhone であることをどうやって確認できるのでしょうか?

従来のアプローチは、MDM (モバイル デバイス管理) のデバイス登録情報に依存することです。サーバーは、デバイスが MDM レジストリに存在し、特定の構成要件を満たしているかどうかを確認します。問題は、この情報が偽造される可能性があることです。攻撃者はクライアント コードを変更して、ジェイルブレイクされたデバイスを準拠デバイスであるかのように装うことができます。サーバーが認識する情報は、クライアントがユーザーに確認してほしいものであり、デバイスの実際のステータスの信頼できる証拠ではありません。

Apple は、iOS 16 で管理対象デバイス構成証明を導入しました。このメカニズムの核心は、デバイスの Secure Enclave が、Apple の CA によって署名された証明書チェーンを生成し、これが実際に改ざんされていない本物の Apple デバイスであることを証明することです。さらに重要なのは、証明書には、特定のセキュリティ ポリシーが有効かどうか、ジェイルブレイクされているかどうか、パスワード要件を満たしているかどうかなど、デバイスのセキュリティ ステータスに関する情報が含まれる場合があります。この情報は、Secure Enclave のハードウェア判断から得られ、クライアント アプリケーションによって偽造することはできません。

全体のプロセスは次のとおりです。サーバーはデバイスに対して構成証明チャレンジを開始し、デバイスの Secure Enclave は秘密キーを使用して nonce に署名し、証明書チェーンを生成します。この証明書チェーンには、リーフ証明書 (デバイス証明書) と中間証明書 (Apple CA 署名) が含まれています。サーバーは証明書チェーンを検証した後、証明書拡張子からデバイスのセキュリティ属性を抽出して、デバイスが企業ポリシーに準拠しているかどうかを判断できます。

このセッションでは、さまざまなシナリオでの構成証明のアプリケーションについても詳細に説明しました。MDM サーバーは構成証明を使用してデバイスの ID を検証でき、VPN サービスは構成証明を使用して準拠したデバイスのみが企業イントラネットにアクセスできるようにし、Wi-Fi 認証では構成証明を使用してパスワードを置き換えてより強力なセキュリティ保証を提供できます。


詳細

デバイス認定チャレンジのプロセス

(11:16) デバイスの認証は、MDM サーバーが構成証明チャレンジを開始することで始まります。サーバーには、DeviceAttestationNonce——各リクエストに対する応答が一意であることを保証するための乱数。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>RequestType</key>
	<string>DeviceInformation</string>
	<key>Queries</key>
	<array>
		<string>DevicePropertiesAttestation</string>
	</array>
	<key>DeviceAttestationNonce</key>
	<data>
	bWFnaWMgd29yZHM6IHNxdWVhbWlzaCBvc3NpZnJhZ2U=
	</data>
</dict>
</plist>

重要なポイント:

  • RequestTypeのためにDeviceInformation、デバイス情報のクエリを示します
  • Queries配列には以下が含まれますDevicePropertiesAttestation、デバイス属性認証を要求します
  • DeviceAttestationNonceリプレイ攻撃を防ぐための、base64 でエンコードされた乱数です。
  • nonce はサーバーによって生成され、デバイスが署名付き応答を生成するために使用する必要があります。

(11:43) デバイス応答には、base64 でエンコードされた DER 形式の証明書チェーンの配列が含まれています。

<key>QueryResponses</key>
<dict>
	<key>DevicePropertiesAttestation</key>
	<array>
		<data>
		MIIC0TCCAli <!-- ... --> pIbnVw= <!-- Leaf certificate -->
		</data>
		<data>
		MIICSTCCAc6 <!-- ... --> wjtGA== <!-- Intermediate certificate -->
		</data>
	</array>
</dict>

重要なポイント:

  • 初め<data>要素は、デバイスのセキュリティ属性を含むリーフ証明書 (デバイス証明書) です。
  • 2番目<data>要素は、Apple CA によって署名された中間証明書です。
  • 証明書チェーンは Apple のルート証明書 (Apple Root CA - プライベート PKI) まで遡ることができます。
  • サーバーは証明書チェーン全体の有効性を検証する必要があります

証明書の検証プロセス

サーバーは証明書チェーンを受信した後、次の検証手順を実行する必要があります。

  1. 証明書チェーンの署名を検証します: リーフ証明書から始めて、Apple ルート証明書まで署名を段階的に検証します。各証明書が上位 CA によって署名されていることを確認してください。

  2. 証明書の有効期間を確認する: 各証明書が有効期間内であり、失効していないことを確認します。

  3. デバイス属性の抽出: リーフ証明書の拡張子からデバイスのセキュリティ属性を抽出します。これらの属性には、デバイスで FileVault がオンになっているかどうか、パスワード ポリシーに準拠しているかどうか、ジェイルブレイクされているかどうかなどが含まれます。

  4. ノンスの検証: 証明書内のノンスの署名が、リプレイ攻撃を防ぐためにサーバーから送信された乱数と一致するかどうかを確認します。

  5. エンタープライズ ポリシーの適用: 抽出されたデバイス属性に基づいて、デバイスがエンタープライズ セキュリティ要件を満たしているかどうかを判断します。そうでない場合、デバイスのアクセスが拒否されるか、権限がダウングレードされる可能性があります。

アプリケーションシナリオ

MDM サーバー認証: MDM サーバーは、構成証明を使用してデバイスの本当の ID を検証し、企業発行のデバイスのみが MDM コマンドを受信できるようにすることができます。従来の MDM はデバイス ID とプロファイルに依存しているため、ジェイルブレイクされたデバイスによってバイパスされる可能性があります。 Attestation は、デバイスがジェイルブレイクされている場合でも、Secure Enclave の署名が偽造できないことをハードウェア レベルで保証します。

VPN アクセス制御: エンタープライズ VPN では、デバイスがセキュリティ ポリシーを満たしていることを証明するために、接続前にデバイスに証明書の提供を要求できます。準拠したデバイスのみが企業イントラネットに接続できます。これは、パスワードが侵害され、証明書が盗まれる可能性があり、構成証明がデバイスのハードウェアに関連付けられているため、従来のパスワードまたは証明書による認証よりも強力です。

Wi-Fi 認証: エンタープライズ Wi-Fi はパスワードの代わりに構成証明を使用でき、デバイスは接続時に身元を証明する証明書チェーンを自動的に提供します。これにより、パスワード管理の複雑さが回避され、より強力なセキュリティ保証が提供されます。 Wi-Fi ネットワークは、デバイスのセキュリティ属性に基づいてアクセスを許可する権限のレベルを決定できます。

証明書と秘密鍵の管理

管理対象デバイス構成証明の秘密キーは、Secure Enclave によって生成および管理され、安全なハードウェアから離れることはありません。これは、たとえデバイスが完全に侵害されたとしても、攻撃者は証明書を偽造するために秘密キーをエクスポートできないことを意味します。 Secure Enclave は正当な構成証明要求に対してのみ署名を生成し、署名操作はハードウェア内で完了し、オペレーティング システムが介入したり改ざんしたりすることはできません。

証明書は Apple のプライベート PKI (公開キー インフラストラクチャ) によって発行されます。 Apple は、デバイス認証に特化したプライベート CA のエコシステムを維持しています。エンタープライズ サーバーは、デバイス証明書チェーンを検証するために Apple のルート証明書を信頼する必要があります。 Apple のルート証明書はすべての Apple デバイスにプリインストールされており、Apple によって厳密に管理されているため、この信頼チェーンは安全です。


重要ポイント

  • 内容: 管理対象デバイス認証を MDM ソリューションに統合して、デバイス認証のセキュリティを強化します。 実行する価値がある理由: 従来の MDM 認証は、ジェイルブレイクされたデバイスによって簡単にバイパスされます。アテステーションは、ハードウェア レベルのセキュリティ保証を提供し、準拠したデバイスのみがエンタープライズ サービスにアクセスできるようにします。 開始方法: MDM サーバーの実装に、構成証明チャレンジ開始ロジックと証明書検証ロジックを追加します。 Apple Device Management ドキュメントのアテステーション関連 API を参照してください。

  • 内容: 構成証明を使用して、VPN サービスにおける従来の認証を置き換えたり強化したりできます。 実行する価値がある理由: VPN は企業イントラネットへの入り口です。認証がバイパスされると、攻撃者はイントラネット リソースに直接アクセスできます。アテステーションにより、セキュリティポリシーを満たすデバイスのみが接続できるようになり、パスワードが漏洩した場合でも内部ネットワークに侵入されることはありません。 開始方法: VPN サーバーの認証モジュールに、デバイス構成証明の検証ステップを追加します。デバイスが接続されると、最初に認証が要求され、検証に合格した後にトンネルの確立が許可されます。

  • 対処方法: エンタープライズ Wi-Fi ネットワークで構成証明ベースの認証を有効にします。 価値がある理由: Wi-Fi パスワード管理は IT 管理者にとって悪夢です。パスワードは定期的に変更する必要があり、ユーザーはパスワードを漏洩する可能性があり、ゲスト デバイスの管理は困難です。構成証明を使用すると、ユーザーがパスワードを入力する必要がなく、デバイスが自動的に身元を証明できるようになり、より高いレベルのセキュリティが提供されます。 開始方法: Wi-Fi 認証サーバー (RADIUS など) で、接続時にデバイスに管理対象デバイス構成証明証明書チェーンの提供を要求するように証明書ベースの認証を構成します。

  • 内容: エンタープライズ デバイスのセキュリティ ポリシーを定義し、構成証明の検証中に適用します。 実行する価値がある理由: アテステーションは、デバイスの ID を検証するだけでなく、デバイスのセキュリティ ステータスも検証します。ルールを定義できます。FileVault がオンになっており、強力なパスワードが設定されており、ジェイルブレイクされていないデバイスのみが企業サービスにアクセスできます。 開始方法: サーバー側の検証ロジックで、企業のセキュリティ ポリシーに従って証明書内のデバイス属性を確認します。ポリシーに準拠していないデバイスはアクセスが拒否されるか、権限がダウングレードされます。


関連セッション

コメント

GitHub Issues · utterances