Re: [OAUTH-WG] draft-ietf-oauth-assertions-09

Mike Jones <Michael.Jones@microsoft.com> Sun, 13 January 2013 10:09 UTC

Return-Path: <Michael.Jones@microsoft.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CCA5E21F8635 for <oauth@ietfa.amsl.com>; Sun, 13 Jan 2013 02:09:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.24
X-Spam-Level:
X-Spam-Status: No, score=-1.24 tagged_above=-999 required=5 tests=[AWL=-0.941, BAYES_00=-2.599, MANGLED_EMAIL=2.3]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SDNARoxIx0KL for <oauth@ietfa.amsl.com>; Sun, 13 Jan 2013 02:09:13 -0800 (PST)
Received: from NA01-BY2-obe.outbound.protection.outlook.com (na01-by2-obe.ptr.protection.outlook.com [207.46.100.28]) by ietfa.amsl.com (Postfix) with ESMTP id 74DCF21F85D2 for <oauth@ietf.org>; Sun, 13 Jan 2013 02:09:13 -0800 (PST)
Received: from BY2FFO11FD015.protection.gbl (10.1.15.200) by BY2FFO11HUB023.protection.gbl (10.1.14.110) with Microsoft SMTP Server (TLS) id 15.0.596.13; Sun, 13 Jan 2013 10:09:10 +0000
Received: from TK5EX14HUBC105.redmond.corp.microsoft.com (131.107.125.37) by BY2FFO11FD015.mail.protection.outlook.com (10.1.14.131) with Microsoft SMTP Server (TLS) id 15.0.596.13 via Frontend Transport; Sun, 13 Jan 2013 10:09:10 +0000
Received: from TK5EX14MBXC284.redmond.corp.microsoft.com ([169.254.1.202]) by TK5EX14HUBC105.redmond.corp.microsoft.com ([157.54.80.48]) with mapi id 14.02.0318.003; Sun, 13 Jan 2013 10:09:09 +0000
From: Mike Jones <Michael.Jones@microsoft.com>
To: Hannes Tschofenig <hannes.tschofenig@gmx.net>
Thread-Topic: [OAUTH-WG] draft-ietf-oauth-assertions-09
Thread-Index: AQHN79RTcHXvPlTOOEyaLkX1rm6jbZhD/pUAgAA0JQCAABW0gIAAIGKAgAGzmACAAA5L0IAA3e+AgAACUkA=
Date: Sun, 13 Jan 2013 10:09:09 +0000
Message-ID: <4E1F6AAD24975D4BA5B168042967394366A3EF7C@TK5EX14MBXC284.redmond.corp.microsoft.com>
References: <A1DF5DE7-CC32-48CE-A33E-81BC2968DF14@gmx.net> <50EFF7F0.90300@cs.tcd.ie> <B33BFB58CCC8BE4998958016839DE27E0687634C@IMCMBX01.MITRE.ORG> <E8B38B05-4600-4EC8-8B76-C9010603E640@ve7jtb.com> <CA+k3eCQeR1u=vNpjx4bct4TL5_a+fayj6tYYeZR7q5UxQu8e7g@mail.gmail.com> <99183391-A44E-4680-9CC1-FB34BD6181B2@gmx.net> <4E1F6AAD24975D4BA5B168042967394366A3B4B7@TK5EX14MBXC284.redmond.corp.microsoft.com> <3E33804D-EDDA-4B04-A1C1-76515AC88907@gmx.net>
In-Reply-To: <3E33804D-EDDA-4B04-A1C1-76515AC88907@gmx.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [157.54.51.37]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Forefront-Antispam-Report: CIP:131.107.125.37; CTRY:US; IPV:CAL; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(377454001)(479174001)(377424002)(13464002)(164054002)(52604002)(51704002)(24454001)(52544001)(550184003)(50986001)(74662001)(44976002)(46102001)(51856001)(54316002)(50466001)(49866001)(5343655001)(54356001)(55846006)(53806001)(15202345001)(47976001)(4396001)(47446002)(47736001)(16406001)(46406002)(33656001)(59766001)(23726001)(31966008)(74502001)(77982001)(79102001)(56776001)(76482001)(5343635001)(47776002)(56816002); DIR:OUT; SFP:; SCL:1; SRVR:BY2FFO11HUB023; H:TK5EX14HUBC105.redmond.corp.microsoft.com; LANG:en;
X-OriginatorOrg: microsoft.onmicrosoft.com
X-Forefront-PRVS: 0725D9E8D0
Cc: "oauth@ietf.org WG" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] draft-ietf-oauth-assertions-09
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Jan 2013 10:09:19 -0000

