「http://」から「https://」になる(HTTPS通信になる)と通信が暗号化されます。これにより「確実に防げるようになる被害」はどれ?
解説
正解は「フリーWi-Fiでの通信の盗み見」です。HTTPS(HyperText Transfer Protocol Secure)は、あなたのスマホやPCからWebサーバーまでの「通信の通り道」を暗号化する技術です。そのため、カフェのフリーWi-Fiなどで悪意のある第三者が通信内容を覗き見しようとしても、パスワードやクレジットカード番号は暗号化された無意味な文字列にしか見えず、情報漏洩を防ぐことができます。一方で、通信先が「偽サイト」であったり、サーバー自体がハッキングされて「サイトから個人情報が漏洩」したりする被害は、通信経路の暗号化では防ぐことができません。「HTTPS=絶対に安全なサイト」というよくある誤解ブラウザのURLバーに「鍵マーク」がついていると、「このサイトは安全なんだな」と安心してしまう初学者は非常に多いです。しかし、HTTPSが保証しているのは「あなたとサーバーの間の通信が暗号化されている」ということだけです。通信相手のサーバーが善人か悪人かは関係ありません。近年では、フィッシング詐欺に使われる偽サイト(例:本物そっくりに作られた偽の銀行ログインページなど)の多くも、無料の証明書を使ってHTTPS化されています。つまり、偽サイトでHTTPS通信がされている場合、「あなたの入力したパスワードは、安全に(誰にも覗き見されることなく)詐欺師のサーバーへ届けられる」という状態になります。HTTPとHTTPSの違いを現実世界に例えると?この2つの違いは、郵便物に例えると非常にわかりやすくなります。HTTP通信(暗号化なし): 「はがき」のようなものです。郵便配達員や、経由する郵便局の仕分け担当者など、配達途中で誰でも裏面の内容(パスワードやメッセージ)を読むことができてしまいます。HTTPS通信(暗号化あり): 「頑丈な南京錠がかかった金属製の箱」のようなものです。配達する人は「どこからどこへ送られるか(宛先)」は分かりますが、中身を読むことは絶対にできません。鍵を開けられるのは、届け先であるWebサーバーだけです。HTTPSでも隠せない「ドメイン」の情報HTTPSを使えばすべてが隠せるわけではありません。先ほどの「箱の宛先」にあたる「どのドメイン(例:google.com など)にアクセスしているか」という情報は、暗号化されずに見えたままになっています。第三者にバレないのは、その先の「どのページを見ているか(例:/search?q=secret など)」や「何を送信したか」という具体的な中身だけです。「HTTPSだからウイルスに感染しない」「HTTPSだから詐欺じゃない」というのは危険な思い込みです。Webエンジニアとして、暗号化が守れる境界線を正しく理解しておきましょう。