はじめに
普段インターネットを使っているとき、URLの最初に「http://」や「https://」という文字が付いているのを見たことはありませんか?この「s」が付いているかどうかで、実は大きな違いがあるんです。今回は、HTTPとHTTPSの違いを、解説していきます。
目次:HTTPとHTTPSを理解する
- HTTPとHTTPSとは?
- 暗号化とは何か
- HTTPSの仕組み:TLS証明書
- HTTPSの見分け方
- まとめ
それでは、一つずつ詳しく見ていきましょう。
1. HTTPとHTTPSとは?
HTTPとは?
HTTP(Hypertext Transfer Protocol)は、ブラウザとWebサーバーがデータをやり取りするときの「お約束事・ルール」のことです。私たちがWebページを見るとき、ブラウザは「このページのデータをください」とサーバーにリクエストを送り、サーバーは「はい、どうぞ」とレスポンスを返します。このやり取りをスムーズに行うためのルールがHTTPです。
HTTPSとは?
HTTPS(Hypertext Transfer Protocol Secure)は、HTTPに「S」=「Secure(安全)」が付いたものです。
HTTPとHTTPSの違いは、通信内容が暗号化されているかどうかです。HTTPSは、あなたとサーバーの間でやり取りされるデータを暗号化して、第三者に見られないようにする仕組みです。
| 比較項目 | HTTP | HTTPS |
|---|---|---|
| データの通信 | 平文(そのまま) | 暗号化 |
| セキュリティ | 低い(盗聴の危険) | 高い(強力な保護) |
| ポート番号 | 80 | 443 |
| ブラウザ表示 | 警告(保護されない) | 🔒 鍵マークが表示 |
2. 暗号化とは何か
暗号化の例:手紙で考える
暗号化を理解するために、手紙を例に考えてみましょう。
暗号化されていない手紙(HTTP)
あなたが友達に「パスワードは1234です」と書いたハガキを送るとします。ハガキは誰でも内容を読めますよね。配達員も、途中で触った人も、内容を見ることができます。これがHTTPの状態です。データは暗号化されずに、そのままの状態でインターネット上を流れています。
暗号化された手紙(HTTPS)
今度は、同じ内容を封筒に入れて封をして送るとします。さらに、その封筒には特殊な鍵がないと開けられないようになっています。これがHTTPSの状態です。データは暗号化されて、特別な鍵を持っている人(この場合、送信者と受信者だけ)しか内容を読めません。
なぜ暗号化が必要なのか?
インターネット上でデータをやり取りするとき、そのデータはたくさんのコンピューターを経由して目的地に届きます。
例えば、あなたが東京から大阪の友達に荷物を送るとき、途中でいくつかの配送センターを経由しますよね。インターネットも同じで、あなたのパソコンからWebサーバーまで、データはいくつものコンピューター(ルーター、サーバーなど)を経由します。
もしデータが暗号化されていなければ、途中のどこかで誰かがデータを盗み見ることができてしまいます。
3. HTTPSの仕組み:TLS証明書
HTTPSはどうやって安全にしているのか?
HTTPSは、TLS(Transport Layer Security)という技術を使って通信を暗号化しています。
TLSとは?
TLS(Transport Layer Security)は、インターネット上で安全に通信するための技術です。以前はSSL(Secure Sockets Layer)という技術が使われていましたが、現在はより新しく安全なTLSが主に使われています。ただし、慣習的に「SSL」という言葉もまだよく使われています。
暗号化の仕組み:2段階の鍵交換
HTTPSの暗号化は、実は2段階で行われます:
第1段階:安全な鍵の交換(公開鍵暗号方式)
- あなた:サーバーに「安全に通信したいです」とお願いする
- サーバー:「わかりました。この南京錠(公開鍵)を使ってください」と渡す
- あなた:これから使う「共通の鍵」を南京錠で施錠して送る
- サーバー:自分だけが持っている鍵(秘密鍵)で南京錠を開けて、共通の鍵を受け取る
この段階で、あなたとサーバーだけが知っている「共通の鍵」が安全に共有されます。
第2段階:実際のデータ通信(共通鍵暗号方式)
ここからは、先ほど共有した「共通の鍵」を使って、すべてのデータを暗号化してやり取りします。この方式は処理が高速なので、大量のデータを効率よく暗号化できます。
なぜ2段階なのか?
- 公開鍵暗号方式:安全だが処理が遅い → 鍵の交換にだけ使う
- 共通鍵暗号方式:高速だが鍵の共有が難しい → 実際のデータ通信に使う
この2つを組み合わせることで、安全性と速度の両立を実現しています。
TLS証明書とは?
サーバーが「私は本物のサーバーです」ということを証明するための身分証明書のようなものです。
なぜ証明書が必要なのか?
例えば、あなたが銀行のWebサイトにアクセスしたつもりが、実は偽物のサイト(フィッシングサイト)だったら大変ですよね。
TLS証明書は、信頼できる第三者機関(認証局)が発行します。これにより、「このサイトは本物の○○銀行のサイトです」ということが保証されます。
これは、パスポートや運転免許証のようなものです。政府が発行するから信頼できるのと同じで、認証局が発行するから信頼できるわけです。
4. HTTPSの見分け方
HTTPSの場合
- URLが「https://」で始まっている
- アドレスバーに鍵マーク(🔒)が表示されている
- 「この接続は保護されています」などのメッセージが表示される(鍵マークをクリックすると確認できる)
HTTPの場合
- URLが「http://」で始まっている
- 鍵マークが表示されない
- 「保護されていない通信」という警告が表示されることがある
まとめ:HTTPとHTTPSの違い
- HTTPは暗号化されていない通信方式。データが盗み見られる危険がある
- HTTPSは暗号化された安全な通信方式。データを守ってくれる
- HTTPSはTLSという技術で暗号化している
-
暗号化は2段階で行われる:
- 最初に公開鍵暗号方式で共通鍵を安全に交換
- その後は共通鍵暗号方式で高速に通信
- HTTPSかどうかは、鍵マークと「https://」で見分けられる
- 個人情報を入力するときは、必ずHTTPSのサイトを使う