Re: [dhcwg] Fwd: New Version Notification for draft-ietf-dhc-sedhcpv6-20.txt

神明達哉 <jinmei@wide.ad.jp> Tue, 14 February 2017 21:20 UTC

Return-Path: <jinmei.tatuya@gmail.com>
X-Original-To: dhcwg@ietfa.amsl.com
Delivered-To: dhcwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E49591298A4 for <dhcwg@ietfa.amsl.com>; Tue, 14 Feb 2017 13:20:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level:
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7SGWrp89ic2A for <dhcwg@ietfa.amsl.com>; Tue, 14 Feb 2017 13:20:25 -0800 (PST)
Received: from mail-qk0-x22e.google.com (mail-qk0-x22e.google.com [IPv6:2607:f8b0:400d:c09::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1BDF212989C for <dhcwg@ietf.org>; Tue, 14 Feb 2017 13:20:25 -0800 (PST)
Received: by mail-qk0-x22e.google.com with SMTP id u25so135276878qki.2 for <dhcwg@ietf.org>; Tue, 14 Feb 2017 13:20:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=P4ILWi8ybMldhupxwui5P0jWLaenbW1DZyzHud8vK3A=; b=btQyAKGPzDXUYjz0NfOiMY9Fdq90iBhlesz+8uX9vpTmhzOn54MuNndGVM4vqyL5qO 4nzjUsd4m0R7xMXOMbRlxc0fs4EZ+TZxE0l57J2DhqQcDKADdopDwNNWOdgnYFvRLHJT zNIqIiYwQyNNNbCoVRUWS2DKxb8ua8UmcrTRf1+76tToF5Mlftlzz9YeS5l5/gKsuo22 CO31/ngE42XP43SJkLwf9aYEBfrHPnd6ji01fsybFce6nsXiAXHO6jXYdsqgX6AO2HGN jLltkIPuKpivXNAD6lDLBaSuDhwYw/je3vt5HAvWHxpeoZw6DvHi9MgSYBmC71GZM6Qt 1/Mg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=P4ILWi8ybMldhupxwui5P0jWLaenbW1DZyzHud8vK3A=; b=s4cvTlPiP85WivRVWIJrHG7ltTprlfsTSvxx4TVWQUiLGrbZkiLQmX8MHggn0U97Wp 9svYxoIctMCZZosF3DwqbHZk3Qz6kmQ/oPEpc570j7l23DseiYICFpbeLoL+7tlgI7PN tb4wOjXl64m7FUKrOMojfFbB4FKsmbEn0RJy+L612I+NlXBdJrJPURUmtm1Y6ST7Qtce x8+D3w3MjQtz+w/kntDmmBcsCkpbWJTK23h4d4b3HcA0Y23jwNyEG7ypY31pBrC75OIH P/NjQcN/seQ9B8AzoSGO//4OTmJwu9wfIewB87NWFTPtnALxM1vJronHIz375ExkEyPK 2zUA==
X-Gm-Message-State: AMke39l1HWZ6L95/vo/p6BpXVMrGaVh/BTeE8gjrcXNmCTNLa5sjQlRUEVxsR7r99frmqzzOrOqC9h90HLqs5A==
X-Received: by 10.55.123.129 with SMTP id w123mr29070944qkc.20.1487107224029; Tue, 14 Feb 2017 13:20:24 -0800 (PST)
MIME-Version: 1.0
Sender: jinmei.tatuya@gmail.com
Received: by 10.237.60.29 with HTTP; Tue, 14 Feb 2017 13:20:23 -0800 (PST)
In-Reply-To: <CAJ3w4NdR-YdNziqK1u_TpExhQLUukpL8uYzEQ4A0MoipOv-Huw@mail.gmail.com>
References: <148455739520.22478.14651605359463322132.idtracker@ietfa.amsl.com> <CAJ3w4NdCk8CBfNagcXT_VW_50+=xK=N7aB5HHqqn3stMt7Gy-Q@mail.gmail.com> <CAJE_bqf_AP9w1Bh_5kSB4YkLaV9XJ1tngufAiOMxVqQLwMruNA@mail.gmail.com> <CAJ3w4NdR-YdNziqK1u_TpExhQLUukpL8uYzEQ4A0MoipOv-Huw@mail.gmail.com>
From: =?UTF-8?B?56We5piO6YGU5ZOJ?= <jinmei@wide.ad.jp>
Date: Tue, 14 Feb 2017 13:20:23 -0800
X-Google-Sender-Auth: uNH2HIZBMegJ-5pgHv6veR-MVLo
Message-ID: <CAJE_bqeCBjoGj7V1jTxAh_ce4TH3h_VWxFoRim8wU4OHhaLaow@mail.gmail.com>
To: Lishan Li <lilishan48@gmail.com>
Content-Type: text/plain; charset=UTF-8
Archived-At: <https://mailarchive.ietf.org/arch/msg/dhcwg/Vd-zmWX94ABISZ2LghfBapemkP0>
Cc: dhcwg <dhcwg@ietf.org>
Subject: Re: [dhcwg] Fwd: New Version Notification for draft-ietf-dhc-sedhcpv6-20.txt
X-BeenThere: dhcwg@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: <dhcwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dhcwg/>
List-Post: <mailto:dhcwg@ietf.org>
List-Help: <mailto:dhcwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Feb 2017 21:20:27 -0000

At Mon, 13 Feb 2017 23:28:41 +0800,
Lishan Li <lilishan48@gmail.com> wrote:

> > - general: it's still not clear to me how we use this mechanism for
> >   Reconfigure.
> >
> [LS]: According to my understanding:
> 1. The server sends the encrypted Reconfigure message to the client;

Encapsulated in an Encrypted-Response message?  If so, with setting
transaction-id to 0 (like Reconfigure itself)?  And is the client
supposed to try to decrypt it when transaction-id is 0 even if it
doesn't match any outstanding Encrypted-Query it has sent?  And in
that case which private key should the client use?  (For the last
question, see also the comment on the assumption of the number of
client certificate described in Section 6).

I think these questions and issues can be addressed relatively easily,
but I believe these should be clearly and explicitly described.

> >   The description of zero hash algorithm field seems to suggest the
> >   signature and hash algorithms are tightly related in practice.  So
> >   it may be better to define the algorithm option so that
> >   signature/hash algorithms are listed as pairs.
> >
> [LS]: Yes. In some cases, the signature and hash algorithm are tightly
> related and cannot be separate. Sorry that I don't understand that
> "it may be better to define the algorithm option so that signature/hash
> algorithms are listed as pairs", Could you please explain it more clearly?

For example, instead of listing SA-id List and HA-id List separately,
we might have unified SA-id List:

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      OPTION_ALGORITHM         |         option-len            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   .                          EA-id List                           .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   .                          SA-id List                           .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(no "HA-id List" in this level)

and each entry of SA-id List has two sub fields: signature algorithm
ID and hash algorithm ID:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           SA-len              |            SA-id[1]           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           HA-id[1]            |            SA-id[2]           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           HA-id[2]            | ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           SA-id[n]            |            SA-id[n]           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

and each pair of (SA-id[i], HA-id[i]) will be considered to specify a
specific signature method.

> > - Section 6
> >
> >    The first DHCPv6 message sent from the client to the server, such as
> >    Solicit message, MUST contain the Certificate option, Signature
> >    option and Increasing-number option for client authentication.[...]
> >    [...]  One and only one Increasing-number option SHOULD be
> >    contained,
> >
> >   Isn't there a MUST vs SHOULD conflict here?
> >
> [LS]: The increasing-number option is optional, not must be contained.
> In the before version of secure DHCPv6 without encryption, the timestamp
> option is optional. But in fact, I don't know why it is optional.

This doesn't address my question...

> > - Section 6
> >
> >    [...] In this document, it is assumed
> >    that the client uses only one certificate for the encrypted DHCPv6
> >    configuration.  So, the corresponding private key is used for
> >    decryption.
> >
> >   I'm not sure if this is okay.  And, in fact, Section 11 talks about
> >   a case where multiple key pairs (so multiple certificates) are used:
> >
> >    If the client tries more than one cert for client authentication, the
> >    server can easily get a client that implements this to enumerate its
> >    entire cert list and probably learn a lot about a client that way.
> >
> >  Perhaps this is intended to handle encrypted Reconfigure?  If that's
> >  the only reason for this limitation, I think we should address the
> >  reconfigure case in some other way and keep the general specification
> >  more flexible.
> >
> [LS]: So we deletes the description in section 11.

I don't understand how this addresses the comment...

> > - Section 9.1
> >
> >    [...]  And the client can forget the increasing number
> >    information after the transaction is finished.  The client's initial
> >    locally stored increasing number is set to zero.
> >
> >   I'm not sure if I understand it and I'm not sure if it's okay
> >   whatever it means...does this mean the server can (or always does?)
> >   reset the increasing number to 0 for messages it sends to the server
> >   at the beginning of a new DHCPv6 session?  Doesn't it lead to an
> >   easy replay attack?  Or is the assumption that the server first
> >   sends an error and the client will resend the message with an
> >   adjusted increasing number?
> >
> [LS]: For the first received increasing-number option, the client cannot
> check it and just need to change the local increasing number into the
> received number. So for this purpose, i add the above statement.
> Looking forward to your further guidance.

I'd suggest consulting Ted here, as I guess the introduction of
increasing-number option was originally his idea.

> > - Section 10.1.1
> >
> >                The mandatory encryption
> >                algorithms MUST be included.
> >
> >   Which algorithm is it?
> >
> [LS]: The mandatory encryption algorithm is RSA. How about the following
> text:
> The mandatory encryption algorithm, such as RSA, MUST be included.

I don' know why "such as".  I'd consider a particular algorithm(s)
mandatory at the time of this document, and it/they should be
explicitly defined here.

> > - Section 10.1.2
> >
> >     0                   1                   2                   3
> >     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> >    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> >    |      OPTION_CERTIFICATE       |         option-len            |
> >    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> >    |              EA-id            |            SA-id              |
> >    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> >    |                                                               |
> >    .                           Certificate                         .
> >    |                                                               |
> >    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> >
> >   This seems to assume a single certificate (which I assume means a
> >   single public key) can be used for both encryption and signature.
> >   Is my understanding correct?  If so, can we always assume that?
> >
> [LS]: Yes, it means a single certificate and a single public key.
> If EA-id = 0 & SA-id !=0, then the public key is used for signature.
> If EA-id != 0 & SA-id =0, then the public key is used for encryption.
> If EA-id != 0 & SA-id !=0, then the public key is used for signature and
> encryption.

Ah, so if we want to use different algorithms and/or keys for
signature and encryption, we have two certificate options, each
setting EA-id or SA-id to 0?  If so, I suggest explaining it
explicitly.

> >   And, although it may be quite straightforward, I don't think this
> >   description is enough to actually calculate the tag value for a
> >   given public key.  We should provide some more specific here.
> >
> [LS]: Add some more specific text about how to compute it?
> In the before, I prepared some text about it.
>  Key Tag Calculation

I've not read the entire text, but it looked like a bit too verbose.
I'll see if I can offer some specific text.

--
JINMEI, Tatuya