Last Call Review of draft-ietf-httpauth-hoba-07

Request Review of draft-ietf-httpauth-hoba
Requested rev. no specific revision (document currently at 10)
Type Last Call Review
Team Security Area Directorate (secdir)
Deadline 2014-12-24
Requested 2014-12-11
Draft last updated 2015-01-02
Completed reviews Genart Last Call review of -07 by David Black (diff)
Genart Telechat review of -08 by David Black (diff)
Secdir Last Call review of -07 by Donald Eastlake (diff)
Opsdir Last Call review of -07 by David Black (diff)
Assignment Reviewer Donald Eastlake
State Completed
Review review-ietf-httpauth-hoba-07-secdir-lc-eastlake-2015-01-02
Reviewed rev. 07 (document currently at 10)
Review result Has Issues
Review completed: 2015-01-02


I have reviewed this document as part of the security directorate's
ongoing effort to review all IETF documents being processed by the
IESG.  Document editors and WG chairs should treat these comments just
like any other last call comments.

This draft specifies an Experimental protocol to use digital
signatures in response to challenges for authentication to HTTP
servers as a replacement for passwords. There are a lot more details
than that and considerable effort has been put into making this fit
into existing web authentication so as to be easily deployable.
Overall, it looks like a good job. See comments below.

As a heavily security oriented draft, I recommend it be looked at by
the non-author Security AD :-)

> Security Comments <

This draft is fairly clear about what happens when mandatory 2119
requirements are violated in strictly security contexts, such as a
signature not validating. But is generally doesn't say much about
what happens when mandatory formatting requirements are violated. I
guess if things don't parse, then authentication will fail. But, for
example, it says "The "realm" attribute MUST NOT appear more than
once." Whenever I see something like that, I say to myself, OK, so
what happens if the "MUST NOT" is violated? If the spec says nothing,
then I would expect that with some implementations authentication
would fail while others would use the first realm attribute and still
others would use the last realm attribute. Could that be a problem?

This draft uses "random" and "randomness" in various places without
any reference/definition.

Security Considerations:

Perhaps there should be a reference in the Security Considerations
section to Section 1.1.

Can some level of confusion/denial be caused by setting max-age to a
lower value than the server intended?

Appendix B: It is good that an example is provided it seems like some
things are missing. Shouldn't it specify the "alg" string and wouldn't
it be useful if it gave the TBS blob explicitly?

> Wording/Format Comments <

Abstract: I always worry about words like "all" (or, being recursive
to this sentence, "always" :-). I suggest deleting the one occurrence
of "all" in the Abstract.

Page 5, Section 1.2
   That will contain of at least one CPK and a web-origin;
   That will contain at least one CPK and a web-origin;

Page 6/7/13, Figure 1/2/3: I'm not sure that something that is
entirely textural is best called a "Figure". But in any case, since
the text is, or at least has, lines that are flush left, it looks like
part of the preceding text and there isn't a clear demarcation of the
start. I recommend that the body of the Figures be indented 3 or 4

Page 6, Section 2:
- For "alg" inconsistently says it is "an ASCII character" and "ASCII
numbers" where perhaps it should say "an ASCII encoded one or two digit
non-negative integer" or something.
- For "origin" perhaps the example should note that it would be
prefixed by "28:" in the TBS blob.
- Delete one of the two sequential occurrences of "reduce the amount

Page 10, Section 5:
I suggest rewording this sentence:
   This section also
   covers the actions that give HOBA similar user features as today's
   passwords have.
   This section also
   covers the actions that give HOBA user features similar to today's

Page 16, Section 6.4: duplicated word "response".

Page 18, Section 8.2: Is it a good idea to mention a particular
on-line service name here?

Page 19, IANA Considerations: It seems from
draft-leiba-coton-iana-5226bis that IANA would prefer IANA
Considerations to be written in the past tense as if the actions had
already been accomplished, presumably to minimize IANA re-writing
effort. Thus, I suggest that consideration be given to changing the
initial part, between the Section 9 heading and the Section 9.1
heading, to the following and making similar changes in the remainder
of the IANA Considerations Section:

   IANA has created the registries and made the registration specified
   below, placing the new registries in a new "HTTP Origin-Bound
   Authentication (HOBA) Parameters" category.

Page 20, Section 9.3: A better way to note the restriction on
potential values of Algorithm Name would be to add a third entry to
the registry something like the following (there should also be a
third Reference column):

 2-99        Unassigned        [this document]

Page 20, Section 9.4: Suggest the "Meaning" for 2 be "an unformatted
UTF8 string". There should probably be a Reference column. "a small
positive integer" is undefined.

Page 20, Section 9.5: Seems like this should say "UTF8 string" and I'm
not sure it needs "at the user's/UA's whim". There should also be a
"[this document]" entry in a Reference column.

Maybe there should be ABNF for "kid" and "did" somewhere. Since "kid"
and "did" are ordinary English words, suggest globally replacing them
with "KID" and "DID" respectively.

Page 24, Appendix A
This is a nice appendix but there is no reference to it anywhere in the
body of the draft. Suggest adding such a reference to the

 Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
 155 Beaver Street, Milford, MA 01757 USA
 d3e3e3 at