ハイブリッド キー信頼デプロイ ガイド

この記事では、次Windows Hello for Business適用される機能またはシナリオについて説明します。


重要

Windows Hello for Businessクラウド Kerberos 信頼は、キー信頼モデルと比較した場合に推奨されるデプロイ モデルです。 詳細については、「 Cloud Kerberos trust deployment」を参照してください。

要件

デプロイを開始する前に、「Windows Hello for Businessデプロイの計画」の記事で説明されている要件を確認してください。

開始する前に、次の要件が満たされていることを確認してください。

展開の手順

前提条件が満たされたら、Windows Hello for Businessのデプロイは次の手順で構成されます。

公開キー インフラストラクチャの構成と検証

Windows Hello for Businessキー信頼モデルを使用する場合は、公開キー 基盤 (PKI) が必要です。 ドメイン コントローラーには、クライアントの 信頼のルート として機能する証明書が必要です。 証明書は、クライアントが不正なドメイン コントローラーと通信しないようにします。

キー信頼のデプロイでは、オンプレミス認証にクライアントが発行した証明書は必要ありません。 Microsoft Entra Connect Sync では、Windows Hello for Business資格情報の公開キーをユーザーの Active Directory オブジェクト (msDS-KeyCredentialLink属性) の属性に同期することで、公開キーマッピング用に Active Directory ユーザー アカウントを構成します。

Windows Server ベースの PKI または Microsoft Enterprise 以外の証明機関を使用できます。 詳細については、「 Microsoft 以外の CA からのドメイン コントローラー証明書の要件」を参照してください。

エンタープライズ証明機関をデプロイする

このガイドでは、ほとんどの企業に既存の公開キー基盤があるものと想定しています。 Windows Hello for Businessは、Windows Server Active Directory Certificate Services ロールを実行しているエンタープライズ PKI によって異なります。
既存の PKI がない場合は、 証明機関のガイダンス を確認してインフラストラクチャを適切に設計してください。 次に、設計セッションの情報を使用して PKI を構成する方法については、 テスト ラボ ガイド: AD CS Two-Tier PKI 階層のデプロイ に関するページを参照してください。

ラボベースの PKI

次の手順を使用して、 ラボ環境に適した単純な公開キー インフラストラクチャをデプロイできます。

証明機関 (CA) をインストールする Windows Server で 、エンタープライズ管理者 と同等の資格情報を使用してサインインします。

運用環境のドメイン コントローラーに証明機関をインストールしないでください。

  1. 管理者特権のWindows PowerShell プロンプトを開く
  2. 次のコマンドを使用して Active Directory 証明書サービスの役割をインストールします。
    Add-WindowsFeature Adcs-Cert-Authority -IncludeManagementTools
    
  3. 次のコマンドを使用して、基本的な証明機関の構成を使用して CA を構成します
    Install-AdcsCertificationAuthority
    

エンタープライズ PKI を構成する

ドメイン コントローラー証明書を構成する

クライアントはドメイン コントローラーを信頼する必要があり、信頼を有効にする最善の方法は、各ドメイン コントローラーに Kerberos 認証 証明書があることを確認することです。 ドメイン コントローラーに証明書をインストールすると、キー配布センター (KDC) がドメインの他のメンバーにその ID を証明できます。 証明書は、ドメインの外部にある信頼のルート ( つまり、エンタープライズ証明機関) をクライアントに提供します。

ドメイン コントローラーは、エンタープライズ CA が Active Directory に追加されていることを検出すると、 ドメイン コントローラー証明書 (公開されている場合) を自動的に要求します。 ドメイン コントローラードメイン コントローラー認証証明書テンプレートに基づく証明書には、後で Kerberos RFC に追加された KDC 認証オブジェクト識別子 (OID) は含まれません。 そのため、ドメイン コントローラーは Kerberos 認証 証明書テンプレートに基づいて証明書を要求する必要があります。

既定では、Active Directory CA は Kerberos 認証 証明書テンプレートを提供して発行します。 テンプレートに含まれる暗号化構成は、古くてパフォーマンスの低い暗号化 API に基づいています。 ドメイン コントローラーが最適な暗号化を使用して適切な証明書を要求するようにするには、 Kerberos 認証 証明書テンプレートを ベースライン として使用して、更新されたドメイン コントローラー証明書テンプレートを作成します。

重要

