Re: [TLS] Additional warnings on 0-RTT data

Martin Thomson <martin.thomson@gmail.com> Wed, 23 November 2016 23:03 UTC

Return-Path: <martin.thomson@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 82DA4129435 for <tls@ietfa.amsl.com>; Wed, 23 Nov 2016 15:03:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 EHgVPG06YYZL for <tls@ietfa.amsl.com>; Wed, 23 Nov 2016 15:03:18 -0800 (PST)
Received: from mail-qk0-x234.google.com (mail-qk0-x234.google.com [IPv6:2607:f8b0:400d:c09::234]) (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 100A512953C for <tls@ietf.org>; Wed, 23 Nov 2016 15:03:18 -0800 (PST)
Received: by mail-qk0-x234.google.com with SMTP id n204so32029199qke.2 for <tls@ietf.org>; Wed, 23 Nov 2016 15:03:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=rwm/2dB9JV61dHThS2x87KE4yo8r1oNxyZT+6oZ3+ZQ=; b=r4+MfW0SxC0PrbcEghnlOvotvtan6U7EGbabv1RXgJoLOGCu7pmSvzOq8G2SfZfv9+ RAJcyGYa2+lPDFaa81dJozA77ZuYEiSjYRHqQtTgUfNt/uNo8QbLRA/tALDIK6DIJdLQ SI2LRdFLYSyk/o9XogFLQtC8sXAXpK3eErL2lN+ReWxD/cjYFU6Ugl4XW87P55n6Eghh pFSNmtPAX3gVv8ZzMFJC9SGPoGUM5YQrb/Asx02TWYdb9ooVJB/e99ajjIM1DERXWDKQ 9ZwRVbub2JsLy23LKGcNwtYhABUhoDDjVEJ2Iwv7QlAfCURXfXCpGwPQggc/aCIVCLnk CcFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=rwm/2dB9JV61dHThS2x87KE4yo8r1oNxyZT+6oZ3+ZQ=; b=FAMqHJVNa924P8CxNvCzgZRTx0qQ8sFRd7Ka3cZfIuNTDxtxiac24PtCPogKmB8j2q IHgoCEUVsTRf0v/UtlmjmPA6cr8RjXvZwxQqPCif41z9RJ/HxJXE4wmtb6xpOcp/2eoV Gp2QRxTYLI2B6bQqgXizX0eMrA2J48diQr5IMfWI7Hl++CD0zvr5yfi3wLjNzTBKup63 rLLxio+wuP74V2QRuy7YcCbFbN0Apq5Dp5Po53DjSzBuCM+NQ+Jyz9HitP6KZU1QMxhv PeahKLEVG1Obfn7VancbAFjX7hDfL7Ra8O75fMfxYlj8JOt2YFjJjjFGcYQ9angaT6YO 4PAg==
X-Gm-Message-State: AKaTC00H9J0zxF6kMbOhkGl3xv+jra4lRyviAJoogPJaqJZ+Mn+AOdYKQEh/QZgNdh4YoHIkAhQGyqV0Iu13Vg==
X-Received: by 10.55.184.68 with SMTP id i65mr5555067qkf.5.1479942197145; Wed, 23 Nov 2016 15:03:17 -0800 (PST)
MIME-Version: 1.0
Received: by 10.140.85.101 with HTTP; Wed, 23 Nov 2016 15:03:16 -0800 (PST)
In-Reply-To: <CAAF6GDeAbbwnUaCGg4sVxzP6S3ECoQ2nzCi3FyB1gRV9mJHxGA@mail.gmail.com>
References: <CAAF6GDeAbbwnUaCGg4sVxzP6S3ECoQ2nzCi3FyB1gRV9mJHxGA@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
Date: Thu, 24 Nov 2016 10:03:16 +1100
Message-ID: <CABkgnnXuL9jE04omz3n4FRWBKuJtpEV-bS2tSVvN7AJhW_4GUA@mail.gmail.com>
To: Colm MacCárthaigh <colm@allcosts.net>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/fGRIjqvgXA6OWGomHa0SW-J37Nc>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] Additional warnings on 0-RTT data
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.17
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: Wed, 23 Nov 2016 23:03:20 -0000

This seems like too much text to me.  Maybe some people would
appreciate the reminder that replay might cause side-effects to be
triggered multiple times, or that side effects are just effects and
those might also be observable.  But I think that those reminders
could be provided far more succinctly.

The bit that concerns me most is the recommendation to intentionally
replay early data.  Given that I expect that a deployment that enables
0-RTT will tolerate some amount of side-effects globally, and that
excessive 0-RTT will trigger DoS measures, all you are doing is
removing some of the safety margin those services operate with.

On 24 November 2016 at 04:47, Colm MacCárthaigh <colm@allcosts.net> wrote:
>
> I've submitted a PR with an expanded warning on the dangers of 0-RTT data
> for implementors:
>
> https://github.com/tlswg/tls13-spec/pull/776/files
>
> The text is there, and the TLDR summary is basically that time-based
> defenses aren't sufficient to mitigate idempotency bugs, so applications
> need to be aware of the sharp edges and have a plan.  For clarity, I've
> outlined three example security issues that could arise due to realistic and
> straightforward, but naive, use of 0-RTT. There's been some light discussion
> of each in person and on the list.
>
> In the PR I'm "MUST"ing that applications need to include /some/ mitigation
> for issues of this class (or else they are obviously insecure). In my
> experience this class of issue is so pernicious, and easy to overlook, that
> I'm also "RECOMMEND"ing that applications using Zero-RTT data
> *intentionally* replay 0-RTT data non-deterministically, so as to keep
> themselves honest.
>
> At a bare minimum I think it would be good to make clear that clients and
> implementations MAY intentionally replay 0-RTT data; to keep servers on
> their toes. For example a browser could infrequently tack on a dummy
> connection with repeated 0-RTT data, or an implementation could periodically
> spoof a 0-RTT section to the application. That should never be considered a
> bug. but a feature. (And to be clear: I want to do this in our
> implementation).
>
>
> --
> Colm
>
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
>