Hypertext Transfer Protocol (HTTP/1.1): Authentication
draft-ietf-httpbis-p7-auth-26

Note: This ballot was opened for revision 24 and is now closed.

Search Mailarchive

(Barry Leiba) Yes

(Jari Arkko) No Objection

Comment (2013-12-19 for -25)
Kathleen Moriarty made a Gen-ART review which raised comments which I believe would be useful to consider (but we've not seen a reply yet).

Minor issues: 

In section 2.1, in third to last paragraph, why is ought used here instead of a keyword?  This is a point that could help with interoperability, so I think a keyword is important.  Unless there is another error message, one should be provided when the role access requirements are not met.  Users would expect this functionality.

Nits/editorial comments:

Section 3.2.1 - please fix the run-on sentence, the first one as it is difficult to read.  Suggestion:
From:
If a server receives a request for an access-protected object, and an
  acceptable Authorization header is not sent, the server responds with
  a "401 Unauthorized" status code, and a WWW-Authenticate header as
  per the framework defined above, which for the digest scheme is
  utilized as follows:
To:
If a server receives a request for an access-protected object and an
  acceptable Authorization header is not sent.  The server responds with
  a "401 Unauthorized" status code and a WWW-Authenticate header as
  per the framework defined above.  For the digest scheme, this is
  utilized as follows:

Section 4.1, second to last paragraph.  Please consider rewording the content in parenthesis, it is difficult to read and probably found just be a separate sentence rather than included with the prior sentence in parenthesis.
"If a request is authenticated and a realm specified, the same
  credentials are presumed to be valid for all other requests within
  this realm (assuming that the authentication scheme itself does not
  require otherwise, such as credentials that vary according to a
  challenge value or using synchronized clocks)."

Section 4.2, second paragraph, consider breaking the following sentence into two:
From:
However, if a recipient proxy needs to obtain its
  own credentials by requesting them from a further outbound client, it
  will generate its own 407 response, which might have the appearance
  of forwarding the Proxy-Authenticate header field if both proxies use
  the same challenge set.
To:
However, if a recipient proxy needs to obtain its
  own credentials by requesting them from a further outbound client, it
  will generate its own 407 response.  This might have the appearance
  of forwarding the Proxy-Authenticate header field if both proxies use
  the same challenge set.

Section 4.4, the last paragraph could be read more clearly with the following change:
From:
This header field contains two challenges; one for the "Newauth"
  scheme with a realm value of "apps", and two additional parameters
  "type" and "title", and another one for the "Basic" scheme with a
  realm value of "simple".
To:
This header field contains two challenges; one for the "Newauth"scheme
with a realm value of "apps" and two additional parameters
  "type" and "title", and the second for the "Basic" scheme with a
  realm value of "simple".

Section 6: Security Considerations
Could you add in text to inform developers that content should not be accessed before authentication occurs when required?  I know this sounds obvious, but I recently ran into this issue.  On a Mac, I am able to see that the application server/database information is actually loaded before I authenticate (sure there is a SQL injection happening here too) and the screen is slightly greyed out.  On a PC, it appears to block access, but this is a display thing rather than requiring the authentication to actually work prior to serving content.
Perhaps something like the following:

When a web service is configured to use authentication, content from the application server requiring authentication MUST not be accessed until the authentication has completed successfully.

(Richard Barnes) No Objection

Comment (2013-12-18 for -25)
COMMENT 1:
In Section 3.1, suggest clarifying:

OLD: "The origin server MUST send a WWW-Authenticate ... target resource."

NEW: "The origin server MUST send a WWW-Authenticate ... target resource. (If the server is unwilling to grant access for any credentials, it should instead use the 403 (Forbidden) status code.)"

(Stewart Bryant) No Objection

Benoit Claise No Objection

Spencer Dawkins No Objection

(Adrian Farrel) No Objection

(Stephen Farrell) No Objection

Comment (2013-12-18 for -25)

- 2.2: shouldn't there be some mention of how realms map to
web-origins here? I don't necessarily mean in a normative
manner, but to explain.

- 4.2: I didn't find the description of chains of proxies
very clear. An example would help I think.  Although it looks
like chains of proxies all doing 407 are not very well
defined - is that fair?

- Please check the secdir review. [1] I agree with the
comment that this really should have some mention of using
TLS to protect basic/digest, even if that ought also be
elsewhere.

   [1] http://www.ietf.org/mail-archive/web/secdir/current/msg03491.html

(Brian Haberman) No Objection

(Joel Jaeggli) No Objection

(Pete Resnick) No Objection

(Martin Stiemerling) No Objection

(Sean Turner) No Objection

Comment (2013-12-19 for -25)
 *) I'll not repeats the OWS discuss point from p1.  If it gets changed there I assume it will get changed here.  If not then this can be ignored.

0) Abstract: Maybe would add stateless in front of protocol in the description.

1) So I guess the reason we're not saying TLS is an MTI with basic/digest is that that's getting done in an httpauth draft?  It really wouldn't hurt to duplicate that while we're getting the other one done (I know you *don't* want a reference to that draft).