NPS で使われる証明書を管理する

適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016

拡張認証プロトコル トランスポート層セキュリティ (EAP-TLS)、保護された拡張認証プロトコル トランスポート層セキュリティ (PEAP-TLS)、PEAP-Microsoft チャレンジ ハンドシェイク認証プロトコル バージョン 2 (MS-CHAP v2) などの証明書ベースの認証方法を展開する場合は、すべての NPS にサーバー証明書を登録する必要があります。 このサーバー証明書には、次の条件が必要です。

  • PEAP と EAP の要件に合わせて証明書テンプレートを構成する」で説明されているサーバー証明書の最小要件を満たしている。

  • クライアント コンピューターによって信頼されている証明機関 (CA) によって発行されている。 CA は、その証明書が現在のユーザーとローカル コンピューターの信頼されたルート証明機関の証明書ストアに存在する場合に信頼されます。

次の手順は、信頼されたルート CA がサードパーティ CA (Verisign など) であるか、または Active Directory 証明書サービス (AD CS) を使用して公開キー基盤 (PKI) 用に展開した CA である展開環境で NPS 証明書を管理するために役立ちます。

キャッシュされた TLS ハンドルの有効期限を変更する

EAP-TLS、PEAP-TLS、PEAP-MS-CHAP v2 の初期の認証プロセス中に、NPS では、接続クライアントの TLS 接続プロパティの一部をキャッシュします。 クライアントでもまた、NPS の TLS 接続プロパティの一部をキャッシュします。

これらの TLS 接続プロパティの個々のコレクションは、TLS ハンドルと呼ばれます。

クライアント コンピューターが複数の認証システムの TLS ハンドルをキャッシュできるのに対して、NPS では、多数のクライアント コンピューターの TLS ハンドルをキャッシュできます。

クライアントとサーバー上のキャッシュされた TLS ハンドルにより、再認証プロセスをよりすばやく実行できるようになります。 たとえば、ワイヤレス コンピューターが NPS に対して再認証する場合、NPS ではワイヤレス クライアントの TLS ハンドルを調べ、そのクライアント接続が再接続であることをすばやく判定できます。 NPS では、完全な認証を実行することなくその接続を認可します。

それに対応して、クライアントでは NPS の TLS ハンドルを調べ、それが再接続であることを判定するため、サーバー認証を実行する必要はありません。

Windows 10 および Windows Server 2016 を実行しているコンピューターでは、既定の TLS ハンドルの有効期限は 10 時間です。

状況によっては、TLS ハンドルの有効期限を増やすか、または減らすことが必要になる場合があります。

たとえば、ユーザーの証明書が管理者によって取り消されるときに、その証明書の有効期限が既に切れている状況では、TLS ハンドルの有効期限を減らすことができます。 このシナリオでは、NPS にまだ有効期限が切れていないキャッシュされた TLS ハンドルがあると、ユーザーは引き続きネットワークに接続できてしまいます。 TLS ハンドルの有効期限を減らすと、失効した証明書を持つこのようなユーザーが再接続できないようにするのに役立つ可能性があります。

Note

このシナリオに対する最善の解決策は、Active Directory でユーザー アカウントを無効にするか、またはネットワーク ポリシーでネットワークに接続するためのアクセス許可が付与されている Active Directory グループからユーザー アカウントを削除することです。 ただし、レプリケーションの待ち時間のために、これらの変更のすべてのドメイン コントローラーへの伝達も遅延される可能性があります。

クライアント コンピューターで TLS ハンドルの有効期限を構成する

クライアント コンピューターで NPS の TLS ハンドルをキャッシュする時間を変更するには、この手順を使用できます。 NPS を正常に認証した後、クライアント コンピューターでは、NPS の TLS 接続プロパティを TLS ハンドルとしてキャッシュします。 TLS ハンドルには、10 時間 (36,000,000 ミリ秒) という既定の期間があります。 TLS ハンドルの有効期限は、次の手順を使用して増やすか、または減らすことができます。

Administrators、またはそれと同等のメンバーシップが、この手順を実行するために最低限必要なメンバーシップです。

重要

この手順はクライアント コンピューターではなく、NPS で実行する必要があります。

クライアント コンピューターで TLS ハンドルの有効期限を構成するには

  1. NPS で、レジストリ エディターを開きます。

  2. レジストリ キー HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL を参照します。

  3. [編集] メニューで、[新規][キー] の順にクリックします。

  4. ClientCacheTime」と入力し、Enter キーを押します。

  5. [ClientCacheTime] を右クリックし、[新規][DWORD (32 ビット) 値] の順にクリックします。

  6. NPS による認証の試みが最初に成功した後、クライアント コンピューターで NPS の TLS ハンドルをキャッシュする時間 (ミリ秒単位) を入力します。

