HTTPとHTTPSの違いとは? 通信の仕組みと暗号化(SSL/TLS)の重要性を解説

IT用語

Webサイトにアクセスした際、ブラウザのアドレスバーに「保護された通信」や鍵マークが表示されているのを目にしたことがあるはずです。これは、その通信が「HTTPS」によって保護されていることを示しています。

かつては個人情報を扱うページのみが対象でしたが、現在は「常時HTTPS化」が標準となっています。なぜHTTPでは不十分なのか、HTTPSにすることで何が守られるのか。エンジニアとして、また試験対策として必須となる通信プロトコルの知識を深掘りします。

HTTP:Web通信の基本プロトコル

HTTP(HyperText Transfer Protocol)は、WebサーバーとWebブラウザの間でデータをやり取りするための通信規約(プロトコル)です。

ユーザーがリンクをクリックすると、ブラウザはサーバーに対して「このページをください」というリクエストを送り、サーバーが「はい、どうぞ」とデータを返す(レスポンス)。このシンプルなやり取りのルールを定めたのがHTTPです。

  • 特徴: データが「平文(ひらぶん)」、つまり暗号化されていない状態で流れます。
  • リスク: 通信経路の途中で悪意のある第三者に内容を「盗聴」されたり、データを「改ざん」されたりする危険性があります。

HTTPS:安全性を高めた「暗号化通信」

HTTPS(HTTP Secure)は、HTTPに暗号化の仕組みを組み合わせたプロトコルです。

厳密には、HTTPそのものが変わるのではなく、HTTPのデータを SSL/TLS という別のプロトコルで包み込んでから送信します。

HTTPSで実現する3つの安全

  1. 機密性(盗聴防止): 通信内容を暗号化し、中身を見られないようにします。
  2. 完全性(改ざん防止): データが途中で書き換えられていないことを保証します。
  3. 真正性(なりすまし防止): 通信相手が本物のサイトであることを「サーバー証明書」によって証明します。

SSL/TLS:暗号化の正体

以前は「SSL(Secure Sockets Layer)」と呼ばれていましたが、現在はその脆弱性を改善した「TLS(Transport Layer Security)」が使われています。慣習的に「SSL/TLS」や、単に「SSL」と呼ぶことが多いです。

仕組み:共通鍵と公開鍵のハイブリッド

HTTPSの通信開始時には、非常に巧妙な暗号化の受け渡し(ハンドシェイク)が行われます。

  • 公開鍵暗号方式: 最初に「共通鍵」を安全に受け渡すために使用します。
  • 共通鍵暗号方式: 実際のデータ通信に使用します(処理速度が速いため)。

この「ハイブリッド方式」によって、安全性とスピードを両立させています。

試験(FE/AP)で問われる重要ポイント

情報処理技術者試験では、OSI参照モデルにおける位置付けや、具体的なポート番号がよく問われます。

ポート番号の違い

サーバー側で待ち受けるポート番号が、HTTPとHTTPSでは異なります。

  • HTTP: ポート 80
  • HTTPS: ポート 443 番 ※ファイアウォールの設定実務でも、これらのポート開放は基本中の基本です。

デジタル証明書とCA

HTTPSにはデジタル証明書が必要です。これは「認証局(CA)」と呼ばれる第三者機関が発行するもので、サイト運営者の実在性を証明します。試験では「公開鍵基盤(PKI)」の仕組みの一部として出題されます。

実務での注意点:常時HTTPS化と混合コンテンツ

現代のWebサイト運営において、一部のページだけでなくサイト全体をHTTPSにする「常時HTTPS化」は必須です。

  • SEOへの影響: GoogleはHTTPS化を検索順位のランキングシグナルとして採用しています。
  • 混合コンテンツ(Mixed Content): HTTPSのページ内で、画像やスクリプトを http:// で読み込もうとすると、ブラウザが「安全ではない」と警告を出し、表示が崩れる原因になります。

まとめ:インターネットの信頼を守るHTTPS

HTTPはWebの扉を開くための言葉であり、HTTPSはその会話を誰にも聞かれないようにするための「秘密の部屋」です。

  1. HTTPは基本の通信ルール。
  2. HTTPSはそれにSSL/TLSによる暗号化を加えたもの。
  3. 443番ポートデジタル証明書が運用の鍵。

これらを理解しておくことは、セキュアなWebアプリケーションの設計や、安全なサーバー運用を行う上で、最も基本的なリテラシーとなります。

コメント