次の方法で共有


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

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

元の KB 番号: 281245

まとめ

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

詳細

要件

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

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

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

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

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

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

構成の手順

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

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

    1. [スタート] ボタンをクリックして、[プログラム]、[管理ツール] の順にポイントし、[Active Directory ユーザーとコンピューター] をクリックします。
    2. 左側のウィンドウで、編集するポリシーが適用されているドメインを見つけます。
    3. ドメインを右クリックし、 Properties をクリックします。
    4. [Group Policy] タブをクリックします。
    5. Default ドメイン ポリシー グループ ポリシーオブジェクトをクリックし、 Editをクリックします。 新しいウィンドウが開きます。
    6. 左側のウィンドウで、次の項目を展開します。
      • コンピューターの構成
      • Windows の設定
      • Security Settings
      • 公開キー ポリシー
    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 からのドメイン コントローラー証明書の要件の詳細については、マイクロソフト サポート技術情報の記事を表示するには、次の資料番号をクリックしてください。

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

    Note

    ドメイン コントローラー証明書は、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 文字列である必要があります

    • サブジェクト = ユーザーの識別名。 このフィールドは必須の拡張子ですが、このフィールドの作成は省略可能です。

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

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

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

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

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

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

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

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

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

      Note

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

      Note

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

    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 を信頼するようにそれらのコンピューターを構成する必要があります。

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

    Note

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

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

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

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

  • スマートカード証明書の 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 プロパティと明示的に一致する必要はありません。

失効チェックの問題

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

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

Note

証明書失効リスト (CRL)、無効な CRL、失効した証明書、および "不明" の失効状態の検出とダウンロードに失敗すると、すべて失効エラーと見なされます。

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

  • 失効チェックはオフになりません。

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

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

  • CRL には [次の更新] フィールドがあり、CRL は最新です。 CRL が CDP でオンラインであり、Internet Explorer からダウンロードして有効であることを確認できます。 スマートカード ワークステーションとドメイン コントローラーの両方から、Internet Explorer のハイパーテキスト トランスポート プロトコル (HTTP) またはファイル転送プロトコル (FTP) の CDP から CRL をダウンロードして表示できる必要があります。

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

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

  1. 問題の証明書を開くには、.cer ファイルをダブルクリックするか、ストア内の証明書をダブルクリックします。
  2. [詳細] タブをクリックし、[CRL 配布ポイント フィールドを選択します。
  3. 下部のウィンドウで、完全な FTP または HTTP Uniform Resource Locator (URL) を強調表示してコピーします。
  4. Internet Explorer を開き、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 でスマート カード情報をダンプすることもできます。