NPS で TLS ハンドルの有効期限を構成する

NPS でクライアント コンピューターの TLS ハンドルをキャッシュする時間を変更するには、この手順を使用します。 クライアントのアクセスを正常に認証した後、NPS では、クライアント コンピューターの TLS 接続プロパティを TLS ハンドルとしてキャッシュします。 TLS ハンドルには、10 時間 (36,000,000 ミリ秒) という既定の期間があります。 TLS ハンドルの有効期限は、次の手順を使用して増やすか、または減らすことができます。

Administrators、またはそれと同等のメンバーシップが、この手順を実行するために最低限必要なメンバーシップです。

重要

この手順はクライアント コンピューターではなく、NPS で実行する必要があります。

NPS で TLS ハンドルの有効期限を構成するには

  1. NPS で、レジストリ エディターを開きます。

  2. レジストリ キー HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL を参照します。

  3. [編集] メニューで、[新規][キー] の順にクリックします。

  4. ServerCacheTime」と入力し、Enter キーを押します。

  5. [ServerCacheTime] を右クリックし、[新規][DWORD (32 ビット) 値] の順にクリックします。

  6. クライアントによる認証の試みが最初に成功した後、NPS でクライアント コンピューターの TLS ハンドルをキャッシュする時間 (ミリ秒単位) を入力します。

信頼されたルート CA 証明書の SHA-1 ハッシュを取得する

ローカル コンピューターにインストールされている証明書から、信頼されたルート証明機関 (CA) のセキュア ハッシュ アルゴリズム (SHA-1) ハッシュを取得するには、この手順を使用します。 状況によっては (グループ ポリシーを展開している場合など)、証明書の SHA-1 ハッシュを使用して証明書を指定することが必要です。

グループ ポリシーを使用している場合は、EAP または PEAP による相互認証のプロセス中に NPS を認証するためにクライアントで使用する必要のある 1 つ以上の信頼されたルート CA 証明書を指定できます。 サーバー証明書を検証するためにクライアントで使用する必要のある信頼されたルート CA 証明書を指定するには、証明書の SHA-1 ハッシュを入力できます。

この手順は、証明書の Microsoft 管理コンソール (MMC) スナップインを使用して、信頼されたルート CA 証明書の SHA-1 ハッシュを取得する方法を示しています。

この手順を完了するには、ローカル コンピューター上の Users グループのメンバーである必要があります。

信頼されたルート CA 証明書の SHA-1 ハッシュを取得するには

  1. [ファイル名を指定して実行] ダイアログ ボックスまたは Windows PowerShell で、「mmc」と入力し、Enter キーを押します。 Microsoft 管理コンソール (MMC) が開きます。 MMC で、[ファイル][スナップインの追加と削除] の順にクリックします。 [スナップインの追加と削除] ダイアログ ボックスが開きます。

  2. [スナップインの追加と削除][利用できるスナップイン] で、[証明書] をダブルクリックします。 [証明書] スナップイン ウィザードが開きます。 [コンピューター アカウント] をクリックして [次へ] をクリックします。

  3. [コンピューターの選択] で、[ローカル コンピューター (このコンソールを実行しているコンピューター)] が選択されていることを確認し、[完了] をクリックして [OK] をクリックします。

  4. 左側のウィンドウで、[証明書 (ローカル コンピューター)] をダブルクリックして [信頼されたルート証明機関] フォルダーをダブルクリックします。

  5. [証明書] フォルダーは、[信頼されたルート証明機関] フォルダーのサブフォルダーです。 [証明書] フォルダーをクリックします。

  6. 詳細ウィンドウで、信頼されたルート CA の証明書を参照します。 証明書をダブルクリックする [証明書] ダイアログ ボックスが開きます。

  7. [Certificate] ダイアログ ボックスの [Details] タブをクリックします。

  8. フィールドの一覧で、[拇印] までスクロールして選択します。

  9. 下のウィンドウに、証明書の SHA-1 ハッシュである 16 進文字列が表示されます。 SHA-1 ハッシュを選択し、[コピー] コマンド (Ctrl + C キー) の Windows キーボード ショートカットを押して、そのハッシュを Windows クリップボードにコピーします。

  10. SHA-1 ハッシュを貼り付ける場所を開き、カーソルを正しく置いて、[貼り付け] コマンド (Ctrl + V キー) の Windows キーボード ショートカットを押します。

証明書と NPS の詳細については、「PEAP と EAP の要件に合わせて証明書テンプレートを構成する」を参照してください。

NPS の詳細については、「ネットワーク ポリシー サーバー (NPS)」を参照してください。