/
290.txt
495 lines (368 loc) · 23.3 KB
/
290.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
[4] [DFN[[[HSTS]]]] ([DFN[HTTP Strict Transport Security]]) は、
[[素のHTTP]] を用いず、専ら [[HTTPS]] のみを用いることを [[Webサーバー]]から
[[Webブラウザー]]に伝達するための仕組みです。
これによって意図せず誤って[[素のHTTP]]で当該[[サーバー]]に接続することを防ぎ、
[[素のHTTP]]を使った攻撃から[[利用者]]を護ることを狙いとしています。
[5] 2010年代になって [[Webブラウザー]]に実装されると共に、 [DFN[[[RFC 6797]]]]
として出版されています。
[70] [[素のHTTP]]が安全ではないと考えられるようになった現在、
事実上すべての[[サーバー]]は [[HSTS]] [[ヘッダー]]を[[応答]]に含めるべきです。
* 仕様書
[REFS[
- [3] '''[CITE@en[RFC 6797 - HTTP Strict Transport Security (HSTS)]] ([TIME[2014-06-02 05:16:10 +09:00]] 版) <http://tools.ietf.org/html/rfc6797>'''
- [47] [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.2>
- [51] [CITE@en[RFC 7469 - Public Key Pinning Extension for HTTP]] ([TIME[2015-05-05 21:00:37 +09:00]] 版) <https://tools.ietf.org/html/rfc7469#section-5>
- [76] [CITE@en-US[Fetch Standard]] ([TIME[2016-05-06 02:41:29 +09:00]] 版) <https://fetch.spec.whatwg.org/#concept-main-fetch>
]REFS]
* 概要
[44] [[HTTPS]] によって(のみ)提供される [[Webサーバー]]では、 [[HSTS]]
を使うことにより、もし [CODE(URI)@en[[[http:]]]] [[URL]] で当該[[サーバー]]の[[資源]]が参照されていたとしても、
[CODE(URI)@en[[[https:]]]] [[URL]] に読み替えてアクセスするよう [[Webブラウザー]]に要請することができます。
[45] これにより、意図せず素の [[HTTP]] によって接続され、
[[利用者]]が [[MITM]] 攻撃などの被害を受けることを防止できます。
[63] [[HTTP]] の他、 [[WebSocket]] ([CODE(URI)@en[[[ws:]]]]/[CODE(URI)@en[[[wss:]]]])
にも適用されます。
* 脅威モデル
[6] [[HSTS]] は、次のような脅威に対処することを想定しています [SRC[>>3 2.]]。
[FIG(list)[
- [7] ネットワーク上の受動的な攻撃。例えば[[無線LAN]]で[[パケット]]を盗聴して[[セッションID]]
を盗むなど。
- [8] ネットワーク上の能動的な攻撃。[[DNS]] や[[アクセスポイント]]を汚染するなど。
- [9] [[Webサイト]]の実装上の不備。一部のファイルだけ [[HTTPS]] でなくてもアクセスできてしまうなど。
]FIG]
[10] こうした問題は [[HTTPS]] ([[HTTP]] over [[TLS]]) で解決できるとされていますが、
[[HTTP]] と [[HTTPS]] の両方が提供されていると [[HTTP]] 側が脆弱なままになってしまいます。
[[サーバー]]側が[[HTTP]] を提供していなくても、攻撃者が偽の [[HTTP]]
[[サーバー]]を用意してそこにアクセスさせることが原理的に可能です。
[[HSTS]] は [[HTTPS]] のみ提供し、 [[HTTP]] は提供しないことを明確にすることで、
こうした問題を回避しようとしています。
[11] [[フィッシング]]の防止や不正なソフトウェアや [[Webブラウザー]]の不具合による問題は、
[[HSTS]] の対象外です [SRC[>>3 2.]]。
* 用語
[66] [[HSTS]] や関連仕様で次の用語が定義されています。
[FIG(short list)[
- [[合同一致]]
- [[超ドメイン一致]]
- [[HSTSポリシー]]
- [[既知HSTSホスト]]
- [[未知HSTSホスト]]
- [[HSTS pre-loaded list]]
- [[preloadable HSTS host]]
- [[HSTS安全起源]]
- [[条件付きHSTS安全起源]]
]FIG]
* ヘッダー
[14] 次の[[HTTPヘッダー]]が定義されています。
[FIG(list)[
- [CODE(HTTP)@en[[[Strict-Transport-Security:]]]] ([[応答ヘッダー]])
]FIG]
* [CODE(HTTP)@en[Strict-Transport-Security:]] ヘッダー (HTTP)
[18] [[HTTP]] の [DFN[[CODE(HTTP)@en[[[Strict-Transport-Security:]]]]]]
[[応答ヘッダー]] (通称 [DFN[[[STS]]]]) は、
当該[[ホスト]]に関する[[HSTSポリシー]]を示すものです [SRC[>>3 6.1.]]。
[EG[
[57] 例えば [[HTTPS]] の[[応答]]で
[PRE(HTTP code)[
Strict-Transport-Security: [[max-age]]=2592000; [[includeSubDomains]]
]PRE]
... のように指定すると、当該[[ドメイン]]および[[サブドメイン]]について、
[[HSTS]] が有効になります。この指定は以後30日間 (または上書きされるまで) 有効となります。
[CODE(HTTP)@en[[[max-age]]]] の値は、十分大きければ何でも構いません。
もし問題があっても次回アクセス時に新しいヘッダーを指定すれば更新されるので、
新規サイトでは躊躇なく大きな値にできます。
]EG]
** 意味
[21] [[利用者エージェント]]がこの[[ヘッダー]]を含む[[応答]]を送った[[ホスト]]に関する[[HSTSポリシー]]を適用しなければ[['''ならない''']]ことを表します
[SRC[>>3 6.1.]]。
** 文脈
[34] [[安全な輸送路]]上の [[HTTP]] にあっては、[[応答メッセージ]]に
[CODE(HTTP)@en[[[Strict-Transport-Security:]]]] [[ヘッダー]]を含める[['''べきです''']]。
これは複数あっては[['''なりません''']]。 [SRC[>>3 7.1.]]
;; [35] [[キャッシュ]]や[[負荷分散]]の仕組みなどの都合で一様に付加することが難しいこともあるため、
[['''必須''']]ではなく[['''推奨''']]となっています [SRC[>>3 7.1.]]。
[36] [[安全でない輸送路]]上の [[HTTP]] にあっては、[[応答メッセージ]]に
[CODE(HTTP)@en[[[Strict-Transport-Security:]]]] [[ヘッダー]]を含めては[['''なりません''']]。
[SRC[>>3 7.2.]]
** 構文
[22] [[STS]] [[ヘッダー]]の値は、[[指令]] ([[directive]])
の零個以上の列です。[[指令]]同士は [CODE[[[;]]]] で区切ります。
その前後には [[LWS]] も挿入できます。
[[指令]]同士の順序は意味を持ちません。 [SRC[>>3 6.1.]]
;; [23] 完全に空になることや、[CODE[[[;]]]] が先頭や末尾に来ることや、
[CODE[[[;]]]] が連続することも認められています。
[FIG(railroad)[
= ?
== [[指令]]
== *
=== [[OWS]]
=== [CODE(HTTP)[[[;]]]]
=== [[OWS]]
=== [[指令]]
]FIG]
[24] [[指令]]は名前と値で構成され、両者は [CODE[[[=]]]] で区切ります。
[CODE[[[=]]]] と値を省略することもできます。 [CODE[[[=]]]] の前後には [[LWS]]
も挿入できます。 [SRC[>>3 6.1.]]
[25] 名前は [[RFC 2616]] [[字句]]です。
[[大文字・小文字不区別]]です。 [SRC[>>3 6.1.]]
;; [28] [[字句]]は [[ASCII文字]]なので、[[ASCII大文字・小文字不区別]]です。
[27] 同じ名前の[[指令]]を複数含めては[['''なりません''']]。 [SRC[>>3 6.1.]]
[26] 値は [[RFC 2616]] の[[字句]]または[[引用文字列]]です。
[SRC[>>3 6.1.]]
[FIG(railroad)[
= [[字句]]
= [CODE(HTTP)[[[=]]]]
= |
== [[字句]]
== [[引用文字列]]
]FIG]
[29] [[利用者エージェント]]は、この構文に適合しない[[ヘッダー]]を無視しなければ[['''なりません''']]。
[SRC[>>3 6.1.]]
[30] [[利用者エージェント]]は、認識できない[[指令]]を無視し、
認識できる[[指令]]を処理しなければ[['''なりません''']]。 [SRC[>>3 6.1.]]
** 処理
[86] [[混合内容][Mixed Content]]の処理に影響することがあります。
* 指令
[32] [CODE(HTTP)@en[[[Strict-Transport-Policy:]]]] [[ヘッダー]]には次の[[指令]]があります。
[FIG(short list)[
- [CODE(HTTP)@en[max-age][HSTS max-age]] [SRC[>>3 6.1.1.]]
- [CODE(HTTP)@en[[[includeSubDomains]]]] [SRC[>>3 6.1.2.]]
- [CODE(HTTP)@en[[[preload]]]]
]FIG]
[31] 追加の[[指令]]が必要になった時には [[IETF Review]] を経て追加する
[[IANA登録簿]]が用意されることとされています。 [SRC[>>3 6.1.]]
現時点では[[IANA登録簿]]は存在しません。
[33] [CODE(HTTP)@en[max-age][HSTS max-age]] は[['''必須''']]です。
;; [54] [[指令]]の一覧は、 >>53 の [[JSON]] データファイルに含まれています。
[REFS[
- [53] [CITE@en[data-web-defs/headers.txt at master · manakai/data-web-defs]] ([TIME[2015-06-06 23:38:30 +09:00]] 版) <https://github.com/manakai/data-web-defs/blob/master/doc/headers.txt>
]REFS]
* サーバーの処理
[48] [[HTTPサーバー]]の実装は、 [[HSTS]] に対応しなければ[['''なりません''']] [SRC[>>47]]。
[303] [[サーバー]]は、[[安全な輸送路]]で[[要求]]を受け取った時は、
[CODE(HTTP)@en[[[Strict-Transport-Security:]]]] [[ヘッダー]]を送るべきです。
[50] [[サーバー]]は、 [[HSTS]] を使って [[TLS]] のみの[[クライアント]]を受け入れる意思があることを示す[['''べきです''']]。
ただし、 [[HSTS]] を使うとむしろ安全でなくなる場合 (例えば[[自己署名証明書]]を使っている場合)
は除きます。 [SRC[>>47]]
[37] [[サーバー]]は、[[安全でない輸送路]]で[[要求]]を受け取った時は、
[CODE(HTTP)[[[301]]]] などの永続的な[[リダイレクト]]を表す[[応答メッセージ]]を返す[['''べきです''']]。
この時 [CODE(HTTP)@en[[[Location:]]]] [[ヘッダー]]には、元の[[実効要求URL]]
の [[URL scheme]] を [CODE(URI)@en[[[https:]]]] に変えたものか、
その他何らかの方法で決めた [CODE(URI)@en[[[https:]]]] [[URL]]
を指定したものとする[['''べきです''']]。 [SRC[>>3 7.2.]]
;; [302] [['''必須''']]でなく[['''推奨''']]であるのは、サーバー側の構成上の都合でそう設定できない場合があり得ることや、
[[リダイレクト]]の存在によって攻撃の危険性が生じることを避けたい場合を考慮しているようです。
[SRC[>>3 7.2.]]
;; [46] 一旦 [[Webブラウザー]]が [[HSTS]] を受信すると、 ([[既知HSTSホスト]]である間は)
その[[サーバー]]に素の [[HTTP]] で接続することはできなくなります。
ですから、 [[HSTS]] を使う場合には、素の [[HTTP]] の[[サーバー]]は [[HTTPS]]
に[[リダイレクト]]する以外の機能を提供しても意味がありません。
* 利用者エージェントの処理
[49] [[HTTPクライアント]]の実装は、 [[HSTS]] に対応しなければ[['''なりません''']] [SRC[>>47]]。
[304] [[利用者エージェント]]は[[応答メッセージ]]の
[CODE(HTTP)@en[[[Strict-Transport-Security:]]]] [[ヘッダー]]を次のようにしなければなりません
[SRC[>>3 8.1., >>8.4.]]。
[FIG(steps)[
= [305] [[安全でない輸送路]]なら、無視します。
= [308] [[安全な輸送路]]に関する[[誤り]]や[[警告]]があれば、無視します。
= [306] 複数の[[ヘッダー]]があれば、最初のもののみを処理し、他は無視します。
= [307] 構文的に正しくなければ、無視します。
= [312] [[合同一致]]する[[既知HSTSホスト]]を探します。
=- [313] 見つかれば、
=-- [311] [CODE(HTTP)@en[[[max-age]]]] が[[零]]なら、この[[既知HSTSホスト]]の情報を削除します。
=-- [310] それ以外なら、 [CODE(HTTP)@en[[[max-age]]]] や
[CODE(HTTP)@en[[[includeSubDomains]]]] の情報を更新します。
=- [314] 見つからなければ、
=-- [315] [[ホスト]]が[[IPアドレス]]で指定されたものなら、何もしません。
=-- [309] そうでなければ、新たに[[既知HSTSホスト]]とします。
]FIG]
;; [445] [CODE(HTTP)@en[[[Strict-Transport-Security:]]]] [[ヘッダー]]が指定されていないからといって[[既知HSTSホスト]]から削除してはいけません。
[446] [[利用者エージェント]]は [CODE(URI)@en[[[http:]]]] [[URL]]
による [[HTTP要求]]を送信するに当たり、 [[既知HSTSホスト]]の情報に基づき書き換えを行います。
;; [[main fetch]] 参照。
[HISTORY[
[61] [[利用者エージェント]]は [[WebSocketコンストラクター]]の処理で
[[HSTS]] を適用しなければなりません。
;; [[WebSocketコンストラクター]]参照。
]HISTORY]
[444] [[利用者エージェント]]は、 [[既知HSTSホスト]]に[[接続]]する際に、
[[安全な輸送路]]の[[誤り]]や[[警告]]があれば、[[接続]]を終端しなければ[['''なりません''']]
[SRC[>>3 8.3.]]。
;; [62] その方法として [[fatal alert]] を使うべきなのか、通常の終了でもいいのかは定かではありません。
* セキュリティー
[52] [[HSTS]] は、 [[fingerprinting vector]] です。
[39] [[Webブラウザー]]は、[[HSTSスーパークッキー]]脆弱性に注意が必要です [SRC[>>51]]。
* ポート
[59] [[HSTS]] は[[ドメイン]]または[[ドメイン]]および[[サブドメイン]]群に対する指定なので、
すべての[[ポート]]に適用されます。
* 関連
[75] [CODE(HTTP)@en[Upgrade-Insecure-Requests:]] も参照。
[78] [[iOS]] には [[ATS]] なる仕組みが存在します。
[79] [[HSTS]] の処理は、[[混合内容]]の検査よりも後に実行されます ([[main fetch]]
参照)。ですから [[HSTS]] が有効になっていたとしても、 [CODE(URI)@en[http:]]
[[URL]] が指定されていると、読み込みエラーとなります。
[80] [[UIR]] の処理は、[[混合内容]]の検査よりも先に実行されます ([[main fetch]])。
従って [CODE(URI)@en[http:]] [[URL]] を使った既存の[[文書]]との互換性を保ちたいときは、
[[HSTS]] だけでなく [[UIR]] を使えば良いのです。ただし、 [[UIR]]
で[[格上げ]]される条件には制約がありますから、注意が必要です
([[main fetch]] 参照)。
* 歴史
[REFS[
- [20] [CITE[ForceHTTPS]] ([TIME[2014-06-06 14:25:14 +09:00]] 版) <https://crypto.stanford.edu/forcehttps/>
- [19] [CITE@en[fyi: Strict Transport Security specification]]
([[Hodges, Jeff]] 著, [TIME[2009-09-19 07:21:05 +09:00]] 版)
<http://lists.w3.org/Archives/Public/public-webapps/2009JulSep/1160.html>
- [17] [CITE[Chromium Blog: Security in Depth: New Security Features]]
( ([TIME[2012-11-17 12:03:40 +09:00]] 版))
<http://blog.chromium.org/2010/01/security-in-depth-new-security-features.html>
- [13] [CITE@en-US[Firefox 4: HTTP Strict Transport Security (force HTTPS) ✩ Mozilla Hacks – the Web developer blog]]
( ([TIME[2011-04-24 12:29:35 +09:00]] 版))
<http://hacks.mozilla.org/2010/08/firefox-4-http-strict-transport-security-force-https/>
- [12] [CITE@en[draft-hodges-strict-transport-sec - HTTP Strict Transport Security (HSTS)]]
<http://tools.ietf.org/html/draft-hodges-strict-transport-sec>
- [16] [CITE@en[draft-ietf-websec-strict-transport-sec-14 - HTTP Strict Transport Security (HSTS)]]
( ([TIME[2012-10-04 06:12:04 +09:00]] 版))
<http://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14>
]REFS]
** Fetch との統合
[REFS[
- [1] [CITE[Call out HSTS. https://www.w3.org/Bugs/Public/show_bug.cgi?id=22645 · d64282d · whatwg/fetch]]
( ([TIME[2013-11-15 08:34:35 +09:00]] 版))
<https://github.com/whatwg/fetch/commit/d64282df7f5ca668f79b3f8d2cdbb99cae303476>
- [2] [CITE[Make HSTS text more detailed per https://www.w3.org/Bugs/Public/show_bug... · 6ae0b8e · whatwg/fetch]]
( ([TIME[2014-06-05 12:00:21 +09:00]] 版))
<https://github.com/whatwg/fetch/commit/6ae0b8e2bbf7362396eb697203753d09cfca6ea0>
]REFS]
[448] [CITE@en[Re: Redirects and HSTS]]
( ([[Anne van Kesteren]] 著, [TIME[2014-09-26 21:11:35 +09:00]] 版))
<http://lists.w3.org/Archives/Public/public-webappsec/2014Sep/0110.html>
[38] [CITE@en[Fix the order of CSP, HSTS, Mixed Content, and Referrer https://www.w3.o... · b8c2c49 · whatwg/fetch]]
([TIME[2015-01-28 18:20:37 +09:00]] 版)
<https://github.com/whatwg/fetch/commit/b8c2c4964c233cd3616042c04e2c14e0ff25485d>
** Web Sockets への適用
[449] [CITE@en[664284 – Add HSTS support for websockets]]
( ([TIME[2014-12-11 11:50:38 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=664284>
[450] [CITE@en[''''''[''''''chrome'''''']'''''' Revision 82069]]
( ([TIME[2014-12-11 11:51:03 +09:00]] 版))
<http://src.chromium.org/viewvc/chrome?revision=82069&view=revision>
[451] [CITE@en[Bug 27554 – After the WebSocket object is returned we should probably integrate with HSTS. For Fetch that happen ''''''[''''''...'''''']'''''']]
( ([TIME[2014-12-11 11:51:13 +09:00]] 版))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=27554>
** HSTS スーパークッキー問題
[452] [CITE@en[RadicalResearch HSTS Super Cookies]]
( ([TIME[2015-01-08 12:25:38 +09:00]] 版))
<http://www.radicalresearch.co.uk/lab/hstssupercookies/>
[453] [CITE[Issue 104935 - chromium - Security: HSTS "cookies" do not obey expected policy. - An open-source project to help move the web forward. - Google Project Hosting]]
( ([TIME[2015-01-08 12:25:59 +09:00]] 版))
<https://code.google.com/p/chromium/issues/detail?id=104935>
[454] [CITE[Issue 258667 - chromium - HSTS pins and HSTS metadata stored even when cookies are rejected - An open-source project to help move the web forward. - Google Project Hosting]]
( ([TIME[2015-01-08 12:26:08 +09:00]] 版))
<https://code.google.com/p/chromium/issues/detail?id=258667>
[455] [CITE[Chrome Fixes STS Privacy Issue ha.ckers.org web application security lab]]
( ([TIME[2015-01-08 12:26:25 +09:00]] 版))
<http://ha.ckers.org/blog/20100413/chrome-fixes-sts-privacy-issue/>
* 実装
[REFS[
- [15] [CITE@ja[HTTP Strict Transport Security - Security | MDN]]
( ([TIME[2012-08-04 21:26:55 +09:00]] 版))
<https://developer.mozilla.org/ja/docs/Security/HTTP_Strict_Transport_Security>
]REFS]
[447] [CITE[HSTS Preload Submission]]
( ([TIME[2014-09-16 03:36:42 +09:00]] 版))
<https://hstspreload.appspot.com/>
[40] [CITE@en[UPGRADE: Relation to HSTS. · df9adb8 · w3c/webappsec]]
([TIME[2015-02-13 13:56:15 +09:00]] 版)
<https://github.com/w3c/webappsec/commit/df9adb8910b1b09b72dce5cc999b3b725fbcd4f3>
[41] [CITE@en-US[Preloading HSTS | Mozilla Security Blog]]
([TIME[2015-03-11 18:32:56 +09:00]] 版)
<https://blog.mozilla.org/security/2012/11/01/preloading-hsts/>
[42] [CITE@en[''''''[''''''chrome'''''']'''''' Contents of /trunk/src/net/http/transport_security_state_static.json]]
([TIME[2015-03-11 18:33:29 +09:00]] 版)
<https://src.chromium.org/viewvc/chrome/trunk/src/net/http/transport_security_state_static.json>
[43] [CITE@en[HTTP Strict Transport Security comes to Internet Explorer - IEBlog - Site Home - MSDN Blogs]]
([TIME[2015-03-11 18:36:00 +09:00]] 版)
<http://blogs.msdn.com/b/ie/archive/2015/02/16/http-strict-transport-security-comes-to-internet-explorer.aspx>
[55] [CITE@en[Strict Transport Security - IEInternals - Site Home - MSDN Blogs]]
([TIME[2015-06-06 23:48:48 +09:00]] 版)
<http://blogs.msdn.com/b/ieinternals/archive/2014/08/18/hsts-strict-transport-security-attacks-mitigations-deployment-https.aspx>
[56] [CITE@en[HTTP Strict Transport Security comes to Internet Explorer - IEBlog - Site Home - MSDN Blogs]]
([TIME[2015-06-06 23:52:26 +09:00]] 版)
<http://blogs.msdn.com/b/ie/archive/2015/02/16/http-strict-transport-security-comes-to-internet-explorer.aspx>
[58] [CITE@en[HTTP Strict Transport Security comes to Internet Explorer - IEBlog - Site Home - MSDN Blogs]]
([TIME[2015-09-04 13:37:59 +09:00]] 版)
<http://blogs.msdn.com/b/ie/archive/2015/02/16/http-strict-transport-security-comes-to-internet-explorer.aspx>
[60] [CITE@en[Apply HSTS to WebSocket · whatwg/html@8b46c20]]
([TIME[2015-09-19 13:23:23 +09:00]] 版)
<https://github.com/whatwg/html/commit/8b46c205cc2b54bb4d57bd7ad12baf9492e40edd>
[64] [CITE[HTTP Strict Transport Security - The Chromium Projects]]
([TIME[2015-10-06 21:44:47 +09:00]] 版)
<https://www.chromium.org/hsts/>
[65] [CITE[google chrome - HSTS Preload list からドメインを削除したい - スタック・オーバーフロー]]
([TIME[2015-10-06 21:52:38 +09:00]] 版)
<http://ja.stackoverflow.com/questions/9510/hsts-preload-list-%E3%81%8B%E3%82%89%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E5%89%8A%E9%99%A4%E3%81%97%E3%81%9F%E3%81%84>
[67]
[PRE(HTTP code)[
Strict-Transport-Security: max-age=10886400; includeSubDomains; preload
]PRE]
[FIG(quote)[
[FIGCAPTION[
[68] [CITE@en[HSTS Priming]]
([TIME[2015-11-07 02:51:37 +09:00]] 版)
<https://mikewest.github.io/hsts-priming/>
]FIGCAPTION]
> This document proposes modifications to Strict Transport Security’s behavior in order to mitigate the risk that mixed content blocking will prevent migrations from HTTP to HTTPS.
]FIG]
[69] [CITE@en[HSTS Priming, continued.]]
([[Mike West]] 著, [TIME[2015-11-06 23:33:11 +09:00]] 版)
<https://lists.w3.org/Archives/Public/public-webappsec/2015Nov/0003.html>
[71] [CITE@en[Editorial: remove HSTS reference · whatwg/html@96be6c0]]
([TIME[2016-03-16 14:15:57 +09:00]] 版)
<https://github.com/whatwg/html/commit/96be6c02315d677c48ac334a689a48cbd1929c95>
[72] [CITE@en[Fix #244: improve HSTS language · whatwg/fetch@6568ab8]]
([TIME[2016-03-27 22:44:45 +09:00]] 版)
<https://github.com/whatwg/fetch/commit/6568ab88c1fbfb581f63f8e5f020c367ef38e78d>
[FIG(quote)[
[FIGCAPTION[
[73] [CITE@en[GitHub]]
([TIME[2016-04-18 00:54:38 +09:00]] 版)
<https://github.com/>
]FIGCAPTION]
> Strict-Transport-Security:max-age=31536000; includeSubdomains; preload
]FIG]
[FIG(quote)[
[FIGCAPTION[
[74] [CITE@ja[Twitter]]
([TIME[2016-04-18 00:56:15 +09:00]] 版)
<https://twitter.com/>
]FIGCAPTION]
> strict-transport-security:max-age=631138519
]FIG]
[FIG(quote)[
[FIGCAPTION[
[77] [CITE@en[921907 – Enable OCSP must-staple feature]]
( ([TIME[2016-05-09 21:47:49 +09:00]]))
<https://bugzilla.mozilla.org/show_bug.cgi?id=921907>
]FIGCAPTION]
> Bug #901698 seems to be more about the HSTS-style Must-Staple, not the x509v3 extension. That work seems to be stalled, because it suffers from the first-connection problem or scalability issues if Must-Staple preload lists have to be distributed.
]FIG]
[81] [CITE@en[Google Online Security Blog: Bringing HSTS to www.google.com]]
( ([TIME[2016-08-30 17:06:08 +09:00]]))
<https://security.googleblog.com/2016/07/bringing-hsts-to-wwwgooglecom.html>
[82] [CITE@en-US[Strict Transport Security]]
([TIME[2009-12-19 07:41:08 +09:00]] 版)
<http://lists.w3.org/Archives/Public/www-archive/2009Dec/att-0048/draft-hodges-strict-transport-sec-06.plain.html>
[FIG(quote)[
[FIGCAPTION[
[83] [CITE@en[Creating Safari Content-Blocking Rules]]
([TIME[2017-06-06 17:08:03 +09:00]])
<https://developer.apple.com/library/content/documentation/Extensions/Conceptual/ContentBlockingRules/CreatingRules/CreatingRules.html#//apple_ref/doc/uid/TP40016265-CH2-SW1>
]FIGCAPTION]
> make-https
> Changes a URL from http to https before making a server request. URLs with a specified port (other than the default port 80) and links using other protocols are not affected.
]FIG]
[84] [CITE@en[should BroadcastChannel be disabled if a window does not have access to storage? · Issue #3054 · whatwg/html]]
([TIME[2017-12-21 00:24:30 +09:00]])
<https://github.com/whatwg/html/issues/3054>
[85] [CITE[Protecting Against HSTS Abuse | WebKit]]
([TIME[2018-05-01 06:00:57 +09:00]])
<https://webkit.org/blog/8146/protecting-against-hsts-abuse/>