Web界隈では常時SSL化が流行ってますが、流行りに乗っかってSSL化する前にいくつか確認しておきたい点をまとめました。
SSL通信とは?
平たく言うと、サイトを閲覧しているユーザとサーバのやりとりの通信を暗号化することで通信内容の盗聴や改竄を防ぐ通信です。非SSLの場合、情報は平文でやりとりしているので攻撃者は内容を盗聴したり改竄できたりしてしまいます。
基本的にはメリット
常時SSL化するのは基本的にはメリットが多いです。暗号化通信による安全性の向上、SEO上でのメリットなどがあり、SSL化したからといって特に大きなデメリットはありません。ただし、SSL接続と非SSL接続(http:とhttps:)で別サイト扱いになることもあるので、SNSの「いいね」や、各種アナリティクスの情報がリセットされることはあります。また既存のサイトをSSL化する際には変更に伴うコストがかかります。
注意:暗号化はハッキング対策ではない
SSLによる暗号化はハッキング対策とは全く別物です。SSL化されていてもハッキングはされますので、その対策は別途必要になります。
SSL化のコスト
SSL化にはコストがかかります。
SSL認証の費用
まずSSL認証そのものにかかる費用です。認証のレベルにもよりますが年間数千円から数万円かかります。(最近は無料のLet‘s encryptという無料で認証を発行してくれるサービスもあります)
認証レベルによって暗号強度はかわりませんが、高い方が実在証明などが必要なので、より「ちゃんとした」認証になります。
サイト改修にかかる費用
サイトの種類や規模にもよりますがSSL化へ対応するためにサイトの改修が必要になります。新規でサイトを作る際にはSSL化前提で作るのでそんなコストの増加はないと思いますが、既存のサイトをSSL化する時は制作時に想定されていないこともあるので、思いのほか手間がかかることもあります。
特にシステムが構築されている場合はシステム側の対応もあるので、大規模になればなるほど、複雑になればなるほどコストはかかってきます。
技術的なところについて書くと、真に常時SSL化するには全ての通信がSSL化しなくてはいけないので、様々なAPIや埋め込みコンテンツ、ライブラリもSSL化される必要があります。その一つ一つについてSSL化の検証をし、対応をしなくてはなりません。
最低限SSL化しておきたいところ
優先的にSSL化したいのは重要な情報を入力するフォームがあるページです。具体的にはお問い合わせ、ログイン、購入ページなどのユーザーが個人情報を入力するページです。ここの情報を盗聴されるとユーザーの不利益に直結しますので、優先的にSSL化しておきたいところです。最新のChromeやFirefoxのブラウザでは、SSL化されていないフォーム部分では「安全な通信ではありません」という旨の警告が出ます。
続いて、そこまで重要でないフォーム、口コミやコメントなどのページのSSL化、最後にフォームなどの入力のない静的なページという順番になります。正直なところ、最優先のフォーム以外についてはコストと相談になるかと思います。一般的なECサイト作成サービスでも購入の場面になるとデフォルトでSSL化ページになりますが、通常の商品ページのSSLはオプションになっているかと思います。
なぜ、常時SSL化なのか
ここからは自分の主観によるものになりますが、なぜ常時SSL化の流れなのでしょうか。一つは検索の王様、Googleの意向があるでしょう。GoogleはSSL通信を推奨しています。SEOにおいても有利にしてくれる*という話です。(*急激に順位が上がるような劇的な効果はないようです。)
あのGoogleが言っているんだから、我々もSSL化しなくちゃ、というような流れはあるでしょう。
もう一つは、プライバシー意識の高まりがあると思います。現代のWebサイトの多くにはユーザーの行動を調査・分析、追跡するツールが埋め込まれています。(当サイトにも。ポリシーについてはこちら)
このツールは、広告やアナリティクスと呼ばれる分析ツールによって提供されるもので、もちろん、アクセスしてきたユーザーの個人情報が分かるわけではありません。ただ、どういった流入経路でやってきたか、ブラウザの情報、国や地域、モバイルなのかPCなのか、といった情報は分かります。個人ではない、属性情報ですがそういったものを筒抜けにするのはマズイというのがあるでしょう。
他にも、Wi-Fiスポットや通信線そのものの安全性などのインフラ環境の影響もあるでしょう。
こういった流れの中で常時SSL化の流れはできたのではないでしょうか。