- From: Scott Lawrence <scott-http@skrb.org>
- Date: Wed, 26 Nov 2003 12:09:08 -0500
- To: ietf-http-wg@w3.org
- Cc: "Yngve N. Pettersen (Developer Opera Software ASA)" <yngve@opera.com>, Adam Roach <adam@dynamicsoft.com>
In keeping with Jims' admonition to get text this week, I propose
the following edit for 2616++ to clarify the Digest password
encoding issue; immediately following the ABNF for passwd in
3.2.2.2, add:
The passwd value SHOULD be encoded using UTF-8 [ref] for input to
the hash. The encoding of the passwd value was not specified by
[RFC 2616], so for backward compatibility, servers MAY also
calculate the A1 value using any convention used prior to this
specification.
So that section would read:
3.2.2.2 A1
If the "algorithm" directive's value is "MD5" or is unspecified, then
A1 is:
A1 = unq(username-value) ":" unq(realm-value) ":" passwd
where
passwd = < user's password >
The passwd value SHOULD be encoded using UTF-8 [ref] for input to
the hash. The encoding of the passwd value was not specified by
[RFC 2616], so for backward compatibility, servers MAY also
calculate the A1 value using any convention used prior to this
specification.
If the "algorithm" directive's value is "MD5-sess", then A1 is
calculated only once - on the first request by the client following
receipt of a WWW-Authenticate challenge from the server. It uses the
server nonce from that challenge, and the first client nonce value to
construct A1 as follows:
A1 = H( unq(username-value) ":" unq(realm-value)
":" passwd )
":" unq(nonce-value) ":" unq(cnonce-value)
This creates a 'session key' for the authentication of subsequent
requests and responses which is different for each "authentication
session", thus limiting the amount of material hashed with any one
key. (Note: see further discussion of the authentication session in
section 3.3.) Because the server need only use the hash of the user
credentials in order to create the A1 value, this construction could
be used in conjunction with a third party authentication service so
that the web server would not need the actual password value. The
specification of such a protocol is beyond the scope of this
specification.
--
Scott Lawrence
http://skrb.org/scott/
Received on Wednesday, 26 November 2003 12:09:18 UTC