Title: Identity Federation and Attributebased Authorization through the Globus Toolkit, Shibboleth, GridShi
1Identity Federation and Attribute-based
Authorizationthrough the Globus Toolkit,
Shibboleth, GridShib, and MyProxy
- Tom Barton1, Jim Basney2, Tim Freeman1, Tom
Scavo2, - Frank Siebenlist1,3, Von Welch2, Rachana
Ananthakrishnan3, - Bill Baker2, Monte Goode4, Kate Keahey1,3
- 1University of Chicago
- 2National Center for Supercomputing Applications,
University of Illinois - 3Mathematics and Computer Science Division,
Argonne National Laboratory - 4Lawrence Berkeley National Laboratory
- NIST PKI Workshop, April 4th 2006
2Background
3Globus Toolkit
- http//www.globus.org
- Toolkit for Grid computing
- Job submission, data movement, data management,
resource management - Based on Web Services and WSRF
- Security based on X.509 identity- and
proxy-certificates - May be from conventional or on-line CAs
4Grid PKI
- Large investment in PKI at the international
level for Grids - Dozens of CAs, thousands of users
- International Grid Trust Federation
- http//www.gridpma.org
- Intended for point-in-time authentication
- As opposed to, e.g., document signing
- Uses RFC 3820 Proxy Certificates for delegation
and single-sign on - Keys stored in Highest Common Technology
Users local filesystem
5Shibboleth
- Internet2 project
- Standards-based (SAML)
- Allows for Identity Federation
- Identity Identifier Attributes
- Identifier may or may not be a persistent Name.
- Allows for pseudonymity via temporary,
meaningless identifiers called Handles - Allows for inter-institutional sharing of web
resources (via browsers) - Provides attributes for authorization between
institutions - Being extended to non-web resources
6MyProxy
- The Team
- Jim Basney (lead), Bill Baker, Patrick Duda, Von
Welch - Many contributors
- E.g. Monte Hall (LBNL)
- A service for managing X.509 PKI credentials
- A credential repository
- Long-lived private keys never leave the server
- Originally, a method for delegating credentials
to Web Portals - Work around for lack of delegation in Web
Browsers - User delegates RFC 3820 Proxy Certificate to
MyProxy, Portal delegates from MyProxy - Open Source Software
- Included in Globus Toolkit 4.0 and CoG Kits
- C, Java, Python, and Perl clients available
7GridShib
- NSF NMI project to allow the use of
Shibboleth-issued attributes for authorization in
NMI Grids built on the Globus Toolkit - Funded under NSF NMI program
- GridShib team NCSA, U. Chicago, ANL
- Tom Barton, Tim Freemon, Kate Keahey, Raj
Kettimuthu, Tom Scavo, Frank Siebenlist, Von
Welch - Working in collaboration with the Internet2
Shibboleth Design team
8Common Goals of GridShib and MyProxy
- Ease of use for Grid PKIs
- X509 Credential management is a big headache for
all involved - Users hate process of getting certificates
- Admins hate not know where private keys are
- Everyone hates configuration overhead (mainly
CRLs) - Both projects working to use federation combined
with X509 to solve these problems - Integration of Site with Grid security
9Results from Past Year
10MyProxy Authentication
- MyProxy has traditionally supported
- Key Passphrase
- X.509 Certificate for credential renewal
- In the past year, we have added
- Pluggable Authentication Modules (PAM)
- Kerberos password
- One Time Password (OTP)
- Lightweight Directory Access Protocol (LDAP)
password - Simple Authentication and Security Layer (SASL)
- Kerberos ticket (SASL GSSAPI)
- PubCookie
11MyProxy Online Certificate Authority
- Issues short-lived X.509 End Entity Certificates
- Leverages MyProxy authentication mechanisms
- Compatible with existing MyProxy clients
- Ties in to site authentication and account
management - Using PAM and/or Kerberos authentication
- Gridmap file maps username to certificate
subject - LDAP support for mapping
- Avoid need for long-lived user keys
- Server can function as both CA and repository
- Issues certificate if no credentials for user are
stored - When combined with pluggable authentication,
allows for easy way to leverage existing
authentication for X509 access - Kx509/KCA replacing Kerberos with various
technologies - (Implemented by Monte Goode _at_ LBNL)
12MyProxy Managing Trust Roots
- Based on ideas put forth in Gutmanns
plug-and-play PKI paper - When user authenticates to get X509 credential,
also provide needed trust information - CA certificates, CRLS, other related policy
13GridShib Overview
- Two components
- GridShib handlers for Globus Toolkit (GT4)
- GridShib plugin for Shibboleth (1.3)
- Working together they allow GT service to request
Shibboleth attributes - And make authz decision based on those attributes
- All software open source
14GridShib for Globus Plugin
- Three components
- Basic SAML Query Policy Information Provider
(PIP) - Queries Shibboleth AA using X509 DN and retrieves
user attributes - Needs GridShib for Shibboleth plugin at AA
- SAML identity mapper PIP determines local
username from SAML attributes - SAML PDP makes access control decision based on
SAML attributes
15GT Authorization Architecture
- GridShib work is forming basis for rich
authorization architecture in GT - Configurable collection of PIPs gather
attributes regarding user - SAML, X509, local, etc.
- Canonicalize to XACML Request Context
- Configurable collection of PDPs render
authorization decision - PDPs can be local or remote (GGF OGSA-Authz SAML
protocol) - PDPs can be combined logically in different ways
(AND or OR) - PDPs can gather own attributes (e.g. PERMIS)
16GridShib for Shibboleth Plugin
- NameMapper for Shibboleth IdP
- Converts X509 DN into locally meaningful name
- Currently uses static mapping
- Already being improved on
17GridShib Flow Putting it together
- User makes request of GT service as usual
- X509 authentication with SOAP
- GT SAML PIP queries Shibboleth AA using DN
- SAML Query protocol
- GridShib Namemapper converts from DN to local
principal name - Shibboleth AA returns SAML assertion with
attributes - SAML Response protocol
- GT SAML PIP binds attributes to DN in GT internal
state - GT then maps user to local account and/or renders
access control decision
18Next Steps
19GridShib/MyProxy Integration
- Allow for leveraging of Shibboleth SSO for Grids
- Need to convert Shibboleth SAML into X509
- Accomplish by adding SAML authentication support
to MyProxy - Ala Pubcookie
- Have implemented prototype GridShib CA
- Portal authenticates user, MyProxy trusts portal
to have done so and issues X509 Credential - Java Web Start application download credential
from portal to user desktop - Investigating full Shibboleth authentication to
MyProxy - May have to wait until Shibboleth 2.x
20The Name Mapping Problem
- End-to-end flow involves both protocol and name
conversion - Site, SAML, X509
- Not clear that these conversions should be
co-located, who should be authoritative
21Name Binding
- If site is authority for both SAML and X509
names, then they can make mappings or use
algorithmic transformation - Today this is often not the case
- E.g. CA is run by Grid community
- Two options were exploring
- User binds names by dual-authentication
- CA binds names when it issues a credential
- Either by direct communication with Shibboleth AA
- Allow Shibboleth AA to recognize DN
- Or by embedding information into the X509
certificate - Allows resource to know Shibboleth Name
- Working in collaboration with Jill Gemmill, J.P.
Robinson _at_ UAB (myVocs)
22Questions?
- vwelch_at_ncsa.uiuc.edu
- Project URLS
- http//gridshib.globus.org
- http//myproxy.ncsa.uiuc.edu
- http//shibboleth.internet2.edu/
- Acknowledgements
- The GridShib work is funded by the NSF National
Middleware Initiative (NMI awards 0438424 and
0438385). Opinions and recommendations in this
paper are those of the authors and do not
necessarily reflect the views of NSF. - The MyProxy work was funded by the NSF NMI Grids
Center and the NCSA NSF Core awards. The online
CA work was implemented at LBNL.