0Pricing
Cryptology Academy · レッスン

DNSセキュリティ:DoHとDoT

DNSがプライバシー上の脆弱性になる理由と、DNS-over-HTTPSおよびDNS-over-TLSがクエリを保護する仕組みを学びます。

「DNSセキュリティ:DoHとDoT」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。

DNSクエリは平文で送信される

Domain Name Systemは、人間が読めるドメイン名をIPアドレスに変換します。標準的なDNSクエリはUDPのポート53を使用し、完全に暗号化されずに送信されます。デバイスが解決するすべてのドメイン名は、ルーター、ISP、ネットワーク経路を監視できるあらゆる者から見える状態になります。そのため、訪問するすべてのウェブサイトがHTTPSを使用していても、閲覧行動は露呈します。

ISPはすべてのDNSクエリを記録する

ISPは、ネットワーク監視の一環として、また多くの法域におけるデータ保存法を遵守するために、すべての顧客のDNSクエリを日常的に記録しています。このログには、訪問したすべてのウェブサイト、各訪問の時刻、アクセス頻度を詳細に記録した情報が含まれます。ISPがこのデータを広告主に販売したり、DNSログだけを根拠とする加入者の閲覧履歴の提出を政府の要請に応じて行ったりした例もあります。

DNSハイジャック攻撃

DNSトラフィックを傍受またはリダイレクトできる攻撃者は、応答を操作して利用者を悪意のあるサーバーへ誘導できます。DNSハイジャックは、ルーターが侵害された場合のルーターレベル、攻撃者が管理するDNSリゾルバーのアドレスを提供する不正DHCPサーバー、ISPレベルのリダイレクトなどによって発生します。利用者が正規のドメイン名を入力しても、リダイレクトを示す兆候がないまま、フィッシングサイトへ密かに誘導される可能性があります。

不正DHCPによるDNS注入

デバイスがネットワークに接続すると、DHCPを介して設定情報を要求します。DHCPはIPアドレス、ゲートウェイ、DNSサーバーを提供します。ローカルネットワーク上で不正DHCPサーバーを実行する攻撃者は、正規のサーバーより先に応答し、自分のDNSサーバーのアドレスを提供できます。その後、被害者からのすべてのDNSクエリが攻撃者のリゾルバーに送られるため、セッション全体を通じてクエリの監視や応答の操作が可能になります。

DNSキャッシュポイズニング:Kaminsky攻撃

2008年、研究者のDan KaminskyはDNSの重大な脆弱性を公表しました。攻撃者は、ランダムなトランザクションIDを持つ偽のDNS応答を何千件も送信することで、正規の応答が届く前に、リゾルバーのキャッシュを確率的に汚染できました。これは、誕生日攻撃型のキャッシュポイズニングとして知られています。汚染されたキャッシュによって、そのリゾルバーを利用するすべてのユーザーが、対象のドメインについて攻撃者が管理するIPアドレスへリダイレクトされます。

DNSSEC:暗号学的DNS認証

DNSSEC(DNS Security Extensions)は、DNSレコードに暗号署名を追加することで、キャッシュポイズニングや応答の偽造に対処します。各DNSゾーンは秘密鍵でレコードに署名し、リゾルバーはDNSKEYレコードで公開されている対応する公開鍵を使用して署名を検証します。偽造または改変された応答は署名検証に失敗し、拒否されます。DNSSECは、DNSルートゾーンから個々のドメインレコードまでの信頼の連鎖を構築します。

DNS-over-TLS:クエリの暗号化

DNS-over-TLS(DoT)は、ポート853の標準TLS接続内にDNSクエリを包みます。リゾルバーとクライアントは、DNSクエリを送信する前にTLSハンドシェイクを実行し、クエリ(ドメイン名を含む)と応答の両方を暗号化します。DoTは、ISPやネットワーク観測者による受動的な監視を防ぎます。専用ポート(853)を使用するため、ファイアウォールから識別されやすく、一部のネットワークではDoTのブロックに利用されています。

