【えすえぬあい】
SNI とは?
💡 「どのドメインに用がある?」とTLS接続の入り口で名乗る仕組み
📌 このページのポイント
SNIってなんで必要なの?
SNIがあるとどうなるの?
クライアントがTLSハンドシェイクの最初に「example.com に接続したい」と教えるんだ。サーバーはその情報をもとに正しい証明書を選んでハンドシェイクを続けられる。これによって1つのIPアドレスで何十・何百ものHTTPSドメインを扱えるよ。
SNIのプライバシー問題って何?
SNIでホスト名を送る部分はTLSの暗号化の「前」に平文で送られるんだ。つまりネットワーク上の第三者(ISPや盗聴者)が「このユーザーはexample.comにアクセスした」と見えてしまう。これを解消するのが「Encrypted Client Hello(ECH)」という新しい仕組みで、ホスト名も含めてTLS接続の初期段階から暗号化する。エンドツーエンド暗号化の観点ではSNIがプライバシーの穴になっていたことをあまり知らない人も多いよ。
📖 おまけ:英語の意味
「SNI(Server Name Indication)」 = サーバー名の通知
💬 TLS拡張の一つで、RFC 6066で標準化されているよ。「どのサーバー名に接続したいか」をハンドシェイク中に伝えるという名前の通りの機能だね