Re: [TLS] Negotiate only symmetric cipher via cipher suites (was: Ala Carte Cipher suites - was: DSA should die)

Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 13 April 2015 20:45 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 1D7541A7005 for <tls@ietfa.amsl.com>; Mon, 13 Apr 2015 13:45:41 -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 pdTc4QQJaetr for <tls@ietfa.amsl.com>; Mon, 13 Apr 2015 13:45:40 -0700 (PDT)
Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108]) by ietfa.amsl.com (Postfix) with ESMTP id DFE991A6EDC for <tls@ietf.org>; Mon, 13 Apr 2015 13:45:39 -0700 (PDT)
Received: from fifthhorseman.net (unknown [38.109.115.130]) by che.mayfirst.org (Postfix) with ESMTPSA id ADB8FF984 for <tls@ietf.org>; Mon, 13 Apr 2015 16:45:36 -0400 (EDT)
Received: by fifthhorseman.net (Postfix, from userid 1000) id 66A63200F2; Mon, 13 Apr 2015 15:45:25 -0500 (CDT)
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: tls@ietf.org
In-Reply-To: <20150413185505.GA1016@LK-Perkele-VII>
References: <CAK9dnSyKf7AY11h1i1h+SudRc-NmTZE5wC682YKhNsxnfV5ShQ@mail.gmail.com> <201504131200.00384.davemgarrett@gmail.com> <874mokug5y.fsf@alice.fifthhorseman.net> <201504131325.20590.davemgarrett@gmail.com> <871tjoue8v.fsf@alice.fifthhorseman.net> <D1517606.23FD5%uri@ll.mit.edu> <87vbgzubj6.fsf@alice.fifthhorseman.net> <20150413185505.GA1016@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:45:25 -0400
Message-ID: <87mw2bu596.fsf@alice.fifthhorseman.net>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/_7xgqPAEhH4P-Nozi4Op4rh7tbQ>
Subject: Re: [TLS] Negotiate only symmetric cipher via cipher suites (was: Ala Carte Cipher suites - was: DSA should die)
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:45:41 -0000

On Mon 2015-04-13 14:55:05 -0400, Ilari Liusvaara wrote:
> On Mon, Apr 13, 2015 at 02:29:49PM -0400, Daniel Kahn Gillmor wrote:
>
>> What do you think an implementation should do when a peer tries to
>> negotiate the combination above?  Require an RSA-PSS signature from the
>> server over some material derived in part from the PSK key agreement
>> mechanism?
>
> To me it seems like that combo is quite insecure, unless one handles it as
> a special case (in which case it is just equivalent to PSK in security,
> just wastes time with a certificate).

Can you explain why it's "quite insecure"?

It doesn't seem any worse than normal (non-DHE) PSK other than the cost
of signing and verifying.  I suppose that it also proves that an
attacker has access to both the PSK and the secret key material
belonging to the cert.

So, for example, you could give a dozen clients the same PSK (maybe to
provide them with indistinguishability from each other to a network
observer?), but clients that want to be sure they're talking to the
server (instead of each other) can rely on the server's cert.

> As list, the key exchange methods TLS v1.2 actually supports (after merging
> some non-significant distinctions) are:
> - RSA [going away]
> - RSA_EXPORT [you have deimplemented this already, right?]
> - DH_CERT [going away]
> - DHE_CERT [supported]
> - DHE_ANON [???]
> - KRB5 [going away]
> - PSK [???]
> - DHE_PSK [???]
> - RSA_PSK [going away]
> - SRP [???]
> - SRP_CERT [???]

I think this list mixes up key exchange with authentication, which was
what Dave was trying to tease apart.  For key exchange, there is no
difference between DHE_CERT and DHE_ANON and DHE_PSK -- they're all DHE.
the ANON/CERT/PSK parts would be negotiated separately in the
authentication side of things (via the signature_algorithms extension).

(And if we're using supported_groups, the distinctions between different
 flavors of DHE (FFDHE2048, ECDHEP256, ECDHEX25519, etc) are hardly
 non-significant, but i guess that's a slightly different discussion.)

        --dkg