SNI (Server Name Indication) と ESNI (Encrypted Server Name Indication) は、TLS/SSLプロトコルに関連する技術ですが、それぞれ異なる目的と機能を持っています。
SNI (Server Name Indication)
- 概要:SNIは、TLSプロトコルの拡張機能であり、複数のドメイン名を同じIPアドレスでホストできるようにします。
- 機能:クライアントがサーバーに接続する際に、リクエストするドメイン名をサーバーに伝えることで、サーバーが適切なSSL証明書を選択できるようにします。
- 利点:複数のSSL証明書を管理でき、コスト削減や管理の効率化が図れます。
- セキュリティ:SNIは、接続時にドメイン名を平文で送信するため、通信内容は暗号化されるものの、どのドメインにアクセスしているかはネットワーク上の観測者に見える状態です。
ESNI (Encrypted Server Name Indication)
- 概要:ESNIは、SNIのセキュリティを強化するために開発された拡張機能で、SNIによって送信されるドメイン名を暗号化します。
- 機能:クライアントがサーバーに接続する際に、リクエストするドメイン名を暗号化して送信し、通信内容が第三者に見られないようにします。
- 利点:プライバシー保護が向上し、特に攻撃者やISPがユーザーの訪問しているウェブサイトを把握することを防ぎます。
- 現状:ESNIはまだ広く普及しているわけではなく、クライアントとサーバーの両方がESNIをサポートしている必要があります。
まとめ
- SNIはドメイン名を平文で送信し、複数のSSL証明書を管理するための技術です。
- ESNIはそのSNIを暗号化し、プライバシーを保護するための技術です。
両者は、インターネット上でのセキュアな通信を実現するための重要な技術ですが、ESNIはSNIのプライバシーの懸念に対処する形で進化したものです。