/
290.txt
77 lines (60 loc) · 3.8 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
[4] [DFN[[[HSTS]]]] ([DFN[HTTP Strict Transport Security]]) は、
素の [[HTTP]] を用いず、専ら [[HTTPS]] のみを用いることを [[Webサーバー]]から
[[Webブラウザー]]に伝達するための仕組みです。
[5] 2010年代になって [[Webブラウザー]]に実装されると共に、 [[RFC 6797]]
として出版されています。
* 仕様書
[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>
]REFS]
* 脅威モデル
[6] [[HSTS]] は、次のような脅威に対処することを想定しています [SRC[>>3 2.]]。
- [7] ネットワーク上の受動的な攻撃。例えば[[無線LAN]]で[[パケット]]を盗聴して[[セッションID]]
を盗むなど。
- [8] ネットワーク上の能動的な攻撃。[[DNS]] や[[アクセスポイント]]を汚染するなど。
- [9] [[Webサイト]]の実装上の不備。一部のファイルだけ [[HTTPS]] でなくてもアクセスできてしまうなど。
[10] こうした問題は [[HTTPS]] ([[HTTP]] over [[TLS]]) で解決できるとされていますが、
[[HTTP]] と [[HTTPS]] の両方が提供されていると [[HTTP]] 側が脆弱なままになってしまいます。
[[サーバー]]側が[[HTTP]] を提供していなくても、攻撃者が偽の [[HTTP]]
[[サーバー]]を用意してそこにアクセスさせることが原理的に可能です。
[[HSTS]] は [[HTTPS]] のみ提供し、 [[HTTP]] は提供しないことを明確にすることで、
こうした問題を回避しようとしています。
[11] [[フィッシング]]の防止や不正なソフトウェアや [[Webブラウザー]]の不具合による問題は、
[[HSTS]] の対象外です [SRC[>>3 2.]]。
* ヘッダー
[14] 次の[[HTTPヘッダー]]が定義されています。
[FIG[
- [CODE(HTTP)@en[[[Strict-Transport-Security:]]]] ([[応答ヘッダー]])
]FIG]
* [CODE(HTTP)@en[Strict-Transport-Security:]] ヘッダー (HTTP)
[18] [[HTTP]] の [DFN[[CODE(HTTP)@en[[[Strict-Transport-Security:]]]]]]
[[応答ヘッダー]]は、当該[[ホスト]]に関する[[HSTSポリシー]]を示すものです [SRC[>>3 6.1.]]。
* 歴史
[REFS[
- [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]
* 実装
[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]