ドメイン コントローラーに発行される証明書は、次の要件を満たす必要があります。

  • 証明書失効リスト (CRL) 配布ポイント拡張機能は、有効な CRL、またはオンライン証明書状態プロトコル (OCSP) レスポンダーを指す機関情報アクセス (AIA) 拡張機能を指している必要があります
  • 必要に応じて、証明書の [サブジェクト ] セクションにサーバー オブジェクトのディレクトリ パス (識別名) を含めることができました。
  • 証明書の [キー使用法] セクションには、デジタル署名キー暗号化が含まれている必要があります
  • 必要に応じて、証明書の [基本制約] セクションに次のものが含まれている必要があります。 [Subject Type=End Entity, Path Length Constraint=None]
  • 証明書拡張キー使用法セクションには、クライアント認証 ()、サーバー認証 (1.3.6.1.5.5.7.3.21.3.6.1.5.5.7.3.1)、KDC 認証 (1.3.6.1.5.2.3.5) が含まれている必要があります。
  • 証明書の [サブジェクトの別名] セクションには、ドメイン ネーム システム (DNS) 名が含まれている必要があります
  • 証明書テンプレートには、BMPstring としてエンコードされた 値DomainControllerを持つ拡張機能が必要です。 Windows Server Enterprise 証明機関を使用している場合、この拡張機能はドメイン コントローラー証明書テンプレートに既に含まれています
  • ドメイン コントローラー証明書は、ローカル コンピューターの証明書ストアにインストールする必要があります

ドメイン管理者と同等の資格情報を使用して、CA または管理ワークステーションにサインインします。

  1. 証明機関の管理コンソールを開く

  2. [証明書テンプレートの>管理] を右クリックします

  3. 証明書テンプレート コンソールで、詳細ウィンドウで Kerberos 認証テンプレートを右クリックし、[テンプレートの複製] を選択します。

  4. テンプレートを構成するには、次の表を使用します。

    タブ名 構成
    互換性
    • [結果の変更を表示チェック] ボックスをオフにする
    • 証明機関の一覧から [Windows Server 2016] を選択します
    • [認定の受信者] の一覧から [Windows 10/Windows Server 2016] を選択します
    全般
    • ドメイン コントローラー認証 (Kerberos) など、テンプレートの表示名を指定する
    • 有効期間を目的の値に設定します
    • 後のテンプレート名を書き留めます。テンプレート表示名からスペースを差し引いた名前と同じにする必要があります
    サブジェクト名
    • この Active Directory 情報から [ビルド] を選択します
    • [サブジェクト名の形式] ボックスの一覧から [なし] を選択します
    • [代替サブジェクトにこの情報を含める] ボックスの一覧から [DNS 名] を選択します
    • 他のすべての項目をクリアする
    Cryptography
    • [プロバイダー カテゴリ] を [キー ストレージ プロバイダー] に設定する
    • アルゴリズム名RSA に設定する
    • 最小キー サイズ2048 に設定する
    • 要求ハッシュSHA256 に設定する
  5. [ OK] を 選択して変更を完了し、新しいテンプレートを作成します

  6. コンソールを閉じる

ドメイン コントローラー証明書に KDC 認証 OID を含める必要はありませんMicrosoft Entraハイブリッド参加済みデバイスです。 OID は、参加済みデバイスによるオンプレミス リソースへのWindows Hello for Businessによる認証Microsoft Entra有効にするために必要です。

重要

Microsoft Entra参加済みデバイスがオンプレミス リソースに対して認証されるようにするには、次のことを確認します。

既存のドメイン コントローラー証明書を置き換える

ドメイン コントローラーには、既存のドメイン コントローラー証明書がある場合があります。 Active Directory Certificate Services には、 ドメイン コントローラー証明書と呼ばれるドメイン コントローラー用の既定の証明書テンプレートが用意されています。 Windows Server の以降のリリースでは、 ドメイン コントローラー認証証明書と呼ばれる新しい証明書テンプレートが提供されました。 これらの証明書テンプレートは、 KDC 認証 拡張機能を含めるために必要な証明書認証を実行するキー配布センター (KDC) を示す Kerberos 仕様の更新前に提供されました。

Kerberos 認証証明書テンプレートは、ドメイン コントローラー用に指定された最新の証明書テンプレートであり、すべてのドメイン コントローラーに展開する必要があります。
自動登録機能を使用すると、ドメイン コントローラー証明書を置き換えることができます。 Kerberos 認証証明書テンプレートを使用して、古いドメイン コントローラー証明書を新しいドメイン コントローラー証明書に置き換えるには、次の構成を使用します。

エンタープライズ管理者と同等の資格情報を使用して、CA または管理ワークステーションにサインインします。

  1. 証明機関の管理コンソールを開く
  2. [証明書テンプレートの>管理] を右クリックします
  3. 証明書テンプレート コンソールで、詳細ウィンドウでドメイン コントローラー認証 (Kerberos) (または前のセクションで作成した証明書テンプレートの名前) テンプレートを右クリックし、[プロパティ] を選択します。
  4. [ 置き換えられたテンプレート ] タブを選択します。[ 追加] を選択します
  5. [置き換えられたテンプレートの追加] ダイアログで、ドメイン コントローラー証明書テンプレートを選択し、[OK] [追加] を選択します>
  6. [ 置き換えられたテンプレートの追加 ] ダイアログで、 ドメイン コントローラー認証 証明書テンプレートを選択し、[ OK] を選択します
  7. [ 置き換えられたテンプレートの追加 ] ダイアログで、 Kerberos 認証 証明書テンプレートを選択し、[ OK] を選択します
  8. 以前にドメイン コントローラー用に構成されていた他のエンタープライズ証明書テンプレートを [ 置き換えられたテンプレート ] タブに追加する
  9. [ OK] を選択 し、[ 証明書テンプレート ] コンソールを閉じます

