[OGSA-AUTHZ] Implementations

Tom Scavo trscavo at gmail.com
Fri Mar 21 18:13:18 CDT 2008


On Fri, Mar 21, 2008 at 6:15 PM, David Chadwick <d.w.chadwick at kent.ac.uk> wrote:
>
>  I dont fully agree with your analysis since you have missed out the
>  concept of trust. If an AA trusts an entity to act as a proxy on behalf
>  of another entity (and this is actually the case we have here with the
>  Grid SP acting as a proxy on behalf of the user) then the AA will be
>  prepared to let the trusted proxy have the attributes of the entity it
>  is acting on behalf of. There are many ways for the AA to know who it
>  trusts. One way is for it to configure in the names of the trusted
>  proxies (this is the easiest way but is not scalable), another is for it
>  to configure in the name of a trusted entity that says who are trusted
>  proxies (much more scalable since the trusted entity can authorise
>  hundreds or thousands of trusted proxies) and for the trusted proxy to
>  present this token to the AA.

What you say is true.  If the AA trusts the requester, then we're fine
of course.  In the typical cross-domain scenario, however, I claim
this is more trust than the AA can bear.  No AA worth its salt will
respond to a cold query from an SP wielding a DN, even if the SP is
"trusted" in other respects.

>  Another way would be for the user to give
>  a token to the proxy saying that it authorises the proxy to act on its
>  behalf, and the proxy can present this to the AA.

Yes, this approach will work, in general.  It is the approach I'm
advocating, in fact.

>  However, this later
>  model will require enhancements to the communications between the user
>  and the Grid SP, which is probably a route you dont want to go down.

Having adopted a push model, our project is already far down this path
(and making more progress than we ever did with a pull model, I might
add).  (In fact, sometimes I wonder if it's worth belaboring the pull
model further.)

>  Note that this issue is not unique to grids. Shibboleth has a similar
>  problem of determine who are trusted IDPs, and it has solved it in the
>  unscalable easy way by passing the complete list of trusted IDPs in the
>  meta data. Not the best choice, but a quick and easy one. So the
>  solution that Valerio has currently chosen is no different to the one
>  that Shibboleth has chosen

No, that's not the whole story, I'm afraid.  In fact, metadata has
nothing to do with user presence.  The Shib SP queries the AA using a
transient, encrypted name identifier that the *user* obtained from the
IdP during the SSO step.  By presenting this identifier to the AA, the
SP proves user presence.

If you take away the SSO step and replace the Shib SP by a Grid SP,
you have precisely the use case that our profile addresses.  But by
taking away the SSO step, you lose the transient name identifier, so
the Grid SP is unable to prove user presence.  No Shib AA will respond
to such a query.

I doubt I've convinced you, but I've made my point the best I can, so
I won't try to convince you further :-)  Let me close by proposing the
following "patch" to our profile:

Instead of *requiring* a DN, the name identifier in the query should
be generalized to accommodate the entire certificate (without
excluding the possibility of a naked DN in those situations where it
is warranted).  This can be done using <ds:KeyInfo>, something like
this:

<saml:Subject>
 <saml:BaseID xsi:type="KeyIdentifierType">
   <ds:KeyInfo>...</ds:KeyInfo>
 </saml:BaseID>
</saml:Subject>

where KeyIdentifierType is defined as follows:

<complexType name="KeyIdentifierType">
 <complexContent>
  <extension base="saml:BaseIDAbstractType">
    <sequence>
      <element ref="ds:KeyInfo"/>
    </sequence>
  </extension>
 </complexContent>
</complexType>

This new name identifier type accommodates either a DN or a
certificate.  In addition to proving user presence at the Grid SP,
using a certificate in this way has the extra added benefit that it
avoids potential DN string matching at the AA, which in and of itself
is almost sufficient reason to pass a certificate instead of a DN.

Tom


More information about the ogsa-authz-wg mailing list