PEAP と EAP の要件に合わせて証明書テンプレートを構成する

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

拡張認証プロトコル トランスポート層セキュリティ (EAP-TLS)、保護された拡張認証プロトコルトランスポート層セキュリティ (PEAP-TLS)、および PEAP-Microsoft チャレンジ ハンドシェイク認証プロトコル バージョン 2 (MS-CHAP v2) のネットワーク アクセス認証を使用するすべての証明書は、X.509 証明書の要件を満たし、Secure Socket Layer/Transport Level Security (SSL/TLS) を使用する接続で機能する必要があります。 クライアントとサーバーの両方の証明書には、下に詳細を示すとおり、追加の要件があります。

重要

このトピックでは、証明書テンプレートを構成する手順について説明します。 これらの手順を使用するには、Active Directory 証明書サービス (AD CS) を使用して独自の公開キー基盤 (PKI) を展開しておく必要があります。

サーバー証明書の最小要件

認証方法として PEAP-MS-CHAP v2、PEAP-TLS、または EAP-TLS を使用している場合、NPS はサーバー証明書の最小要件を満たすサーバー証明書を使用する必要があります。

クライアント コンピューターは、クライアント コンピューターまたはグループ ポリシーで [サーバー証明書の検証] オプションを使用して、サーバー証明書を検証するように構成できます。

サーバー証明書が次の要件を満たしている場合、クライアント コンピューターはサーバーの認証試行を受け入れます。

  • サブジェクト名に値が指定されていること。 ネットワーク ポリシー サーバー (NPS) を実行しているサーバーに空のサブジェクト名の証明書を発行した場合、その証明書は NPS の認証には使用できません。 サブジェクト名を指定して証明書テンプレートを構成するには、次の手順に従います。

    1. [証明書テンプレート] を開きます。
    2. [詳細] ペイン内で、変更する証明書テンプレートを右クリックし、[プロパティ] をクリックします。
    3. [サブジェクト名] タブをクリックし、[Active Directory の情報から構築する] をクリックします。
    4. [サブジェクト名の形式] で [なし] 以外の値を選択します。
  • サーバー上のコンピューター証明書:

    • 信頼されたルート証明機関 (CA) にチェーニングされていること
    • EKU 拡張機能に Server Authentication の目的が含まれていること (Server Authentication のオブジェクト識別子 (OID) は 1.3.6.1.5.5.7.3.1)
    • 以下を通過すること。
      • CryptoAPI によって実行されるチェック、および
      • リモート アクセス ポリシーまたはネットワーク ポリシーで指定されているチェック
  • 必要な暗号化設定を使用して、サーバー証明書を構成します。

    1. [証明書テンプレート] を開きます。
    2. [詳細] ペイン内で、変更する証明書テンプレートを右クリックし、[プロパティ] をクリックします。
    3. [暗号化] タブをクリックし、次の構成を行っていることを確認します。
      • プロバイダーのカテゴリ:[キー記憶域プロバイダー] など
      • アルゴリズム名:RSA など
      • プロバイダー:Microsoft ソフトウェア キー記憶域プロバイダーなど
      • 最小キー サイズ:2048 など
      • ハッシュ アルゴリズム:SHA256 など
    4. [次へ] をクリックします。
  • サブジェクトの別名 (SubjectAltName) 拡張が使用されている場合は、これにサーバーの DNS 名が含まれていること。 登録するサーバーのドメイン ネーム システム (DNS) 名で証明書テンプレートを構成するには、次の手順に従います。

    1. [証明書テンプレート] を開きます。
    2. [詳細] ペイン内で、変更する証明書テンプレートを右クリックし、[プロパティ] をクリックします。
    3. [サブジェクト名] タブをクリックし、[Active Directory の情報から構築する] をクリックします。
    4. [代わりのサブジェクト名に次の情報を含める] で、[DNS 名] を選択します。

PEAP と EAP-TLS を使用する場合、NPS では、コンピューター証明書ストアにインストールされているすべての証明書が一覧表示されます。ただし、以下の場合は例外です。

  • EKU 拡張機能に Server Authentication の目的が含まれない証明書は表示されません。

  • サブジェクト名を含まない証明書は表示されません。

  • レジストリ ベースの証明書とスマート カードによるログオンの証明書は表示されません。

詳細については、「802.1 X 有線および無線展開のサーバー証明書を展開する」を参照してください。

クライアント証明書の最小要件

EAP-TLS または PEAP-TLS を使用している場合、サーバーは、証明書が次の要件を満たしていると、クライアントによる認証の試みを受け入れます。

  • クライアント証明書が、エンタープライズ CA によって発行されているか、Active Directory Domain Services (AD DS) のユーザーまたはコンピューター アカウントにマップされていること。

  • クライアント上のユーザーまたはコンピューター証明書:

    • 信頼されたルート CA へのチェーン
    • EKU 拡張機能に Client Authentication 目的が含まれている (Client Authentication の OID は 1.3.6.1.5.5.7.3.2)
    • 以下を通過すること。
      • CryptoAPI によって実行されるチェック、
      • リモート アクセス ポリシーまたはネットワーク ポリシーで指定されているチェックおよび、
      • NPS ネットワーク ポリシーで指定されている証明書オブジェクト識別子のチェック。
  • 802.1X クライアントが、スマート カードによるログオンの証明書またはパスワードで保護された証明書のいずれかであるレジストリ ベースの証明書を使用していないこと。

  • ユーザー証明書の場合は、証明書のサブジェクトの別名 (SubjectAltName) 拡張にユーザー プリンシパル名 (UPN) が含まれていること。 証明書テンプレートに UPN を構成するには、次の手順に従います。

    1. [証明書テンプレート] を開きます。
    2. [詳細] ペイン内で、変更する証明書テンプレートを右クリックし、[プロパティ] をクリックします。
    3. [サブジェクト名] タブをクリックし、[Active Directory の情報から構築する] をクリックします。
    4. [代わりのサブジェクト名に次の情報を含める] で、[ユーザー プリンシパル名 (UPN)] を選択します。
  • コンピューター証明書の場合は、サブジェクト代替名 (SubjectAltName) 拡張にクライアントの完全修飾ドメイン名 (FQDN) (DNS 名) が含まれていること。 証明書テンプレートにこの名前を構成するには、次の手順に従います。

    1. [証明書テンプレート] を開きます。
    2. [詳細] ペイン内で、変更する証明書テンプレートを右クリックし、[プロパティ] をクリックします。
    3. [サブジェクト名] タブをクリックし、[Active Directory の情報から構築する] をクリックします。
    4. [代わりのサブジェクト名に次の情報を含める] で、[DNS 名] を選択します。

PEAP-TLS と EAP-TLS を使用する場合、クライアントでは、証明書スナップインにインストールされているすべての証明書が一覧表示されます。ただし、以下の場合は例外です。

  • ワイヤレス クライアントでは、レジストリ ベースの証明書とスマート カードによるログオンの証明書は表示されません。

  • ワイヤレス クライアントと VPN クライアントでは、パスワードで保護された証明書は表示されません。

  • EKU 拡張機能に Client Authentication の目的が含まれない証明書は表示されません。

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

EAP の詳細については、「ネットワーク アクセスの拡張認証プロトコル (EAP)」を参照してください。

NPS における証明書の問題のトラブルシューティングに関する詳細については、「EAP-TLS または PEAP を EAP-TLS で使用する場合の証明書の要件」を参照してください。