DNS遮断 - アドレスを調べる段階で塞ぐ
ドメイン名をIPアドレスに変換するDNS問い合わせの段階で、わざと間違った応答を返したり応答自体を返さなかったりする方式です。ISPや管理者が指定したDNSサーバーに特定のドメインを問い合わせると、本来のIPの代わりに案内ページのアドレスを返したり、まったく応答しないよう設定する方式です。実装は比較的簡単ですが、利用者が別の公開DNSサーバー(1.1.1.1や8.8.8.8など)に切り替えたり、DNS over HTTPS(DoH)を使ったりすると簡単に迂回されてしまう弱点があります。
IP遮断 - 宛先アドレス自体を塞ぐ
ファイアウォールやルーターが、特定のIPアドレス宛のパケットをドメイン名に関係なくそもそも通過させない方式です。DNS遮断と異なり、ドメイン名とは無関係に宛先IPだけを見てパケットを破棄します。DNSの迂回では突破できないという利点がありますが、複数のサイトが同じIP(同じCDNやクラウドサーバー)を共有している場合、意図せず無関係な他のサイトまで一緒に塞いでしまう「オーバーブロッキング」が起きやすい欠点もあります。
URL・キーワードフィルタリング
暗号化されていないHTTPリクエストのアドレスや内容に特定の文字列が含まれていると遮断する方式です。プロキシサーバーやファイアウォールがHTTPリクエスト内のURLパスやページ内容を検査し、禁止語リストに該当すると接続を切断したり案内ページに転送したりします。HTTPSで暗号化されたリクエストには原則としてこの方式をそのまま適用できないため、今日のWebの大部分を占めるHTTPSトラフィックには明確な限界があります。
SNI遮断 - 暗号化前に露出するドメイン名を検知する
HTTPS接続の初期段階、TLSハンドシェイクで平文のまま送られるSNI(サーバー名表示)フィールドを見て遮断する方式です。HTTPSはデータ自体は暗号化しますが、接続初期のClientHelloメッセージに含まれるSNI(Server Name Indication)フィールドは、どのサーバーに接続しようとしているかを確認するために暗号化されない平文でやり取りされます。この平文のドメイン名を通信経路の途中で検知し、リストに該当すれば強制的に接続を切断するのがSNI遮断で、複数の国で議論を呼んだことがあります。TLS 1.3の暗号化されたClientHello(ECH)が普及するにつれ、SNI遮断は次第に難しくなっていくと見られています。
ディープパケットインスペクション(DPI) - パケットの中身まで見る高度な方式
ディープパケットインスペクション(Deep Packet Inspection)は、アドレスやポートを見るだけでなく、パケット内の実際のデータを解析して、どのアプリケーション・プロトコルか、特定のファイル形式やトラフィックパターンが含まれているかまで判断します。国家レベルのインターネット検閲や企業のトラフィック管理(QoS)に活用されており、実装コストと処理負荷は大きいものの、最も精密にトラフィックを見分けられる方式です。
遮断方式ごとの迂回難易度比較
一般的にDNS遮断は、別のDNSサーバーや暗号化されたDNS(DoH・DoT)で最も迂回しやすい方式とされています。SNI遮断は暗号化されたClientHello(ECH)やVPNを使えば迂回できます。一方、宛先IP自体を塞ぐIP遮断やトラフィックの中身を解析するDPIは、VPNで迂回経路自体を変えない限り相対的に突破が難しくなります。実際の国家や組織の遮断システムは、これら複数の方式を何重にも組み合わせて使っていることが多いです。