サード パーティの証明機関でスマート カード ログオンを有効にするためのガイドライン

この記事では、サード パーティの証明機関でスマート カード ログオンを有効にするためのガイドラインをいくつか示します。

適用対象:Windows Server 2012 R2、Windows 10 - すべてのエディション
元の KB 番号: 281245

概要

この記事のガイドラインに従って、Microsoft Windows 2000 と Microsoft 以外の証明機関 (CA) でスマート カード ログオン プロセスを有効にすることができます。 この構成の制限付きサポートについては、この記事の後半で説明します。

詳細

要件

Active Directory へのスマート カード認証では、Smartcard ワークステーション、Active Directory、および Active Directory ドメイン コントローラーを正しく構成する必要があります。 Active Directory では、証明機関を信頼して、その CA からの証明書に基づいてユーザーを認証する必要があります。 Smartcard ワークステーションとドメイン コントローラーの両方が、正しく構成された証明書で構成されている必要があります。

PKI の実装と同様に、すべての関係者は、発行元 CA チェーンのルート CA を信頼する必要があります。 ドメイン コントローラーとスマートカード ワークステーションの両方がこのルートを信頼します。

Active Directory とドメイン コントローラーの構成

  • 必須: Active Directory には、ユーザーを Active Directory に対して認証するために、NTAuth ストアにサードパーティ発行 CA が必要です。
  • 必須: スマートカード ユーザーを認証するには、ドメイン コントローラー証明書を使用してドメイン コントローラーを構成する必要があります。
  • 省略可能: Active Directory は、グループ ポリシーを使用して、サードパーティのルート CA をすべてのドメイン メンバーの信頼されたルート CA ストアに配布するように構成できます。

スマートカード証明書とワークステーションの要件

  • 必須: フィールドのテキスト形式を含め、「構成手順」セクションに記載されているすべてのスマートカード要件を満たす必要があります。 Smartcard 認証が満たされていない場合、失敗します。
  • 必須: スマートカードと秘密キーは、スマートカードにインストールする必要があります。

