A Service Oriented Infrastructure to Facilitate Trust in Collaborative Working

advertisement
A Service Oriented Infrastructure to Facilitate Trust in
Collaborative Working
1
1
2
1
Pete Burnap , Alex Gray , John Miles , Omer .F. Rana
1
School of Computer Science, Cardiff University
2
Cardiff School of Engineering, Cardiff University
{p.burnap, w.a.gray, o.f.rana}@cs.cardiff.ac.uk, milesjc@cardiff.ac.uk
Abstract
There is currently a significant interest in the use of a pay-per-use charging model for
using software services. A primary concern for a software or resource owner when
considering this approach to software exposure is security, and in particular – trust. The
resource owner must be confident in the knowledge that users accessing their software
have fine-grained access restrictions applied to them controlling the varying levels of
access to the software a user may be granted. Similarly, a client executing a service on a
remote site must trust the administrator of the site to deliver a timely and accurate result
(and possibly proprietary data sent to the site). Existing Virtual Organisation (VO)
management tools use centralized servers that handle role management, user
authentication and access control, essentially this is the trusted centre of a VO. Resource
owners trust this central server and its manager to allow access to their machines and
resources based on role privileges assigned within the VO. In this paper, it is proposed
that a distributed and automated software management application based on a service
oriented infrastructure would allow software owners to provide a Web Services interface
to their own software, suggesting an alternative and distributed approach to role based
management across organisational boundaries.
1.
Introduction
Existing VO management tools such as the
Community Authorization Service created by the
Globus Alliance [1] and the Virtual Organisation
Management (VOM) Portal developed by the
London e-Science Centre at Imperial College,
London [2], use centralized servers that handle
role management, user authentication, access
control,
resource
communication
and
management are the trusted centre of the VO.
These servers are not necessarily managed by the
resource owners themselves, standard practice is
for the resource owner to grant the VO a predefined set of access privileges according to their
local policy. Subsequently, a VO manager
distributes access rights to VO members based
on their own delegation hierarchy. Resources
and resource owners/managers trust this central
server to allow access to their machines based on
role privileges assigned by the VO manager.
When controlling access to a computational
resource, for instance, it is acceptable to assign a
role to a particular VO and trust the elected
member of that VO to manage and maintain a
central VO management server, assigning roles
and privileges to VO members which control
access to those resources. Then, if a user from a
VO requests access to a resource and has been
granted the required privileges, access will be
allowed to that resource. However, with the
emergence and growing adoption of the Service
Oriented Architecture, and the security
infrastructure that the Grid environment brings
with it, it is becoming common to share
information and methodological processing
using Web services and Grid services in smaller,
dynamically formed VOs. Here, the VOs share
more intricate resources (i.e. proprietary
software) – essentially this requires the extension
from resource sharing to service sharing.
This paper aims to illustrate the need for a
more constrained access procedure for invoking
proprietary software via Web Services interfaces.
This is achieved by developing a distributed and
dynamic resource management application that
will act as a 'gatekeeper' interface to an exposed
Web Service, and allow the owner of the service
to assign access privileges to each of the
methods exposed within the service to individual
users or groups of users, suggesting an
alternative approach to role based management
across organisational boundaries.
In this paper we describe the software
architecture for the proposed system and the
mechanisms involved in enforcing and binding
the suggested infrastructure.
The paper is organised as follows: in Section
2 we discuss the background information and
existing applications that have led to the
identification of the need for an alternative
approach to user management and trust
establishment
in
collaborative
working
environments. Section 3 outlines the software
architecture and system integration mechanisms.
Conclusions and further work follow in Section
4.
2.
Background on user management in
Virtual Organisations and trust issues in
collaborative working
Take an example of a simple survey result
calculating web service. The service may expose
3 methods; getResults(), setResults() and
processResults(). Using standard Web Services
Description Language (WSDL) [3] techniques,
the service requester would have access to all 3
methods but the service provider may not want
users of their service to be able to control the
setResults() method and adjust the result data,
even though they are happy for others to use
their results and do some processing on them
using the other methods. In a situation such as
this, it may be ideal for the service provider to
set access privileges to each method in the
service when instantiating it and only allow
access rights to the methods they wish to be
accessed. The access rights may differ from user
to user for each individual service. This paper
suggests that it is possible to expose such
operations via a Web Service-based wrapper, and
define fine-grained access restrictions to the
existing software allowing partner companies,
suppliers and clients to gain restricted access to
the software. The policy for such restrictions is
completely decided by the software owners
themselves. Most importantly, what this paper
suggests is that it is possible to provide
networked access to intricate levels of computer
code where the code itself is always kept behind
the owners’ firewall on a secure machine code.
2.1 Existing VO Management Approaches
There are numerous efforts to host and
manage VOs, the London e-Science centre
(LeSc) at Imperial College London have
implemented
a
Virtual
Organisation
Management (VOM) [2] portal that “provides
user authentication and authorisation, resource
access control and usage logging services based
on existing web and grid standards”.
They use grid (X.509) security certificates
for user registration and authentication and gridmap files for resource access control. A grid-map
file is a means of mapping the user details
extracted from a security certificate to a local
user role held within a local database. It is held
on the resource server.
This approach is
becoming increasing adopted as a standard
authentication technique for web based
applications.
The LeSc VOM provides these services
through a portal – effectively, a grid service that
is used to download and upload information into
the VOM database. There is indeed, a need for a
GUI to allow administrators to manage users,
however for the purposes of the creation of
dynamic VO it is proposed to remove the need
for a central portal and database. It is the belief
in this work that by having a central portal and
user database, the application is not pure peer-topeer or fully distributed and is easily fallible
should the central server fail, become corrupt, go
off-line or become unavailable for any other
reason. The approach taken by the work
proposed in this document will be to enforce grid
security infrastructure using a distributed service
based approach, where the grid-map file is
relevant for individual users for each single web
service, and is dynamically produced at service
deployment time rather than maintain a single
grid-map file for an entire VO where user roles
are predefined for all VO activity.
Services will be made available from within
the VO by members of the VO who deploy their
own services into the VO environment, with
their own user access control policies to control
access to their services. These access privilege
roles are created and deployed implicitly with no
reliance on extra human set-up tasks. VO
members are then able to access any service that
they have access privileges for.
An advantage of the evolving Web Service
Resource Framework (WSRF) [4] activity also
allows the proposed work to query the service
data at any time or at timed intervals in order to
save and preserve service data to allow reinstantiation of the service and grid-map file
should a service fail, or if the VO wishes to
disband and reconvene with the same VO set-up
at another time. This contributes to making the
proposed architecture fault tolerant and scalable.
The Globus community have built their own
VO management tool using the Globus Toolkit
and Grid Security Infrastructure (GSI).
Community Authorization Services (CAS) [1]
allows resource providers to maintain authority
over their resources without the hassle of day-today policy administration tasks (adding and
deleting users, modifying user privileges)
A CAS server is initiated for an individual
VO, and a community representative will acquire
a GSI credential to represent the community as a
whole and then run a CAS server using that
community identity. Resource providers grant
privileges to the community and verify that the
holder of the community credential represents
that community and that the community’s
policies are compatible with the resource
provider’s own policies. Once a trust relationship
has been established, the resource provider then
grants rights to the community identity using
local mechanisms (e.g grid-map files, file
permissions, disk quotas etc). Using this
approach, the question over the level of trust the
resource provider needs to give to the CAS
representative arises. Initially there is a policy
comparison between the resource provider and
the CAS community to verify that the policies
are compatible. After this point, what is to stop
the CAS administrator changing the policy and
the level of access given to its members? This is
a trust issue, which can be solved by removing
the third party CAS administrator.
PERMIS
[5]
is
an
authorisation
infrastructure that relies on an access control
policy document to define user roles and
privileges and the resources that these are related
to. This policy document is defined by the
resource owner and PERMIS controls access to
resources by making access control decisions
based on this document. Resource owners can
define user roles and assign these roles to users
and can take this a step further and establish
agreements with other service providers, so that
VO members can use the resources of others.
This work intends to use a similar principle
to PERMIS in that a policy defined by the
resource owner will be used to make access
control decisions but will introduce the ability to
allow those policy decisions to be made in realtime and instantaneously affect the access
control policy for a service exposed to a VO by
an individual member/company within the VO
through a visual, easy to use interface.
Shibboleth [6] is slightly different. It is an
information exchange mechanism rather than a
strict access control management tool.
Shibboleth controls access to resources based on
the information supplied by a user about
themselves rather than a unique identity. This
preserves privacy but limits individuality within
VOs. For example, a resource such as an
internal library of research group findings may
only be accessed by a student from Cardiff
University. This means that the user needs only
to verify that they are affiliated with Cardiff
University and does not need to disclose their
individual identity. This information is
embedded in the user’s web browser and sent at
access-request time. The access control can be
scaled up depending on the amount of
information users wish to release about
themselves. The reason that Shibboleth has been
related to this work is that the architecture that
Shibboleth is built on, the single-sign on
capability and the software itself have been
widely accepted and utilised. The software we
are proposing to develop through this research
could be integrated into the Shibboleth
infrastructure to perform a more strict role-based
access control using the single sign on capability.
These existing approaches provide the
motivation and requirement for the alternative
approach that we propose in the following
section of this document.
3.
Software Architecture
Integration Mechanisms
and
System
For coherency reasons, it should be made
clear that throughout this section the word
‘deployed’ is used to refer to the exposing of a
resource/service owner’s service to the rest of the
VO by making available the resource locator of
the service. In the regular web services sense of
the word, the service itself is previously
‘deployed’ into that person’s service hosting
container.
An existing VO hosting environment
extends the capability for a VO member to
invoke the gatekeeper service, which displays an
interface through which the user can provide the
resource locator of the service they intend to
deploy (the resource locator can be located
through a pre-existing web browser interface that
lists all the services deployed on the hosting
server).
From this, the gatekeeper service
sources a list of users in the VO (from the VO
hosting environment) and a list of methods
available in that service (from the web service
description document), and displays this to the
service owner. The user interface is utilised to
select each user from a list of the usernames of
the VO members and set access privileges to
each method in the services. This approach
capitalises on the object-oriented approach,
extracting the methods from a selected web
service or legacy objects (for example a
Java/C++/C# class) and displays each of them to
the resource owner in the user interface.
Once the service is deployed and access
privileges are set, each user in the VO can then
attempt to communicate with the deployed
service via the gatekeeper service interface.
They will use a resource locator made available
by the service owner to make a standard request
for the WSDL of the service. This would
currently be done by adding a suffix to the end of
the locator (a character string “?wsdl”), and the
WSDL would be returned with interface
descriptors for all the methods in the service. In
this system, the request will not be directly to the
web service, but to the gatekeeper service,
together with some additional security
information pertaining to identity (this is where
the Shibboleth work is relevant, and could be
incorporated).
Each time the gatekeeper service is invoked,
it is instantiated as a single service instance.
This has the advantage of giving each gatekeeper
its own service locator, and it is this service
locator that is displayed to each user of the VO
as an interface to the service that has been
deployed into the VO by the service owner. It
also means that each gatekeeper can be
individually controlled, queried, destroyed etc,
without affecting the access control management
other services in the same VO or the same
hosting environment. These are some of the
noted benefits of employing a service-oriented
architecture.
If the user is verified by their security
information and has been given access to the
service, the gatekeeper service will provide a
dynamically created WSDL that contains only
the interfaces to methods that the user has been
given access to.
The user creates client stubs to interact with
the service based of the information in the
WSDL. The users are never actually aware of
the ‘actual’ address of the service they are
interacting with as they only ever contact the
gatekeeper service, this service being the service
endpoint address that the users are given with the
WSDL, effectively masking the ‘real’ address of
the web service it is protecting. The gatekeeper
service routes the requests for service methods to
the web service itself. Users are also unaware
that they may not be accessing all of the
functions available in this service due to the
transparent enforcement of the service owner’s
policy upon requesting the WSDL for the
service. The structure of this approach enforces
trust across inter-operating VOs and removes
some of the worry about the safety of
information across organisational boundaries.
4. Conclusions and Further Work
In this document we have illustrated the
motivation behind the proposed work. At
present, the software itself is in the development
stage but we have outlined the benefits and
advantages to the VO community, and other
resource sharing communities for that matter,
that this architecture and distributed, dynamic
approach will bring. We acknowledge the lack of
actual performance results supplied in this
architectural overview, in the not too distant
future (by winter 2005), we aim to produce a
working prototype.
References
[1] Pearlman, L., et. Al. ed. 2002. A Community
Authorization Service for Group Collaboration Proceedings of the IEEE 3rd International
Workshop on Policies for Distributed Systems
and Networks (POLICY'02) Available at
http://www.globus.org/research/papers/CAS_200
2_Re vised.pdf
[2] Saleem, A. ed. 2004. Using the VOM portal
to manage policy within Globus Toolkit,
Community Authorisation Service & ICENI
resources -Proceedings of the UK e-Science All
Hands Meeting 2004 Nottingham Available at
http://www.allhands.org.uk/proceedings/papers/1
64.pd f
[3] WSDL - Web Services Description Language
(WSDL) Version 1.2, W3C Working Draft 3
March 2003, World Wide Web Consortium.
http://www.w3.org/TR/2003/WD-wsdl1220030303
[4] Information on WSRF -http://www106.ibm.com/developerworks/library/wsresource/
[5]
Information
on
PERMIS
http://sec.isi.salford.ac.uk/permis
[6]
Information
of
Shibboloeth
http://shibboleth.internet2.edu
–
Download