(All sections must be completed) Cover Sheet for Proposals

Cover Sheet for Proposals
(All sections must be completed)
JISC Capital Programme
Name of Capital Programme: e-Infrastructure
Programme Strand:
(Please tick ONE BOX ONLY, as appropriate)
e-Research Community Engagement & Support
…
Call I – Barriers to Take-Up
of e-Infrastructure Services
…
Call II – Support for Research:
Tools & Standards
e-Infrastructure Security
Call V – Virtual Organisation
Management Tools and
Services
9 a) Integration of Grid and
Shibboleth
… a) Tools for the
establishment of VOs
… b) Developing and
… b) Services and UIs for
Applying n-tier Web Service
Architectures
management of VOs
… c) Federation membership
… c) Applying existing
Call III – Use Cases and
Service Usage Models
Knowledge Organisation
and Semantic Services
Call IV – Federated Tools
and Services
models for VOs
Call VI – Sematically
Coordinating Resources and
Services Across Registries
… a) Area A – integration of
Resources and Services from
Existing JISC Services
… b) Area B – Metadata for
Services, Data, and Published
Literature
… d) Delegated
virtual home for identity
solutions
Name of Lead Institution:
…
authorisation
University of Kent
Name of Proposed Project: Shib-Grid Integrated Authorization (Shintau)
Name(s) of Project Partner(s): Offers of support have been received from several international
projects and experts – see letters of support from: Internet 2, SWITCH, Globus, Manchester Uni
Full Contact Details for Primary Contact:
Name: David Chadwick
Position: Professor of Information Systems Security
Email:[email protected]
Address: Computing Laboratory, University of Kent, Canterbury, CT2 7NF
Tel: 01227 823221
Fax: 01227 762 811
Length of Project:
25 months
Project Start Date:
1 March 2007
Project End Date:
Total Funding Requested from JISC:
31 March 2009
£183,012
Funding Broken Down over Financial Years (April - March):
Apr06 – Mar07
£2,705
Total Institutional Contributions:
Apr07 – Mar08
£21,057
Apr08 – Mar09
£159,250
£45,753 plus international experts
1
Percentage Contributions over the
Life of the Project:
NOTE. UK Partners Only
JISC
PARTNERS
80%
20%
Outline Project Description
Integration of grids and Shibboleth is being hampered because a users attributes are typically
held in different locations, under different identifiers, and there is no coherent way of collecting
them together and validating that they all belong to the same user so that they can be used for
authorization of the user’s request.
The first objective of this project is to work with the international community, primarily the
Internet2 consortium and the Globus Consortium, but including SWITCH, TERENA and others,
to develop the Shibboleth protocol specifications, based on SAMLv2 and other protocols, that
will allow a Shibboleth service provider (SP) to collect together a user’s attributes from multiple
authorities, whilst preserving the user’s privacy, so that the aggregated attributes can be used to
authorise the user’s request. This will significantly ease the integration of Shibboleth with grids.
However, the resulting attribute aggregation protocol will be of benefit to any Shibboleth
enabled SP be it a web service, a grid service, or a conventional Shibboleth SP etc.
The second objective is to build a Policy Information Point (the nAA-PIP) that will evaluate
the collected attributes (or credentials) according to the configured trust policy of the Service
Provider (SP) and will return the valid set of attributes to the SP’s Policy Enforcement Point
(PEP). The PEP can then pass the complete set of validated and aggregated attributes to a
conventional Policy Decision Point (PDP) for it to make access control decisions. The nAA-PIP
will be fully standards conformant, and will be called by the SP through either the standard web
services protocol that is being defined by the OGSA-Authz WG [8] or by a Java API that is
already implemented in Globus Toolkit and is also due to be published by the OGSA-Authz
WG.
The third objective is to implement the aggregation protocol within the nAA-PIP so that it is
capable of collecting the attributes itself from the multiple authorities, prior to validation.
The fourth objective is to build a pilot demonstrator for the National Grid Service that will
show how attributes from multiple AAs can be integrated together and used in authorisation
decision making at grid sites that use shibboleth IdPs.
The final objective is to release all the developed software as open source code through
NMI/OMII to the community at large, with a full set of specifications and documentation.
I have looked at the example FOI form at
Appendix A and included an FOI form in
the attached bid (Tick Box)
I have read the Circular and associated
Terms and Conditions of Grant at
Appendix B (Tick Box)
YES
NO
YES
NO
9
9
2
Shib-Grid Integrated Authorization (Shintau)
1. Introduction
1.1 The Shibboleth infrastructure works on the assumption that a user’s home institution will both
authenticate the user and provide the user’s attributes for authorisation. This assumption is valid in
Shibboleth’s primary application areas, for example, obtaining publications from Elsevier. The
user’s home institution (or identity provider – IdP) has a long term relationship with the user, and
with the Shibboleth service providers (SPs). The home institution stores the user’s long term
attributes in its central databases. These attributes include such things as: name, date of birth,
department, salary scale point, login id etc. and a selection of these, such as
eduPersonPrimaryAffiliation, can be made available to Shibboleth SPs for authorisation. The user’s
home institution typically does not store the user’s short term attributes that change on a day to day
basis1, as the administrative effort to maintain these would be prohibitively expensive. Nor does the
user’s home institution typically store authorisation attributes needed for access to the remote
resources of virtual organisations (VOs) and research groups etc. since it is not authoritative for
these.
1.2 Virtual organisations (VOs) are often much more dynamic and much shorter lived than a user’s
affiliation to his home institution. In fact, we are trying to move towards the situation where VOs
can be dynamically created and destroyed with a minimum of effort, and may last for less than a
day. The management of these VOs must be delegated to the people who are part of them. It is
inconceivable to think that a university’s central administration would be responsible for adding
attributes about a user’s VO memberships to its central databases on a daily basis. Consequently
tools such as VOMS [10] have been introduced which allow a VO manager to create his own
database and to record in there the attributes of the various VO members. Unfortunately, when
Grids and Shibboleth are attempted to be linked together we hit the problem that some attributes are
in the user’s home institution and some are in the VO database, and both are needed for
authorisation. SWITCH has already recognised this problem, as has the MAMS project in Australia
and GridShib in the USA. SWITCH is now working on a solution for adding Shibboleth attributes
into VOMS2. However, this includes only two attribute sources. SWITCH does not plan to add
support for more attribute sources within the time scale of their work in EGEE-II. The GridShib
solution is worse, and only uses attributes from the Shibboleth IdP (see section 1.7). However,
limiting the problem domain to just one or two attribute authorities is short term thinking and does
not provide a complete or general enough solution to the problem space. For example, medical grids
already need to consider attributes from other authorities, such as the General Medical Council
(GMC) which issues GP attributes to doctors. When asked by the author at the recent OGF18
Shibboleth Development BOF meeting in Washington when SWITCH would extend their model to
3 or more attribute authorities, they did not have an answer. But we need one now, and this project
proposes it.
1.3 The author and Nate Klingenstein from Internet 2 (amongst others) have been thinking about
this problem space for a year or more already. We want to enhance Shibboleth so that it is capable
of fully satisfying the authorisation requirements of grids and VOs, by being capable of accepting
attributes from multiple attribute authorities including the user’s IdP, VO management authority,
professional society, financial authority and any other relevant authority required by the SP, so that
integration with Grids will be much easier to accomplish, and much more flexible than now. The
author’s first proposed protocol for this is based on a profile of SAMLv2 and was published at the
2006 Wet-Ice conference [1]. This protocol, which is based on the SP interacting with various web
services and pulling the user’s attributes (see Figure 1), puts the user in full control of linking
1
We are not including application generated short term attributes in this discussion, such as time of login,
which are automatically created and deleted by applications during their normal operations.
2
Presentation given by Christoph Witzig at OGF meeting in Washington. See
http://grid.ncsa.uiuc.edu/events/ggf18-shib-bof/060911_witzig_GGF18.pdf
3
together his various attributes held by the various authorities, whilst retaining privacy protection for
the user, since no single authority on its own is able to link the different identities and attributes of
the user together. Since then the author has had discussions with Von Welch and others, and has a
revised model that includes greater privacy protection, so that the attribute authorities are not able to
collude between themselves to link the user’s attributes together. This is similar to Microsoft’s
CardSpace (formerly InfoCard) scheme [14].
1.4 Nate Klingenstein has also recently written a paper [12] that collects together all the various
models that have been proposed, and that can accommodate most conceivable configurations
including proxies and gateways. Many of these models are based on attribute push using redirects
via the user’s browser, see Figure 2.
1.5 In this project we propose to work with acknowledged international experts in this area in order
to agree upon a SAMLv2 profile, along with other supporting protocols as necessary, for collecting
attributes from multiple authorities that will be using Shibboleth developed by the Internet2
consortium. We will then build a new open source Policy Information Point (PIP), which we call
the nAA-PIP, which will be capable of receiving the different attribute assertions from the different
authorities and merging them all together, ready for passing to the PDP for authorisation decision
making. The nAA-PIP will have two standard interfaces for plugging into any web service and grid
environment, both based on the work of the OGF OGSA Authz working group. One interface will
be a Java API, the other, a protocol for carrying SAML attribute assertions.
1.6 It is not yet clear whether the SAMLv2 profile will be a push or pull protocol, or whether it will
specify both, one for pulling attributes, the other for pushing them. (A SAML profile is composed
of multiple protocols which themselves have bindings.) Both push and pull have their advantages
and disadvantages. Either way, the elegance of our proposal is that in both cases it does not need to
alter the integration or configuration of existing PDPs at the SP site. Existing PDPs such as
PERMIS [11] or XACML [9] can be used as is with their existing interfaces. But they will now be
given a richer set of user attributes, validated by the nAA-PIP, from which to make more effective
access control decisions. Furthermore, our proposal does not need to alter the integration work
being done at Manchester University in the SHEBANGS project, since SHEBANGS is primarily
concerned with enabling Shibboleth authentication for grids. Our work will complement that of
SHEBANGS by providing a Shibboleth multiple AA collection mechanism that will take over after
SHEBANGS authentication has finished and prior to PDP decision making taking place. However,
as noted in the FUSINGS proposal from Wallom and Pickles, standard Shibboleth mechanisms
cannot work in scenarios where the user’s web browser is not available. Therefore FUSINGS
proposes to build a multi-IdP collection client based on the protocols specified in this proposal, and
to insert this bag of credentials3 into a VOMS proxy certificate, for pushing to the nAA-PIP for
validation. FUSINGS therefore complements our proposal perfectly, and will implement the
protocols we define in WP1, and push the result to the nAA-PIP that we will build in WP2.
1.7 Note that our work is likely to replace the GridShib PIP module provided for Globus Toolkitv4
by the GridShib project, since this module has a number of limitations as described in [5]. In
particular it does not provide pseudonymous access, it is not scalable, and it only supports a single
attribute authority. Our new nAA-PIP will be a compatible direct replacement for the GridShib PIP
and will resolve all of its limitations (and more).
2. Outline Design
2.1 How will it work? Conceptually it will not be very different to how Shibboleth works today.
After user authentication, the user’s home IdP will return an identifier of the user (sometimes called
a handle) plus a URL/EPR to contact to pick up the user’s attributes/ credentials. In the pull model
this information is passed to the nAA-PIP and it performs the attribute/credential collection and
validation. In the push model, the SP contacts the URL/EPR and is returned the first set of
3
The difference between an attribute, an attribute assertion and a credential, is as follows: an attribute
assertion is an assertion made by some authority that a user has a particular attribute, whilst a credentials is an
attribute assertion digitally signed by the asserting authority.
4
attributes/credentials, optionally along with another URL/EPR to contact to get some more. After
collecting all the attributes/credentials together, this bag of credentials is pushed to the nAA-PIP for
validation. Figures 1 and 2 present schematic diagrams of the proposed architecture and message
flows for the pull and push models respectively. A hybrid is also possible (not shown) in which the
SP will accept the first assertion through push and retrieve additional information through pull. The
first protocol exchange that occurs in all cases is the Shibboleth authentication protocol exchange
between the user’s IdP and the SP’s PEP (which can be Apache, GT4, OMII web service etc).
2.2 The design and implementation of the authentication protocol is being carried out under the
Shebangs project (amongst others) and it can be extremely complex with many different entities
involved e.g. CTS, MyProxy, WAYF, onlineCA etc. and multiple message exchanges. We have
simplified this complex set of exchanges into a single arrow labelled Authn protocol in the figures,
since how the authentication occurs is largely immaterial to this project. This is not to minimise its
complexity, but rather to show that all we care about is the outcome rather than how it happens.
After authentication has finished, the SP is eventually given just two things: (i) the authenticated
identity or handle of the user, and (ii) the URL or End Point Reference (EPR) of the attribute
authority to contact for the user’s attributes. (Note in SAMLv2 the URL/EPR might be replaced by
a set of attributes, or a set of attributes plus a URL/EPR. We cannot say for definite which it will be
at this point in time.) What happens next depends upon what is returned and whether the SP will
work in push or pull mode. If only attributes are returned then the protocol exchange is finished and
these credentials are given to the nAA-PIP for validation.
2.3 If a URL/EPR is returned and the SP is working in pull mode, these are given to the new n-AA
PIP so that it knows who to contact (obtained from the URL/EPR) and which user ID to quote in
order to obtain the first set of user attributes held by the IdP. Note that this user ID can be a one
time handle or a permanent ID, it is immaterial to the model and the protocol which it is. Note also
that this information is already returned today in the existing Shibboleth protocol, so all we need to
ensure is that the PEP can pass this unaltered to the nAA-PIP. This feature has already been built
into the existing OGSA-Authz protocol by the author [13]. Once the nAA-PIP has the first
URL/EPR, the profile developed in this project will specify how the different IdPs are subsequently
contacted and the attributes collected. The net result will be a collection of attributes for the user
5
issued by different IdPs. The nAA-PIP will validate these and pass the valid ones back to the PEP.
Note that Liberty Alliance Web Service Framework Specifications (ID-WSF) defines standards for
much of this [16].
2.4 If a URL/EPR is returned and the SP is working in push mode, it will redirect the browser to
this URL/EPR for it to start the attribute collection process, according to the profile that will be
defined. The net result will be a set of attributes issued by different IdPs, returned to the SP that it
will forward to the nAA-PIP for validation. ID-WSF describes a framework for doing this with
wsf:Endpoint references.
2.5 Note that a feature of the protocol design will be that the IdPs do not need to know or care who
the requestor is i.e. whether it is the user or the nAA-PIP that is requesting the attributes from them.
All the IdPs need to know is that in either case the ultimate consumer of the attributes is the SP.
This is actually remarkably easily to achieve, by requiring each IdP to encrypt the user’s private
attributes so that only the SP can decrypt them, whilst returning the user’s public attributes in the
clear. If the SP/nAA-PIP is genuine it will have access to the decryption key, otherwise the private
attributes will remain locked. Theft of credentials by another user is prevented by including some
holder ID linking information inside the encrypted credential, such as the initial handle used at
authentication time. The precise details of this will be defined in this project.
2.6 The PEP will contact the nAA-PIP via one of two different interfaces. Both of these are
currently being specified by the OGF OGSA-Authz working group. The first is a Java PIP interface,
org.globus.wsrf.security.authorization.PIP, designed to be used by Java applications, and currently
supported by GT4. The second is a web services PIP protocol specification designed to be used by
any web service. The current version is based on SAML messages carried by WS-Trust [8]. (WSTrust is the protocol used by Microsoft’s CardSpace/InfoCard.) Both interfaces return essentially
the same thing, which is a set of XACML formatted subject attributes [9] ready for placing in an
XACML request context. Once the resource, environment and action attributes are added to the
XACML request context it can be passed to an existing PDP in order for an access control decision
to be made. We are already working closely with the OGSA-Authz working group to ensure that the
PIP protocol is completed in a timely manner ready to be implemented in this project.
6
2.7 The main innovative work in this project is the definition of SAML2 profile(s) and other
protocols that will allow the user or the SP or the nAA-PIP to collect the multiple attributes from
the multiple authorities, and the building of the nAA-PIP to parse and validate them according to
the SP’s policy, ready for the PDP to make the access control decisions with the validated attributes.
Note that in both the push and pull modes the user is ultimately responsible for enabling the
attribute aggregation to take place, by linking his IDs together in some way. In order to link his IDs
the user must contact all the IdPs, either dynamically during attribute collection (push mode) or as a
one-off prior to collection (pull mode). Without the user’s permission and explicit linking of IDs,
attribute aggregation cannot take place because the user is potentially known by different identities
in the different IdPs, and only the user knows what these different IDs are. The precise mechanism
to support the ID linking will be specified as part of this project, and may be transient or permanent,
and may use the user’s actual ID or a pseudonym. To this end we will work closely with the
Internet2 consortium, and other international experts, and we have letters of support from them
attached to this proposal.
2.8. Once the nAA-PIP has collected together or been given the various attribute assertions, they
will be validated according to its attribute aggregation policy (or trust rules), that are written by the
Service Provider. Examples of such trust/policy rules are: the SP trusts the GMC to issue GP
attributes, the IEEE to issue IEEE membership attributes, the user’s home IdP to issue
eduPersonPrimaryAffiliation attributes, and the VO Manager to issue VO membership and project
role attributes. Configured with the appropriate policy, the nAA-PIP will validate the various
attribute assertions that are returned and will return only the valid attributes to the PEP in the form
of XACML formatted attributes. The PEP can then subsequently call any PDP that supports the
XACML request/response protocol [15] in order for it to make an access control decision for this
user, based on the complete set of attributes obtained from the different authorities.
3. Aims and Objectives
3.1 The first objective of this project is to work with the international community, primarily the
Internet2 consortium and the Globus Consortium, but including SWITCH, TERENA and others, to
develop the Shibboleth protocol specifications, based on SAMLv2 and other protocols, that will
allow a Shibboleth service provider (SP) to collect together a user’s attributes from multiple
authorities, whilst preserving the user’s privacy, so that the aggregated attributes can be used to
authorise the user’s request. This will significantly ease the integration of Shibboleth with grids.
However, the resulting attribute aggregation protocol will be of benefit to any Shibboleth enabled
SP be it a web service, a grid service, or a conventional Shibboleth SP etc.
3.2 The second objective is to build a Policy Information Point (the nAA-PIP) that will evaluate the
collected attributes (or credentials) according to the configured trust policy of the Service Provider
(SP) and will return the valid set of attributes to the SP’s Policy Enforcement Point (PEP). The PEP
can then pass the complete set of validated and aggregated attributes to a conventional Policy
Decision Point (PDP) for it to make access control decisions. The nAA-PIP will be fully standards
conformant, and will be called by the SP through either the standard web services protocol that is
being defined by the OGSA-Authz WG [8] or by a Java API that is already implemented in Globus
Toolkit and is also due to be published by the OGSA-Authz WG.
3.3 The third objective is to implement the aggregation protocol within the nAA-PIP so that it is
capable of collecting the attributes itself from the multiple authorities, prior to validation.
3.4 The fourth objective is to build a pilot demonstrator for the National Grid Service that will show
how attributes from multiple AAs can be integrated together and used in authorisation decision
making at grid sites that use shibboleth IdPs.
3.5 The final objective is to release all the developed software as open source code through
NMI/OMII to the community at large, with a full set of specifications and documentation.
7
4. Work Packages
4.1 The primary functionality of the nAA-PIP already exists in PERMIS, and it is called the
Credential Validation Service (CVS) which is configurable with its own policy. The CVS in
PERMIS is capable of pulling multiple credentials (X.509 ACs) from multiple external LDAP
repositories. Consequently no significant changes will need to be made to the CVS conceptual
design. Rather incremental changes are needed, such as replacing the LDAP protocol with the
protocol defined in this proposal, replacing the identifiers of the IdPs from LDAP distinguished
names to URL/EPRs; and support for XML signatures, SAML assertions and credential encryption.
It is currently not known if either the pull and push profiles will be specified, or both. However, the
FUSINGS project is proposing to implement the push protocol in its front end. Consequently our
project plan is designed in an incremental fashion with the push version being produced first
followed by the pull version which builds upon it.
WP1. Work with Internet2 Consortium to define SAMLv2 profile(s)
This WP will form the core intellectual challenge of this project, and will specify the SAMLv2 profile
and other protocols that are needed for aggregating attributes from multiple IdPs. Whilst the effort in this
WP is relatively small from Kent, the timescale and total effort is much larger, due to the input by global
experts and the number of draft protocol versions that will need to be specified and reviewed before final
acceptance. Some international travel will also be required.
Task 1.1 Gather requirements from Grid and Shibboleth users internationally. This will be achieved by
creating a questionnaire and circulating it (possibly via TERENA) to all the European NRENS, and via
Intenet2 to US institutions.
Task 1.2. Specify push and/or pull profiles. Circulate for comment and review. Update and re-circulate
until a final version is agreed.
Effort: 2 man months (Kent). Est. 6 man months from International Community.
Deliverables
D1.1 The SAMLv2 profile as Internet2 best practice or OGF specifications
D1.2 A paper to an international conference describing the profiles to the research community.
Note. Both of the above are expected to have multiple authors from the international community
WP2. Modify the PERMIS CVS to accept pushed attribute assertions with different user IDs
Modify the PERMIS CVS to be able to aggregate and validate user attributes that have different
identities for the same holder, and that are optionally encrypted and in the format to be specified in the
new profile. Modify the PERMIS policy validation rules if necessary to accept new SOA identifiers, so
that the CVS is able to validate these attributes. Create a new type of attribute repository object that
accepts attribute assertions in the new format, and returns them in the existing internal PERMIS format,
using new credential parser, credential decipher and signature verifier objects. Create a new credential
parser object that can parse credentials in the new SAMLv2 format. Create a new credential decoder that
can decipher encrypted tokens. Create a new signature verifier object that can validate XML signatures.
Build a test driver. Document the new modules, thoroughly test them with the driver, integrate them with
PERMIS and then perform regression tests on the build. Build new regression tests for the new features
and add them to the PERMIS regression test suite.
Effort: 9 man months (Kent)
Deliverables
D2.1 The nAA-PIP that supports the push mode of attribute aggregation with optionally signed and
encrypted SAML assertions
WP3. Modify the nAA-PIP to pull attribute assertions using the new pull profile
Modify the repository object created in WP2 to encapsulate a “collector” object that talks the new
SAMLv2 pull profile and protocols to collect and store the attribute assertions issued by the various IdPs.
This may require the collector object to perform assertion decryption followed by ID mappings during
the protocol conversations. Document the new module, thoroughly test it, integrate it with PERMIS and
then perform regression tests on the build. Build new regression tests for the new features and add them
to the regression test suite. Note. This WP will require a new IdP that supports the new protocol to
8
respond to the requests from the CVS. If none is available we will need to build a test IdP as part of this
WP.
Effort: 4 man months
Deliverables
D3.1 The nAA-PIP that supports the pull mode of attribute aggregation.
WP4. Integrate with the Internet2 Shibboleth 2 Java SP implementation for Apache SP
The next version of the Internet 2 SP software is being written in Java. We will incorporate our collector
object from WP3 into this, and modify our mod_permis Apache module (developed under the JISC
funded SIPS project) to pick up the attributes from the collector object and push them to the backend
nAA-PIP developed in WP2.
Effort: 2 man months
Deliverables
D4.1 A modified mod_permis for Apache that picks up the collection of attributes and pushes them to
the backend PERMIS nAA-PIP and PDP.
WP5. Integrate with GT4
We will enhance Globus Toolkit to support both the push and pull models. The FUSINGS project from
Manchester (Wallom and Pickles) will build the proxy certificate with pushed VOMS assertions.
Alternatively the user’s submission can embed the URL of the first IdP (pull model). The nAA-PIP will
then extract this information from the request context and behave appropriately. (It might be possible in
a carefully crafted solution to support both pull and push simultaneously, if the proxy certificate contains
both embedded attributes and one or more URLs. This is part of the current OGSI-Authz protocol and
design [13]).
Effort: 2 man months
Deliverables
D5.1 An enhanced Globus Toolkit with a customizable nAA-PIP
WP6. Integrate with OMII
This will be the basis of a separate bid to OMII (UK) for funding if the current proposal is funded by
JISC.
WP7. Application demonstrator
Using an existing UK e-Science grid project we will work with them to demonstrate the effectiveness of
the nAA-PIP. The reason that the application demonstrator has not been selected today, is that very few
Grid projects that are currently funded will still be running in March 2009. However, we do not doubt
that there will be a suitable application demonstrator available in 2 years time, that we will be able to
recruit to this project. (A candidate is the follow on project to Manchester University’s PsyGrid which is
due to complete in October 2008). For this reason we are including a contingency cost of 4mm that we
will subcontract to a third party for them to use to pilot our software in their application during the last
months of this project.
Effort: 2 man months (Kent) 4 man months (Subcontractor)
Deliverables
D7.1 A working demonstration of the nAA-PIP in a current Grid project that will retrieve attributes from
at least 3 IdPs.
WP8. Dissemination
Build a project web site at the beginning of the project and add pointers to it from other web sites such as
PERMIS, Internet2 and GT. Publish working drafts of the profile on the site. Solicit input. Package the
final software for Open Source Release (BSD license) along with Globus Toolkit for release with the
NMI. Produce user friendly documentation, installation guides and tools.
Effort: 3 man months (Kent)
Deliverables
D8.1 The integrated software packaged with GT4, released as binaries and open source
D8.2. User, developer and administrator documentation for the package including information needed
for its support in a Shibboleth-enabled environment
9
D8.3 A paper for an international conference or journal publicizing the work
D8.4 Final report to JISC
.
Shintau Gantt Chart
Task
WP1 Define
Protocol
WP8 Dissemination
M1
M2
M3
M14
April 2007
M15 M16
M4
M5
M6
M7
M8
M9
M10
M11
M12
M13
April
2008
M17
M18
M19
M20
M21
M22
M23
M24
M25
WP2 Push nAA-PIP
WP3 Pull nAA-PIP
WP4 Apache
WP5 GT4
WP7 Demonstrator
WP8 Dissemination
April 2008
April 2009
5. Budget and Value for Money
Note that the following budget does not include the cost of the international experts, whose
expertise will be provided without charge to this project. Thus the actual cost will be higher and the
contribution from JISC will be lower than the figures presented below.
March 07
Apr 07– Mar
Apr 08– Mar
TOTAL £
08
09
Directly Incurred Staff at Kent
Total Staff (A)
Non-Staff at Kent
Travel
Consumables
Laptop & PC
Subcontracting (4mm+overheads)
Total Non-Staff (B)
Directly Incurred Total
(A+B=C)
Directly Allocated
0
91,379
91,379
4,000
750
2,000
750
2,000
4,750
30,000
2,750
6,000
1,500
2,000
30,000
39,500
2,000
4,750
94,129
130,879
Directly Allocated Total (D)
Indirect Costs (E)
1,029
352
13,366
8,206
22,700
52,233
37,095
60,791
Total Project Cost
Amount Requested from JISC
Institutional Contributions
3,381
2,705
676
26,322
21,058
5264
199,062
159,250
39,812
228,765
183,012
45,753
Percentage Contributions over
the life of the project
0
2,000
JISC
80 %
10
UK Partner
20 %
Total
100%
5.1 Kent are uniquely placed to perform this project for several reasons. Professor Chadwick has an
established reputation for providing leading edge security solutions, both conceptually through
research publications and materially through usable open source software products. Furthermore,
the existing PERMIS software already includes an open source standards conformant
implementation of an nAA-PIP, although it has some limitations and variances from the one being
proposed here. (It uses LDAP for pulling attributes rather than SAML; the attributes have to be
encoded as X.509 attribute certificates rather than SAML attribute assertions; it does not support
encrypted attributes; it can accept attributes from multiple providers but users have to be identified
by their globally unique LDAP distinguished names at each IdP.) The main innovation in this
project is to allow users to use different unrelated identities at each IdP. Due to PERMIS’s modular
construction, it is only an incremental task to build all the new features being proposed in this
project into the current product. As is our current practice with the PERMIS code, all the code will
be released as both open source code under the BSD license and ready to run binaries.
6. Risk Assessment
6.1 Reliance on other projects. I) We are reliant on the Internet2 consortium agreeing in a timely
manner to the SAMLv2 profile we define. This is only low risk, since we have a strong letter of support
from them, plus one of their staff members, Nate Klingenstein, has committed to participate in the work,
plus there is a large international momentum to solve the problem in a timely manner. The impact is
only small to medium, since we can start to implement the nAA-PIP before the protocol is finalised.
Contingency. We will implement the latest version of the profile that is available by the cut off date of
April 2008. We will migrate to the final version during the final year of the project. This is not so serious
since the protocol is only needed when we implement the pull mode in WP3 in month 19. The worst
case scenario would be that after the project is finished there are still some minor modifications to be
made to the software to make it conformant to the final protocol specification. II) We are reliant on the
Internet2 consortium implementing Shibboleth 2 SP in Java. This is already in development and is
unofficially scheduled for release in Spring 2007. The risk is therefore low as we do not need it until
September 2007. Failure to deliver is only low to medium impact because we can still do the GT4 and
OMII integrations without it. III) We are partially reliant on the OGF completing the specification of the
2nd generation OGSA AuthZ protocols. This is medium risk, but low impact. Contingency. As the PI is
joint chair of the OGSA AuthZ WG and editor of the specifications he can have some influence over the
production of the second generation AuthZ protocol specifications in a timely manner. If OGSA-Authz
do not specify the protocols in time, we have a fallback strategy of performing the integration and
demonstrator using the existing 1st generation Authz protocol or, for GT4, the existing Java interface,
both of which are already implemented and proven.
6.2 Beating the March 2009 Deadline. This is a hard deadline for JISC by which date all projects must
be finished. This is high risk due to its reliance on WP1 and external factors, and high impact since
money can be withheld from the project team. It is therefore essential that this risk is mitigated
successfully. Contingency. In order to offset this risk, Prof Chadwick and Nate Klingenstein have been
working on WP1 since October 2006, so that if/once the project is funded, WP1 will have been running
for 6 months. This should be a significant factor in helping to reduce this risk and may in fact mean that
we can finish WP1 early.
6.3 Project Management. This is the number one critical success factor in any project. Failures in
project management can lead to total project failures, so the impact is potentially very high. However
this is low risk to this project due to the track record of Prof Chadwick, who has successfully completed
over 25 IT R&D projects to date.
6.4 Staffing problems. Staff are always the second most important critical success factor in any project,
and the impact of staffing failures is potentially very high. In order to avoid staffing problems, we have
scheduled this project so that the bulk of the technical implementation work starts in month 14, which is
after the technical implementations have completed in the companion VPMan and nDoA proposals. This
means that, subject to the other projects being funded, we will have several highly skilled and
experienced staff who will be able to work on this project and whose learning curves will be minimal.
This means that the time to implement this proposal can be reduced from the plan by running more tasks
in parallel. If the other projects are not funded we would probably need to recruit at least one new staff
member for this project.
11
7. Impact and Sustainability
7.1. This project will have a major international impact, because R&D groups the world over who
are currently experimenting with Shibboleth and grids are hitting the problem identified in this
proposal. An internationally standardized solution is required, and this proposal suggests how one
can be arrived at. It has the support of major international players, notably Internet 2 and Globus
Consortium, and the offers of internationally recognized experts to help in the formation of the
solution. This project will serve to confirm to the world that the UK is a leading player in federation
technologies, and will contribute to the advancement of these technologies.
7.2. Long term sustainability is ensured in several ways. Firstly, the commitment of Internet2 and the
Globus Consortium to contribute to the project’s output, and the subsequent embedding of the software
solutions in their product lines, will facilitate its adoption and long term support. Secondly, all the
PERMIS software is open source under the BSD licence, and so is available unencumbered for anyone
to adapt, update, bug fix, and offer commercially. Furthermore PERMIS is being integrated into the
OMII-UK software release, and the latter has a long term commitment to the UK community to
commission the hardening, maintenance and support of software components that are useful and being
used by the UK e-Science community. We believe that the software outputs of this project will qualify
for such support. Finally, Kent will continue to provide support to integrators and to enhance PERMIS
with new features within the context of its ongoing and future R&D projects. The PERMIS web site lists
a number of these projects as well as new ideas for continuing R&D work in authorisation
infrastructures.
8. Key Personnel
8.1 Professor David Chadwick is the leader of the Information Systems Security Research Group
(ISSRG) at the University of Kent. He has written over 80 books, chapters, journal and conference
papers, mostly about security, and the latest of these can be downloaded from
http://www.cs.kent.ac.uk/people/staff/dwc8/pubs.html. He has been the principal investigator in over 25
research grants from a variety of sources including the EPSRC and the EC. He has participated in 5
previous Grid related JISC funded security projects including DyVOSE, DyCOM and FAME-PERMIS.
The results of these have been widely demonstrated and made available to the global community as open
source software under the BSD licence. Professor Chadwick was a member of the EPSRC e-Science
Security Taskforce, is still the BSI lead representative to ISO/ITU-T X.500 standards meetings which
includes X.509 PKIs and PMIs – the basic technologies used in Grid security. He is the editor of X.518
(1993), two Internet RFCs (2120 and 3876), the co-author of the GGF OGSA SAML Authorisation
profile [13], and numerous Internet and GGF draft documents. He is the co-chair of OGSA-AUTHZ
working group. He is therefore ideally suited to be an editor of the SAML2 profile proposed in this
proposal. As part of the EC PERMIS project he led the first group in the world to implement a policy
driven X.509 PMI. The resulting open source PERMIS software is now part of the public US NMI
Internet2/Grid software release and is integrated with Globus Toolkit, Shibboleth and Apache. It is the
only freely available open source X.509 based PMI toolkit in the world today.
8.2 Nate Klingenstein is a Technical Analyst with Internet2 and has been part of the Middleware
Initiative since 2001. During this time, he has worked on a wide variety of middleware and security
projects with international working groups and consortia. He has had deep experience covering
most themes in authentication, authorization, and security, including PKI, role-based access control,
federation, directories. He has worked with the Shibboleth project nearly since its inception,
directing the first U.K. Shibboleth install-fest in London, and is currently the lead for
documentation and support. He continues to assist on the architecture and packaging of Grouper
and Signet. His current research interests include formalization of federated identity theory and the
domain model, generalization of attribute aggregation and constrained delegation, tying grid
computing and other services to campus infrastructure, distribution and conservation of information,
and integration of PKI and federated identity. Nate’s services to this project will be provided free of
charge.
12
Appendix A
References
[1] David Chadwick. “Authorisation using Attributes from Multiple Authorities” in Proceedings of WET-ICE
2006, June 2006, Manchester, UK
[2] D.W.Chadwick, D.Mundy. "Policy Based Electronic Transmission of Prescriptions". Proc of Fourth IEEE
Int Workshop on Policies for Distributed Systems and Networks, Lake Como, Italy, 4-6 June 2003, p197-206
[3] Wensheng Xu, David Chadwick, Sassa Otenko. “Development of a Flexible PERMIS Authorisation
Module for Shibboleth and Apache Server”. Proceedings of 2nd EuroPKI Workshop, University of Kent, July
2005
[4] David W Chadwick, Sassa Otenko, Von Welch. “Using SAML to link the GLOBUS toolkit to the
PERMIS authorisation infrastructure”. Proceedings of Eighth Annual IFIP TC-6 TC-11 Conference on
Communications and Multimedia Security, Windermere, UK, 15-18 September 2004, pp251-261
[5] D.W.Chadwick, A. Novikov, A. Otenko.“GridShib and PERMIS Integration“. Campus-Wide Information
Systems. Vol 23, No 4. 2006. pp297-308 ISSN 1065-0741
[6] OASIS. “Assertions and Protocol for the OASIS Security Assertion Markup Language (SAML) V2.0”,
OASIS Standard, 15 March 2005
[7] LESC reference.
[8] David Chadwick, Linying Su. “Use of WS-Trust and SAML to access a CVS”. OGSA-Authz WG Draft
Standard. 12 April 2006.
[9] OASIS “eXtensible Access Control Markup Language (XACML) Version 2.0”
OASIS Standard, 1 Feb 2005
[10] Alfieri, R., Cecchini, R., Ciaschini, V., Dell'Agnello, L., Frohner, A., Lorentey, K., Spataro, F., From
gridmap-file to VOMS: managing authorization in a Grid environment, Future Generation Computer Systems.
Vol. 21, no. 4, pp. 549-558. Apr. 2005
[11] D.W.Chadwick, A. Otenko. “The PERMIS X.509 Role Based Privilege Management Infrastructure”,
Proc 7th ACM Symposium On Access Control Models And Technologies (SACMAT 2002), Monterey, USA,
June 2002. pp135-140.
[12] N.Klingenstein. “Attribute Aggregation and Federated Identity”. To be presented at SAINT 2007
[13] Von Welch, Rachana Ananthakrishnan, Frank Siebenlist, David Chadwick, Sam Meder, Laura Pearlman.
“Use of SAML for OGSI Authorization”, GFD.66. March 2006, Available from
http://www.ggf.org/documents/GFD.66.pdf
[14] Kim Cameron and Michael B. Jones. “Design Rationale behind the Identity Metasystem Architecture”
available from http://www.identityblog.com/wp-content/resources/design_rationale.pdf
[15] David W Chadwick, Linying Su, Romain Laborde. “Use of XACML Request Context to access a PDP”.
OGSA-Authz WG Draft Standard. 28 March 2006
[16] Liberty Alliance ID-WSF 2.0 Specifications. See
http://www.projectliberty.org/liberty/resource_center/specifications/liberty_alliance_id_wsf_2_0_specificatio
ns
13
Appendix B
FOI Withheld Information Form
We would like JISC to consider withholding the following sections or paragraphs from disclosure
should the contents of this proposal be requested under the Freedom of Information Act.
We acknowledge that the FOI Withheld Information Form is of indicative value only and that JISC
may nevertheless be obliged to disclose this information in accordance with the requirements of the
Act. We acknowledge that the final decision on disclosure rests with JISC.
Section / Paragraph No.
Relevant exemption from
disclosure under FOI
Justification
NONE
Please see http://www.ico.gov.uk for further information on the Freedom of Information Act and
the exemptions to disclosure it contains.
14
Appendix C
Interaction between VPMan, Shintau and nDoA
Technical
The main objective of VPMan is to integrate the VOMS user management and attribute assignment
function with the PERMIS policy based authorisation decision function. The main software objective of
Shintau is to develop a Policy Information Point (the nAA-PIP) that can aggregate and validate the
attributes assigned by multiple attribute authorities. The main objective of nDoA is to enable n-tier
delegation of authority between web services and/or people. All three projects complement each other as
described below.
VPMan and Shintau. The three demonstrators of VPMan will only collect attributes from a VOMS
server and use these to make authorisation decisions. The Shib, OMII, GT2 and GT4 demonstrator of
VPMan will use Shibboleth for authentication, and attributes from VOMS for authorisation, but still
wont use attributes from multiple authorities for authorisation. However, once the nAA-PIP from
Shintau is developed, this will be able to be seamlessly plugged into the VPMan infrastructure using
existing interfaces and allow PERMIS to make authorisation decisions based on attributes from VOMS
servers and from other attribute authorities such as Shibboleth IdPs, professional certifying authorities
such as the General Medical Council and learned societies such as the IEEE and the ACM.
VPMan and nDoA. Globus Toolkit already has a functioning n-tier delegation architecture based on
proxy certificates. This is limited in that it only delegates from a user to his job, nevertheless it is
sufficient for the Globus Toolkit demonstrator in VPMan. N-tier delegation of authority between users is
handled by the existing PERMIS DIS service piloted in the DyVOSE project. OMII currently does not
have an n-tier delegation capability. Its n-tier processing relies on the next tier trusting the previous tier
to have performed the correct checks on the user, and therefore the previous tier is trusted to do anything
on the next tier. The n-tier delegation of authority planned in nDoA will make a welcome addition to the
OMII infrastructure and provide a constrained delegation capability thus limiting the trust that the next
tier has to place in the preceding tier.
nDoA and Shintau. These two projects add orthogonal and complimentary capabilities to the VPMan
infrastructure. nDoA allows one service or person to delegate attributes to another service or person,
whilst Shintau allows a set of attributes for a person or service to be collected from different IdPs and
validated prior to access control decision making. They will not directly interact with each other unless
the policy of the nAA-PIP allows delegation of authority by its trusted IdPs. Note the PERMIS CVS
already allows this capability, as it was introduced in the DyVOSE project. When the IdPs delegation
policy is enhanced in nDoA, the validation mechanism in the nAA-PIP will also need enhancing, but this
has been planned for in the nDoA project. Note that when an IdP holds attributes that have been
delegated internally from one user to another (by nDoA, Signet, Grouper or any other delegation
capability) this will be transparent to Shintau if all the credentials are issued by the IdP in question, in
which case a knowledge of the delegation history prior to credential issuing is either hidden or not
relevant to the credential validation capability of Shintau. If one web service delegates to another web
service, and the nAA-PIP of the second web service then either pulls or is pushed the credentials of the
requestor (whether from one IdP or several), this delegation may or may not be relevant to the attribute
collection and validation undertaken by the nAA-PIP, depending upon its validation policy.
Financial and Managerial
All three projects are scheduled to run in parallel, with Shintau being longer than the other two. The
technical implementation for VPMan and nDoA is scheduled at the start of the projects with the piloting
towards the end. Shintau on the other hand is scheduled so that the start of the project (first year) is low
intensity long duration protocol design involving multiple iterations with technical staff around the globe.
The high intensity implementation work of Shintau starts after the implementation work of VPMan and
nDoA has completed, therefore the same technical staff at Kent can be used to implement Shintau once
15
they have finished implementing VPMan and nDoA. The benefits of this synergy have been built into
the Shintau project plan.
The piloting in VPMan and nDoA is being performed by NeSC. We were keenly aware of JISC’s tight
financial constraints when producing the budgets for these projects. Therefore we have described more
application scenarios in the nDoA proposal than we have costed for demonstrating. Thus if both projects
were to be funded, we would hope to be able to add an additional application domain to the nDoA
demonstrations.
The piloting in Shintau has not been determined yet, and no costs have been directly attributed to this in
this proposal. Therefore there cannot be any cost savings in the piloting phase of Shintau.
16
1 of 1
about:blank
To JISC,
The problem of integrating identity information from multiple
authorities was first identified in the Shibboleth project some four
years ago. It became quickly apparent that this situation uniquely
encountered in federated identity was extremely complex and difficult
to solve, and we placed the scenario on indefinite hold.
Since that time, the success of federated identity in deployment has
meant that attribute aggregation is no longer a theoretical need.
Fortunately, our understanding of how to solve it has evolved as well
through independent research and the efforts of standards bodies. We
now have several techniques to perform aggregation detailed in my
recent writings.
While there are many projects working on implementations of those
techniques, the University of Kent's proposal is unique in using one
general solution made possible by Liberty-style identity federation.
This is an excellent opportunity to begin development of the software
and deployment experience that will build a foundation for
incorporation of this technology in providers of the future. I fully
endorse David's proposal and will lend my support to the development of
the profile and the resulting software architecture and its
implementation, if his proposal is funded. For these reasons I am happy
for my brief CV to be included in his proposal.
Sincerely,
Nate Klingenstein.
19/11/2006 15:37
November 17, 2006
Dr. David Chadwick
Professor of Information Systems Security
The University of Kent
Canterbury, Kent, CT2 7NZ
Dear Dr. Chadwick:
I am very pleased to lend my support to your proposed project focused on
Attribute Aggregation strategies. This has the potential to fill an important
gap in the Shibboleth federated space as we move toward a more diverse set of
use cases, and will be particularly important in the higher education arena.
In particular, your emphasis on this project being a standards-based effort is
significant, and thus it could well become a widely deployed component of the
R&E infrastructure. In fact, your coupling of standards together to address this
critical issue of attribute aggregation seems inspired and could well become the
reference implementation for this requirement.
Thank you for your leadership in developing this project. I am certain that the
results of your work will be of interest to others in our community, and I look
forward to tracking your progress as you move forward. I support the funding of
this proposal, and I, and the Shibboleth team, look forward to collaborating
with you in realizing your goals.
We will, of course, provide forums for your work to be shared in the US and
provide other assistance to vet this work in the growing meritocracy of federated
identity. I hope to continue to have you as a partner in these interesting times.
Sincerely,
Ken Klingenstein
Director, Internet2 Middleware and Security
1000 Oakbrook Drive, Suite 300 • Ann Arbor, MI •48104 • (734) 913-4250
Manchester Computing
The University of Manchester
Oxford Road
Manchester M13 9PL
tel +44 161 306 6130
www.manchester.ac.uk
Professor David W. Chadwick
Information Systems Security
The Computing Laboratory
University of Kent
CANTERBURY
CT2 7NF
WTH/jd
8 November 2006
Dear David
Shintau Proposal
As Technical Director of the NGS and Principal Investigator of the SHEBANGS
project, I would like to express my whole-hearted support for your Shintau proposal.
Shintau addresses an important topic that will only become more pressing as
Shibboleth gets rolled out and is adopted in front ends to an increasing range of grid
services. In some of my research projects at Manchester, we are already anticipating
this problem, and would welcome a standards based solution that the whole
community adopts.
Yours sincerely
Stephen Pickles
Technical Director – National Grid Service
Tel: +44(0)161 275 5974
[email protected]
Combining the strengths of UMIST and
The Victoria University of Manchester
SWITCH
Limmatquai 138
Postfach
CH-8021 Zürich
Telefon +41 44 268 15 15
Direktwahl +41 44 268 15 66
Fax +41 44 268 16 68
[email protected]
www.switch.ch
Zürich, November 17, 2006
To Whom It May Concern:
This letter is to express my support for the proposal “Shib-Grid Integrated Authorization” (shintau), as
described in the JISC Capital Programme Proposal, dated November 16, 2006, by Professor David
Chadwick. There is a need today for a SAML v2 profile that specifies how attributes from more than
one attribute authority can be aggregated. This proposal promises to address this issue and lead the
effort to develop this profile. Therefore it deserves to be supported.
Yours sincerely,
Christoph Witzig
Teamleader Middleware
SWITC H – Teleinf ormat ikdienste f ür Lehre und Forschung / Services de téléinformatique pour l’enseignement et la recherche
SWITC H / P.O. Box / CH-8021 Zür ich
www.switch.ch
Computing Laboratory
UNIVERSITY
Simon Thompson
OF KENT
Director
Tel:
Fax:
Email:
Web:
JISC e-Infrastructre bids
[email protected]
and Professor
of Logic and Computation
+44 1227 823820
+44 1227 762811
[email protected]
http://www.cs.kent.ac. uk!-s jt/
20 November 2006
Dear Sir or Madam,
Shintau Proposal
The University of Kent strongly supports the proposal Shib-Grid Integrated
Authorization from Professor Chadwick. This proposal will pull together leading
experts from Europe, the US and elsewhere in order to specify a standard profile for
aggregating attributes from multiple identity providers. We are pleased to support
Professor Chadwick in leading this work. At Kent we have already had success with
using Shibboleth in the early adopter's KUSP project, and we recognise the need for
using multiple attributes from multiple authorities in effective authorisation decision
making.
We are glad that Professor Chadwick's team in the Information Systems Security
Research Group will implement the standard profile after it has been defined, and we
will support the global distribution of the open source code from our department's
web server, once it has been implemented.
Yours faithfully,
~~lM
Prof Simon Thompson
Director, Computing Laboratory
.....
University of Kent
Computing
Canterbury,
Laboratory
Kent CT2 7NF. UK
Page1 of 1