On Fri, May 21, 2010 at 9:15 PM, John Panzer <jpan...@google.com> wrote:

> Dirk: How would sub-delegation of an access token work in your
> proposal?  In other words I hand my AT to a sub-contractor.  Who may
> call on Apis that do not require a signature from them; or they may,
> and therefore need their own relationship with the service. But it's
> up to the service and could depend in the API and access needed.
> Seems like separation of concerns makes this easier.
>

Yes, my proposal allows the PR to decide whether or not they allow such
sub-delegation. You could imagine servers that don't care - whoever shows up
with the bearer token has access. You could imagine servers that don't allow
sub-delegation at all - and they would use this signature scheme as a way to
enforce it. And you could imagine servers somewhere in the middle - they
accept tokens from a sub-delegatee as long as the original Client has told
the Server that they're sub-delegating to that particular sub-delegatee.
Only the first of those is possible with token-secret-signatures. All three
are possible with client-secret signatures.

Dirk.


>
> On Friday, May 21, 2010, Dirk Balfanz <balf...@google.com> wrote:
> > That would be fine with me, but I think people really like to have
> signatures as a part of core OAuth. I don't feel strongly about it either
> way.
> >  One nit-pick, though: the other spec (which, in my proposal, is simply a
> new section in the OAuth spec), wouldn't be about "signed tokens". The way I
> see it, there should be only one kind of token - you can't use it to sign
> things, you simply include it in your requests. Whether those requests come
> in the clear, over SSL, or are otherwise signed, is a different question.
> The token shouldn't have anything to do with request signing: In the case of
> SSL, for example, the requests are signed (using a shared secret negotiated
> during the SSL handshake), but the token has nothing to do with that
> signature. In the case where we don't use SSL, yet still want to sign the
> requests, the same should be true: the signature on the request should have
> nothing to do with the token - the token and the signature serve two
> different purposes.
> >
> > Fortunately, we have a secret we can use for the signature: the OAuth
> client secret (and hopefully, in a future rev of the spec, the client
> private key) - so it makes sense to make this request signing be at least a
> companion spec to OAuth, if not a section of the spec itself.
> >
> > Dirk.
> >
> > On Fri, May 21, 2010 at 11:27 AM, Richer, Justin P. <jric...@mitre.org>
> wrote:
> >
> > I have a slightly more radical proposal. What if we factor out the signed
> token use case into a parallel spec? The OAuth 2.0 Signed Token spec, given
> the same attention by the group and all that like Eran was talking about
> yesterday. What this would take is taking out all reference to signing and
> making core OAuth just about bare tokens, then have a separate spec that
> details what to call your shared secret parameters, how to get them, and how
> to sign with them. This makes the core spec a lot simpler (as detailed
> below) but makes the overall use case of using signed tokens more
> complicated to follow, as it'd be split in two.
> >
> >  -- justin
> > ________________________________________
> > From: oauth-boun...@ietf.org [oauth-boun...@ietf.org] On Behalf Of Dirk
> Balfanz [balf...@google.com]
> > Sent: Thursday, May 20, 2010 7:39 PM
> > To: OAuth WG
> > Subject: [OAUTH-WG] proposal for factoring out request signing in OAuth 2
> >
> > Hi guys,
> >
> > at today's interim meeting, we were discussing Brian Eaton's proposal for
> OAuth signatures. He was proposing a mechanism that would (1) do away with
> base string canonicalization, (2) allow for symmetric and public keys, and
> (3) allow for extensibility.
> >
> > He got homework from the group to prove the feasibility of his proposal
> by showing a couple of implementations.
> >
> > In this post, I would like to introduce another improvement of the OAuth
> 2 signing mechanism, one which is orthogonal to Brian's proposal (i.e., it
> would work both with the signing mechanism in the current spec, as well as
> with Brian's signature mechanism). The goal of my proposal is twofold:
> >
> > - it simplifies the spec. It will become more readable and therefore
> easier to implement
> > - it separates out the mechanisms for delegated authorization and for
> integrity protection into two independent pieces, which can be put together
> by Servers and/or Clients like LEGO blocks.
> >
> > Summary:
> >
> > - use the client secret instead of the token secret for signing PR access
> requests.
> >
> > Long version of the proposal:
> >
> > - remove all references to access tokens that are not bearer tokens from
> the spec.
> > - stop calling the access tokens "bearer tokens". Call them just "access
> tokens".
> > - remove all references to token secrets from the spec
> > - remove all parts of the spec that are of the kind "if bearer_token then
> X, else Y", and replace them with X.
> > - delete section 5.3
> > - add a section called "Request Authentication" that goes something like
> this:
> >
> > "Servers may require that requests be authenticated by the Client, so
> that presentation of the access token alone is not sufficient to access a
> Protected Resource.  This has several use cases, including, but not limited
> to, the following:
> >
> > - Non-repudiation: high-security deployments may require that requests be
> authenticated (signed) in a non-repudiateable way[1]
> > - Access to protected resources is not protected by SSL, so that access
> tokens may leak.
> > - End-to-end-integrity: even if SSL _is_ used, network infrastructure may
> strip SSL protection before the request reaches the protected resource. The
> protected resource, however, may require end-to-end integrity.
> >
> > If the Server requires that the Client authenticate PR access requests,
> then the Client uses the following mechanism to sign their HTTP requests:
> [...]"
> >
> > Then, we basically drop the old Section 5.3 here (except we use the
> client secret instead of the access token secret). Eventually, instead of
> Section 5.3, we may have Brian's new signature scheme section here, which
> would add the option of public-key crypto[1], etc.
> >
> > What do you guys think?
> >
> > Dirk.
> >
> > [1] Technically speaking, the goal of non-repudiation can only be
> achieved once we have public-key crypto.
> >
> >
> >
> >
>
> --
> --
> John Panzer / Google
> jpan...@google.com / abstractioneer.org / @jpanzer
>
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to