Re: Disabling temporary addresses by default?

Fernando Gont <fgont@si6networks.com> Tue, 28 January 2020 18:38 UTC

Return-Path: <fgont@si6networks.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F073A12008B for <ipv6@ietfa.amsl.com>; Tue, 28 Jan 2020 10:38:49 -0800 (PST)
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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
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 F5hxMWuypBHR for <ipv6@ietfa.amsl.com>; Tue, 28 Jan 2020 10:38:44 -0800 (PST)
Received: from fgont.go6lab.si (fgont.go6lab.si [91.239.96.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1BDBB120086 for <ipv6@ietf.org>; Tue, 28 Jan 2020 10:38:44 -0800 (PST)
Received: from [192.168.100.103] (unknown [186.183.48.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by fgont.go6lab.si (Postfix) with ESMTPSA id 8D6D684D97; Tue, 28 Jan 2020 19:38:40 +0100 (CET)
Subject: Re: Disabling temporary addresses by default?
To: Gyan Mishra <hayabusagsm@gmail.com>
Cc: 6man WG <ipv6@ietf.org>, Christian Huitema <huitema@huitema.net>, Lorenzo Colitti <lorenzo=40google.com@dmarc.ietf.org>
References: <CAKD1Yr11_SSUkCBuQ3-h+eRg0LPZQdhe+h7f0YZy9TiyRWj6mw@mail.gmail.com> <751D59E0-F60B-4FE1-840F-3FEAB82F618F@huitema.net> <c058863d-9e29-3ddb-a020-0ebadef26ad4@si6networks.com> <CABNhwV0KsKN7LQY2D-BJkCtvB40oZCT65EmOCr0oE56c9g7-aQ@mail.gmail.com>
From: Fernando Gont <fgont@si6networks.com>
Message-ID: <2b56fea0-9c60-4d77-8041-dfe0e25b7209@si6networks.com>
Date: Tue, 28 Jan 2020 15:21:12 -0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <CABNhwV0KsKN7LQY2D-BJkCtvB40oZCT65EmOCr0oE56c9g7-aQ@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/WBK2XHvLc3rT_4hQLH7ZhibLG-8>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Jan 2020 18:38:50 -0000

On 28/1/20 14:46, Gyan Mishra wrote:
> 
> 
> On Tue, Jan 28, 2020 at 12:11 PM Fernando Gont <fgont@si6networks.com 
> <mailto:fgont@si6networks.com>> wrote:
> 
>     On 28/1/20 13:27, Christian Huitema wrote:
[....]
>      > That seems plausible, but how about going one step further and
>     for clients just have one temporary and one deprecated address,
>     without any stable address? If the client is not running any server,
>     that makes address management much simpler.
> 
>     rfc4041 bis already allows for that.

FWIW, this was a typo (I meant "RFC4941").


> 
>     The only thing is that if the Preferred Lifetime is 1 day, and Valid
>     Lifetime is 2*Preferred Lifetime, and you only do temporary addresses,
>     then your sessions (e.g. SSH) cannot span past one day, *unless* we
>     recommend that invalid addresses are still okay for established
>     connections.
> 
>     The main reason this topic comes has up is due to possible impact of 
> usage of the temporary address when it gets deprecated with long lived 
> session. 

BUt the problem is not in RFC4941, but in the lack of an API for apps to 
specify the properties they expect from the underlying addresses.


>  That’s the crux of why this topic is critical and has severe 
> operational impact. When the address changes for long lived connections 
> from the deprecated temporary address to the new preferred address, the 
> session would terminate and have to re-establish, which is impacts the 
> user. 

If anything, the session would break when the address becomes invalid 
(the Valid Lifetime" expires) -- not when another address becomes 
"preferred".

That said, one can always recommend or give the option to maintain 
established sessions that employ invalid addresses.



> Maybe a change to the behavior as how this works is that the long 
> lived flow remains active on the deprecated temporary address 
> indefinitely until the flow is terminated via graceful TCP close.

You don't need to care about TCP state. Just check if there's a PCB 
associated with the address (whatever the upper protocol is).


>  This 
> would allow us to maintain privacy extension temporary address enabled 
> by default change to benefit privacy advocates and also eliminate impact 
> for enterprise users where availability and stability is utmost 
> importance.  The second issue is maintaining of a multiple addresses on 
> the end host from an operations perspective if that can be limited.  One 
> idea to accomplish this is that if the privacy temporary address is 
> enabled by default, that is if we are able to resolve the operational 
> impact of long lived sessions when the temporary address changes - how 
> can we minimize the number of active addresses per RA slaac address.  
> Allow the interface stable random address to be active only if the 
> temporary privacy address is disabled - non default scenario. 

That's not correct: the stable address is there for a reason: e.g. 
receiving incoming connections.


>  Once the 
> temporary address is enabled default scenario- and preferred, it is now 
> used for both incoming and outgoing connections and the interface 
> “stable” random address is now disabled.

Quite the contrary: if possible, you would *prevent* incoming 
connections on temporary addresses. -- e.g. there's no reason to allow 
port-scans on your temporary addresses just because you happened to 
communicate with a rogue web site.

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