/
34.txt
39 lines (26 loc) · 2.04 KB
/
34.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
[10] [[既知HSTSホスト]]の[[ドメイン名]]の[[一致]]は、[[ラベル]]ごとの比較により、
[[合同一致]]、[[超ドメイン一致]]、[[一致]]なしのいずれかに決まります。
* 仕様書
[REFS[
- [1] [CITE@en[RFC 6797 - HTTP Strict Transport Security (HSTS)]] ([TIME[2014-06-02 05:16:10 +09:00]] 版) <http://tools.ietf.org/html/rfc6797#section-8.2>
]REFS]
* 演算
[2] ある与えられた[[ドメイン名]]が、[[利用者エージェント]]が保持している[[既知HSTSホスト]]のいずれかと[[一致]]するかどうかを調べる演算です。
処理全体としては、[[ドメイン名]]1つと[[既知HSTSホスト]]群全体との比較になりますが、
実際には次の通り2つの[[ドメイン名]]同士の比較として定義されています。
[3] 前提として、[[IDNA]] による[[正規化]]が行われているものとします。
[4] 両[[ドメイン名]]に含まれる[[ラベル]]を、[[右]] ([[文字列]]として後の方)
から[[左]]に向かって順に比較していきます。
[5] 与えられた[[ドメイン名]]と既知の[[ドメイン名]]の[[ラベル]]がすべて[[一致]]するなら、
これを[DFN[[RUBYB[[[合同一致]]]@en[congruent match]]]]といいます。
[6] 与えられた[[ドメイン名]]の右側のいくつかの[[ラベル]]と既知の[[ドメイン名]]の[[ラベル]]のすべてが[[一致]]するなら、
これを[DFN[[RUBYB[超ドメイン一致]@en[superdomain match]]]]といいます。
;; [7] 複数の[[既知HSTSホスト]]が[[超ドメイン一致]]することもあります。
[EG[
[8] 例えば [CODE[foo.bar.baz.example]] は [CODE[foo.bar.baz.example]]
と[[合同一致]]し、 [CODE[bar.baz.example]] や
[CODE[baz.example]] に[[超ドメイン一致]]します。
]EG]
[9] [[超ドメイン一致]]でも[[合同一致]]でもなければ、[RUBYB[一致しない]@en[no match]]ということになります。
* 文脈
[11] [[HSTS]] と [[PKP]] で使われます。