Skip to content

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

Oblivious DNS over HTTPS

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

標準の DNS over HTTPS(DoH) では、DNS クエリは暗号化されます。ただし、リゾルバーはあなたの IP アドレスと、参照しているドメインの両方を見ることができます。Oblivious DNS over HTTPS(ODoH)はプライバシー層を追加し、1 つの主体がこの 2 つの情報を同時に見られないようにします。

ODoH の仕組み

ODoH では、デバイスと DNS リゾルバーの間に次の 2 つの役割が入ります。

  • プロキシ(Proxy) — 暗号化された DNS クエリをターゲットへ転送します。プロキシはあなたの IP アドレスを見られますが、クエリは暗号化されているため内容は読めません。
  • ターゲット(Target) — DNS クエリを受け取って復号し、上流のリゾルバーへ送ります。ターゲットはクエリを読めますが、見えるのはプロキシの IP アドレスであり、あなたの IP アドレスではありません。

クエリはプロキシに届く前に暗号化され、ターゲットはあなたの IP アドレスを知りません。そのため次のようになります。

  • プロキシは DNS メッセージを一切見られません。クライアントが送るクエリも、ターゲットが返す回答も、識別・閲覧・改変できません。
  • ターゲットが扱えるのは暗号化されたクエリとプロキシの IP アドレスだけです。クライアントの IP アドレスは見えません。
  • クエリの内容を読み、応答を作れるのは意図したターゲットだけです。応答も暗号化されます。

つまり、プロキシとターゲットが結託しない限り、1 つの主体が DNS メッセージとクライアント IP アドレスの両方に同時にアクセスすることはできません。クライアントはプロキシとターゲットを自分で選べます。別々の組織が運用するプロキシとターゲットを選べば、結託のリスクを下げられます。

クライアントは Hybrid Public Key Encryption(HPKE)で、ターゲット向けにクエリを暗号化します。HPKE は、受信者の公開鍵を使ってメッセージを暗号化する標準です。ターゲットの公開鍵は DNS 経由で取得します。公開鍵は HTTPS リソースレコードにまとめられ、DNSSEC で保護されます。

Cloudflare とサードパーティ製品

Cloudflare 1.1.1.1 はターゲットとして ODoH に対応しており、odoh.cloudflare-dns.com で到達できます。

ODoH クエリを送るには、dnscrypt-proxy などのオープンソースクライアントを使えます。

iCloud Private Relay も同様のプライバシー分離の考え方を使っており、Cloudflare をパートナーの 1 社として利用しています

関連リソース

役に立ちましたか?