この節では、安全ソケットレイヤ (SSL) を Web サイトで使用する際に必要となる各主要コンポーネントについて説明します。この節は、SSL を動作させるためには何が必要で、コンポーネント同士がどのように相互作用しているか、その概要を示します。SSL の設定手順については、「SSL の設定手順」を参照してください。
Web サイトで SSL を使用する前に、暗号化のための公開鍵、非公開鍵、および (クライアントに示す) X.509 証明書が必要になります。X.509 証明書には、Web サイトの識別情報 (識別名)、発行者の識別情報、Web サイトの公開鍵、および発行者のデジタル署名を含みます。公共の Web サイトは通常、VeriSign などの第三者による証明書発行局 (CA) が署名した証明書を取得します。クライアントも第三者による CA の公開鍵を持っていれば、サイトの識別情報が本物であると確信できます。
このドキュメントで使用している「資格」という用語は、鍵パッケージ (公開、非公開暗号化鍵) および関連証明書の総称です。
Sun WebServer には、CA を動作させるためのソフトウェアが付属しています。CA は、Web サイトの SSL 資格を作成することができます。他にも、Sun WebServer のインスタンスが使用する Web サイト資格をインストールするためのツール、第三者が署名した資格を取得するためのツール、第三者の証明書をインストールするためのツールがあります。
SSL を動作させるには、以下の作業を行わなければなりません。
root 証明書発行局 (ルート CA) を作成する
フェデレーテッドネーミングシステム (FNS) をインストールする
Sun WebServer を SSL とともにインストールする
SSL を使用する Web サイトに対して固有の IP アドレスを使用する
(推奨) 第三者 CA によって署名された証明書を要求する
Web サイトの資格を作成するには、ユーザーのサイト上でルート CA を作成する必要があります。ルート CA のユーザーは、ユーザー自身の資格を作成し、次にその資格を使用して鍵パッケージを作成しネットワーク上の Web サーバーの証明書に署名します。資格は、フェデレーテッドネーミングサービス (FNS) に格納して他のマシンから容易にアクセスできるようにしたり、またはルート CA マシン上のファイルにのみ格納してアクセスを制限したりできます。デフォルトでは資格は、/var/fn に格納されます。
(資格が作成される) ルート CA ホストは、Sun WebServer と同じマシンである必要はありません。むしろ、セキュリティ上の理由からルート CA の実行は、別のマシン上で行うか、ネットワークアクセスが全く行われないマシン上で行うことをお勧めします。
上記手順は自己署名による証明書の場合にのみ行う必要があり、第三者の証明書のみを使用する場合は行う必要はありません。
ルート CA ホストでは、root
(UID 0) を除く任意のユーザー名を使用してルート CA ユーザーになることができます。ルート CA ユーザーは、Web サイトの資格を作成できる唯一のユーザーです。ルート CA ユーザーは自分専用のパスワードで保護された資格を作成し、その資格下、自身が作成したすべての証明書に署名できます。
ルート CA 資格は、識別名 (DN) エントリにバインド (連結) されています。すべての資格は、識別名にバインド (連結) されています。ルート CA 識別名には、以下の属性を使用します。
属性タイプ | 略語 | 例 |
---|---|---|
一般名 | cn | cn=rootca |
Email アドレス | em | em=rootca@A.net |
シリアル番号 | serial | serial=no12345 |
部署 | ou | ou=web |
組織名 | o | o=A.net |
所在地 | l | l=internet |
州名 | st | st=California |
国名 | c | c=US |
識別名では属性の順序が重要です。識別名は最も固有性の高い属性で始まり、最も固有性の低い属性で終わらなければなりません。属性は、最も固有性の高いもの (一般名) から最も固有性の低いもの (国名) まで順に示されています。
すべての資格は、ルート CA ユーザーが所有するディレクトリに格納されます (第三者が読み取ることはできません)。ルート CA ユーザーの資格 (および各 Web サイトの資格) は、フェデレーテッドネーミングサービス (FNS) を介して取得することができます。
SSL または鍵パッケージを使用するすべてのコンピュータには、セキュリティツールパッケージをインストールする必要があります。以下の条件を満たすマシン ( ルート CA ホスト) が少なくとも 1 つ存在しなければなりません。
ルート CA のユーザー名が格納されている
ルート CA の資格が格納されている
FNS が正しくインストールされている
ルート CA は Web サイトの資格を作成し、このホストに格納します。
ルート CA ホスト上で Sun WebServer を動作させる必要はありません。Sun WebServer マシンは、ファイルを ルート CA ホストからコピーすることで、このマシンがホストしている Web サイトの資格にアクセスできます。
FNS は、SSL セキュリティツールが資格にアクセスするために使用するインターフェイスです。Sun WebServer セキュリティパッケージは、資格をファイルから格納したり検索する名前サービスコンテキストを作成します。
既存の FNS パッケージを削除し、Sun WebServer とともにバンドルされている SUNWfns
パッケージをインストールします。
この手順は、Sun WebServer をインストールする前に行います。SUNWfns
を削除せずにバンドルパッケージをインストールしてしまった場合は、 SSL を使用するホスト (ルート CA ホストを含む) 上ですぐにこの手順を実行してください。
Solaris 2.6 にバンドルされている SUNWfns
パッケージは、SSL と一緒には動作しません。このパッケージを削除しても、データが失われることはありません。既存の FNS コンテキストは、新しい SUNWfns
パッケージをインストールすれば格納されます。これら 2 つのパッケージはバージョン 11.6.0 ですが、pkginfo -l SUNWfns
で表示される正式な VERSION
は、11.6.0,REV=1998.02.08.15.10
です。
Web サイトの SSL をサポートするには、Sun WebServer のインスタンスが必要です (このインスタンスでは、すべての SSL パッケージおよびライブラリが使用可能であり、SSL が使用される各 IP アドレスのポートで SSL が有効でなければなりません)。
ルート CA で作成した資格はサイトがホストされている Sun WebServer マシンにインストールしなければなりません。
ルート CA ユーザーは、Web サイトのホスト名および IP アドレスを使って Web サイトの資格を作成します。この資格は、固有のホスト名および IP アドレスに連結しなければなりません。したがって、SSL を有効にした各サイトの SSL ポートに対して固有の IP アドレスが存在しなければなりません。
クライアントが Web サイト上の SSL を有効にしたポートに接続されると、このクライアントはサイトの資格を要求します。資格の確認は、信頼し得る CA (クライアントが公開鍵を受け取った CA) の署名によって行われます。
大半のクライアントはローカルのルート CA の公開鍵を持っていないため、VeriSign などよく知られた CA が署名したサイト資格を取得することをお勧めします。