Re: [TLS] WGLC for draft-ietf-tls-ticketrequests

Daniel Migault <daniel.migault@ericsson.com> Sun, 02 February 2020 19:52 UTC

Return-Path: <mglt.ietf@gmail.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61B59120122 for <tls@ietfa.amsl.com>; Sun, 2 Feb 2020 11:52:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.399
X-Spam-Level:
X-Spam-Status: No, score=-1.399 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 nEb1K5pCRUSD for <tls@ietfa.amsl.com>; Sun, 2 Feb 2020 11:52:03 -0800 (PST)
Received: from mail-vk1-f174.google.com (mail-vk1-f174.google.com [209.85.221.174]) (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 8F4A5120033 for <tls@ietf.org>; Sun, 2 Feb 2020 11:52:03 -0800 (PST)
Received: by mail-vk1-f174.google.com with SMTP id g7so3532265vkl.12 for <tls@ietf.org>; Sun, 02 Feb 2020 11:52:03 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hLrcmKTa9WxuF5JenGvhrKKA06L+edRe/m2q8k/wuGQ=; b=WPywesMUHYEz5bS0uwyPptKY3SFaAblw1Nsnd+kyAFsC7UjEu6NrrloSk4ctvjWtUE HvX6BIivMvYAiKLkMn54dOyJuerpo2vgD+6weB2rVLm8QvaoXvo/QpiXcgR74ORPahZG B7KNglT3MJFv82wsEUc9P6Fks1NYEUt7/ff4y8xZfXKJjLN7am7KllS+a/rEJPjotYyH +VKqhj+4GB/kiwZFOIqPLjgy2GVrlxoi0Lx82GqIiuMUMnZTW7PR14RuevhWkRljZiyU kUPpymrcqKxS31q4SZjXuC9uM5iXqiScGlW3Ofw/ZI10uNh44pOp8SuCPOyX6mjAQqcH ATTA==
X-Gm-Message-State: APjAAAUFT3DscP5ORcEczDXrV8e6y7HgM0z3NqmaROLzByD23Ts83nas 63aGQfPS4UuoFzjukBo4kpl4kTJgrdF70qy0vDhhhnNz90yJVA==
X-Google-Smtp-Source: APXvYqwMAZn6gL6LsstbWmKt+8sFRxyIN8J2AUENx0TBWq6H95LTmuBwIvqjeu1w/vqKDlAVdokJRvKwBHr6R1WTUAM=
X-Received: by 2002:a1f:6012:: with SMTP id u18mr12009188vkb.77.1580673122515; Sun, 02 Feb 2020 11:52:02 -0800 (PST)
MIME-Version: 1.0
References: <20191117002249.GV34850@straasha.imrryr.org> <CADZyTkmaUVj=sFdgg93MuM2au0B=1M1k3yCA1XDoaAneVDmnNw@mail.gmail.com> <14690874-E301-4BC0-B385-00DEBCBA94C2@apple.com> <20191120034812.GQ34850@straasha.imrryr.org> <5FBFE820-8C53-4B32-9520-343279C1A6CC@apple.com> <20191120064819.GR34850@straasha.imrryr.org> <CAPDSy+6DFJ+OYRtYK6eEiUt1noiik4KxqrGFx0ro_RL2Mft_VA@mail.gmail.com> <fd37bd2a-c799-4bf4-95b3-65943681683b@www.fastmail.com> <20200121055411.GJ73491@straasha.imrryr.org> <CABcZeBP=BetaxVo5v-khdykP0U3P6j-e+hL307o8Wn3KC9rmhA@mail.gmail.com> <20200121224610.GR73491@straasha.imrryr.org> <CABcZeBOq+mvY4mx+VT0QB08b67noqZyvr0NE-_YMGsz5VoSDuA@mail.gmail.com>
In-Reply-To: <CABcZeBOq+mvY4mx+VT0QB08b67noqZyvr0NE-_YMGsz5VoSDuA@mail.gmail.com>
From: Daniel Migault <daniel.migault@ericsson.com>
Date: Sun, 2 Feb 2020 14:51:51 -0500
Message-ID: <CADZyTkmvJRCNXMU4vS_4Q6soD3_+b2aHLSVdSXeK5+WCWQr+Ew@mail.gmail.com>
To: Eric Rescorla <ekr@rtfm.com>
Cc: "<tls@ietf.org>" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000f93fae059d9d2309"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/xrIzrDGv4ThH3KTEx9iP5l0QnuU>
Subject: Re: [TLS] WGLC for draft-ietf-tls-ticketrequests
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 02 Feb 2020 19:52:07 -0000

On Sun, Feb 2, 2020 at 12:09 PM Eric Rescorla <ekr@rtfm.com> wrote:

> > On Tue, Jan 21, 2020 at 01:17:59PM -0800, Eric Rescorla wrote:
> >
> > > I would make several points here:
> > >
> > > 1. RFC 8446 explicitly discourages ticket reuse
> > >    (https://tools.ietf.org/rfcmarkup?doc=8446#appendix-C.4). so we
> > >    should not be designing an extension to enable reuse. While it's
> > >    potentially true that some applications do not benefit from
> > >    non-reuse, creating a set of mechanisms around reuse risks those
> > >    mechanisms being used in settings where reuse would be
> > >    bad. Moreover. just because at present sending MTAs have weak
> > >    privacy properties does not mean that we should bake in this
> > >    situation permanently.
> >
> > Indeed I agree that ticket reuse is often undesirable, and expect that
> > it will be avoided in many cases.  So I am somewhat sympathetic to the
> > above as a starting point for the analysis.
> >
> > That said, I don't see that making reuse easier to negotiate is likely
> > to create significant opportunities for misuse.
>
> I'm actually making several points here:
>
> 1. TLS 1.3 takes the position that reuse is bad and that position
>    is for good reasons, so we shouldn't undercut it in a new
>    extension.
>
>
This statement seems wrong to me as TLS 1.3 does not provide such position.
Appendix C.4 discourages tickets re-use when Client tracking is a concern.
The section uses SHOULD and not MUST. So, in fact, TLS 1.3 takes position
this is not mandatory to renew tickets. As you mention, this position is
for good reasons, that is the consideration of other use cases than the web
browsing use case, and I also tend to agree with you we should not go
beyond what TLS 1.3 says - that is: not necessarily preventing ticket
re-use.

2. Creating a mechanism which encourages reuse increases the risk
>    of reuse.
>
> You are responding to number (2), and I'll respond to that below,
> but I think the controlling point is actually (1). We shouldn't
> encourage reuse, period.
>
>
> >     - Both the client *and* the server would need to opt-in to reuse.
> >
> >       * Even if the client asks for reuse, the server can invalidate
> >         the old ticket (something it would need to be able to do
> >         already to ensure non-reuse) and send a fresh one anyway.
> >
> >         The client would have to replace the old with the new, since
> >         it has to assume that the old is now likely invalid.
> >
> >       * Even if the server is willing to reuse, if the client asks
> >         for a new ticket, the server has to assume the client has
> >         a single-use cache, and should vend a new ticket.
> >
> >       so it takes bilateral coordination to arrive at reuse, and
> >       so accidental reuse in applications where it is inappropriate
> >       requires errors on both ends.
>
> The issue is less accidental reuse than joint misconfiguration (e.g.,
> bad defaults or bad advice in some Stack Overflow document).
>
>
>
> > > 2. The additional cost of multiple tickets seems extraordinarily
> > >    small, so I am not at all persuaded that there is enough value in
> > >    this use case to justify adding new protocol machinery, even
> > >    ignoring point (1) above.
> >
> > Postfix has a shared cache (indexed by destination domain+mx host) for
> > multiple independent processes racing to use the cache to make remote
> > SMTP connections.
> >
> > Frequent writes to that cache create measurable overhead and still don't
> > prevent reuse.
>
> I'm sorry to say that I'm not that sympathetic to this position. I
> appreciate that it's inconvenient for Postfix to have frequent writes
> to the ticket cache, but what you propose to do is hoist this
> implementation idiosyncracy into the specification, and I don't think
> that that's a good tradeoff, both for complexity and because the
>
>
> > Transmission of unnecessary tickets is also wasteful of
> > network and other server resources.
>
> Well, my position here is that these tickets aren't unnecessary,
> because you should be using them, rather than violating the
> SHOULD in the 8446.
>
>
> > Erasing tickets on first use would be unwise, most existing servers will
> > not presently return a fresh ticket on resumption.
>
> This seems like a defect in those servers. However it can be handled
> by not erasing tickets until a new ticket is provided..
>
>
> >
> > > 3. If there *is* such value, then you can register your own extension
> > >    which allows you to say the orthogonal thing, namely "don't send me
> > >    any tickets at all if you are resuming". This would be more
> > >    flexible in that you could then say "I would like 10 tickets, but
> > >    only if you don't resume". Note that
> > >    https://datatracker.ietf.org/doc/draft-ietf-tls-tlsflags/ would
> > >    allow you to do this efficiently.
> >
> > This is an interesting idea, but how would the two extensions interact?
>
> I would imagine the logic would be:
>
> If !reuse || !present(reuse extension) {
>   send min(max-local-tickets,
>            tickets-requested-extension-present ?
>            tickets-requested-extension-value :
>            1)
> }
>
> > And wouldn't that interaction add more complexity?
>
> Perhaps. At least in NSS, I imagine it would be pretty comparable, assuming
> we opted to implement the non-reuse one at all.
>
>
> > By hypothesis
> > clients that are willing to reuse tickets don't really need more than
> > one at a time. Is there a clear use case for multiple concurrent
> > reusable tickets.
>
> Yes, I see your point here. I don't have a clear case for this, but
> I'm also not sure that there isn't one: concurrent usage and serial
> usage are not necessarily the same.
>
>
> > > Thus, I would prefer to advance this document as-is.
> >
> > Thanks for the substantive response.  Much appreciated.  I hope you're
> > willing to address the above reaction, I am trying to find common
> > ground that addresses your concerns and mine.
>
> And thank you for your substantive response. I am not sure if we will be
> able to
> find common ground however.
>
>
> -Ekr
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
>