証明書テンプレートは、置き換えられたテンプレートの一覧で提供されるすべての証明書 テンプレートを置き換えるために 構成されます。
ただし、テンプレートが 1 つ以上の証明機関に発行されるまで、証明書テンプレートと証明書テンプレートのスーパーシングはアクティブになりません。

ドメイン コントローラーの証明書は、NTAuth ストア内のルートにチェーンする必要があります。 既定では、Active Directory 証明機関のルート証明書が NTAuth ストアに追加されます。 Microsoft 以外の CA を使用している場合、これは既定では実行されない可能性があります。 ドメイン コントローラー証明書が NTAuth ストアのルートにチェーンされていない場合、ユーザー認証は失敗します。 NTAuth ストア内のすべての証明書を表示するには、次のコマンドを使用します。

Certutil -viewstore -enterprise NTAuth

優先する証明書テンプレートの非公開化

証明機関は、発行された証明書テンプレートに基づいて証明書のみを発行します。 セキュリティを確保するために、CA が発行するように構成されていない証明書テンプレート (ロールのインストールからの事前発行済みテンプレートや置き換えられたテンプレートなど) を発行解除することをお勧めします。

新しく作成された ドメイン コントローラー認証 証明書テンプレートは、以前のドメイン コントローラー証明書テンプレートよりも優先されます。 そのため、すべての発行元証明機関からこれらの証明書テンプレートを非公開にする必要があります。

エンタープライズ管理者と同等の資格情報を使用して、CA または管理ワークステーションにサインインします。

  1. 証明機関の管理コンソールを開く
  2. ナビゲーション ウィンドウの [証明書テンプレート] > から親ノードを展開します
  3. ドメイン コントローラー証明書テンプレートを右クリックし、[削除] を選択します。 [証明書テンプレートを無効にする] ウィンドウで [はい] を選択します
  4. ドメイン コントローラー認証Kerberos 認証証明書テンプレートに対して手順 3 を繰り返す

証明書テンプレートを CA に発行する

証明機関は、発行された証明書テンプレートに対してのみ証明書を発行できます。 複数の CA があり、証明書テンプレートに基づいて証明書を発行する CA を増やす場合は、証明書テンプレートを発行する必要があります。

Enterprise 管理同等の資格情報を使用して CA または管理ワークステーションサインインします。

  1. 証明機関の管理コンソールを開く
  2. ナビゲーション ウィンドウから親ノードを展開する
  3. ナビゲーション ウィンドウで [証明書テンプレート ] を選択します
  4. [証明書テンプレート] ノードを右クリックします。 発行する [新しい>証明書テンプレート] を選択します
  5. [証明書テンプレートの有効化] ウィンドウで、前の手順>で作成したドメイン コントローラー認証 (Kerberos) テンプレートを選択し、[OK] を選択します
  6. コンソールを閉じる

重要

参加済みデバイスMicrosoft Entra展開する予定で、Windows Hello for Businessでサインインするときにオンプレミス リソースにシングル サインオン (SSO) が必要な場合は、手順に従って、HTTP ベースの CRL 配布ポイントを含むように CA を更新します

ドメイン コントローラーに証明書を構成して展開する

ドメイン コントローラーの自動証明書登録を構成する

ドメイン コントローラーは、 ドメイン コントローラー 証明書テンプレートから証明書を自動的に要求します。 ただし、ドメイン コントローラーは、証明書テンプレートの新しい証明書テンプレートや置き換えられた構成を認識することはできません。 ドメイン コントローラーが証明書を自動的に登録および更新するには、証明書の自動登録用に GPO を構成し、 ドメイン コントローラー OU にリンクします。

  1. グループ ポリシー管理コンソール (gpmc.msc) を開きます
  2. ドメインを展開し、ナビゲーション ウィンドウで [グループ ポリシー オブジェクト] ノードを選択します
  3. [グループ ポリシー オブジェクト] を右クリックして [新規] を選択します。
  4. 名前ボックスに 「ドメイン コントローラーの自動証明書登録 」と入力し、[ OK] を選択します
  5. ドメイン コントローラーの [証明書の自動登録] グループ ポリシー オブジェクトを右クリックし、[編集] を選択します
  6. ナビゲーション ウィンドウで、[コンピューターの構成] の下の [ポリシー] を展開します
  7. [Windows 設定] [セキュリティ設定>] [公開キー ポリシー] > の展開
  8. 詳細ウィンドウで、[Certificate Services クライアント - 自動登録] を右クリックし、[プロパティ] を選択します。
  9. [構成モデル] の一覧から [有効] を選択します
  10. [有効期限が切れた証明書の更新、保留中の証明書の更新、失効した証明書の削除] チェックボックスを選択します
  11. [証明書テンプレートを使用する証明書を更新するチェック] ボックスを選択します
  12. [ OK] を選択します
  13. グループ ポリシー管理エディターを閉じる

