Re: review of draft-wierenga-ietf-sasl-saml-00

Klaas Wierenga <klaas@cisco.com> Thu, 27 May 2010 15:19 UTC

Return-Path: <klaas@cisco.com>
X-Original-To: kitten@core3.amsl.com
Delivered-To: kitten@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 53B643A6960 for <kitten@core3.amsl.com>; Thu, 27 May 2010 08:19:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.185
X-Spam-Level:
X-Spam-Status: No, score=-8.185 tagged_above=-999 required=5 tests=[BAYES_40=-0.185, RCVD_IN_DNSWL_HI=-8]
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 US3Asl+ZOx81 for <kitten@core3.amsl.com>; Thu, 27 May 2010 08:19:27 -0700 (PDT)
Received: from rtp-iport-2.cisco.com (rtp-iport-2.cisco.com [64.102.122.149]) by core3.amsl.com (Postfix) with ESMTP id 0C1883A6950 for <kitten@ietf.org>; Thu, 27 May 2010 08:19:26 -0700 (PDT)
Authentication-Results: rtp-iport-2.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvsEAAYq/ktAZnwN/2dsb2JhbACeH3GnL5opgwoCggcEj1g
X-IronPort-AV: E=Sophos;i="4.53,311,1272844800"; d="scan'208";a="115395057"
Received: from rtp-core-2.cisco.com ([64.102.124.13]) by rtp-iport-2.cisco.com with ESMTP; 27 May 2010 15:19:17 +0000
Received: from macmini.wierenga.net (ams-kwiereng-8711.cisco.com [10.55.220.242]) by rtp-core-2.cisco.com (8.13.8/8.14.3) with ESMTP id o4RFJGON017381; Thu, 27 May 2010 15:19:16 GMT
Message-ID: <4BFE8D74.3090102@cisco.com>
Date: Thu, 27 May 2010 17:19:16 +0200
From: Klaas Wierenga <klaas@cisco.com>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-GB; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
MIME-Version: 1.0
To: Sam Hartman <hartmans-ietf@mit.edu>
Subject: Re: review of draft-wierenga-ietf-sasl-saml-00
References: <tslzkzn67n5.fsf@mit.edu> <077001cafc4b$603f0510$20bd0f30$@osu.edu> <4BFD2ECE.5020600@cisco.com> <tslr5ky4iw5.fsf@mit.edu>
In-Reply-To: <tslr5ky4iw5.fsf@mit.edu>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: kitten@ietf.org, moonshot-community@jiscmail.ac.uk, draft-wierenga-ietf-sasl-saml@tools.ietf.org
X-BeenThere: kitten@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Common Authentication Technologies - Next Generation <kitten.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/kitten>, <mailto:kitten-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/kitten>
List-Post: <mailto:kitten@ietf.org>
List-Help: <mailto:kitten-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/kitten>, <mailto:kitten-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 27 May 2010 15:19:28 -0000

On 5/26/10 8:28 PM, Sam Hartman wrote:

Sam,

Just to understand, what does channel binding buy you if you still can 
not prevent the MiTM? The SAML interactions can:

- give you a return url to the Relying Party and a 'transaction id'
- have you authenticate at your IdP
- have the IdP verify that the RP is a 'trusted' one
- have the (trusted) SP verify that it indeed issued that authentication 
request

Klaas

>>>>>> "Klaas" == Klaas Wierenga<klaas@CISCO.COM>  writes:
>
>      Klaas>  right, so the server would have a list of realm to idp-url
>      Klaas>  mappings?
>
> In order for the proposal I made to work, the following must be true:
>
> 1) The IDP MUST verify that channel binding data is asserted by the
> expected RP and has been modified by no other party
>
> 2) The client MUST verify that the channel binding data corresponds to
> the channel that is in use.
>
> Those two are enough that the user will learn through the web browser if
> the connection is under attack.  However, the that's not enough to
> defend against a server that fakes successful authentication or to learn
> at the SASL protocol level about a channel binding failure.
>
> 3)  The client inserts a cookie into the return URL
>
> 4) The server or agents under the control of the server not see this
> cookie before succesful authentication
>
> 5) The server returns the cookie to the client.
>
> I'm not actually sure 3 is possible: I'm not sure whether the return URL
> is covered by the signature.  Assuming it's possible, 4 means that the
> client must be able to verify that the IDP URL it goes to is one that it
> trusts.  So, ultimately, the server can pick however you like, but it
> MUST pick from a list of *URLs* that the client trusts.  Anything like
> the server mapping an IDP hint to a URL destroys the security property.
>
> Note that it's possible to have multiple modes of operation with
> different security properties.  That creates UI challenges, but that is
> potentially doable.