セキュリティ ウォッチグローバルに信頼された PKI の展開

John Morello

このコラムに含まれているプレリリース情報は変更される可能性あります。

公開キー基盤 (PKI) は、さまざまなアプリケーション、オペレーティング システム、および ID 領域間で信頼を築く際の基本要素です。PKI は、階層信頼モデルに基づいて構築されます。階層信頼モデルでは、エンド エンティティは最上位のルート レベルの共通キーを信頼するため、そのルートによって署名されたその他のキーは暗黙的に信頼されます。

この構造により、適切に設計された PKI は、他の証明機関 (CA) を追加することで簡単に拡張できます。このとき、エンド エンティティは変更されません。

通常、PKI はここで示す 2 つの方法のいずれかを使用して実装します。最も一般的なのは、暗黙的に信頼されたグローバル ルート プロバイダ (Cybertrust や VeriSign) の 1 つから必要に応じて証明書を購入する方法です。これらの証明書の用途の多くは、Web サイト上のトラフィックをセキュリティで保護することですが、仮想プライベート ネットワーク (VPN) の暗号化、電子メールの署名、および同様の作業にも使用できます。このようなグローバル ルートは最新のすべての Web ブラウザおよびオペレーティング システムに組み込まれているため、この方法は、組織の境界を越えた信頼関係を簡単に拡張できます。ただし、この方法では、これらの証明書を必要に応じて購入するため、大規模な組織内で広く展開するにはコストがかかる可能性があります。

最近、内部 PKI モデルはさらに普及しました。名前のとおり、内部 PKI は、組織が所有するネットワーク内でのみ信頼されます。このモデルでは、組織が証明書を使用してそのネットワーク上にすべてのユーザーとコンピューティング デバイスを準備する低コストの方法を提供します。この方法は、スマート カード ログオン、暗号化ファイル システム (EFS)、およびセキュリティで保護されたワイヤレス ネットワークなどのテクノロジを促進するためによく使用されます。欠点は、これらの証明書がグローバルに信頼されていないため、外部に接続するアプリケーションには適さないことです。したがって、内部 PKI を展開した組織の多くは、通常、ハイブリッド手法を採用し、グローバルに信頼されたルートのいずれかから公開アプリケーション用の証明書を購入します。

しかし、両方の利点を生かすことができたらどうなるでしょうか。組織が独自の (内部証明書の発行によりコストを削減した) PKI を実行し、同時に、独自のローカル システムから公的に信頼された証明書をすべて配布できるとしたらどうなるでしょう。このようなソリューションでは、内部 PKI の利点 (Active Directory® の統合、自動登録、およびローカライズされた IT サポート) が得られるうえに、グローバルに信頼されたルートの主な利点も得られます。ルイジアナ州立大学 (LSU) には、まさにそれを実現するシステムがあります。セキュリティ ウォッチのこの記事では、LSU で実装したソリューションを詳しく見ていきます。その技術的な設計について説明し、同様のシステムを展開する際に使用するベスト プラクティスを取り上げます。ここで説明するソリューションは、環境、リソース、およびビジネス要件への特定のニーズを満たしたソリューションであることに注意する必要があります。自分にとって適切なソリューションの種類を判断するために、ビジネスのこのようなすべての側面をあらかじめ評価する必要があります。

LSU での PKI の展開

LSU は、学生、教職員、およびスタッフの総数が 40,000 名を超す主要な研究大学です。LSU では多数の Web サイトを公開しており、その多くは、トランスポート層セキュリティを必要とします。トランスポート層セキュリティは、Secure Sockets Layer (SSL) 証明書を表す適切な用語です。LSU は、グローバルに信頼されているルート プロバイダの証明書に年間数千ドルを使っていました。

一方で、LSU には、適切に設計された内部 PKI から大きな利点を得るという IT セキュリティの他の目標がありました。LSU の目標と要件を考えると、ハイブリッド モデルを選択するだろうと想像するかもしれません。しかしそうではなく、より革新的な手法だと感じたものを採用しました。

