SSLのコスト(サーベイ)


SSL化によるコストについてサーベイを行った論文(The Cost of the “S” in HTTPS)を紹介します:

The Cost of the “S” in HTTPS

David Naylor氏がACM CoNEXT 2014で発表したShort Paperです。完成度の低いペーパであり読みにくいですが、計測データは非常に面白いものです。是非、原文を読んでください:

ここからは、論文に含まれる主要なデータを紹介します。ただし、元論文においいてグラフのみが示されているものについては”グラフ読み”と記載します。また、元論文の曖昧な記述については、そのまま記載します。

HTTPSの使用率

調査概要

  • 調査方法:実トラフィックをモニタリング
  • 調査対象:Res-ISP (ヨーロッパのあるISP、加入者数:2万5千)
  • 調査期間:2012年8月~2014年9月

調査結果(スライド7ページ)

  • 2014年9月
    • TCPセッションにおけるWebトラフィック(HTTP+HTTPS)のボリューム比:75%
    • WebトラフィックにおけるHTTPS率
      • セッション比:44.3%
      • ボリューム比:約36%(グラフ読み)
  • トレンドの変化
    • 2013年4月:Facebookの常時SSL化
    • 2014年1月:YouTube動画のSSL化
  •  2014年
    • WebトラフィックにおけるHTTPSのボリューム比
      • アップロード:80%
      • ダウンロード:約28%(グラフ読み)

Webページ読み込み時間の増加

調査概要

  • 調査方法:ブラウザ(PhantomJS)により対象サイトにアクセス
  • 調査対象:AlexaのTop500
  • 計測回数:各サイトを20回アクセス
  • CRLの扱い:アクセス毎にキャッシュをクリア
  • 計測元:3Gモバイル、光接続

調査結果1(スライド11ページ)

  • SSLハンドシェイクの最善ケースのオーバーヘッドよりも大きな遅延が見られる:
    • 最善ケースのオーバーヘッド
      • フルハンドシェイク:2 RTT
      • セッション再開(TLS Session resumption):1 RTT

調査結果2(スライド12ページ)

  • 光接続
    • Web ページ読込みに必要な時間の比率(httpsによる読み込み時間/httpによる読み込み時間)の累積分布
      • 1.2倍以下:全体の約10%(グラフ読み)
      • 1.5倍以下:全体の約85%(グラフ読み)
      • 2倍以下:全体の約98%(グラフ読み)
    • Webページ読込みに必要な時間増分の累積分布
      • 0.4秒以下:全体の60%(グラフ読み)
      • 1.0秒以下:全体の80%(グラフ読み)
      • 1.5秒以下:全体の95%(グラフ読み)

鍋島補足

実際にページを取得するには、SSL証明書の失効確認が必要となり、次のような遅延が発生します(失効確認についてはSSL証明書のフレームワークを参照ください):

  • CRL (Certificate Revocation List)取得
    • 一般にサイズが大きいCRLに対する、フルセットのHTTPリクエスト(DNSリクエスト、TCPハンドシェイク、HTTPリクエスト)となり、有効性確認の遅延は大きくなります。
  • OCSP (Online Certificate Status Protocol)利用
    • 個別の証明書に対するチェックになり、取得すべきものはOCSPレスポンス(有効性確認結果)のみとなり、HTTPで取得すべきファイルのサイズは小さくなりますが、依然、フルセットのHTTPリクエストが必要となるため、遅延はかなり大きいままです。
  • OCSP Stapling
    • サーバは、サーバ証明書と同時にOCSPレスポンスを送信するため、遅延は基本的に発生しません。

データ流量の増加:SSLハンドシェイクのオーバヘッド

調査概要

  • 調査方法:実トラフィックをモニタリング
  • 調査対象:前記Res-ISP
  • 調査期間:2014年4月のピーク時間

調査結果(スライド15ページ)

  • 全体
    • SSL通信における、SSLハンドシェイクのオーバヘッド率(ハンドシェイクボリューム/TCP全体のボリューム)
      • オーバヘッド10%以下:全セッションの20%(グラフ読み)
      • オーバーヘッド42%以下:全セッションの50%
      • オーバーヘッド100%:全セッションの22%(グラフ読み)
        • SSLセッションを張るだけで、データの転送を行わないもの

鍋島補足

ショートセッションでは、SSLハンドシェイクのオーバヘッドが大きくなります。

データ流量の増加:ISPキャッシュでヒットしないことによる通信量の増加

調査概要

  • 調査方法:実際に使用されているProxyのログを調査
  • 調査対象::ヨーロッパのメジャーMNO(加入者数:2000万)で稼動している透過型Proxy (Trans-Proxy)
  • 調査期間:過去2年間のデータ

調査結果(スライド16ページ)

  • キャッシュ効果
    •  2年間の平均ヒット率
      • セッション数ベース:14.9%
        • 2年前:16.8%
        • 2014年6月:13.2%
      • ボリューム数ベース: 15.6%
        • 1日あたりの平均削減トラフィック(全体):16TB
  • 再圧縮、トランスコード効果
    • 通信ボリュームの削減率:28.5%
      • 1ユーザあたり2.1MB/日の削減

電力使用量の増加

調査概要

  • 調査方法:スマートフォン実機の消費電力を計測
  • 調査対象:Galaxy S II
  • 調査間隔:200μ秒

調査結果(スライド19ページ)

  • 純粋な意味での消費電力増加は認められなかった
    • テストサイト(1KB~10MBのファイルダウンロード、CNNのミラー)
    • 実サイト(Youtube)
  •  3G環境における実サイト(Youtube)の視聴おいては、Proxyが介在することにより消費電力の差異が認められた
    • SSLにより消費電力が増加:Proxyのトランスコードが利かなくなり、オリジナルサイズのコンテンツをダウンロードするため。
    • SSLにより消費電力が減少:Proxyの帯域制御(ビデオペーシング)が利かなくなり、短期間でコンテンツをダウンロード可能となる。この結果、3G 無線の使用時間が短くなり、消費電力が減少する。