構成手順

  1. サード パーティのルート証明書をエクスポートまたはダウンロードします。 パーティのルート証明書を取得する方法は、ベンダーによって異なります。 証明書は Base64 Encoded X.509 形式である必要があります。

  2. Active Directory グループ ポリシー オブジェクトの信頼されたルートにサード パーティのルート CA を追加します。 Windows 2000 ドメインのグループ ポリシーを構成して、サードパーティの CA をすべてのドメイン コンピューターの信頼されたルート ストアに配布するには、

    1. [スタート] ボタンをクリックして、[プログラム]、[管理ツール] の順にポイントし、[Active Directory ユーザーとコンピューター] をクリックします。
    2. 左側のウィンドウで、編集するポリシーが適用されているドメインを見つけます。
    3. ドメインを右クリックし、[プロパティ] をクリックします。
    4. [グループ ポリシー] タブをクリックします。
    5. [既定のドメイン ポリシー] グループ ポリシー オブジェクトをクリックし、[編集] をクリックします。 新しいウィンドウが開きます。
    6. 左側のウィンドウで、次の項目を展開します。
      • コンピューターの構成
      • Windows の設定
      • セキュリティ設定
      • 公開キー ポリシー
    7. [信頼されたルート証明機関] を右クリックします。
    8. [ すべてのタスク] を選択し、[ インポート] をクリックします。
    9. ウィザードの指示に従って証明書をインポートします。
    10. [OK] をクリックします。
    11. グループ ポリシー ウィンドウを閉じます。
  3. CA を発行するサード パーティを Active Directory の NTAuth ストアに追加します。

    スマート カード ログオン証明書は、NTAuth ストア内の CA から発行する必要があります。 既定では、Microsoft Enterprise CA は NTAuth ストアに追加されます。

    • スマート カード ログオン証明書またはドメイン コントローラー証明書を発行した CA が NTAuth ストアに正しく投稿されていない場合、スマート カード ログオン プロセスは機能しません。 対応する回答は "資格情報を確認できません" です。

    • NTAuth ストアは、フォレストの構成コンテナーにあります。 たとえば、サンプルの場所は次のとおりです。LDAP://server1.name.com/CN=NTAuthCertificates,CN=Public Key Services、CN=Services、CN=Configuration、DC=name、DC=com

    • 既定では、このストアは Microsoft Enterprise CA をインストールするときに作成されます。 オブジェクトは、Windows 2000 サポート ツールの ADSIedit.msc を使用するか、LDIFDE を使用して手動で作成することもできます。 詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示します。

      295663 サードパーティ証明機関 (CA) 証明書を Enterprise NTAuth ストアにインポートする方法

    • 関連する属性は cACertificate です。これは、ASN でエンコードされた証明書のオクテット文字列の複数値リストです。

      NTAuth ストアにサード パーティの CA を配置した後、ドメイン ベースのグループ ポリシーは、ドメイン内のすべてのコンピューター上の次の場所にレジストリ キー (証明書の拇印) を配置します。

      HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates\NTAuth\Certificates

      ワークステーションでは 8 時間ごとに更新されます (一般的なグループ ポリシーパルス間隔)。

  4. ドメイン コントローラー証明書を要求し、ドメイン コントローラーにインストールします。 スマートカード ユーザーを認証する各ドメイン コントローラーには、ドメイン コントローラー証明書が必要です。

    Active Directory フォレストに Microsoft Enterprise CA をインストールすると、すべてのドメイン コントローラーがドメイン コントローラー証明書に自動的に登録されます。 サード パーティ CA からのドメイン コントローラー証明書の要件の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

    291010 サードパーティ CA からのドメイン コントローラー証明書の要件

    注:

    ドメイン コントローラー証明書は、Secure Sockets Layer (SSL) 認証、簡易メール転送プロトコル (SMTP) 暗号化、リモート プロシージャ コール (RPC) 署名、スマート カード ログオン プロセスに使用されます。 Microsoft 以外の CA を使用してドメイン コントローラーに証明書を発行すると、予期しない動作やサポートされていない結果が発生する可能性があります。 不適切な形式の証明書、またはサブジェクト名が存在しない証明書によって、これらの機能またはその他の機能が応答しなくなる可能性があります。

  5. サード パーティ CA からスマート カード証明書を要求します。

    指定された要件を満たすサード パーティの CA からの証明書に登録します。 登録の方法は、CA ベンダーによって異なります。

    スマート カード証明書には、特定の形式の要件があります。

    • CRL 配布ポイント (CDP) の場所 (CRL は認定失効リスト) に入力し、オンラインで、使用可能にする必要があります。 例:

      [1]CRL Distribution Point  
      Distribution Point Name:  
      Full Name:  
      URL=http://server1.name.com/CertEnroll/caname.crl
      
    • キー使用法 = デジタル署名

    • 基本制約 [Subject Type=End Entity, Path Length Constraint=None] (省略可能)

    • 拡張キー使用法 =

      • クライアント認証 (1.3.6.1.5.5.7.3.2)
        (クライアント認証 OID) は、証明書が SSL 認証に使用されている場合にのみ必要です)。
      • スマート カード ログオン (1.3.6.1.4.1.311.20.2.2)
    • サブジェクトの別名 = その他の名前: プリンシパル名= (UPN)。 例:
      UPN = user1@name.com
      UPN OtherName OID は"1.3.6.1.4.1.311.20.2.3" です。
      UPN OtherName 値: ASN1 でエンコードされた UTF8 文字列である必要があります

    • Subject = ユーザーの識別名。 このフィールドは必須の拡張機能ですが、このフィールドの作成は省略可能です。

  6. 秘密キーには、2 種類の定義済みがあります。 これらのキーは 、Signature Only(AT_SIGNATURE)Key Exchange(AT_KEYEXCHANGE)です。 スマートカード ログオンが正しく機能するには、スマートカード ログオン証明書に Key Exchange(AT_KEYEXCHANGE) 秘密キーの種類が必要です。

  7. スマートカード ドライバーとソフトウェアをスマートカード ワークステーションにインストールします。

    適切なスマートカード リーダー デバイスとドライバー ソフトウェアがスマートカード ワークステーションにインストールされていることを確認します。 これは、スマートカードリーダーベンダーによって異なります。

  8. サード パーティのスマートカード証明書をスマートカード ワークステーションにインストールします。

    手順 4 の登録プロセスでスマートカードがまだスマートカード ユーザーの個人用ストアに入れられなかった場合は、ユーザーの個人用ストアに証明書をインポートする必要があります。 そのためには、次を実行します。

    1. 証明書スナップインを含む Microsoft 管理コンソール (MMC) を開きます。

    2. コンソール ツリーの [個人用] で、[証明書] をクリックします。

    3. [すべてのタスク] メニューの [インポート] をクリックして、証明書のインポート ウィザードを開始します。

    4. インポートする証明書を含むファイルをクリックします。

      注:

      証明書を含むファイルが Personal Information Exchange (PKCS #12) ファイルの場合は、秘密キーの暗号化に使用したパスワードを入力し、秘密キーをエクスポート可能にする場合は、適切なチェック ボックスをクリックして選択し、強力な秘密キー保護を有効にします (この機能を使用する場合)。

      注:

      強力な秘密キー保護を有効にするには、論理証明書ストア ビュー モードを使用する必要があります。

    5. 証明書の種類に基づいて証明書を証明書ストアに自動的に配置するオプションを選択します。

  9. サード パーティのスマートカード証明書をスマートカードにインストールします。 このインストールは、暗号化サービス プロバイダー (CSP) とスマートカード ベンダーによって異なります。 手順については、ベンダーのドキュメントを参照してください。

  10. スマートカードを使用してワークステーションにログオンします。

可能性のある問題点

スマートカード ログオン中に表示される最も一般的なエラー メッセージは次のとおりです。

システムがログオンできませんでした。 資格情報を確認できませんでした。

このメッセージは一般的なエラーであり、以下の 1 つ以上の問題の結果である可能性があります。

証明書と構成の問題

  • ドメイン コントローラーにドメイン コントローラー証明書がありません。

  • スマートカード証明書の SubjAltName フィールドの形式が正しくありません。 SubjAltName フィールドの情報が 16 進/ASCII 生データとして表示される場合、テキストの書式設定は ASN1/UTF-8 ではありません。

  • ドメイン コントローラーには、形式が正しくない証明書または不完全な証明書があります。

  • 次の各条件について、新しい有効なドメイン コントローラー証明書を要求する必要があります。 有効なドメイン コントローラー証明書の有効期限が切れている場合は、ドメイン コントローラー証明書を更新できますが、このプロセスはより複雑で、通常は新しいドメイン コントローラー証明書を要求する場合よりも困難です。

    • ドメイン コントローラー証明書の有効期限が切れています。
    • ドメイン コントローラーに信頼されていない証明書があります。 NTAuth ストアにドメイン コントローラー証明書の発行元 CA の証明機関 (CA) 証明書が含まれていない場合は、それを NTAuth ストアに追加するか、証明書が NTAuth ストアに存在する発行元 CA から DC 証明書を取得する必要があります。

    ドメイン コントローラーまたはスマートカード ワークステーションが、ドメイン コントローラーの証明書チェーンのルート CA を信頼しない場合は、そのルート CA を信頼するようにそれらのコンピューターを構成する必要があります。

  • スマートカードには信頼されていない証明書があります。 NTAuth ストアにスマートカード証明書の発行元 CA の CA 証明書が含まれていない場合は、それを NTAuth ストアに追加するか、NTAuth ストアに証明書が存在する発行元 CA からスマートカード証明書を取得する必要があります。

    ドメイン コントローラーまたはスマートカード ワークステーションが、ユーザーのスマートカード証明書チェーンのルート CA を信頼しない場合は、そのルート CA を信頼するようにそれらのコンピューターを構成する必要があります。

  • スマート カードの証明書は、ワークステーション上のユーザーのストアにインストールされていません。 スマート カードに格納されている証明書は、スマート カードでログオンしているユーザーのプロファイル内のスマートカード ワークステーションに存在する必要があります。

    注:

    ワークステーション上のユーザーのプロファイルに秘密キーを格納する必要はありません。 スマートカードにのみ保存する必要があります。

  • 正しいスマートカード証明書または秘密キーがスマートカードにインストールされていません。 有効なスマートカード証明書は、秘密キーを使用してスマートカードにインストールする必要があり、証明書はスマートカード ワークステーション上のスマートカード ユーザーのプロファイルに格納されている証明書と一致する必要があります。

  • スマート カードの証明書は、スマートカード リーダーから取得できません。 これは、スマートカードリーダーハードウェアまたはスマートカードリーダーのドライバソフトウェアに問題がある可能性があります。 スマートカードリーダーベンダーのソフトウェアを使用して、スマートカードの証明書と秘密キーを表示できることを確認します。

  • スマートカード証明書の有効期限が切れています。

  • スマートカード証明書の SubjAltName 拡張機能では、ユーザー プリンシパル名 (UPN) を使用できません。

  • スマートカード証明書の SubjAltName フィールドの UPN の形式が正しくありません。 SubjAltName の情報が 16 進/ASCII 生データとして表示される場合、テキストの書式設定は ASN1/UTF-8 ではありません。

  • スマートカードには、形式が正しくない証明書または不完全な証明書があります。 これらの条件ごとに、新しい有効なスマートカード証明書を要求し、スマートカードとスマートカード ワークステーション上のユーザーのプロファイルにインストールする必要があります。 スマートカード証明書は、この記事で前述した要件を満たす必要があります。この要件には、SubjAltName フィールドに正しく書式設定された UPN フィールドが含まれています。

    有効なスマートカード証明書の有効期限が切れている場合は、スマートカード証明書を更新することもできます。これは、新しいスマートカード証明書を要求するよりも複雑で困難です。

  • ユーザーには、Active Directory ユーザー アカウントに UPN が定義されていません。 Active Directory 内のユーザーのアカウントには、スマートカード ユーザーの Active Directory ユーザー アカウントの userPrincipalName プロパティに有効な UPN が必要です。

  • 証明書の UPN が、ユーザーの Active Directory ユーザー アカウントで定義されている UPN と一致しません。 スマートカード ユーザーの Active Directory ユーザー アカウントの UPN を修正するか、スマートカード証明書を再発行して、SubjAltName フィールドの UPN 値がスマートカード ユーザーの Active Directory ユーザー アカウントの UPN と一致するようにします。 スマート カード UPN は、サード パーティ CA の userPrincipalName ユーザー アカウント属性と一致することをお勧めします。 ただし、証明書の UPN がアカウントの "暗黙的な UPN" (形式samAccountName@domain_FQDN) である場合、UPN は userPrincipalName プロパティと明示的に一致する必要はありません。

失効チェックの問題

ドメイン コントローラーがスマート カード ログオン証明書を検証するときに失効チェックが失敗した場合、ドメイン コントローラーはログオンを拒否します。 ドメイン コントローラーは、前に説明したエラー メッセージまたは次のエラー メッセージを返す場合があります。

システムがログオンできませんでした。 認証に使用されるスマートカード証明書が信頼されていませんでした。

注:

証明書失効リスト (CRL)、無効な CRL、失効した証明書、失効状態 "不明" を見つけてダウンロードしなかった場合、すべて失効エラーと見なされます。

失効チェックは、クライアントとドメイン コントローラーの両方から成功する必要があります。 次のことが当てはまることを確認します。

  • 失効チェックがオフになっていない。

    組み込みの失効プロバイダーの失効チェックをオフにすることはできません。 カスタムインストール可能な失効プロバイダーがインストールされている場合は、有効にする必要があります。

  • 証明書チェーン内のルート CA を除くすべての CA 証明書には、証明書に有効な CDP 拡張機能が含まれています。

  • CRL には [次の更新] フィールドがあり、CRL は最新の状態です。 CRL が CDP でオンラインであり、インターネット エクスプローラーからダウンロードすることで有効であることをチェックできます。 インターネット エクスプローラーの HyperText トランスポート プロトコル (HTTP) またはファイル転送プロトコル (FTP) のいずれかの CDN から、スマートカード ワークステーションとドメイン コントローラーの両方から CRL をダウンロードして表示できる必要があります。

エンタープライズ内の証明書によって使用される一意の HTTP および FTP CDP がオンラインで使用可能であることを確認します。

CRL がオンラインであり、FTP または HTTP CDP から使用可能であることを確認するには、次の手順を実行します。

  1. 問題の証明書を開くには、.cer ファイルをダブルクリックするか、ストア内の証明書をダブルクリックします。
  2. [詳細] タブをクリックし、[ CRL 配布ポイント ] フィールドを選択します。
  3. 下部のウィンドウで、完全な FTP または HTTP Uniform Resource Locator (URL) を強調表示し、コピーします。
  4. インターネット エクスプローラーを開き、URL をアドレス バーに貼り付けます。
  5. プロンプトが表示されたら、[CRL を開く] オプションを選択します。
  6. CRL に [次の更新] フィールドがあり、[次の更新] フィールドの時刻が経過していないことを確認します。

ライトウェイト ディレクトリ アクセス プロトコル (LDAP) CDP が有効であることをダウンロードまたは確認するには、CRL をダウンロードするスクリプトまたはアプリケーションを記述する必要があります。 CRL をダウンロードして開いた後、CRL に [次の更新] フィールドがあり、[次の更新] フィールドの時刻が経過していないことを確認します。

サポート

Microsoft 製品サポート サービスは、次の 1 つ以上の項目が問題の一因であると判断された場合、サード パーティの CA スマート カード ログオン プロセスをサポートしていません。

  • 証明書の形式が正しくありません。
  • サード パーティ CA から使用できない証明書の状態または失効状態。
  • サード パーティ CA からの証明書登録の問題。
  • サード パーティの CA は Active Directory に発行できません。
  • サード パーティの CSP。

追加情報

クライアント コンピューターは、ドメイン コントローラーの証明書を確認します。 そのため、ローカル コンピューターはドメイン コントローラー証明書の CRL を CRL キャッシュにダウンロードします。

オフライン ログオン プロセスには証明書は含まれません。キャッシュされた資格情報のみが含まれます。

次のグループ ポリシー伝達を待機するのではなく、ローカル コンピューターに NTAuth ストアを強制的に直ちに設定するには、次のコマンドを実行してグループ ポリシー更新を開始します。

  dsstore.exe -pulse  

また、Certutil.exe -scinfo コマンドを使用して、Windows Server 2003 および Windows XP でスマート カード情報をダンプすることもできます。