<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既知HSTSホスト</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>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">超ドメイン一致</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">一致</anchor>なしのいずれかに決まります。</p><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> <cite xml:lang="en">RFC 6797 - HTTP Strict Transport Security (HSTS)</cite> (<time>2014-06-02 05:16:10 +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/rfc6797#section-8.2">http://tools.ietf.org/html/rfc6797#section-8.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>が、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>が保持している<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既知HSTSホスト</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>1つと<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既知HSTSホスト</anchor>群全体との比較になりますが、
実際には次の通り2つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>同士の比較として定義されています。</p><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:">IDNA</anchor> による<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規化</anchor>が行われているものとします。</p><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:">ドメイン名</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>に向かって順に比較していきます。</p><p><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> 与えられた<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>するなら、
これを<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>合同一致</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">congruent match</rt></rubyb></dfn>といいます。</p><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:">ドメイン名</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>するなら、
これを<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">超ドメイン一致<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">superdomain match</rt></rubyb></dfn>といいます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><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> 複数の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既知HSTSホスト</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">超ドメイン一致</anchor>することもあります。</comment-p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><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> 例えば <code>foo.bar.baz.example</code> は <code>foo.bar.baz.example</code>
と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合同一致</anchor>し、 <code>bar.baz.example</code> や
<code>baz.example</code> に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">超ドメイン一致</anchor>します。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</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>でもなければ、<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">一致しない<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">no match</rt></rubyb>ということになります。</p></section><section><h1>文脈</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HSTS</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fetch</anchor> からの呼び出し<del>および <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebSocketコンストラクター</anchor></del>)
と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PKP</anchor> で使われます。</p></section></body></html>