SSLセッションキャッシュ

提供: セキュリティ
移動: 案内検索
スポンサーリンク

SSLセッションキャッシュは、セッションの再開時にハンドシェイクを短縮します。

読み方

SSLセッションキャッシュ
えすえすえる せっしょんきゃっしゅ

概要

SSLの通信を確立するときに、暗号スィートや証明書を交換します。この処理のため、HTTPSの通信が遅くなりがちです。

SSL通信のハンドシェイクを行うときに、新規のセッションであれば、サーバは、セッションIDを発行し、クライアントに送信します。

クライアントは、再利用するセッションIDを使用して、ClientHello を送信します。 セッションキャッシュに対応したサーバの場合、 サーバは、セッションキャッシュをチェックして、セッションIDに該当するセッションステータスがあれば、ServerHelloのメッセージに同じセッションIDを入れてクライアントに送信し、ステータスを利用して、コネクションを再確立します。

サーバが複数あるときの課題

サーバが複数あり、ロードバランサでロードバランシングしている環境で、サーバ側でSSLの処理を行っている場合、セッションキャッシュが活かせないケースがあります。 L7 レイヤでロードバランスしない場合、同じサーバにクライアントが接続してくるとは限りません。前回の接続時と違うサーバに接続された場合、キャッシュデータが存在しないため、セッションの再利用ができなくなり、新規セッションの確立が必要にあんります。

          +----+
cilent -> | LB | -> Server1
          | LB | -> Server2
          | LB | -> Server3
          +----+

SSLセッションキャッシュをmemcachedに格納し、それを参照することで、複数のサーバ間でセッションキャッシュを共有することができます。 必要になる主なソフトウェアは、以下の通りです。

  • Apache
  • apache_mod_ssl
  • mod_socache_memcache
  • memcache

セッションチケット

SSLセッションチケットを使用する場合、サーバ側でセッションステートを管理する必要がないため、セッションチケットを利用するほうが、簡単かもしれません。

関連項目




スポンサーリンク