Re: [TLS] Security review of TLS1.3 0-RTT

Victor Vasiliev <vasilvv@google.com> Fri, 02 June 2017 21:49 UTC

Return-Path: <vasilvv@google.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 2C693126D73 for <tls@ietfa.amsl.com>; Fri, 2 Jun 2017 14:49:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 u9xp9B9sLrCl for <tls@ietfa.amsl.com>; Fri, 2 Jun 2017 14:49:53 -0700 (PDT)
Received: from mail-qk0-x22e.google.com (mail-qk0-x22e.google.com [IPv6:2607:f8b0:400d:c09::22e]) (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 6CEA312422F for <tls@ietf.org>; Fri, 2 Jun 2017 14:49:53 -0700 (PDT)
Received: by mail-qk0-x22e.google.com with SMTP id d14so69504462qkb.1 for <tls@ietf.org>; Fri, 02 Jun 2017 14:49:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=M2t4YlYiIk2Vqkl1bLq8j+IgvqH2vsv4nwSYZKhnJz8=; b=fb/YMjgtFkktsXJeeyBhpI8Ri5TpKL+dPUTtlc/jLzO8IxTkXGPG3PJowpiPiYF+Vc ZCn4B6A+uQpqm5N1RvjZnyeqhb5EAjjvRaQ/FJCjjGzziCLtFLTMd0BSWgnSDwO2/UQv 4SIc8fwJ2rk3g4w//i91P7EPiGNaea31Uh5z3A+ZKvfyAwZCH5w89bwRNwPVnW+6wauz 1Xv+dw5leNp6vHYWfPl0YXyRL3ZXEuj3z/CXtZA7xZWqEujg5UQrbMQ5sRgy5RhGDem0 1RKdLNGfDz7hqUCJWsBRyzMfSS5BXk83lGvoHOqBnpv9fFE9jIXYSCAYvI5bGyNeXFwz DVWg==
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=M2t4YlYiIk2Vqkl1bLq8j+IgvqH2vsv4nwSYZKhnJz8=; b=hl/KmJkHeiAkxw6ZlXtXHM+6ZNH2/xIJIsQlBuCRP3CfHISl0+/vals8xZhYbWH08q egWlWlZVQhMrBtKWuSgqA0D+ZLH2yo0asHUg148gHcrCXsk2vzUW3ghYgDj/bJkRoeiL mf5lETSm7zzyZb6KZobT23zCuJYyWLbOPChTATwCy1X3B9+lcVop6JuXHGI6nx76Kp5j SjQPTdv8mSTsFlc66FOVsaLJbUJKQxxCN2bqYO/yQ0d965Zx55vIw8CsiSTPFIDj0C/l azBGrzMDEfxE/9gOIzf51QMOlPnZ+jUxgCA+M59VQp0awuskfQVw/95DBrNbiglttoML 9EfA==
X-Gm-Message-State: AKS2vOxB2d1Ksh1C7srPcPz1tAzqTESWvxLN3Nf1mI9mLk7eeGKAwtAL Fge0DU5QmhREnaiD+efQBy1+E4uuCqJb
X-Received: by 10.55.45.198 with SMTP id t189mr10894792qkh.108.1496440192435; Fri, 02 Jun 2017 14:49:52 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.55.46.65 with HTTP; Fri, 2 Jun 2017 14:49:51 -0700 (PDT)
In-Reply-To: <CABcZeBMMth+Sbo0JW_oQYh80y1xaE8gSOdWr9tL+pYmxO4DbRQ@mail.gmail.com>
References: <CAAF6GDcKZj9F-eKAeVj0Uw4aX_EgQ4DuJczL4=fsaFyG9Yjcgw@mail.gmail.com> <CAAZdMacpJ-qoQt2pDBjTq6ADwmRKOHXTHDyDTzb+g2gYPvtZzQ@mail.gmail.com> <CAAF6GDdobkQh9_iqX1oU_BO9O2aK2_7Cbaper0AY4qEGYXAcvA@mail.gmail.com> <CAAZdMaeTdcgdCj26kVuq6-0EX1nmehvJJCq+YzB-4r84aRjhuA@mail.gmail.com> <CAAF6GDesLzMDN_LVYr6sFU8Z04jpXhFZphOAet-0JPsFF56Oig@mail.gmail.com> <CAAZdMadDctG0sMyDV49+8UUiagqQpi0bSehtQuKPELMU-+Gg5g@mail.gmail.com> <CAAF6GDfZr_zEuttf2zQhJ9vv2T-e1Mzb3G09_auLReftSJveeg@mail.gmail.com> <CABcZeBMMth+Sbo0JW_oQYh80y1xaE8gSOdWr9tL+pYmxO4DbRQ@mail.gmail.com>
From: Victor Vasiliev <vasilvv@google.com>
Date: Fri, 02 Jun 2017 17:49:51 -0400
Message-ID: <CAAZdMac7wMKO5O452FVgBvhbie0SD4N3YzrMnpo4YUPjSGAMCQ@mail.gmail.com>
To: Eric Rescorla <ekr@rtfm.com>
Cc: Colm MacCárthaigh <colm@allcosts.net>, "tls@ietf.org" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="001a114f50b01990480551012230"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/H53gmiK06TlAbDqnT_2wgPR7m1k>
Subject: Re: [TLS] Security review of TLS1.3 0-RTT
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: Fri, 02 Jun 2017 21:49:55 -0000

On Thu, Jun 1, 2017 at 8:22 PM, Eric Rescorla <ekr@rtfm.com> wrote:

> I've just gone through this thread and I'm having a very hard time
> understanding what the actual substantive argument is about.
>

I believe at this point we mostly disagree on what specific scenarios
are and are not a concern that should be solved by TLS layer.
Replay/retry distinction might be at core for some disagreements.

Let me lay out what I think we all agree on.
>
> 1. As long as 0-RTT is declinable (i.e., 0-RTT does not cause
>    connection failures) then a DKG-style attack where the client
>    replays the 0-RTT data in 1-RTT is possible.
>

Correct.


> 2. Because of point #1, applications must implement some form
>    of replay-safe semantics.
>

Correct.


>
> 3. Allowing the attacker to generate an arbitrary number of 0-RTT
>    replays without client intervention is dangerous even if
>    the application implements replay-safe semantics.
>

Correct, and the specific number is highly situational.


>
> 4. If implemented properly, both a single-use ticket and a
>    strike-register style mechanism make it possible to limit
>    the number of 0-RTT copies which are processed to 1 within
>    a given zone (where a zone is defined as having consistent
>    storage), so the number of accepted copies of the 0-RTT
>    data is N where N is the number of zones.
>

Correct.  Session caches are inherently bound to a single zone.


> 5. Implementing the level of coherency to get #4 is a pain.
>

Yes.


> 6. If you bind each ticket to a given zone, then you can
>    get limit the number of accepted 0-RTT copies to 1
>    (for that zone) and accepted 1-RTT copies to 1 (because
>    of the DKG attack listed above).
>
>
Correct.

  -- Victor.