Re: [TLS] EAP-in-TLS and channel bindings

Michael D'Errico <mike-list@pobox.com> Mon, 04 April 2011 04:53 UTC

Return-Path: <mike-list@pobox.com>
X-Original-To: tls@core3.amsl.com
Delivered-To: tls@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A1E303A6912 for <tls@core3.amsl.com>; Sun, 3 Apr 2011 21:53:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.556
X-Spam-Level:
X-Spam-Status: No, score=-2.556 tagged_above=-999 required=5 tests=[AWL=0.043, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pAMwmiwvM1Mn for <tls@core3.amsl.com>; Sun, 3 Apr 2011 21:53:54 -0700 (PDT)
Received: from sasl.smtp.pobox.com (a-pb-sasl-sd.pobox.com [64.74.157.62]) by core3.amsl.com (Postfix) with ESMTP id 566CA3A68BC for <tls@ietf.org>; Sun, 3 Apr 2011 21:53:54 -0700 (PDT)
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id B0D2C5547; Mon, 4 Apr 2011 00:57:28 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=message-id :date:from:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; s=sasl; bh=F16d/Q6fLfkD 7K+7FDY8X5xgFiA=; b=rYroBxIZ5FeCwc148GKYcAHOiZi0GkqrR3w/D2nArHuQ jwwW6lUMv/Vr8guvkTZUZyH7466N1qW3ca+aJqSmtmjAD3PsVwqE7xLAXgDWfSQk qkrxNhT0Icnd4oApKbcp3sJlfmwhrllCjUXyoqK7DNeEQLfKBfNQ42bFtIZtFbc=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=message-id:date :from:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; q=dns; s=sasl; b=vpH3HN PXT+ZEfeC664MINJUxSBL28YB5ySLfL2eHaz0iS81q/BfBytfyozSNqy/0MxHU79 NvGzbHJXz70ndBfLPUciaA7lMoAffDnezRh2ug0KjPO2f9UAMuNWdd0GANjLRrML qqLYPNXvf1mw3EaY5M17XDDQFLXq5qIXvGcKw=
Received: from a-pb-sasl-sd.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 7E90B5544; Mon, 4 Apr 2011 00:57:24 -0400 (EDT)
Received: from iMac.local (unknown [24.234.114.35]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id 3C7EF5542; Mon, 4 Apr 2011 00:57:19 -0400 (EDT)
Message-ID: <4D994F3E.3070202@pobox.com>
Date: Sun, 03 Apr 2011 21:55:26 -0700
From: Michael D'Errico <mike-list@pobox.com>
User-Agent: Thunderbird 2.0.0.21 (Macintosh/20090302)
MIME-Version: 1.0
To: Nico Williams <nico@cryptonector.com>
References: <87ipuycqip.fsf@latte.josefsson.org> <AANLkTi=qgzJSizeS22ewyYB3cHZBoESMXrt0xO=QJgHP@mail.gmail.com> <F50A7509-951E-435E-A00B-2D366F240B19@checkpoint.com> <BANLkTikROgMh-dP=fT6ZQr1o-A90fgnxzQ@mail.gmail.com>
In-Reply-To: <BANLkTikROgMh-dP=fT6ZQr1o-A90fgnxzQ@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Pobox-Relay-ID: 07FF14CC-5E78-11E0-91B1-E8AB60295C12-38729857!a-pb-sasl-sd.pobox.com
Cc: Simon Josefsson <simon@josefsson.org>, "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] EAP-in-TLS and channel bindings
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 04 Apr 2011 04:53:56 -0000

I admit to not knowing what EAP-TLS is, but from reading this message
it seems like the EAP exchange could maybe benefit from defining a new
record type.  Perhaps that's already what's done?  Or is there a reason
to not do that?

Mike



Nico Williams wrote:
> On Sat, Apr 2, 2011 at 1:00 PM, Yoav Nir <ynir@checkpoint.com> wrote:
>> Thanks for this. One of our earlier versions of our proposal looked like this:
>>
>> [...]
>>
>> The only difference is that InterimAuth is renamed to "Finished", and the last handshake message is renamed to "EAP-Finished". Putting it like this, it looks very much like figure 2 in your draft. The reason we chose to go with InterimAuth in the middle rather EAP-Finished in the end was because the usual semantic for "Finished" is that the application data follows, while we consider the EAP part to be an extension of the handshake that precedes application data. In your draft, the SASL authentication is sent as data.
> 
> Indeed!  This is very much like my proposal.  The key is that the
> round-trips required by EAP beyond those required by TLS do not hold
> up the end of the TLS handshake.  The application can negotiate the
> use of EAP in this way via a Hello extensions and then the application
> can hold off the start of the normal application data protocol until
> after the EAP (or GSS, or SASL, or whatever) exchange completes.
> 
> I believe none of the normal objections to earlier proposals apply to
> such a design because a) only normal TLS extension slots are used, b)
> the TLS state machine is not changed, only the application protocol is
> changed.  In fact, no changes should be needed to any TLS
> implementation that provides the necessary extensions hooks, and this
> is a critical feature.
> 
>> EAP methods have no use for the tls-unique channel binding. However, I think that whether the EAP message is sent as a handshake message or as application data, the calculation of tls-unique needs to change in case of EAP authentication. Do you think a good value for it would be to take the tls-unique used for the Finished (or "interimAuth") record, concatenate the MSK from EAP, and hash them together?
> 
> I'm not sure that EAP has no use for tls-unique here...  Suppose
> you're talking to an MITM (see the Comodo CA compromise...).  Don't
> you want to make sure that they are not able to cut-n-paste the EAP
> exchange to the real service??  I would think that you do!  In EAP
> this would be called "cryptographic binding", not "channel binding" --
> we have a sad terminology issue :(
> 
>> If a proposal like this is more palatable to the group (and doesn't change the state machine as much), I think this can be worked out.
> 
> I have found it very difficult to elicit approving noises from the TLS
> WG, but as you know it's quite simple to get the WG to make negative
> noises.  I'm not sure how you'd go about getting approving noises
> other than to push through and see what happens as your I-D
> progresses.
> 
> However, as I said, the key test of whether your proposal plays well
> with TLS will be whether you need to make any changes to TLS itself.
> If you can avoid TLS changes (to the spec, to implementations [except
> for the purpose of adding TLS functionality already specified]) then
> you're golden.  I'd go further: your work wouldn't even fall under the
> TLS WG charter (though you'd still want to give the WG's participants
> an opportunity to review your I-D).  In other words: just adjust back
> to the protocol design described above and in my I-D and move forward
> towards publication.
> 
> Nico