We already know of use cases where the audience is an abstract identifier and use cases where the audience is the URL of the token endpoint.  Both are legitimate.  We should foreclose neither.

Like many things OAuth, interoperability can be achieved, but it may require a profile further specifying the behaviors appropriate to that use case.  This is not a bug - it is a feature, as it increases the applicability of the OAuth specifications.

The Assertion, JWT Profile, and SAML Profile are striking an appropriate balance by providing guidance on likely audience values for many use cases, but not precluding other values where necessary for those use cases.

				Best wishes,
				-- Mike

-----Original Message-----
From: Hannes Tschofenig [mailto:hannes.tschofenig@gmx.net] 
Sent: Sunday, January 13, 2013 1:56 AM
To: Mike Jones
Cc: Hannes Tschofenig; Brian Campbell; Stephen Farrell; oauth@ietf.org WG
Subject: Re: [OAUTH-WG] draft-ietf-oauth-assertions-09

Hi Mike, 

I understand your reasoning: you want to keep all options open in the framework specification and you want to be more specific in draft-ietf-oauth-jwt-bearer and in draft-ietf-oauth-saml2-bearer. 

The RFC 2119 language does not add anything but it does not hurt either. It just says that there could essentially be anything in there, including the URL of the Token Endpoint.

You can of course post-pone dealing with the issue to the more specific documents. For example, draft-ietf-oauth-jwt-bearer at the moment does not allow an interoperable deployment since it just repeats the abstract framework text by saying "The token endpoint URL of the authorization server MAY be used as an acceptable value for an "aud" element." 

Ciao
Hannes

On Jan 12, 2013, at 10:42 PM, Mike Jones wrote:

> Hi Hannes,
> 
> For the reasons that Justin and Brian state, I believe that the MAY is appropriate.  In some use cases, a good representation of an appropriate audience value is URL of the Token Endpoint.  That's there in the Assertions specification as guidance to writers token-type specific specs using the Assertions spec, as I believe it should be.  That being the case, as Brian describes, sometimes audience values are more abstract identifiers or identifiers for groups of services, and we don't want to inadvertently preclude those actual use cases.
> 
> Thus, I believe that the language is appropriate as-is.  Thus, I believe that we should proceed with the currently scheduled telechat discussion of the spec.
> 
>                                                                Thanks all,
>                                                                -- Mike
> 
> -----Original Message-----
> From: oauth-bounces@ietf.org [mailto:oauth-bounces@ietf.org] On Behalf 
> Of Hannes Tschofenig
> Sent: Saturday, January 12, 2013 11:50 AM
> To: Brian Campbell
> Cc: oauth@ietf.org WG
> Subject: Re: [OAUTH-WG] draft-ietf-oauth-assertions-09
> 
> Hi Brian,
> 
> I understand that this is challenging.
> 
> Nevertheless it would make sense to describe the desired behavior in draft-ietf-oauth-jwt-bearer and in draft-ietf-oauth-saml2-bearer in such a way that two versions developed by different groups would interoperate without causing security problems or failures. 
> 
> To move forward with draft-ietf-oauth-assertions I suggest to follow the recommendation in http://www.ietf.org/mail-archive/web/oauth/current/msg10507.html and to address the details in  draft-ietf-oauth-jwt-bearer and in draft-ietf-oauth-saml2-bearer as soon as possible to get these documents moving forward and completed soon. 
> 
> Ciao
> Hannes
> 
> On Jan 11, 2013, at 7:51 PM, Brian Campbell wrote:
> 
>> That text around audience in the framework spec changed from a SHOULD to a MAY in -09 so that it would be more consistent with the the SAML and JWT versions, which were already using a MAY in that context.
>> 
>> Your concern is valid Hannes and your point is taken. But reality is rather messy and I don't believe it can addressed as easily as you suggest.  
>> 
>> In SAML, for example, an entity identifier is often used as a value for the audience (per spec and in practice).  But an AS may not necessarily identify itself with a full blown SAML entity, in which case the token endpoint URI is more appropriate. The whole issue is also somewhat complicated in SAML too by it having both audience and recipient that are similar but not the same. I've tried to account for all of this in the SAML doc but it's admittedly somewhat awkward and complex and not as simple as saying the value has to be X and must be validated in exactly such a way.
>> 
>> JWT doesn't have the same history and baggage of SAML but is subject to many of the same real world deployment variations.
>> 
>> I'm definitely open to improvements with respect to the handling of 
>> audience values but I believe anything that is done needs to reflect 
>> the realities of current implementations and deployments as well as 
>> related specifications.,
>> 
>> 
>> 
>> On Fri, Jan 11, 2013 at 8:55 AM, John Bradley <ve7jtb@ve7jtb.com> wrote:
>> Yes in assertions it needs to be general.  It is the JWT and SAML profiles that need to nail down what the format of the audience is.    They should probably both be the URI of the token endpoint.   In both SAML and JWT there can be multiple audiences for the token.
>> 
>> John
>> On 2013-01-11, at 11:37 AM, "Richer, Justin P." <jricher@mitre.org> wrote:
>> 
>>> It's my understanding that the general assertions claim is more of a conceptual mapping than it is a concrete encoding, so anything more specific here would be out of place. I would like the authors to either confirm or correct my assumptions, though.

