次の方法で共有


Active Directory 証明書サービスの使用による PKI の設計上の考慮事項

Active Directory 証明書サービスを使用した公開キー基盤のデプロイを計画する場合に考慮すべきことがいくつかあります。 ここでは、PKI 環境のインストールと構成を正常に行うために必要な計画について説明します。

概要は以下のとおりです。

  • 組織に適した公開キー基盤 (PKI) を計画します。
  • ハードウェア セキュリティ モジュール (HSM) を使用する予定がある場合は、HSM ベンダーの指示に従ってインストールおよび構成を行います。
  • 既定のインストール設定を変更する場合は、適切な CAPolicy.inf を作成します。
  • 暗号化オプションを選択する
  • CA 名を決定する
  • 有効期間を決定する
  • CA データベースを選択する
  • 機関情報アクセスと証明書失効リスト配布ポイントの設定

PKI を計画する

組織が Active Directory 証明書サービス (AD CS) インストールのすべてを活用できるようにするため、PKI の展開を適切に計画する必要があります。 CA をインストールする前には必ず、必要な CA 数と構成方法を決定する必要があります。 たとえば、エンタープライズのルート CA またはスタンドアロン ルート CA は必要ですか? 証明書の承認依頼はどのように処理されますか? 証明書の失効はどのように管理しますか? 適切な PKI 設計の作成には時間がかかる場合がありますが、PKI の成功のためには重要です。

HSM を使用する

HSM はオペレーティング システムとは別に管理される専用のハードウェア デバイスです。 このモジュールは、署名および暗号化の処理を高速化するための専用暗号化プロセッサだけでなく、CA キーのためのセキュリティで保護されたハードウェア ストアも提供します。 オペレーティング システムは CryptoAPI インターフェイスおよび HSM の機能を使用して、HSM を暗号化サービス プロバイダー (CSP) デバイスとして利用します。

HSM は通常は PCI アダプターですが、ネットワークベースのアプライアンス、シリアル デバイス、および USB デバイスでも入手することができます。 組織で 2 つ以上の CA を実装する予定がある場合は、単一のネットワークベース HSM をインストールして複数の CA 間で共有することができます。

HSM を使用して CA を設定するには、HSM をインストールして構成した後に HSM に格納されているキーを使用して CA を設定する必要があります。

CAPolicy.inf ファイルを考慮する

CAPolicy.inf ファイルは AD CS のインストールには必要ありませんが、CA の設定のカスタマイズに使用することができます。 CAPolicy.inf ファイルには CA のインストールまたは CA 証明書の更新で使用されるさまざまな設定が含まれています。 CAPolicy.inf ファイルを使用するには、作成して %systemroot% ディレクトリ (通常は C:\Windows) に格納する必要があります。

CAPolicy.inf ファイルに含む設定は、作成するデプロイの種類によって大きく異なります。 たとえば、ルート CA には次のような CAPolicy.inf ファイルが含まれる場合があります。

[Version]
Signature= "$Windows NT$"
[Certsrv_Server]
RenewalKeyLength=4096
RenewalValidityPeriod=Years
RenewalValidityPeriodUnits=20
LoadDefaultTemplates=0

暗号化オプションを選択する

証明機関 (CA) の暗号化オプションを選択すると、その CA のセキュリティ、パフォーマンス、および互換性に重要な影響が発生する場合があります。 ほとんどの CA には既定の暗号化オプションが適していますが、 暗号化について深く理解しており、柔軟性が必要な管理者およびアプリケーション開発者には、カスタム オプションの実装が役立つ場合があります。 暗号化オプションは暗号化サービス プロバイダー (CSP) またはキー記憶域プロバイダー (KSP) を使用して実装することができます。

CSP は Windows オペレーティング システムのハードウェアおよびソフトウェアコンポーネントで、汎用的な暗号化機能を提供します。 CSP を記述することで、さまざまな暗号化および署名アルゴリズムを提供することができます。

プロバイダー、ハッシュ アルゴリズム、およびキーの長さを選択するときは、使用しようとしているアプリケーションとデバイスでどのような暗号化オプションがサポートされるかを慎重に検討します。 最強のセキュリティ オプションを選択するのがベスト プラクティスですが、すべてのアプリケーションとデバイスがそれをサポートできるとはかぎりません。

