SSLはWebサイトのセキュリティを高める上で欠かせない要素の1つです。簡単でいいので、初心者の方もある程度は理解しておきましょう。
Webサーバとドメインが用意できてWordPressもインストールできたら、まずしなければならないのがSSLの設定です。
参考 ConoHa WINGを利用したWordPressのインストールについては、こちらの記事をご覧ください。
参考 ConoHa WINGを利用しているけど細かいことはいいからとにかく設定したい!という方は、こちらの記事をご覧ください。
SSLとは
SSLとは、インターネット上の情報のやりとり(通信)を暗号化する仕組みです。インターネット上では様々な通信が行われていますが、SSLは中でもWebブラウザとWebサーバの間の通信を暗号化します。
忘れてしまった方のために、WebブラウザとWebサーバについて簡単にまとめておきましょう。
参考 Webサーバ、Webブラウザについては、こちらの記事でも扱っています。
参考 Webサーバに関する詳しい情報は、こちらの記事をご覧ください。
簡単にいうと、SSLはわたしたちユーザーとWebサイトの間の通信に関する仕組みです。
SSLで通信を暗号化する必要
Amazonなどの通販サイトで買い物をする際、名前や住所などの個人情報、中にはクレジットカードの情報までもを入力した経験があるという人は多いのではないでしょうか。
例えばGoogleアカウントを作成するときには、以下のような情報を入力します。
この場合は、名前、メールアドレス、パスワードを入力していますが、こうした情報は秘匿性が高いため、外部に流出してしまうと重大な問題になります。
情報を送っている途中で悪意ある第三者がその情報を盗み見た場合、簡単に個人情報が流出してしまいます。
個人情報の流出の危険性
言うまでもないことかもしれませんが、個人情報が流出すると様々な被害のリスクがあります。
クレジットカード情報の流出
クレジットカード情報が流出すると、自分の身に覚えのないところで不正な支払いに悪用されてしまいます。
不正利用に対する保険を申請すれば被害分を保証してくれることが多いですが、そのために機能を一時的に停止せざるをえなくなりますし、そもそも不正利用されていることに気がつかなければ知らぬ間に引き落としされてしまいます。
メールアドレスや電話番号の流出
メールアドレスや電話番号が流出すると、スパムメールや営業電話がたくさん届くようになります。
中にはマルウェア(コンピュータウイルスなどの有害なプログラム)を引き起こすメールが届く場合もあります。
これらの対応自体がかなり面倒であることに加え、架空請求を促すようなものもあるためさらなる被害に繋がる危険があります。
名前や住所の流出
名前や住所が流出すると、個人の特定につながります。
個人が特定できればメールのような間接的な方法だけでなく、直接訪問販売をしてくるといった直接的な方法のターゲットになる可能性があります。また、流出した情報を使って詐欺サイトの運営者として登録されてしまったり、自分名義のクレジットカードを作られたりと、悪用のされ方は多岐に渡ります。
個人情報を悪用されると、自分が被害者になってしまうだけでなく加害者になってしまう可能性があるのです。
企業の管理するWebサイトで情報が流出した場合は、個人運営の場合以上に被害が深刻になります。企業の信頼が損なわれ、世間からのイメージが悪くなるため、企業活動に大きなダメージを負うことになってしまいます。
盗聴を防ぐ工夫
悪意ある第三者に情報が盗み取られてしまうのを防ぐためには、どのようにしたらいいでしょうか。
ここでは、あるサイトへログインするための暗証番号を決定する状況を考えてみましょう。
暗証番号「1234」をそのまま送信した場合、その情報を見ただけで暗証番号が簡単に分かってしまうため、非常に危険です。
ここでの問題は、情報を加工せずそのまま送信してしまっていることにあります。どんな情報を送ってもチラ見できる技術がある人にはすべて筒抜けです。
そこで、情報を一定のルールに従って加工して暗号化してしまおうという提案がされました。
SSLの暗号化
情報を暗号化すると、途中で盗聴されても暗号の読み方を知らない人には意味がわからないため、結果的に流出を防ぐことができます。
普段の会話は日本語だけど、重要な話をするときはドイツ語にする、みたいなイメージです。ドイツ語を知らない人は音を聞き取れても意味を解釈できません。
暗号化方法の共有
暗号を使うことで情報を守れますが、受信側はその暗号の解き方を事前に知っている必要があります。
送信側が勝手に暗号化しても、本来送りたい相手にも読めないようでは意味がありません。
そこで、事前にどのように暗号化するか、どのように暗号を解くか(復号といいます)を決めておきます。セキュリティの観点から考えると、暗号化の方法や復号の方法を知っている人は少なければ少ないほど良いです。
通信に関係する送受信者のみが知っている状態が望ましいです。
簡単な例を見てみましょう。
ブラウザ(送信者)は送る情報に4649を足して暗号化することにしました。
すると、サーバ(受信者)は受け取った情報から4649を引けば復号できます。
暗号化した場合の通信
このとき悪意ある第三者に通信を盗聴された場合、次のようになります。
暗号化
送信者は送りたい暗証番号「1234」に4649を足して暗号化します。
実際の通信では暗号化された「5883」という番号を送ることになります。
盗聴
盗聴された場合、送信した「5883」という番号が盗まれてしまいますが、送信されていない「4649」という数字を知らなければ本来の暗証番号を得ることはできません。
復号
受信者は受け取った番号「5883」から4649を引いて復号します。「1234」という暗証番号が無事得られました。
このように、盗聴されても復号の仕方が知られなければ情報は無事です。
SSLによる暗号化の仕組みはなんとなく理解できたでしょうか。
今回はかなり簡略化して説明をしましたが、実際のSSLの暗号化はもう少し複雑です。
上の例では暗号化と復号を同じ数字の足し引きによって行っているため、暗号化できる人は復号もできてしまいます。つまり、暗号化した通信をしたいと名乗り出て暗号化の方法を教えてもらえれば、同じ方法で暗号化している人のメッセージは好き放題に盗聴することができてしまうのです。
そのため、本来は暗号化は簡単だけど復号は難しいという南京錠のような「鍵」を使って暗号化する手法が取られます。
管理人とみーは超初心者ながらもこの辺りの話をある程度知っているのですが、Webサイトを作り立ての段階では今までの話を理解していれば十分なので、今回は深入りしないことにします。
SSLを設定する意味
SSLを設定するのは、上で見たように基本的にWebサイトに関する通信のセキュリティを向上させるためです。
SSLを設定する理由としてはセキュリティ向上で十分なのですが、SSLを設定するメリットは他にもあります。
GoogleはSSL化しているサイトを優遇する
インターネットで情報を検索するとき、わたしたちはGoogleやYahoo!などの検索エンジンと呼ばれるシステムを利用しています。検索エンジンは、
ためのルールを定めており、このルールにのっとったプログラム(検索アルゴリズムといいます)でWebサイトを順位付けしています。
GoogleとYahoo!だけで世界の約95%を占めています。
Yahoo!はGoogleの検索エンジンを採用しているため、実質的にほとんどの人がGoogleで検索していると言えます。そして、GoogleはSSLを設定しているサイトの検索順位を優遇すると公表しています。したがって、SSLを設定することでGoogle検索に表示される可能性をあげることができます。
もちろんSSL化しただけで検索順位が飛躍的に向上するということはなく、結局は記事の質が重要になってくるのが実情ですが、SSL化をしていないことはそれだけでデメリットになってしまいます。
Webサイトの信頼につながる
当たり前のことではありますが、セキュリティに問題があるWebサイトに対する信頼度は低くなります。
SSL化をしていない通信は情報が保護されないため、ユーザーはSSL化されていないサイトを利用するのを躊躇ってしまいます。
SSL化をしていれば安全!というわけではありませんが、少なくともセキュリティ対策をしているアピールにはなります。
そして、WebサイトがSSL化されているかどうかは簡単に確認することができます。
WebサイトがSSL化しているか確認する方法
WebサイトがSSL化しているかどうかを確認する方法は、大きく2種類あります。
Webブラウザでの表示
Webブラウザによって表示のされ方や設定が異なりますが、多くの場合画面上部にURLが表示されているアドレスバーがあります。
SSL化されているかどうかで、このアドレスバーの表示が異なります。
SSL化されている場合
SSL化されている場合、URLの横に鍵マーク「」が表示されます。
ブラウザによっては鍵の位置が違ったり、表示されなかったりする場合があるかもしれません。
SSL化されていない場合
SSL化されていない場合、URLの横に通信が保護されていないことを示す警告が表示されます。
警告文はブラウザによって異なります。
この表示からわかるように、SSL化されていないだけでそのサイトが危険であるような印象を受けてしまいます。
Webブラウザによってはこうした表示がされない場合があります。その場合は、URLを見ることでSSL化されているかどうかを見分けることができます。
SSL化によるURLの変化
通常はWebブラウザの設定でURLのうち一部しか表示されていないことが多いですが、先ほどのアドレスバーをクリックすると隠れていた部分が表示され、完全なURLを確認できます。
SSL化されている場合:https
SSL化されている場合、URLは
https://www.beginner-blogger.com
のように、「https」で始まります。
SSL化されていない場合:http
SSL化されていない場合、URLは
http://www.beginner-blogger.com
のように、「http」で始まります。
些細なことですが、「s」がつくかどうかの違いがあります。
この「s」はSecure(安全な)という英語の頭文字を表しています。
SSLの設定
SSLを設定する方法の前に、簡単にSSLの形式について触れておきましょう。
SSLの形式
SSLには、共有SSLと独自SSLの2種類の形式があります。この2つの特徴を簡単にまとめると、次のようになります。
実際には他にも大きな違いがあるようですが、これらの違いを理解しておく必要はないと思います。というのも、上の方で触れましたがGoogleはすべてのWebサイト、WebページをSSL化するように求めているため、部分的に暗号化する共有SSLでは不十分なのです。
そのため、多くの場合独自SSLを設定します。
独自SSLを設定する方法
独自SSLを設定する方法はいくつかありますが、初心者にとって一番簡単なのはレンタルサーバの独自SSL設定サービスを利用することです。
多くのレンタルサーバでは、無料で独自SSLを設定できるようになっています。
有料で設定できるサービスもありますが、暗号化の強度は有料・無料に関係なくすべて同じなので、わざわざお金を払ってまで有料のサービスに申し込む必要はありません。
とはいえ、Webサイトを始めたての段階ではレンタルサーバの独自SSLで十分でしょう。
SSLを設定するタイミング
答えは簡単で、Webサイトを立ち上げた直後、WordPressをインストールした直後が望ましいです。
上で見たように、SSLを設定するとURLが
http → https
となります。
そのため、Webサイトが大きくなってからSSLを設定しようとすると、httpで設定していたものをすべてhttpsの設定に直さなければいけなくなり、非常に手間がかかります。
SSL化を放置するとあとで大変です。。。
したがって、この記事を読んだ後にすべきことはまずSSLを設定することです!
参考 ConoHa WINGを利用したWordPressへのSSL設定は、こちらの記事をご覧ください。
まとめ
- インターネット上で重要な情報を送るときには、盗聴を防ぐために情報を暗号化する必要があります。
- SSLは、WebブラウザとWebサーバの間の通信を暗号化する仕組みです。
- SSL化しているサイトは、Googleの検索順位で優遇されます。
- アドレスバーやURLを確認することで、WebサイトがSSL化しているかどうかを見分けられます。
- SSLには共有SSLと独自SSLの2種類がありますが、基本的には独自SSLを使用します。
- 独自SSLは、レンタルサーバのサービスとして設定できることが多いです。
- SSLは、WordPressをインストールしたらすぐに設定しましょう。
基本事項が理解できたら早速次の記事に進みましょう!
コメント