[dhcwg] AD Evaluation: draft-ietf-dhc-sedhcpv6

Brian Haberman <brian@innovationslab.net> Fri, 10 July 2015 15:14 UTC

Return-Path: <brian@innovationslab.net>
X-Original-To: dhcwg@ietfa.amsl.com
Delivered-To: dhcwg@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4E9A91A924B; Fri, 10 Jul 2015 08:14:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham
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 kvzDSO4OkMpm; Fri, 10 Jul 2015 08:14:19 -0700 (PDT)
Received: from uillean.fuaim.com (uillean.fuaim.com [206.197.161.140]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CE3D61A92AF; Fri, 10 Jul 2015 08:14:16 -0700 (PDT)
Received: from clairseach.fuaim.com (clairseach-high.fuaim.com [206.197.161.158]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by uillean.fuaim.com (Postfix) with ESMTP id B511488151; Fri, 10 Jul 2015 08:14:16 -0700 (PDT)
Received: from brians-mbp.jhuapl.edu (swifi-nat.jhuapl.edu [128.244.87.133]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by clairseach.fuaim.com (Postfix) with ESMTP id 5A58C1368339; Fri, 10 Jul 2015 08:14:16 -0700 (PDT)
To: draft-ietf-dhc-sedhcpv6.notify@ietf.org, "dhcwg@ietf.org" <dhcwg@ietf.org>
From: Brian Haberman <brian@innovationslab.net>
X-Enigmail-Draft-Status: N1110
Message-ID: <559FE144.8040607@innovationslab.net>
Date: Fri, 10 Jul 2015 11:14:12 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.0.1
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="RFEp5R5nWwM7ia4u5drUToxipCFf1o95f"
Archived-At: <http://mailarchive.ietf.org/arch/msg/dhcwg/I3xsUHNgo0Zdr6WCOLWYsWi7tHk>
Subject: [dhcwg] AD Evaluation: draft-ietf-dhc-sedhcpv6
X-BeenThere: dhcwg@ietf.org
X-Mailman-Version: 2.1.15
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: Fri, 10 Jul 2015 15:14:21 -0000

All,
     I have performed an initial review of draft-ietf-dhc-sedhcpv6 as a
part of the publication process.  As a heads up, I have also solicited a
security-related review that should be available by the Prague meeting.

     The following comments/questions came up during my review.

1. General

* I am very concerned about the lack of discussion of *how* a PKI will
function in this approach. This is similar to the general failure of
SEND, in that you need addresses in order to communicate with the PKI
unless it is local to the link.  With symmetric keying, there is a known
process that can be carried out, albeit not in a scalable way. With a
PKI, I can see how it can work for a server verifying messages coming
from clients, but I don't see how it works robustly for clients
verifying messages coming from a server.  At a minimum, I would like to
see a section that discusses some of these limitations in detail.  I
cannot say how the security ADs will react to this approach though.

* While I see the benefit of TOFU in certain settings (e.g., enterprise
networks), I am skeptical of how well that will work in a wireless
hot-spot setting (e.g., Starbucks).  An attacker sitting at the table
next to me will have the advantage of low RTT in order to become the
"trusted" server. The draft should provide more guidance on how TOFU
should/could be applied in this context.

* I think the document as a whole would benefit from the inclusion of a
state diagram in order to ensure that all the possible scenarios and
message processing descriptions are complete.

2. I see the following text in Section 4:

   A trust relationship for a public key can be the result either of a
   Trust-on-first-use (TOFU) policy, or a list of trusted keys
   configured on the recipient.

How is a list of trusted keys any different than a set of
pre-established secret keys? In other words, would that approach be any
different than the status-quo?

3. In Section 4.2, I see:

   It is NOT RECOMMENDED that the same sender and recipient use various
   algorithms in a single communication session.

What constitutes a session? There is a rather weak definition in 3315
based on the client sending Solicit messages.  It could be good to give
a more concrete definition in this document.

4. Section 5.3 says that the signature field may be padded. How does the
receiver know where the padding is located within the signature?

5. Section 5.4, you specify the use of the NTP Timestamp format.  Do you
have any concerns on how that will function when the current epoch ends
February 8, 2036?  If so, you could use the NTP Date format.

6. Section 6.1

* The text about the number of timestamp options seems odd ("A Secure
DHCPv6 message SHOULD contain one and only one Timestamp option").  Do
you really mean "A Secure DHCPv6 message MUST contain 0 or 1 Timestamp
options"?  If that is the case, how does the recipient handle multiple
timestamp options in section 6.2?

* The 4th paragraph says "A Secure DHCPv6 message sent by a DHCPv6
server or a client, which may be encapsulated by a Relay-forward or
Relay-reply message..."  How does a client know if its message will be
handled by a relay?

* The text says a sender receiving an authentication failure response
SHOULD NOT retry the message with the same certificate.  I am not sure
why this is not a "MUST NOT". In what scenario would retrying with the
same certificate lead to a different response code?

* The text in 6.2 says that its an error for a DHCPv6 message to have
both a Public Key option and a Certificate option. However, the text in
6.1 is a little looser depending on how you parse the "or" in the 4th
paragraph.  This should be tightened up.

7. Section 6.2

* How does a client do certificate validation?

* How do TOFU policies interact with validation failures?

* The last paragraph states that any Relay messages that contain public
key, certificate, or signature options is invalid and MUST be discarded.
 The text in 6.3 says relays SHOULD NOT add any security options.  Why
isn't the guidance in 6.3 not a "MUST NOT"?

8. Section 6.4 - For clarity, I would suggest specifying that RDnew and
TSnew come from the received Timestamp option.

Regards,
Brian