An Approach for Shibboleth and Grid Integration Francisco Pinto Abstract

advertisement
An Approach for Shibboleth and Grid Integration
Francisco Pinto and Christian Fernau
Research Technologies Service, Oxford University
Abstract
Grid environments involve complex scenarios where PKI-based authentication and authorization
might have to be delegated across n-tier security domains. Shibboleth is an identity management
system designed to exchange attributes across domains for the primary purpose of authorization
and its architecture is highly dependent on PKI. Supported by a Registry Service, we propose a
non-intrusive approach where users access Grid resources protected by Shibboleth, using their
traditional proxy certificate carrying the users' DN. This service can also be used for VO
management, multi-identity support and possibly for ensuring anonymity. This document aims to
show a feasible approach for Shibboleth and Grid integration, and also for exploring other possible
directions of work.
1. Introduction
Standardisation bodies and working groups [1,
2] in the Grid arena have been doing studies and
producing reports identifying: authentication;
delegation; single logon; credential lifespan and
renewal; authorization; privacy; confidentiality;
message integrity; policy exchange; secure
logging; assurance and manageability, as the
most important components for the Grid
Security Infrastructure (GSI) [3, 4].
The Grid [5, 6, 7, 8, 9, 10, 11] is supported
by frameworks such as Globus Toolkit [12, 13],
which implement the GSI. Authentication is
based on X.509 identity certificates and X.509
proxy certificates. Proxy certificates are created
on-the-fly for accessing Grid protected
resources. They are signed by the users' identity
certificate and have a short life. MyProxy
provides a credential management service with
similar functionality via a portal environment
[14]. Authorisation is based on Access Control
Lists (ACL) associated with each resource.
Each entry specifies X.509 Distinguished
Names (DN) of the users allowed to access it.
Shibboleth is an identity management
system designed to provide federated security
[15]. It exchanges attributes across domains for
the primary purpose of authorization and its
architecture is highly dependent on Public Key
Infrastructure (PKI) [16]. It uses PKI to build
the trust between the several Shibboleth
components of the Federation members.
Shibboleth is agnostic in terms of the front-end
authentication and authorisation used. It just
specifies how the authentication and
authorisation flows should be exchanged
securely. End-user authentication based on PKI
is suitable, but not a requirement.
Figure 1 – Shibboleth Architecture.
As shown in Figure 1, users are identified by
an Identity Provider (IdP), typically located at
their own institutions (e.g. Universities in the
case of HE users). Resources (and Services) are
protected (shibbolized) by Service Providers
(SP), which can not only be placed locally, but
also at other institutions or even externally to
HE institutions (e.g. Publishers). SPs need to
identify the user (normally indirectly via an
opaque authentication handler, ensuring
anonymity), and obtain attributes about her/him.
When a user accesses a shibbolized resource
for the first time, the SP needs to identify the
institution where s/he is known, which is then
used to authenticate the user via Shibboleth's
AuthN Authority (aka Handle Service or HS)
and later on, during the authorisation phase, to
obtain attributes from Shibboleth's AuthZ
Authority (aka Attribute Authority or AA).
Shibboleth uses a Where Are You From
(WAYF) service, which although not mandatory
is normally used to ask the users' about the
institution they belong or are known.
Driven by the GSI functional requirements
and taking into account relevant literature in
this field [17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28], this document concentrates on
authentication and authorisation with the aim to
provide security for Grid environments using
Shibboleth. This approach aims to ensure the
same level of assurance and minimal disruption,
in a more dynamic fashion.
2. Grid and Shibboleth
Shibboleth is a good candidate to match with
the Grid existing authentication mechanism and
provide an improved dynamic authorization
model. However, Shibboleth was initially
designed for 2-tier interactive environments
involving
Browsers
and
Web-based
applications, and not all Grid applications are
Web-based. In the absence of the interactive
environment provided by the Web infrastructure
in most of the Grid applications, there is the
need to pass the required information
Shibboleth does/needs via alternative methods.
2.1 GridShib Project Approaches
Substantial work has been done by the NSF
funded project, GridShib [29, 30]. Other
projects such as ESP-Grid [31] are also looking
at this problem space. The project has identified
two possible approaches to combine Grid and
Shibboleth. The Pull approach uses a proxy
certificate to pass additional information about
the location where the users' attributes live. In
this way, the SP obtains the users' DN and the
AA access point. This information is sufficient
to fetch the required attributes about the user.
The Push approach requires the user to contact
her/his AA before accessing the protected
resource. Proxy certificate and attributes are
then passed together during the authentication
process against the Grid resource. The project
also anticipates a combination of the two
approaches as a realistic possibility.
A major disadvantage about these two
approaches are that they require changes at the
existing Grid authentication and authorisation
mechanisms. They propose changes in the
authentication process (e.g. proxy certificate
extensions with additional information), in
order to obtain improved authorisation via
Shibboleth.
Figure 2 – ESP-Grid Simple Architecture.
The major advantage about this approach is
that it is not so intrusive as GridShib and
provides the same or better gains. It doesn't
require any changes to the current Grid
authentication mechanism and provides the
flexibility of Shibboleth for exchanging
authorisation data dynamically. This approach
works well with the traditional Grid
authentication mechanisms based on PKI,
ensuring the levels of assurance required.
Additionally, it is also suitable for Grid
applications not requiring high levels of
assurance (e.g. username/password credentials),
just requiring the Registry Service to provide
alternative mappings between the users'
identifier and the AA (e.g. based on username).
2.2.1. Other Directions
A possible scenario where our approach could
be very advantageous, is for Virtual
Organization (VO) Management [32]. The
Registry Service is a suitable place to manage
the VO required dynamic information within a
Grid/Federation in a scalable way. As shown in
Figure 3, a user with a special role of VO
administrator can setup a VO (e.g. VO-X)
within the Registry Service by inserting the
users, resources, metadata and policies required
for an inter-institutional collaboration.
2.2 An Alternative Approach
Following initial investigations with Shibboleth
and Grid computing, we propose an approach
where users access a Grid resource protected by
a Shibboleth SP, using their traditional proxy
certificate carrying the users' DN. Having the
DN, SPs have the authoritative information
about the users' IdP. Using a DN -> AA
mapping provided by a Registry Service (at the
Grid/Federation level), the SP can obtain the
required information about the AA to fetch the
necessary attributes about the user, as can be
seeen in Figure 2.
Figure 3 – ESP-Grid Complex Architecture.
A WAYF-like feature during the proxy
certificate generation would benefit immensely
any of the approaches, as it may address the
problem of multi-identities (e.g. users with
affiliation to more than one institution; users
with multiple roles in one institution), very
common in Grid environments. During this
process, the users might be asked about which
identity they are willing to use for a given Grid
session.
Identity has been a requirement of Grid
environments. This requirement doesn't have to
(and probably will not) be maintained in the
future. Although it might be possible to create a
layer of indirection at the Registry Service in
order to provide anonymity, this will make the
architecture much more complex, since the
Registry Service has to be in sync with all AAs
in the Federation. This possible direction of
work deserves further thought.
3. N-Tier Authentication Problem
Figure 5 – Grid Use Case.
SAML 2.0 is coming with a specification of
the Enhanced Client or Proxy (ECP) Profile,
missing in the current version 1.3 of Shibboleth.
Shibboleth 2.0 will come with an
implementation of ECP Profile, which will
addresses this requirement for
n-tier
authentication environments.
Portals and Grid environments normally require
the identity of the user to be travelling
(delegated) across multiple tiers in a machine to
machine interaction. These advanced scenarios
create the need to have entities in the middle of
the architecture acting as a proxy, posing a
security challenge, also know as the n-tier
authentication problem [33, 34].
Figure 4 – The N-Tier AuthZ Problem (Portal
Use Case).
As shown in Figure 4, this use case has a
user behind a Browser identifying her/him self
against a Portal. Beyond that point all access to
protected Resources/Services are proxied on
behalf of the user. User credentials are
delegated to the n-tier and all the entities
involved (including the user) have to trust that
no one is misbehaving somewhere in the chain.
Grid environments are not much different of
Portal environments, if we take out the first 2
tiers (since a Grid session does not normally
require a Web Browser, as shown in Figure 5).
Shibboleth does not presently have an
answer for these environments requiring n-tier
authentication. Shibboleth uses SAML [35] to
exchange authentication and authorization
assertions. These assertions can be used to
delegate user identity (or even credentials) to
the n-tier in a trusted and secure way.
Figure 6 – Advanced Grid Use Case.
Figure 6 shows an advanced Grid use case
taking advantage of the upcoming ECP Profile
to delegate credentials initially passed from the
Grid Application to the Job Manager, and next
to the Protected Resources/Services.
4. Discussion
Both our and GridShib approaches require
changes on Grid and/or Shibboleth software
components and, at some extent, on their
architectures. However, since Shibboleth was
designed for Web-based applications, these
changes were required anyway due to the
differences between the Web and the Grid
infrastructures.
GridShib approaches require changes at the
Shibboleth SP component and at the Shibboleth
architecture. They also require changes at the
Grid
client
components
during
the
authentication phase, with implications at the
Grid architecture.
Our approach requires changes at the
Shibboleth SP and an extra Registration Service
at the Federation level. This service could turn
to be an advantage, as there is a gap in the
Shibboleth architecture to manage the
Federation metadata, and a registry would be a
suitable candidate. Moreover, in terms of VO
management, the Registry Service could also be
shibbolized in order to ease access to the VO
administrators.
This document aims to show a feasible
approach for Shibboleth and Grid integration,
and also for exploring other possible directions
of work.
References
[1] Global Grid Forum, http://www.gridforum.
org/.
[2] Open Grid Services Infrastructure Working
Group, http://forge.gridforum.org/projects/ogsiwg/.
[3] Open Grid Services Infrastructure
Specification, http://forge.gridforum.org/
projects/ogsi-wg/doc-uments/Final_OGSI_
Specification_V1.0/en/1/Final_OGSI_
Specification_V1.0.pdf.
[4] The Globus Toolkit uses the Grid Security
Infrastructure (GSI), http://www-unix.globus.
org/toolkit/docs/3.2/security.html.
[5] The Grid: past, present, future, F. Berman,
G. C. Fox and A. J. G. Hey.
[6] The Grid: A new infrastructure for 21st
century science, I. Foster.
[7] The evolution of the Grid, D. De Roure, M.
A. Baker, N. R. Jennings and N. R. Shadbolt.
[8] The anatomy of the Grid, I. Foster, C.
Kesselman and S. Tuecke.
[9] The physiology of the Grid, I. Foster, C.
Kesselman, J. M. Nick and S. Tuecke.
[10] The data deluge: an e-Science perspective,
T. Hey and A. Trefethen.
[11] Grids in Context, L. Smarr.
[12] The Globus Alliance, http://www.globus.
org/.
[13] Grid Computing - On demand series, J.
Joseph and C. Fellenstein.
[14] An Online Credential Repository for the
Grid: MyProxy, J. Novotny, S. Tuecke and V.
Welch.
[15] Federated Security: The Shibboleth
Approach, R. L. "Bob" Morgan, S. Cantor, S.
Carmody, W. Hoehn and K. Klingenstein.
[16] Which PKI (public key infrastructure) is
the right one?, C. Adams, M. Burmester, Y.
Desmedt, M Reiter and P. Zimmermann.
[17] EU DataGrid and GridPP Authorization
and Access Control, L. Cornwall, J. Jensen, and
D. Kelsey.
[18] An Authorisation Interface for the GRID,
D. W. Chadwick.
[19] Bridges: Security Focused Integration of
Distributed Biomedical Data, R. Sinnott, D.
Gilbert, D. Berry, E. Hunt and M. Atkinson.
[20] GRID Authorization Framework for
CCLRC Data Portal, A. Manandhar, G.
Drinkwater, R. Tyer and K. Kleese.
[21] Security and confidentiality approach for
the Clinical E-Science Framework (CLEF), D.
Kalra, P. Singleton, D. Ingram, J. Milan, J.
MacKay and D. Detmer.
[22] Access Control for Dynamic Virtual
Organisations, D. Russell, P. Dew and K.
Djemame.
[23] Removing digital certificates from the enduser's experience of Grid environments, B.
Beckles.
[24] Policy Management Authority Model
Charter, R. Cowles.
[25] Grid Authentication Authorization and
Accounting Requirements Research Document,
S. Mullen, M. Crawford, M. Lorch and D.
Skow.
[26] Conceptual Grid Authorization Framework
and Classification, M. Lorch, B. Cowles, R.
Baker, L. Gommans, P. Madsen, A. McNab, L.
Ramakrishnan, K. Sankar, D. Skow and M.
Thompson.
[27] Security Implications of Typical Grid
Computing Usage Scenarios, M. Humphrey and
M. Thompson.
[28] An Analysis of the UNICORE Security
Model, T. Goss-Walter, R. Letz, T. Kentemich,
H.-C. Hoppe and P. Wieder.
[29] GridShib, A Policy Controlled Attribute
Framework, http://grid.ncsa.uiuc.edu/GridShib/.
[30] Attributes, Anonymity, and Access:
Shibboleth and Globus Integration to Facilitate
Grid Collaboration, V. Welsh, T. Barton, K.
Keahey and F. Siebenlist.
[31] ESP-Grid, Evaluation of Shibboleth and
PKI for Grids, http://e-science.ox.ac.uk/ oesc/
projects/ index.xml.ID=body.1_div.20.
[32] Using the VOM portal to manage policy
within Globus Toolkit, A. Saleem, M. Krznari,
J. Cohen, S. Newhouse and J. Darlington.
[33] Trusted Delegation of Privileges in an NTier Environment, Chad La Joie,
http://middleware.internet2.edu/webiso/docs/dra
ft-lajoie-trust_and_delegation-02.html
[34] Delegation/Intermediaries use case model,
RL “Bob” Morgan, http://staff.washington.edu/
rlmorgan/ misc/draft-morgan-sstc-delegationmodel-00.pdf.
[35] Profiles for the OASIS Security Assertion
Markup Language (SAML) V2.0, OASIS,
http://docs.oasis-open.org/security/saml/ v2.0/
saml-profiles-2.0-os.pdf.
Download