インターネット上のWebサーバへのSSL導入には、SSL証明書の選択と購入が必須だ。実際にSSL証明書の発行申し込みやWebサーバ(IIS)へのインストールを行い、その手順を詳しく解説する。
ユーザーがWebブラウザを介して個人情報をWebサイトへ送信する、というケースはいまどき普通のことだ。しかしWebサーバの管理・運用担当者にとっては、安全に個人情報を伝送できるように、SSLによる暗号化通信機能をWebサーバに導入する必要に迫られることになる。
SSL導入で面倒なことの1つはSSL証明書の購入だろう。証明書発行サイトを見ると、何が違うのか分からないたくさんの種類の証明書がラインアップされていて、どれを選んだらいいのか判断できない。たとえ1つに絞り込めたとしても、発行を申し込む手順も何やら複雑で難しそうだ……。
本稿では、こうした悩みを持つWebサーバの管理・運営担当を対象に、まずSSL証明書の種類の基本的な分類と重要な機能について説明する。次にSSL証明書を実際に購入してWebサーバにインストールし、その手順の詳細を解説する。説明を簡単にするために、購入するSSL証明書は、ロード・バランサを併用しない単一のWebサーバ向けとする。これからSSLの実装を手がけるという管理・運営担当の方々には、本稿がSSL証明書を選ぶ際の参考になり、購入時の「予習」となれば幸いだ。
まず基本に立ち返って、なぜWebサイトのためにSSL証明書を用意しなければならないのか、確認しておこう。WebサーバとそれにアクセスするクライアントPCの間では、個人情報(クレジットカード番号や住所・氏名・電話番号など)のように他人に漏らすべきでない情報をやり取りしなければならないことがある。しかし、httpsを使わずに、httpのような暗号化されていないプロトコルでこうした情報を送受信していると、気付かぬうちに通信路のどこかで悪意のある第三者によって、通信内容を覗かれる「盗聴」や通信内容が書き換えられる「改ざん」という被害を受ける恐れがある。さらに、フィッシング/ファーミングなどの攻撃と組み合わせることで、本物のWebサーバの代わりに偽のWebサーバに誘導・接続されてしまう「なりすまし」の危険もある。
そこでSSL(Secure Sockets Layer)の出番である。SSLでは、Webサーバのために作成された電子証明書(サーバ証明書)に含まれる秘密鍵と公開鍵を利用することで、WebサーバとクライアントPC間の通信を暗号化できる。これによって第三者からの盗聴や改ざんを防止できる。また、クライアントPCからWebサーバの認証も可能だ。例えばクライアントPCから「https://www.example.jp」というURLでWebページを開こうとしたとき、接続したWebサーバが本当にwww.example.jpドメインを所有しているかどうか、すなわちwww.example.jpドメインの「正当な」証明書を持っているかどうかをクライアントPCから検証できる。検証に失敗した場合はWebブラウザがその旨のエラーを発することでユーザーに知らせるので、偽のWebサーバによるなりすましを予防しやすくなる。
ここで注意してほしいのがSSLで利用するサーバ証明書(以後SSL証明書)の出所(出自)である。例えば、テストによく使う自己署名証明書(いわゆるオレオレ証明書)はWebサーバにかかわる開発者や管理者自身が作成しているので、自分で自分自身を証明しているようなものだ。いわば自作の身分証明書なので、世間一般すなわちインターネット上では正当な証明書として通用せず、Webブラウザによる検証でもエラーになる。
ではどうすればいいのかというと、世間一般から広く信頼されている「認証局(認証機関、証明機関、CA:Certificate Authority)」にSSL証明書を発行してもらえばよい。こうした認証局については、クライアント側のWindows OSや一部のWebブラウザに、認証局自身を証明するルート証明書がプレインストールされていて、こうした認証局から発行された証明書も自動的に信頼される。つまり正当な証明書としてクライアントPCから扱われる仕組みとなっている。一般的には、商用の認証局に対して所定の料金を支払いつつ、一定の手続きを経てSSL証明書を発行してもらい、それをWebサーバにインストールすることになる。
証明書を購入しようとして認証局のサイトや証明書の販売代理店のサイトを調べると、たくさんの種類の証明書がラインアップされていることが分かる。その中から用途に適したSSL証明書を選ぶために、まず何を認証するのが目的なのか決めておきたい。
SSL証明書は、認証する対象によって「ドメイン認証型」と「組織認証型」に分類できる。前者は「www.example.jp」といった対象ドメインを所有していることを証明し、後者はドメインだけではなくドメインを所有する組織(企業や団体など)の存在も証明する。また組織認証型は、登記簿謄本などを利用して法的に組織が実在することが確認されるタイプと、物理的な実在証明など、より厳格な基準で確認される「EV SSL証明書」に分かれる。
名称・通称 | 概要 | 料金 |
---|---|---|
ドメイン認証型 | 対象ドメインの所有を証明する証明書。対象ドメインを所有する組織や個人は証明されない。取得時には、ドメイン所有を確認するためにwhoisデータベースの登録情報が調べられたり、対象ドメインの特定メール・アドレス宛に確認のメールが送信されたりする。組織/個人の実在を証明する書類の提出が不要な分、組織認証型より手軽に取得できる | 安い |
組織認証型(法的な実存証明) | ドメインの所有に加えて、そのドメインを所有する組織の身元も証明する証明書。取得時には登記簿謄本の提出が求められたり、公的な企業情報データベース(帝国データバンクなど)への登録が確認されたりする。書類審査が必要なので手続きには時間がかかる | 高い |
EV SSL(物理的な実存証明を含む組織認証型) | 上記の組織認証型に加えて、厳格かつ統一的な基準のもとで、組織の実在や運営状況などが物理的に確認される。この証明書で証明されているWebサイトにアクセスすると、Webブラウザのアドレス・バーが緑色で表示される | さらに高い |
特にEV SSL証明書は、Webブラウザで該当サイトにアクセスした際にアドレス・バーが緑色で表示される。そのため、一般ユーザーから見ても、ほかのタイプの証明書と簡単に区別できるのが大きな特長だ。
例えば、限られた関係者だけがアクセスするWebサイトの場合はドメイン認証型の証明書で事足りることが多いだろう。ドメイン認証型でも暗号化の役割は果たせるし、必要であれば組織認証型証明書ではないことを関係者へ周知すれば済むと期待できるからだ。一方、一般ユーザーを対象にしたECサイトであれば、EV SSL証明書を導入すべきかどうか検討する必要があるだろう。単なる組織認証型と比べるとWebブラウザのUIでそれとすぐ分かるEV SSLは、一般ユーザーが決済するときの安心感向上や競合サイトとの差別化といった効果が期待できるからだ。
認証対象を決めたら、次は証明書に求められる機能の取捨選択をしよう。以下、特に証明書の料金を左右する機能や要素をピックアップして解説する。
■1枚の証明書でサブ・ドメインを証明できる「ワイルド・カード」
SSL証明書におけるワイルド・カード(Wild Card)とは、特定のドメイン名ではなくサブ・ドメインに対して利用できる機能を表す。例えば「*.example.jp」というワイルド・カード証明書は、それだけで「www.example.jp」「webmail.example.jp」「test.example.jp」といったサブ・ドメインに対しても正当な証明書として利用できる。料金は高めだが、サブ・ドメインからなる複数のWebサイトを1台のサーバで運用している場合は、各サブ・ドメインに証明書を発行してもらうより安価で済むことがある。なお、「*.example.jp」は「www.example.com」とはもちろん一致しないし、「www.sub.example.jp」にも一致しない。ワイルド・カードの「*」は、「www.sub」のように複数階層のサブ・ドメインとは一致しないからだ(「*.sub.example.jp」なら一致する)。
■1枚の証明書で複数のドメインを証明できる「マルチドメイン」
SSL証明書が証明するドメイン名は、証明書内の「サブジェクト」と呼ばれる欄(フィールド)にコモン・ネーム(一般名、Common Name、CN)として記載されている。これとは別に「サブジェクトの別名(Subject Alternative Names、SAN)」と呼ばれる欄にも、別のドメイン名を複数格納することで、複数のドメイン名の証明に利用できるようになる。この機能をマルチドメインあるいはSAN、UCC(Unified Communications Certificate)と呼ぶ。ワイルド・カードと違い、gTLDから異なる複数のドメインに対して利用できるが、ドメイン名が増えるほど料金は高くなる。複数ドメインを1台のサーバで運用しているなら、個別に証明書を発行してもらうより安価で済むことがある。
■SSL証明書の概要を表示できる「サイト・シール(SSLシール)」
サイト・シールとは、SSL証明書によって証明されているドメイン名(URL)や有効期間などの表示機能をWebサイトに設置する機能のことだ。これにより、サイトを訪問したユーザーにSSL証明書の内容を簡単に表示する機能を提供できる。効果のほどはさておき、Webサイトの信頼感を高めるためのツールの1つといえよう。サイト・シールを設置するには、証明書の発行元が提供する専用のJavaScriptやFlashなど(またはこれらへのリンク)をWebページに追加する必要がある。
組織認証型の証明書では、サイト・シールが標準装備であることが多い。ドメイン認証型の証明書の場合はサイト・シール付きだとやや高めになるので、少しでも安く購入したい場合はサイト・シールのないタイプから選ぶことになるだろう。
■1枚の証明書を複数台のサーバにインストールできる「マルチサーバ」
従来は、たとえドメイン名が共通でも、サーバ・マシンが複数の場合はそれぞれに証明書を発行してもらう必要があった(ライセンス上、そのように規定されていた)。しかし最近は、1枚の証明書を複数のサーバ・マシンにインストールして運用できるライセンスが増えてきている。その分、通常より料金が割高になりがちだが、それでも各サーバに発行してもらうよりは安く済むことが多いだろう。
■携帯電話(フィーチャーフォン)対応
古いフィーチャーフォンでは、特定の認証局のルート証明書を内蔵しておらず、あとから追加もできないため、結果としてその認証局から発行された証明書が通用しない(SSLによる暗号化や認証ができない)ことがある。フィーチャーフォン向けのサービスでSSL証明書を利用する場合は、証明書の発行元が提供しているフィーチャーフォンの対応リストをあらかじめ確認すべきだ。
■SSL証明書の有効期間
SSL証明書はいつまでも無限に使えるわけではなく、必ず有効期間が設定される。例えば購入時に有効期間を1年間と指定した場合、1年後にはその証明書を更新しないとWebブラウザ側で期限切れのエラーが表示されるようになる。通常、有効期間を長く設定した方が単位期間当たりの料金は安くなる。有効期間の単位は1年間ごとのことが多いが、半年とか1カ月単位で購入できる証明書もある。キャンペーン・サイトのように短期間で運用を終える場合は、こうした証明書を利用するとよいだろう。
認証対象と機能を決めたとしても、複数の証明局や販売代理店から選ぶという判断が残っている。これは証明書に限らず難しいことで、例えば「パソコンをどこから買うと一番得か」という問いに似ていて、簡単に方針を決められるものではない。それでも、一般的な傾向としていえることはある。
1つは、販売代理店から購入した方が安いことがある、という点だ。ほかの物販と同様に証明書でも、多くの認証局(証明書の発行元)が直接販売を手がけている。しかし、本稿執筆にあたって筆者が調べた限りでは、同じ証明書でも直販より販売店経由の方が安いことがよくあった。極端なものでは販売店独自のキャンペーンを利用すると直販の半額以下というのも見かけた。
その一方で、安価な証明書ではサービスもそれなりということも挙げておきたい。筆者は、ドメイン認証型の証明書1枚につき2000円台〜4000円台と非常に安いサービスを実際に利用したことがある。しかし、手続きの途中で届くメールなどが英語表記だったり、問い合わせに対する応答が遅かったりすることがあった(取得した証明書にはまったく問題はなかったが)。安ければサービス・レベルが低いのは当然なので、こうした低価格のサービスには過度の期待をしない方がよい。
さて次のページからは、証明書の購入からWebサーバ(WindowsのIIS)へのインストールまでの手順を説明する。
Copyright© Digital Advantage Corp. All Rights Reserved.