<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <strong><cite xml:lang="en">RFC 5246 - The Transport Layer Security (TLS) Protocol Version 1.2</cite> (<time>2015-02-19 08:58:15 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc5246#section-7">http://tools.ietf.org/html/rfc5246#section-7</anchor-external></strong></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite xml:lang="en">RFC 5246 - The Transport Layer Security (TLS) Protocol Version 1.2</cite> (<time>2015-02-19 08:58:15 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc5246#section-7.4.1.2">http://tools.ietf.org/html/rfc5246#section-7.4.1.2</anchor-external></li></ul></refs></section><section><h1>構成</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セッション</anchor>は、次のもので構成されます <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src>。</p><figure class="list members"><dl><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セッション識別子</anchor></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">活性</anchor>または<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">再開可能</anchor>な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セッション状態</anchor>を識別する任意の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト列</anchor>で、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>が選んだもの。</dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">peer証明書</anchor></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">peer</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">X509v3証明書</anchor>。あるいは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor>。</dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">圧縮方式</anchor></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">暗号化</anchor>の前の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">圧縮</anchor>で使う<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アルゴリズム</anchor>。</dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cipher spec</anchor></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PRF</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">bulk data encryption algorithm</anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MACアルゴリズム</anchor>を指定するもの。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mac_length</anchor> 等の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">暗号属性</anchor>も指定する。</dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">master secret</anchor></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>で共有される48バイトの秘密。</dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">再開可能</anchor></dt><dd>新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>の初期化に本<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セッション</anchor>を使えるかどうかの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フラグ</anchor>。</dd></dl></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セッション</anchor>を構成する情報は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用データ</anchor>を保護するため<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">記録層</anchor>を使うときの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セキュリティー引数</anchor>を作るために使います <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src>。</p></section><section><h1>識別子</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セッション識別子</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セッション</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">再開</anchor>する時に <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ClientHello</anchor></code>
で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>が指定します <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal></src>。この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メッセージ</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">平文</anchor>で送信されますから、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>は機密事項を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セッション識別子</anchor>に含めては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal></src>。</p></section><section><h1>再開</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS Handshake Protocol</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">再開</anchor>機能を使うことで、同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セッション</anchor>を使って複数の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実現値化</anchor>できます <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS session resumption</anchor> を参照。</comment-p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <cite xml:lang="en">RFC 5246 - The Transport Layer Security (TLS) Protocol Version 1.2</cite>
(<time>2015-02-19 08:58:15 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc5246#page-81">http://tools.ietf.org/html/rfc5246#page-81</anchor-external></figcaption><blockquote><p>session</p><p>A TLS session is an association between a client and a server.</p><p>Sessions are created by the handshake protocol.  Sessions define a</p><p>set of cryptographic security parameters that can be shared among</p><p>multiple connections.  Sessions are used to avoid the expensive</p><p>negotiation of new security parameters for each connection.</p><p>session identifier</p><p>A session identifier is a value generated by a server that</p><p>identifies a particular session.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <cite>curl - How To Use</cite>
(<time>2020-09-21T09:01:13.000Z</time>, <time>2020-10-01T06:22:42.272Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://curl.haxx.se/docs/manpage.html#--no-sessionid">https://curl.haxx.se/docs/manpage.html#--no-sessionid</anchor-external></p></section></body></html>