Re: [TLS] 0-RTT (Was: Re: 0-RTT and Anti-Replay)

Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 13 April 2015 20:59 UTC

Return-Path: <dkg@fifthhorseman.net>
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 8CA071A7113 for <tls@ietfa.amsl.com>; Mon, 13 Apr 2015 13:59:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] 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 K4F0LklDxV9f for <tls@ietfa.amsl.com>; Mon, 13 Apr 2015 13:59:56 -0700 (PDT)
Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108]) by ietfa.amsl.com (Postfix) with ESMTP id 2C7831A710D for <tls@ietf.org>; Mon, 13 Apr 2015 13:59:56 -0700 (PDT)
Received: from fifthhorseman.net (unknown [38.109.115.130]) by che.mayfirst.org (Postfix) with ESMTPSA id 49FAFF984 for <tls@ietf.org>; Mon, 13 Apr 2015 16:59:54 -0400 (EDT)
Received: by fifthhorseman.net (Postfix, from userid 1000) id 3FBA420088; Mon, 13 Apr 2015 15:59:53 -0500 (CDT)
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: tls@ietf.org
In-Reply-To: <20150413181144.GA720@LK-Perkele-VII>
References: <CABcZeBP9LaGhDVETsJeecnAtSPUj=Kv37rb_2esDi3YaGk9b4w@mail.gmail.com> <20150412165542.GA19481@LK-Perkele-VII> <CABkgnnUr4wYkVwBGvH0MSmBnzNBd+T1s4aZJ5OvT_Gw3UyMSjQ@mail.gmail.com> <20150413181144.GA720@LK-Perkele-VII>
User-Agent: Notmuch/0.18.2 (http://notmuchmail.org) Emacs/24.4.1 (x86_64-pc-linux-gnu)
Date: Mon, 13 Apr 2015 16:59:53 -0400
Message-ID: <87k2xfu4l2.fsf@alice.fifthhorseman.net>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/56xJuFk9yL1Fs9fvfmcLy5PQZ94>
Subject: Re: [TLS] 0-RTT (Was: Re: 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, 13 Apr 2015 20:59:57 -0000

On Mon 2015-04-13 14:11:44 -0400, Ilari Liusvaara wrote:
> On Mon, Apr 13, 2015 at 10:02:43AM -0700, Martin Thomson wrote:
>
>> But I imagine that this depends on the model we employ.  Replayable
>> data could just be consider the start of a stream.  On the other hand,
>> unreliable data doesn't work very well for a stream mode.  Conversely,
>> replayable data makes no sense in a datagram mode, but all data is
>> unreliable there.
>
> I thought the recommended client-side interface called for auto-
> retransmit, which would mean that if application handled 0RTT as anything
> else than a prefix, it would now create two cases serverside.

Just because the data is replayable doesn't mean that it is replayable
*in the same stream*.

For TLS over TCP, both sides of the stream should be able to model the
state of the other side of the connection in a way that the next piece
of data sent depends on the understanding being correct.

If we decide that the client will auto-retransmit the payload, that
means that an attacker could cause *a second stream* to start in the
same way, not that the existing stream might or might not have the
initial payload loaded twice.

        --dkg