<rdf:RDF
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xmlns:s='http://snipsnap.org/rdf/snip-schema#'
    xml:base='http://www.gridworkflow.org/snips/gridworkflow/rdf'>
    <s:Snip rdf:ID='Yagsi'
         s:name='Yagsi'
         s:cUser='s.mueller'
         s:oUser='s.mueller'
         s:mUser='bassheide'>
        <s:content>1 Yagsi: Yet Another Generic Security Infrastructure&#xD;&#xA;&#xD;&#xA;1.1 Contents&#xD;&#xA;&#xD;&#xA;{snip-tree:Yagsi}&#xD;&#xA;&#xD;&#xA;1.1 Motivation and Use Case&#xD;&#xA;&#xD;&#xA;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.&#xD;&#xA;&#xD;&#xA;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.&#xD;&#xA;&#xD;&#xA;{image:yagsi-use-case.png}&#xD;&#xA;&#xD;&#xA;__Fig. 1:__ ~~Typical __use case__ from the movie production industry that shows two roles, a portal and different web services.~~&#xD;&#xA;&#xD;&#xA;In order to illustrate security needs we choose a typical use case from the                                                                                                                                         &#xD;&#xA;movie production industry. Figure 1 shows two different roles,&#xD;&#xA;simplified from a media VO: A freelancer who&apos;s job is to perform post&#xD;&#xA;production on images with reduced resolution and a movie production manager&#xD;&#xA;keeping control of the whole process. Beside a portal and a workflow service&#xD;&#xA;there exists a movie archive service managing access to confidential movie&#xD;&#xA;data. Depending on the role it makes restrictions on the scene and the&#xD;&#xA;resolution of the images going to be checked out. Additionally there exists a&#xD;&#xA;RenderMan service which can be used directly by company internal users,&#xD;&#xA;whereas freelancers have to make their request through an accounting service.&#xD;&#xA;&#xD;&#xA;1.1 Architecture&#xD;&#xA;&#xD;&#xA;The design of the new security architecture provides a simple and convenient&#xD;&#xA;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&#xD;&#xA;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.&#xD;&#xA;&#xD;&#xA;{image:yagsi.png}&#xD;&#xA;&#xD;&#xA;__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.~~&#xD;&#xA;&#xD;&#xA;Figure 2 gives an brief overview of the Yagsi security&#xD;&#xA;infrastructure.  We use security components to protect web services and we&#xD;&#xA;provide a User Keystore Service (UKS) for managing user credentials. The&#xD;&#xA;WS-Security standard is applied to secure every communication between these&#xD;&#xA;components on the message layer. Special of the Yagsi approach is the use of&#xD;&#xA;security tokens which are attached to the SOAP messages and which are passed&#xD;&#xA;through all intermediate stations.&#xD;&#xA;&#xD;&#xA;{image:yagsi-sectoken.png}&#xD;&#xA;&#xD;&#xA;__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.~~&#xD;&#xA;&#xD;&#xA;A security token contains the user certificate and additional information&#xD;&#xA;such as an ID, a Uniform Resource Identifier of the User Keystore Service and&#xD;&#xA;attributes limiting the life time. Figure 3 illustrates a token&#xD;&#xA;that is initially signed by the private key of the user.  When it travels&#xD;&#xA;through intermediate stations each station attaches its certificate and its&#xD;&#xA;signature.&#xD;&#xA;&#xD;&#xA;The concept of a security token is essential for various reasons. From the&#xD;&#xA;service providers point of view it allows to perform an authorization&#xD;&#xA;decision based on the user querying a resource, even if the request was&#xD;&#xA;delegated by several intermediate stations. By collecting a trace of&#xD;&#xA;intermediates it enables the provider to restrict access based on the&#xD;&#xA;communication path. Finally it carries information from which entity user&#xD;&#xA;credentials can be obtained.&#xD;&#xA;&#xD;&#xA;Considering the users perspective the token is an instrument to place&#xD;&#xA;restrictions regarding the lifetime of a request. Also it enables the user to&#xD;&#xA;verify whether a request for credentials was triggered by a former query of&#xD;&#xA;himself.&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;1.1 Documentation&#xD;&#xA;&#xD;&#xA;- {link:Paper at the Cracow Grid Workshop 06 (pdf)|space/Yagsi/Hoheisel_and_Mueller_et_al_2006_YAGSI-paper.pdf}&#xD;&#xA;- {link:Presentation at the Cracow Grid Workshop 06 (pdf)|space/Yagsi/Hoheisel_and_Mueller_et_al_2006_YAGSI-lecture.pdf}&#xD;&#xA;- {link:Diploma Thesis (pdf - in German)|space/Yagsi/Mueller_2007_YAGSI-diploma.pdf}&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;1.1 Download and Contact&#xD;&#xA;&#xD;&#xA;Please contact {mailto:oleh.khovalko@first.fraunhofer.de} if you would like to download and evaluate the software or if you have further questions.&#xD;&#xA;</s:content>
        <s:mTime>2011-07-21 11:36:44.0</s:mTime>
        <s:cTime>2007-06-24 15:41:32.92</s:cTime>
        <s:comments
             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
        <s:snipLinks>
            <rdf:Bag>
                <rdf:li rdf:resource='#snipsnap-search'/>
                <rdf:li rdf:resource='#snipsnap-index'/>
                <rdf:li rdf:resource='#bassheide'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Yagsi/Concept'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Modelling of workflow'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Workflow Engines'/>
                <rdf:li rdf:resource='#s.mueller'/>
                <rdf:li rdf:resource='#WSDL'/>
                <rdf:li rdf:resource='#BPEL'/>
                <rdf:li rdf:resource='#Events'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Yagsi/Concept/Security Components'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Research Fields'/>
                <rdf:li rdf:resource='#WfMS'/>
                <rdf:li rdf:resource='#SECSE'/>
                <rdf:li rdf:resource='#OSyRIS'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Grid Workflow'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Workflow for Cloud Computing'/>
                <rdf:li rdf:resource='#YAWL'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#OSyRIS/'/>
                <rdf:li rdf:resource='#BPMN'/>
                <rdf:li rdf:resource='#m.frincu'/>
                <rdf:li rdf:resource='#SAML'/>
                <rdf:li rdf:resource='#Projects'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#GWES/GWESActivityPluginTutorial/'/>
                <rdf:li rdf:resource='#GWES'/>
                <rdf:li rdf:resource='#Gamma-calculus'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Workflow Description Languages'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#GWES/GWESActivityPluginTutorial'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Workflow Composition Tools'/>
                <rdf:li rdf:resource='#A-WARE'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Workflow Engines/'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Workflow Scheduling for Cloud Computing'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Petri net'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Yagsi/Concept/User Key Store'/>
                <rdf:li rdf:resource='#JOpera'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#start/'/>
                <rdf:li rdf:resource='#bprimal'/>
                <rdf:li rdf:resource='#MoML'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Hot Topics'/>
                <rdf:li rdf:resource='#j.chen'/>
                <rdf:li rdf:resource='http://www.gridworkflow.org/snips/gridworkflow/rdf#Discovery Process Markup Language'/>
                <rdf:li rdf:resource='#SAWE'/>
            </rdf:Bag>
        </s:snipLinks>
        <s:attachments>
            <rdf:Bag>
                <rdf:li>
                    <s:Attachment rdf:about='http://www.gridworkflow.org/snips/gridworkflow/space/Yagsi/Hoheisel_and_Mueller_et_al_2006_YAGSI-lecture.pdf'
                         s:contentType='application/pdf'
                         s:size='333118'>
                        <s:fileName>Hoheisel_and_Mueller_et_al_2006_YAGSI-lecture.pdf</s:fileName>
                        <s:date>Thu Jul 05 14:01:05 UTC 2007</s:date>
                    </s:Attachment>
                </rdf:li>
                <rdf:li>
                    <s:Attachment rdf:about='http://www.gridworkflow.org/snips/gridworkflow/space/Yagsi/Hoheisel_and_Mueller_et_al_2006_YAGSI-paper.pdf'
                         s:contentType='application/pdf'
                         s:size='143699'>
                        <s:fileName>Hoheisel_and_Mueller_et_al_2006_YAGSI-paper.pdf</s:fileName>
                        <s:date>Thu Jul 05 13:59:56 UTC 2007</s:date>
                    </s:Attachment>
                </rdf:li>
                <rdf:li>
                    <s:Attachment rdf:about='http://www.gridworkflow.org/snips/gridworkflow/space/Yagsi/Mueller_2007_YAGSI-diploma.pdf'
                         s:fileName='Mueller_2007_YAGSI-diploma.pdf'
                         s:contentType='application/pdf'
                         s:size='754809'>
                        <s:date>Thu Jul 05 13:53:04 UTC 2007</s:date>
                    </s:Attachment>
                </rdf:li>
                <rdf:li>
                    <s:Attachment rdf:about='http://www.gridworkflow.org/snips/gridworkflow/space/Yagsi/yagsi-sectoken.png'
                         s:fileName='yagsi-sectoken.png'
                         s:contentType='image/png'
                         s:size='10909'>
                        <s:date>Thu Jul 05 14:18:17 UTC 2007</s:date>
                    </s:Attachment>
                </rdf:li>
                <rdf:li>
                    <s:Attachment rdf:about='http://www.gridworkflow.org/snips/gridworkflow/space/Yagsi/yagsi-use-case.png'
                         s:fileName='yagsi-use-case.png'
                         s:contentType='image/png'
                         s:size='11772'>
                        <s:date>Thu Jul 05 14:18:10 UTC 2007</s:date>
                    </s:Attachment>
                </rdf:li>
                <rdf:li>
                    <s:Attachment rdf:about='http://www.gridworkflow.org/snips/gridworkflow/space/Yagsi/yagsi.png'
                         s:fileName='yagsi.png'
                         s:contentType='image/png'
                         s:size='9372'>
                        <s:date>Thu Jul 05 14:18:00 UTC 2007</s:date>
                    </s:Attachment>
                </rdf:li>
            </rdf:Bag>
        </s:attachments>
    </s:Snip>
</rdf:RDF>

