Re: [dhcwg] Next step(s) for draft-ietf-dhc-stable-privacy-addresses -> abandon work? / IA_NA applicability

Fernando Gont <fgont@si6networks.com> Wed, 08 April 2015 14:46 UTC

Return-Path: <fgont@si6networks.com>
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 B52221B318B for <dhcwg@ietfa.amsl.com>; Wed, 8 Apr 2015 07:46:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] 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 S7aXrXuwxZMX for <dhcwg@ietfa.amsl.com>; Wed, 8 Apr 2015 07:46:17 -0700 (PDT)
Received: from web01.jbserver.net (web01.jbserver.net [IPv6:2a00:8240:6:a::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EDD3F1B318E for <dhcwg@ietf.org>; Wed, 8 Apr 2015 07:46:16 -0700 (PDT)
Received: from [186.134.76.56] (helo=[192.168.123.126]) by web01.jbserver.net with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128) (Exim 4.85) (envelope-from <fgont@si6networks.com>) id 1YfrF6-0005A9-OI; Wed, 08 Apr 2015 16:46:13 +0200
Message-ID: <55253F14.6000706@si6networks.com>
Date: Wed, 08 Apr 2015 11:45:40 -0300
From: Fernando Gont <fgont@si6networks.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0
MIME-Version: 1.0
To: Lorenzo Colitti <lorenzo@google.com>
References: <489D13FBFA9B3E41812EA89F188F018E1CA32071@xmb-rcd-x04.cisco.com> <8C4E055C-ED1D-4951-8473-6166109ACE69@nominum.com> <489D13FBFA9B3E41812EA89F188F018E1CA321EE@xmb-rcd-x04.cisco.com> <6D7A465E-6EBE-4B69-9B65-BAC7BF2A9873@nominum.com> <489D13FBFA9B3E41812EA89F188F018E1CA3229F@xmb-rcd-x04.cisco.com> <55214802.1070305@si6networks.com> <CAKD1Yr3UYT0yPEqftEXpN8zmk=-dka_NMcu3rbb_GG+YSnk2ZQ@mail.gmail.com> <5524D09B.3090706@si6networks.com> <CAKD1Yr2Ztzoys+xKBzsEHU5hqJmfGpn-GeWPEqNCHRuWOTgsJQ@mail.gmail.com> <55250911.30100@si6networks.com> <CAKD1Yr0ojVmk-ctUO313zvAx01P=B-A2zVuwDm73+dLgVwDLOw@mail.gmail.com> <55250DF2.8050001@si6networks.com> <CAKD1Yr33wFmjjqjYu8YEpqYvnn=kh9oJhe1YAC7UEzacQFBaWg@mail.gmail.com> <55251EFA.4000204@si6networks.com> <CAKD1Yr0XK-DQkcJKwTYmiWzCzZs4pubCme9rAgoZ_ig-P5MgsQ@mail.gmail.com>
In-Reply-To: <CAKD1Yr0XK-DQkcJKwTYmiWzCzZs4pubCme9rAgoZ_ig-P5MgsQ@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/dhcwg/zouOmA-0a7i4EZpVo9_uFEi682c>
Cc: "dhcwg@ietf.org" <dhcwg@ietf.org>, "Bernie Volz (volz)" <volz@cisco.com>, Ted Lemon <Ted.Lemon@nominum.com>
Subject: Re: [dhcwg] Next step(s) for draft-ietf-dhc-stable-privacy-addresses -> abandon work? / IA_NA applicability
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: <http://www.ietf.org/mail-archive/web/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: Wed, 08 Apr 2015 14:46:19 -0000

Hi, Lorenzo,

On 04/08/2015 09:45 AM, Lorenzo Colitti wrote:
> On Wed, Apr 8, 2015 at 9:28 PM, Fernando Gont <fgont@si6networks.com
> <mailto:fgont@si6networks.com>> wrote:
> 
>     > That just changes the question to "what happens if the server uses both
>     > this type of address and other types of address".
> 
>     The intent is that if you're going to use this scheme, for leasing
>     addreses, you use this scheme for all prefixes: at the end of the day,
>     if *one* of your addresses is predictable, that's enough for the
>     attacker to track you or scan you.
> 
> 
> No, it's not enough. The attacker can only track or scan you if you use
> a stupid algorithm to generate the IIDs. Yours is not stupid, but
> neither are many others such as "random". You can perfectly well use
> random assignment on some subnets and your algorithm on other subnets.

The intent is that, for a given subnet, all IIDs have the same property.

But, in any case, as far as I recall this I-D does not say "you must
employ this algorithm for all of the prefixes from which you lease
addresses", anyway.

If you have any suggested text that would address your concern, please
do let us know.


> Regardless - if that's the intent, then the draft should say so.

mm.. how about changing this:

---- cut here ----
   DHCPv6 server implementations conforming to this specification MUST
   generate non-temporary IPv6 addresses using the algorithm specified
   in this section.

   Implementations conforming to this specification SHOULD provide the
   means for a system administrator to enable or disable the use of this
   algorithm for generating IPv6 addresses.

   All of the parameters included in the expression below MUST be
   included when generating an IPv6 address.

   A DHCPv6 server implementing this specification must select the IPv6
   addresses to be leased with the following algorithm:
---- cut here ----

to to this:

---- cut here ----
   A DHCPv6 server implementation employing this specification MUST
   generate non-temporary IPv6 addresses for the corresponding prefix
   by means of the algorithm specified in this section.

   Implementations conforming to this specification SHOULD provide the
   means for a system administrator to enable or disable the use of this
   algorithm for generating IPv6 addresses.

   Unless otherwise noted, all of the parameters included in the
   expression below MUST be included when generating an IPv6 address.

   A DHCPv6 server employing this specification must select the IPv6
   addresses to be leased from the corresponding prefix with the
   following algorithm:
---- cut here ----

?




>     > then you'll need to make it clear
>     > what is required for it to coexist with other ways of generating IPv6
>     > IIDs. If not, then you'll need to make it clear that it cannot coexist
>     > with other ways of generating addresses.
> 
>     Other ways of generating IIDs for the same prefix, or for other
>     prefixes?
> 
>     For other prefixes, the idea is that if you use a weak scheme for other
>     prefixes, you're toast. For the same prefix, if you employ multple
>     schemes you won't achieve address stability.
> 
>     Is this what you were referring to?
> 
> 
> I was referring to the lack of any such statement in the draft, yes.

Ok, how about adding something along these lines:

---- cut here ----
In order to achieve the goals described in Section 3 of this document,
all of the DHCPv6 servers leasing addresses from a given IPv6 address
range must employ this algorithm. If different DHCPv6 servers leasing
addresses from the same IPv6 address range employ different algorithms,
address stability will not be achieved.

DHCPv6 servers leasing addresses from different IPv6 address ranges may
employ other algorithms for selecting the IPv6 addresses to be leased.
We note, however, that security-unwise algorithm is employed for
selecting addresses from a different IPv6 address range on the same
subnet, the benefits of the algorithm specified in this document may be
reduced. For example, if a DHCPv6 server employs this algorithm for
selecting addresses from a given address range, and another server on
the same subnet selects address incrementally for a different address
range on the same subnet, a node that is leased addresses from both
address ranges will still be vulnerable to address scans attacks.
---- cut here ----

?


>     > Another issue I see is that the document says that the addresses are
>     > stable and stateless, but they're not, because the value of counter for
>     > every lease needs to be shared between the servers. For example, if the
>     > client sends a DECLINE because it fails DAD, what do you do? The address
>     > is no longer stable.
> 
>     IMO, I see the counter as mostly an "optional" parameter, which allows
>     to recover from address collisions (rather than a mandatory field). If
>     you do employ the Counter, but do not store it, then whether the
>     addresses are stable or not depends on the order in which systems are
>     bootstrapped.
> 
> 
> Then the draft needs to say what the server needs to do if it doesn't
> use the counter and the client sends a decline. Does the client get no
> address?

If you don't use the counter at all, yes. However, I'd expect
implementations not to include the counter, but not to record it's
contents (if they don't record the address lease) -- (yes, sorry, my
previous response was confusing).

I'll craft text about this and send it to the list for review.



>     > Another issue: if the addresses are stable and stateless, then that
>     > means you can replace a server and have the client keep the same
>     > address. What modifications are needed on the server side for that to
>     > work? If the client sends a renew unicast to the new server, will this
>     > just work?
> 
>     This deserves a clarification, indeed.
> 
>     Of th top of my head:
> 
>     * Address stability can be achieved 100% stateless-ly, but need not.
>     e.g., you can generate addresses as specified in this document, but
>     still keep an address lease database. In that case, the server would
>     employ this algorithm for generating the addresses in the first place,
[....[
> 
>     Does (some version of) this sound reasonable?
> 
> Perhaps. But you have to document this, and if you document this and it
> turns out that you need server-side behaviour changes, then you need to
> update RFC 3315.
> 
> Again, I don't think it's worth it.

For the time being, I think we should not consider the 100% stateless
version of this. After all, the man goal of this document is an address
selection scheme for DHCPv6, rather than an improvement in terms of "now
DHCPv6 can be fully stateless".

Thanks!

Best regards,
-- 
Fernando Gont
SI6 Networks
e-mail: fgont@si6networks.com
PGP Fingerprint: 6666 31C6 D484 63B2 8FB1 E3C4 AE25 0D55 1D4E 7492