Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Privacy Proxy の仕組み

最終更新 Markdown で表示Agent セットアップ

Privacy Proxy は MASQUE プロトコルスイートを使い、クライアントと宛先サーバーの間に暗号化トンネルを作ります。このページでは、プロトコルの動作と、プライバシーがどう保たれるかを説明します。

トラフィックの流れ

┌──────────┐      1. Connect + Auth      ┌──────────┐      4. Connect        ┌─────────────┐
│          │ ──────────────────────────▶ │          │ ────────────────────▶  │             │
│  Client  │      2. CONNECT request     │  Privacy │      (Egress IP)       │ Destination │
│          │ ──────────────────────────▶ │  Proxy   │                        │   Server    │
│          │                             │          │ ◀────────────────────  │             │
│          │      3. 200 OK              │          │      5. Connected      │             │
│          │ ◀────────────────────────── │          │                        │             │
│          │                             │          │                        │             │
│          │  ◀───── 6. Encrypted data tunnel ─────▶  ◀─────────────────────▶│             │
└──────────┘                             └──────────┘                        └─────────────┘

           │◀──── Client IP hidden ────▶│◀──── Cloudflare Egress IP visible ──────────▶│
  1. クライアントは Privacy Proxy へ HTTP/2 または HTTP/3 接続を確立し、Proxy-Authorization ヘッダーで認証情報(PSK または Privacy Pass トークン)を提示します。
  2. クライアントは、宛先のホスト名とポートを指定した CONNECT リクエストを送ります。
  3. プロキシはトンネルの準備完了を示す 200 OK で応答します。
  4. プロキシは、クライアントの位置情報に基づいて選んだ egress IP アドレスを使い、宛先への接続を開きます。
  5. クライアントはトンネル経由で暗号化データを送ります。プロキシは中身を検査せず、バイト列を転送します。

この過程を通じて、プロキシは宛先は分かりますが、中身は分かりません。宛先は egress IP アドレスは分かりますが、クライアントの実 IP は分かりません。

MASQUE プロトコル

MASQUE(Multiplexed Application Substrate over QUIC Encryption)は、HTTP 上でトラフィックをプロキシする方法を定義します。Privacy Proxy は次の 2 つの MASQUE 方式をサポートします。

方式 トランスポート 用途
HTTP CONNECT TCP 従来の HTTPS トラフィック
CONNECT-UDP UDP QUIC ベースのトラフィック、リアルタイムアプリケーション

どちらの方式も、プロキシが中身を検査せずにトラフィックを転送する暗号化トンネルを作ります。プロキシが見るのは宛先のホスト名とポートだけで、実際のリクエスト、パス、やり取りされるデータは見えません。

Privacy Proxy は HTTP/2(TCP 上の TLS)と HTTP/3(QUIC)で接続を受け付け、クライアントの対応状況に応じて適切なプロトコルを選びます。

これらのプロトコルの技術的な詳細は、ブログ記事 を参照してください。

プライバシーの分離

Privacy Proxy は、利用者の識別情報と利用活動のあいだにプライバシー境界を作ります。

情報 知る主体
利用者の識別情報(IP アドレス、アカウント) 認証サービス、ファーストホッププロキシ(ダブルホップ利用時)
宛先サーバー Privacy Proxy、宛先サーバー
リクエストの中身 クライアントと宛先サーバーのみ

プロキシは、サービス利用の権限があることを確認するために利用者を認証します。ただし、認証はプロキシ処理とは別に行われます。認証後、プロキシは個々のリクエストを特定の利用者に紐づけずにトラフィックを転送します。

関連リソース

役に立ちましたか?