Title: GridShib Project Update
1GridShib Project Update
- Tom Barton1, Tim Freeman1,
- Kate Keahey1, Raj Kettimuthu1,Tom Scavo2, Frank
Siebenlist1, Von Welch2 - 1University of Chicago
- 2NCSA/University of Illinois
2Outline
- GridShib Overview
- GridShib Components
- GridShib Profiles
- GridShib Roadmap
3What is GridShib?
- GridShib enables secure attribute sharing among
Grid virtual organizations and higher-educational
institutions - The goal of GridShib is to allow interoperability
between the Globus Toolkit with Shibboleth - GridShib adds attribute-based authorization to
Globus Toolkit
4Some Background
- Large scientific projects have spawned Virtual
Organizations (VOs) - The cyberinfrastructure and software systems to
support VOs are called grids - Globus Toolkit is the de facto standard software
solution for grids - Grid Security Infrastructure (GSI) provides basic
security services for grids
5Grid Authentication
- Globus Toolkit provides authentication services
via X.509 credentials - When requesting a service, the user presents an
X.509 certificate, usually a proxy certificate - GridShib leverages the existing authentication
mechanisms in GT
6Grid Authorization
- Today, Globus Toolkit provides identity-based
authorization mechanisms - Access control lists (called grid-mapfiles) map
DNs to local identity (e.g., Unix logins) - Community Authorization Service (CAS)
- PERMIS and VOMS
- GridShib provides attribute-based authorization
based on Shibboleth
7GridShib Project Motivation
- VOs are difficult to manage
- Goal Leverage existing identity management
infrastructure - Identity-based access control methods are
inflexible and do not scale - Goal Use attribute-based access control
- Solution Leverage Shibboleth with Globus
Toolkit!
8GridShib Use Cases
- Three use cases under consideration
- Established grid user (non-browser)
- New grid user (non-browser)
- Portal grid user (browser)
- Initial efforts concentrated on the non-browser
use cases - Current efforts are focused on the portal grid
user
9Established Grid User
- User possesses an X.509 end entity certificate
- User may or may not use MyProxy Server to manage
X.509 credentials - User authenticates to Grid SP with a proxy
certificate - The current GridShib implementation addresses
this use case
10New Grid User
- User does not possess an X.509 end entity
certificate - User relies on GridShib CA to obtain short-lived
X.509 certificates - User authenticates to Grid SP using short-lived
X.509 credential - The myVocs-GridShib integration addresses this
use case
11Portal Grid User
- User does not possess an X.509 cert
- A browser user authenticates to a Grid Portal
(which may or may not be Shib-enabled) - The user delegates the Grid Portal to request a
service at the Grid SP - The Grid Portal authenticates to the Grid SP
using its community credential
12Outline
- GridShib Overview
- GridShib Components
- GridShib Profiles
- GridShib Roadmap
13Software Components
- GridShib for Globus Toolkit
- GridShib for Shibboleth
- Includes GridShib Certificate Registry
- GridShib Certificate Authority
- GridShib Authentication Assertion Client
- Shibboleth IdP Tester
- Globus SAML Library (not distributed)
14GridShib for Globus Toolkit
- GridShib for Globus Toolkit is a plugin for GT
4.0 (or later) - Features
- Standalone attribute requester
- SAML attribute consumption
- Attribute-based access control
- Attribute-based local account mapping
- SAML metadata consumption
15GridShib for Shibboleth
- GridShib for Shibboleth is a plugin for a
Shibboleth IdP v1.3 (or later) - Features
- Name Mapper
- Supports name mappings in both files and tables
- SAML name identifier implementations
- X509SubjectName, emailAddress, etc.
- Certificate Registry
- Supports the established grid user
16GridShib Certificate Registry
- A Certificate Registry is integrated into
GridShib for Shibboleth 0.5https//authdev.it.oh
io-state.edu/twiki/bin/view/GridShib/GridShibCerti
ficateRegistry - An established grid user authenticates and
registers an X.509 end-entity cert - The Registry binds the cert to the principal name
and persists the binding in a database - On the backend, GridShib maps the DN in a query
to a principal name in the DB
17(No Transcript)
18GridShib Authn Assertion Client
- The GridShib Authn Assertion Client is a
standalone tool that creates an X.509 proxy
certificate with bound SAML authn assertion - The client uses the proxy to authenticate to a
Grid SP - The Grid SP queries a Shibboleth AA based on the
information in the bound SAML assertion
19Shibboleth IdP Tester
- The Shibboleth IdP Tester is a tool that queries
a Shibboleth AA for attributes - The IdP Tester can be used to
- Test an ordinary Shibboleth AA
- Test a GridShib-enabled AA
- The IdP Tester installs as a Shib IdP extension
(i.e., it does not disturb an existing Shib
deployment)
20GridShib CA
- The GridShib Certificate Authority is a web-based
CA for new grid usershttps//authdev.it.ohio-sta
te.edu/twiki/bin/view/GridShib/GridShibCertificate
Authority - The GridShib CA is protected by a Shib SP and
backended by either OpenSSL or the MyProxy Online
CA - The CA issues short-term credentials suitable for
authentication to a Grid SP - Credentials are downloaded to the desktop via
Java Web Start
21(No Transcript)
22Globus SAML Library
- GridShib forked the OpenSAML 1.1 source library
in Jan 2006 - Globus SAML Library is in synch with OpenSAML 1.1
CVS HEAD - Globus SAML Library is bundled with GridShib for
GT - Globus SAML Library adds new features to OpenSAML
1.1
23Outline
- GridShib Overview
- GridShib Components
- GridShib Profiles
- GridShib Roadmap
24GridShib Attribute Pull Profile
- In the Classic GridShib profile, a Grid SP
pulls attributes from a Shib IdP - The Client is assumed to have an account (i.e.,
local principal name) at the IdP - The Grid SP and the IdP have been assigned a
unique identifier (entityID)
IdP
C L I E N T
3
2
1
Grid SP
4
25GridShib Attribute Pull Step 1
- The Grid Client requests a service at the Grid SP
- The Client presents an X.509 certificate to the
Grid SP - The Client may provide a pointer to its preferred
IdP - This is the so-called IdP Discovery problem
IdP
C L I E N T
1
Grid SP
26GridShib Attribute Pull Step 2
- The Grid SP authenticates the Client and extracts
the DN from the proxy cert - The Grid SP queries the Attribute Authority (AA)
at the IdP using the DN as a SAML name identifier
IdP
C L I E N T
2
1
Grid SP
27GridShib Attribute Pull Step 3
- The AA authenticates the requester and maps the
DN to a local principal name - The AA returns an attribute assertion to the Grid
SP - The assertion is subject to Attribute Release
Policy (ARP) at the IdP
IdP
C L I E N T
3
2
1
Grid SP
28GridShib Attribute Pull Step 4
- The Grid SP parses the attribute assertion and
performs the requested service - The attributes are cached as necessary
- A response is returned to the Grid Client
IdP
C L I E N T
3
2
1
Grid SP
4
29IdP Discovery
- Like the Shibboleth SP-initiated browser flows,
the Grid SP needs to know the users preferred
IdP - SAML assertions bound to X.509 certs give clues
as to the users preferred IdP - For example, the GridShib Authentication
Assertion Client sets the NameQualifier attribute
to the unique identifier of the IdP - Unfortunately, the NameQualifier attribute is
deprecated in SAML V2.0
30IdP Discovery (contd)
- The Issuer attribute is a better indicator of the
users preferred IdP - However, for self-issued assertions (assertion
issuer certificate issuer) the Issuer is a DN,
which doesnt help IdP discovery - Solution Set the X.509 Subject Information
Access extension to the IdP entityID
31GridShib Attribute Push Profile
- The Client may push attributes at step 1
- SAML assertions are bound to X.509 certificates
or SOAP messages - The Grid SP may or may not query for attributes
in this case
IdP
C L I E N T
3
2
1
Grid SP
4
32Outline
- GridShib Overview
- GridShib Components
- GridShib Profiles
- GridShib Roadmap
33Online Roadmap
- We present current plans and timelines
- Roadmap online at GridShib dev.globus incubator
site - http//dev.globus.org/wiki/GridShib_Development_Ro
admap - Roadmap will be maintained as work progresses,
check web page for updates
34Attribute Push
- For the past six months, GridShib has
concentrated on attribute push - Advantages of attribute push
- IdP Discovery is less of an issue
- Disadvantages of attribute push
- What to push? (we call this SP Discovery)
35GridShib X.509 Certificate
- The anatomy of an X.509 certificate suitable for
GridShib attribute push - short lifetime
- IdP entityID in Subject Information Access
extension - SAML Subject in the Subject Alt Name extension
- SAML assertion(s) bound to X.509 v3 certificate
extension - SSO assertion(s) nested in the Advice element of
a bound SAML assertion
36X.509 Binding for SAML
- We bind an ASN.1 SEQUENCE of SAML elements at a
well-known, non-critical X.509Â v3 certificate
extension - GridShib and Globus CAS already have limited
ability to bind ltAssertiongt elements to X.509
proxy certificates - Future versions of the GridShib CA will bind SAML
to end-entity certificates
37X.509 v3 Certificate ExtensionOID
1.3.6.1.4.1.3536.1.1.1.10
ltsamlAssertion gt lt/samlAssertiongt ltsaml
Assertion gt lt/samlAssertiongt
38X.509 Binding for SAML (contd)
- Initially, we bind a ltsaml1Assertiongt element to
the X.509 certificate - Eventually we would like to support
- ltsaml1Assertiongt
- ltsaml1AssertionIDReferencegt
- ltsaml2Assertiongt
- ltsaml2EncryptedAssertiongt
- ltsaml2AssertionIDRefgt
- ltsaml2AssertionURIRefgt
39X.509 Binding Use Cases
- Presenter is the Subject
- Principal Self-assertion
- Principal Self-query
- Shib-enabled GridShib CA
- MyProxy Online CA
- Community Authorization Service
- Presenter Acting on Behalf of the Subject
- nanoHUB Pull
- National Virtual Observatory (NVO) Push
- Shib-enabled Science Gateway
40Use Case nanoHUB
41Use Case NVO
42Use Case Science Gateway
SSO Assertion
43Outline
- GridShib Overview
- GridShib Components
- GridShib Profiles
- GridShib Roadmap
44Work in the Pipeline
- New versions of GridShib for GT, GridShib for
Shib, and GridShib CA - GridShib Authn Assertion Client gt GridShib
SAML Issuer Tool - Shibboleth IdP Tester gt GridShib Attribute
Query Client - GridShib SAML Tools
- Enhancements to Globus SAML Library
45GridShib for GT Versions
- GridShib for GT 0.5
- Announced Nov 30, 2006
- GridShib for GT 0.5.1
- Expected ?
- GridShib for GT 0.6
- Expected ?
46GridShib for GT 0.5
- GridShib for GT 0.5 announced Nov 30
- Compatible with both GT4.0 and GT4.1
- GT4.1 introduces powerful authz framework
- Separate binaries for each GT version
- Source build auto-senses target GT platform
- New identity-based authorization feature
- Uses grid-mapfile instead of DN ACLs
- Logging enhancements
- Bug fixes
47GridShib for GT 0.5.1
- GridShib for GT 0.5.1 (expected ?)
- Combined VOMS/SAML attribute to account mapping
- As with the current gridmap situation, GT4.0.x
deployments cannot take advantage of permit
overrides and arbitrarily configure fallbacks - To accommodate this well allow for a name
mapping scheme that checks in this order and
continues to fall back if no match/authz is
granted gridmap, VOMS, Shibboleth/SAML
48GridShib for GT 0.6
- GridShib for GT 0.6 (expected ?)
- Full-featured attribute push PIP
- TBA
- More powerful attribute-based authz policies
- Allow unique issuer in authz policy rules
49GridShib for Shib Versions
- GridShib for Shib 0.5.1
- Announced Aug 8, 2006
- GridShib for Shib 0.6
- Expected Jan 2007
- Will include SAML Issuer Tool (derived from Shib
resolvertest tool)
50GridShib for Shib 0.6
- GridShib for Shib 0.6 (expected Jan 2007)
- Core (already included in 0.5)
- Requires Shib IdP
- Includes basic plugins and handlers
- Certificate Registry (already included in 0.5)
- Requires GridShib for Shib Core
- Includes Derby embedded database
- SAML Tools (new in 0.6)
- Requires GridShib for Shib Core
- Includes SAML Issuer Tool and SAML X.509 Binding
Tool
51GridShib CA Versions
- GridShib CA 0.3
- Announced Nov 27, 2006
- GridShib CA 0.4
- Expected March, 2007
52GridShib CA 0.3
- GridShib CA 0.3 announced Nov 27, 2006
- Substantial improvement over version 0.2
- More robust protocol
- Installation of trusted CAs at the client
- Pluggable back-end CAs
- Uses an openssl-based CA by default
- A module to use a MyProxy CA is included
- Certificate registry functionality
- A module that auto-registers DNs with myVocs
53GridShib SAML Tools
- GridShib SAML Issuer Tool
- Derived from Authentication Assertion Client
- Shibboleth SAML Issuer Tool
- Derived from Shib resolvertest tool
- GridShib Attribute Query Client
- Derived from Shib IdP Tester
- GridShib X.509 Binding Tool
- Derived from GT CAS/SAML utilities
54GridShib SAML Tools (contd)
55GridShib SAML Tools (contd)
56SAML Tool Distributions
- The Shib SAML Issuer Tool and the SAML X.509
Binding Tool will be distributed with GridShib
for Shib 0.6 - The GridShib SAML Issuer Tool, GridShib Attribute
Query Client, and SAML X.509 Binding Tool will be
distributed as a single, standalone package - Note The latter does not require GridShib for
Shib or GridShib for GT
57Globus SAML Library
- Features and enhancements
- Support for SAML V2.0 metadata
- SAML object equivalence implementation
- Enhanced SAMLNameIdentifier class
- SAML NameIdentifier format handlers
- New SAMLSubjectAssertion class
- New SubjectStatement class
- Additional unit tests and examples
- Requires JDK 1.4 or above
58New Software Components
- GridShib for Globus Toolkit 0.6
- GridShib for Shibboleth 0.6
- Optional Certificate Registry
- Optional SAML Issuer Tool
- GridShib Certificate Authority 0.4
- GridShib SAML Tools
- SAML Issuer Tool
- Attribute Query Client
- SAML X.509 Binding Tool
- Globus SAML Library (enhanced)
59Profiles and Bindings Specs
- SAMLÂ V1.1 Profiles for X.509 Subjects
http//www.oasis-open.org/committees/download.php
/19996/sstc-saml1-profiles-x509-draft-01.pdf - Subject-based Assertion Profile for SAML V1.1
- X.509 Binding for SAML Assertions
- Attribute Query Profile for SAML V1.1
- SAML V1.1 Deployment Profiles for X.509 Subjects
- SAML V2.0 Deployment Profiles for X.509 Subjects
60Acknowledgments
- GridShib is a project funded by the NSF
Middleware Initiative - NMI awards 0438424 and 0438385
- Opinions and recommendations are those of the
authors and do not necessarily reflect the views
of the National Science Foundation. - Also many thanks to Internet2 Shibboleth Project
61Summary
- GridShib has a number of tools for leveraging
Shibboleth for the Grid - Both for user authentication and attribute-based
authorization - Deploys easily on Shibboleth 1.3 and Globus 4.0
- Available under Apache2 license
- For more information and software
- http//gridshib.globus.org
- vwelch_at_ncsa.uiuc.edu
- http//dev.globus.org/wiki/Incubator/GridShib
62Questions?