It would be nice if software signing could work, however verifying that over a 
network connection without some sort of OS level TPM seems overly ambitious.

We were not trying to solve that problem with connect, only find a way that we 
could provision a secret for native apps.

Certainly the registration token can be stolen and faked by a rogue app.  

However with a good app it lets you get a unique client secret for the app or 
register a public key (something perhaps useful for Proof of possession tokens 
as well)

For web server clients this is not a big deal because registration is a one tie 
thing.

For native apps on phones etc having every one with the same clientID and 
password is not a good thing.

John B.


On 2012-10-19, at 2:39 PM, Phil Hunt <phil.h...@oracle.com> wrote:

> Consider that the issues comes from 2 angles:
> 1. The desire to distinguish between instances of a client app (e.g. on 
> mobile phones)
> 2. The desire for the client to register with particular instances of a 
> resource service.
> 
> The objective:  to establish a unique credential that binds a particular 
> client instance (or set of clients) with a particular resource service 
> provider.
> 
> I note that, per John's suggestion, this is something like what OpenID 
> Connect attempted to solve with their dynamic registration draft.
> 
> As further input, during the review of the OAuth Threat Model, there was 
> significant inquires and discussion about how to assess the legitimacy or 
> authenticity of a piece of client software. Though we didn't solve it, there 
> was a lot of requests for finding a way to authenticate client software as 
> simply being the one made by its developer.
> 
> Therefore, I think there is requirement to be able to authenticate software 
> (at some level) that is part of the dynamic registration process.
> 
> I think there is a few of steps in dynamic registration.
> 1. A method to authenticate the software. Is it signed by its publisher?  If 
> the resource being accessed is developed by a single publisher, has the 
> client been registered with the publisher? Hypothetical examples of this 
> might be clients designed to work with MS Exchange, or Oracle CRM.
> 2. Optionally establishing a means to distinguish one client instance from 
> another.
> 3. Dynamically issuing the client with a credential (which may or may not be 
> instance specific) to use with a particular instance of a resource 
> authorization server.
> 
> Regarding step 1, I note that in the case OpenID Connect, there is no single 
> place to even register a client as there is with proprietary APIs. Not sure 
> if software signing can work here. The same problem will emerge with any 
> standards based API (e.g. such as SCIM).  This is why I think dynamic 
> registration is of broad interest in the standards community beyond just 
> OpenID.
> 
> Phil
> 
> @independentid
> www.independentid.com
> phil.h...@oracle.com
> 
> 
> 
> 
> 
> On 2012-10-19, at 9:40 AM, George Fletcher wrote:
> 
>> I think it's an interesting idea... I'm just not sure how to tie the dynamic 
>> client registration to a verified user email address. To get a verified 
>> email address, most OAuth2 flows require the client_id to be already 
>> provisioned. 
>> 
>> I do agree that from the AS/OP perspective, we don't want to allow unlimited 
>> client registrations. This could be it's own form of DoS attack. I suppose 
>> if the client has a verifiable token containing the user attributes, that 
>> could be passed optionally to the dynamic client registration flow. How the 
>> client got the verifiable token could be left out of scope.
>> 
>> There are probably other ways to protect against abuse and they will likely 
>> be different from OP to OP for a while, until some best practices are 
>> established.
>> 
>> Thanks,
>> George
>> 
>> On 10/19/12 12:00 PM, Pedro Felix wrote:
>>> And what if the client instance is also connected to some verifiable user 
>>> attribute, such as an email?
>>> Is this a bad idea?
>>> 
>>> Pedro
>>> 
>>> On Fri, Oct 19, 2012 at 4:24 PM, John Bradley <ve7...@ve7jtb.com> wrote:
>>> The client instance registration was something that we discussed and put 
>>> into the openID Connect dynamic client registration but has not yet been 
>>> put back into the UMA draft.
>>> 
>>> http://openid.bitbucket.org/openid-connect-registration-1_0.html
>>> 
>>> The basic idea is that you can bake a access token into client code and 
>>> that client then uses that to get a unique clientID and secret/register 
>>> public key.
>>> 
>>> There was a long discussion about this at a IIW about a year ago.   
>>> 
>>> In some of the native apps projects I am looking at that are not openID 
>>> connect related we are looking at doing the same thing to differentiate 
>>> instances of clients.
>>> 
>>> John B.
>>> 
>>> 
>>> 
>>> On 2012-10-19, at 11:47 AM, Pedro Felix <pmhsfe...@gmail.com> wrote:
>>> 
>>>> Thanks for the response.
>>>> 
>>>> I know that this area is work in progress. However, I've looked into 
>>>> http://tools.ietf.org/html/draft-ietf-oauth-dyn-reg-00 and didn't found 
>>>> much about this subject.
>>>> What is the best place to follow this discussion? This mailing list?
>>>> 
>>>> Thanks
>>>> Pedro
>>>> 
>>>> On Thu, Oct 18, 2012 at 5:59 PM, Phil Hunt <phil.h...@oracle.com> wrote:
>>>> Pedro,
>>>> 
>>>> AFAIK this is still a TODO within the current charter.
>>>> 
>>>> Phil
>>>> 
>>>> @independentid
>>>> www.independentid.com
>>>> phil.h...@oracle.com
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> On 2012-10-18, at 9:06 AM, Pedro Felix wrote:
>>>> 
>>>> > Hi,
>>>> >
>>>> > Where can I find more information about the dynamic registration of 
>>>> > client application instances?
>>>> > The idea is that each installed application instance has a different id, 
>>>> > eventually related to the "general" application id.
>>>> >
>>>> > It also would be interesting if this instance id was the result of an 
>>>> > activation process, where the instance is attached to a device or to an 
>>>> > user (e.g. confimed email address).
>>>> >
>>>> > Thanks
>>>> > Pedro
>>>> >
>>>> > _______________________________________________
>>>> > 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

Reply via email to