セキュリティ証明書を無償で発行する認証機関、CAcert

インターネットを介して情報を安全に送るには、情報の完全性を保証するX.509セキュリティ証明書が必要だ。証明書は商用認証機関から購入するが、通常、そのコストはかなり高い。そうした状況の中、コミュニティが主導するフリーの認証機関CAcertが登場した。

セキュリティ証明書は、アプリケーションに情報を送るソフトウェア――ウェブ・サーバや電子メール・スイートなど――が利用するディジタル・ファイルである。他のセキュリティ関連製品同様、証明書には、その正当性を保証する認証機関、すなわち信頼できる第三者が必要だ。しかし、最近まで、認証機関は商業ベースのものしかなかった。

いくつかの大手認証機関の証明書は価格が高止まりしており、有効期間1年の証明書で800米ドルを超えるものがある。この並外れた高価格は、賠償責任保証や監査などの付加価値サービスに影響を与えているほどだ。しかし、誰もがこのレベルのサービスを必要としているわけではないし、十分な予算があるというわけでもない。

つまり、この市場には安価なセキュリティ証明書を求める余地があるのだ。ここに登場したのがCAcertである。CAcertは、現在、3種類の証明書を発行している。すなわち、クライアントサイド/電子メール・アプリケーション用のもの、サーバサイドに置くためのもの、インストーラなど配布用アプリケーションに電子署名するためのものである。初めの2種類の証明書には、通常の発行形態で得られる未保証モードと、CAcertが利用者の本人性を確認したことを意味する保証モードがある。これら3種類の証明書はITショップで一定程度使われているが、最も広く使われているのはサーバサイド証明書である。ブラウザとWebサーバ間をSecure Socket Layer(SSL)通信で結びWebページに安全にアクセスできるようにするには、この証明書が必須だからである。SSLは、電子メールやコードの電子署名よりも広く使われている。

それでは、このCAcert証明書は、どのようにして入手し使用するのだろうか。サーバサイド証明書の場合を例として説明しよう

CAcertのサーバサイド証明書を入手するには、まず初めに、証明書要求ファイル(CSR)を用意しなければならない。これは、商用認証機関から証明書を購入する場合と同じである。CSRには、SSL用証明書を置くWebサイトに関する情報の他に、運営する場所の所在地や国籍などの企業情報が記載されることになる。CSRの具体的な作成手順はサーバによって異なる。マイクロソフトのIISや、BEAなどのJavaアプリケーション・サーバには、CSR作成用のウィザードが添付されている。そうしたウィザードがない場合は、プラットフォームに依存しない方法でCSRを作成することのできるOpenSSLなどのツールを使うことになる。

CSRファイルの用意ができたら、CAcertアカウントを作成し、CSRをCAcertに送付する。すると、署名入りの証明書(.cerファイル)が送られてくる。これをサーバサイド環境に置くのである。具体的な置き場所は、サーバ・ソフトウェアによって異なるので、プラットフォームのドキュメントを参照してほしい。

CAcertが証明書に署名する手順は商用認証機関の場合と同じだが、CAcertは無償である。しかし、欠点もある。

エンドユーザがWebサーバから情報を受け取るときに使うツールは主としてブラウザであるが、このブラウザには出荷時に認証機関のリストが添付されている。ユーザがSSLに対応しているサイトを訪れると、ブラウザはその署名付きの証明書を発行したのがリストにある認証機関かどうかを調べる。そして、証明書がリストにある認証機関によって発行されたものでない場合、ブラウザはユーザにその旨の警告を出す。一般ユーザの中には、これを見て心配に思う人もいるだろう。

ところが、CAcertは、まだ、ブラウザに添付されている認証機関リストには含まれていないのである。Firefox/Mozillaの認証機関一覧にCAcertを含めるとか、商用ブラウザもその方向だという話はあるが、現時点では含まれていない。したがって、この警告を出さないようにするには、ユーザの持つブラウザの一つひとつに手作業でCAcertを追加する以外に方法はない。対象者は広大なインターネットのユーザである。とても現実的な話ではない。

CAcert証明書の利用にはこうした大きな問題があるものの、2004年に22,000を超える証明書を発行し、CAcertはその存在を確かなものにした。さらに、重要なことは、「信頼のネットワーク」を作り上げ、正式な組織としての体制作りが進んだことである。CAcertは世界中に1,000人近い保証人を擁しており、これがポイントをベースとする「信頼のネットワーク」の根幹となる。これは、有効期間の長い証明書の作成にも繋がる。

近くの町にいるCAcertの保証人を尋ね、公的身分証明によって自身がセキュリティ証明書の所有者であることが確認されれば、ポイントが与えられ、自身が保証人になるなど、特典のレベルが上がっていく。また、証明書の有効期間を長期間に設定することもできるようになる。例えば、未保証のサーバサイド証明書の有効期間は6か月だが、24か月間有効の証明書が入手可能になる。

もしWebサイトや企業イントラネットに安全性の高い領域を作ろうというのなら、そして、一年ごとに商用認証機関から証明書を購入するのが嫌なら、CAcertの証明書を検討すべきである。CAcertの証明書は商用認証機関の証明書と同じレベルの安全性が得られ、しかも、大手ベンダーにも受け入れられつつあるのだから。

Daniel Rubioは、 Osmosis Latinaの首席コンサルタント。同社は、メキシコに本拠を置く、エンタープライズ・ソフトウェアの開発、研修、コンサルティングの専門企業である。

原文