Opened 9 years ago

Closed 9 years ago

#510 closed editorial (incorporated)

SECDIR review of draft-ietf-httpbis-p7-auth-24

Reported by: julian.reschke@… Owned by: draft-ietf-httpbis-p7-auth@…
Priority: normal Milestone: 25
Component: p7-auth Severity: In IETF LC
Keywords: Cc:

Description (last modified by julian.reschke@…)

Stephen Kent:

I reviewed this document as part of the security directorate's ongoing effort to review all IETF documents being processed by the IESG.These comments were written primarily for the benefit of the security area directors.Document editors, WG chairs and ADs should treat these comments just like any other last call comments.

The document obsoletes RFC 2616 and updates 2617. It says that it “defines HTTP/1.1 access control and authentication.” I have not been tracking httpbis closely enough to know the specific motivations for generating this doc, so my review is unbiased by that context.

I see that “ought” is used in two places on page 6, but not in uppercase as per RFC 6919. The authors should revisit the use of this term here. - see

Also on page 6 it appears that the phrase “receipt of” was omitted in two places:

Upon *<> *a request for a protected resource that omits credentials

Likewise, upon *<>* a request that requires authentication by proxies - see [2449]

Later on page 6 the text says:

The HTTP protocol does not restrict applications to this simple challenge-response framework for access authentication. Additional mechanisms MAY be used, such as encryption at the transport level or via message encapsulation, and with additional header fields specifying authentication information. However, such additional mechanisms are not defined by this specification.

Encryption is not, per se, an authentication mechanism. Please revise this text. - see thread starting at and [2463]

In Section 2.2 the text says:

The protection space determines the domain over which credentials can be automatically applied. If a prior request has been authorized, the user agent MAY reuse the same credentials for all other requests within that protection space for a period of time determined by the authentication scheme, parameters, and/or user preference.

I’m not clear how user preferences fit into this process. It would seem that the server would decide whether a prior authorization is valid for later requests, not a user. - see

The end of Section 2.2 includes the word “might” but not uppercase, as per RFC 6919. I again suggest that the authors reconsider using this term in this context. - see

In Section 4.3, the text says:

A proxy MAY relay the credentials from the client request to the next proxy if that is the mechanism by which the proxies cooperatively authenticate a given request.

If, as stated here, a set of proxies cooperatively authenticate a request, then isn’t this a MUST vs. a MAY? - see

In Section 4.4 the text says:

Note: The challenge grammar production uses the list syntax as well. Therefore, a sequence of comma, whitespace, and comma can be considered both as applying to the preceding challenge, or to be an empty entry in the list of challenges. In practice, this ambiguity does not affect the semantics of the header field value

Should “both” be “either” in the above text? Does the potentially ambiguous construct ever take on both meanings simultaneously? - see [2450] and

Section 5.1.2 uses “ought” when discussing definitions for new authentication schemes. See comments above re use of this term.The same section also uses the phrase “need to” twice, where MUST seems appropriate. - see

The Security Considerations section (6) is about one page in length. It references the SC sections in two in I-Ds: draft-ietf-httpbis-p1-messaging-24 and draft-ietf-httpbis-p2-semantics-24. Both of these I-Ds have non-trivial SC sections, but one cannot say that this document has an acceptable SC section until those documents are finalized. They are both normative references, so this doc will nor progress independently, but there will still be a need to revisit this SC when those SCs are finalized.

The SC section here addresses only two issues: purging credentials in clients and user agents, and protection spaces. The discussion of the former topic does not discuss how credential purging applies to proxies. Also, it is not clear that a user control for credential purging will have the desired effect given a potentially complex GUI environment. The discussion of protection spaces provides useful suggestions on how to minimize credential exposure.

I was a bit surprised that there was no advice deprecating the use of passwords as credentials, if only to make a statement on this topic. - see

Change History (15)

comment:1 Changed 9 years ago by julian.reschke@…

  • Description modified (diff)

comment:2 Changed 9 years ago by julian.reschke@…

  • Description modified (diff)

comment:3 Changed 9 years ago by julian.reschke@…

From [2449]:

s/upon a request/upon receipt of a request/ (see #510)

comment:4 Changed 9 years ago by julian.reschke@…

  • Description modified (diff)

comment:5 Changed 9 years ago by julian.reschke@…

  • Description modified (diff)

comment:6 Changed 9 years ago by julian.reschke@…

From [2450]:

s/both/either/ in discussion of WWW-A parsing (see #510)

comment:7 Changed 9 years ago by julian.reschke@…

  • Description modified (diff)

comment:8 Changed 9 years ago by julian.reschke@…

  • Description modified (diff)

comment:9 Changed 9 years ago by julian.reschke@…

  • Description modified (diff)

comment:10 Changed 9 years ago by julian.reschke@…

  • Description modified (diff)
  • Type changed from design to editorial

comment:11 Changed 9 years ago by julian.reschke@…

From [2457]:

add an example for a realm-related user preference (see #510)

comment:12 Changed 9 years ago by julian.reschke@…

From [2463]:

Rephrase statement about additional methods to authenticate (see #510)

comment:13 Changed 9 years ago by julian.reschke@…

  • Description modified (diff)

comment:14 Changed 9 years ago by julian.reschke@…

  • Severity changed from In WG Last Call to In IETF LC

comment:15 Changed 9 years ago by julian.reschke@…

  • Milestone changed from unassigned to 25
  • Resolution set to incorporated
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.