以上のようにしてSSL/TLSの通信路が確立できれば、後はその通信路上でHTTPプロトコルを使った通信を行えばよい。この部分はHTTPでもHTTPSでも変わらない。Webブラウザのデバッグ機能を使えば、HTTPS通信であってもメソッドやその内容を確認できる。
HTTPSではWebサーバにセットされている「サーバ証明書」が重要な役割を持つ。暗号化の鍵として利用されるだけでなく、そのWebサーバがある特定のドメインに属している正当なシステムであることを保証したり、ユーザーに対して、そのドメインが正規の組織が管理しているドメインであることを表明したりするからだ。サーバ証明書にはWebサーバの所有者の情報や公開鍵暗号システムで利用される公開鍵などが含まれ、それが発行者によって電子署名されている。
Webサーバにセットする証明書には次のように幾つかの種類がある。
種別 | 内容 |
---|---|
DV(Domain Validation) ドメイン認証型証明書 |
一番手軽なサーバ証明書。ドメインの正当な所有者であれば、メールなどで申し込み可能(物理的な個人/組織/団体として存在していなくてもよい)。比較的低コスト。無料のものもある |
OV(Organization Validation) 実在認証型証明書 |
ドメインの所有者の組織や団体が実際に存在することを確認して保証する証明書。他人がある組織を偽って証明書を取得する、といった不正はできない (脆弱性や手続きのミスを除く) |
EV(Extended Validation) 拡張実在認証型証明書 |
一番厳格な証明書。組織(会社など)が確実に存在し、社会的にもある程度の期間継続していて、さらに担当者なども実際に存在することが確認されるなど、かなり厳格な存在チェックが行われる。存在チェックが厳しくコストも高いが信頼性は一番高い |
Webサーバ証明書の種類 |
DVからOV、EVとなるにつれて所有者の存在確認などが厳しくなり、その分証明書としての信頼性が高くなるが、コストも上昇する。
もっとも、Let's Encryptのような無料の証明書サービスもあるので(次のリンク参照)、以前よりもHTTPS導入のためのハードルは低くなってきているのも事実である。
以上のいずれかの証明書が使われていれば、Webブラウザのアドレスバーに暗号化を表す鍵マークなどが表示される。特にEV証明書の場合は、組織名が(ほとんどのブラウザでは)緑色で大きく表示されるなど、より特別に正当な組織であることが分かるようになっている。
証明書の詳細は次の通りである。
サーバ証明書ではデータを符号化するためにさまざまな数学的アルゴリズムを利用できる。それらのうち、SHA-1を使った証明書は安全性が低いため(SHA-1の脆弱性が見つかったため)、現在では非推奨となっている。SHA-1を使った証明書(や、自己発行の、いわゆるオレオレ証明書)をインストールしてあるWebサイトへ接続するとWebブラウザが警告メッセージを表示するようになっている。
現在HTTP(だけ)で運用しているWebサーバを全面的にHTTPS化(常時HTTPS化)する場合、サーバ証明書を導入してWebサーバの設定を変更するだけでは済まない。
さまざまなリソースをHTTPS経由でもアクセスできるように更新する他、今までHTTPでアクセスされてきた外部公開URLなどをHTTPSでのアクセスに切り替えさせる(リダイレクトする)対策も必要である。これを行わないと、今までブックマークされたり、告知していたりしたリンク情報(例:「http://〜」など)が急に全て無効になってしまうからだ。
HTTPS化する方法を全て説明するのは本記事の趣旨からは外れるので、ここでは主な作業項目だけを列挙しておく。
本記事ではHTTPSプロトコルについて簡単にまとめてみた。WebサイトのHTTPS化/常時SSL化には、通信内容の暗号化による情報漏洩の防止だけでなく、SEO対策やサイトの高速化など、さまざまなメリットがある。まだ移行していないなら、ぜひ移行・導入を検討するべきだろう。
Copyright© Digital Advantage Corp. All Rights Reserved.