ドメイン コントローラーの自動証明書登録 GPO を展開する

ドメイン管理者と同等の資格情報を使用して 、ドメイン コントローラーまたは管理ワークステーションにサインインします。

  1. グループ ポリシー管理コンソール (gpmc.msc) を開始します。
  2. ナビゲーション ウィンドウで、ドメインを展開し、Active Directory ドメイン名を持つノードを展開します。 ドメイン コントローラー組織単位を右クリックし、[既存の GPO をリンクする]を選択します。
  3. [GPO の選択] ダイアログ ボックスで、[ドメイン コントローラーの証明書の自動登録] または前に作成したドメイン コントローラー証明書登録グループ ポリシーオブジェクトの名前を選択します
  4. [ OK] を選択します

構成を検証する

Windows Hello for Business は、複雑で難しく見える分散システムです。 デプロイを成功させる鍵は、次のフェーズに移行する前に作業フェーズを検証することです。

置き換えられた証明書テンプレートではなく、ドメイン コントローラーが正しい証明書を登録していることを確認します。 各ドメイン コントローラーが証明書の自動登録を完了したことを確認します。

イベント ログを使用する

ドメイン管理者と同等の資格情報を使用して 、ドメイン コントローラーまたは管理ワークステーションにサインインします。

  1. イベント ビューアーを使用して、Application and Services>Microsoft>Windows>CertificateServices-Lifecycles-System イベント ログに移動します。
  2. 新しい証明書登録 (自動登録) を示すイベントを探します。
    • イベントの詳細には、証明書が発行された証明書テンプレートが含まれます
    • 証明書の発行に使用する証明書テンプレートの名前は、イベントに含まれる証明書テンプレート名と一致する必要があります
    • 証明書の拇印と EKU もイベントに含まれます
    • 適切なWindows Hello for Business認証に必要な EKU は、証明書テンプレートによって提供される他の EKU に加えて、Kerberos 認証です

新しいドメイン コントローラー証明書に置き換えられた証明書は、イベント ログに アーカイブ イベント を生成します。 アーカイブ イベントには、証明書テンプレート名と、新しい証明書が優先された証明書の拇印が含まれます。

証明書マネージャー

証明書マネージャーのコンソールを使えば、適切に登録された証明書 (適切な EKU を使用した正しい証明書テンプレートに基づいている) がドメイン コントローラーにあるかどうかを検証できます。 certlm.msc を使用して、ローカル コンピューターの証明書ストアで証明書を表示します。 [個人] ストアを展開し、コンピューターに登録された証明書を表示します。 アーカイブされた証明書は証明書マネージャーに表示されません。

certutil.exe

コマンドを使用 certutil.exe して、ローカル コンピューターに登録されている証明書を表示できます。 certutil は、ローカル コンピューターの登録された証明書とアーカイブされた証明書を表示します。 管理者特権のコマンド プロンプトから、次のコマンドを実行します。

certutil.exe -q -store my

ストア内の各証明書に関する詳細情報を表示し、適切な証明書が登録された証明書の自動登録を検証するには、次のコマンドを使用します。

certutil.exe -q -v -store my

トラブルシューティング

Windows は、起動中とグループ ポリシーの更新時に、コンピューターの証明書の自動登録をトリガーします。 グループ ポリシーは、管理者特権でのコマンド プロンプトから gpupdate.exe /force を使用して更新することができます。

管理者特権でのコマンド プロンプトから certreq.exe -autoenroll -q を使用して、証明書の自動登録を強制的にトリガーすることもできます。

証明書の登録とアーカイブを監視するには、イベント ログを使用します。 証明機関への証明書テンプレートの発行や自動登録の 許可 などの構成を確認します。

セクション レビューと次の手順

次のセクションに進む前に、次の手順が完了していることを確認します。

  • ドメイン コントローラー証明書テンプレートを構成する
  • 既存のドメイン コントローラー証明書を置き換える
  • 優先する証明書テンプレートの非公開化
  • 証明書テンプレートを CA に発行する
  • ドメイン コントローラーに証明書を展開する
  • ドメイン コントローラーの構成を検証する