そのSSL化大丈夫ですか?

「ソフトウェアが動かないんです。心当たりと言えば最近サイトをSSL化したことくらいです。」
ソフトウェアのユーザー様からこのようなサポート依頼があり、サーバーを拝見してこれはまずいと思いました。

実は私もSSL化した時、このユーザー様と同じように大切な部分を忘れそうになりました。
なので、他にも同じような方がいらっしゃるのではないかと心配しています。

SSLはどのような役割があるのか、どんなところで効力を発揮するのか簡単に書きます。
(ちなみに、ソフトウェアが動かない原因は、バージョンアップなさっていなかった事を始めとして、SSLとは全く違うところに複数ありました。)

SSLとは

SSLと書いたりSSL/TLSと併記されたりしているのをご覧になったことがあると思います。

SSLはSecure Sockets Layerです。
TLSはTransport Layer Securityです。
SSLの後継規格としてTLSが出てきました。
ですがSSLがあまりにも通っていますので、このページでもSSLと表記します。

SSLサーバー証明の種類

SSLサーバー証明書は3種類あります。 証明書発行のための申請のレベルに差があります。暗号強度には差がありません。
審査が厳格な順に、
  • 実在証明拡張型(EV)
  • 実在証明型(OV)
  • ドメイン認証(DV)
です。

実在証明拡張型(EV)

EV証明書は、最も厳格な審査が行われます。
発行された証明書で、ドメイン名、組織の実在が証明されます。

実在証明型(OV)

ドメイン名に加え、組織名も証明されます。

ドメイン認証(DV)

ドメイン名が正しいかどうかだけ証明されます。


個人で取得できるのは、ドメイン認証(DV)のみです。
多くの個人が利用している低価格SSLや無料SSLもドメイン認証(DV)になります。

無料SSLでは【Let's Encrypt】が有名だと思います。 他にも【StartCom】、低価格では【RapidSSL】などがあります。 お使いのレンタルサーバーがサポートしているSSLを導入なさってください。

SSLの役割

SSLには3つの役割があります。
乱暴なくらい簡略に書いてみます。

盗聴の防止

インターネットは様々なサーバーを経由してデータ通信が行われます。 そして通信の内容を簡単に見ることができます。
途中に悪意ある人がいると、通信の中身を盗聴され悪用されてしまいます。 盗み見られることは避けようがありませんので、見られても通信内容がわからないように暗号化します。

データ改ざんの防止

送信側はデータと一緒に改竄を検知するためのメッセージダイジェストと呼ばれる計算値を送ります。
受信側もメッセージダイジェストを計算します。
計算したメッセージダイジェストと送られてきたメッセージダイジェストが一致しなければ改竄されているとわかります。

なりすましの防止

AさんがドメインBと通信しようとしているとします。
http通信(非SSL通信)の場合、全く別のドメインCであるのに、ドメインBのように見せかけて通信することも可能なのです。
ですがhttps通信(SSL通信)ならば、Aさんが通信しているのはドメインBとSSLサーバー証明を使って証明することができます。

どんなところで利用されるのか

なんと言ってもまずは決済

まず思い浮かぶのがインターネットでのクレジットカード決済、銀行振込など、お金を扱う処理です。
ブラウザに鍵アイコンが表示されたり、URLがhttpsになっていて暗号化されているか、ちゃんと確認してから決済しましょうとよく聞きくと思います。

データを入力する環境

ID、パスワード、名前など、入力した値が暗号化され送信されます。

個人情報

お客様の個人情報を扱う場合もSSLで暗号化してください。
例えばブラウザにお客様の住所などの個人情報を表示して確認するというような場合、サイトをSSL化していないとお客様の個人情報が平文で通信回路に流れてしまいます。 つまり悪意ある第三者が回路上にいる場合、お客様の個人情報が盗み見られて悪用されるる可能性があります。

フリーWi-Fi

管理者のわからないフリーWi-Fiは危険だと聞いたことがあると思います。
これは悪意ある管理者の場合、通信の内容を見て悪用する可能性があるからです。 フリーWi-Fiを使う場合でも、サイトがSSL化されていれば、通信内容を第三者が解読できないため安全です。

SSLはSEOではありません

Googleが『SSL化していないようなユーザーの事を考えていないサイトは表示順位を下げる』という方針を打ち出したため、SSL=SEOと勘違いしていおられる方がおられるようです。
確かにこの部分だけを切り取って見るとSSL=SEOのように見えますが、そのように捉えてしまうと、大切な本質を見落としてしまいます。

SSLはSEOではありません。
盗聴、データ改ざん、なりすましを防止し、安全に通信する技術です。

冒頭のユーザー様は、表ページ(訪問者が見るページ)と裏ページ(ソフトウェアの管理画面など、お客様の個人情報も扱う)でドメインを分け、表ページのドメインだけSSL化しておられたのです。 お客様の情報を扱っている裏ページのドメインは非SSLでした。
おそらくSSL=SEOと勘違いなさっておられるのでしょう。

間違えないでください、お客様の情報を扱う場面こそSSLです!

ですがこの記事を読んだのでもう大丈夫ですよね。大切な情報を扱う場面では忘れず暗号化してください。