Webサイトにアクセスした時、アドレスが「http://~」の場合と「https://~」の場合があることをご存じですか?
「https://~」は、そのページがSSL化されていて安全だという意味です。Webサイト上で個人情報を保護するためのSSLについて、その仕組みやメリット、導入の際のポイントなどを解説します。

SSLとは「暗号化された安全な通信」のこと

そもそもインターネット通信の仕組みとは

インターネットの通信は、基本的には平文(暗号化していない通常の文字列)です。インターネットの設計思想として、基本的な機能だけを規定し、あとはその都度追加していく方式になっているからです。

これは、いわばハガキでやりとりしているようなもので、仮に配達人に悪意があれば、ハガキの文面が読まれてしまうのと同じように、コンピュータを使った通信でも内容を見ることができるのです。例えば企業において、ネットワークにおける不正通信を監視しているIT管理者は、見ようと思えばあらゆる通信内容を見ることができます。同様に、世界中のインターネット通信においても、有料ないし無料のネットワーク監視ツールを使えば通信内容を見ることができるのです。

Webサイトでも通信の暗号化が必要に

Webサイトが作られ始めた頃は、誰に見られても特に困りませんでした。当初のWebサイトは、研究成果を発表して誰かに見てもらうというのがメインの役割でした。また、企業においても会社案内や電子的なカタログとして作る程度だったからです。

しかし、ネット通販となると話は別です。誰でも見られるハガキにクレジットカード番号を書く人はいないでしょう。そこで、せめて封書にして不特定の人には見えないようにする必要性がでてきました。それが、通信の暗号化です。

悪意のある人に盗み見されては困る内容をやり取りする場合は、通信の暗号化が必須です。例えば、WebサイトのなかでユーザーIDとパスワードを入力するページや、クレジットカード番号や個人情報を入力するフォームがあるページは暗号化が必要です。また、オンライン銀行やネット証券などでの取引も、暗号化していなければ危なくて使えません。

「https://~」は通信が暗号化されたWebサイト

Webサイトの通信暗号化に使われるのはSSL(Secure Sockets Layer)という仕組みです。
※実は、現在はその進化版であるTSL(Transport Layer Security)が使われていますが、SSLとしての名称のほうがよく知られているので、この記事ではSSLで統一します。

SSLによって通信が暗号化されているかどうかは、Webブラウザのアドレスバーを見れば分かります。アドレスの先頭が「https://~」であれば暗号化されていますが、「http://~」なら暗号化されていません。暗号化されていないと、ブラウザによっては「保護されていない通信」と但し書きが出たり、打ち消し線のついた鍵マークが出たりします。

SSLの仕組み

SSLは、次のような仕組みで通信を暗号化します。

まず、通信の内容を暗号化するのは、「共通鍵」です。鍵といっても物理的な何かではなく、データを暗号化する計算方法のことです。もし鍵が一つで、暗号化する鍵と復号(暗号を解除)する鍵が同じだと、あらかじめお互いが鍵を持っていなければ、通信の秘密は守れません(共通鍵暗号方式) 。鍵も通信で送れば、盗まれてしまうからです。

そこで、共通鍵を安全に送るために「公開鍵」と「秘密鍵」を使います。これを公開鍵暗号方式といいます。公開鍵暗号方式では、公開鍵で暗号化したものは秘密鍵でしか復号できず、秘密鍵で暗号化したものは公開鍵でしか復号できません。

Webサーバとブラウザ間の通信を暗号化するには、次のような手順で行われます。Webサーバは、公開鍵と秘密鍵をセットで持っています内容の暗号化を行うのは、ブラウザ側が持っている共通鍵です。

  1. ブラウザがWebサーバに接続を要求する
  2. WebサーバがSSLサーバ証明書を送付する
  3. ブラウザがSSLサーバ証明書を検証する
  4. ブラウザがSSLサーバ証明書に含まれる公開鍵で共通鍵を暗号化する
  5. ブラウザが暗号化した共通鍵をWebサーバに送付する
  6. Webサーバが送られてきた暗号化済みの共通鍵を秘密鍵で復号する
  7. ブラウザとWebサーバが共通鍵を持ち合い、通信の暗号化が開始される

