Microsoft クラウド PKI の基礎

Microsoft クラウド PKI は、IT プロフェッショナルがクラウドで公開キー基盤 (PKI) を管理できるようにする Intune スイートの機能です。 オンプレミスのインフラストラクチャをインストールして維持することなく、独自の証明機関 (CA) と証明書を作成、構成、管理できます。 Microsoft Cloud PKI サービスは、Microsoft Entra ID および Microsoft Intune と統合され、クラウドベースのデバイスとアプリの ID とデバイス管理を提供します。

この記事では、Microsoft クラウド PKI を構成するときに知っておくべき PKI の基礎と概念について説明します。 Intune テナントで Microsoft Cloud PKI サービスを構成する前に、すべての情報を確認することをお勧めします。

証明機関の種類

証明機関では、次のタスクが実行されます。

  • 証明書要求元の ID を確認します
  • 要求元に証明書を発行します
  • 証明書の失効を管理します

Microsoft クラウド PKI は、次の種類の証明機関をサポートします。

  • ルート CA
  • 発行元の CA

ルート証明機関

ルート証明機関 (CA) は、CA 階層内の最上位の CA です。 PKI では、ルート CA は階層内の CA によって発行された証明書の信頼ポイントとして機能します。 証明書は、ユーザー、コンピューター、ネットワーク デバイス、またはサービスによって信頼されているルート CA まで CA 階層を通じてトレースできる場合、 信頼できる と見なされます。

ルート CA は、証明書が 自己発行されるという点で一意です。つまり、証明書の発行者名とサブジェクト名に同じ識別名が含まれています。 ルート証明書が有効かどうかを確認する唯一の方法は、ルート CA 証明書を信頼されたルート ストアに含める方法です。 信頼されたルート ストアには、証明書が信頼できることを示す実際のルート CA 証明書が含まれています。

ルート CA は、他の CA、またはネットワーク上のユーザー、コンピューター、ネットワーク デバイス、またはサービスに証明書を発行できます。 ルート CA が別のエンティティに証明書を発行する場合、ルート CA 証明書は秘密キーを使用して証明書に署名します。 署名は、コンテンツの改ざんを防ぎ、ルート CA が証明書を発行したことを示します。

重要

Microsoft クラウド PKI は、MDM に登録されているネットワーク デバイスにのみ証明書を発行します。

発行証明機関

注:

中間発行、および属という用語はすべて、CA 構造内の同じ役割を指すために使用される交換可能なラベルです。 Microsoft クラウド PKI では、この種類の CA を表すために発行 という 用語を使用します。

発行元 CA は、別の CA に従属する CA であり、次のいずれかが可能です。

  • CA 階層内の他の CA に証明書を発行します。
  • サーバー、サービス、クライアント、デバイスなどのエンド エンティティにリーフ証明書を発行します。

発行元の CA は、ルート CA レベルを除く、CA 階層内の任意のレベルに存在できます。

チェーン

チェーンは 、検証と信頼が必要な特定の証明書に最適な信頼パスを見つけるプロセスです。 各オペレーティング システムまたはサービスは、一般に 証明書チェーン エンジンと呼ばれるこの計算プロセスを実行します。

チェーン構築プロセスは、次のもので構成されます。

  • 証明書の検出: エンド エンティティ リーフ証明書の発行元の CA 証明書を、信頼するルート CA 証明書まで検索します。
  • 証明書の検証: 使用可能なすべての証明書チェーンを作成します。 名前、時刻、署名、失効、その他の定義済み制約など、さまざまなパラメーターに関して、チェーン内のすべての証明書を検証します。
  • 最高品質のチェーンを返します。

証明書が検証のために提示されると、証明書チェーン エンジンは証明書ストアを通過し、中間証明書とルート証明書の候補を選択します。 完全なチェーンを形成するには、複数の中間証明書が必要になる場合があります。

証明書チェーン エンジンは、サブジェクト キー識別子 (SKI) と機関キー識別子 (AKI) を使用して証明書を選択しようとします。 Microsoft CA によって発行されたエンド エンティティ証明書には AKI が含まれているため、証明書チェーン エンジンは一致する SKI を持つ中間証明書を選択する必要があります。 このプロセスは、自己署名証明書が列挙されるまで繰り返されます。

チェーン検証プロセス

注:

