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

Alexey Melnikov <> Mon, 02 March 2015 19:23 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 866751A88EA for <>; Mon, 2 Mar 2015 11:23:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.011
X-Spam-Status: No, score=-2.011 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 0Voh3jOwOart for <>; Mon, 2 Mar 2015 11:23:39 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id EF31E1A6FF9 for <>; Mon, 2 Mar 2015 11:23:38 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1425324218;; s=selector;; bh=lgbzHvyIr+Bdajqe6T89n6qDKW1WkznYGF5t7EVlrdE=; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version: In-Reply-To:References:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description; b=FGxowJSjYWrnfqgaPmG43qLiz+CJE0yuQAvlC3H2gEsCSFnI3kHwLx/6svWHGdXMqEFm2I PI+eGQHRLPEek6aNpEo9zJG/r+gPvdiUFkSGlSYf1xAidOPQaDagEJwIKvpsjpphHoV4CY wbKPSrWnGq9a2VuJ+ikfwLpRC7PNHn4=;
Received: from [] ( []) by (submission channel) via TCP with ESMTPSA id <>; Mon, 2 Mar 2015 19:23:37 +0000
Message-ID: <>
Date: Mon, 02 Mar 2015 19:23:36 +0000
From: Alexey Melnikov <>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
To: Simon Josefsson <>, Tony Hansen <>
References: <> <> <> <>
In-Reply-To: <>
MIME-Version: 1.0
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
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: Mon, 02 Mar 2015 19:23:40 -0000

On 25/02/2015 15:25, Simon Josefsson wrote:
> 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.
Before we make the decisions between referencing tls-session-hash versa 
a new channel binding, can you sketch out how the new channel binding is 
going to be defined?

(If we choose to define a new channel binding, I think Kitten WG is the 
right place for doing this work.)