手順で出てきた「SSLサーバ証明書」は、ブラウザのアドレスバーにある鍵マークをクリックすると見ることができます。公開鍵は、誰に見られても構わない無意味なビット列ですが、それが誰のものか分からないのでは、そもそも安全な通信暗号化とは言えません。

そこで、認証局(CA=Certificate Authority:デジタル証明書を発行する第三者機関)がその存在を証明するのが「SSLサーバ証明書」です。この証明書によって、Webサイトの実在性や改ざんされていないことを証明しているのです。

SSLサーバ証明書の選び方

アドレスが「https://~」になっていればそれで安全かというと、必ずしもそうではありません。SSLサーバ証明書には、いくつか種類があるからです。証明書の種類と違いについて解説します。

EV SSLサーバ証明書

通信の暗号化はもちろん、認証局が厳格な企業・組織の実在性証明を行います。このため、発行までに数週間程度かかり、価格は高めです。通販サイトやなりすまし対策が必要なサイトにはこの証明書が必要です。

OV SSLサーバ証明書(企業認証型証明書)

通信の暗号化に加えて、認証局が申請した企業の実在性を証明します。法的登記の有無で確認するため、個人では取得できません。発行までに数日程度かかりますが、EVよりは安価なので、資料請求や問い合わせページなどはこちらを使うケースもあります。

DV SSLサーバ証明書(ドメイン認証型証明書)

通信の暗号化を行うための証明書です。ドメイン使用権を保有してさえいれば発行されるため、個人でも取得でき、低価格・短期間で発行されます。企業の実在性を証明するわけではないので、個人での使用や社内公開用のWebサーバで使います。

「https://」だからといって必ずしも安全と言い切れないのは、フィッシング詐欺サイトなどのなりすましでも、この証明書は取得できてしまうからです。

SSLサーバ証明書の注意点

以上のように、一口にSSLサーバ証明書といっても、実在性証明をするものとしないものがあります。どのような用途で使うかによって、適切な証明書を選択する必要があります。

また、SSLサーバ証明書は使用期限が決まっています。うっかり期限切れになると警告メッセージが出ますし、最新のブラウザではページを表示すること自体ができなくなります。ユーザーを不安にさせてしまうので、注意が必要です。

さらに、一般的には一つのドメインに対して一つの証明書が必要ですが、一つの証明書で複数のドメインを保護できる証明書もあります。複数のブランドがあって複数のドメインを運用している企業などは、そういった証明書を検討してみるといいでしょう。

常時SSL化のメリット

以前は個人情報などを入力するページをSSL化するのが常識になっていましたが、最近はWebサイト全体をSSL化する常時SSL化が増えています。これは、以下のようなさまざまなメリットがあるためです。

セキュリティの強化

全ページをSSL化することで、Webサイトのなりすましを防ぐことができるうえに、暗号化されていない公衆Wi-Fiを利用した攻撃やデータ盗聴を防ぐことができます。

Webサイトの価値向上

SSL化していないページは、主要ブラウザで「保護されていない通信」と警告されます。そのため、ユーザーを不安にさせてしまうリスクもあります。Webサイトの信頼性を上げるには、Webサイト全体をSSL化することをおすすめします。

また、暗号化すると通信が遅くなると考えられがちですが、実はSSL化するとhttpよりも速いプロトコルを使えるため、サイトの表示を高速化することも可能です。さらに、SEOで優遇されるとも言われています。

管理性の向上

Webサイトの担当者は、ログ解析によってユーザーがどこから自社サイトに来たかというリファラー情報を確認しているはずです。実は、自社サイトがhttpだと、リンク元がhttpsの場合にリファラー情報が取得できません。つまり、世の中にhttpsのページが増えるほど、リファラー情報が取りにくくなるのです。しかし、自社サイトがhttpsであれば、リンク元がhttpsでもリファラー情報を取得できます。常時SSL化すると、取得できるリファラー情報が増え、ログ解析の精度も上がることが期待できます。

SSL化によって企業ブランドの向上も

インターネット上で情報をやり取りする時、SSL化によって通信を暗号化しなければデータ盗聴や改ざんといった危険があります。また、すべてのページをSSL化する常時SSLには、SEOやアクセス解析におけるメリットもあります。企業やブランドイメージを下げないためにも、SSLの導入を検討しましょう。

クラウド型CMSを導入するならPattern Style CMS