Re: [TLS] 2nd WGLC: draft-ietf-tls-tls13

Eric Rescorla <ekr@rtfm.com> Tue, 18 July 2017 13:08 UTC

Return-Path: <ekr@rtfm.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 A207313188D for <tls@ietfa.amsl.com>; Tue, 18 Jul 2017 06:08:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.09
X-Spam-Level:
X-Spam-Status: No, score=0.09 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=1.989, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-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 b88ivGasv4LI for <tls@ietfa.amsl.com>; Tue, 18 Jul 2017 06:08:33 -0700 (PDT)
Received: from mail-yb0-x22b.google.com (mail-yb0-x22b.google.com [IPv6:2607:f8b0:4002:c09::22b]) (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 58D2E12EC3F for <tls@ietf.org>; Tue, 18 Jul 2017 06:08:33 -0700 (PDT)
Received: by mail-yb0-x22b.google.com with SMTP id 70so6128817ybn.2 for <tls@ietf.org>; Tue, 18 Jul 2017 06:08:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=VRo6GRljCO9Xo5Wu3Ssc/K5b7zAOoZRwYbRQrUJDr/M=; b=rN/y/a9CBqnSbyFQLu52o1d6t6Uh9NeHHtpVLDKt7m5WlulBGcYpMmeA8IFwVfytl8 MsekRfrQp2Fvt7Efyq30ThB8TJLL/s6QYbafnVNuOff1DfZY9/PK4KQxJ7ii9FKeZGs3 Llb24aO+4r0X5Aygj/FjZPFFJyv+bfUZURreSb5Zdl2V26FzUUyPtV1ElCasEsHgsZbQ 10uVmuAsjaXN1QH8JbSSYdB3pPhl6UKLS48RQMQfgKNpvjWD+GCKOqVoj8b8PuYla7c+ 4P+6bwDAfCCrFwu3J+Nd9i646sSZ2PZIfYXTU5QcCeXQTXuNWBFPLtfbFgGG8cYqrARP SE1Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=VRo6GRljCO9Xo5Wu3Ssc/K5b7zAOoZRwYbRQrUJDr/M=; b=ZQPfN3A0MR4pHdi9iqdT2kxqMUu/5GQZEdQTvlDIHQg6J3XOQCLP7bBSxzufXyH4sG bMB4/P2OUBSn5Df68BaPFms4edz8OLSRoWezQyfFbUPWkba1EU2UCufPGV1vfvhYjuJO 089F1b3e45vS45XLrcg0ICpKu3EWjZPVcULVypaZnWOlftezjXK0xA8neRWCA+sLA/rG atMojdWVhbFFO+cDjxH82/M748MQqBN39EnZGZmpATLVXD0q9F5dtGs+gEUGvo4Uu6JI 6aJhWjJ2CQtzhkg/vM/N1VLty7OfBZvOGozP/CU3tdvwxKoFtdFskst3J3oN0vw+aphX KSlA==
X-Gm-Message-State: AIVw113uJWCxoCd7aWXFvQRpsJ6GorvOT97+vWRkXPy3UQa2dIkvINhP DL6ntuEA8dEEIr/vDBGkb09AzUhKTjMg
X-Received: by 10.37.212.150 with SMTP id m144mr1251080ybf.256.1500383312533; Tue, 18 Jul 2017 06:08:32 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.13.215.9 with HTTP; Tue, 18 Jul 2017 06:07:52 -0700 (PDT)
In-Reply-To: <752c2b4e-fb24-6857-ac88-e42504029dd6@akamai.com>
References: <4783B0DF-445C-4AF0-8EF1-AB396A97B947@sn3rd.com> <e14760fb-c45e-fbf6-270b-cdf173c757bc@akamai.com> <CABcZeBO_2tDVon4e8MU2jcq-2rYcUNfKESkPJe2ZjzWfoE_ESg@mail.gmail.com> <752c2b4e-fb24-6857-ac88-e42504029dd6@akamai.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Tue, 18 Jul 2017 06:07:52 -0700
Message-ID: <CABcZeBMQ-oPW61my5+7tQSJucV6_zo16j4nmqz=PEztrxG9kxg@mail.gmail.com>
To: Benjamin Kaduk <bkaduk@akamai.com>
Cc: Sean Turner <sean@sn3rd.com>, "<tls@ietf.org>" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c07cd065ef41f05549736a8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/jXMPuBeHWS_A8dtIfAhl7YRt2pA>
Subject: Re: [TLS] 2nd WGLC: draft-ietf-tls-tls13
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.22
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: Tue, 18 Jul 2017 13:08:36 -0000

On Wed, Jul 12, 2017 at 3:39 PM, Benjamin Kaduk <bkaduk@akamai.com> wrote:

> On 07/11/2017 03:50 PM, Eric Rescorla wrote:
>
>
>
> On Tue, Jul 11, 2017 at 1:39 PM, Benjamin Kaduk <bkaduk@akamai.com>
> wrote:
>>
>>
>> Another question I also relates to 0-RTT, specifically with the freshness
>> checks and the case where the computed expected_arrival_time is in outside
>> "the window" by virtue of being in the future. (See the Note: at the end of
>> section 8.2.) (The case where the expected_arrival_time is in the past can
>> clearly be treated as "this is a stale request" and the current text about
>> aborting with "illegal_parameter" or rejecting 0-RTT but accepting the PSK
>> is acceptable, even if it doesn't give guidance as to what might cause
>> someone to pick one behavior or the other.)  I am wondering whether we
>> should consider this to be a potential attack and abort the connection.  I
>> concede that there are likely to be cases where this
>> situation occurs incidentally, for clients with extremely fast-running
>> clocks, and potential timezone/suspend-resume weirdness.  But there is also
>> the potential for a client that deliberately lies about its ticket age and
>> intends to replay the wire messages when the age becomes in window, or an
>> attacker that records the messages and knows that the client's clock is too
>> fast, or other cases.  (A client that deliberately does this could of
>> course just send the same application data later as well.)  If the time is
>> only a few seconds out of the window, then delaying a response until it is
>> in the window and only then entering it into the single-use cache might be
>> reasonable, but if the time is very far in the future, do we really want to
>> try to succeed in that case?
>>
>
> If the time is very far in the future, the text is supposed to tell you to
> fall back
> to 1-RTT...
>
>
> I agree that that is what the text currently says.  I'm questioning
> whether that's actually the behavior we want.
>
> That is, in this case, the CH+0RTT data can be replayed by an observer
> once enough time has elapsed that the expected_arrival_time is within the
> window, similar to one of the reordering attacks mentioned elsewhere.  We
> could add the CH to the strike register in this case, which would bloat its
> storage somewhat and have entries that take longer than the window to
> expire out.
>
> I don't have a good sense for how often we expect postdated CHs to occur
> and whether the ensuing breakage would be manageable, but I'm not sure that
> we've thought very hard as a group about this question.
>

I think post-dated are going to happen pretty often based on what I
understand from
Kyle and others. I wouldn't be comfortable with hard fail, especially given
that this
just seems like the dual of the other case. Adding the CH to the list seems
like
a problem because it might stay forever.

-Ekr


>
>
>
>
>
> It looks like we no longer do anything to obsolete/reserve/similar the
>> HashAlgorithm and SignatureAlgorithm registries; was that just an editorial
>> mixup or an intended change?
>>
>
> https://tlswg.github.io/draft-ietf-tls-iana-registry-
> updates/#orphaned-registries
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__tlswg.github.io_draft-2Dietf-2Dtls-2Diana-2Dregistry-2Dupdates_-23orphaned-2Dregistries&d=DwMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=sssDLkeEEBWNIXmTsdpw8TZ3tAJx-Job4p1unc7rOhM&m=BMArYHEvmklJ5o8KreHqXeVRBDLx5CLzLwErLvjyUWk&s=3RGXDDdDzmF81eYcffxZOyJWazAfg8Uk45evFm9yMo0&e=>
>
>
> Oh right, I forgot about that -- thanks.
>
>
> We removed the API guidance for separate APIs for read/writing early data
>> versus regular data, which I believe had consensus.  But I thought we were
>> going to say something carefully worded about having an API to determine
>> whether the handshake has completed (or client Finished has been validated,
>> or ...), and it looks like this is buried at the end of E.5(.0), with the
>> string "API" not appearing.  It might be useful to make this a little more
>> prominent/discoverable, whether by subsection heading or otherwise.
>>
>
> Suggestions welcome for where this would be better....
>
>
> I'll see if I have time to think about it some more.
>
> -Ben
>