Re: [http-auth] AD review of draft-ietf-httpauth-mutual-08

大岩寛 <> Fri, 28 October 2016 05:59 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id B81D912950A for <>; Thu, 27 Oct 2016 22:59:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 7Ty84sq0XoQs for <>; Thu, 27 Oct 2016 22:59:47 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id C6C39129628 for <>; Thu, 27 Oct 2016 22:59:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=w2VFJdn7favAZBLoKcOAWtPrYzhC3BC1qywjaT1P3dw=; b=U8/ukaQfEJzFOemPlve1ch/NBXQWNC4JLQi/lTTJmwwUsYw1XlV0E2Yw+v9P6ByWfZgHYzwa5GbwstOAa9xAVlLuR/oxyvz7XLhQvH8fCMwxUz6wuU1jbJhrLZ9Oc3F0bocJKLU1o27/QizvVTV5upjolOSed8g9jngAGfikpSk=
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.679.12; Fri, 28 Oct 2016 05:59:42 +0000
Received: from ([]) by ([]) with mapi id 15.01.0679.015; Fri, 28 Oct 2016 05:59:42 +0000
From: 大岩寛 <>
To: Kathleen Moriarty <>
Thread-Topic: [http-auth] AD review of draft-ietf-httpauth-mutual-08
Thread-Index: AQHR9D/IeFxKC981CECMq6g0jH5iNqCGTIqAgBmUpaiAA+rkgIAZiGyAgACC1FA=
Date: Fri, 28 Oct 2016 05:59:42 +0000
Message-ID: <>
References: <> <> <> <> <>
In-Reply-To: <>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
authentication-results: spf=none (sender IP is );
x-originating-ip: []
x-ms-office365-filtering-correlation-id: 567e8c41-e753-4733-b821-08d3fef79c89
x-microsoft-exchange-diagnostics: 1; TY1PR01MB0586; 7:1+s19vrlIIEXCoRHMVyP6xXWI820/c+GZ/PDe52AhdPI5XdSeXmdWq+nohU53uJXgeL1d2fJbmglXt0m4wHGw30NBkK3IuoSy3fcrPRtNqovxFnFBfOjbQi/633RuG3V3k9AuvRD7MMbeyzqKU8tl2zO1CwJu8lkXqaw53TM/cmIfj/nEX85eBRCVqMZ1UupABsIiTS+hKCK6JwgU+UkikbrgpjP+7bVzumdj04k6nyKRVlXng8m9PJr6UG87R4A8hzdz1bELsn1z06VzaKHZ6xZKO59HU42g0lxcjKctQUNtF+BGyvnicTQ2V2xetnir0iL+J7sjorQPEcbvWoI6LHgnAilBWCR8V+nJP2eelc=
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:TY1PR01MB0586;
x-microsoft-antispam-prvs: <>
x-exchange-antispam-report-test: UriScan:(158342451672863)(192374486261705)(788757137089)(100405760836317)(21748063052155);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040176)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026); SRVR:TY1PR01MB0586; BCL:0; PCL:0; RULEID:; SRVR:TY1PR01MB0586;
x-forefront-prvs: 0109D382B0
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(7916002)(377454003)(15594002)(45984002)(189002)(24454002)(199003)(2906002)(2900100001)(5002640100001)(93886004)(66066001)(2950100002)(42882006)(101416001)(4326007)(81156014)(15975445007)(86362001)(77096005)(6916009)(7736002)(106356001)(8676002)(105586002)(106116001)(230783001)(31430400001)(68736007)(76576001)(9686002)(7846002)(81166006)(11100500001)(74482002)(551544002)(10400500002)(85182001)(122556002)(74316002)(8936002)(6116002)(3846002)(110136003)(102836003)(586003)(7696004)(3280700002)(97736004)(19625215002)(33656002)(54356999)(92566002)(16236675004)(76176999)(19580395003)(19300405004)(5660300001)(3660700001)(345774005)(19580405001)(87936001)(189998001)(50986999); DIR:OUT; SFP:1101; SCL:1; SRVR:TY1PR01MB0586;; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
received-spf: None ( does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_TY1PR01MB0588C4D767B3FF7D81546321A0AD0TY1PR01MB0588jpnp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Oct 2016 05:59:42.4989 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 18a7fec8-652f-409b-8369-272d9ce80620
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY1PR01MB0586
Archived-At: <>
Cc: "" <>
Subject: Re: [http-auth] AD review of draft-ietf-httpauth-mutual-08
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: HTTP authentication methods <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 28 Oct 2016 05:59:52 -0000

Dear Kathleen,

The registries require expert review process as defined in RFC5226.
(a consensus on WG discussions.)
The existence of specification is not explicitly needed if the text makes confusions.
I assume that it will be anyway required (in most cases) for expert review processes.


Yutaka OIWA, Ph.D.       Leader, Cyber Physical Architecture Research Group
                                  Information Technology Research Institute
    National Institute of Advanced Industrial Science and Technology (AIST)
                      Mail addresses: <>, <>
OpenPGP: id[440546B5] fp[7C9F 723A 7559 3246 229D  3139 8677 9BD2 4405 46B5]

From: Kathleen Moriarty []
Sent: Friday, October 28, 2016 7:07 AM
To: 大岩寛 <>
Subject: Re: [http-auth] AD review of draft-ietf-httpauth-mutual-08


Just a quick question as I fill out the ballot text for next week's telechat.  For the IANA section, as I read it both registries require expert review and a specification, is that right?  I'm asking as the language could be clearer and I need to make sure it is clear in the ballot.

Thank you,

On Tue, Oct 11, 2016 at 12:12 PM, Kathleen Moriarty <<>> wrote:
Dear Yutaka,

I am sorry for my delay in response.  The updates look very good and I think the updated introduction is helpful.  I will progress the draft into IETF last call, but an edit pass on the new text is required as there are some grammar issues.

Also, you had responded saying you would add something about logging and I am not able to find that text in the diffs from -08.  Was it added?

Thank you,

On Sun, Oct 9, 2016 at 12:24 AM, 大岩寛 <<>> wrote:
Dear Kathleen,

I have not seen any response to the previous mail.
If we have any problems to solve or actions to take,
please let me know.


差出人: Yutaka OIWA <<>>
送信日時: 2016年9月22日 21:44:39
宛先: Kathleen Moriarty;<>
件名: Re: [http-auth] AD review of draft-ietf-httpauth-mutual-08

Dear Kathleen,

I'm sorry I've updated the draft according to your mail,
but not responded to the mail itself.
# and I found a few typo to submit the draft revision very soon.

On 2016/08/12 11:18, Kathleen Moriarty wrote:
> Hello,
> Thank you for your work on draft-ietf-httpauth-mutual-08.  I will try
> to get through my AD review of the accompanying draft tomorrow.
> I read through the draft and have the following questions.
> -----
> Section 2.1, in the following text:
>  o  Authenticated key exchange messages: used by both peers to perform
>       authentication and the sharing of a cryptographic secret.
>       *  req-KEX-C1 message: a message sent from the client.
>       *  401-KEX-S1 message: a message sent from the server in response
>          to a req-KEX-C1 message.
> 1. What does the response mean?  Is there a pass/fail message in the
> response or is this just an ack that the message was received by the
> server to the client?

401-KEX-S1 will be almost unconditionally sent as a response,
as authentication is on-going, not finished yet.
There may be a "no-go" for fatal error case (e.g. parameter mismatch), however.

> Then in the following:
>       *  200-VFY-S message: a client-authentication successful response
>          used by the server, which also simultaneously asserts to the
>          client that the server is authentic.
> 2. Maybe this will be clear as I read further through the draft, but
> that seems like a lot to assert at once.  This note is a placeholder
> for me in case I do't feel like there is an adequate answer when I get
> deeper into the draft.

We tried to make it more clear in the revised draft.

> Second bullet on page 7:
>  o  At this point (5), both peers calculate a shared "session secret"
>       using the exchanged values in the key exchange messages.  Only
>       when both the server and the client have used secret credentials
>       generated from the same password will the session secret values
>       match.  This session secret will be used for access authentication
>       of every individual normal after this point.
> 3. I think a word may be missing in the last sentence, can you
> rephrase it?  I'm not able to parse it.

This seems to be typo, and we fixed.

> -----
> In another bullet on page 7:
>  o  If the authentication verification value from the client was
>       correct, it means that the client definitely owns the credential
>       based on the expected password (i.e., the client authentication
>       succeeded).  The server will respond with a successful message
>       (200-VFY-S) (7).  Contrary to the usual one-way authentication
>       (e.g., HTTP Basic authentication or POP APOP authentication
>       [RFC1939]), this message also contains a server-side
>       authentication verification value.
>       When the client's verification value is incorrect (e.g., because
>       the user-supplied password was incorrect), the server will respond
>       with the 401-INIT message (the same one as used in (2)) instead.
> 4. This last section should specify that the extensive-token
> indicating an authentication failure must be included.  I would also
> recommend that this information be logged and have that stated in this
> draft.  Since we are pushing for protocols to be encrypted, the use of
> sniffers to detect errors will continue to fall off and people will
> need to rely on logs more.  I think it would be more helpful to have
> an accurate log that responds saying the authentication failed
> (user/password if you don't want to say which).  Encouraging richer
> logs will be more helpful going forward.
> -----

Thank you very much for the suggestion. We incorporated the idea.

> In Section 7, just to make sure I am reading this correctly:
> The valid tokens for the validation parameter and corresponding
>    values of vh are as follows:
>    host:          host-name validation: The value vh will be the ASCII
>                   string in the following format:
>                   "<scheme>://<host>:<port>", where <scheme>, <host>,
>                   and <port> are the URI components corresponding to the
>                   currently accessing resource.
> 5. By "currently accessing resource", you mean the source system,
> correct?  It might be better to rephrase that so it is clear since
> this is important to developers.
> -----

We rephrased it as "server-side resource".
It's actually "the URL" being accessed, in short and informally.
If there is better phrasing, we'll look for it further.

> 6. In Section 8, it is the reason parameter of the INIT that lets you
> know if t is 'valid', correct?
>    Authentication-initializing messages with the
>    Optional-WWW-Authenticate header are used only where the 401-INIT
>    response is valid.  It will not replace other 401-type messages such
>    as 401-STALE and 401-KEX-S1.
> I think it would be helpful to explicitly state what is a valid
> response unless that is defined already and I missed it?  I think it
> depends on the token or extensive token set in the reason parameter of
> the INIT message.

We clarified that the reason will be "initial" (modulo future extensions).

> ----
> 7. In section 10.1, if you change "normal responses" to "normal
> response", it is easier to fix the grammar in the following sentences:
>    This also
>    holds true for the reception of "normal responses" (responses which
>    do not contain Mutual authentication-related headers) from HTTP
>    servers.
> change to:
>    This also
>    holds true for the reception of a "normal response" (responses which
>    do not contain Mutual authentication-related headers) from HTTP
>    servers.
> from:
>       Any kinds of "normal responses" MUST only be accepted for the very
>       first request in the sequence.  Any "normal responses" returned
>       for the second or later requests in the sequence SHALL be
>       considered invalid.
> change to:
>       Any kind of "normal response" MUST only be accepted for the very
>       first request in the sequence.  Any "normal response" returned
>       for the second or later request in the sequence SHALL be
>       considered invalid.

> 8. Section 10.1, please consider rewording the following sentences to
> make it easier to read:
>    o  In the same principle, any responses which refer to or request
>       changing to an authentication realm different from the client's
>       request MUST only be accepted for the very first request in the
>       sequence.  Any kind of responses referring to different realms
>       which are returned for the second or later requests in the
>       sequence SHALL be considered invalid.
> -----
> 9. In section 17.2, it might be helpful to include a reference to the
> TLS 1.2 BCP, RFC7525.  The bullet might say something like, when TLS
> 1.2 is used, follow best practices in RFC7525.
> -----

For 7-9: Thank you very much. We did.

> 10. Section 17.3 is the first place I see a clear motivation for this
> protocol.  It might help to have this stated in the introduction.
> Although the points about password attacks in section 17.2 leave me
> questioning how much of an improvement this really is.  How much
> analysis was done on this new method? I know the drafts have been
> around for a while.  I'd have to take another pass at the documents to
> dig deeper, but would like to know if this analysis was done.  Can you
> make the statement that this is more secure?  The motivation for HOBA
> was clear - getting rid of the use of passwords.
> Passwords are not sent in the clear, but this isn't stated in a
> motivation section.  It just is part of the protocol and mentioned at
> the end of section 17.5.  It might be helpful to include this in the
> introduction as well in a motivation paragraph.  The abstract saying
> that, "server truly knows the user's
> encrypted password" isn't the same as saying that the password is
> encrypted on the wire and doesn't rely on transport encryption.

Thank you very much for the precious suggestion. I added some texts
to the introduction section.
For security, simply said, no off-line attack will ever be possible
using data retrieved from eavesdropped/man-in-the-middle traffics.
We discussed some detail on on-line attacks in this section,
but it's much harder than off-line attacks for attackers,
and much easier for servers to detect and perform countermeasures.
(Of course, it's a gift from the PAKE.)

> -----
> 11. Section 17.3.  I'm not clear on this sentence in the last paragraph:
>    Of course, in such cases, the user interfaces for asking passwords
>    for this authentication shall be clearly identifiable against
>    imitation by other insecure password input fields (such as forms).
> Common attacks of this nature would be to direct users to a form that
> isn't the real form.  Is it the mutual authentication that helps here?
>  If so, explain how.  How is it clearly identifiable against
> imitation?

What we considered and implemented is a authentication interface
in browser-chrome (around the address bar), not within the main content area.
It's common for browsers to have some "secure UI area" not possible to
circumvent from the web content itself, whose examples includes address bar,
and padlock icons, as well as the "the other area" controlled by the
web page contents.  We intended to use the former area for secure authentication.
However, we did not want to include any "instructions" on the user interfaces
of web browsers (fearing that it will become "out-of-scope" of the draft), so
we used some "abstract" requirement here.
If you have more suggestion on "the extent we should say for user interfaces",
it's really appreciated.

Yutaka OIWA, Ph.D.        Leader, Cyber Physical Architecture Research Group
                                   Information Technology Research Institute
     National Institute of Advanced Industrial Science and Technology (AIST)
                       Mail addresses: <<>>, <<>>
OpenPGP: id[440546B5] fp[7C9F 723A 7559 3246 229D  3139 8677 9BD2 4405 46B5]


Best regards,


Best regards,