こんにちは。お盆も過ぎ秋がやってくるかな?と思っていたら、また酷暑が舞い戻ってきました。熱中症対策など気を抜かないようにしたいですね…
さて、このブログでも何回か取り上げている、SSL。GoogleのChromeが非SSLページに警告を出すようにアップデートしてから多くのサイトでも常時SSLが導入されています。今回は少し技術的なお話で、「名前ベースバーチャルホスト」について解説します。
おさらい〜SSLとは〜
SSLとは「Secure Socket Layer(セキュア・ソケット・レイヤー)」の略で、インターネット上で送受信される情報を「暗号化」するための通信規格(プロトコル)です。情報をやり取りする場合にデータを暗号化することで第三者からのデータ採取等からその情報を守ることができます。
現在市場に出回っているのWebサイト(特にECのサイト)の多くは、住所氏名メールアドレスなどの個人情報を入力するお問合わせページや、クレジットカード情報を入力するショッピングサイトのカートページなどでSSL通信を使用して情報の漏洩を防いでいます。(これはもはや当たり前ですね)
通常、webサイトのURLは「http//・・・・・」となりますが、SSLを用いてる場合は、「https//・・・・・」と言ったような「s」が付き、SSLの暗号化通信中を意味します。
非SSLサイト、Google Chromeアップデートで警告が常時表示の仕様に
先日のGoogleChromeのアップデートでも、httpsで通信していないWEBサイトには「警告されていません」と表示されるようになり、WEB業界全体でhttpsの導入は積極的に進められています。
SSLを導入するためには
通常、SSLを導入するためには「SSL証明書」というものを購入しなければなりません。企業が購入したSSL証明書をサーバーに設置することで、証明書購入時に指定したドメインへのアクセスに対して暗号化通信が確立されます。SSL証明書の種類にも幾つかあり、大きく分けると下記の3種類に分かれます。
- ドメイン認証SSL
- 企業実在認証SSL
- 強化認証SSL
証明書の種類によって企業の証明がより厳格になっていきますが、その分安全性や信頼性が強固になり、利用者がより安心してサイトを回遊してくれるでしょう。
細かな違いは下記のような内容です。
SSL証明書の種類 | ドメイン名の確認 | 実在の確認(法的) | 実在の確認(物理) | 特徴 |
---|---|---|---|---|
ドメイン認証SSL | ○ | 安価、発行が早い | ||
企業実在認証SSL | ○ | ○ | ポピュラー | |
強化認証SSL | ○ | ○ | ○ | アドレスバーが緑になる |
複数ドメインを処理する技術
SSLでは「1台のサーバに1つのサーバ証明書しか使えない」のが基本です。
しかしこれではレンタルサーバーのように1台のサーバーに複数のドメインを使用することが不便であったり、ショッピングサイトのように「カートページは1つのSSL証明書を使用して
どのユーザーも共通のドメインを使用する(共用SSL)」の体制を取らざるを得ませんでした。
これを解決するために現在注目しているのがSNI(Server Name Indication)の仕組みです。
通常のサイトではHTTPリクエストのヘッダー部分にホスト名を指定してどのサイトを見に行くのかを判断します。もし複数ドメインを管理しているサーバーにSSL通信を行うと「ホスト名が暗号化されてしまう」ため、どのドメインからアクセスされたのかをサーバーが判断できません。(バーチャルホストで複数ドメインを管理していても、エンドユーザーには最初のドメインが返ります)
このとき有効な手段がSNI(Server Name Indication)です。SNIに対応したサーバー/ブラウザを使用する場合、ホスト名が暗号化されずにリクエストされるため、サーバーは適正なドメインをユーザーへ返すことが可能です。また、SSL証明書もSSLのコンフィグにて各ドメインを紐付けることで、独自ドメインでの常時SSL化が可能になります。
みなさんも常時SSLを積極的に導入していきましょう。