Re: [CHANNEL-BINDING] Re: draft-ietf-sasl-gs2 AD review comments

Nicolas Williams <Nicolas.Williams@sun.com> Thu, 11 October 2007 15:10 UTC

Return-path: <channel-binding-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IfzgJ-0003Eo-IB; Thu, 11 Oct 2007 11:10:35 -0400
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IfzgJ-0003EV-0S for channel-binding@ietf.org; Thu, 11 Oct 2007 11:10:35 -0400
Received: from sca-ea-mail-2.sun.com ([192.18.43.25]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1Ifzg5-0001Gr-Lv for channel-binding@ietf.org; Thu, 11 Oct 2007 11:10:34 -0400
Received: from centralmail2brm.Central.Sun.COM ([129.147.62.14]) by sca-ea-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id l9BFALO7019016 for <channel-binding@ietf.org>; Thu, 11 Oct 2007 15:10:21 GMT
Received: from binky.Central.Sun.COM (binky.Central.Sun.COM [129.153.128.104]) by centralmail2brm.Central.Sun.COM (8.13.6+Sun/8.13.6/ENSMAIL, v2.2) with ESMTP id l9BFAKaB012591 for <channel-binding@ietf.org>; Thu, 11 Oct 2007 09:10:20 -0600 (MDT)
Received: from binky.Central.Sun.COM (localhost [127.0.0.1]) by binky.Central.Sun.COM (8.14.1+Sun/8.14.1) with ESMTP id l9BFAGTq027018; Thu, 11 Oct 2007 10:10:16 -0500 (CDT)
Received: (from nw141292@localhost) by binky.Central.Sun.COM (8.14.1+Sun/8.14.1/Submit) id l9BFAFGG027017; Thu, 11 Oct 2007 10:10:15 -0500 (CDT)
X-Authentication-Warning: binky.Central.Sun.COM: nw141292 set sender to Nicolas.Williams@sun.com using -f
Date: Thu, 11 Oct 2007 10:10:15 -0500
From: Nicolas Williams <Nicolas.Williams@sun.com>
To: Jeffrey Hutzelman <jhutz@cmu.edu>
Subject: Re: [CHANNEL-BINDING] Re: draft-ietf-sasl-gs2 AD review comments
Message-ID: <20071011151015.GN24532@Sun.COM>
Mail-Followup-To: Jeffrey Hutzelman <jhutz@cmu.edu>, Simon Josefsson <simon@josefsson.org>, Sam Hartman <hartmans-ietf@mit.edu>, channel-binding@ietf.org, ietf-sasl@imc.org
References: <tsl4ph0vz30.fsf@mit.edu> <20071009203406.GL24532@Sun.COM> <tslk5pwugzz.fsf@mit.edu> <20071009212516.GP24532@Sun.COM> <73A1D8BFF0B322B71283BF6B@sirius.fac.cs.cmu.edu> <20071010143650.GT24532@Sun.COM> <tslmyurnhmv.fsf@mit.edu> <20071010154115.GY24532@Sun.COM> <87hckz2ado.fsf@mocca.josefsson.org> <5A6B5081F6ECBC610E6C2C12@sirius.fac.cs.cmu.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <5A6B5081F6ECBC610E6C2C12@sirius.fac.cs.cmu.edu>
User-Agent: Mutt/1.5.7i
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 082a9cbf4d599f360ac7f815372a6a15
Cc: channel-binding@ietf.org, Sam Hartman <hartmans-ietf@mit.edu>, ietf-sasl@imc.org
X-BeenThere: channel-binding@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Discussion of channel binding IANA registry requests and specifications <channel-binding.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/channel-binding>, <mailto:channel-binding-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/channel-binding>
List-Post: <mailto:channel-binding@ietf.org>
List-Help: <mailto:channel-binding-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/channel-binding>, <mailto:channel-binding-request@ietf.org?subject=subscribe>
Errors-To: channel-binding-bounces@ietf.org

On Wed, Oct 10, 2007 at 01:52:20PM -0400, Jeffrey Hutzelman wrote:
> On Wednesday, October 10, 2007 06:38:11 PM +0200 Simon Josefsson 
> <simon@josefsson.org> wrote:
> >No, it wasn't about APIs, it was about what is sent in the
> >"channel_binding_data" field over the wire.  If the current text in GS2
> >is not sufficient to build interoperable implementations, I'd appreciate
> >suggestions on what it has to say.

The on-channel-binding I-D doesn't say that the channel binding data is
sent -- there is not "channel_binding_data field" as such.  The
authentication mechanism must verify that the channel bindings match on
both ends, but that need not mean sending the channel binding data.

> Well, you brought up the question of whether the channel binding data 
> includes the prefix or not, and that's what we've been discussing.  So yes, 
> the document is insufficiently clear.  But the length of the ensuing 
> discussion does not mean that there is a major flaw; it just means that 
> we've examined the issue carefully before determining what it should say. 
> Now there will be additional discussion to determine how it should say it.

I'm not sure that there's any ambiguity:

      *  The name of the type of channel binding MUST be used by the
	 application and/or authentication protocol to avoid ambiguity
	 about which of several possible types of channels is being
	 bound.  If nested instances of the same type of channel are
	 available then the innermost channel MUST be used.

Now, GS2 *could* have a separate "slot" in the protocol for "channel
binding type name" and "channel binding data."  The GSS-API, OTOH, does
not provide such a slot, so GSS applications MUST prefix the channel
binding type name to the channel binding data in order to obtain a
single octet string that can be passed to GSS_Init_sec_context() or
GSS_Accept_sec_context().

So I think we really don't want to make any changes here.  Simon and the
SASL WG need to decide whether GS2 needs such a separate slot.  The
on-channel-bindings I-D is neutral on that issue.

Also, GS2 need not say who is responsible for determining the channel
binding data and type.  You could have a fully integrated channel and
authentication API that hides all these details from the application,
but you could also have disparate and unrelated channel and
authentication APIs, in which case the application is responsible for
determining the channel binding data and type.  Both are equally
acceptable, so on-channel-binding says nothing about them.

> Provided we clarify in draft-williams-on-channel-bindings that channel 
> binding data includes the prefix, there is no problem with the protocol 
> bits in GS2.  However, you are missing a requirement to check that the 
> channel binding data sent by the client and server is actually the same. 
> In fact, you provide virtually no information on what to do with the data 
> elements related to channel binding.  I think this needs some work.

I now believe that no such clarification is needed.  We may want to
clarify that application protocols using channel binding must specify
how the prefix is used, and we may want to suggest using it as, well, a
prefix (with a separator character), in those cases where a single
string is accepted by the authentication framework/mechanism.

Nico
-- 

_______________________________________________
CHANNEL-BINDING mailing list
CHANNEL-BINDING@ietf.org
https://www1.ietf.org/mailman/listinfo/channel-binding