Re: [TLS] I-D Action: draft-ietf-tls-prohibiting-rc4-01.txt

Daniel Kahn Gillmor <> Fri, 24 October 2014 14:01 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id BFA1B1A0158 for <>; Fri, 24 Oct 2014 07:01:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id UtqoGONRMnj2 for <>; Fri, 24 Oct 2014 07:01:38 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 558021A014A for <>; Fri, 24 Oct 2014 07:01:38 -0700 (PDT)
Received: from [] (unknown []) by (Postfix) with ESMTPSA id 3D09DF984 for <>; Fri, 24 Oct 2014 10:01:35 -0400 (EDT)
Message-ID: <>
Date: Fri, 24 Oct 2014 10:01:23 -0400
From: Daniel Kahn Gillmor <>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:32.0) Gecko/20100101 Icedove/32.0
MIME-Version: 1.0
References: <> <> <> <> <> <>
In-Reply-To: <>
Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="p2Xc0FPPHGjRLSNm0WovbuA8c9v9L4ol5"
Subject: Re: [TLS] I-D Action: draft-ietf-tls-prohibiting-rc4-01.txt
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." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 24 Oct 2014 14:01:41 -0000

On 10/24/2014 09:37 AM, Viktor Dukhovni wrote:

> Leaving a cipher suite out is only practical once it is no longer
> the best shared cipher with any peers.  Thus we can if we wish
> disable EXPORT cipher suites since they are now never used, but it
> serves no purpose to do so (they are never used) beyond perhaps
> preventing accidents in which a grossly misconfigured peer selects
> EXPORT despite having better options.  I have never observed such
> an accident.

arguably, there are many such "grossly-misconfigured peers" right now
with respect to RC4 (usually because of misguided attempts to protect
against BEAST, aiui).  These are servers that support something other
than RC4, but select RC4 if a client offers it (even if it was the
client's lowest priority).

So the safest OS approach in the context of a strongly-deprecated cipher
$WEAK_CIPHER, for a client that is willing to ultimately fall back to
cleartext would be, for any given peer P:

 * connect to P and offer TLS without $WEAK_CIPHER
 * if that fails with "no cipher overlap", then:
    * reconnect to P and offer TLS with $WEAK_CIPHER
    * if that fails for any reason, then:
        * reconnect to P with cleartext.

This could probably be further improved by remembering which level of
fallback succeeded on previous attempts, and refusing to fallback further.

I don't think that any of this needs to go in the current draft, though.
 We should be explicitly and unambiguously rejecting RC4, and people
doing TLS-that-is-willing-to-fall-back-to-cleartext can just muddle
along violating the RFC, since they're not even claiming to make the TLS
communications property guarantees to their users anyway.