Re: [Network-tokens] [TLS] Network Tokens I-D and TLS / ESNI

Yiannis Yiakoumis <yiannis@selfienetworks.com> Fri, 26 June 2020 17:16 UTC

Return-Path: <yiannis@selfienetworks.com>
X-Original-To: network-tokens@ietfa.amsl.com
Delivered-To: network-tokens@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 323373A0977 for <network-tokens@ietfa.amsl.com>; Fri, 26 Jun 2020 10:16:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=selfienetworks-com.20150623.gappssmtp.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 REO66gDt1fqG for <network-tokens@ietfa.amsl.com>; Fri, 26 Jun 2020 10:16:30 -0700 (PDT)
Received: from mail-ua1-x92f.google.com (mail-ua1-x92f.google.com [IPv6:2607:f8b0:4864:20::92f]) (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 1FD483A0978 for <network-tokens@ietf.org>; Fri, 26 Jun 2020 10:16:29 -0700 (PDT)
Received: by mail-ua1-x92f.google.com with SMTP id g14so3260238ual.11 for <network-tokens@ietf.org>; Fri, 26 Jun 2020 10:16:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=selfienetworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:to:in-reply-to:from:subject:message-id:cc:references :date; bh=mI5CxK1xpXxFieiKfAyvPk66186aJ5YVax/6TkrFdKo=; b=cd9zJ+bHwG1qx9sxoS5dpVZyezOC4Rt9ekp2lVNk4DprxLGIf2c67rYMpapWIsLxdo Y+ZSmPTMHJOxgwYU/DWl3o1I7Ym1hqYgqxP9cjZoYMJfJtAGmViO1QZwHYcfM3K8GoKJ nxpkgpcdjoWcvR8IgGi8aC6bD1A+BxYYSZaosvOkAYsG0OZ3/rOkbsFofUdVl/a9XoJl eMR7G0JCmo/Yeggh1d0G6Tr8zXN23r4Khph0WIIyiqwXUnHms5Ta+U2tvXNDVyWt5Dyt aSqQ955BnWQwMZSLrhfKVWq8oZvbrhd7jZ/7YXpadSy2EXNpJ2dUh7LpN1RO5kq7+B0N 6PfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:to:in-reply-to:from:subject :message-id:cc:references:date; bh=mI5CxK1xpXxFieiKfAyvPk66186aJ5YVax/6TkrFdKo=; b=oWVB/iADTTVKiJXZBp/ceYv2zp6e2DOGysFYZzRoCBJTBs8s6gE9+hOZroWxfgsPtn aY4Jpu2e5D5W/zuLZXTCcPmwDiNnjHXd6LiedjcoKnJgloP8cIFi1q1K9CLdXcJcN6tC VURbafh2BB55dYgIVjt4I//4oOQmCxJt62KlP9LM+dphPGaAQ2ATlNLuiAliU3k+Nidv GsDaOhvi7CDGD5pKRqNTriKuzLYqt7c4OlL27eDcZfB26rChLC0fpY9mNeZqVj2tWt0O bKDFPDOyrz4raV1Hab0KQGi20B5hxcG0yRBpLuQNutzvO7+yRaNcl4Ip/Sh9cDKxMKgo juZQ==
X-Gm-Message-State: AOAM532mFnQVCSGAryx/opVaURoZGIIqNFW0QUhf9KkXY1RXvBV11d4s n+qzUcJMW6o3sktDdGvTgev0U53c9HY=
X-Google-Smtp-Source: ABdhPJxBRbpr3wcRyUTrYerKPzo/kRar4AKBSTzqkd3dwoI4DsaZyxuiXuPFPptsgA/Beo9Uo/B4Fw==
X-Received: by 2002:ab0:4425:: with SMTP id m34mr3153017uam.27.1593191788623; Fri, 26 Jun 2020 10:16:28 -0700 (PDT)
Received: from localhost (0.92.231.35.bc.googleusercontent.com. [35.231.92.0]) by smtp.gmail.com with ESMTPSA id 8sm2570097uat.0.2020.06.26.10.16.28 for <network-tokens@ietf.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 26 Jun 2020 10:16:28 -0700 (PDT)
Mime-Version: 1.0
To: Christian Huitema <huitema@huitema.net>
X-Mailer: Superhuman Desktop (2020-06-25T22:05:59Z)
In-Reply-To: <38d4885d-71f0-e69c-e78c-608482036956@huitema.net>
From: Yiannis Yiakoumis <yiannis@selfienetworks.com>
Message-ID: <kbwgjics.3e327ce5-1d5c-4ba4-9d8e-ae9cb79f3003@we.are.superhuman.com>
Cc: Melinda Shore <melinda.shore@nomountain.net>, tls@ietf.org, network-tokens@ietf.org
X-Superhuman-ID: kbwh8pia.73cdffc6-52b8-4b57-87fa-a557c932d008
X-Superhuman-Draft-ID: draft00707e25cb964aab
References: <kbsy4785.3cb5b3af-12b1-4d09-9944-6e4e487b103d@we.are.superhuman.com> <CAKC-DJjRBZujxoLNtNCTe40Gwta9KbdCORVzJ1V54UTGpYP8xQ@mail.gmail.com> <87e6e635-d1ec-9f36-41c3-339774f510ca@nomountain.net> <38d4885d-71f0-e69c-e78c-608482036956@huitema.net>
Date: Fri, 26 Jun 2020 17:16:25 +0000
Content-Type: multipart/alternative; boundary="611259c8cabdc409679be7af47f5bd26cf282385058465f13254ef07aa24"
Archived-At: <https://mailarchive.ietf.org/arch/msg/network-tokens/vWknK5elpO_fd8ix2wZ9L5ZlUL8>
Subject: Re: [Network-tokens] [TLS] Network Tokens I-D and TLS / ESNI
X-BeenThere: network-tokens@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussion list for network tokens <network-tokens.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/network-tokens>, <mailto:network-tokens-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/network-tokens/>
List-Post: <mailto:network-tokens@ietf.org>
List-Help: <mailto:network-tokens-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/network-tokens>, <mailto:network-tokens-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 26 Jun 2020 17:16:33 -0000

On Fri, Jun 26, 2020 at 7:29 AM, Christian Huitema < huitema@huitema.net > wrote:

> 
> 
> 
> On 6/25/2020 11:11 PM, Melinda Shore wrote:
> 
> 
> 
>> 
>> 
>> On 6/25/20 3:29 PM, Erik Nygren wrote:
>> 
>> 
>> 
>>> 
>>> 
>>> One quick comment is that binding tokens to IP addresses is strongly
>>> counter-recommended.
>>> It doesn't survive NATs or proxies, mobility, and it is especially
>>> problematic in IPv6+IPv4 dual-stack environments.
>>> 
>>> 
>> 
>> 
>> 
>> There's been a bunch of past work done developing similar sorts of
>> protocols, and for what it's worth I wrote up a mechanism for using
>> address tags and address rewrites, but unfortunately Cisco decided to
>> patent it. Anyway, there are ways of dealing with this problem that don't
>> require binding the address to the token ("all technical problems can be
>> solved by introducing a layer of indirection").
>> 
>> 
>> 
> 
> 
> 
> There is also an interesting privacy issue. The token is meant to let a
> provider identify some properties of the connection. I suppose there are
> ways to do that without having it become a unique identifier that can be
> tracked by, well, pretty much everybody. But you have better spell out
> these ways.
> 
> 
> 
> 

You are right that for the duration of a token, one could use it to identify an endpoint (either application or most likely a combination of user/application). Tokens expire and intermediary nodes cannot correlate tokens with each other as they are encrypted. So tracking cannot happen across different tokens (of the same user), or between token-enabled and non-token-enabled traffic. I guess similar type of tracking happens when users are not behind a NAT and their IP address can be used to track them. Would it make sense to have the user add a random value to a token, and then encrypt it with the network's public key, so that each token becomes unique and cannot be tracked. Would that address the privacy concerns better?

> 
> 
> 
> Then, there are potential interactions with ESNI/ECH. The whole point of
> ECH is to keep private extensions private. The token extension would need
> to be placed in the outer envelope, which is public but does not expose
> seemingly important information like the SNI or the ALPN.
> 
> 
> 
> 

Ah, I was not aware that ESNI can now include all CH extensions - thanks for the pointer. Yes, the token would have to stay on the outer envelope so the network can process it. The main idea is you can encrypt everything that is client-server specific, and just keep a token to explicitly exchange information with trusted networks.

> 
> 
> 
> There are also implications for QUIC, in which the TLS data is part of an
> encrypted payload. The encryption key of the TLS carrying initial packets
> is not secret in V1, but it might well become so in a future version.
> 
> 
> 
> 

Haven't looked into QUIC yet, but is on the list of things to do. If anyone is interested to help us explore this, please let me know.

> 
> 
> 
> -- Christian Huitema
> 
> 
> 
> 
> _______________________________________________
> TLS mailing list
> TLS@ ietf. org ( TLS@ietf.org )
> https:/ / www. ietf. org/ mailman/ listinfo/ tls (
> https://www.ietf.org/mailman/listinfo/tls )
> 
> 
>