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

Mike Jones <Michael.Jones@microsoft.com> Sat, 12 January 2013 20:43 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 B2FBE21F8853 for <oauth@ietfa.amsl.com>; Sat, 12 Jan 2013 12:43:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.334
X-Spam-Level:
X-Spam-Status: No, score=-1.334 tagged_above=-999 required=5 tests=[AWL=-1.035, 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 vXvEHGmmewJU for <oauth@ietfa.amsl.com>; Sat, 12 Jan 2013 12:43:43 -0800 (PST)
Received: from NA01-BY2-obe.outbound.protection.outlook.com (na01-by2-obe.ptr.protection.outlook.com [207.46.100.23]) by ietfa.amsl.com (Postfix) with ESMTP id DCDBD21F8842 for <oauth@ietf.org>; Sat, 12 Jan 2013 12:43:27 -0800 (PST)
Received: from BL2FFO11FD010.protection.gbl (10.173.161.200) by BL2FFO11HUB017.protection.gbl (10.173.160.109) with Microsoft SMTP Server (TLS) id 15.0.596.13; Sat, 12 Jan 2013 20:43:23 +0000
Received: from TK5EX14HUBC106.redmond.corp.microsoft.com (131.107.125.37) by BL2FFO11FD010.mail.protection.outlook.com (10.173.161.16) with Microsoft SMTP Server (TLS) id 15.0.596.13 via Frontend Transport; Sat, 12 Jan 2013 20:43:23 +0000
Received: from TK5EX14MBXC284.redmond.corp.microsoft.com ([169.254.1.202]) by TK5EX14HUBC106.redmond.corp.microsoft.com ([157.54.80.61]) with mapi id 14.02.0318.003; Sat, 12 Jan 2013 20:42:25 +0000
From: Mike Jones <Michael.Jones@microsoft.com>
To: Hannes Tschofenig <hannes.tschofenig@gmx.net>, Brian Campbell <bcampbell@pingidentity.com>, Stephen Farrell <stephen.farrell@cs.tcd.ie>
Thread-Topic: [OAUTH-WG] draft-ietf-oauth-assertions-09
Thread-Index: AQHN79RTcHXvPlTOOEyaLkX1rm6jbZhD/pUAgAA0JQCAABW0gIAAIGKAgAGzmACAAA5L0A==
Date: Sat, 12 Jan 2013 20:42:24 +0000
Message-ID: <4E1F6AAD24975D4BA5B168042967394366A3B4B7@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>
In-Reply-To: <99183391-A44E-4680-9CC1-FB34BD6181B2@gmx.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [157.54.51.33]
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:(479174001)(52604002)(13464002)(24454001)(52544001)(51704002)(164054002)(377424002)(377454001)(49866001)(47776002)(76482001)(33656001)(50466001)(59766001)(5343655001)(55846006)(53806001)(77982001)(550184003)(23726001)(54356001)(51856001)(47736001)(79102001)(46102001)(46406002)(50986001)(56776001)(74502001)(16406001)(44976002)(74662001)(47446002)(15202345001)(47976001)(5343635001)(54316002)(56816002)(4396001)(31966008); DIR:OUT; SFP:; SCL:1; SRVR:BL2FFO11HUB017; H:TK5EX14HUBC106.redmond.corp.microsoft.com; LANG:en;
X-OriginatorOrg: microsoft.onmicrosoft.com
X-Forefront-PRVS: 0724FCD4CD
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: Sat, 12 Jan 2013 20:43:45 -0000

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