SSLセッションキャッシュ
提供: セキュリティ
2015年2月14日 (土) 14:49時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「SSLセッションキャッシュは、セッションの再開時にハンドシェイクを短縮します。 '''読み方''' ;[[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セッションチケットを使用する場合、サーバ側でセッションステートを管理する必要がないため、セッションチケットを利用するほうが、簡単かもしれません。
関連項目
ツイート
スポンサーリンク