[TLS] Fwd: Kill Finished (and other tricks for hardware)

Watson Ladd <watsonbladd@gmail.com> Fri, 18 April 2014 14:58 UTC

Return-Path: <watsonbladd@gmail.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 4E6721A01AF for <tls@ietfa.amsl.com>; Fri, 18 Apr 2014 07:58:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, SPF_PASS=-0.001] 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 gMw2zW_jMLXK for <tls@ietfa.amsl.com>; Fri, 18 Apr 2014 07:58:21 -0700 (PDT)
Received: from mail-yh0-x234.google.com (mail-yh0-x234.google.com [IPv6:2607:f8b0:4002:c01::234]) by ietfa.amsl.com (Postfix) with ESMTP id B63F31A02FB for <tls@ietf.org>; Fri, 18 Apr 2014 07:58:21 -0700 (PDT)
Received: by mail-yh0-f52.google.com with SMTP id c41so1523224yho.39 for <tls@ietf.org>; Fri, 18 Apr 2014 07:58:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=/Xcsuc6PcLI8qxgDmGTN7+9eV7Rk3e2dM0oi1SFe3uY=; b=AgHRLYoZUWa9yNC3R6Vcz4aJGMvn1+OSe/g2zyX8zsv+m19zTdGQaVFReeR3pL/R05 YlD8Gyw76PvzMKR40SphuBRQqJmEkRtZyu8SzbGVS5tUoXroJjMo1NUYDQHHQ5z+4jLC W1/QbuqkP8HOfxnRvJOU8tSzrLoz86HcTUf+XVsGGe3OgH1xW71iVpG3V/eNzloZ4pLv WS9VvGkuje4pJ36zvib5Ipn4LLVqQGVqyIuJMiCMqxTGYVTyr14LvJ4mX7l+vrkF8LET lcOMCktXZ69/LG7ibkvixhoQxjzbHFltFsbIzo2dM+Nq+1u5c5EZKxazj7JKzWvhBEzo TMBg==
MIME-Version: 1.0
X-Received: by 10.236.115.198 with SMTP id e46mr30695252yhh.24.1397833097643; Fri, 18 Apr 2014 07:58:17 -0700 (PDT)
Received: by 10.170.63.197 with HTTP; Fri, 18 Apr 2014 07:58:17 -0700 (PDT)
In-Reply-To: <CACsn0c=ADD_Lf__2XHSZWpA8037RiayS4MQpJy-9LqA5qbXmTQ@mail.gmail.com>
References: <CACsn0cm7CU3HBOY-m90+HwGBuw+nZ7vyqRdHZcfDjw7wiTmDMw@mail.gmail.com> <CAK3OfOiEAWto9qrrJbVzZRgk++6tR-im=RFk4bxjD52ZE5FMWg@mail.gmail.com> <CACsn0cmmtg4Q_hf2jccvwps1b67pVM+wDrraZFPX5fB1C5b=Eg@mail.gmail.com> <CAK3OfOgjcNXrLygba_GLTbV_A1bktFtT_qyee-HRLyL0DPs0ug@mail.gmail.com> <CACsn0c=ADD_Lf__2XHSZWpA8037RiayS4MQpJy-9LqA5qbXmTQ@mail.gmail.com>
Date: Fri, 18 Apr 2014 07:58:17 -0700
Message-ID: <CACsn0ckE4dXrGi7_5U23SQk3BjrOCADuE8gabp2wVW4xbgN-0g@mail.gmail.com>
From: Watson Ladd <watsonbladd@gmail.com>
To: "tls@ietf.org" <tls@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/abuNmEpb2OforJr7OmWnmig4PNk
Subject: [TLS] Fwd: Kill Finished (and other tricks for hardware)
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, 18 Apr 2014 14:58:26 -0000

Dear all:
I screwed up my reply and Nicos argued it needed to be sent to the list.

On Thu, Apr 17, 2014 at 7:23 PM, Nico Williams <nico@cryptonector.com> wrote:
> On Thu, Apr 17, 2014 at 8:35 PM, Watson Ladd <watsonbladd@gmail.com> wrote:
>> On Thu, Apr 17, 2014 at 6:10 PM, Nico Williams <nico@cryptonector.com> wrote:
>>> This would require updating the tls-unique channel binding (which the
>>> resumption bug doesn't: just fix resumption).
>>
>> You have a master key: do another extraction from it. I don't see this
>> as unsolvable.
>
> I was pointing out a fact.  Clearly it's solvable.
>
>>> Also, are you proposing to have no message which demonstrates
>>> possession of the shared master secret immediately after being able to
>>> compute it?
>>
>> Yes. Key confirmations are useful in extremely limited circumstances.
>
> Are key confirmations cargo cult?  It depends:
>
> If one is doing channel binding then a channel binding confirmation
> -which might look much the same as key confirmation- is needed.  The
> reason is that the point of CB is to leave encryption to the
> lower-layer channel, but only if there was no MITM there.

Is channel binding really necessary in TLS? I agree key extractors
are, but I think the cases where TLS is layered on encrypted channels
are pretty rare. Of course if TCPcrypt becomes more common this will
change. But I don't see how to do a key confirmation and 1-RTT in the
same handshake: we may end up with options, and then have to be very,
very careful in hashing the handshake. Chalk this up to me neglecting
a usecase.

>
> If one is not doing channel binding then I believe no key confirmation
> is needed.

That's correct: You can't get PFS but only weak PFS. However, weak PFS
is good enough. No two message protocol can achieve PFS.

>
> The Kerberos AP exchange is a clear case of this.  When no CB is used
> what does one gain from key confirmation in Kerberos?  Nothing, IMO.
> If you trust your KDC and the cryptosystem then really, who cares if
> you're feeding ciphertext to a party that lacks the key to decrypt it
> with?
>
> But in the Kerberos GSS mechanism the AP-REP message serves as the
> channel binding confirmation message, so if one is doing CB then
> clearly one also wants that AP-REP.
>
>> Furthermore, this fixes the issue with 1-RTT proposals where a
>> modified handshake might not get detected until data was sent on a
>> downgraded channel.
>
> Only by removing the thing that the modification of which would have
> been detected.  The "issue" remains in some sense, or it was never
> really an issue.  Let's focus on whether and when we need key
> confirmation.

I was completely confused. You can have

C->S: here's my key
S->C: here's my exchange and half of the confirmation
C->S: confirmation and my data.
S->C: response

a 1-RTT handshake in which the Finished message actually protects the handshake.

Sincerely,
Watson Ladd
>
> Nico
> --



--
"Those who would give up Essential Liberty to purchase a little
Temporary Safety deserve neither  Liberty nor Safety."
-- Benjamin Franklin


-- 
"Those who would give up Essential Liberty to purchase a little
Temporary Safety deserve neither  Liberty nor Safety."
-- Benjamin Franklin