グローバルに信頼されたルートの 1 つである Cybertrust と協力し、LSU の敷地内に、Cybertrust ルート CA に従属する CA を展開しました (図 1 参照)。Cybertrust は、このサービスを Cybertrust の OmniRoot プログラムで提供します。このシナリオでは、LSU は、LSU が所有する機器でローカルに実行される CA を構築して運用します。ただし、既に説明した内部モデルとは異なり、LSU の CA は自己署名入りではなく、そのキーは (キーで署名される CA と共に)、実際には、最新のすべてのオペレーティング システムやブラウザの間で暗黙的に信頼されます。技術的には、この設計は、x.509 標準の開放性を論理的に展開したものです。PKI はこれらの標準に基づいて構築されるため、さまざまなベンダが作成したシステムを同じ階層全体にプラグインできます。そうは言うものの、OmniRoot ソリューションに関して特に興味深い点は、サービスの利用規約です。

図 1 Cybertrust グローバル ルート証明書

図 1** Cybertrust グローバル ルート証明書 **(画像を拡大するには、ここをクリックします)

OmniRoot サービスは、LSU で実装したような PKI 展開用に特別に設計されています。OmniRoot プログラムでは、組織は、プログラムに参加するための固定年間費を Cybertrust に支払います。その後は、公開用に作成された証明書の料金を証明書ごとに支払います。つまり、LSU は、証明書の合計費用については心配することなく、内部で使用するのに必要なだけ証明書を発行できます。一方で、公開されている証明書のコストは、現在、大学が必要に応じて証明書を購入したときに支払った金額よりも大幅に削減されています。

当然のことですが、技術的な観点から言うと、内部証明書と公開証明書は同じです。これらの証明書は、同じ CA チェーンから発行され、暗号化の強度が同じです。また、同じ登録機関のシステムを介して配布されます。この 2 つの証明書の相違点は、ランセンス条項のみです。

最終的には、より低コストで、LSU の IT セキュリティ プラットフォームを展開および拡張できるようになりました。この実現により、LSU のこの種の PKI ソリューションにとって優れたビジネス ケースが作成されました。では、展開の技術的な詳細を見てみましょう。

PKI 階層

LSU の PKI 階層は 2 層設計に基づいて構築されます。この設計には、Cybertrust によって管理されるルート層と、LSU で実行されているオンライン発行 CA が含まれています (図 2 参照)。ルート層は、階層内の信頼のアンカーを構成します。つまり、階層内の任意の CA から発行されるすべての証明書の信頼関係は、ルート CA の支配下に入ります (図 3 参照)。したがって、階層内のすべての CA、証明書、およびエンド エンティティ間の結び付きは、通常はルート CA によって形成されます。Cybertrust グローバル ルートは Windows® および他のほぼすべての最新のコンピューティング システムに既に組み込まれているため、この結び付きが自動的に LSU のネットワークを越えて適用されます。

Figure 2 2 層の PKI 階層

ルート層 (Cybertrust) 発行元の層 (LSU)
Cybertrust が管理している LSU が管理している
Cybertrust のセキュリティで保護されたデータセンターに配置されている LSU のバトンルージュ キャンパスに配置されている
最新のほぼすべてのコンピューティング システムの既定のルート証明書に含まれている LSU のシステム構成内のエンド エンティティに証明書を発行する
  LSU が発行する証明書は Cybertrust ルートに分類されるため、グローバルに信頼される

図 3 LSU の発行元 CA から発行された証明書

図 3** LSU の発行元 CA から発行された証明書 **(画像を拡大するには、ここをクリックします)

Cybertrust は、セキュリティで保護されたホスティング施設の 1 つでルート CA を管理します。ホスティング施設は、強力で物理的なセキュリティ制御を使用します。このセキュリティ制御には、侵入者を捕らえる罠、バイオメトリックスによるロック、銅で完全外装された保管金庫などがあります。Cybertrust は、セキュリティ ポリシーおよび証明書ポリシーに準拠していることを証明した組織の発行元 CA に対してのみ証明書を発行します。

LSU の発行元 CA は、エンド エンティティが接続するシステムで、LSU のユーザーやコンピュータの数に対して証明書を提供します。その証明書は、階層内で証明書の上にある Cybertrust CA によって署名されています。また、その証明書自体を Cybertrust ルート CA にチェーンする証明書を発行します (図 3 参照)。

発行元の OS とハードウェア

