SSL/TLS・SSL証明書・認証局とは
SSL/TLSとは
インターネット上でデータをやり取りする際、通信の盗聴・改竄や通信先をなりすましされる危険性があります。 どうでも良い会話程度なら良いですが、個人情報やクレジットカード番号などが含まれた場合は問題に発展する可能性も考えられます。
SSL(Secure Sockets Layer)およびTLS(Transport Layer Security)はこれらを防止してデータを送受信するためのプロトコル(手順)のことです。 元々はSSLが考案されそれを基に標準化したのがTLSで、まとめてSSL/TLSと呼びます。 なおSSLの方が通りが良いため単に「SSL」とまとめられて呼ばれることも多いです。ここでも以降はSSLとだけ書きます。
通常のサイトはURLが「http://~」から始まりますが、SSLで保護されたサイトはURLが「https://~」から始まります。 大事なデータをサイトに入力する時は、必ずURLが「https://~」で始まるSSLで保護されているページであることを確認しましょう。
このSSLでの保護はフォームなどユーザーがデータを入力するページで役に立ちますが、いちいちページ毎に分けるのも面倒だから全ページサイト丸ごとSSL保護してしまおうという潮流があります。 サイトを丸ごとSSLで保護するのを「常時SSL」と言い、Googleなどはサイトの常時SSL化を推奨しています。
SSL/TLSの仕組み
SSL/TLSは認証局が発行するSSL証明書によりサイトの正当性を証明しています。 認証局は所定の手続きによってサイト運営者であることを証明した個人・企業・団体などへSSL証明書を発行します。 この証明書はデータの暗号化・複合化およびサーバー認証も行います。
暗号化によって通信を秘匿し盗聴や改竄を防ぎ、さらに通信先のサーバが本物であるかを証明書によって証明してなりすましを防ぐのです。
常時SSL化の目的とメリット
盗聴、パケット改ざん・なりすましの防止
前述したようにサーバ・クライアント間の通信の盗聴・改竄・なりすましを防止できます。 逆に言えば防止できるのはそれだけであり、SSL化すれば絶対に安全という訳ではありません。
例えばサーバをハッキングされて乗っ取られた場合、サーバ側で盗聴・改竄・なりすましを行えます。 こうなるといくらSSLが通信経路を守っていても何の意味もありません。
しかしながらサーバの乗っ取りよりも通信経路の盗聴の方が難易度が低いので、危険性を排除するためにSSL化しておくに越したことはありません。
サイトの信頼性の証明
重要なデータを入力するサイトならSSL化の必要がありますが、普通に閲覧するだけのサイトやブログに導入する必要性はそれほどありません。 このサイトのようにただ閲覧するだけのサイトを常時SSL化しても現実的な恩恵はほとんどない訳です。
しかしウェブ知識の低いユーザーの中には「urlがhttpsでない=安全ではないサイト」と考える人もいます。 ユーザーが知識を深めてくれるなら良いですが、全ての人への啓蒙は中々難易度が高いことです。 ユーザーに安心してサイトを閲覧してもらうという観点でも常時SSL化には意義があると思います。
もちろん知識が豊富な人に対しても常時SSL化は信頼性の証となります。
通信速度が向上する
従来https通信は暗号化によりレスポンスの速度が若干遅くなってしまうデメリットを孕んでいました。 しかしHTTP/2プロトコルの登場により状況は大きく変わりました。
HTTP/2にはSSL/TLSが必要であり、httpsのみがHTTP/2プロトコルを利用できます。 つまり通信速度の面でもhttpsは強いのです。
以下のサイトでhttp/https通信速度のベンチマークができるので見比べてみてください。 https通信の方が大幅に早く表示できることでしょう。
3種のSSL証明書と認証レベル
一口にSSL保護と言っても、サイトの性質によってどの程度の対応が必要かは変わります。 例えば金融・証券サイトなどは情報を盗み取られたら大ごとになるので高いセキュリティと信頼性が求められますが、ただ眺めるだけの個人サイトなら厳重な管理は必要はありませんよね。
SSL証明書は認証レベルが1~3までの3種に分かれています。 認証レベルが高いほど信頼性が高く、ユーザーが安心してサイトを利用できる仕組みになっています。 また同レベルの証明書であっても機能および信頼性は発行団体やプランによって様々であり、費用も無料のものから年数十万円かかるものまでピンキリです。 なお通信の暗号強度などはレベルによって変わったりはしません。
サイトの性質に応じて最適な認証レベル・プランを選択したいですね。 SSL証明書の認証レベルはおおよそ以下の通りで、細かい内容は認証局やプランによって変わります。
独自ドメイン認証(DV)(認証レベル1)
ドメインを元に発行される認証書で、SSL証明書に組織情報が記載されません。 なので取得の際にサイトを運営している企業・組織の存在を証明する必要がなく、個人でも容易に取得が可能です。
価格帯も3種の中で最も安く、中には無料で発行してくれるものもあります。 ユーザー情報を管理しないサイトであればこれで十分でしょう。
企業認証(OV)(認証レベル2)
法人化した企業やサイトで使用するものです。 これを取得するにはサイトを運営する組織が実在することを認証局に証明しなければなりません。
その分信頼性は誰でも取得が可能なDVとはけた違いです。 金融情報のやり取りやクレジットカード決済が必要ならこれを取得したいですね。
最高レベル認証(EV)(認証レベル3)
最高レベルの信頼性を持っています。 取得にはサイトを運営する企業・団体に一定の信頼が必要になり費用も高額です。
しかしその分安全性は高いです。 EV SSL証明書に対応しているサイトに接続するとアドレスバーが緑色になり、ユーザーが直感的に本物のサイトと偽物のサイトを区別することができます。 なりすまし対策にも効果的なので、金融機関など高いリテラシーが求められるサイトには導入を検討したいですね。