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

Jeffrey Hutzelman <jhutz@cmu.edu> Tue, 09 October 2007 20:28 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 1IfLh3-0005TY-3u; Tue, 09 Oct 2007 16:28:41 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IfLh1-0005TS-9Q for channel-binding@ietf.org; Tue, 09 Oct 2007 16:28:39 -0400
Received: from currant.srv.cs.cmu.edu ([128.2.201.52]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1IfLgu-0002c5-W3 for channel-binding@ietf.org; Tue, 09 Oct 2007 16:28:39 -0400
Received: from SIRIUS.FAC.CS.CMU.EDU (SIRIUS.FAC.CS.CMU.EDU [128.2.209.170]) (authenticated bits=0) by currant.srv.cs.cmu.edu (8.13.6/8.13.6) with ESMTP id l99KSC7E022811 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 9 Oct 2007 16:28:12 -0400 (EDT)
Date: Tue, 09 Oct 2007 16:26:59 -0400
From: Jeffrey Hutzelman <jhutz@cmu.edu>
To: Sam Hartman <hartmans-ietf@mit.edu>, Simon Josefsson <simon@josefsson.org>
Subject: Re: [CHANNEL-BINDING] Re: draft-ietf-sasl-gs2 AD review comments
Message-ID: <60E8559BF5690B813666CABD@sirius.fac.cs.cmu.edu>
In-Reply-To: <tsl4ph0vz30.fsf@mit.edu>
References: <tslbqcf8eou.fsf@mit.edu> <871wc46umk.fsf@mocca.josefsson.org> <tsl4ph0vz30.fsf@mit.edu>
Originator-Info: login-token=Mulberry:01g2bmP+3OW7PPsV7AtuQWrhrYHWoKml/w2xSkueY=; token_authority=postmaster@andrew.cmu.edu
X-Mailer: Mulberry/3.1.6 (Linux/x86)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 6cca30437e2d04f45110f2ff8dc1b1d5
Cc: channel-binding@ietf.org, 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 Tuesday, October 09, 2007 03:59:31 PM -0400 Sam Hartman 
<hartmans-ietf@mit.edu> wrote:

>>>>>> "Simon" == Simon Josefsson <simon@josefsson.org> writes:
>
>     Simon> Sam Hartman <hartmans-ietf@mit.edu> writes:
>     >> The draft looks quite good, but there are a few things that
>     >> need to be resolved before I can last call it.
>
>     Simon> Thanks for your review!
>
> Your proposed fixes look good except for the following:
>     >> It also appears to violate the requirement that the name of the
>     >> channel type be used in the channel binding data.
>
>     Simon> I believe you are referring to this requirement:
>
>     Simon>       * The name of the type of channel binding MUST be
>     Simon> used by the application and/or authentication protocol to
>     Simon> avoid ambiguity about which of several possible types of
>     Simon> channels is being bound.  If nested instances of the same
>     Simon> type of channel are available then the innermost channel
>     Simon> MUST be used.
>
>     Simon> I thought that channel binding data had to contain a unique
>     Simon> prefix which would appears to solve that problem, without
>     Simon> having to require that protocols encode the channel binding
>     Simon> type too.  If my assumption is correct, it would be useful
>     Simon> to clarify this in d-w-on-channel-binding.  No change in
>     Simon> GS2 seems necessary.  Nico?
>
> I thought it was the responsibility of the application|framework to
> add the unique prefix.  The channel binding base draft provides a
> registry for this prefix, but I thought that the channel binding
> description did not include this prefix and left it up to the
> application.  If the channel binding format must include the prefix
> then I think we need to change the channel binding base draft.
>
> Comments?


I think the base draft is almost perfectly unclear on this issue.  The 
requirement Simon quotes makes it clear that the channel type must be 
communicated and that the application must use it to determine which 
channel's bindings are acutally in use, but says nothing about whether the 
communication is up to the application or by virtue of the channel binding 
data being self-identifying.

Another listed requirements is this:

   o  The channel bindings for a given type of secure channel MUST be
      constructed in such a way that an MITM could not easily force the
      channel bindings of a given channel to match those of another.

On the one hand, this suggests that channel bindings are _not_ inherently 
self-identifying, but at the same time, it imposes a requirement that is 
most easily met by making them so.  In addition, there are many places 
where the base document refers to the channel type name as a "prefix", 
implying that all channel bindings would start with a channel type name.


So, I think we need to update the base document to be clear on what should 
happen here.  I believe that correct behavior requires that channel types 
be identified in a consistent way for all channels, so this cannot be up to 
the individual channel type specifications.  It could be done on a 
per-application basis, but I see no benefit to doing so rather than using 
the same method for all applications.


-- Jeff

PS: IIRC, draft-williams-on-channel-bindings has already been approved and 
is awaiting publication as an RFC.  If it needs to change in order to 
address this issue, maybe someone should give the RFC Editor a heads up?



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