HTTPSの暗号化はどこまで? VPNとの違いは?

VPNの知識

HTTPSの暗号化はどこまで? VPNとの違いは?

2024年7月25日

このページには広告が含まれています

HTTPSで暗号化されているので、VPNは不要だという意見がありますが、本当でしょうか。この記事では、HTTPSでは何が暗号化されて、何が暗号化されないか、VPNを使用するとどう変わるかについて、わかりやすく解説します。

ポイント

  • HTTPSの仕組みと暗号化される範囲
  • HTTPSでも暗号化されないSNIとは
  • HTTPSとVPNの違い

HTTPSはどこまで暗号化される?

HTTPSの仕組みと暗号化の範囲、HTTPとHTTPSの違い、SNIとは何かについて解説します。

https

HTTPSとは

「HTTPS(Hypertext Transfer Protocol Secure)」とは、HTTPに「SSL(Secure Sockets Layer)」または「TLS(Transport Layer Security)」という暗号化プロトコルを組み合わせ、インターネット上で安全にデータをやり取りできるようにした通信方式です。

HTTPはデータを暗号化せずに平文で送信するため、第三者が通信内容を盗み見たり、改ざんしたりすることが容易にできます。また、サーバーが自身の正当性を証明する仕組みがないため、なりすましの可能性もあります。

HTTPSはこれらの問題点を改善しており、2024年現在では、ウェブサイト全体の95%がHTTPSを使用しています。

SSL/TLSとは

「SSL(Secure Sockets Layer)」は、1990年代にNetscape Communicationsが開発した通信プロトコルで、「暗号化」「認証」「改ざんの検出」という3つの機能を持っています。

「TLS(Transport Layer Security)」は、SSLの後継プロトコルで、SSLのセキュリティを強化するだけでなく、セッション管理やデータ圧縮などの機能も追加されています。

現在はほぼTLSしか使われていませんが、SSLという言葉がそのまま使われていることも多いです。

SSL/TLSは、HTTPSだけでなく、様々な用途で使われています。

  • HTTPS:Webブラウザ
  • FTPS:ファイル転送
  • SMTPS:メール送信
  • POP3S:メール受信
  • IMAPS:Webメール
  • VPN:暗号化通信
VPNとSSLの違いとは? なるべく分かりやすく解説します
VPNとSSLの違いとは? なるべく分かりやすく解説します

2024/7/25  

VPN、SSL、HTTPSなど、インターネットのセキュリティに関する用語は多くあり、混乱しがちです。この記事では、VPNとSSLの違いについて、なるべく分かりやすく解説しています。そのためには、ある程 ...

HTTPSの仕組み

HTTPSの処理の流れを簡単にご紹介します。

接続の開始

