「サイトの全体をhttpsアクセスにする常時SSLにしたほうが安全性が高くなるのはわかっていても、それによってサイトの表示スピードが遅くなるのは困る」という意見があります。
Amazonの「0.1秒の表示待ち時間があると売り上げが1%減る」というレポートや、Googleの「検索結果表示が0.5秒遅れるとアクセスが 20% 減少する」というレポートもあり、確かに懸念するところではあります。
サーバーの能力が高くなり、昔ほど暗号化・復号化に時間がかからなくなったとはいえ、httpsのサイトはhttpと比較して、若干表示が遅くなります。
人間が表示の変化に反応するのに要する最短時間は180ミリ秒から200ミリ秒といわれています(例:webページの表示が変化したらマウスをクリックするまでの時間)。
つまり、人間の感覚的には100ミリ秒(0.1秒)あたりが遅いと感じるかどうかの分かれ目と言えるのではないでしょうか。
DigiCertのSSLサーバ証明書なら、httpと比較して遅延が100ミリ秒(0.1秒)を下回る、ほとんど遅延が感じられないような常時SSLの実現も可能です。
SSLサーバ証明書で現在主流の暗号手法はRSAですが、DigiCertでは楕円曲線暗号 (ECC) も利用できます。
ECC鍵はESAと比べ鍵長が短いため、サーバーとクライアントのハンドシェイク過程でのデータ転送量が少なくなります。
また、ECC証明書が要求するCPUとメモリーの能力も低いため、ネットワークパフォーマンスが向上し、大規模なサイトではサイトの表示スピード改善に大きな効果があるといわれています。
DigiCertのECC証明書はRSA証明書と同一価格でご利用いただけます。
ブラウザやメールクライアントなどはhttpsで通信する際、「サーバーが提示した証明書が失効していないか」証明書のステータスを確認する必要があります。
この証明書のステータス確認に要する時間がhttpとhttpsの表示時間差で大きなウェイトを占めています。
Online Certificate Status Protocol(OCSP)は、証明書のステータスを検証するプロトコルです。
ブラウザなどのクライアントがOCSPサーバーに対して証明書のシリアル番号を問合せ、OCSPサーバーが証明書のステイタスを返すという仕組みになっています。
OCPSは他の証明書ステイタス取得方法に比べ圧倒的に短時間で確認できるため、現在主流になっています。
OCSPサーバーはDigiCertをはじめとする認証局がそれぞれ独自に提供しており、その反応速度を、OCSP Timesと呼んでいます。
このOCSP Timesが長かったり、稼働率が低かったりすると、ウェブサイトの表示速度とセキュリティに甚大な影響を与えることになります。
以下の表は、Netcraftというサイトが公開している、世界の主な認証局が提供しているOCSPサーバー86件のパフォーマンスレポートです。
このレポートは過去24時間の各サーバーのパフォーマンスで構成され、15分ごとに更新されています。調査対象には稼働率、アクセスに要する時間などが含まれており、以下のリンク先から誰でも閲覧できます。
Rank | Performance graph | Company site | OS | Outage hh:mm:ss | Failed Req% | DNS | Connect | First byte | Total | Kb/s | size(K) |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | ***** | **** | *** | 23:49:27 | 100.000 | – | – | – | – | – | – |
2 | ocsp.digicert.com | ocsp.digicert.com | Linux | 0:00:00 | 0.000 | 0.134 | 0.005 | 0.012 | 0.012 | – | 0 |
3 | ***** | **** | *** | 0:00:00 | 0.000 | 0.323 | 0.006 | 0.021 | 0.022 | – | – |
4 | ***** | **** | *** | 0:00:00 | 0.000 | 0.314 | 0.005 | 0.027 | 0.027 | – | 0 |
. | . | . | . | . | . | . | . | . | . | . | . |
50 | ***** | **** | *** | 0:00:00 | 0.000 | 0.292 | 0.014 | 0.152 | 0.152 | – | 0 |
. | . | . | . | . | . | . | . | . | . | . | . |
86 | ***** | **** | *** | 0:00:00 | 0.000 | 0.833 | 0.236 | 0.487 | 0.487 | – | 0 |
この表はある時点のレポートの抜粋ですが、DigiCertのOCPSサーバー ocsp.digicert.com は、最重要な指標の「Total」(OCPSサーバーに対して [HTTP GET] を開始してから最終byteを受け取るまでの秒数)で継続してトップランクを維持しています。
また、DigiCertのOCSPサーバー ocsp.digicert.com では、サーバーダウンもなくリクエストの失敗もないことが確認できます。
このレポート取得時点で、停止中だった1件を除く86件中最下位の「Total」は0.487秒、50位の「Total」は0.152秒ですので、DigiCertのOCSPサーバーの0.012秒が桁違いで早いことが確認できます(Rankが2位になっているのは、100%ダウンしているサーバーが計算上Rank1位になってしまっているためです)。
Netcraftでは他にも、公開サイトの様々な情報を収集し、客観的に整理したレポートを提供しており、その情報は多くの専門家に利用されています。
また、自社のサイトと競合サイトを比較するといった利用もできます。
Windowsサーバーでは「OCSP Stapling」という、Web サーバー等がOCSPサーバーの情報をキャッシュし、証明書と一緒にブラウザに渡す方法が標準で採用されています。
また、Apache2.3.3以降でもOCSP Staplingを設定することも可能です。
しかし、現在広く使われているApache 2.2ではOCSP Staplingは使えません。
OCSP Staplingが使えない環境で常時SSLを実施する場合は、OCSPレスポンスを圧倒的短時間で実現しているDigiCertの証明書を採用することが、表示速度100ミリ秒(0.1秒)以下のWebサイト運営への近道です。