/
445.txt
114 lines (84 loc) · 6.04 KB
/
445.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
[30] [DFN[[CODE(HTTP)@en[[[Authentication-Info:]]]]]] は[[起源サーバー]]の、
[DFN[[CODE(HTTP)@en[[[Proxy-Authentication-Info:]]]]]] は[[プロキシ]]の
[[HTTP認証]]に関する情報を[[サーバー]]から[[クライアント]]へと伝送するための
[[HTTPヘッダー]]です。
* 仕様書
[REFS[
- [15] '''[CITE@en[RFC 7615 - HTTP Authentication-Info and Proxy-Authentication-Info Response Header Fields]] ([TIME[2015-10-01 10:01:32 +09:00]] 版) <https://tools.ietf.org/html/rfc7615>'''
- [11] [CITE@en[RFC 4976 - Relay Extensions for the Message Sessions Relay Protocol (MSRP)]] ([TIME[2014-10-18 23:44:47 +09:00]] 版) <https://tools.ietf.org/html/rfc4976#section-4.5>
- [31] [CITE@en[RFC 7616 - HTTP Digest Access Authentication]] ([TIME[2015-11-10 07:05:08 +09:00]] 版) <https://tools.ietf.org/html/rfc7616#section-3.5>
- [35] [CITE@en[RFC 7616 - HTTP Digest Access Authentication]] ([TIME[2015-11-10 07:05:08 +09:00]] 版) <https://tools.ietf.org/html/rfc7616#section-3.6>
- [36] [CITE@en[RFC 7616 - HTTP Digest Access Authentication]] ([TIME[2015-11-10 07:05:08 +09:00]] 版) <https://tools.ietf.org/html/rfc7616#section-3.8>
]REFS]
* 意味
[16] [[認証方式]]は、[[クライアント]]の[[認証]] [[credentials]]
を承認したら、情報伝達のために [CODE(HTTP)@en[[[Authentication-Info:]]]]
[[応答ヘッダー]]を使うことができます [SRC[>>15]]。
[25] [CODE(HTTP)@en[[[Proxy-Authentication-Info:]]]] [[ヘッダー]]は、
[CODE(HTTP)@en[[[Authentication-Info:]]]] [[ヘッダー]]と同様のものですが、
[[プロキシ]]の[[認証]]に用いられます [SRC[>>15, >>36]]。
[21] 本[[ヘッダー]]の意味は、[[要求]]の [CODE(HTTP)@en[[[Authorization:]]]]
[[ヘッダー]]または [CODE(HTTP)@en[[[Proxy-Authorization:]]]]
[[ヘッダー]]で示された[[認証方式]]により定義されます [SRC[>>15]]。
;; [22] 特に定義がない場合どう解釈するべきなのかは不明です。無視するのが適切そうではありますが。
* 構文
[17] 値は、 [CODE(HTTP)@en[[[auth-param]]]] の[[リスト]] ([CODE(HTTP)[#]])
です [SRC[>>15]]。
[FIG(railroad)[
= [CODE(ABNF)@en[[[auth-param]]]]
= *
== [[FWS]]
== [CODE(HTTP)@en[[[,]]]]
== [[FWS]]
== [CODE(HTTP)@en[[[auth-param]]]]
]FIG]
[24] 引数の値は[[字句]]と[[引用文字列]]の両方を送受信できなければなりません。
しかし[[後方互換性]]のため[[認証方式]]次第で送信者がどちらを使うべきか制限しても構いません。
[SRC[>>15]]
* 引数
[18] [[認証方式]]ごとに利用する[[引数]]を規定できます [SRC[>>15]]。
[FIG(short list)[
- [7] [CODE(HTTP)@en[[[cnonce]]]] [SRC[>>5, >>31]]
- [3] [CODE(HTTP)@en[[[digest]]]] [SRC[>>1]]
- [2] [CODE(HTTP)@en[[[nextnonce]]]] [SRC[>>1, >>5, >>31]]
- [6] [CODE(HTTP)@en[[[nc]]]] [SRC[>>5, >>31]]
- [9] [CODE(HTTP)@en[[[rspauth]]]] [SRC[>>5, >>31]]
- [8] [CODE(HTTP)@en[[[qop]]]] [SRC[>>5, >>31]]
]FIG]
* 文脈
[19] [CODE(HTTP)@en[[[Authentication-Info:]]]] [[ヘッダー]]は、
[[要求メソッド]]や[[状態符号]]に関わらず、
任意の[[応答]]で使うことができます [SRC[>>15]]。
;; [20] [[HTTP認証]]を使わない場面でも使うことができるのかどうかは定かではありません。
[33] [[ダイジェスト認証]]では、[[サーバー]]は、[[認証]]に成功したら[[応答]]に[[ヘッダー]]を含めることができます
[SRC[>>31]]。
[10] [CODE(HTTP)@en[[[Authentication-Info:]]]] [[ヘッダー]]は、
[[認証方式]]が認める場合は [SRC[>>15]]、[[トレーラー部]]でも使えます [SRC[>>5, >>15]]。
[34] [[ダイジェスト認証]]では、使うことができます [SRC[>>31]]。
;; [26] [CODE(HTTP)@en[[[Proxy-Authentication-Info:]]]] について明記されていませんが、
同様と思われます。
* 処理
[23] [[応答]]を[[転送]]する[[プロキシ]]は、 [CODE(HTTP)@en[[[Authentication-Info:]]]]
[[ヘッダー]]を変更してはなりません [SRC[>>15, >>35]]。
[27] [CODE(HTTP)@en[[[Proxy-Authentication-Info:]]]] [[ヘッダー]]は[[外向き]]の次の[[クライアント]]に向けたもので、
[[転送]]しないのが普通です。しかし[[プロキシ]]が多段になっていて[[下流]]から
[[credentials]] を受け取って[[転送]]したような場合には、
[CODE(HTTP)@en[[[Proxy-Authentication-Info:]]]] [[ヘッダー]]が[[転送]]されることもあります。
[SRC[>>15]]
* 歴史
[REFS[
- [1] [CITE@en[RFC 2069 - An Extension to HTTP : Digest Access Authentication]] ([TIME[2012-02-26 10:05:21 +09:00]] 版) <http://tools.ietf.org/html/rfc2069#section-2.1.3>
- [14] [CITE@en[RFC 2069 - An Extension to HTTP : Digest Access Authentication]] ([TIME[2012-02-26 10:05:21 +09:00]] 版) <http://tools.ietf.org/html/rfc2069#section-2.5>
- [4] [CITE@en[RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication]] ([TIME[2012-01-09 21:04:30 +09:00]] 版) <http://tools.ietf.org/html/rfc2617#section-3.2.3>
- [5] [CITE@en[RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication]] ([TIME[2012-01-09 21:04:30 +09:00]] 版) <http://tools.ietf.org/html/rfc2617#section-3.2.3>
- [13] [CITE@en[RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication]] ([TIME[2012-01-09 21:04:30 +09:00]] 版) <http://tools.ietf.org/html/rfc2617#section-3.6>
]REFS]
[12] [CITE[Session Initiation Protocol (SIP) Parameters]]
( ([TIME[2014-11-13 16:25:40 +09:00]] 版))
<http://www.iana.org/assignments/sip-parameters/sip-parameters.xhtml#sip-parameters-12>
[28] [[RFC 2617]] の改訂である [[RFC 7615]] は、
[[Digest認証]]以外への適用可能性を理由に [SRC[>>15]]、 [CODE(HTTP)@en[[[Authentication-Info:]]]]
と [CODE(HTTP)@en[[[Proxy-Authentication-Info:]]]] を独立した [[RFC]]
としています。
;; [29] それなら [[RFC 7235]] に入れておけばよかったように思いますが...
[32] [[ダイジェスト認証]]に関する規定は [[RFC 7616]] に移行しています。