> 
>>> 
>>> -- Justin
>>> 
>>> 
>>> On Jan 11, 2013, at 6:30 AM, Stephen Farrell 
>>> <stephen.farrell@cs.tcd.ie>
>>> wrote:
>>> 
>>>> 
>>>> Hi,
>>>> 
>>>> Since we thought we were done with it, I put this document on the 
>>>> IESG telechat agenda for Jan 24. Hannes' question however looks 
>>>> like its a real one that needs an answer.
>>>> 
>>>> I'd appreciate it if the WG could figure out if there's any change 
>>>> needed and either make that change in the next week, or else tell 
>>>> me to take the draft off the telechat agenda for now.
>>>> 
>>>> If discussion doesn't happen, or happens but doesn't reach a 
>>>> conclusion, then I'll take the draft off the agenda in a week's 
>>>> time and we can sort out if any changes are needed later.
>>>> 
>>>> The reason why now+1-week matters, is that that's when IESG members 
>>>> tend to do their reviews and having 'em all review a moving target 
>>>> isn't a good plan.
>>>> 
>>>> Thanks,
>>>> S.
>>>> 
>>>> On 01/11/2013 08:18 AM, Hannes Tschofenig wrote:
>>>>> Hi guys,
>>>>> 
>>>>> Thanks for updating the assertion document and for incorporating the comments received on the mailing list.
>>>>> 
>>>>> There is only one issue that caught my attention. You changed the description of the audience element to the following text (in version -09 of http://tools.ietf.org/html/draft-ietf-oauth-assertions-09):
>>>>> "
>>>>> Audience  A value that identifies the parties intended to process the
>>>>>    assertion.  An audience value MAY be the URL of the Token Endpoint
>>>>>    as defined in Section 3.2 of OAuth 2.0 [RFC6749].
>>>>> "
>>>>> 
>>>>> Since the value in the audience field is used to by the authorization server in a comparison operation (see Section 5.2) I believe the current text will lead to interoperability problems. Not only is the comparision operation unspecified but even the value that is contained in the field is left open. The RFC 2119 MAY does not really give a lot of hints of what should be put in there.
>>>>> 
>>>>> Without having a clear description of what identifier is contained in this field and how the comparison works it is either possible that a legitimate client is rejected by the authorization server (which is annoying) or an assertion with an incorrect assertion is accepted (which is a security problem).
>>>>> 
>>>>> Btw, the same issue can also be seen in http://tools.ietf.org/html/draft-ietf-oauth-jwt-bearer-04, http://tools.ietf.org/html/draft-ietf-oauth-saml2-bearer-15 and in a more generic form also in the JWT (Section 4.1.3 of http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-06; "aud" claim). From the description in the JWT document I was not quite sure whether the ability to carry an array of case sensitive strings for that field is also allowed in any of the assertion documents.
>>>>> 
>>>>> Note that there are two documents that provide input to this problem space, namely:
>>>>> http://tools.ietf.org/html/rfc6125
>>>>> http://tools.ietf.org/html/draft-iab-identifier-comparison-07
>>>>> 
>>>>> So, I would suggest to decide what type of identifier goes into this field and then to point to a document that illustrates how the comparison operation would look like. Possible identifiers are domain names, IP addresses, URIs, etc. Just as an example from RFC 6125 would you allow a wildcard match (like "*.example.com") or only an equality match? Would "www.example.com" be the same as "example.com" if they resolve to the same IP address(es)?
>>>>> 
>>>>> Ciao
>>>>> Hannes
>>>>> 
>>>>> _______________________________________________
>>>>> OAuth mailing list
>>>>> OAuth@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>> 
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>> 
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>> 
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>> 
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
> 
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth