0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HTTPとHTTPSの違いについて

0
Posted at

はじめに

普段インターネットを使っているとき、URLの最初に「http://」や「https://」という文字が付いているのを見たことはありませんか?この「s」が付いているかどうかで、実は大きな違いがあるんです。今回は、HTTPとHTTPSの違いを、解説していきます。

目次:HTTPとHTTPSを理解する

  1. HTTPとHTTPSとは?
  2. 暗号化とは何か
  3. HTTPSの仕組み:TLS証明書
  4. HTTPSの見分け方
  5. まとめ

それでは、一つずつ詳しく見ていきましょう。

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段階:安全な鍵の交換(公開鍵暗号方式)

  1. あなた:サーバーに「安全に通信したいです」とお願いする
  2. サーバー:「わかりました。この南京錠(公開鍵)を使ってください」と渡す
  3. あなた:これから使う「共通の鍵」を南京錠で施錠して送る
  4. サーバー:自分だけが持っている鍵(秘密鍵)で南京錠を開けて、共通の鍵を受け取る

この段階で、あなたとサーバーだけが知っている「共通の鍵」が安全に共有されます。

第2段階:実際のデータ通信(共通鍵暗号方式)

ここからは、先ほど共有した「共通の鍵」を使って、すべてのデータを暗号化してやり取りします。この方式は処理が高速なので、大量のデータを効率よく暗号化できます。

なぜ2段階なのか?

  • 公開鍵暗号方式:安全だが処理が遅い → 鍵の交換にだけ使う
  • 共通鍵暗号方式:高速だが鍵の共有が難しい → 実際のデータ通信に使う

この2つを組み合わせることで、安全性と速度の両立を実現しています。

TLS証明書とは?

サーバーが「私は本物のサーバーです」ということを証明するための身分証明書のようなものです。

なぜ証明書が必要なのか?

例えば、あなたが銀行のWebサイトにアクセスしたつもりが、実は偽物のサイト(フィッシングサイト)だったら大変ですよね。

TLS証明書は、信頼できる第三者機関(認証局)が発行します。これにより、「このサイトは本物の○○銀行のサイトです」ということが保証されます。

これは、パスポートや運転免許証のようなものです。政府が発行するから信頼できるのと同じで、認証局が発行するから信頼できるわけです。

4. HTTPSの見分け方

HTTPSの場合

  • URLが「https://」で始まっている
  • アドレスバーに鍵マーク(🔒)が表示されている
  • 「この接続は保護されています」などのメッセージが表示される(鍵マークをクリックすると確認できる)

HTTPの場合

  • URLが「http://」で始まっている
  • 鍵マークが表示されない
  • 「保護されていない通信」という警告が表示されることがある

まとめ:HTTPとHTTPSの違い

  1. HTTPは暗号化されていない通信方式。データが盗み見られる危険がある
  2. HTTPSは暗号化された安全な通信方式。データを守ってくれる
  3. HTTPSはTLSという技術で暗号化している
  4. 暗号化は2段階で行われる:
    • 最初に公開鍵暗号方式で共通鍵を安全に交換
    • その後は共通鍵暗号方式で高速に通信
  5. HTTPSかどうかは、鍵マークと「https://」で見分けられる
  6. 個人情報を入力するときは、必ずHTTPSのサイトを使う
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?