証明書チェーンの検証方法のサポートは、OS プラットフォームによって異なります。 このセクションでは、Windows を実行しているデバイスでサポートされているメソッドについて説明します。

Windows には、完全一致、キー一致、名前一致という 3 つのチェーン検証プロセスがあります。

  • 完全一致: AKI 拡張機能に発行者のサブジェクト、発行者のシリアル番号、および KeyID が含まれている場合、チェーン構築プロセスでは、サブジェクト、シリアル番号、および KeyID と一致する親証明書のみが選択されます。

  • キーの一致: AKI 拡張機能に KeyID のみが含まれている場合は、サブジェクト キー識別子 (SKI) 拡張機能に一致する KeyID が含まれている証明書のみが有効な発行者として選択されます。

  • 名前の一致: 名前の一致は、AKI に情報が存在しない場合、または AKI 拡張子が証明書に存在しない場合に行われます。 この場合、発行者証明書のサブジェクト名は、現在の証明書の発行者属性と一致する必要があります。

SKI フィールドと AKI フィールドを含まない証明書の場合、チェーン エンジンは名前照合を使用してチェーンを構築しようとします。 同じ名前の証明書が 2 つある場合は、新しい方が選択されます。

証明書の検出 は、直接の親がコンピューター上でローカルでない場合に開始されます。 クライアントはこのプロセスを使用して、不足している親証明書を取得します。 証明書の機関情報アクセス フィールドに表示される URL が解析され、親 CA 証明書の取得に使用されます。 プロセスは CRL のダウンロードに似ています。

チェーンが構築されると、チェーン内の各証明書に対して以下のチェックが実行されます。

  • 正しく書式設定され、署名されていることを確認します。 証明書のハッシュ チェックを実行します。
  • 証明書の [開始] フィールドと [ 終了 ] フィールドを確認して、有効期限が切れていないことを確認します。
  • 証明書が失効しているかどうかを確認します。
  • 信頼されたルート ストアにある証明書でチェーンが終了していることを確認します。

証明書とそのチェーンは、すべてのチェックが完了すると有効と見なされ、正常に返されます。

証明書の順序付きリストを持つ証明書チェーンにより、証明書利用者は送信者が信頼できるかどうかを確認できます。 これは、クライアントからサーバー、およびサーバーからクライアントの双方向で機能します。

次の図は、 名前一致 チェーンの検証フローを示しています。

名前の一致メソッドを使用したチェーン検証プロセスの図。

信頼チェーンを確保する

証明書を使用して証明書ベースの認証を実行する場合は、両方の証明書利用者に CA 証明書 (公開キー) の信頼チェーンがあることを確認する必要があります。 この場合、証明書利用者は Intune 管理対象デバイスと認証アクセス ポイント (Wi-Fi、VPN、Web サービスなど) です。

ルート CA が存在する必要があります。 発行元 CA 証明書が存在しない場合は、目的の OS プラットフォームのネイティブ証明書チェーン エンジンを使用して証明書利用者が要求できます。 証明書利用者は、リーフ証明書の 機関情報アクセス プロパティを使用して、発行元の CA 証明書を要求できます。

検証プロセスのチェーンの図。

証明書ベースの認証

ここでは、クライアントまたはデバイスが証明書ベースの認証を実行するときに使用されるさまざまな証明書の基礎について説明します。

次の手順では、証明書ベースの認証中にクライアントと証明書利用者サービスの間で発生するハンドシェイクについて説明します。

  1. クライアントは、何らかの形式のhelloパケットを証明書利用者に発行します。
  2. 証明書利用者は、セキュリティで保護された TLS/SSL 経由で通信することを希望することを示す応答をします。 クライアントと証明書利用者が SSL ハンドシェイクを実行し、セキュリティで保護されたチャネルが確立されます。
  3. 証明書利用者は、クライアント認証に使用する証明書を要求します。
  4. クライアントは、クライアント認証証明書を証明書利用者に提示して認証します。

クライアントと証明書利用者サービス間のハンドシェイクの図。

Microsoft Cloud PKI を使用しない環境では、プライベート CA が証明書利用者が使用する TLS/SSL 証明書とデバイス クライアント認証証明書の両方を発行する責任があります。 Microsoft クラウド PKI を使用してデバイス クライアント認証証明書を発行し、この特定のタスクのプライベート CA を効果的に置き換えることができます。