Re: [TLS] 0-RTT and Anti-Replay

Eric Rescorla <ekr@rtfm.com> Mon, 23 March 2015 18:13 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7CE8A1AD0C3 for <tls@ietfa.amsl.com>; Mon, 23 Mar 2015 11:13:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Level:
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham
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 i1_nIZczdUjX for <tls@ietfa.amsl.com>; Mon, 23 Mar 2015 11:13:39 -0700 (PDT)
Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com [209.85.212.182]) (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 CD8EB1AD0C8 for <tls@ietf.org>; Mon, 23 Mar 2015 11:13:38 -0700 (PDT)
Received: by wixw10 with SMTP id w10so71091847wix.0 for <tls@ietf.org>; Mon, 23 Mar 2015 11:13:37 -0700 (PDT)
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-type; bh=8911NthcTYWVIfgLVLvMBdn4P0almBcquyuv11w7LkY=; b=lgoyhraHv972i4v8DCOG9/uMBIu3Z5/lnwc0J3b2Jau6tLvh+aFNv8l0sQ4Wu0m2R/ DeDheVoGC/8pUPaPaieM5j5sfZlqF13TKpts0yR5SOrLN9w8lMfBiQbmCilK/tMJDYfa FamEsbcHE8PzBGnecHPiNIWLyuKHvrrgk/1wsuUR5UprYU/+cnfxiAtEAh9IsTnp0vL8 tYM2Y9n62SGJiopWoVzA08Ds3fDNBtcFxrnR/vikt6AM2u5QWTlOjAHQ8Lwifc4L6lVO 4mFOpPzcq838B3JNbPUMp0lLZuuCBjAJEsoTDA/gDKReq9jRTXr9BAR4nyyC6RvxbHN2 P1Ow==
X-Gm-Message-State: ALoCoQmWry5QPdQTiqujXHh1KdFmLYNa8Qocmt0kO6ToXXkHRmyls3mEB7YPOooGhz49GXlF8KLU
X-Received: by 10.180.106.68 with SMTP id gs4mr21672685wib.39.1427134417565; Mon, 23 Mar 2015 11:13:37 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.27.205.198 with HTTP; Mon, 23 Mar 2015 11:12:57 -0700 (PDT)
In-Reply-To: <CAK3OfOgnyDDsc-3TTXnyYhY_t0Ooi9pAfegVqC-4WO8GXkzTBw@mail.gmail.com>
References: <CABcZeBP9LaGhDVETsJeecnAtSPUj=Kv37rb_2esDi3YaGk9b4w@mail.gmail.com> <20150323084716.GM21267@localhost> <CABcZeBO88cvxXJULgpNCxC_Q4HhtOOVnpCoUWmo6=7GkVhFkdQ@mail.gmail.com> <20150323171955.GP21267@localhost> <CABcZeBOd8eftMhSk++uS6Dhc+2te=oFhA5oUB9BT9kWX2KWSKg@mail.gmail.com> <CAK3OfOgnyDDsc-3TTXnyYhY_t0Ooi9pAfegVqC-4WO8GXkzTBw@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Mon, 23 Mar 2015 13:12:57 -0500
Message-ID: <CABcZeBOXTj_H10md5Qh5d2b6eCfVrUp7+0TMGjCSdEgTfq5N4w@mail.gmail.com>
To: Nico Williams <nico@cryptonector.com>
Content-Type: multipart/alternative; boundary="f46d04451a110194430511f8a0cd"
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/SFZ8Bm1m_Fddj3hYk-vAUoSk7TU>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] 0-RTT and Anti-Replay
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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: Mon, 23 Mar 2015 18:13:49 -0000

If I can refer you back to the diagrams I provided in my e-mail, I think
you'll
see that this doesn't help. The issue is that the first time that the
client's
data is handled there is *no* feedback from the server to the client, so
nothing
that the server says is going to help.

-Ekr


On Mon, Mar 23, 2015 at 12:47 PM, Nico Williams <nico@cryptonector.com>
wrote:

> On Mon, Mar 23, 2015 at 12:41 PM, Eric Rescorla <ekr@rtfm.com> wrote:
> >> > Maybe I wasn't clear. When I said "reject" I meant "hard-fail" rather
> >> > than
> >> > make it 1-RTT.
> >>
> >> Sorry it wasn't clear to me.  Is there any reason that fallback to 1-RTT
> >> is not feasible?
> >
> >
> > Yes. The issue is that the client has no way of knowing whether the 0-RTT
> > message was duplicated and processed by a separate server instance, so
> > when it falls back to 1-RTT, resending the initial data may be a replay.
>
> The server can certainly indicate what, if any 0-RTT, it received (by
> sending a hash back).  If it did not receive the 0-RTT data then the
> client can fail (TLS over TCP) or retransmit (DTLS over UDP or
> similar).  If the server received the wrong 0-RTT data then the client
> can fail and/or sound the alarms, or even retransmit if the data was
> inconsequential (e.g., a SASL mechanism negotiation, which can then be
> redone).
>
> Nico
> --
>