SNI検査とは:HTTPSでも暗号化されない「あて先」を検閲者が見る仕組み
最終更新: 4月 9, 2026
HTTPSは通信内容を暗号化しますが、TLSハンドシェイク時のSNIフィールドには訪問先ドメインが平文で含まれます。検閲者はこれを読み取り、ドメインベースでブロックします。その理由と対策を解説します。
あなたがメールを送るとき、封筒に住所を書きますね。その封筒の中身は秘密でも、郵便配達人には「どこに送られているのか」が見えます。インターネットの通信も似ています。HTTPSで暗号化されていても、あて先となるドメイン(例えばwikipedia.orgやbbc.com)は、通信の最初の段階で平文のまま送られます。これがSNI(Server Name Indication)です。そして検閲者たちはこの情報を見て、あなたがどのサイトにアクセスしようとしているのかを知ることができます。
この記事では、なぜSNIが暗号化されていないのか、検閲者はそれをどのように使うのか、そしてこの問題に対する技術的な解決策がどのように機能するのかを説明します。
HTTPSと暗号化についての基本理解
まず整理しておきましょう。HTTPSは、Webサイトとあなたのブラウザの間で送受信されるデータ(ログイン情報、検索内容、ページの内容など)を暗号化する仕組みです。第三者がその通信を盗聴しても、内容は読めません。しかし暗号化は「内容」だけで、「通信の構造」までは隠しません。
例えば、あなたが友人に暗号で書かれた手紙を郵送するとき、手紙の内容は秘密でも、その手紙がどこから来て、どこに向かっているかは郵便局の人には見えます。あて先の住所は書かなければならないし、その情報は保護されません。インターネットでも同じことが起きています。
なぜドメイン情報はハンドシェイクの段階で必要なのか
TLSハンドシェイクとは、あなたのブラウザとWebサーバーが安全な通信路を確立するための「握手」です。この過程で、ブラウザはサーバーに対して「私はexample.comに接続したいのですが」と明示する必要があります。なぜでしょうか。
答えは、1つのサーバーが複数のドメインを同時にホストしている場合があるからです。例えば、大規模なデータセンターでは、1つのIPアドレス(インターネット上の「住所」)が100個、1000個のWebサイトを運用していることがあります。サーバーはあなたの接続が来たとき、「どのサイトの証明書を提示すべきか」を知る必要があります。そこでクライアント側(あなたのブラウザ)がSNIフィールドでドメイン名を送信することで、サーバーが正しい証明書を返すことができます。
これは技術的には必要な情報ですが、同時にセキュリティの欠点を生み出しました。その情報は暗号化されず、平文で送られるのです。
検閲者がSNI検査を使う方法
多くの国や地域の検閲機関は、この情報を活用してWebサイトへのアクセスを遮断しています。仕組みはシンプルです。ISP(インターネットプロバイダ)のネットワークやファイアウォールの下流に検査装置を配置し、すべてのTLSハンドシェイクを監視します。その中でSNIフィールドを読み取り、ブロック対象のドメインが含まれていれば、接続をリセットします。
この方法の効果は高いです。なぜなら、ユーザーの側では通常、内容を隠すことができないからです。VPNやプロキシを使わない限り、あなたのISPには常に、どのドメインに接続しようとしているかが見えます。
SNI検査が使われている地域としては、中国、ロシア、イラン、トルコなどが知られています。また民間企業も、企業ネットワークの管理やペアレンタルコントロールの目的でこの方法を用いることがあります。ただし、特定の国がどのレベルで実装しているかについては、完全な情報が常に利用可能とは限りません。
暗号化されたクライアントハローへの取り組み
この問題を解決するため、IETF(インターネット技術の標準化団体)はECH(Encrypted Client Hello)という新しい規格を開発しました。これは、SNIを含むハンドシェイクの一部を、事前共有されたサーバーの公開鍵で暗号化するというものです。
ただし、これには重要な制限があります。サーバーの公開鍵をあなたのブラウザが知る必要があり、その鍵は何らかの方法で配布される必要があります。また、完全に機能するにはドメインプロバイダ、CDN、ISPなど、複数のレイヤーが対応する必要があります。現在、ECHの採用はまだ進行中で、すべてのブラウザやサーバーがサポートしているわけではありません。
かつてはESNI(Encrypted SNI)と呼ばれる別の提案もありましたが、これはECHに統合されています。
トレードオフと現実
ECHやESNIは問題を解決する可能性を持っていますが、万能ではありません。高度な検閲者は、通信パターンの分析(接続タイミング、パケット数、データ量)によって、どのサイトにアクセスしているのかを推測することもできます。また、ECHが標準化されても、その普及には時間がかかります。
重要なのは、技術的な防御には常にトレードオフがあるということです。完全なプライバシーと完全な利便性を同時に得ることはできません。
何が重要なのか
SNI検査の存在を理解することは、インターネット検閲がどのように機能するかを知るための第一歩です。HTTPSで「安全」だと思っていても、あなたがどのサイトにアクセスしているかは、技術的には簡単に観察できます。この情報を理解した上で、あなたの脅威モデル(誰があなたを監視する可能性があるのか)に応じて、どのレベルの保護が必要なのかを判断することが大切です。
次に学ぶべきことは、VPNやプロキシがどのようにこの問題に対応するのか、そしてそれぞれのアプローチにどのような限界があるのかです。
この記事では、なぜSNIが暗号化されていないのか、検閲者はそれをどのように使うのか、そしてこの問題に対する技術的な解決策がどのように機能するのかを説明します。
HTTPSと暗号化についての基本理解
まず整理しておきましょう。HTTPSは、Webサイトとあなたのブラウザの間で送受信されるデータ(ログイン情報、検索内容、ページの内容など)を暗号化する仕組みです。第三者がその通信を盗聴しても、内容は読めません。しかし暗号化は「内容」だけで、「通信の構造」までは隠しません。
例えば、あなたが友人に暗号で書かれた手紙を郵送するとき、手紙の内容は秘密でも、その手紙がどこから来て、どこに向かっているかは郵便局の人には見えます。あて先の住所は書かなければならないし、その情報は保護されません。インターネットでも同じことが起きています。
なぜドメイン情報はハンドシェイクの段階で必要なのか
TLSハンドシェイクとは、あなたのブラウザとWebサーバーが安全な通信路を確立するための「握手」です。この過程で、ブラウザはサーバーに対して「私はexample.comに接続したいのですが」と明示する必要があります。なぜでしょうか。
答えは、1つのサーバーが複数のドメインを同時にホストしている場合があるからです。例えば、大規模なデータセンターでは、1つのIPアドレス(インターネット上の「住所」)が100個、1000個のWebサイトを運用していることがあります。サーバーはあなたの接続が来たとき、「どのサイトの証明書を提示すべきか」を知る必要があります。そこでクライアント側(あなたのブラウザ)がSNIフィールドでドメイン名を送信することで、サーバーが正しい証明書を返すことができます。
これは技術的には必要な情報ですが、同時にセキュリティの欠点を生み出しました。その情報は暗号化されず、平文で送られるのです。
検閲者がSNI検査を使う方法
多くの国や地域の検閲機関は、この情報を活用してWebサイトへのアクセスを遮断しています。仕組みはシンプルです。ISP(インターネットプロバイダ)のネットワークやファイアウォールの下流に検査装置を配置し、すべてのTLSハンドシェイクを監視します。その中でSNIフィールドを読み取り、ブロック対象のドメインが含まれていれば、接続をリセットします。
この方法の効果は高いです。なぜなら、ユーザーの側では通常、内容を隠すことができないからです。VPNやプロキシを使わない限り、あなたのISPには常に、どのドメインに接続しようとしているかが見えます。
SNI検査が使われている地域としては、中国、ロシア、イラン、トルコなどが知られています。また民間企業も、企業ネットワークの管理やペアレンタルコントロールの目的でこの方法を用いることがあります。ただし、特定の国がどのレベルで実装しているかについては、完全な情報が常に利用可能とは限りません。
暗号化されたクライアントハローへの取り組み
この問題を解決するため、IETF(インターネット技術の標準化団体)はECH(Encrypted Client Hello)という新しい規格を開発しました。これは、SNIを含むハンドシェイクの一部を、事前共有されたサーバーの公開鍵で暗号化するというものです。
ただし、これには重要な制限があります。サーバーの公開鍵をあなたのブラウザが知る必要があり、その鍵は何らかの方法で配布される必要があります。また、完全に機能するにはドメインプロバイダ、CDN、ISPなど、複数のレイヤーが対応する必要があります。現在、ECHの採用はまだ進行中で、すべてのブラウザやサーバーがサポートしているわけではありません。
かつてはESNI(Encrypted SNI)と呼ばれる別の提案もありましたが、これはECHに統合されています。
トレードオフと現実
ECHやESNIは問題を解決する可能性を持っていますが、万能ではありません。高度な検閲者は、通信パターンの分析(接続タイミング、パケット数、データ量)によって、どのサイトにアクセスしているのかを推測することもできます。また、ECHが標準化されても、その普及には時間がかかります。
重要なのは、技術的な防御には常にトレードオフがあるということです。完全なプライバシーと完全な利便性を同時に得ることはできません。
何が重要なのか
SNI検査の存在を理解することは、インターネット検閲がどのように機能するかを知るための第一歩です。HTTPSで「安全」だと思っていても、あなたがどのサイトにアクセスしているかは、技術的には簡単に観察できます。この情報を理解した上で、あなたの脅威モデル(誰があなたを監視する可能性があるのか)に応じて、どのレベルの保護が必要なのかを判断することが大切です。
次に学ぶべきことは、VPNやプロキシがどのようにこの問題に対応するのか、そしてそれぞれのアプローチにどのような限界があるのかです。
🛡️
おすすめVPNサービス
世界中で信頼される厳選VPN
N
NordVPN
⭐ 編集者おすすめ
★★★★★ 9.5/10 · 6,000+サーバー · 中国でも動作
$3.39/mo
詳細を見る →
S
Surfshark
コスパ最強
★★★★★ 9.6/10 · デバイス数無制限
$2.49/mo
詳細を見る →
E
ExpressVPN
プレミアム
★★★★★ 9.4/10 · 94カ国対応
$6.67/mo
詳細を見る →
※ SaveClipは当サイトのリンク経由でご登録いただいた場合に手数料を受け取ることがあります。これによりツールを無料で提供し続けることができています。