The Grid Workflow Forum
[ start | index | login ]
start > Yagsi

Yagsi

Created by s.mueller. Last edited by bassheide, 105 days ago. Viewed 1,000 times. #35
[diff] [history] [edit] [rdf]

Yagsi: Yet Another Generic Security Infrastructure

Contents

Motivation and Use Case

One major reason for the lack of acceptance of Computational Grids in the industry are security concerns. Conventional Grid security architectures, such as GSI (Globus Toolkit), focus on the service provider’s perspective and do not cover all concerns of the service user. For instance the management of user credentials is delegated to services which are not under full control of the user (e.g. MyProxy). Another drawback is that common Grid security systems do not cover the fine-grained authorization of services, taking into account the methods, their parameters, and the message flow in deciding whether a user or another service is authorized to access the service. This is particularly important for Grid workflow systems.

Therfore we developed a new Grid security architecture, called Yagsi. It uses fine-grained and role-based security mechanisms in combination with restricted delegation of privileges, in order to overcome the drawbacks of current implementations.

yagsi-use-case

Fig. 1: Typical use case from the movie production industry that shows two roles, a portal and different web services.

In order to illustrate security needs we choose a typical use case from the movie production industry. Figure 1 shows two different roles, simplified from a media VO: A freelancer who's job is to perform post production on images with reduced resolution and a movie production manager keeping control of the whole process. Beside a portal and a workflow service there exists a movie archive service managing access to confidential movie data. Depending on the role it makes restrictions on the scene and the resolution of the images going to be checked out. Additionally there exists a RenderMan service which can be used directly by company internal users, whereas freelancers have to make their request through an accounting service.

Architecture

The design of the new security architecture provides a simple and convenient integration of legacy Web Services. The fundamental idea of the Yagsi concept is the use of security components which are surrounding a Web Service and which perform authentication and authorization related tasks. In connection with the authorization a security token is used, which is generated on the side of the Grid-user, integrated into the message flow and signed on each delegation step. The resulting trace of intermediate station may incorporate into the authorization decision. Additionally this token is presented to the Grid-User on a query for further credentials.

yagsi

Fig. 2: Overview of the Yagsi Architecture which shows the User Keystore Service (UKS) and the security components PreSec, PostSec and TokenSec. Bold lines represent a secured SOAP communication. Dashed lines represent thread interaction.

Figure 2 gives an brief overview of the Yagsi security infrastructure. We use security components to protect web services and we provide a User Keystore Service (UKS) for managing user credentials. The WS-Security standard is applied to secure every communication between these components on the message layer. Special of the Yagsi approach is the use of security tokens which are attached to the SOAP messages and which are passed through all intermediate stations.

yagsi-sectoken

Fig. 3: Exemplified structure of the Yagsi security token after its creation by the User Keystore Service and its passage through a Portal and a Web Service.

A security token contains the user certificate and additional information such as an ID, a Uniform Resource Identifier of the User Keystore Service and attributes limiting the life time. Figure 3 illustrates a token that is initially signed by the private key of the user. When it travels through intermediate stations each station attaches its certificate and its signature.

The concept of a security token is essential for various reasons. From the service providers point of view it allows to perform an authorization decision based on the user querying a resource, even if the request was delegated by several intermediate stations. By collecting a trace of intermediates it enables the provider to restrict access based on the communication path. Finally it carries information from which entity user credentials can be obtained.

Considering the users perspective the token is an instrument to place restrictions regarding the lifetime of a request. Also it enables the user to verify whether a request for credentials was triggered by a former query of himself.

Documentation

Download and Contact

Please contact andreas.hoheisel@first.fraunhofer.de if you would like to download and evaluate the software or if you have further questions.

no comments | post comment
gridworkflow.org | Copyright 2005-2008 Fraunhofer FIRST