制約事項: 本トピックは、Enterprise Server 機能が有効な場合にのみ該当します。
- 特定のアプリケーションを想定して PKI を設計するのではなく、組織の全般的なデータ処理機能の基本部分と考えて設計してください。特定のアプリケーションで使用するように設計されている場合、他のアプリケーションで利用しようとした際に、柔軟性がないために問題となる可能性があります。
- 認証は承認を意味するものではありません。データへのアクセスに必要なキーを持っているだけで、すべてのデータへのアクセスが許可されるとは限りません。アクセス制御リスト (ACL) などの他のメカニズムも使用して、ユーザーがその役割に適したデータのみにアクセスできるようにする必要があります。
- 新しい証明書とキーのペアを適用することによって、ユーザーが定期的にそのキーを変更するようにする必要があります。これにより、誰も気付かない間にプライベート キーが盗まれたとしても、少なくとも、次に証明書とキーのペアが変更された際に、そのキーは役に立たなくなります。
これは、クライアント キー、サーバー キー、下位 CA キー、ルート CA キーなど、すべてのプライベート キーに当てはまります。
これを実現する最も簡単な方法は、有効期限を証明書に設定することです。
- 信頼のツリーを構築する方法は多数あります。ルート CA を 1 つだけにするか、複数にするか。下位 CA が CA 証明書を他の下位 CA に付与できるようにするか、ルート CA だけが付与できるようにするか。
- CA で証明書を取り消す必要があるかどうかを考慮してください。これに対応する最も一般的な方法は、CA で証明書失効リスト (CRL) を維持することです。CRL は、付与された後で取り消された証明書のリストです (期限切れになった証明書はリストから削除できます)。ユーザーは
CRL を取得して SSL ソフトウェアにインストールできます。
- ユーザーが独自のプライベート キーを生成するかどうかを考慮してください。一部の構成では、CA によってユーザー用の証明書およびプライベート キーの両方が生成されます。この場合、通常のユーザーは証明書署名要求を作成する方法を知らずに済みますが (Web
上の主要な CA の多くはこのように機能します)、プライベート キーを何らかの形でユーザーに安全に渡すことが必要となります。非対称暗号化では、プライベート キーはどこにも送信されないため、傍受されることもありません。このセキュリティ上のメリットを最大限に高めるには、ユーザーは自分で
openssl.exe を使用してプライベート キーおよび一致する証明書の署名要求を作成し、後者を CA に送信して、CA が証明書を作成できるようにする必要があります。
- 下位 CA マシンですべての証明書要求を処理すると便利な場合があります。この際、ルート CA マシンをオンラインにする必要があるのは、下位 CA の認証に使用する場合のみです。認証後、他の下位 CA を認証するために必要となるまで、マシンをオフラインにすることも、プライベート
キーだけをオフラインに保存することもできます。これにより、不正にアクセスされる可能性のある時間を最小限に抑えて、ルート CA のセキュリティを大幅に向上できます。また、ユーザーは、単一のマシン、つまりルート CA マシンに依存せずに、作業を継続できるようになります。
ユーザーは、すべての下位 CA の証明書ではなく、ルート CA の証明書をブラウザー (または使用する SSL 対応ソフトウェア) にインストールすることも可能です。
- 厳密な管理が必要な場合は、デフォルトでインストールされているすべての CA 証明書を Web ブラウザーから削除し、自分で選択した証明書だけをインストールできます。インストールする証明書は、プライベート PKI が設定されている場合には独自の
CA から選択できます。ただし、PKI の外部にある他の Web サイトへのアクセスに対する影響について慎重に検討する必要があります。
- Web サイトの所有者として、否認不可のメリットが必要な場合は、つまり、特定のクライアントからデータが送信されたことを証明できるようにする場合は、完全認証を使用する必要があります。必要に応じて、クライアント用のクライアント証明書を生成し (この点では
CA として機能)、クライアントで保存して使用できるようにその証明書をクライアントに送信できます。このような個人証明書については、その証明書をソフトウェア (ブラウザーなど) にインストールする方法をクライアントに示す必要があることに注意してください。
- World Wide Web 上で使用される「世界的な」PKI の特定の機能について検討することをお勧めします。これらの機能は、独自の PKI でエミュレートすることもしないこともできます。
- サーバーのみの認証が使用されます。ただし、既知のクライアントに対して証明書を保持するように手配するオンライン サービスを停止することはできません。
- すべての CA が同等に信頼されます。CA によって信頼度が異なるという概念はありません。
- 証明書とキー ファイルのペアが作成された後、パス フレーズを作成してそれらを保護できます。このようにキー ファイルを保護することは重要です。プライベート キーは、非常に機密性の高い情報であり、使用可能なあらゆる形のセキュリティによって保護する必要があります。ただし、証明書については、参照する必要があるすべてのユーザーが利用できるものであるため、このような保護が適切であることはほとんどありません。