[CA が秘密キーにアクセスするときに、管理者による操作を許可する] は通常ハードウェア セキュリティ モジュール (HSM) で使用されるオプションです。 このオプションにより、CA が秘密キーにアクセスするときに暗号化プロバイダーがユーザーを追加で認証することができます。 たとえば、各暗号化操作を行う前に管理者にパスワードの入力を要求します。

ビルトイン暗号化プロバイダーは次の表の説明のとおり、特定のキーの長さとハッシュ アルゴリズムをサポートします。

暗号化プロバイダー キーの長さ ハッシュ アルゴリズム
Microsoft Base Cryptographic Provider v1.0 - 512
- 1024
- 2048
- 4096
- SHA1
- MD2
- MD4
- MD5
Microsoft Base DSS Cryptographic Provider - 512
- 1024
SHA1
Microsoft Base Smart Card Crypto Provider - 1024
- 2048
- 4096
- SHA1
- MD2
- MD4
- MD5
Microsoft Enhanced Cryptographic Provider v1.0 - 512
- 1024
- 2048
- 4096
- SHA1
- MD2
- MD4
- MD5
Microsoft Strong Cryptographic Provider - 512
- 1024
- 2048
- 4096
- SHA1
- MD2
- MD4
- MD5
RSA#Microsoft Software Key Storage Provider - 512
- 1024
- 2048
- 4096
- SHA1
- SHA256
- SHA384
- SHA512
- MD2
- MD4
- MD5
DSA#Microsoft Software Key Storage Provider - 512
- 1024
- 2048
SHA1
ECDSA_P256#Microsoft Software Key Storage Provider 256 - SHA1
- SHA256
- SHA384
- SHA512
ECDSA_P384#Microsoft Software Key Storage Provider 384 - SHA1
- SHA256
- SHA384
- SHA512
ECDSA_P521#Microsoft Software Key Storage Provider 521 - SHA1
- SHA256
- SHA384
- SHA512
RSA#Microsoft Smart Card Key Storage Provider - 1024
- 2048
- 4096
- SHA1
- SHA256
- SHA384
- SHA512
- MD2
- MD4
- MD5
ECDSA_P256#Microsoft Smart Card Key Storage Provider 256 - SHA1
- SHA256
- SHA384
- SHA512
ECDSA_P384#Microsoft Smart Card Key Storage Provider 384 - SHA1
- SHA256
- SHA384
- SHA512
ECDSA_P521#Microsoft Smart Card Key Storage Provider 521 - SHA1
- SHA256
- SHA384
- SHA512

CA 名を決定する

組織の証明機関 (CA) を構成する前に、CA 命名規則を確立する必要があります。

Unicode 文字を使用した名前も作成できますが、相互運用性に不安がある場合は ANSI 文字セットを使用することをお勧めします。 たとえば、一部のタイプのルーターでは、CA 名にアンダースコアのような特殊文字が含まれていると、ネットワーク デバイス登録サービスを使用して証明書を登録できません。

ラテン文字以外 (キリル文字、アラビア文字、漢字など) を使用する場合は、CA 名を 64 文字未満にする必要があります。 ラテン文字以外のみを使用する場合は、CA 名の長さを 37 文字未満にする必要があります。

Active Directory Domain Services (AD DS) では、サーバーを構成するときに CA として指定した名前が CA の共通名になります。 共通名が CA で発行されるすべての証明書に反映されます。 このため、CA の一般名には完全修飾ドメイン名を使用しないことが重要です。 そうすることで、証明書のコピーを取得する悪意のあるユーザーが身元を特定し、CA の完全修飾ドメイン名を使用して潜在的なセキュリティの脆弱性を生み出すことができなくなります。

CA 名はコンピューターの名前と同じにすることはできません (NetBIOS または DNS 名)。 また、Active Directory 証明書サービス (AD CS) がインストールされた後は、その CA により発行されるすべての証明書を無効にしないとサーバーの名前を変更できません。