DNS-over-HTTPS:Webトラフィックに溶け込む

DNS-over-HTTPS(DoH)は、すべてのWebトラフィックで使用されるポート443上のHTTPSリクエストとしてDNSクエリをエンコードします。DoHトラフィックは通常のHTTPSと区別できないため、すべてのHTTPSトラフィックもブロックせずにDoHだけをファイアウォールで簡単にブロックすることはできません。DoHはFirefox、Chrome、Windows 11でネイティブにサポートされており、Cloudflare(1.1.1.1)やGoogle(8.8.8.8)などのプロバイダーがDoHエンドポイントを提供しています。

暗号化DNSのプライバシー上の利点

DoHまたはDoTを使用すると、デバイスとDNSリゾルバーの間で転送されるDNSクエリが暗号化されます。ISPは、問い合わせた個々のドメイン名を読み取ったり記録したりできません。不正DHCP攻撃によって、トラフィックを読み取るリゾルバーを注入することもできません。正規のリゾルバーがハードコードされているためです。ネットワーク上の攻撃者は、受動的な傍受によってDNSハイジャックを実行できません。ただし、DNSリゾルバー自体には、すべてのクエリが見えます。

ISPのDoHへの抵抗と標準化をめぐる議論

ISPは、DoHの必須導入に反対するロビー活動を行ってきました。DoHによってDNSの可視性がISPから少数の大手テクノロジー企業のリゾルバーへ移るためです。英国のISPは、DoHによってペアレンタルコントロールのフィルタリングができなくなると議会に訴えました。ネットワーク管理者は、集中型DoHによって企業のDNSポリシーやスプリットホライズンDNSの設定が機能しなくなると主張しています。IETFはRFC 8484でDoHを標準化しましたが、導入方針については議論が続いています。

DNSSEC導入の課題

DNSSECでは、ドメイン所有者がゾーンに署名することと、リゾルバーが検証を実行することの両方が必要です。鍵ロールオーバー(サービスを停止せずに署名鍵を変更すること)は複雑であり、大規模なTLDで障害を引き起こしたこともあります。DNSSECの設定を誤ると、ドメインに完全にアクセスできなくなる可能性があります。.comと.netのTLDはDNSSECをサポートしていますが、署名されている個々のドメインは少数にとどまります。DNSSECはクエリを暗号化しないため、クエリのプライバシーを提供するのはDoHとDoTだけです。

DNS-over-HTTPS

標準以外のポートをブロックする制限の厳しいファイアウォール環境で、DoTよりDoHが好まれるのはなぜでしょうか。

DNSセキュリティ:重要なポイント

UDPポート53の標準DNSは暗号化されず、ISPによって記録されます。DNSハイジャック攻撃やKaminskyキャッシュポイズニング攻撃は、この弱点を悪用します。DNSSECは暗号署名を追加して応答の偽造を防ぎますが、クエリは暗号化しません。ポート853のDoTとポート443のDoHは、転送中のDNSクエリを暗号化します。DoHはDoTよりブロックされにくい方式です。暗号化DNSによって信頼の対象はISPからリゾルバー運営者へ移りますが、信頼そのものが不要になるわけではありません。

よくある質問

「DNSセキュリティ:DoHとDoT」レッスンは無料ですか?

はい。「DNSセキュリティ:DoHとDoT」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。

「DNSセキュリティ:DoHとDoT」で何を学びますか?

DNSがプライバシー上の脆弱性になる理由と、DNS-over-HTTPSおよびDNS-over-TLSがクエリを保護する仕組みを学びます。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cryptology Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「DNSセキュリティ:DoHとDoT」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCryptology Academyレッスンでコードを書いて実行できますか?

はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 平文プロトコル:攻撃者に見えるもの
  2. パケットキャプチャの仕組み
  3. 暗号化通信の分析
  4. DNSセキュリティ:DoHとDoT
← Cryptology Academyに戻る