Hmmm. We are defining token drafts that discuss key distribution. Part of my 
objection is that doing a different method in reg not only overloads reg but 
complicates key mgmt. 

Phil

On 2013-08-23, at 9:16, John Bradley <ve7...@ve7jtb.com> wrote:

> We have that in the OIDC version where the client publishes it's public key.  
> That is in general better from a security point of view if you believe 
> clients can securely generate key pairs.
> 
> It is not in the IETF version because we were asked not to include 
> authentication methods not defined in the core spec, as they were thought 
> best to be extensions.  
> 
> It currently looks like the pressure is on to remove confuguration options 
> rather than add them.
> 
> I agree that client registration is a reasonable place to exchange keys and 
> avoid having symmetric secrets,  that is the preferred OIDC implementation 
> for clients that can support it.
> 
> John B.
> 
> 
> On 2013-08-23, at 4:55 AM, Antonio Sanso <asa...@adobe.com> wrote:
> 
>> Hi Hannes,
>> 
>> thanks a lot for your notes.
>> 
>> As suggested from you guys yesterday I'd like to bring on my little point :) 
>> (that is really orthogonal to the whole discussion).
>> 
>> IMHO since the dynamic registration is still on a design phase it would be 
>> really nice to include something that Google already implemented in order to 
>> allow server-to-server communication [0].
>> 
>> In order to allow this, in the registration phase, there is the option to 
>> download a private key (in order to allow the client to sign self produced 
>> signed JWT without 'human interaction'), quoting [0]
>> 
>> "During the creation of a Service Account, you will be prompted to download 
>> a private key. Be sure to save this private key in a secure location. After 
>> the Service Account has been created, you will also have access to the 
>> client_id associated with the private key." 
>> 
>> 
>> IMHO this is a really clever way to use OAuth and would be nice to see this 
>> standardized and having it on the big picture. Obviously this should be just 
>> an optional field.
>> 
>> Just my 0.02 $
>> 
>> Thanks and regards
>> 
>> Antonio
>> 
>> [0] https://developers.google.com/accounts/docs/OAuth2ServiceAccount
>> 
>> 
>> 
>> On Aug 23, 2013, at 10:24 AM, Hannes Tschofenig wrote:
>> 
>>> Thank you all for joining yesterday's conference call. I took some notes 
>>> during the call.
>>> 
>>> ---- Meeting Minutes ----
>>> 
>>> Participants:
>>> - William Kim
>>> - John Bradley
>>> - Antonio Sanso
>>> - Mike Jones
>>> - Phil Hunt
>>> - Justin Richer
>>> - Hannes Tschofenig
>>> - Derek Atkins
>>> - Amanda Anganes
>>> - Morteza Ansari
>>> - Brian Campbell
>>> - Thomas Hardjono
>>> - Prateek Mishra
>>> - George Fletcher
>>> - Tony Nadalin
>>> 
>>> Minutes
>>> 
>>> Justin started with a discussion about what is described in Section 1.3 
>>> of the protocol specification and Appendix B describes the use cases.
>>> 
>>> Dynamic client registration is one way to introduce a client to an 
>>> authorization server.
>>> A client is the relationship between a client piece software and a piece 
>>> of software on the authorization server side.
>>> The client needs a client_id and the authorization server needs to get 
>>> various other piece of information (such as a redirect_uri, display_name).
>>> 
>>> The group then started a discussion about what the minimal amount of 
>>> information is the authorization server needs to have.
>>> 
>>> The discussion then shifted to uses cases where trust is established 
>>> a-priori (out-of-band) and is conveyed via an assertion to the dyn-reg 
>>> exchange (protected registration) and the case where there is no trust 
>>> (=open registration); the latter case would push the obligation to the 
>>> user.
>>> 
>>> There seems to be agreement (on the call) that both use cases are valid.
>>> 
>>> The following examples for protected registration have been discussed:
>>> 
>>> * manual page where the developer obtains a developer key and register 
>>> there; they end up with an initial access token (in the form of an 
>>> bearer token)
>>> * UMA case where there is someone who is introducing the two parties 
>>> to each other. (Currently not described in the document)
>>> * Developer Automation: Who holds the client registration information? 
>>> The developer makes the call and you get the client_id back. The client 
>>> is not doing the dyn. registration. (This use case is described in 
>>> Appendix B.3)
>>> * John's use case: 
>>> http://www.ietf.org/mail-archive/web/oauth/current/msg12008.html
>>> 
>>> Phil Hunt starts with his presentation slides, which he had distributed 
>>> to the mailing list earlier:
>>> http://www.ietf.org/mail-archive/web/oauth/current/msg12007.html
>>> 
>>> Phil says that the client_id does not need to be provided by the AS - it 
>>> could be provided by the client. John says that the client_id has to be 
>>> tied to the redirect_uri since otherwise attacks are possible.
>>> 
>>> Phil says we are lacking good terminology for client, and for client 
>>> instance.
>>> 
>>> George claims that the client instance concept came up when mobile 
>>> clients and Web clients got mixed in deployments and people wanted to 
>>> have a way to distinguish the two since they were different in their 
>>> ability to keep a secret.
>>> 
>>> A discussion started about whether an evolution had happened regarding 
>>> different types of clients. The client id is a proxy for some release of 
>>> some software. Someone claimed that with dynamic client registration we 
>>> have the ability to turn public clients back into confidential clients.
>>> 
>>> Phil argues that service providers want to know the class of 
>>> applications and the instances. A problem with a client can be a 
>>> compromise and you want to disable it. There may also be a bug in the 
>>> software and then one may want to disable the entire class of clients.
>>> 
>>> Phil asks whether we expect that JavaScript code registers every time 
>>> the code runs. The response was clear that this is not the expectation.
>>> 
>>> Phil then goes on to explain four levels of dynamic behavior:
>>> 
>>> * Client developer hardcodes the address of the authorization server 
>>> and other information.
>>> * Developer may hardcode some information but the client may 
>>> dynamically interact with the authorization server to provide additional 
>>> information (suggested by John)
>>> * Confirmation information in the client software can be used to 
>>> dertermine which server to talk to and which parameters to use
>>> * Client software decides at runtime who to contact and what 
>>> information to provide
>>> 
>>> Hannes stopped the discussion because we ran out of time and started a 
>>> discussion about where we could go next.
>>> 
>>> Justin said that he has not seen anything that is not supported yet.
>>> Tony, Phil, and Prateek say that we are trying to find the minimum 
>>> supported information.
>>> 
>>> It seems that different folks have different use cases in mind. Can this 
>>> situation be solved with extensions? Phil claims that the current 
>>> specification is overly complex.
>>> 
>>> It is clear that we cannot have one single spec that covers all the use 
>>> cases.
>>> Are we arguing which use cases are covered in the base specification?
>>> 
>>> Tony suggested that only client_id and redirect_uri should be the 
>>> supported and everything else should be dropped.
>>> 
>>> Justin responded that the rest is optional anyway.
>>> 
>>> Discussion started about what "optional" means. Does the authorization 
>>> server have to implement to implement even optional components?
>>> 
>>> John says that we need a new feature for adding and removing a new 
>>> endpoint. This is a common use case and we don't want to revoke all the 
>>> permissions when we do so.
>>> 
>>> Mike says that there is some additional material needed beyond client_id 
>>> and redirect_uri.
>>> John agrees.
>>> 
>>> Prateek says that we need to identify a minimal subset and have 
>>> extensions defined.
>>> 
>>> Hannes will talk to Derek about the next steps. Expect another 
>>> conference call soon.
>>> 
>>> Phil will update the software assertion document.
>>> 
>>> 
>>> _______________________________________________
>>> 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
> 
> <smime.p7s>
> _______________________________________________
> 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