概要
- エンドユーザー のオンラインプライバシー負担軽減を目指すCloudflareの新サービス紹介
- OHTTP (Oblivious HTTP)によるIPアドレス等の秘匿化技術の解説
- Cloudflare OHTTP Gateway の特徴と導入メリット
- リレーとゲートウェイ の役割分担、プライバシーモデルの詳細
- 導入・運用の 容易さとセキュリティ対策 の工夫
オンラインプライバシーの現状とCloudflareの取り組み
- 現在、 エンドユーザー はVPNや広告ブロッカー等を利用し、プライバシー保護の負担を強いられている状況
- 一般的なクライアント-サーバー通信では、 IPアドレスやTLSフィンガープリント などのユーザーデータがサーバーに記録される
- Cloudflare は、開発者がアプリにプライバシーを組み込めるインフラを構築
- OHTTP (Oblivious HTTP)は、IETF標準のプロトコルで、アプリのバックエンドがユーザーIPアドレスを見ずにHTTPリクエストを受信可能にする技術
- Cloudflareは OHTTP Gateway を新たに提供開始、簡単な設定でOHTTPトラフィックの受信が可能
OHTTP製品スイートの拡大
- OHTTPでは、 リレー と ゲートウェイ の2つの独立した中継点を経由する構成
- リレー :暗号化されたリクエストを盲目的に転送し、クライアント識別情報をアプリサーバーから隠す役割
- ゲートウェイ :リクエストの復号・レスポンスの暗号化を担当し、アプリサーバーは平文HTTPとして処理
- リレーとゲートウェイの 信頼分離 がプライバシーモデルの鍵
- 2022年に Privacy Gateway(現OHTTP Relay) を提供開始、Flo HealthやAppleなどが活用
- サーバーをCloudflareで保護している場合、リレーとゲートウェイの両方をCloudflareが運用するとプライバシーモデルが崩れるため、 分離運用 が必要
- 新たに OHTTP Gateway をベータ提供開始、用途や構成に応じてリレーとゲートウェイを選択可能
Cloudflare OHTTP Gateway開発の背景
- 開発者の間で 使いやすいプライバシー基盤 への需要増加
- OHTTPゲートウェイの 自前運用は難易度・コストが高い (遅延増大、暗号処理負荷)
- Cloudflareのグローバルエッジネットワークで 低遅延・高可用性 を実現
- CDN利用時は ゲートウェイとアプリサーバーが同じサーバー上 で動作し、さらなる遅延削減が可能
- OHTTPの 信頼分離モデル を維持しつつ、多様な選択肢を提供
OHTTPの仕組みとプライバシー効果
- 通常のクライアント-サーバー通信では、 IPアドレス・TLS情報・地理情報 などがサーバーに伝わる
- OHTTPでは、 リレー がこれらの情報を遮断し、アプリサーバーにはリレーの情報のみが伝わる
- 多数のユーザーが同じリレーを経由することで、 個人特定が困難 となる強固なプライバシー境界を形成
- OHTTPは Hybrid Public Key Encryption(HPKE) を利用し、リレーは暗号化データのみを扱い、ゲートウェイが復号・再暗号化を担当
- ダブルブラインドモデル により、どの事業者もクライアント識別情報とリクエスト内容の両方を知ることができない設計
OHTTP Gatewayの設計と導入の容易さ
- グローバルネットワーク上に 柔軟なサービス として展開、数クリックで導入可能
- /.well-known/ohttp-gateway エンドポイントにOHTTPリクエストを送信するだけで利用開始
- 標準OHTTPと チャンク化OHTTP の両方に対応、チャンク化OHTTPは高パフォーマンス
- ゲートウェイがリクエストを復号し、アプリサーバーへサブリクエスト、暗号化レスポンスをクライアントへ返送
- ゲートウェイは ゾーン単位で紐付け、他ドメインへの悪用を防止
セキュリティ・運用上の工夫
- HPKE鍵管理 を完全自動化、公開鍵はGETリクエストで取得可能
- ゲートウェイは リレーの認証 が必須、Cloudflare Access等で多様な認証方式をサポート
- ミスによるプライバシーモデル破壊 (リレー・ゲートウェイの同一運用)を防ぐため、Cloudflare WorkersやCloudflare上のプロキシからの復号を拒否
OHTTP RelayとGatewayの使い分け
- アプリサーバーがCloudflare外 の場合:OHTTP Relay(旧Privacy Gateway)+自前Gateway運用が最適
- アプリサーバーがCloudflare上 の場合や 運用負荷軽減 が目的の場合:OHTTP Gateway+サードパーティリレー利用が最適
- 利用ケースやアーキテクチャに応じた 柔軟な選択肢 の提供
うーん、面白いね。どうやって「IPでの虐待者の禁止」機能を追加するのか気になるな。まずは虐待を特定して、それを元のIP(または他の識別子)にリンクさせる必要があるよね…。