「SSLセッションキャッシュ」の版間の差分
提供: セキュリティ
(ページの作成:「SSLセッションキャッシュは、セッションの再開時にハンドシェイクを短縮します。 '''読み方''' ;[[SSLセッションキャッシュ]...」) |
(→関連項目) |
||
行33: | 行33: | ||
== 関連項目 == | == 関連項目 == | ||
* [[Transport Layer Security]] | * [[Transport Layer Security]] | ||
− | * [[ | + | * [[SSL TLSセッションチケット]] |
<!-- vim: filetype=mediawiki | <!-- vim: filetype=mediawiki | ||
--> | --> |
2015年2月14日 (土) 16:01時点における最新版
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セッションチケットを使用する場合、サーバ側でセッションステートを管理する必要がないため、セッションチケットを利用するほうが、簡単かもしれません。