LSU は、発行元 CA に、Service Pack 1 を適用した Windows Server® 2003 Enterprise Edition を使用しています。Windows Server 2003 証明機関サービスには、キーのアーカイブ、Delta CRL (証明書失効リスト)、および "バージョン 2" テンプレートなどの新しい機能が多数用意されています。発行元 CA として使用される Windows インスタンスは、LSU の標準的な Windows Server 構築ポリシーに従って構築されます。このインスタンスは、関連するすべてのセキュリティ更新プログラムで更新され、標準 LSU の変更管理方法およびソフトウェアのインベントリや更新ツールを使用して管理されます。つまり、CA サービス自体を管理する独自の側面はいくつかありますが、基本のサーバー ハードウェアおよびオペレーティング システムは組織の既存の IT 運用に簡単に統合されます。

サーバー インストールに関する LSU の標準的なベスト プラクティスに従う以外に、Windows Server 2003 Service Pack 1 にあるセキュリティ構成ウィザード (SCW) も利用しました。SCW では、Windows Server で実行できるさまざまなワークロードの依存関係マトリックスを含むデータベース、およびこれらのワークロードに必要なセキュリティ設定を使用します。このデータベースには、CA が提供する 2 つの主な役割として CA サービス自体と IIS (PKI のセルフサービス Web サイトを提供) があります。

SCW を使用して、これらのワークロードの実行に必要なサービスを除くすべてのサービスを無効にするセキュリティ テンプレートを簡単に作成したほか、サーバーのネットワーク スタックを強化しました。その後、scwcmd.exe を使用してこのテンプレートをグループ ポリシー オブジェクト (GPO) に変換し、組織単位のレベルでサーバーに適用できるようにしました。LSU CA の役割ベースのセキュリティ構成がコンピュータ固有ではなく Active Directory 内に格納されているため、この方法によって、拡張と障害回復が簡略化されます。

LSU の発行元 CA は、3.2 GHz の Intel Xeon プロセッサ 2 基、4 GB の RAM 2 基、および 146 GB の SCSI ハード ディスク 5 基が搭載された IBM xSeries 346 サーバー上に構築されています。CA サービスのパフォーマンスの要求、および LSU でハードウェア セキュリティ モジュールを使用しているという事実を前提として、このプラットフォームは相当の寿命とヘッドルームを発展のために提供する必要があります。

ここでは、2 つの RAID 1 アレイを作成してデータベースおよびログ ファイルを別々の物理スピンドルに分類するための標準的なベスト プラクティスに従いました。5 番目のハード ディスクは、ホット スペアとして保持され、いずれかのアレイに使用できます。1 つ目のアレイを、CA データベースを保持するシステム ボリュームとしてマウントしました。2 つ目のアレイは、ログ ファイルや他のさまざまなデータ ファイル (CRL など) に使用されます。CA データベースは、Active Directory などの Windows の他の部分にあるのと同じ Jet テクノロジに基づいているため、ここでは、他の Jet ベースのストレージ ソリューション用のメンテナンスとディスク構成に関するものと同じベスト プラクティスが適合します。

ハードウェア セキュリティ モジュール (HSM) は、オペレーティング システムから切り離して管理されている専用のハードウェア デバイスです。通常、HSM は、PCI アダプタとして提供されますが、ネットワークベースの機器としても使用できます。これらのモジュールは、CA キーのセキュリティで保護されたハードウェア ストアに加え、署名操作および暗号化操作を促進する専用の暗号化プロセッサも提供します。Windows は CryptoAPI インターフェイスを介して HSM を使用します。HSM は、暗号化サービス プロバイダ (CSP) デバイスと見なされます。OmniRoot プログラムでは、各 CA が少なくとも FIPS 140-2 レベル 3 (レベル 4 のデバイスは非常にまれです) 用に認定された HSM をキーの生成やストレージに使用することを必要とします。HSM は、高度なセキュリティで保護された一意のデバイスなので、相当な財政投資を必要とします。そのため、通常、PCI ベースの HSM の記載価格の範囲は 10,000 ~ 15,000 ドルです。

LSU の設計では、nCipher nShield 500 TPS (500 トランザクション数/秒のモデル) は、直接接続された HSM として使用されます ("直接接続" とは、複数のホストで共有されるネットワーク ベースの HSM とは対照的に、サーバーの内部にあり、そのサーバーのみで使用できることを意味します)。HSM は、FIPS 140-2 レベル 3 デバイスで、キー マテリアルの K of N 保護を提供します。HSM は、危険にさらされている秘密キーに対して強力な保護を提供します。攻撃者がそのキーにアクセスするには、HSM ストレージだけでなく、定義された数のアクセス トークンとその PIN も所有する必要があります。

