/
505.txt
546 lines (406 loc) · 27 KB
/
505.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
[61] [DFN[public suffix]] あるいは [DFN[eTLD]] ([DFN[effective TLD]])
は、 [[TLD]] や、 [CODE[co.jp]] など実質的に [[TLD]] のように機能する[[ドメイン]]です。
[[TLD]] 内の[[サブドメイン]]の構造は [[TLD]] ごとに異なるため、
機械的に [[eTLD]] を決定することはできません。
そのため [DFN[Public Suffix List]] ([DFN[PSL]]) として一覧表が管理されています。
[62] [[public suffix]] は、1つの[[サイト][eTLD+1]]の単位を決めるもので、
[[セキュリティー]]上も極めて重要となっています。
[EG[
[63] 例えば [CODE[example.co.jp]] や [CODE[a.example.co.jp]] の
[[public suffix]] は [CODE[co.jp]] で、 [CODE[example.co.jp]]
が[[サイト][eTLD+1]]の単位となります。もし [CODE[example.co.jp]]
が[[ドメイン]]が [CODE[co.jp]] や [CODE[jp]] の[[クッキー]]を発行できてしまうと、
異なる[[サイト][eTLD+1]]であるはずの [CODE[test.co.jp]] にも干渉できてしまいます。
それを防ぐため、 [[クッキー]]の処理で [[PSL]] を参照することになっています。
]EG]
* 仕様書
[REFS[
- [14] [CITE@en[Public Suffix List]] ([TIME[2014-07-29 18:50:45 +09:00]] 版) <https://publicsuffix.org/>
-- [15] [CITE@en[View the Public Suffix List]] ([TIME[2014-07-29 17:56:21 +09:00]] 版) <https://publicsuffix.org/list/>
- [20] [CITE@en[RFC 6265 - HTTP State Management Mechanism]] ([TIME[2014-10-12 15:11:47 +09:00]] 版) <http://tools.ietf.org/html/rfc6265#section-5.3>
- [85] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2017-02-25 17:12:45 +09:00]]) <https://html.spec.whatwg.org/#is-a-registrable-domain-suffix-of-or-is-equal-to>
- [23] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-03-05 09:33:40 +09:00]] 版) <https://html.spec.whatwg.org/#dom-document-domain>
- [25] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-03-05 09:33:40 +09:00]] 版) <https://html.spec.whatwg.org/#dom-external-issearchproviderinstalled>
]REFS]
* 意味
[33] [[PSL]] に掲載された[[ドメイン]] ([[public suffix]]) は、
[[ICANNドメイン]]と[[私的ドメイン]]に分類されます [SRC[>>15]]。
[34] [DFN[[RUBYB[ICANN ドメイン]@en[ICANN domain]]]]は [[gTLD]] や [[ccTLD]] と、
それらの下位で分類を表す ([[gTLD]] や [[ccTLD]] の管理者が決定した)
[[ドメイン]]です。
[EG[
[58] [CODE[com]], [CODE[jp]], [CODE[co.jp]], [CODE[info]] などがあります。
]EG]
[35] [DFN[[RUBYB[私的ドメイン]@en[PRIVATE domain]]]]は、
私企業等
(独自のドメイン階層の販売者、[[クラウド]]サービス事業者、[[DDNS]] 事業者等)
が自身の保有する[[ドメイン]]を第三者に割り当てているものです。
[EG[
[59] [CODE[blogspot.com]] や [CODE[github.io]] などがあります。
]EG]
[NOTE[
[78] [[名前解決]]や [[DNS]] の[[プロトコル]]上は、
両者に特別な違いはありません。
運用上、 [[ICANN]] から直接認知されているかどうかが違うだけです。
[[ICANNドメイン]]は比較的安定しており、
[[私的ドメイン]]は[[ドメイン]]の[[失効]]や売却、事業変更などで流動的ではありますが、
[[ICANNドメイン]]の構造が変更されることも少なからずありませんし、
安定して運用されている[[私的ドメイン]]もありますから、
性格の違いはあまりありません。
[[ICANNドメイン]]は [[ICANN]] の指針に基づき比較的公正に運用されているとされますが、
運用企業の方針や所属国家の政治的影響も受けていますから、
決定的な違いともいえません。
]NOTE]
[60] [[public suffix]] や [[eTLD]] というとき、特に注記がなければ普通はこれら両方を合わせて指しています。
* 演算
** PSL に含まれるか否か
[21] [CODE(HTTP)@en[Set-Cookie:]] [[ヘッダー]]の [CODE(HTTP)@en[Domain]]
[[属性]]の処理では、 [[PSL]] を参照して検査します。
[[Cookie]] の[[利用者エージェント]]は、できれば最新の [[public suffix]]
のリストを使う[['''べきです''']] [SRC[>>20]]。
** PSL ICANN DOMAINS か否か
[41] [[Chrome]] は、[[ワイルドカード証明書]]について、
[[ワイルドカード]] + [[ICANN DOMAINS]] になっていると一致させません。
[32] [[BR]] に従う [[CA]] は [[PSL]] の ICANN DOMAINS に掲載された [[public suffix]]
のみについての[[ワイルドカード証明書]]を発行してはなりません。
;; [[ワイルドカード証明書]]を参照。
** PSL に含まれるか、 [CODE[.]] + 入力が PSL と末尾一致するかのいずれかであるか否か
[24] [CODE(JS)@en[[[document.domain]]]] の[[設定器]]は、
新しい値が適切かどうか [[Public Suffix List]] によって検査しなければ[['''なりません''']]
[SRC[>>23]]。
;; [43] これより、[[関連する類似起源閲覧文脈群の単位]]の決定に [[PSL]] が影響します。
[86] [[文字列]][VAR[接尾辞]]が[[ホスト]][VAR[元ホスト]]の[DFN[[RUBYB[登録可能ドメイン接尾辞であるか等しい]@en[is a registrable domain suffix of or is equal to]]]]かどうかは、
次のように定められます [SRC[>>85]]。
[FIG(steps)[
= [87] [VAR[接尾辞]]が[[空文字列]]の場合、
== [88] [[偽]]を返し、ここで停止します。
= [89] [VAR[ホスト]]を、[VAR[接尾辞]]に[[ホスト構文解析器]]を適用した結果に設定します。
= [90] [VAR[ホスト]]が[[失敗]]なら、
== [91] [[偽]]を返し、ここで停止します。
= [92] [VAR[ホスト]]と[VAR[元ホスト]]が[[ホスト等価]]で''ない''場合、
== [93]
[FIG(list)[
- [94] [VAR[ホスト]]が[[ドメイン]]で''ない''
- [95] [VAR[元ホスト]]が[[ドメイン]]で''ない''
- [96] [CODE[.][ラベル分離子]] と[VAR[ホスト]]を連結したものが[VAR[元ホスト]]に[[末尾一致]]し''ない''
- [97]
[VAR[ホスト]]が[VAR[ホスト]]の [F[public suffix]] と[[等しい][host equals]]
]FIG]
... のいずれかの場合、
=== [99] [[偽]]を返し、ここで停止します。
= [100] [[真]]を返します。
]FIG]
[101] なお、 [[PSL]] との比較の際には [[PSL]] 側の値にも[[ホスト構文解析器]]を適用しなければ[MUST[なりません]] [SRC[>>85]]。
[102] 次の場面で呼び出されます。
[FIG(short list)[
- [CODE(JS)@en[document.domain]]
]FIG]
** ドメインの public suffix
[42] [[eTLD+1]] は、その定義より、 [[PSL]] に依存して決まります。
[[DMARC]] の [[Organizational Domain]] も同じ意味のようです。
[HISTORY[
[26] [CODE(DOMm)@en[[[IsSearchProviderInstalled]]]] [[メソッド]]は、
判定に [[Public Suffix List]] を使わなければ[['''なりません''']] [SRC[>>25]]。
]HISTORY]
[46] [[Firefox]] は、[[設定]]画面や[[履歴]]表示、[[アドレスバー]]の表示を[[サイト][eTLD+1]]単位とするため、
[[PSL]] を使っています [SRC[>>45]]。
[49] [[Chrome]] は、[[アドレスバー]]の入力が [[URL]] か[[検索]]語か判断するために
[[PSL]] を使っています [SRC[>>45]]。
[44] [[Let's Encrypt]] は[[証明書]]発行頻度制限に [[PSL]]
([[eTLD+1]]) を使っています [SRC[>>45]]。
** 不適用
[65] [[WPAD]] の処理にも [[PSL]] を適用して良さそうなものですが、
実装は他の方法を採っているようです。
[67] [CODE[includeSubDomains]] の処理にも適用されても良いのかもしれませんが、
そうはなっていないようです。
* データファイル
[REFS[
- [40] 生データファイル <https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat>
- [53] テストデータ ([TIME[2016-05-31 20:52:42 +09:00]]) <https://raw.githubusercontent.com/publicsuffix/list/master/tests/test_psl.txt>
]REFS]
[57] [[PSL]] 由来のデータを含む各種[[プログラミング言語]]用[[ライブラリー]]などもありますが、
[[PSL]] はかなり頻繁に更新されていますから、それにどのように追随するのかはよく検討する必要があります。
データファイルが[[ライブラリー]]に埋め込まれていて、たまにしか更新されないものや、
[[ライブラリー]]自体は頻繁に更新されていても[[パッケージマネージャー]]の都合や自社独自の指針などで依存[[ライブラリー]]をたまにしか更新できないような場合、
誤った結果を返したり、場合によっては[[セキュリティー]]的に問題のある状態となることもありますから、
注意が必要です。
* 変化
[77] [[PSL]] は、数日ごとに更新されています。[[実装]]は、それなりの頻度でこれに追随する必要があります。
-*-*-
[70] [[PSL]] の内容が変化する (のを実装がデータファイル更新により適用する) ことで、
プロトコル要素の処理が変化します。それによって、それまで可能だった操作があるときから不可能になったり、
その逆になったりすることがあります。
[EG[
[71] 例えばある時点まで [CODE(JS)@en[document.domain]] の設定により通信できていた
[[Webサイト]]同士が、ある時から通信できなくなるかもしれません。
]EG]
[72] ある意味でこれは非互換な変更が予期せぬタイミングで突然発生するものですが、
実用上はそれが問題となることはまずありません。 [[PSL]] は[[ドメイン名]]管理機関の意向に従い変更されますから、
そもそもそれと矛盾する形で利用されているのはおかしな話です。
;; [73] ただ、新規に追加された [[gTLD]] と矛盾する[[内部名]]を使っていたケースでは、
問題が発生する可能性はあります。
* 代替ルート
[79] [[PSL]] は、[[代替ルート]]には対応していません。
[80] これは、ある意味で [[Web]] が[[代替ルート]]と互換性がないことを表します。
[[代替ルート]]の提供する[[非標準]]の [[TLD]] が [[SLD]] 以下に
[[public suffix]] 相当の階層を設けていないのならば問題ありませんが、
設けているのであれば、本来の[[サイト]]の範囲を超えて[[クッキー]]を設定できるなど、
[[セキュリティー]]の問題が発生するかもしれません。
* 歴史
[54] [[Mozilla]] が導入し、管理し続けています。
[55] 他の[[ブラウザー]]も追随して [[Mozilla]] の提供するデータファイルを使うようになりました。
[[Web]] 技術の[[仕様書]]からも[[規定]]の一部として[[参照]]されるようになりました。
[56] [[Mozilla]] が導入を決めた当初、 [[DNS]] 関連事業者等の中には反対する人達もいました。
しかし現に[[セキュリティー]]の問題が起こって対策が必要な状況であるにも関わらず、
有効な対案を示すことはできませんでした。
[1] [CITE[mozilla-central mozilla/netwerk/dns/effective_tld_names.dat]]
( ([TIME[2011-03-01 01:48:36 +09:00]] 版))
<http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat>
[2] [CITE@en[draft-pettersen-subtld-structure-10 - The Public Suffix Structure file format and its use for Cookie domain validation]]
( ([TIME[2014-05-18 19:19:53 +09:00]] 版))
<http://tools.ietf.org/html/draft-pettersen-subtld-structure-10>
[3] [CITE@en[Bug 25865 – Consider defining Public Suffix]]
( ([TIME[2014-05-28 02:47:14 +09:00]] 版))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=25865>
[4] [CITE@en[Public Suffix List/Uses - MozillaWiki]]
( ([TIME[2014-05-23 07:49:48 +09:00]] 版))
<https://wiki.mozilla.org/Public_Suffix_List/Uses>
[5] [CITE@en[Understanding Domain Names in Internet Explorer - IEInternals - Site Home - MSDN Blogs]]
( ([TIME[2014-05-28 02:54:02 +09:00]] 版))
<http://blogs.msdn.com/b/ieinternals/archive/2009/09/19/private-domain-names-and-public-suffixes-in-internet-explorer.aspx>
[6] [CITE@ja-JP[''''''[''''''IE'''''']'''''' Internet Explorer が 2 文字のドメインに対して Cookie を設定しない]]
( ([TIME[2014-05-28 02:54:25 +09:00]] 版))
<http://support.microsoft.com/kb/310676>
[7] [CITE@en[Re: ''''''[''''''DNSOP'''''']'''''' Public Suffix List]]
( ([TIME[2008-06-12 14:10:38 +09:00]] 版))
<http://www.mail-archive.com/dnsop@ietf.org/msg01002.html>
[8] [CITE@en[Bug List]]
( ([TIME[2014-01-15 03:36:25 +09:00]] 版))
<https://bugzilla.mozilla.org/buglist.cgi?component=Networking%3A%20Domain%20Lists>
[9] [CITE@en[Bug List]]
( ([TIME[2014-01-15 03:36:31 +09:00]] 版))
<https://bugzilla.mozilla.org/buglist.cgi?component=Networking%3A%20Domain%20Lists>
[10] [CITE@en[687165 – Pseudo-TLDs causing problems for Chrome navigations]]
( ([TIME[2014-01-15 03:44:38 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=687165>
[11] [CITE@en[712640 – Split PSL into "registry" and "owner-requested" sections]]
( ([TIME[2014-01-15 03:45:36 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=712640>
[12] [CITE@en[Public Suffix List - MozillaWiki]]
( ([TIME[2013-08-10 14:11:55 +09:00]] 版))
<https://wiki.mozilla.org/Public_Suffix_List>
[13] [CITE@en[687165 – Pseudo-TLDs causing problems for Chrome navigations]]
( ([TIME[2014-09-19 14:57:36 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=687165>
[16] [CITE@en[draft-pettersen-subtld-structure-10 - The Public Suffix Structure file format and its use for Cookie domain validation]]
( ([TIME[2014-08-25 02:38:41 +09:00]] 版))
<https://tools.ietf.org/html/draft-pettersen-subtld-structure-10>
[17] [CITE@en[draft-sullivan-domain-policy-authority-01 - Asserting DNS Administrative Boundaries Within DNS Zones]]
( ([TIME[2014-09-14 18:25:17 +09:00]] 版))
<http://tools.ietf.org/html/draft-sullivan-domain-policy-authority-01>
[18] [CITE[rhcloud.com on the Public Suffix List | OpenShift Forums]]
( ([TIME[2014-10-09 15:51:45 +09:00]] 版))
<https://forums.openshift.com/rhcloudcom-on-the-public-suffix-list>
[19] [CITE[IRC logs: freenode / #whatwg / 20121027]]
( ([TIME[2012-11-22 22:18:53 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20121027#l-133>
[22] [CITE@en[draft-pettersen-dns-cookie-validate-05 - Enhanced validation of domains for HTTP State Management Cookies using DNS]]
( ([TIME[2014-10-16 13:01:02 +09:00]] 版))
<http://tools.ietf.org/html/draft-pettersen-dns-cookie-validate-05>
[27] [[HTML Standard]] の古い版から派生して [[W3C]] [[HTML WG]] が変更を加えて出版した
[[HTML 5.0]] は、(元の [[HTML Standard]] に存在していた) [[W3C]]
が認めている[[標準化団体]]が出版した文書への [[normative reference]]
を削除するなど不可解な編集により仕様としての整合性に欠いていることがありますが、
[[Public Suffix List]] については [[HTML Standard]] と同じまま [[Mozilla]]
の [[Webサイト]]を引用している [SRC[>>28]] ようです。
[REFS[
- [28] [CITE@en-US-x-Hixie[HTML5]] ([TIME[2014-10-25 01:15:24 +09:00]] 版) <http://www.w3.org/TR/2014/REC-html5-20141028/single-page.html#refsPSL>
]REFS]
;; [29] [[特許ポリシー]]に関する独特の解釈に基づき [[URL Standard]] への参照を意味の分からない独自の記述に置き換えたり、
[[仕様書]]ではない文書であるためなのか [[microformats wiki]] への参照を[[規定]]から[[参考]]に置き換えたりしている [[W3C]] [[HTML 5.0]] ですが、
[[特許ポリシー]]が存在せず、仕様書でも無い [[Public Suffix List]] への参照はなぜか[[規定]]のままです。
[30] [CITE@en[Public Suffix List - MozillaWiki]]
([TIME[2015-03-09 17:08:02 +09:00]] 版)
<https://wiki.mozilla.org/Public_Suffix_List>
[FIG(quote)[
[FIGCAPTION[
[31] ([TIME[2014-11-01 05:54:38 +09:00]] 版)
<https://cabforum.org/wp-content/uploads/BRv1.2.3.pdf#page=25>
]FIGCAPTION]
> Note: For purposes of determining the appropriate domain name level or Domain Namespace, the registerable
> Domain Name is the second-level domain for generic top-level domains (gTLD) such as .com, .net, or .org, or, if the
> Fully Qualified Domain Name contains a 2 letter Country Code Top-Level Domain (ccTLD), then the domain level
> is whatever is allowed for registration according to the rules of that ccTLD.
]FIG]
[FIG(quote)[
[FIGCAPTION[
[36] [CITE@en[Mozilla CA Certificate Inclusion Policy — Mozilla]]
([TIME[2015-04-06 23:00:45 +09:00]] 版)
<https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/policy/inclusion/>
]FIGCAPTION]
> Each dNSName in permittedSubtrees must be a registered domain (with zero or more subdomains) according to the Public Suffix List algorithm.
]FIG]
[37] [CITE@en[publicsuffix/list]]
([TIME[2015-09-12 14:24:08 +09:00]] 版)
<https://github.com/publicsuffix/list>
[38] [CITE@en[Public Suffix List]]
([TIME[2015-09-12 14:24:21 +09:00]] 版)
<https://github.com/publicsuffix>
[39] ([TIME[2015-09-22 18:00:55 +09:00]] 版)
<https://www.icann.org/en/system/files/files/sac-070-en.pdf>
[45] [CITE@en[Learn more about the Public Suffix List]] ([TIME[2016-05-22 17:52:10 +09:00]]) <https://publicsuffix.org/learn/>
[47] [CITE@en['''['''chrome''']''' Contents of /trunk/src/net/tools/tld_cleanup/tld_cleanup.cc]]
( ([TIME[2016-05-31 20:40:06 +09:00]]))
<https://src.chromium.org/viewvc/chrome/trunk/src/net/tools/tld_cleanup/tld_cleanup.cc?view=markup>
[48] [CITE@en['''['''chrome''']''' Contents of /trunk/src/net/base/registry_controlled_domains/registry_controlled_domain.cc]]
( ([TIME[2016-05-31 20:40:21 +09:00]]))
<https://src.chromium.org/viewvc/chrome/trunk/src/net/base/registry_controlled_domains/registry_controlled_domain.cc?view=markup>
[50] [CITE@en[RFC 7489 - Domain-based Message Authentication, Reporting, and Conformance (DMARC)]]
( ([TIME[2016-05-31 06:53:47 +09:00]]))
<https://tools.ietf.org/html/rfc7489#section-3.2>
[FIG(quote)[
[FIGCAPTION[
[51] [CITE@en[RFC 7489 - Domain-based Message Authentication, Reporting, and Conformance (DMARC)]]
( ([TIME[2016-05-31 06:53:47 +09:00]]))
<https://tools.ietf.org/html/rfc7489#appendix-A.6.1>
]FIGCAPTION]
> A public suffix list for the purposes of determining the
Organizational Domain can be obtained from various sources. The most
common one is maintained by the Mozilla Foundation and made public at
<http://publicsuffix.org>. License terms governing the use of that
list are available at that URI.
> Note that if operators use a variety of public suffix lists,
interoperability will be difficult or impossible to guarantee.
]FIG]
[52] >>51 [[IETF]] は[[政治的]]にこう言わざるを得ないんだろうけど、何か意味があるんだろうか??
[64] [CITE@en[Define a host's "public suffix" and "registrable domain" by mikewest · Pull Request #72 · whatwg/url]]
( ([TIME[2016-05-31 23:17:23 +09:00]]))
<https://github.com/whatwg/url/pull/72>
[66] [CITE@en[draft-sullivan-dbound-problem-statement-02 - DBOUND: DNS Administrative Boundaries Problem Statement]]
( ([TIME[2016-06-02 05:39:46 +09:00]]))
<https://tools.ietf.org/html/draft-sullivan-dbound-problem-statement-02>
[FIG(quote)[
[FIGCAPTION[
[68] [CITE@en[RFC 7719 - DNS Terminology]]
( ([TIME[2016-06-05 17:09:11 +09:00]]))
<https://tools.ietf.org/html/rfc7719#page-6>
]FIGCAPTION]
>
> Public suffix: "A domain that is controlled by a public registry."
> (Quoted from '''['''RFC6265''']''', Section 5.3) A common definition for this
> term is a domain under which subdomains can be registered, and on
> which HTTP cookies ('''['''RFC6265''']''') should not be set. There is no
> indication in a domain name whether it is a public suffix; that
> can only be determined by outside means. In fact, both a domain
> and a subdomain of that domain can be public suffixes. At the
> time this document is published, the IETF DBOUND Working Group
> '''['''DBOUND''']''' is dealing with issues concerning public suffixes.
> There is nothing inherent in a domain name to indicate whether it
> is a public suffix. One resource for identifying public suffixes
> is the Public Suffix List (PSL) maintained by Mozilla
> (http://publicsuffix.org/).
> For example, at the time this document is published, the "com.au"
> domain is listed as a public suffix in the PSL. (Note that this
> example might change in the future.)
> Note that the term "public suffix" is controversial in the DNS
> community for many reasons, and may be significantly changed in
> the future. One example of the difficulty of calling a domain a
> public suffix is that designation can change over time as the
> registration policy for the zone changes, such as the case of the
> "uk" TLD around the time this document is published.
]FIG]
[FIG(quote)[
[FIGCAPTION[
[69] [CITE@en[RFC 6265 - HTTP State Management Mechanism]]
( ([TIME[2016-06-14 16:06:09 +09:00]]))
<https://tools.ietf.org/html/rfc6265#section-5.3>
]FIGCAPTION]
>
> NOTE: A "public suffix" is a domain that is controlled by a
> public registry, such as "com", "co.uk", and "pvt.k12.wy.us".
> This step is essential for preventing attacker.com from
> disrupting the integrity of example.com by setting a cookie
> with a Domain attribute of "com". Unfortunately, the set of
> public suffixes (also known as "registry controlled domains")
> changes over time. If feasible, user agents SHOULD use an
> up-to-date public suffix list, such as the one maintained by
> the Mozilla project at <http://publicsuffix.org/>.
]FIG]
[FIG(quote)[
[FIGCAPTION[
[74] [CITE@en[Move lib.de.us to the private section (#256)]]
([[weppos]]著, [TIME[2016-08-17 08:59:12 +09:00]])
<https://github.com/publicsuffix/list/commit/f710559ab1d0b78a625e48dec815698c515bcf81>
]FIGCAPTION]
> Per the request of lib.de.us, move it from the ICANN section to the PRIVATE section. This is because some browsers, such as Chrome, prevent wildcard certificates for domains in the ICANN section. lib.de.us centrally manages the infrastructure, and thus hosts a wildcard, but subdomains host independent content and thus need the separation afforded by being on the PSL.
]FIG]
[FIG(quote)[
[FIGCAPTION[
[75] [CITE@en[Add new gTLDs up to 2016-08-17 (#291)]]
([[sleevi]]著, [TIME[2016-08-17 09:29:06 +09:00]])
<https://github.com/publicsuffix/list/commit/4dcaacaf593dde7e2a34436913c24af3bf2bdb06>
]FIGCAPTION]
> This also moves the KRD entries to the PRIVATE section, to facilitate
> the script automation.
]FIG]
[76] [CITE@en[1129618 – please add .onion to public suffix list]]
([TIME[2016-09-01 15:44:16 +09:00]])
<https://bugzilla.mozilla.org/show_bug.cgi?id=1129618>
[81] [CITE@en[Define a host's "public suffix" and "registrable domain" by mikewest · Pull Request #72 · whatwg/url]]
([TIME[2017-02-20 19:39:47 +09:00]])
<https://github.com/whatwg/url/pull/72>
[82] [CITE@en[25865 – Consider defining Public Suffix]]
([TIME[2017-02-22 11:45:02 +09:00]])
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=25865>
[83] [CITE@en[Define document.domain in terms of a reusable algorithm]]
([[jcjones]]著, [TIME[2017-02-23 00:09:01 +09:00]])
<https://github.com/whatwg/html/commit/03bbc6e92b6b8c9735b4565722916d49fe3eab61>
[84] [CITE@en[Define document.domain in terms of a reusable algorithm]]
([[jcjones]]著, [TIME[2017-02-23 00:09:01 +09:00]])
<https://github.com/whatwg/html/commit/03bbc6e92b6b8c9735b4565722916d49fe3eab61>
[FIG(quote)[
[FIGCAPTION[
[103] [CITE@ja[KDDIが2文字ドメイン「au.com」を買収していた | スラド IT]]
( ([TIME[2017-03-21 14:24:42 +09:00]]))
<https://it.srad.jp/story/17/03/21/0417257/>
]FIGCAPTION]
> au.comは1990年台半ば、アンビューエル・ウラキーというコンサル会社が所有しており、2000年前後にオーストラリアの略としてセカンドレベルドメインの形でサブドメインが販売されいた。KDDIの買収前はNetRegistryという会社が管理していたが、販売が中止され、こちらのフォーラムによると2013年ごろにKDDIにドメイン所有権が移転された模様。買収額などは不明。
]FIG]
[FIG(quote)[
[FIGCAPTION[
[104] [CITE@en[Rate Limits - Let's Encrypt - Free SSL/TLS Certificates]]
([TIME[2017-06-11 15:00:03 +09:00]])
<https://letsencrypt.org/docs/rate-limits/>
]FIGCAPTION]
> The main limit is Certificates per Registered Domain (20 per week). A registered domain is, generally speaking, the part of the domain you purchased from your domain name registrar. For instance, in the name www.example.com, the registered domain is example.com. In new.blog.example.co.uk, the registered domain is example.co.uk. We use the Public Suffix List to calculate the registered domain.
]FIG]
[105] [CITE@en[Better document the PSL roadmap and needs · Issue #671 · publicsuffix/list]]
([TIME[2018-05-26 01:18:37 +09:00]])
<https://github.com/publicsuffix/list/issues/671>
[106] [CITE@en[Side effect of "default rule" on disallowed TLDs · Issue #570 · publicsuffix/list]]
([TIME[2018-05-26 01:22:30 +09:00]])
<https://github.com/publicsuffix/list/issues/570>
[107] [CITE@en[Define hosts' public suffix and registrable domain, as well as same site]]
([[mikewest]]著, [TIME[2018-06-07 18:11:56 +09:00]])
<https://github.com/whatwg/url/commit/6a9f7eacaae962b325547f33d6e30134789986a8>
[108] [CITE@en[Define hosts' public suffix and registrable domain. by mikewest · Pull Request #391 · whatwg/url]]
([TIME[2018-06-13 22:13:18 +09:00]])
<https://github.com/whatwg/url/pull/391>
[109] [CITE@en[Advanced Public Suffix List testing (registrable domain, same site) · Issue #11218 · web-platform-tests/wpt]]
([TIME[2018-06-13 22:21:35 +09:00]])
<https://github.com/web-platform-tests/wpt/issues/11218>
[110] [CITE@en[Build upon URL rather than PSL]]
([[annevk]]著, [TIME[2018-06-07 18:31:20 +09:00]])
<https://github.com/whatwg/html/commit/326c64415ddff5f619433028bd5d99408dad6430>
[98] [CITE@en["If the given value is not a registrable domain ..." · Issue #3711 · whatwg/html]]
([TIME[2018-06-13 22:38:25 +09:00]])
<https://github.com/whatwg/html/issues/3711>
[111] [CITE@en["If the given value is not a registrable domain ..." · Issue #3711 · whatwg/html]]
([TIME[2018-06-13 22:46:39 +09:00]])
<https://github.com/whatwg/html/issues/3711>
[112] [CITE@en[Build upon URL rather than PSL by annevk · Pull Request #3735 · whatwg/html]]
([TIME[2018-06-13 22:47:27 +09:00]])
<https://github.com/whatwg/html/pull/3735>
[113] [CITE@en[net/http/transport_security_state_static.json - chromium/src - Git at Google]]
([TIME[2018-09-22 16:00:56 +09:00]])
<https://chromium.googlesource.com/chromium/src/+/master/net/http/transport_security_state_static.json>