* 仕様書

[REFS[
- [3] [CITE@en[RFC 5077 - Transport Layer Security (TLS) Session Resumption without Server-Side State]] ([TIME[2014-12-14 14:32:37 +09:00]] 版) <http://tools.ietf.org/html/rfc5077>
]REFS]

* プロトコル

[2] [[TLS session resumption]] は、 [[TLS Handshake Protocol]] の [CODE[[[ClientHello]]]]
を既存の[[セッション]]の[[セッションID]]を指定して送信することによって開始する、
簡略化された [[handshake]] の手順です。

;; [[TLS Handshake Protocol]] 参照。

[4] [[RFC 5077]] は [CODE[[[NewSessionTicket]]]] [[メッセージ]]を使った拡張を規定しています。

[11] 「再開」というと一度終了したものを再始動させるイメージがありますが、
他で確立済みの[[セッション]]を、その切断を待たずに同時に再開できます。
プロトコル仕様上は[[セッション]]の同時使用数に上限はありません。

[12] 同時に存在するセッションの接続間では、 
[[cipher suite]] 等プロトコルの設定に同じものを使う以上の関係はありません。
ある接続における[[再折衝]]が他の接続に影響を及ぼしたりしませんし、
ある接続でエラーがあっても他の接続に直ちに影響するわけではありません。

* 歴史

[REFS[
- [5] [CITE@en[RFC 4507 - Transport Layer Security (TLS) Session Resumption without Server-Side State]] ([TIME[2015-03-08 20:07:45 +09:00]] 版) <http://tools.ietf.org/html/rfc4507>
]REFS]

* 実装

[1] [CITE[SessionResumption - sslyze - Checking the server's session resumption configuration. - Fast and Full-Featured SSL Scanner - Google Project Hosting]]
( ([TIME[2014-12-17 15:27:58 +09:00]] 版))
<https://code.google.com/p/sslyze/wiki/SessionResumption>

[FIG(quote)[
[FIGCAPTION[
[6] [CITE@en[RFC 7486 - HTTP Origin-Bound Authentication (HOBA)]]
([TIME[2015-03-11 12:17:16 +09:00]] 版)
<https://tools.ietf.org/html/rfc7486#section-6.3>
]FIGCAPTION]

> The server MUST NOT allow TLS session resumption for any logged out session.

]FIG]


[7] [CITE@en[Security/Server Side TLS - MozillaWiki]]
([TIME[2015-03-22 14:32:49 +09:00]] 版)
<https://wiki.mozilla.org/Security/Server_Side_TLS#Session_Resumption>

[FIG(quote)[
[FIGCAPTION[
[8] [CITE@en[Security/Server Side TLS - MozillaWiki]]
([TIME[2015-03-22 14:32:49 +09:00]] 版)
<https://wiki.mozilla.org/Security/Server_Side_TLS#Session_Resumption>
]FIGCAPTION]

> Session resumption is a very useful performance feature of TLS, but also carries a significant amount of risk. Most servers do not purge sessions or ticket keys, thus increasing the risk that a server compromise would leak data from previous (and future) connections.
> The current recommendation for web servers is to enable session resumption and benefit from the performance improvement, but to restart servers daily when possible. This ensure that sessions get purged and ticket keys get renewed on a regular basis.

]FIG]


[9] [CITE@en[RFC 7525 - Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)]]
([TIME[2015-05-29 03:22:56 +09:00]] 版)
<https://tools.ietf.org/html/rfc7525#section-3.4>

[FIG(quote)[
[FIGCAPTION[
[10] [CITE[AnyEvent::TLS - search.cpan.org]]
([TIME[2015-08-14 22:31:40 +09:00]] 版)
<http://search.cpan.org/~mlehmann/AnyEvent-7.11/lib/AnyEvent/TLS.pm>
]FIGCAPTION]

> Enables or disables RC5077 support (Session Resumption without Server-Side State). The default is disabled for clients, as many (buggy) TLS/SSL servers choke on it, but enabled for servers.

]FIG]
