2022.02.07
J-Stream CDNext
CDN
常時SSL化の必要性が叫ばれる中、HTTPSでWebサイトが配信できることは非常に重要です。CDNを利用する場合でもSSL/TLSによる配信が可能です。SNI(Server Name Indication)とは、一つのサーバーで複数のドメイン名を使用する場合に、複数のSSL証明書を運用できるようにするSSL/TLSの拡張仕様です。今回は、CDNを利用したSSL/TLS配信で一般的な仕様であるSNIの、利用時の注意点について解説します。
《 目次 》
SSL/TLSはインターネット上などでデータを暗号化して送受信するプロトコルです。これまではIDとパスワードによってログインを必要とするWebサイトなど、セキュリティ上のケアが必要なページでのみ利用されることが多いものでしたが、昨今では全てのページをSSL化する「常時SSL化」の重要性が増しています。ネガティブな要因を回避することはもちろん、常時SSL化にはポジティブな必要性もあります。
IDやパスワード、個人情報などを盗まれてしまうフィッシング詐欺を始めとして、インターネット上におけるセキュリティリスクは激化の一途です。SSL/TLSを利用することで、そのWebサイトやWebサイトの運営者が正当に実在することが保証されるので、ユーザーにとって安心なWebサイトを構築する上でSSL化は非常に重要です。
主要ブラウザの多くは、SSL化されていないWebサイトにユーザーがアクセスする際に、通信が保護されていない旨を警告として表示させるようになっています。SSL化していないと、ユーザーからは身元の分からない安全でないWebサイトと評価されてしまう恐れがあります。
GoogleはWebサイトが常時SSL化していることに対して、検索順位へポジティブに影響させることを発表しています。集客を目的とするWebサイトではSEO(Search Engine Optimization)対策上必須の対応となるでしょう。
従来HTTPS配信は、その暗号化処理のためにHTTPよりも通信に負荷がかかり、通信速度が低下すると言われていました。やがてWebサイト表示高速化に有効な仕様を数多く搭載した、HTTP/1.1の次世代バージョンであるHTTP/2が登場すると事情が逆転します。多くの主要ブラウザでは、SSL化されていないWebサイトではHTTP/2をサポートしない仕様になり、結果としてSSL化されたHTTP/2配信の方が高速にWebサイトを表示できるようになりました。表示高速化はユーザー体験の向上、またSEOにも効果的と言われています。
SSL通信を行うためには、認証局と呼ばれる第三者機関から、そのWebサイトや運営者が実在する本物であることを証明してもらう必要があります。問題の無いことが確認されると、認証局よりSSL証明書が発行され、これをサーバーにインストールすることでSSL通信が可能になります。
SSL証明書は基本的に、1つのサーバー(1つのグローバルIPアドレス)に対して1ドメイン分しか利用できません。HTTPSプロトコルは、そのWebサイトにアクセスする前にまず特定のクライアントと、SSL証明書が設定されたサーバーとの間でSSLセッションを確立し、その中で暗号化通信を行います。
セッションを確立する際にはまだクライアントがアクセスしたいドメインをサーバーは予測することが出来ないので、例えば1つのサーバーに複数のドメインが設定されていたとしても、ドメインごとにSSL証明書を使い分けることが出来ませんでした。
例えばHTTPS通信を行いたいWebサイトを、複数のユーザーが利用しているレンタルサーバーで運用していて、全員が独自ドメインを取得していた場合はどうなるでしょう。あるサーバーに対してSSL証明書は1枚1ドメイン分しか利用できないので、ユーザー全員が同じドメインを使ってSSL通信を行わなければいけないことになります。
1つのサーバー(1つのグローバルIPアドレス)で複数のドメインを利用する技術のことを「名前ベースバーチャルホスト」と呼びます。一方、1つのサーバーに複数のグローバルIPアドレスを割り当てる技術のことを「IPベースバーチャルホスト」と呼びますが、この場合であれば各グローバルIPアドレスに対してユニークなSSL証明書を設定することが可能です。ただし1つのサーバーに対して複数のグローバルIPアドレスを割り当てるには技術的にも金銭的にもコストが高くなり、HTTPS通信の実現に対するハードルは高まってしまいます。
そこで問題を解決するためにSNI(Server Name Indication)が登場します。名前ベースバーチャルホストの技術が使われている場合において、SNIはドメインごとに異なるSSL証明書の運用を実現します。
具体的にはSSLセッションを確立する際、クライアントブラウザがHTTPリクエストのHostヘッダを利用して、アクセスしたいドメインをサーバーへ通知します。するとサーバーも応答すべきドメインを理解することが出来るので、名前ベースバーチャルホストの場合でも正しいドメインでHTTPS通信が出来るという仕組みです。
SNIはSSL/TLSの拡張的な仕様としてRFC(Request for Comments)にも記載されており、現在では多くのブラウザ、サーバーで対応しています。
SNIは前述のような課題を解決するために登場した比較的新しい技術であるため、現在ではレガシーなOSやブラウザなどではサポートされておらず、SNIを採用するSSL配信を行うWebサイトへのアクセスが出来ない場合があります。以下に代表的な環境を列挙します。
既にベンダーのサポートも概ね終了しており、ユーザーシェアも1%未満のものが大半です。こうした環境からはSNIを利用したSSL通信を採用しているWebサイトへのアクセスは出来ませんが、ユーザーシェアを考慮して、Webサイト運営者側としても、アクセスのサポート対象外としてしまうことが多いでしょう。
フィーチャーフォンについては、総務省の調査によると、フィーチャーフォンのみを利用したインターネットユーザーが調査母数に対してまだ5%程度いるとされています。
例えばマーケティング目的のWebサイトではサポート対象外とする例も多いですが、公共情報を提供するWebサイトなどでは、まだフィーチャーフォンユーザーをサポートしようとする動きも見られます。今後各キャリアにて3G回線の提供終了が進んでいきますので、サポートの必要性は更に低下していくことが考えられます。
参考:各OS、ブラウザシェア:StatCounter
https://gs.statcounter.com/windows-version-market-share/desktop/japan#monthly-201902-202003
https://gs.statcounter.com/browser-market-share
https://gs.statcounter.com/os-market-share/mobile/worldwide
https://gs.statcounter.com/os-version-market-share/android/mobile-tablet/worldwide
CDNでSSL配信を行う場合、多くのCDN事業者でSNIを標準仕様としています。CDN事業者としては顧客に対してそれぞれ独自ドメインでの配信とユニークなSSL証明書の利用環境を提供できる他、多くのIPアドレスを用意する必要もないため、サービス運用コストも安価に抑えられます。そのため、CDNのユーザーにとってもHTTPS通信を安価に行えることになります。
Jストリームにて提供するCDNサービス「J-Stream CDNext」も標準的にSNIによるSSL通信環境を提供します。ユーザー独自にSSL証明書を認証局より取得すれば、「J-Stream CDNext」の管理コンソールからSSL証明書を登録するだけで、SNIによるHTTPS通信を実現します。特別なオプション費用は不要です。
SNI非対応環境に対しても通信を行いたい場合は、1つのドメインに対して1つのサーバー(1つのグローバルIPアドレス)を手配する必要があります。バーチャルホストの場合、IPベースバーチャルホストでなければいけません。
CDN事業者ではIPベースバーチャルホスト環境においてSSLを利用できるオプションを用意している場合があります。「J-Stream CDNext」もオプションとして、顧客専用のグローバルIPアドレスを提供することが可能です。これであれば非SNIでHTTPS通信を行うことが出来るので、SNIに対応していない環境を利用しているユーザーもサポート出来るようになります。
ただし前述の通り1つのサーバーにグローバルIPアドレスを追加する対応にはコストが伴いますので、一般的にこの対応はCDNのオプション費用としては高額になります。オプションの利用を検討する際には、SNI非対応環境ユーザーに対するサポートの必要性とコストの関係をよく考慮する必要があるでしょう。
また、例えばフィーチャーフォンユーザーに対してはフィーチャーフォン用Webサイトを別のドメインで用意して、HTTP通信によって閲覧できるようにする例もあります。この場合であれば、フィーチャーフォン用WebサイトについてはSSL通信の利用はできませんが、高額なオプション費用を支払う必要はありません。
SNIの表面的なメリットは、独自ドメインによって安価にHTTPS通信を行えるようになるということです。HTTPS通信には前述のような具体的メリットと、避けられるデメリットがあるので、あらゆるWebサイト運用者は積極的にSSLの利用を検討する必要があります。
SNIはHTTPSでの通信をより安価かつ容易に実現する技術です。常時SSL化のためにグローバルIPアドレスをサーバーへ追加しなければいけない、ということではSSL化にも二の足を踏んでしまうでしょう。「J-Stream CDNext」はSNIによるSSL化を標準仕様としながら、ニーズに即したSSL化オプションを用意したり、用途に合ったWebサイト運用方法を提案したりしながらサービスを提供していきます。
以上、CDNを利用したSSL/TLS配信で一般的な仕様であるSNIの、利用時の注意点について解説しました。Jストリームでは豊富なサービス提供実績と充実のサポート体制により、CDNにおける最適なSSL通信環境の提供準備をしてお待ちしております。お気軽にお問合せ下さい。
関連する記事一覧
CDNとは? ~ノンエンジニア向けにわかりやすく解説~ CDNとは? ~ノンエンジニア向けにわかりやす…
2023.04.19
J-Stream CDNext
速度改善
アクセス集中対策
CDN
CDNを導入することで「可用性の向上」「配信の高速化/表示速度の高速化」「コスト削減」「DoS/DDos攻撃対策」など… CDNを導入することで「可用性の向上」「配信の高速化/表示速度の高速化」「コスト削減」「DoS…
CDNのメリット・デメリットとは? トラブル回避して上手に… CDNのメリット・デメリットとは? トラブル回…
2023.04.19
J-Stream CDNext
パフォーマンス改善
CDN
CDN(Content Delivery Network)は多くのWebサイトで利用される利便性の高い技術ですが、使い… CDN(Content Delivery Network)は多くのWebサイトで利用される利便…
CDN導入の流れと費用イメージ CDN導入の流れと費用イメージ
2023.04.19
J-Stream CDNext
速度改善
アクセス集中対策
CDN
Web表示速度対策やアクセス集中対策として有効なCDN(Content Delivery Network)。今回は「C… Web表示速度対策やアクセス集中対策として有効なCDN(Content Delivery Ne…
CDNのキャッシュ動作とは? トリガーやタイミングについて… CDNのキャッシュ動作とは? トリガーやタイミ…
2023.03.30
J-Stream CDNext
CDNext紹介
CDNはオリジンサーバーへアクセスし、ファイルをキャッシュして配信していますが、CDNとオリジンサーバーは常に通信し合… CDNはオリジンサーバーへアクセスし、ファイルをキャッシュして配信していますが、CDNとオリジ…
CDNで実装できるアクセス制御設定:CDNext紹介 CDNで実装できるアクセス制御設定:CDNex…
2023.03.30
J-Stream CDNext
CDNext紹介
CDNには特定のルールでアクセスを制御することができる設定項目が備わっている場合があります。特定のユーザーにしかアクセ… CDNには特定のルールでアクセスを制御することができる設定項目が備わっている場合があります。特…
オリジンサーバーダウン、それでも配信を継続させるためにCD… オリジンサーバーダウン、それでも配信を継続させ…
2023.03.22
J-Stream CDNext
CDN
CDNext紹介
CDNはオリジンサーバーの負荷を軽減させ、快適な配信環境を提供するサービスです。しかし配信による負荷以外の理由でサーバ… CDNはオリジンサーバーの負荷を軽減させ、快適な配信環境を提供するサービスです。しかし配信によ…
Jストリームの
ソリューションに
興味をお持ちの方は
お気軽に
お問い合わせください。