AD CS をインストールした後にサーバー名を変更するには、CA をアンインストールし、サーバーの名前を変更し、同じキーを使用して CA を再インストールして、既存の CA キーおよびデータベースを使用するようにレジストリを変更する必要があります。 ドメインの名前を変更する場合は CA を再インストールする必要はありません。ただし、名前の変更をサポートするように CA を再構成する必要があります。

有効期間を決定する

証明書ベースの暗号化は、公開キーの暗号化を使用してデータに対する保護および署名を行います。 時間が経つにつれて、攻撃者は公開キーで保護されたデータを取得し、そのデータから秘密キーを引き出そうとします。 十分な時間とリソースがあれば、この秘密キーに問題が発生する可能性があり、保護されたデータも事実上保護されていない状態になります。 また、証明書によって保証されている名前も、時間が経てば変更しなければならない場合があります。 証明書は名前と公開キーを結び付けているため、いずれかが変更されると、証明書を更新する必要があります。

すべての証明書には有効期間があります。 有効期間が終了した後は、証明書は許容できるまたは使用できる証明書と見なされなくなります。

CA は自身の有効期間を超えて有効な証明書を発行することはできません。 有効期間の半分が過ぎたら CA 証明書を更新することをお勧めします。 CA をインストールする際は、この日付を計画し、将来のタスクとして記録する必要があります。

CA データベースを選択する

証明機関のデータベースはハード ドライブ上のファイルにあります。 このファイル以外に、他のファイルがトランザクション ログとして機能し、変更を行う前にデータベースに行われたすべての変更を受信します。 これらのファイルには頻繁なアクセスや同時アクセスの可能性があるため、データベースとトランザクション ログを別のボリュームに保管することをお勧めします。

証明書のデータベースおよびログ ファイルは次のレジストリに保持されます。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration

レジストリには次の値が含まれています。

  • DBDirectory
  • DBLogDirectory
  • DBSystemDirectory
  • DBTempDirectory

機関情報アクセスと証明書失効リスト配布ポイントの設定

ルートまたは下位の CA がインストールされた後は、CA が証明書を発行する前に機関情報アクセス (AIA) および CRL 配布ポイント (CDP) の拡張機能を構成する必要があります。 AIA 拡張拡張は CA の最新の証明書の検索場所を指定します。 CDP 拡張機能は CA によって署名された最新の CRL の検索場所を指定します。 これらの拡張機能はその CA によって発行されるすべての証明書に適用されます。

この拡張機能を構成することによって、この情報が CA の発行するすべての証明書に含まれ、すべてのクライアントが使用できるようになります。 拡張機能の使用により、VPN 接続エラー、スマート カードのサインイン エラー、電子メール署名の確認エラーを発生させる、未確認の証明書チェーンまたは証明書失効が原因のエラーの数を最小限に減らすことができます。

CA 管理者は CRL 配布ポイントおよび CDP と AIA の証明書発行場所を追加、削除、または変更することができます。 CRL 配布ポイントの URL の変更は新しく発行された証明書にしか影響しません。 以前に発行された証明書は引き続き元の場所を参照します。CA が証明書を配布する前に参照場所を確立する必要があるのはそのためです。

CDP 拡張機能の URL を構成する際は、このガイドラインを考慮してください。

  • オフラインのルート CA では Delta CRL の公開を避けてください。 オフラインのルート CA で多数の証明書を取り消すことはないため、Delta CRL が必要になることはおそらくありません。
  • 証明機関の [プロパティ拡張機能] タブの [拡張機能] タブにある既定の LDAP://https:// URL の場所を必要に応じて調整します。
  • HTTP インターネットまたはエクストラネットの場所にある CRL を公開して、組織外のユーザーおよびアプリケーションが証明書検証を実行できるようにします。 CDP の場所の LDAP および HTTP の URL を公開して、クライアントが CRL データを HTTP および LDAP で取得できるようにすることができます。
  • Windows クライアントは常に有効な CRL が取得されるまで URL の一覧を順番に取得することに注意してください。
  • Windows 以外のオペレーティング システムで実行されるクライアントのアクセス可能な CRL の場所を提供するには、HTTP CDP の場所を使用します。

次のステップ

AD CS のデプロイに関する詳細については、「Active Directory 証明書サービスを実装して管理する」を参照してください。