ユーザーがブラウザにHTTPSのURL(https://xxx.xxx)を入力すると、ブラウザはそのサーバーに接続を試みます。

この時は、ポート番号443が使用されます。

ハンドシェイク

ブラウザはサーバーに対して「SSL/TLSハンドシェイク」と呼ばれる、一連の処理を開始します。

まずブラウザは、サーバーに対してSSL/TLSの使用をリクエストします。この時に、ブラウザがサポートする暗号化方式も伝えます。

サーバーは、ブラウザのリクエストに応答し、使用する暗号化方式を伝えます。また同時にSSL/TLS証明書を送信します。この証明書には、サーバーの公開鍵と、認証局によって署名された情報が含まれています。

ブラウザは、受け取った証明書が有効であるか確認します。

ブラウザは、ランダムに作成した「プレマスターシークレット」をサーバーの公開鍵で暗号化し、サーバーに送信します。

ブラウザとサーバーは、プレマスターシークレットから、共通の「マスターシークレット」を作成します。これがセッションキーとなります。

通信の開始

ブラウザとサーバーは、セッションキーを用いて通信を暗号化し、データの送受信をおこないます。

通信の終了

通信が終わると、セッションキーは破棄されます。

再接続が必要な場合は、新たにハンドシェイクからおこなわれます。

HTTPとHTTPSの違い

HTTPパケットは、以下のような構造をしています。

  • Ethernetヘッダー
  • IPヘッダー
  • TCPヘッダー
  • HTTPデータ(平文)

HTTPSパケットは、以下のような構造をしています。

  • Ethernetヘッダー
  • IPヘッダー
  • TCPヘッダー
  • TLSデータ(暗号化)

つまりヘッダー部分は暗号化されていないので、第三者でも読み取ることができます。

各ヘッダーに含まれる主な情報は、以下の通りです。

  • Ethernetヘッダー
    • 宛先MACアドレス
    • 送信元MACアドレス
  • IPヘッダー
    • パケットサイズ
    • 宛先IPアドレス
    • 送信元IPアドレス
  • TCPヘッダー
    • 宛先ポート番号
    • 送信元ポート番号

また、TLSのハンドシェイクの際に「SNI」という、ホスト名が含まれた情報がやり取りされます。

SNIとは

「SNI(Server Name Indication)」とは、TLSプロトコルの拡張機能で、1つのIPアドレスに対して複数のドメインを割り当てる技術です。

SNIは、例えばレンタルサーバーなどで、1つのIPアドレスで複数のドメインのサイトを運用している場合に、適切な証明書を提供できないという問題を解決するためのものです。

クライアント(ブラウザ)が、ハンドシェイクの初期段階でサーバーにホスト名(ドメイン名)をサーバーに通知すると、サーバーは適切な証明書を選択して、クライアントに提供できます。

しかしSNIは暗号化前の段階でやり取りされるため、ISPやネットワーク管理者は、接続先のホスト名を知ることができ、プライバシー侵害の懸念があります。

このため、SNIを暗号化する「ESNI(Encrypted SNI)」や、その後継である「ECH(Encrypted ClientHello)」が提唱されていますが、普及には至っていません。

ECHが実装されてSNIが暗号化されたとしても、ヘッダーに含まれる宛先IPアドレスはそのままとなります。また、TLSハンドシェイク以前の、DNSによる名前解決も問題となります。

HTTPSとVPNの暗号化範囲はどこまで?

HTTPSとVPNの違い、VPNを使うメリットについて解説します。

暗号化されたデータ

HTTPSとVPNの暗号化範囲の違い

HTTP、HTTPS、VPNを使った場合に、それぞれISPが確認できる情報は、以下の表のようになります。

項目HTTPHTTPSVPN
送信元IPアドレス
宛先IPアドレス
VPNサーバーのIPアドレス
ポート番号
VPNプロトコルのポート番号
ドメイン名
SNIで見れることがある
URLのフルパス
URLのクエリパラメータ
HTTPヘッダー
HTTPボディ
データ
トラフィック量
通信時間

HTTPは何も暗号化されていないので、どのサイトに接続して、何をしているのか、すべて把握することができます。

HTTPSは暗号化されているので、検索した文字列や、どのページを閲覧したのかということは分からなくなります。しかしIPアドレスやドメインは分かるので、ある程度の推測をすることはできます。

VPN接続をすると、ISPはVPNサーバーに接続したということは把握できますが、そこから先どのサイトに接続したのかということは一切分からなくなります。

ただし通信時間やデータ量は分かるため、そこから分析をする手法もあります。例えば、ファイル共有ソフトの使用が疑われて制限がかけられることがあります。

クエリパラメータとは

クエリパラメータとは、サーバーに特定の情報を伝えるために、URLに付け加えられた文字列のことです。

以下のようなものです。

クエリパラメータの例

https://www.example.com/search?q=vpn&lang=jp

この例では「q」というキーに「vpn」という値が、「lang」というキーに「jp」という値が割り当てられています。

クエリパラメータは、以下のような用途があります。

  • 検索文字列
  • フィルタリング
  • ソート順
  • ページ番号
  • 言語設定
  • 表示設定

HTTPSやVPNを使うと、これらの情報が第三者に見られなくなります。

VPNの利点

HTTPSがあればVPNは不要という意見もありますが、VPNには以下のような利点があります。

検閲の回避

HTTPSだけだと、宛先のIPアドレスやドメイン名が漏れてしまいます。

VPNを使用することで、検閲されることを回避し、プライバシーを保護することができます。

最近、日本企業へのサイバー攻撃が続いていることに対し、政府は国として対応を強化しようとしています。

素晴らしいことのように思えますが、一歩間違えると、中国のような監視社会にもなってしまいます。

VPNは通信の自由を守る重要な手段となります。

サイバー防御、独立機関で監視 政府、「通信の秘密」懸念払拭

地理的制限の回避

VPN接続をすると、Webサイトに伝わるIPアドレスが、VPNサーバーのIPアドレスに置き換わります。

海外のVPNサーバーに接続することで、特定の国でブロックされているコンテンツやサービスを利用することができます。

デバイス全体の保護

HTTPSはウェブサイトとの通信だけを暗号化しますが、VPNはデバイスのインターネット通信全体を暗号化します。

ブラウザ以外のすべてのアプリをまとめて保護することができます。

その他VPNを利用することのメリットは、下記の記事をご参照ください。

VPN接続で、できること・できないことのまとめ
VPN接続で、できること・できないことのまとめ

2024/8/19  

公衆Wi-Fiに接続するならばVPNが必須とはよく言われますが、具体的にVPNは何をしてくれるのかを理解しておくことは大切です。VPNは他のセキュリティソフトと一緒に提供されることが多いので、保護の対 ...

プライバシー保護ならNordVPNがおすすめ

世の中にVPNサービスはいろいろありますが、プライバシー保護という観点からおすすめなのは、NordVPNです。

VPNを使うことで、ISPから情報を隠すことはできますが、その情報はVPNサーバーに移ったというだけです。

無料のVPNサービスは、その情報を裏で販売していたり、特定の国に流したりしています。

信頼できるVPNサービスを利用することが、何よりも重要です。

NordVPNは、あらゆる手段でユーザーのプライバシーを守っています。

  • ノーログポリシー
  • 第三者機関による監査
  • 本拠地をパナマに設置することで、政府による圧力を回避
  • 二重VPN
  • プライベートDNS
  • キルスイッチ
  • Tor連携

30日の返金保証もあるため、まず一度試してみることをおすすめします。

まとめ HTTPSの暗号化はどこまで?

ポイント

  • HTTPSで暗号化される情報
    • HTTPメソッド
    • URLのパスとクエリパラメータ
    • HTTPヘッダー
    • HTTPデータ
  • HTTPSで暗号化されない情報
    • IPアドレス
    • ポート番号
    • SNI
    • TCPヘッダー
  • HTTPSではIPアドレスやSNI(ドメイン名)は暗号化されないので、秘匿するにはVPNを利用することが有効
  • VPNはデバイス全体の暗号化や、地理的制限の回避にも使用できる

おすすめ記事

【2024年版】目的別おすすめVPNサービス 1

毎日いろいろなVPNアプリを検証している管理人が、これはいい!と思ったサービスを、目的別にご紹介します。すべて自信を持っておすすめできます。 ポイント 有料のおすすめVPNサービス 無料のおすすめVP ...

-VPNの知識
-