証明書は、あらかじめ有効期間を定義しておく必要がある。証明書の有効期間は発行後に変更できないため、CA階層ごとに有効期間を決定する作業は、CA階層を定義する上で重要な作業の一つになる。発行CAが発行する証明書の最大有効期間は、最初に決定しておくことをお勧めする。
ここでの重要なポイントは、マイクロソフトのAD CSでは、CAの(サーバー証明書の)有効期間を超える証明書は発行できないということ。例えば、CAの有効期間が「2年」の場合は、有効期間「3年」の証明書を発行することはできない。また、CAの有効期間が「2年」だった場合、その1年後には有効期間が「1年」になるため、新たに有効期間「2年」の証明書を発行することはできない。
証明書の有効期間に関するベストプラクティスは存在しない。しかし、一つの方法として、CA有効期間は、CAで発行する証明書の最大有効期間の2倍以上に設定するのが望ましい。図4は、発行する証明書の最大有効期間が「5年」の場合の2階層構成の例になる。
図4では、発行CAで発行する証明書の有効期間が、発行CA自体の有効期間によって影響されないようにするために、証明書の有効期間「5年」の2倍となる10年に設定している。さらに、有効期間を2倍にするだけでなく、有効期間の半分が経過した時点でCAの証明書を更新するのが望ましい運用となる。その運用方法としては、次の二つが挙げられる。
ルートCAの有効期間も、発行CAの2倍に指定する。図4の例では、発行CAの有効期間が10年なので、ルートCAの有効期間は20年としている。
この際、極端に長い有効期間を設定するのはお勧めできない。証明書のキーペアの有効期間が長くなれば、それだけ攻撃者が秘密キーの解読に要する時間の猶予が伸びるからだ。さらに、キーの長さが短い場合(2048ビット)と長い場合(4096ビット)を比べれば、短い方が解読される可能性が高くなるので、ルートCAは4096ビット、発行CAは2048ビットで構成するのがよいだろう。
証明書を使用する場合には、さまざまなチェックを行い、その有効性を確認する必要がある。その際には、公開ポイントとなる「CDP(CRL Distribution Point:CRL配布ポイント)」と「AIA(Authority Information Access:機関情報アクセス)」の設定が重要になる。
CRLは失効した(信頼できない)証明書のリストであり、CAは定期的にCRLを発行して、CDPに公開する(図5)。証明書を使用するクライアントは、CDPからCRLをダウンロードしてキャッシュし、証明書の失効状況を確認する。
CDPとして構成できるサーバーは、Webサーバー、ファイルサーバー、LDAP(Lightweight Directory Access Protocol)サーバーだが、Active Directoryドメインに参加していないクライアントや、インターネット上の外部クライアントをサポートするのはWebサーバーだけなので、通常はWebサーバーをCDPに指定する。AIAもCDPと同様、Webサーバーを指定する。
AD CSの構築では、最初の設計が非常に重要になる。今回解説した内容は最低限の決め事であり、実際の構築は自社の環境を踏まえた上で、慎重に設計を進める必要がある。次回は、具体的なAD CSの構築方法を解説する。
エディフィストラーニング株式会社所属のマイクロソフト認定トレーナー。Active Directory、Network、Security、Hyper-V、Clusterなどを担当。マイクロソフト トレーナー アワード(2010年)およびMicrosoft MVP for Hyper-V(Apr 2010 - Mar 2016)を受賞。個人ブログ『MCTの憂鬱』でマイクロソフト関連情報を発信中。
Copyright © ITmedia, Inc. All Rights Reserved.