https化に待ったなし!?https接続のメリット・デメリットと保護されていないページの見分け方
2018.08.31
Googleが2014年に検索ランキングにhttpsを加えたことで、徐々にWeb接続がhttpからより安全なhttps接続に移行するサイトが増えています。しかし、まだまだhttps接続にしていないサイトもあるかと思います。
今回は、httpsのメリットやデメリット、そしてなぜGoogleがhttpsを推奨しているのか、https化をしたけど、保護されていないページとなった原因の調査方法をご紹介します。
httpとは?
「https://pecopla.net」のようにURLはhttpやhttpsで始まります。このhttpとは「Hyper Text Transfer Protocol」の略で、Webクライアント(Internet ExplorerやGoogle Chromeなど)とWebサーバーとのやり取りで使われる通信プロトコルです。一般的にWebクライアントが閲覧したいページの情報(画像や動画やテキスト情報など)をWebサーバに要求して、要求されたWebサーバーが情報を返答します。返答を受け取ったWebクライアントは画面上にhtmlや画像や動画などを表示します。
httpの場合、暗号化されてない状態で通信しています。例えば、問い合わせページにおいてWebクライアントが名前やアドレスを入力し送信した場合、その名前やアドレスの情報がそのままWebサーバーに送られます。
つまり、悪意があるユーザーがいた場合、その名前やアドレスの情報を抜き取とられる可能性があります。
httpsとは?
httpsとはSSLを利用したhttp通信です。SSLとは、Secure Socket Layer」の略で、WebクライアントとWebサーバとの通信を安全に保つために利用されます。SSLには、通信データが改ざんされていないか検知する機能、通信相手が正しいか、通信内容を秘匿する暗号機能があります。
httpsはこのSSLを利用しているので、先ほどのように悪意があるユーザに情報を抜き取られても暗号化されているので、内容を判別することが難しいです。
それでは、この他にもhttpsにするメリットとデメリットには何があるのか見ていきます。
https接続のメリット
サイトのセキュリティ強化
最近では、スマホやタブレットの普及により暗号化されていない公共のWi-fiからの接続が多くなっています。それを悪用しログイン情報などを盗もうとする中間者攻撃が存在します。また他人のCookie情報に入り込み、そのユーザに成りすまして、不正に情報を変更するアドオンもあります。全てのページをhttps化することで、ユーザは安心してサイトに個人情報などを入力することができます。
検索順位の決定要因になっているためseo対策に役立つ
2014年8月にGoogleが、ウェブサイトがhttpsかどうかを検索順位の決定要因にすることを発表しています。そのため、httpsを導入することで少し検索順位に影響します。ただし、一部のページだけ未導入の場合、検索エンジンは安全ではないウェブサイトと認識されますので、導入する場合は全てのページを対象としてください。
サイトの信頼性をアピールできる
これは後程詳しく解説しますが、Googlechromeでは、http接続のサイトは保護されていない通信と表示されます。また、Firefoxでも、http接続ページにIDやパスワードを入力しようとすると、この接続は安全ではありませんと表示されるようになっています。https接続ですと、このような危険なメッセージが表示されません。
https接続で応答速度が速くなる
httpsでは、次世代プロトコル「HTTP/2」を使用しています。HTTPS/2は従来のhttpプロトコルであるHTTP/1.1が持っていた弱点(レスポンス速度が遅い)を解決するために登場しました。
具体的にどのようにして応答速度を向上させたかと言いますと、①従来のCSSやJS等のテキストファイルの他に、cookieや、OSなどのHTTPのヘッダー情報も圧縮して送ることでデータの容量を少なくしています。また②同じHTTPヘッダー情報を何度も送信するのではなく、送信な必要な差分データだけ送信している。
さらに、③接続を多重化されたことによって、複数のリクエストを処理できるようになりました。例えば従来のhttp接続ならば、ファイルを複数ダウンロードするのは1つのファイルがダウンロードが完了したら、次のファイルをダウンロードしますが、https接続ならば複数の要求を処理することができますので、2つのファイルをほぼ同時にダウンロードすることができます。
ユーザどのサイトから来たのか分かるようになる
Google自体がhttps化されていますので、ウェブサイトがhttpsであれば、リファラー情報が送信され、Google検索から来たユーザとしてアクセスログに残ります。逆にhttpの場合は、リファラー情報が送信されませんので、どこから遷移してきたのか分からなくなります。
これはサイト内で一部だけhttps接続の場合でも同様で、httpsページからhttpページにアクセスしたとたん、Cookie情報が保存されないため、同じユーザにも関わらず別々のユーザと認識されてしまいますので、正しくユーザの行動を分析するためには、httpsページとhttpページを混在させないようにすることが大事です。
https接続のデメリット
費用がかかる
エックスサーバやロリポップでは無料のSSLがありますが、これは暗号化通信だけです。無料の場合、フィッシング対策を実施していないことも多くサイトのセキュリティが十分ではないです。セキュリティを高めるために、有料のSSLが必要になってきますが、最低でも2000円/月(ロリホップの場合)、長期保証などにすると1万以上の費用がかかります。
移行の手間がかかる
例えば、数千ページもあるような大規模なサイトをhttps化する場合、例えば内部リンクをhttpからhttpsに全て直す必要があります。
SNSのカウントがリセットされる
httpでどれだけSNSにシェアされていたとしても、httpsに変更したらリセットされます。ワードプレスで運用されている場合は、「SNS Count Cache」というプラグインを使えばカウントが復活できるようですが、ワードプレス以外で運用されている場合はリセットされます。
GoogleアナリティクスやSearch Console等を再設定しなければならない
URLが変わっているので、GoogleアナリティクスやSearch Consoleはhttps用に再設定する必要があります。また、Search Consoleでリンクの否認をしている場合は、httpsのURLにも再度ファイルをアップロードする必要があります。
▼関連記事
Google Chromeのhttps化に関するアップデートとGoogleがhttpsにこだわる理由
ここまで、httpsとは何か、https接続のメリット・デメリットをご紹介しました。
https化のデメリットを見ますと、移行するのに時間と費用がかかりそうで、なんとなくhttpsに移行するのは
後回しにしがちになってしまいます。しかし、そうもいっていられません。ユーザーが普段使用しているブラウザ(特にChromeやfirefox)でhttps接続でないと警告が表示されるようになり、徐々にhttpsに対応しなければいけない状態になっています。特にGoogle Chromeでは、セキュリティー最優先事項としてここ1、2年で急速にセキュリティーに関する対応を強化しています。ここ1~2年のセキュリティに関する対応は以下です。
Google Chromeのhttpsに関するアップデート状況一覧
アップデート年月 |
アップデート内容 |
2017年1月 |
Google Chrome 56:HTTPサイトでパスワードやクレジットカード番号の入力フォームがある場合のみ警告表示を開始 |
2017年10月 |
Google Chrome 62:HTTPサイトで入力フォームがある場合すべて警告表示開始 |
2017年12月 |
Google Chrome 63:ChromeによるFTP接続で警告表示開始 |
2018年7月 |
Google Chrome 68:httpサイトはすべて「保護されていません」という警告を表示 |
2018年9月(予定) |
Google Chrome 69:httpsサイトで表示していた「保護された通信」というラベルを削除 |
2018年10月(予定) |
httpサイトでパスワードを入力すると「保護されていません」ラベルが赤くする |
2018.9.7追記
本日より正式にchromeが68から69にバージョンアップました。httpsに関連するバージョンアップ内容としては以下です。また、httpsとは関係ありませんが、ドメイン名のwwwがデフォルトでは表示されず、URLを選択すると表示される仕組みに変わりました。
- 「保護された通信」ラベルが削除
- httpsが削除
- URLの左に表示されている鍵のアイコンが緑から黒に変更
ここまでGoogleがhttps化にこだわる理由とは?
上記の表のようにGoogleでは、2017年よりhttpsに関するアップデートをしています。ここまでGoogleがhttps化にこだわる理由は何でしょうか?Googleはウェブをhttpsがデフォルトだと言えるような状態にすることを目指しているようです。つまり、でGoogleがhttpsにこだわる理由は、重要な情報をやり取りするサイトだけでなく、Webを安全に利用できるようにしたいのではないかと考えられます。
現に、Googleでは、https化促すために、様々アメとムチを用意してきました。例えば検索順位を上げたり、無料のデジタル証明書を提供する「Let’s Encrypt」証明書発行サービスを支援するのが「アメ」で、HTTPページに対するChromeのセキュリティ警告を変更したのが「ムチ」です。
保護されていないページの見分け方
このように徐々にhttps化をしていく必要があることがお分かりいただけたかと思います。最後にhttps化はしたけど、chromeで「保護された通信」と表示されないことがあります。なおchromeでは、一部でも保護されていないページがあると、サイトとして「保護された通信」と認識しません。
ここではその原因を探る方法をご紹介します。使用するものはchromeのディベロッパーツールです。windowsであれば「F12」キーを押せば表示されます。
よくある原因
安全性を損ねる要因としては、不正なサーバ証明書や脆弱なバージョンのTLSプロトコルなどがありますが、よくある原因として、画像やCSS、Javascriptファイルの読み込みにhttpが使われていることです。
ここで、chromeのディベロッパーツールを用いての調査方法をご紹介します。今回は、http接続とhttps接続が混在している例にして解説します。
「Security」タブを選択し、原因を探る
下図の例でいうと、「Certificate」と「Connection」には問題がありません。つまりサーバーの証明書とTLS接続についてはトラブルが起きていないことがわかります。しかし、「Resources」をみると赤く「mixed content」と表示されています。つまり、画像やCSSファイルなどリソースについて、httpとhttps接続両方が混在していることがわかります。
「View ○○ requests in Network Panel」をクリック
具体的リソースを知りたい場合は、「View ○○ requests in Network Panel」というリンクをクリックします。
クリックすると、下図のようにhttp接続になっているリソースが一覧で表示されます。あとは該当箇所をhttps接続に修正します。
まとめ
いかがでしたか?2014年にGoogleがhttps化することによって少し検索順位に影響すると発言して以降、
急速にhttps化の流れになってきています。費用の問題等でなかなかすべてのサイト・ページをhttpsにすることは難しいかもしれませんが、無理のない範囲でhttps化をしていただければと思います。
関連