Re: [kitten] draft-hansen-scram-sha256 and incorporating session hashing for channel binding

Simon Josefsson <> Wed, 25 February 2015 15:25 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 26C9B1A0A6A for <>; Wed, 25 Feb 2015 07:25:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.551
X-Spam-Status: No, score=-1.551 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_SE=0.35, SPF_PASS=-0.001] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id SCpARo4dCjzj for <>; Wed, 25 Feb 2015 07:25:31 -0800 (PST)
Received: from ( [IPv6:2001:9b0:1:1702::100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 70AB51A03A1 for <>; Wed, 25 Feb 2015 07:25:31 -0800 (PST)
Received: from ( []) (authenticated bits=0) by (8.14.4/8.14.4/Debian-4) with ESMTP id t1PFPEXv021455 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT); Wed, 25 Feb 2015 16:25:15 +0100
From: Simon Josefsson <>
To: Tony Hansen <>
References: <> <> <>
OpenPGP: id=54265E8C; url=
Date: Wed, 25 Feb 2015 16:25:08 +0100
In-Reply-To: <> (Tony Hansen's message of "Tue, 24 Feb 2015 11:50:32 -0500")
Message-ID: <>
User-Agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/24.4 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature"
X-Virus-Scanned: clamav-milter 0.98.5 at
X-Virus-Status: Clean
Archived-At: <>
Cc: "" <>
Subject: Re: [kitten] draft-hansen-scram-sha256 and incorporating session hashing for channel binding
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Common Authentication Technologies - Next Generation <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 25 Feb 2015 15:25:33 -0000

Tony Hansen <> writes:

> On 2/24/15 6:56 AM, Stephen Farrell wrote:
>> But in addition, there were two substantive issues that ought be
>> resolved before IETF LC:
>> 1. a new channel binding or requiring tls-session-hash (and I guess
>>     some explanatory text about why that is good/needed)
> To recap:
> Simon Josefsson made this comment:
>> Since SCRAM was published, we have learned that the tls-unique channel
>> binding is insecure -- it would be nice if we could combine the SHA256
>> update with another default channel binding type to resolve that
>> problem.  In my view, the problem with SCRAM today isn't primarily its
>> use of SHA1 but it's broken channel binding.
> Martin Thompson responded:
>> We have a solution for that:
> I've read through tls-session-hash and am unsure how to proceed here.
> One of my goals when proposing SCRAM-SHA-256 was to not change the
> protocol at all, other than updating the hash algorithm.
> I'm not sure how to incorporate a recommendation for session hashing
> here. I'm thinking this would be best handled by adding something to
> the Security Considerations section. Does that seem right?
> Would anyone be willing to suggest text changes for these comments?

I believe the problem is that RFC 5802 is insecure as currently
specified, and we are bringing this up as a problem with your draft,
which is unfair to you since the problem was not introduced by you.

If people like the tls-session-hash approach (I'm not in that category,
but there may be consensus around it), the proper fix is to update RFC
5802 and reference tls-session-hash as a normative reference.  This will
take care of the problem, as you could copy that text into your
document.  If you are looking for a text change here, it would be:

  To be secure SCRAM-SHA-256-PLUS has to be used over a TLS channel that
  MUST have [TLS-SESSION-HASH] negotiated.

Personally, I would prefer to change to another mandatory channel
binding that is secure for all TLS versions.