COLUMN
コラム
常時SSL化のメリットと必要性とは
常時SSL化はセキュリティ強化だけでなく、ユーザとウェブサイト運営者の双方にさまざまなメリットがあります。今やSSL化はホームページ運営者のマナーといっても過言ではありません。
ここでは、なぜ常時SSL化が重要視されているのか、常時SSLのメリットと必要性を解説していきます。
常時SSL化とは、お問合せや商品購入ページのような個人情報などを入力するフォームページだけではなく、サイト全体をSSL化してしまい、ブラウザからアクセスする場合は常にSSL接続で閲覧してもらえるようにする方法です。
そもそも、SSLというのは
・サーバー間通信の暗号化のため
・ドメインが実在することを第三者が証明するため
・ドメインを取得している企業が実在することを証明するため
というのが目的となります。
すなわちSSL化したということは、取得してるドメインが実際に存在していることを、SSLサーバー証明書を発行する機関が第三者視点から間違いないとお墨付きを与えている状況になります。
その上で、サーバーとの通信は暗号化されているため、個人情報をブラウザ上で入力しても、通信経路の途中で情報が漏洩することはなく、webサイトへの訪問者が安心してお問い合わせやネットショッピングなどを行うことができます。
SSLサーバー証明書には以下の4つのタイプがあります。それぞれ詳しく見ていきましょう
1.自己署名型
SSLの証明書を自分で発行するものです。自己署名型証明書は通称「オレオレ証明書」とも呼ばれています。 自己署名型でも通信内容を暗号化することはできるのですが、通信相手としての正当性は保証できません。そのため不特定多数がアクセスするウェブサイトのサーバー証明としては不向きです。しかし、特定のユーザーや社内用のウェブサイトなどでは使われることもあります。
2.ドメイン認証型
ドメイン認証型SSLは認証がなされる証明書の中ではもっとも手軽な方式です。ドメイン認証はDV(Domain Validation)とも呼ばれます。 ドメインの所有権をメールやWebサイトへの認証ファイルを設置などを使って、オンライン上で行います。そのため証明書を速やかに発行することができ、他の認証型SSLと比較しても安価です。
3.企業認証型
企業認証はOrganization Validationと呼ばれ、企業サイトなどで一般的に使われている認証方式です。企業認証の証明書の取得には書類による審査と電話確認が必要になるため、ドメイン認証と比べて信頼性が高いことを証明することができます。 企業認証では同一ドメイン内における複数のサブドメインサイトにおいてワイルドカードを使用することができます。これにより複数のサブドメインサイトを1つのSSL証明書で暗号化通信に対応させることが可能です。
4.EV SSL
EV SSLはもっとも厳格な認証方式です。企業認証の審査に加えて、第三者機関のデータベースなども活用し、申請された組織が物理的・法的に実在することを確認します。証明書の発行までに時間がかかり、発行手数料も年間10万円以上必要となることもあります。 EV SSLを導入しているサイトでは、ブラウザのアドレスバーにURLとは別に組織名が表示されます。これにより一目で信頼性の高いサイトであることがわかります。
SSLとは、インターネット上でのデータの通信を暗号化し、盗聴や改ざんを防ぐ仕組み(プロトコル)のことです。SSL化されたウェブサイトは、URLの頭が「HTTPS」となり、通信の暗号化が保証されます。
SSL暗号化と電子証明書を組み合わせた「SSLサーバ証明書」は、通信の暗号化とウェブサイトの運営者・組織が実在することが保証されます。
一部のフォームページだけ暗号化するのではなく、全てのページを暗号化することで、インターネット環境における以下の3つのセキュリティリスクに対抗し、ユーザにとって安全なウェブサイトを構築します。
ウェブサイトのなりすまし
有名なウェブサービスやネットバンクなどのサイトを本物そっくりに作ったページにアクセスを誘導し、IDやパスワード、個人情報や決済情報などを不正に入手しようとする、いわゆる「フィッシング詐欺」と呼ばれている不正行為です。
暗号化されていないWi-Fi
暗号化されていない公共のWi-Fiネットワークや、Wi-Fiルーターを悪用してアクセスポイントを偽装し、それを知らないまま利用するユーザから、ログイン情報などの情報を受信しようとする中間者攻撃(MITM:Man In the Middle Attack)という脅威も存在します。
Cookieの盗聴
同じWi-Fiスポットに接続している他人のCookieに入りこみ、そのユーザに成りすまして有名SNSなどで投稿や情報の変更などを行うFirefoxのアドオンの存在があります。 全てのページをSSL暗号化する常時SSLを導入すると、悪意ある第三者による盗聴の心配をする必要がなく、ユーザは安心してウェブサイトから個人情報やクレジットカード番号などの決済情報を提供することができます。
常時SSL化は、これらのセキュリティリスクに対抗できます。ただし、特定箇所のみにSSLサーバ証明書を導入しても同じウェブサイト内に非SSL(HTTP)ページが残っていると安全ではないサイトと認識されてしまいます。
このことから、ログインページやフォームなどの特定のページだけをHTTPSにするのではなく、すべてのページを暗号化して常時SSL化をすることが求められています。
せっかくSSLを導入してしも、一部のページのみ導入であれば、検索エンジンにおいては安全でないウェブサイトと認識されます。これによりユーザの利用が遠のき、結果として検索順位へ影響します。
検索順位の決定要因に
検索エンジンの最大手であるGoogleは、2014年8月に、ウェブサイトがHTTPS(常時SSL)かどうかを検索順位の決定要因にすることを発表し、すべてのウェブサイトに対してHTTPからHTTPSへの切り替えを推奨しております。 また2015年12月には、常時SSL化されたウェブサイトでHTTPページとHTTPSページが同じコンテンツであれば、HTTPSページを優先的にインデックスするというアナウンスを行いました。
– google ウェブマスター向け公式ブログ
https://webmaster-ja.googleblog.com/2014/08/https-as-ranking-signal.html
「HTTPサイトは安全でない」と主要ブラウザが警告強化
▶Google Chrome
Googleで提供しているウェブブラウザ「Google Chrome」にて、2017年1月リリースのバージョン56より、パスワードやクレジットカード情報を送信するHTTP接続(非SSL)ページに対し、アドレスバーの左に「保護されていない通信」と警告を表示する仕組みを導入しました。
2018年7月24日リリースのバージョン68より、すべてのHTTP接続ページに対し表示を開始、さらに2018年10月16日リリースのバージョン70より、HTTP接続ページにあるフォームに入力しようとすると、「保護されていない通信」が赤く表示されるようになり、警告の度合いが強化されています。
▶Mozilla Firefox
Mozillaで提供しているウェブブラウザ「Firefox」のバージョン52より、HTTP(非SSL)接続ページのログインフォームをクリックしてIDやパスワードを入力しようとすると、赤い斜線が入った鍵のマークと警告メッセージが表示されるようになりました。
▶Safari
Appleで提供しているMac OS/iOS用のウェブブラウザ「Safari」v12.1より、HTTP(非SSL)接続ページを読み込んだ際に「安全ではありません」という警告メッセージが表示されるようになりました。
主要検索エンジンやブラウザベンダーによるこれらの取り組みにより、今後常時SSL化したサイトは検索エンジンから「ユーザが安心して利用ができる優良なコンテンツである」と評価され、検索順位にも良い影響がもたらされる可能性があります。
自社ウェブサイトの検索順位や訪問者数、サイト内でのユーザの遷移などの分析は、自社ビジネスにとっては重要な指標となっています。
Google検索結果からの遷移は、HTTPSであればリファラ情報が送信される
Google検索自体が常時SSL化されたことにより、ユーザがGoogleで検索した検索結果をクリックしてウェブサイトに遷移する際は、ウェブサイトがHTTPSであれば「Google検索から来たユーザ」としてアクセスログに残り、自社ウェブサイトの分析データとして蓄積されていきます。
逆に、HTTP(非SSL)サイトではリファラ情報が送信されなくなり、どこから遷移してウェブサイトを訪問してきたのかが不鮮明になってしまいます。
ウェブサイト内の遷移は、HTTPSに集約して行動分析
常時SSL化した検索エンジンからの流入を想定して、例えばトップページだけHTTPS化しても、遷移する他のコンテンツがHTTP(非SSL)ページとHTTPS(SSL)ページのままではCookieが保存されず、別々のユーザとして記録され、サイト内での行動が不鮮明になってしまいます。
ユーザが自社ウェブサイトでどのような行動を取ったかを正しく分析するためには、同じサイト内にHTTPページとHTTPSページを混在させず、すべてHTTPSに集約させることが必要です。
全てのウェブコンテンツがSSL化しているのであれば、自社ウェブサイトの分析もシンプルになり、自社ビジネス発展のためデータの有効活用が可能になります。
モバイルデバイスの普及により、ウェブサイト表示の高速化にはHTTP/2は欠かすことのできないプロトコルです。 ウェブページの表示が速くなるといったユーザにとってのメリットもさることながら、大規模なウェブサービスを提供している企業にとっては、リソースの有効活用を図ることができるといったメリットがあります。
HTTP/2とは
HTTP/2は、HTTPを高速化するとともにセキュリティの強化を行い、またモバイル機器でのウェブ表示を高速化するという目的で開発されたプロトコルです。 HTTP/2には、クライアントからサーバに送信するヘッダ情報を圧縮することができるため、送信されるデータ量が2割から3割も削減できるという特徴があります。特に、スマートフォンなどのモバイルデバイスを使用してウェブサービスへとアクセスする場合、このデータ圧縮によるメリットは大きなものがあります。
HTTP/2の利用には、SSLが必須
Google ChromeやMozilla Firefoxといったブラウザでは、SSLで暗号化されていないウェブサイトにおいてはHTTP/2は利用できないことを決定しています。
さらに、Internet Explorerの後継ブラウザ「Microsoft Edge」では、既にSSL暗号化が必須となっております。 また、iOS9に実装された「ATS(App Transport Security)」を有効にしている場合、HTTPでの通信はできなくなり、そのウェブサイトは接続失敗の状態が繰り返され、ユーザからのアクセスが激減することも危惧されます。
「HTTPS導入で通信速度の低下」は昔の話
以前は「HTTPSを導入すると高負荷がかかり、通信速度が低下する」ということがありましたが、それはもはや昔の話。今ではHTTPSを導入しても、現代のネットワークインフラやサーバ、PCのスペックではほとんど実感できないほどの差でしかありません。
やむを得ず古いブラウザに対応する必要が無い限り、ウェブサイトのすべてをSSL化してHTTP/2のメリットを享受するほうが、将来的にも有益です。
ウェブサイトを常時SSL化するためにはサーバーの設定の他にもウェブサイトの構造についても調整が必要になります。
SSL化はウェブサイトを運営しているドメインに適用されます。もしこれまで非SSLのウェブサイトを運営していて、途中からSSL化したのであれば、ウェブサイトのHTMLを調整する必要があるかもしれません。 具体的には、
imgタグの内部リンクを調整する
scriptタグの内部リンクを調整する
など、「http」で始まっている箇所を「https」に修正する作業が必要となります。なお相対パスで指定している時はこの作業は必要ありません。 注意点として、アクセスしているサーバーがSSLに対応していても、JavaScriptや画像ファイルなどが設置している外部のサーバーが非SSLの状態だと警告が表示されてしまうことです。この場合、外部のサーバーもSSLに対応させるか、外部にあるJavaScriptや画像などのリソースをダウンロードして、自身が運営しているSSLに対応したサーバーへアップロードして再利用するなどの対策が必要です。
またHTTPでアクセスされた際にHTTPSのURLへリダイレクトさせる処理も必要です。これは「.htaccess」というファイルに以下のように記述して対策します。 【.htaccess】 RewriteEngine on RewriteCond %{ HTTPS} off RewriteRule ^(.*)$ https://%{ HTTP_HOST}%{REQUEST_URI} [R=301,L] このような記述を.htaccessに追加することで、「http://~~」へのアクセスを「https://~~」へ自動的にリダイレクトされるようになります。
常時SSL化の作業を行うとURLが変更されてしまいます。そのためウェブサイトで表示されているfacebookのいいね数やTwitterのカウント数がリセットされます。これに対する直接的な対策はありませんが、ウェブサイトをなるべく早くSSLに対応させることが一番の対策になると考えられます。
「保護されていません/保護されていない通信」とは
Chromeに「保護されていない通信」と表示された時の対処方法
2017年1月から非httpsページにて、パスワードやクレジットカード情報などの入力時に警告が表示されるようになり、10月にはフォームやテキストボックスに文字を入力しただけで警告が表示されるようになりました。これらの施策がさらに1段階強化され、2018年7月よりhttps化されていない全てのサイトに対して警告が表示されています。
さらに、2019年10月GoogleのSecurity Blogで、HTTPとHTTPSの混在コンテンツはブロックするというのような投稿がありました。
https://security.googleblog.com/2019/10/no-more-mixed-messages-about-https_3.html
常時SSLというのは大前提条件にあり、その上で混在コンテンツをどうしていくかというフェーズに突入しました。
混合コンテンツとは
混在コンテンツ(=ミックスドコンテンツ)とは、読んで字のごとく「HTTPS」の中に「HTTP」での接続が混在してる状態のことを言います。
更に詳しく説明すると、
“HTML が安全な HTTPS 接続で読み込まれた後、その他のリソース(画像、動画、スタイルシート、スクリプトなど)が安全な接続ではないHTTP 接続で読み込まれると、混合コンテンツが発生します。
これが混合コンテンツと呼ばれるのは、同じページを表示するために HTTP と HTTPS 両方のコンテンツが読み込まれているためで、最初のリクエストは HTTPS で保護されています。
最新のブラウザでは、この種のコンテンツに関する警告が表示され、このページに安全でないリソースが含まれていることがユーザーに示されます。”
サイトを常時SSL化(サイトのすべてのページをHTTPS化)にしたのにURLに鍵マークが出ずに、下記のように「保護されていない通信」という表示が出てしまうという経験したことがある人もいるのではないでしょうか。
これは、リソースの中にHTTPの物(画像、動画など)が混じっていて、完全にHTTPSでの通信ができていない場合に出てきます。こういった現象が起きた場合のことを混在コンテンツと言います。
今後、Googleは、HTTPとHTTPSの混在コンテンツがあるページでの混在コンテンツをブロックするようにするようです。
Googleは、HTTPSへの推奨を進めた結果、Google Chromeを使用しているユーザーのほとんど(すべてのメジャーなプラットフォームにおいて閲覧時間の90%)がHTTPSになったようです。
そして、ここから更に混在コンテンツ対策を厳しくし完全なHTTPSサイトを作っていこうとしています。
2020年1月のChrome80、2020年2月でリリース予定のChrome81からは、デフォルトでブロックされるようになり明確なセキュリティUXを実現するようになるということで、この2020年に向けて混在コンテンツ問題は大きく動きそうですね。
昨年までは、常時SSLをした方がよい!というところが話題になりましたが、そのフェーズは終わり、常時SSL化をした上で、混合コンテンツがないかをチェックしなければなりません。
WEBサイト運用者にとっては、日々のアップデートは大変ですが、全てはユーザビリティの向上と考えて、アップデートしていきましょう。
Googleは日々、ユーザビリティの向上を目的としていますので、「コーポレート」「サービス」「ポータル」など、どのサイトを運営していても、上記のようなことを考えていかなければなりませんね。
弊社の資料をダウンロードしたい方は
下記よりダウンロードしてください。
ご相談・サービスに関する詳細情報やご不明点など
下記よりお気軽にお問い合わせください。