🔒

HTTPSの仕組み - なぜ通信が安全なのか

10分 で読める | 2025.12.15

HTTPSとは

HTTPS(HyperText Transfer Protocol Secure)は、HTTPにSSL/TLS暗号化を追加したプロトコルです。ウェブブラウザとサーバー間の通信を暗号化し、第三者による盗聴や改ざんを防ぎます。

ポイント: HTTPSのURLは「https://」で始まり、ブラウザのアドレスバーに鍵アイコンが表示されます。

SSL/TLS暗号化の仕組み

HTTPSでは、SSL(Secure Sockets Layer)またはその後継であるTLS(Transport Layer Security)を使用して通信を暗号化します。

1. TCPハンドシェイク

まず、通常のTCP接続が確立されます。これは3ウェイハンドシェイク(SYN → SYN-ACK → ACK)で行われます。

2. TLSハンドシェイク

TCP接続確立後、TLSハンドシェイクが開始されます:

  1. Client Hello: クライアントがサポートする暗号スイートとTLSバージョンを送信
  2. Server Hello: サーバーが使用する暗号スイートを選択し、証明書を送信
  3. 鍵交換: 公開鍵暗号を使って共通鍵(セッション鍵)を安全に交換
  4. 暗号化通信開始: 以降の通信は共通鍵で暗号化

公開鍵暗号と共通鍵暗号

HTTPSでは2種類の暗号方式を組み合わせて使用します:

公開鍵暗号(非対称暗号)

  • 公開鍵と秘密鍵のペアを使用
  • 公開鍵で暗号化したデータは、対応する秘密鍵でのみ復号可能
  • 鍵の交換に使用(計算コストが高いため、大量データには不向き)

共通鍵暗号(対称暗号)

  • 同じ鍵で暗号化・復号を行う
  • 高速で大量データの暗号化に適している
  • 実際のデータ通信に使用

なぜ両方使うのか: 公開鍵暗号で安全に「共通鍵」を交換し、その後は高速な共通鍵暗号で通信する。これがハイブリッド暗号方式です。

証明書の役割

SSL/TLS証明書は、サーバーの身元を証明するデジタル証明書です:

  • 認証: 通信相手が本物のサーバーであることを確認
  • 公開鍵の配布: サーバーの公開鍵を安全に配布
  • 信頼の連鎖: 認証局(CA)によって署名され、信頼性を担保

まとめ

HTTPSは、公開鍵暗号と共通鍵暗号を組み合わせたハイブリッド方式で、安全かつ効率的な暗号化通信を実現しています。証明書による認証と合わせて、インターネット上での安全な通信を支えています。

← 一覧に戻る