ネットでショッピングしようとしたとき、URLのところに「保護されていない通信」って警告が出てびっくりしたことない?あるいは、友だちから「そのサイト、鍵マークついてる?」って聞かれて、意味はわからないけどとりあえず確認した、なんて経験もあるかも。その「鍵マーク」の正体こそが、今日のテーマ「SSL」だよ。この記事を読めば、SSLが何なのか・なぜ必要なのか・どうやって自分を守ってくれているのかが、まるごとわかるようになるよ。
- SSLは、インターネット上のやりとりを 暗号化 して、盗み見から守る技術だよ
- URLが「https://」で始まって鍵マークがついてるサイトは SSL対応済み の安全な通信ができるサイトだよ
- ショッピングやログインなど個人情報を入力するときは、必ず SSL証明書 が有効かどうか確認しよう
もうちょっと詳しく
SSLは正式には「Secure Sockets Layer(セキュア・ソケット・レイヤー)」という名前で、つまり「インターネットの接続部分を安全にする層(レイヤー)」のことだよ。実は今使われているのは、SSLをさらに改良した「TLS(Transport Layer Security)」という技術なんだけど、名前が定着してしまっているから今でも「SSL」と呼ばれることがほとんど。二つ合わせて「SSL/TLS」と書かれることも多い。SSLが守ってくれるのは「通信の中身」だけじゃなくて、「本当にそのサイトが本物かどうか」という確認機能も含まれているのがポイントだよ。にせのショッピングサイトを見分けるためにも役立つんだ。
今の「SSL」はほぼ「TLS」のこと。名前が違っても同じ役割だよ!
⚠️ よくある勘違い
→ 鍵マーク=通信が暗号化されているというサインであって、サイト自体が信頼できるかとは別の話なんだ。フィッシング詐欺サイトでもSSLを取得してhttpsにすることはできてしまうよ。
→ 鍵マークはあくまで「通信経路が暗号化されている」という意味だよ。サイト自体が本物かどうかはURLのドメイン名をよく確認したり、公式サイトから直接アクセスする習慣をつけることが大切だよ。
[toc]
SSLってそもそも何をしてくれるの?
インターネットは「はがき」で送っているようなもの
まずSSLの必要性を理解するために、インターネット通信のしくみをざっくり想像してみよう。あなたがWebサイトにパスワードを入力して送ると、そのデータはいくつものコンピュータ(サーバー)を中継しながら届けられる。このとき、もし暗号化していなければ、中継地点のどこかで悪意ある人が「のぞき見」できてしまう可能性があるんだ。
これはちょうど、手紙を封筒に入れず「はがき」でそのまま送るようなイメージ。配達員さんも、途中で関わる人も全員が内容を読めてしまう状態だよ。パスワードやクレジットカード番号が「はがき」で送られていたとしたら……怖いよね。
SSLは「鍵のかかった封筒」を作る技術
SSLはその問題を解決するために、データを「暗号」に変換してから送る仕組みを作ってくれる。暗号化、つまり「特定の鍵を持った人しか読めない形に変える」ことで、中継地点のコンピュータが内容を盗み見しても、ただの意味不明な文字列にしか見えない状態にするんだ。受け取ったサーバーだけが正しい鍵を持っていて、ちゃんと元の内容に戻せる。これがSSLの基本的な役割だよ。
暗号化のしくみ:公開鍵と秘密鍵って何?
2種類の鍵を使う「非対称暗号」
SSLの暗号化には、「公開鍵暗号方式」というしくみが使われている。これは「施錠する鍵」と「開錠する鍵」が別々になっている特別な仕組みだよ。現実の鍵は同じ鍵で開けたり閉めたりするけど、公開鍵暗号は「閉める専用の鍵」と「開ける専用の鍵」が存在するイメージ。
- 公開鍵(こうかいかぎ):誰でも入手できる「施錠専用の鍵」。これでデータを暗号化する。
- 秘密鍵(ひみつかぎ):サイト運営者だけが持つ「開錠専用の鍵」。これがないと暗号を解読できない。
たとえるなら、街中に「投書口だけ開いている鍵のかかった箱」を置いておくイメージ。誰でも手紙を入れられるけど、箱の鍵を持っている人(サイト運営者)だけが中を取り出せる。だから途中で誰かが箱を盗んでも、鍵がなければ中身は読めないんだよ。
毎回使い捨ての「共通鍵」も組み合わせる
実際のSSL通信はもう少し工夫されていて、最初に公開鍵暗号方式でお互いの確認をしたあと、「共通鍵」と呼ばれる一時的な鍵を生成して、そっちで本番の通信を暗号化するんだ。これは速度の問題で、公開鍵暗号は計算量が多くて遅いから、本番データの暗号化には速くて効率的な共通鍵を使うほうが合理的なんだよ。ハンドシェイク(握手)と呼ばれる最初のやりとりで鍵を安全に共有してから、通信を始めるしくみになっている。
SSL証明書って何?誰が発行するの?
「このサイトは本物ですよ」を証明するもの
暗号化だけでは、まだ一つ問題がある。それは「本当にそのサイトが本物かどうか」がわからないこと。たとえば、悪意ある人が銀行のサイトそっくりの偽サイトを作って、そこにSSLを入れたとしたら、通信は暗号化されていても情報は偽サイトに送られてしまう。
そこで登場するのが「SSL証明書」。これは「認証局(CA:Certificate Authority)」と呼ばれる、信頼できる第三者機関が発行する「身分証明書」みたいなものだよ。認証局は、サイト運営者の身元確認をしてからSSL証明書を発行するので、その証明書があるということは「このサイトは確認済みの本物ですよ」という証拠になるんだ。
証明書の種類によって信頼度が違う
SSL証明書にはいくつかの種類がある。確認の厳しさ(つまり信頼度)によって分けられていて、主に以下の3段階だよ。
- DV(ドメイン認証):そのドメインを所有していることだけを確認する一番シンプルな証明書。無料でも取れる。ブログやポートフォリオサイトに多い。
- OV(組織認証):会社や組織の実在も確認した証明書。企業サイトに多い。
- EV(拡張認証):最も厳格に審査した証明書。銀行や大手ECサイトが使う。昔はアドレスバーが緑色になっていたよ。
鍵マークがついていても証明書の種類は違うから、大事な個人情報を扱うサイトでは、どの種類の証明書が使われているか確認する習慣をつけると、より安心だよ。
HTTPとHTTPSの違い、実際に何が変わるの?
「http://」は通信が丸見えの状態
URLの最初についている「http」は「HyperText Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル)」の略で、つまり「Webページのデータをやりとりするための決まりごと」のことだよ。もともとのhttpは暗号化の機能がないから、データがそのままの状態でインターネット上を流れてしまう。
たとえば、カフェの無料Wi-Fiを使いながら「http://」のサイトにパスワードを入力したとしよう。同じWi-Fiに繋がっている悪意ある人が専用ツールを使えば、そのパスワードが丸見えになってしまう可能性がある。これを「盗聴(とうちょう)」というんだ。
「https://」はSSLで守られた通信
それに対して「https://」は、httpにSSL/TLSの暗号化を組み合わせたもの。末尾の「s」はSecure(安全な)の頭文字だよ。同じカフェのWi-Fiで、悪意ある人がデータを盗もうとしても、SSLで暗号化されていれば意味不明な文字列にしか見えないから、情報が漏れる心配がほとんどなくなる。
Googleは2014年ごろからhttpsのサイトを検索結果で優遇するようになったし、ChromeなどのブラウザはSSL未対応のサイトを「保護されていない通信」と表示するようになった。だから今では、個人情報のやりとりがないサイトでも、httpsにするのが当たり前になってきているよ。
SSLは自分の生活にどう関係してる?
ショッピング・ログイン・フォーム送信すべてに関係する
SSLが特に重要になるのは、個人情報を入力する場面だよ。具体的にはこんな場面を想像してみて。
- ネットショッピングでクレジットカード番号を入力するとき
- SNSやメールサービスにIDとパスワードでログインするとき
- お問い合わせフォームに名前・電話番号・住所を送るとき
- ネットバンクで振り込み操作をするとき
これらすべての場面で、SSLが通信を暗号化してくれているから安心してやりとりできる。逆に「http://」しかないサイトのフォームに個人情報を入力するのは、パスワードを書いた紙を封筒なしで郵便ポストに入れるような行為に近いんだ。
自分でできるSSL確認の方法
実際にサイトのSSL状態を確認するのはとても簡単だよ。
- URLを見る:「https://」で始まっているかチェック。
- 鍵マークを見る:アドレスバーの左側に鍵アイコンがあればSSL有効。
- 証明書の詳細を見る:鍵マークをクリックすると証明書の詳細が確認できる。発行元の認証局や有効期限もわかるよ。
- 「保護されていない通信」の警告が出たら離脱する:ブラウザが警告を出しているときは、特に個人情報の入力は絶対に避けよう。
大事なのは、鍵マークがあることを確認するだけじゃなくて、そのサイト自体が本物かどうかURLのドメイン名(例:「amazon.co.jp」が「arnazon.co.jp」になっていないかなど)もあわせて確認する習慣をつけること。SSLはあくまでも「通信経路を守る技術」であって、フィッシング詐欺サイト自体を見分ける万能ツールではないからね。日常的にこの確認をするだけで、ネット上のトラブルはグッと減らせるよ。
