Re: [TLS] 0-RTT security considerations (was OPTLS)

Nico Williams <nico@cryptonector.com> Fri, 21 November 2014 18:52 UTC

Return-Path: <nico@cryptonector.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 2BF661A0276; Fri, 21 Nov 2014 10:52:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.666
X-Spam-Level:
X-Spam-Status: No, score=-1.666 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=no
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 8zDXwPSygzjF; Fri, 21 Nov 2014 10:52:26 -0800 (PST)
Received: from homiemail-a36.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) by ietfa.amsl.com (Postfix) with ESMTP id 8CD1E1A033A; Fri, 21 Nov 2014 10:51:40 -0800 (PST)
Received: from homiemail-a36.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a36.g.dreamhost.com (Postfix) with ESMTP id 75EA477805F; Fri, 21 Nov 2014 10:51:39 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=cryptonector.com; bh=U02JEDOOsNnBJt 3aseDR9ow6fhY=; b=AXbqMnydG47OMICMNTxrig2B11H9UCisTZZBmPACXYKYN8 ieeCF+DSMAcnPkO+Al7OqXHV1VEeF/H9sSdDKXUXpRCVk1bzqBDD6iPYnyIW8+3L LoEdlBrN88EcQ1TBPQ418AuXLLUAJQloHkxhup8gLnoASfCCal/jm4VhnN2PU=
Received: from localhost (108-207-244-174.lightspeed.austtx.sbcglobal.net [108.207.244.174]) (Authenticated sender: nico@cryptonector.com) by homiemail-a36.g.dreamhost.com (Postfix) with ESMTPA id 2330C778057; Fri, 21 Nov 2014 10:51:39 -0800 (PST)
Date: Fri, 21 Nov 2014 12:51:38 -0600
From: Nico Williams <nico@cryptonector.com>
To: Eric Rescorla <ekr@rtfm.com>
Message-ID: <20141121185136.GF20758@localhost>
References: <20141118234608.GA20721@localhost> <CABcZeBN7ErepGC0Y5_xiYspJG-i3z6kA=STMk0mnnu+oQNCZqA@mail.gmail.com> <20141119004543.GC20758@localhost> <CABcZeBNru1qEcuxLm96HH-R=yU2S4PzSPeUUwjVY4jHkh0Aq-A@mail.gmail.com> <20141119205117.GE20758@localhost> <CABcZeBNQr=mmPAFT0i4WARtZ0FonY4te0ke_ayQn6gHBG+rQQQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CABcZeBNQr=mmPAFT0i4WARtZ0FonY4te0ke_ayQn6gHBG+rQQQ@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/CrFWiYj98MQ3ALP5Gn_ZEWnTj7A
Cc: kitten <kitten@ietf.org>, "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] 0-RTT security considerations (was OPTLS)
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: Fri, 21 Nov 2014 18:52:27 -0000

On Thu, Nov 20, 2014 at 09:06:21AM -0800, Eric Rescorla wrote:
> On Wed, Nov 19, 2014 at 12:51 PM, Nico Williams <nico@cryptonector.com>
> wrote:
> 
> > Certainly in the resumption case.
> 
> Also in the semi-static DHE cases.

Yes, of course (it's like resumption in a way).

> > However, in other cases, we'd have to
> > have ensure that whatever oob method is used for establishing the
> > server's public key also conveys this (e.g., we'd need an RR type for
> > indicating this for DANE).
> 
> I don't see that that's a problem. At present DANE doesn't contain enough
> information for the client to generate a 0-RTT handshake at all, so as
> a practical matter we would need to extend the record format, so that
> would implicitly agree to 0-RTT (or explicitly if you prefer).

My inclination is to think that adding a new RR type or extending TLSA
for this is not worthwhile.  See below.

> >   It's much easier to have the server hold the
> > early data and have it bound into the client's next handshake msg.
> 
> This is not generically possible, because the client may have used
> a key that the server has forgotten, which requires the client to
> retransmit.

Yes, indeed.  Applications that can retransmit, could do that.  For
other applications (which is to say: most) the result has to be failure,
and then a reconnect.  Not good.  This is a good reason to want to
minimize 0-RTT usage to cases where the client has good reason to think
the server will be able to handle it: when a) the server said or
advertised so earlier, b) not much time has passed since.

0-RTT is an optimization, but if it can lead to failures that
applications must special-case, then that's problematic.  For HTTPS
that's probably not a problem (it's just one reconnect).

Will 1.3 support 0-RTT?

> > Yes, of course.  With TLS 1.2 one can renego.  Unless I missed
> > something, there's nothing in 1.3 for protecting the client's ID.
> 
> In TLS 1.3, the client's second flight is sent encrypted. If it were sent
> as part of the first flight, it would also be sent encrypted.

So... is confidentiality protection of the client's cert/ID explicitly
supported in 1.3?  That'd be great news.

Nico
--