Re: [TLS] The risk of misconfiguration

Viktor Dukhovni <viktor1dane@dukhovni.org> Thu, 08 May 2014 01:23 UTC

Return-Path: <viktor1dane@dukhovni.org>
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 23C811A045C for <tls@ietfa.amsl.com>; Wed, 7 May 2014 18:23:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.1
X-Spam-Level:
X-Spam-Status: No, score=-0.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_24=0.6, J_CHICKENPOX_34=0.6, J_CHICKENPOX_55=0.6] 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 2GaHQv8SOM6L for <tls@ietfa.amsl.com>; Wed, 7 May 2014 18:23:24 -0700 (PDT)
Received: from mournblade.imrryr.org (mournblade.imrryr.org [38.117.134.19]) by ietfa.amsl.com (Postfix) with ESMTP id E94F21A044D for <tls@ietf.org>; Wed, 7 May 2014 18:23:23 -0700 (PDT)
Received: by mournblade.imrryr.org (Postfix, from userid 1034) id 67CC32AB0B4; Thu, 8 May 2014 01:23:18 +0000 (UTC)
Date: Thu, 08 May 2014 01:23:18 +0000
From: Viktor Dukhovni <viktor1dane@dukhovni.org>
To: tls@ietf.org
Message-ID: <20140508012318.GJ27883@mournblade.imrryr.org>
References: <CAK3OfOgVAg8MLSmRVLe-6vVVzX361xYo4uma3-GQQmn=qoWWbQ@mail.gmail.com> <CACsn0ckrnbQbz-KCEY6u-WU7ULPTQv46g3noz44jMjW5HmFU0g@mail.gmail.com> <CAK3OfOiSKkeknHMwS-a90rR4hF9J9HaNn_XL_b75Mrx3o_wVMQ@mail.gmail.com> <CACsn0cksBt3Mj587cG-U5O5=Kc2p5T1NCP_-LrMRBv1V2hR2wQ@mail.gmail.com> <CAK3OfOibPMSriPsgO286PEZ=N+sdnuDpPyJ_xDr9KdATA_QjLQ@mail.gmail.com> <CACsn0cmB3TQVzsCthYCuY1q-z10wPbmat32Ys9ABT361fYNZLQ@mail.gmail.com> <CAK3OfOgan_JvsuwGNgpzk4tUfoo+JhxbNaHkbZCtAs7DHufr-w@mail.gmail.com> <CACsn0cmeq66S8LS38FmooWpOf534Gda5t09Ro1F3anLb-fJMMQ@mail.gmail.com> <20140508001532.GG27883@mournblade.imrryr.org> <CACsn0ck4mq3LnUwmBwBTgtuA+tHW9_FLHi1zdkz-ApkmtZs7eg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CACsn0ck4mq3LnUwmBwBTgtuA+tHW9_FLHi1zdkz-ApkmtZs7eg@mail.gmail.com>
User-Agent: Mutt/1.5.23 (2014-03-12)
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/V-_c9E3d5fM2xd4OsY1yWHHzro0
Subject: Re: [TLS] The risk of misconfiguration
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: tls@ietf.org
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: Thu, 08 May 2014 01:23:25 -0000

On Wed, May 07, 2014 at 05:58:43PM -0700, Watson Ladd wrote:

> > The solution to avoid accidental use of NULL ciphers is in the
> > client API, no client HELLO should ever include a mixture of NULL
> > and non-NULL ciphers-suites.
> 
> Why not make that a MUST in the RFC

No objection there, the use of NULL ciphers is typically by mutual
agreement between cooperating peers.  They are disabled by default,
and both ends have to enable them, with the client enabling *only*
NULL ciphers where applicable.

> And the same for anonymous DH?

Sadly this does not work.  Clients often don't know whether the
server supports any ADH cipher-suites or not.  Sending only ADH is
going to result in handshake failure.

> I think this solves most of the configuration issues without making any
> uses impossible.

Yes, for NULL ciphers.

> 1: Your ciphersuite list can have either authenticated or
> unauthenticated ciphers, but cannot have both.

No on this one.  That makes ADH/AECDH unusable.

> 2: It can have null encryption or use encryption, but not both.

This is what I am proposing as an implementation feature in the
client API.  It need not be a protocol feature.

> 3: If you try to break the above rules, the remote side (assuming it
> is compliant) bails out.

Just rule "2", not rule "1".

If you absolutely must remove something, I don't know of any
plausible use-case for the following cipher-suite:

    $ openssl ciphers -v aNULL+eNULL
    AECDH-NULL-SHA          SSLv3 Kx=ECDH     Au=None Enc=None      Mac=SHA1

This just MACs each message post an authenticated key exchage.  So
you get all or nothing message integrity.

When Postfix enables eNULL it always disables aNULL, so this
cipher-suite is never turned on.  I don't think there is either a
good reason to continue to to support this, or a real benefit to
"banning" it.

-- 
	Viktor.