HSM は、悪意のある人物によるコンテンツの改ざんを防ぐように設計されていることに注意することが重要です。したがって、HSM は、連続して失敗したログオン試行に対して厳重な制限を設けています。LSU の設計では、10 回連続で失敗した後、ストレージは削除されます。取り消しは不可能です。

セットアップ時に 1 つの CA を用意したため、ネットワーク ベースの HSM の価格プレミアムは正当化できません。ただし、組織で 2 つ以上の CA を実装する予定がある場合、ネットワーク ベースの HSM を 1 つ購入して CA 間で共有すると、コストを大幅に削減できます。この方法では、すべてのキー ストレージを同じトークン セットで保護できるため、トークンの管理も容易になります。

Active Directory と登録

Windows ベースの PKI ソリューションの主な利点の 1 つは、PKI に参加するエンティティに追加のソフトウェアをインストールする必要なく、証明書の配布が実現することです。それだけでなく、ほとんどの証明書の配布は、自動登録とグループ ポリシーを組み合わせることで自動的に管理されるため、エンド ユーザーが気付くことはありません。LSU は、このテクノロジを使用して、コンピュータの証明書を、Active Directory のメンバであるコンピュータに自動的に配布します。また、カスタマイズした Web サイトを使用して、自動証明書要求機能を Windows 以外のホストに提供します。

既に説明したように、OmniRoot プログラムは、公で使用されている証明書と内部で使用されている証明書を区別します。証明書は、LSU 組織内に属していないシステムやユーザーによって使用される場合 (たとえば、入学希望者が SSL でセキュリティが保護された Web サイトを使用して入学願書を提出する場合) に公開証明書と見なされます。LSU 組織内で使用される証明書 (LSU のサーバーでデータを暗号化する際に使用される証明書など) は、内部証明書と見なされます。

OmniRoot プログラムのコストは公開されている証明書の数に基づいているため、発行される公開証明書の数や発行先を追跡できる必要があります。したがって、公開を目的とした証明書の場合、テンプレートの識別名は "PublicCertificate" で始まり、表示名は "Public Certificate" で始まります。たとえば、公開されている LSU TLS 証明書テンプレートは、既定の Windows Web Server テンプレートに基づいており、Public Certificate LSU Web Server と呼ばれています。内部で使用される Web サーバーの場合、2 番目のテンプレートは Internal Certificate LSU Web Server と呼ばれています。技術的には、2 つのテンプレートは同じです。つまり、名前が異なるだけで、課金が簡単になります。

証明書を IPSec で使用するためにすべての部門を登録するなど、一括登録が必要な場合は、自動登録を使用します。自動登録は、Windows に組み込まれた、単純で非常に効率的なツールです。PKI 管理者の視点から、必要な操作は、テンプレートのアクセス制御リストの変更だけです。この変更により、証明書を必要とするユーザーまたはコンピュータのグループに、自動登録の権限が付与されます。その後、これらのエンティティは、Active Directory を自動的にチェックし、自動登録アクセス許可を設定したテンプレートを列挙して、そのテンプレートを含む CA を探し、証明書を自動登録します。さらに、自動登録機能により、テンプレートが優先され、期限切れになる前に自動的に更新される場合に証明書が置き換えられます。

証明書を使用した Web サーバーの準備など、一括操作以外の目的では、セルフサービス Web サイトを使用します。この Web サイトを使用すると、ユーザーは Web ブラウザ経由で証明書を要求できます。このサイトは、Windows Server 2003 (/certsrv 仮想ディレクトリ) に付属する Web 登録ページのカスタマイズされたバージョンです。そのため、ここでの実装では、LSU の標準的な Web の商標を含め、要求ページ上の適切な既定のエントリを事前に完成します。また、このサイトから送信された要求が承認を求める場合、Windows CA サービスの既定の終了モジュールを使用して、PKI 管理チームに自動的に電子メールを送信します。

失効の設計

