How does NOT allowing clients to choose authn type allow them to downgrade. I 
am saying there is NO value in allowing this and that the parameter needs to be 
removed. 

Phil

On 2013-05-09, at 16:03, John Bradley <ve7...@ve7jtb.com> wrote:

> The issue is not allowing fake clients to dynamically downgrade, where the AS 
> supports multiple methods.
> 
> 
> On 2013-05-09, at 3:58 PM, Phil Hunt <phil.h...@oracle.com> wrote:
> 
>> You seem to now be talking about SAML endpoints rather than OAuth endpoints.
>> 
>> 
>> I think you are confusing what the client gets back from the AS in terms of 
>> the OAuth protocol vs.  how the client authenticates to the AS.  The 
>> parameter in question isn't about what assertions the AS returns to the 
>> client.  The case is about what credential the client must use with the AS 
>> to satisfy a particular AS's requirements. 
>> 
>> I haven't heard a reason for clients to be able to downgrade.
>> 
>> Phil
>> 
>> @independentid
>> www.independentid.com
>> phil.h...@oracle.com
>> 
>> 
>> 
>> 
>> 
>> On 2013-05-09, at 3:47 PM, John Bradley wrote:
>> 
>>> Consider if you will a world where IdP support multiple LoA.
>>> 
>>> This allows a RP to register the method required for there use case.
>>> 
>>> If a Client requires the asymmetrically signed JWT assertions rather than 
>>> http basic,  it doesn't want the Authorization server accepting http_basic 
>>> for it's client_id.
>>> 
>>> The reason a client/RP would want to specify multiple LoA is the same 
>>> reason they may wan to in SAML or other protocols.
>>> 
>>> The issue is more that different clients will have different security 
>>> requirements and this allows them to dynamic register those.
>>> 
>>> If you allow 2 and 3 the one that need 3 will specify that.
>>> 
>>> John
>>> 
>>> On 2013-05-09, at 3:32 PM, Phil Hunt <phil.h...@oracle.com> wrote:
>>> 
>>>> Giving the client the choice lets the client choose lower LoA and 
>>>> downgrade.  Surely it is the server that is taking the risk so the server 
>>>> has the right to set the requirements.
>>>> 
>>>> Why would a server tolerate multiple levels of LoA from the same client 
>>>> application?  Why is that needed?
>>>> 
>>>> If a server allows 2 and 3, then all clients will choose 2 -- or at the 
>>>> very least your overall security drops to 2.  This is not good.
>>>> 
>>>> Phil
>>>> 
>>>> @independentid
>>>> www.independentid.com
>>>> phil.h...@oracle.com
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> On 2013-05-09, at 3:17 PM, John Bradley wrote:
>>>> 
>>>>> The client needs to be able to say only use a particular auth method to 
>>>>> disallow the Authorization server from providing a weaker method to an 
>>>>> attacker.  
>>>>> 
>>>>> This is a required parameter to allow a Authorization server to support 
>>>>> high and low LoA clients dynamically.
>>>>> 
>>>>> John B.
>>>>> 
>>>>> 
>>>>> On 2013-05-09, at 2:44 PM, Phil Hunt <phil.h...@oracle.com> wrote:
>>>>> 
>>>>>> Justin,
>>>>>> 
>>>>>> Just to progress towards resolving this issue, what I would like to 
>>>>>> understand is how specifying authentication type makes things simpler or 
>>>>>> more inter-operable. I'm concerned that the logic you proposed early in 
>>>>>> the thread is a lot more complexity.  I would prefer just having the 
>>>>>> server tell the client what authentication it MUST use.
>>>>>> 
>>>>>> As an alternative, the negotiation for credential method/type could 
>>>>>> occur during the initial developer registration of the app.  As in your 
>>>>>> "blue button" health case (did I remember that right), the initial 
>>>>>> registration JWT would be used in the dynamic registration and allow the 
>>>>>> registration server to observe any previously negotiated client 
>>>>>> preferences OOB of this spec.  Or, are you saying that individual 
>>>>>> instances have some need to change authentication types on a per 
>>>>>> deployment basis independent of what the associated authorization server 
>>>>>> wants them to use? If so what is it?
>>>>>> 
>>>>>> Phil
>>>>>> 
>>>>>> @independentid
>>>>>> www.independentid.com
>>>>>> phil.h...@oracle.com
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On 2013-05-06, at 11:56 AM, Phil Hunt wrote:
>>>>>> 
>>>>>>> Justin,
>>>>>>> 
>>>>>>> What you describe, though good intentioned, seems like a lot of 
>>>>>>> complexity without getting an actual benefit. I would rather not have 
>>>>>>> token_endpoint_auth_method at all.
>>>>>>> 
>>>>>>> Think about someone writing a general purpose SCIM client or OIDC 
>>>>>>> client.  Site as uses method 1 and 2, site b supports 2,3 and 4.  Site 
>>>>>>> c only 5 and 6.  So if each site is willing to negotiate authn, how has 
>>>>>>> this developer's coding been reduced? The developer will end up having 
>>>>>>> to implement all popular methods regardless of discovery or the ability 
>>>>>>> of the client to select. In fact, they have to do all the logic you 
>>>>>>> describe below AND implement all methods.
>>>>>>> 
>>>>>>> I have also thought through, does it matter since it is optional?  I 
>>>>>>> think it does. If servers just ignore the param most of the time, what 
>>>>>>> value is there?
>>>>>>> 
>>>>>>> Phil
>>>>>>> 
>>>>>>> @independentid
>>>>>>> www.independentid.com
>>>>>>> phil.h...@oracle.com
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> On 2013-05-06, at 8:39 AM, Richer, Justin P. wrote:
>>>>>>> 
>>>>>>>> In spite of what John seems to think, that dependency was never there. 
>>>>>>>> The whole discovery process is related, but separate, from 
>>>>>>>> registration. It could happen using OIDC, it could happen with Bill 
>>>>>>>> Mills's LRDD link types, it could happen with Nat's proposed HAL-based 
>>>>>>>> system, it could happen by the developer going to the service 
>>>>>>>> provider's documentation page and reading a bunch of text (which is 
>>>>>>>> what happens with large OAuth providers today) -- it ultimately 
>>>>>>>> doesn't matter. 
>>>>>>>> 
>>>>>>>> And I think that the Dynamic Registration protocol that we have here 
>>>>>>>> is robust against that kind of diversity. Let's take the 
>>>>>>>> token_endpoint_auth_method parameter as an example. Let's say a client 
>>>>>>>> shows up to a service it's just discovered -- through whatever means, 
>>>>>>>> we don't actually care. This client either has some idea of what auth 
>>>>>>>> methods the server supports (through a discovery mechanism) or it 
>>>>>>>> doesn't. If it does, it will also know which methods it supports and 
>>>>>>>> it can pick one. If it doesn't, it will still know which methods it 
>>>>>>>> supports and will just pick one. The server will then take that 
>>>>>>>> information and do one of three things:
>>>>>>>> 
>>>>>>>> 1) Accept what the client proposes and use that. This is of course the 
>>>>>>>> ideal situation where everybody gets what they want, and this can be 
>>>>>>>> brought about more often by a good discovery process.
>>>>>>>> 2) Reject what the client proposes with an error code 
>>>>>>>> (invalid_client_metadata would cover this). The client then has to 
>>>>>>>> re-register with a different value or just give up because the two 
>>>>>>>> systems are using different auth methods that can't be reconciled.
>>>>>>>> 3) Ignore what the client proposes and return the server's preferred 
>>>>>>>> method. The client can then, in turn:
>>>>>>>> a) Accept what the server returns and use that, if it supports it. 
>>>>>>>> This is also ideal because everybody is happy again.
>>>>>>>> b) Reject what the server returns and either try the registration 
>>>>>>>> again with another value or give up.
>>>>>>>> c) Ignore what the server returns and fail when doing a token request. 
>>>>>>>> This would be a dumb thing for a dumb client to do. 
>>>>>>>> 
>>>>>>>> Alternatively, the client could just not mention it and have the 
>>>>>>>> server dictate what method it will use, and the client will either 
>>>>>>>> accept, reject, or ignore it. This process applies to every parameter 
>>>>>>>> in the system, from something innocuous as the client's TOS uri to 
>>>>>>>> something as security-critical as the redirect_uri (which gets its own 
>>>>>>>> special error message). 
>>>>>>>> 
>>>>>>>> I think that the assumption of full automation for all clients to all 
>>>>>>>> servers is a red herring in the OAuth world for the simple fact that 
>>>>>>>> the API that's being accessed/protected isn't going to be universally 
>>>>>>>> compatible anyway. I agree fully that a well-specified service 
>>>>>>>> discovery is important and we should, as a working group, help figure 
>>>>>>>> out what that looks like. As mentioned above, several of us already 
>>>>>>>> are. But I don't think it's helpful to conflate the registration and 
>>>>>>>> discovery processes and turn them into some kind of negotiation 
>>>>>>>> system. I think we can do a good job of making it widely useful 
>>>>>>>> without that.
>>>>>>>> 
>>>>>>>> -- Justin
>>>>>>>> 
>>>>>>>> On May 5, 2013, at 1:05 PM, Phil Hunt <phil.h...@oracle.com>
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> Justin,
>>>>>>>>> 
>>>>>>>>> Has the assumption of a discovery service defined by OIDC been 
>>>>>>>>> removed?
>>>>>>>>> 
>>>>>>>>> Phil
>>>>>>>>> 
>>>>>>>>> @independentid
>>>>>>>>> www.independentid.com
>>>>>>>>> phil.h...@oracle.com
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On 2013-05-05, at 12:52 PM, Richer, Justin P. wrote:
>>>>>>>>> 
>>>>>>>>>> Handful of minor changes in this revision, including tightening the 
>>>>>>>>>> language around scopes and adding an absolute-URI based mechanism 
>>>>>>>>>> for extending token_endpoint_auth_method (no registry, still). No 
>>>>>>>>>> normative changes beyond removing an unreachable error state. 
>>>>>>>>>> (Thanks, Nov.) Please check the diffs, we welcome feedback. I 
>>>>>>>>>> personally think this is really getting close to final.
>>>>>>>>>> 
>>>>>>>>>> -- Justin
>>>>>>>>>> 
>>>>>>>>>> On May 5, 2013, at 3:45 PM, <internet-dra...@ietf.org>
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> A New Internet-Draft is available from the on-line Internet-Drafts 
>>>>>>>>>>> directories.
>>>>>>>>>>> This draft is a work item of the Web Authorization Protocol Working 
>>>>>>>>>>> Group of the IETF.
>>>>>>>>>>> 
>>>>>>>>>>>    Title           : OAuth 2.0 Dynamic Client Registration Protocol
>>>>>>>>>>>    Author(s)       : Justin Richer
>>>>>>>>>>>                John Bradley
>>>>>>>>>>>                Michael B. Jones
>>>>>>>>>>>                Maciej Machulak
>>>>>>>>>>>    Filename        : draft-ietf-oauth-dyn-reg-10.txt
>>>>>>>>>>>    Pages           : 25
>>>>>>>>>>>    Date            : 2013-05-05
>>>>>>>>>>> 
>>>>>>>>>>> Abstract:
>>>>>>>>>>> This specification defines an endpoint and protocol for dynamic
>>>>>>>>>>> registration of OAuth 2.0 Clients at an Authorization Server and
>>>>>>>>>>> methods for the dynamically registered client to manage its
>>>>>>>>>>> registration.
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> The IETF datatracker status page for this draft is:
>>>>>>>>>>> https://datatracker.ietf.org/doc/draft-ietf-oauth-dyn-reg
>>>>>>>>>>> 
>>>>>>>>>>> There's also a htmlized version available at:
>>>>>>>>>>> http://tools.ietf.org/html/draft-ietf-oauth-dyn-reg-10
>>>>>>>>>>> 
>>>>>>>>>>> A diff from the previous version is available at:
>>>>>>>>>>> http://www.ietf.org/rfcdiff?url2=draft-ietf-oauth-dyn-reg-10
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> Internet-Drafts are also available by anonymous FTP at:
>>>>>>>>>>> ftp://ftp.ietf.org/internet-drafts/
>>>>>>>>>>> 
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> 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

Reply via email to