従来のSSLの仕組みでは、1つのサーバーに複数のドメイン名を設定できても、SSLサーバー証明書は1つしか設定できませんでした。
そのため、複数のサイトを1台のサーバーで運営していた場合、フォームやアンケートなどのSSL化されたコンテンツに移動すると、SSLサーバー証明書で設定しているドメイン名(URL)に変わってしまうことがありました。
なぜこのようなことが起こるのか。
原因は従来のSSL通信技術とそれを受け取るサーバーの仕組みにあります。
従来のSSL通信は、はじめにサーバー(IPアドレス)に設定されたSSLサーバー証明書に対して通信経路を確立させ、その中でデータをやり取りしているため、SSLサーバ証明書は設定された1つしか利用すること出来ないのです。
しかしこれでは、先のとおりSSL化されたコンテンツに移動するたびドメイン名(URL)が変わってしまい、ユーザーに不安を与えかねません。
そこで登場したSNI (Server Name Indication)という技術によって、1台のサーバーでも複数のSSLサーバー証明書が利用できるようになったのです。
SNIの登場で変わったこと、それは1つのサーバーで1つしか使えなかったSSLサーバー証明書が、ドメイン名(URL)単位で利用できるようになったことです。
仕組みとしてはSSL通信時にドメイン名を通知することで、サーバー側がどのSSLサーバー証明書を利用すべきか判別するのです。
これによって、1台のサーバーでもドメイン名の数だけSSLサーバー証明書の利用が可能になり、URLが途中で変わってしまう心配や、SSLサーバー証明書ごとに別々のサーバーを用意するといった手間やコストの負担が軽減されました。
いいことばかりのSNIに思えますが、一部の古いブラウザでは対応されないなど利用の際に少し注意が必要です。
また、ドメイン名に対して通信を確立するSNIは、ドメインごとにSSLサーバー証明書(独自SSL)の取得と設定が必要です。「SSLサーバー証明書の種類と違い」でご紹介したように、独自SSLは、共有SSLと違い信頼性が高い分、取得に手間やコストが掛かるのでその点も忘れないようにしましょう。
コスト削減という意味では、SNI自体はすごく新しい技術というわけではありません。
ではなぜ今、SNIがこれほど話題になっているのでしょうか。
「常時SSLとは?」でもご紹介したとおり、インターネットに関わるデバイスや通信技術の発展はめざましく、それに比例してインターネット上のセキュリティリスクも急激に進化しています。
SSLサーバー証明書は一部のセキュリティ上重要なコンテンツのために使うもの、という認識はいまや危険とさえいえます。
サーバー上にある複数のサイトを全て暗号化することも可能なSNIという技術。
サイトの価値を高め、企業の信頼を守るために、ぜひ活用してみてはいかがでしょうか。