各証明書には有効期間があります。LSU はときどき、有効期間が終了する前に特定の証明書を無効にする必要があります (たとえば、有効期間が 2007 年 5 月までの証明書を従業員に提供していて、その従業員が 2007 年 1 月で LSU を辞める場合が考えられます)。このような失効は CRL によって実現します。CRL は、CA が署名した証明書のシリアル番号の一覧を含むファイルです。CRL に含まれているシリアル番号は、有効期間の期限は切れていなくても、LSU が信頼できると見なさなくなった証明書を表します。クライアントは、この CRL をダウンロードして確認し、証明書の有効性を判断できます。

x.509 v3 証明書 (ルート CA 証明書自体を除く) には、有効な CRL へのポインタが必要です。このポインタは、CRL 配布ポイント (CDP) といいます。CRL 配布ポイントは、証明書自体に含まれているため (図 4 参照)、証明書が発行された後に変更することはできません。CRL は、CA からの証明書が有効であることを保証するのに不可欠です。このため、LSU の CRL は物理的な冗長性があり、可用性が高く、外部の人間がアクセスできることを確認します。

図 4 LSU の CRL 配布ポイント

図 4** LSU の CRL 配布ポイント **(画像を拡大するには、ここをクリックします)

(LSU のように) Active Directory と統合されている Windows Server ベースの CA は、その CRL を Active Directory に自動的に発行し、ライトウェイト ディレクトリ アクセス プロトコル (LDAP) 経由でアクセスできるようにします。既定の発行場所は、フォレストの Public Key Services コンテナ内の CDP コンテナです (図 5 参照)。この発行場所は、自動レプリケーション、フォールト トレランス、および CDP 参照の場所を提供する優れたオプションです。

図 5 CDP コンテナ

図 5** CDP コンテナ **(画像を拡大するには、ここをクリックします)

ただし、LSU の設計では、PKI を使用する Windows 以外のコンピュータや Active Directory 以外のコンピュータが多数あります。また、LSU は大規模な組織ですが、そのユーザーの大半が 10 Gbps のバックボーンを持つ同じキャンパス ネットワーク上に存在します。これにより、Active Directory ベースの CDP の発行の利点は最小限にしか得られません。

その結果、HTTP パスに CRL のみを発行することで、冗長性のあるホスティング プラットフォームを簡単に作成できるようになります (主要な Web サイトは既にミラー化されています)。また、これによって、クライアントの LDAP 参照の有効化に関して考えられる複雑さがなくなります。CRL は毎日発行し、Delta CRL は時間単位で発行します。

今後の展開

現在の PKI では、大学というコミュニティに強力なセキュリティ ソリューションを提供しますが、その機能を強化する予定です。Windows Vista™ および次期バージョンの Windows Server (コードネーム "Longhorn") には、調査を予定している新しい重要な管理機能が多数用意されています。特に、計画済みのオンライン証明書状態プロトコル (OCSP) クライアントと応答側の機能、楕円曲線暗号化アルゴリズムと SHA-256 アルゴリズムのサポート、および大幅に向上した自動登録インターフェイスに関心があります。さらに、Windows XP Service Pack 3 には、資格情報の移動として知られる機能が搭載される予定です。この機能は、プロファイルの移動に関連するオーバーヘッドなしで、キーのペアをセキュリティで保護した状態で移動できます。最後に、Certificate Lifecycle Manager (現在ベータ版を入手可能) の使用について調査し、レポート機能および管理機能を向上させます。

要するに、LSU の PKI は、多くの重要な IT 機能に使用される基本的なセキュリティ サービスを大学に提供します。Cybertrust の OmniRoot サービスを使用すると、LSU の他の IT システムと適切に統合される PKI を実行できます。また、Windows CA サービスでソリューションを構築することにより、効率的な証明書の配布機能と管理機能を所有し、既存のディレクトリと ID 管理システムの優れた統合を行えます。つまり、PKI の強力なセキュリティとシームレスな信頼に対する構想は、既に LSU で実現しています。

John Morello は、ルイジアナ州立大学を首席で卒業し、マイクロソフトで Microsoft Consulting Services (MCS) のシニア コンサルタントを 6 年間務めました。MCS では、Deloitte、GE、およびさまざまな連邦組織などの戦略的なクライアント向けに PKI を設計していました。現在は、LSU で CISO 補佐を務めています。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.