On Sun, Jul 18, 2010 at 8:20 AM, Torsten Lodderstedt <tors...@lodderstedt.net <mailto:tors...@lodderstedt.net>> wrote:

    Hi Dirk,

    I have some questions concerning your proposal:

    - As far as I understand, the difference to "magic signatures"
    lays in the usage of a JSON token carrying issuer, not_before,
    not_after and audience. While such properties are important for
    security tokens (assertions), I cannot see an advantage of using
    this format for signatures of HTTP requests. Would you please explain?


You mean advantage over magic signatures? It's really a similar idea - it's just that magic signatures as is don't quite fit the bill. For example, they have newlines in them: http://salmon-protocol.googlecode.com/svn/trunk/draft-panzer-magicsig-00.html#anchor5

I mean, what is the reason for including issuer, not_before, not_after and audience into a signature?

    - Key management
    From my point of view, your proposal does cover key management for
    web applications using RSA signatures. What about web applications
    intending to sign resource server requests using HMAC (for
    performance reasons)? Do they need to exchange secrets with the
    resource server?


Correct - I'm not saying how HMAC keys are being distributed. Presumably, you would use a similar system to what many platform providers use today - you sign up as a developer, and they give you a "developer key" (or "API key").

Such a system will work for a relatively static relation between client and server only. Do you suggest a client should register with every resource server in advance?

What about dynamic clients? Suppose a client is just configured with a URL pointing to a PortableContacts resource. The client discovers the respective authz server and obtains a token. What if the client wants to sign the messages to the resource server?


    What about installed applications (mobile, desktop, set top boxes,
    gaming devices)?


I don't think that installed apps can ever authenticate themselves (i.e., prove the statement "I am a copy of the FooBar app"), so I'm not trying to solve that. What we _can_ do is deliver OAuth tokens to an installed app of the user's choice, but the server won't know who received the token - only the user does.

I think we can do more. Even installed applications can use signatures to protect messages on transport. What about that use case? Clearly they need appropriate key material. The token secret issued by the authorization server could server that purpose.

     1) RSA: Do they need to provide their public key on a web server?
    This would be an additional requirement for such applications.
     2) HMAC: Same as for web apps, but even harder because either (a)
    the installed app has a static secret burned
    into source code or (b) it needs to use a protocol for dynamic key
    management the resource server has to implement. Is this the plan?


regards,
Torsten.
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to