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

Nico Williams <nico@cryptonector.com> Mon, 04 April 2011 07:40 UTC

Return-Path: <nico@cryptonector.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 1D2E93A692D for <tls@core3.amsl.com>; Mon, 4 Apr 2011 00:40:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.409
X-Spam-Level:
X-Spam-Status: No, score=-1.409 tagged_above=-999 required=5 tests=[AWL=-0.432, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, J_BACKHAIR_11=1]
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 7tKcSN7JzfJp for <tls@core3.amsl.com>; Mon, 4 Apr 2011 00:40:27 -0700 (PDT)
Received: from homiemail-a29.g.dreamhost.com (caiajhbdccah.dreamhost.com [208.97.132.207]) by core3.amsl.com (Postfix) with ESMTP id 5450428C0E4 for <tls@ietf.org>; Mon, 4 Apr 2011 00:40:27 -0700 (PDT)
Received: from homiemail-a29.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a29.g.dreamhost.com (Postfix) with ESMTP id BACB0674058 for <tls@ietf.org>; Mon, 4 Apr 2011 00:42:09 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; c=nofws; d=cryptonector.com; h=mime-version :in-reply-to:references:date:message-id:subject:from:to:cc :content-type:content-transfer-encoding; q=dns; s= cryptonector.com; b=n5i2fAnEfx7CK6tginDqtitPsUuoXdG6LFBcp2dbDGms lweK6iybl1z/owAtQ+O+mi9bpXY7MNrxXQ8h6HLzldO93I/AKHyO0qPrOW1/OF+E AhvQ98PHjBSQOMjSb0I/FJwNQwmve5YkF+8ZMggSLXTuYCQ+g+bXiU6zJAH1o0Y=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h= mime-version:in-reply-to:references:date:message-id:subject:from :to:cc:content-type:content-transfer-encoding; s= cryptonector.com; bh=+OYryxBeURkWoLKZ/GFuIXMVCCM=; b=P263yjEXwN8 jQJlpxghxwgAc5c7o4TTts94iHTc/oOsvUjCr55e8F91mZPcSI/NGcVLc//ZmNRw iiVXbPiSBuYcEg1HfrHjzFgp6Mm2W9siX9tBbY6TJvuvPFxAzBFVFAiDbOY6nHcs mZm8NQ8Z4Bao+cX9tPiqsEacM1hDchgU=
Received: from mail-vw0-f44.google.com (mail-vw0-f44.google.com [209.85.212.44]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: nico@cryptonector.com) by homiemail-a29.g.dreamhost.com (Postfix) with ESMTPSA id 97C1C674057 for <tls@ietf.org>; Mon, 4 Apr 2011 00:42:09 -0700 (PDT)
Received: by vws12 with SMTP id 12so4704011vws.31 for <tls@ietf.org>; Mon, 04 Apr 2011 00:42:08 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.52.89.18 with SMTP id bk18mr9104820vdb.270.1301902928772; Mon, 04 Apr 2011 00:42:08 -0700 (PDT)
Received: by 10.52.157.100 with HTTP; Mon, 4 Apr 2011 00:42:08 -0700 (PDT)
In-Reply-To: <BANLkTimicdj2y9eJ3XRA2FYX5uU6XpZ95w@mail.gmail.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> <B299FA78-95CD-478D-B129-51AD04872C51@checkpoint.com> <BANLkTimicdj2y9eJ3XRA2FYX5uU6XpZ95w@mail.gmail.com>
Date: Mon, 04 Apr 2011 02:42:08 -0500
Message-ID: <BANLkTi=1O7xCaTFai=kTtQqtS4WL7i9w+A@mail.gmail.com>
From: Nico Williams <nico@cryptonector.com>
To: Yoav Nir <ynir@checkpoint.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
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 07:40:33 -0000

On Mon, Apr 4, 2011 at 2:26 AM, Nico Williams <nico@cryptonector.com> wrote:
> On Mon, Apr 4, 2011 at 1:44 AM, Yoav Nir <ynir@checkpoint.com> wrote:
>>> 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 :(
>>
>> Some EAP methods, especially the good ones, have some random values in them, so they're protected against cut-and-paste. The security considerations should state why it's a good idea to use such methods.
>
> I'm not seeing that.  Let's say we have a client C, an MITM M, a
> server S, and a AAA server A.  So we have C<->M<->S and C<=M<->S=>A.
> M terminates a TLS connection to C and is the client of a TLS
> connection to S, and M relays all other messages (including the TLS
> extensions for carrying EAP messages) between C and S until the point
> where the EAP exchange is complete, and then M closes the connection
> to C.  From that point on M pretends to be the user authenticated by
> EAP.
>
> To prevent that attack we have to do something such as a) change the
> keying of TLS, or b) demonstrate to C and S that they have the same
> TLS connection.  We can't do (a) because you might not be able to
> change keying until after some point in the EAP exchanges that is past
> the TLS ChangeCipherSpec and Finished  message exchanges, and you
> can't delay those TLS messages because you can't change the TLS state
> machine.  That leaves you with (b).

BTW, this is properly the province of RFC5056 channel binding.  That's
because you have a secure channel (TLS) and authentication above it
(EAP), and you want the channel to speak for the authenticated
parties, which is precisely what RFC5056 channel binding is all about.

Also, you should go look at ABFAB WG.  ABFAB is working on an
EAP-based mechanism for the GSS-API (they have much running code too,
so it's not pie in the sky).  Combined with
draft-williams-tls-sasl-opt, ABFAB would give you pretty much the same
exact thing you're trying to accomplish :)

Nico
--