Volume 2 No. 3
ISSN 2079-8407
Jou r n a l of Em e r gin g Tr e n ds in Com pu t in g a n d I n for m a t ion Scie n ce s
©2010-11 CIS Journal. All rights reserved.
http://www.cisjournal.org
Trust Based Authorization Framework for Grid Services
Sarbjeet Singh
Computer Science and Engineering, UIET
Panjab University, Chandigarh, India – 160014
[email protected]
ABSTRACT
Grid computing allows sharing of services and resources distributed over geographically dispersed, heterogeneous,
autonomous administrative domains. As a domain generally has no idea about the trustworthiness of other domains, it may
hesitate in accessing shared services and resources provided by other domains. Accessing resources and services from
untrusted domains may pose dangerous consequences to the source domain. Trust is an important parameter in achieving
faithful domain to domain interaction. Domains must be able to determine the trustworthiness of each other for the access
of a particular service. Domains must also provide trust based access to resources and services that they expose in the
environment. This paper describes different facets associated with trust issues among different entities in a grid
environment and proposes a trust model to establish and manage trust relationships. The trust model provides support to
calculate direct as well as recommended trust. Based on this model, a trust based authorization framework is proposed that
can be used to provide trust based access to grid services. The goal of the model is to encourage trust based domain to
domain interaction and increase the confidence of domains in accessing shared resources provided by other domains. The
framework has been implemented in .NET environment with the support of WSE 3.0 toolkit. The framework has been
evaluated by implementing a scenario that involves enforcement of different trust policies. The time taken by the
enforcement component to evaluate trust policies has been noted. The results obtained from the implementation imply that
the approach is workable and can be used to provide trust based access to grid services.
Keywords: Grid computing; trust relationships; grid services; trust based authorization framework.
1. INTRODUCTION AND BACKGROUND
Grid computing systems enable sharing of
resources and services distributed over geographically
dispersed, heterogeneous, autonomous administrative
domains [1], [2]. The context of grid computing introduces
challenging trust related issues as both, resource providers
and resource consumers can come from mutually
distrusted administrative domains and any of them can
behave maliciously. The usage of grid system can become
severely limited if participant are not given any means to
access the trustworthiness of other participants in the
environment. To achieve faithful domain to domain
interaction and confidence of participants in accessing and
providing resources from/to other administrative domains,
it is extremely important for domains to address trust
issues by introducing a trust model and integrating that
model into authorization framework to enable trust based
access to resources.
Trust is a complex concept and can be defined in
different ways at different levels. It is a subjective and
elusive notion. The concept of trust is excessively
complex and appears to have many different meanings
depending on how it is used [3]. Trust is a multifaceted
issue that may be related to other attributes such as
reliability, accuracy, honesty, risk, competence, security,
belief, perception, utility, benefit, expertise etc [3], [4].
Trust is generally defined as having confidence that a
service/resource will behave in an expected manner
despite the lack of ability to monitor or control the
environment in which service/resource operate [5]. A very
good definition of trust defined in [6] as: “Trust is the firm
belief in the competence of an entity to act as expected
such that this firm belief is not a fixed value associated
with the entity but rather it is subject to the entity’s
behaviour and applies only within a specific context at a
given time”. This definition captures many important
properties of trust as:
(i) Trust is not a fixed value, it is dynamic.
(ii) It is context and time dependent.
(iii) It depends on entity’s past and present
behaviour.
Another property of trust is that it is not
transitive. i.e. if A trusts B and B trusts C then it does not
mean that A trusts C. Transitivity may hold if certain
conditions are met but in general, trust is not always
transitive. Trust can also be affected by those actions that
we cannot monitor.
As defined in [6], trust can be classified into two
categories: Identity trust and Behavior trust. Identity trust
is concerned with verifying the authenticity of an entity to
determine its trust level with respect to what the entity is
authorized to do and what can be expected from it.
Behavior trust, on the other hand, is more real and deals
with a wider notion of entity’s trustworthiness. A trust
model must have the capability to support both, the
behavior trust as well as identity trust, depending upon the
requirements of the environment in question. The
proposed trust model addresses both of these trusts.
The activity of collecting, encoding, analyzing
and presenting evidence relating to competence, honesty,
security or dependability with the purpose of making
assessments and decisions regarding trust relationships is
136
Volume 2 No. 3
ISSN 2079-8407
Jou r n a l of Em e r gin g Tr e n ds in Com pu t in g a n d I n for m a t ion Scie n ce s
©2010-11 CIS Journal. All rights reserved.
http://www.cisjournal.org
called Trust Management [3]. Two main approaches,
currently available for managing trust are:
(i)
(ii)
Policy based trust management
Reputation based trust management.
Policy based trust management deals with using
policy languages and engines for specifying and reasoning
trust. The goal is to determine whether or not an unknown
user can be trusted based on a set of credentials and a set
of policies. Policy based trust is involved in making access
control decisions. It is intended for systems where
behavior is guided by complex rules and policies. In
reputation based trust, the focus is on trust computation
models capable of estimating the degree of trust that can
be invested in a certain party based on the history of its
past behaviours [3]. It is intended for distributed systems
where a system only has a limited view of the information
in the whole environment. New trust relationships and
trust values are inferred based on the available
information. The available information is based on the
recommendations and experience of other users.
2. RELATED WORK
Much of the work to enable trust relationships in
grid is through the use of X.509 based digital certificates
which verify the identity of the requester [3]. Here the
trust is assumed to be associated with the identity of the
requester but this approach cannot be used to address
complex trust related security issues. Another approach to
manage trust is by using Trusted Authority (TA) where the
basic concept is same as that of a CA (Certificate
Authority) but are specifically meant for dealing with
trust. But in large scale distributed computing system like
grid, its credibility and usage decreases and uncertainty
increases as the community of its trustees grows [7].
To address a wider notion of trust, a deeper
understanding of interaction among service providers and
service requesters is needed which cannot be achieved by
identity based trust alone. Trust models such as
PolicyMaker [8] and KeyNote [9] are concerned with
identity trust. These trust mechanisms do not consider
behavior trust which is dynamic and changes with time
and thus these approaches have no mechanism to
dynamically establish and monitor complex trust
relationships. The models that support behavior trust based
on experience and reputation are proposed in [7] and [1012]. These models are really a key inspiration for our
work. Compared to these models, the proposed model is
less complex. It makes use of simple equations to calculate
direct and recommended trust and can be extended to
incorporate other attributes like accuracy, honesty, time
decay etc. Moreover, the models proposed in [10-12] do
not address how to express trust policies and the
integration of trust model with the authorization
framework.
Other security models for grids like proposed in
[13-14] do not deal with trust explicitly and do not provide
any trust model to express, validate, update and manage
trust relationships. Trust relationships implied from these
security models are static and limited. Services like CAS
[15] and VOMS [16] address general policy based
authorization issues but do not make use of any trust
model to express trust policies and to base authorization
decisions on it. The specifications like WS-Trust [17] and
WS-Federation [18] provide methods for issuing,
renewing and validating security tokens and ways to
establish access the presence of and broker trust
relationships but do not give any comprehensive trust
model to determine the trustworthiness of entities and
address complex trust related issues. Thus a more
comprehensive approach for handling trust, trust
relationships and policies is required.
In this paper an attempt has been made to define
a general trust model that deals with behavior as well as
identity based trust and its integration with the
authorization framework. The model provides the
mechanisms to express, interpret, evaluate, update and
manage trust relationships and policies. In next section,
the elements of the trust model will be discussed. Section
4 describes the trust model and algorithms to calculate
direct and recommended trust. Implementations details are
given in Section 5 with discussion. Finally, Section 6
concludes the paper and also talks about future plans.
3. ELEMENTS OF TRUST MODEL
A Trust Model can be defined as a system that
allow service requesters and service providers to assess
trustworthiness of each other and state, evaluate and
enforce trust requirements and policies among themselves.
It is a detailed description of all aspects of a system related
to trust. A trust based authorization system grants specific
type of access to specific requesters based on their
authentication, trust status, what services/resources they
are accessing, current state of the system and their
conformance to established trust and other security
policies. Trust Model should be integrated with the
Authorization Framework to provide trust based access to
services. This paper presents a Trust Model and its
integration with Authorization Framework. In order to
understand the architecture well, the entities as defined in
[19] are being used:
3.1 Elements of Trust Model
Subject (SU): Subject is an entity that accesses services
provided by a service provider in a domain. Subject can be
a user, an account, a service or any other entity on its
behalf.
Service (SR): Service is a piece of software that provides
some functionality and can be accessed by Subjects or
other Services. Services are exposed in the environment
along with their associated trust requirements and other
security policies. Services are provided by different
service providers.
137
Volume 2 No. 3
ISSN 2079-8407
Jou r n a l of Em e r gin g Tr e n ds in Com pu t in g a n d I n for m a t ion Scie n ce s
©2010-11 CIS Journal. All rights reserved.
http://www.cisjournal.org
Domain (DO): Domain refers to a specific set of Subjects
and Services under a unique Domain Policy (DP).
DO = (SU, SR, DP). All entities of a Domain are bound by
this Domain Policy. Subjects and Services of a Domain
form collaboration. There exist complex trust relationships
between Subjects and Services of same/different Domains.
Domain Policy (DP): Domain Policy refers to the set of
rules/regulations/requirements of a Domain to which an
entity must conform to in order to be in that Domain.
Different Domains can have different rules and
mechanisms for authentication, authorization and other
security requirements.
Service Policy (SrP): Service Policy refers to the set of
rules /requirements associated with a particular Service. A
Subject must conform to associated Service Policy in
order to access that Service.
Service Provider (SP): Service Provider is a physical
organization/ institution that expose services/resources in a
Domain. Services/Resources in a Domain may come from
same or different Service Providers. Thus a Domain is a
more dynamic entity than individual physical
organization/institution.
Resource (R): Resource is an object that is accessed by
Subjects. It can be a CPU, a storage device, software, data,
scientific instrument or any other peripheral. Subjects
access Resources through Services. In other words, a
Resource is a Service. Subjects can access Resources
based on their authorization status and their conformance
to established security policies.
Trust Policy (TP): Trust Policy refers to the set of trust
rules/requirements associated with a Service/Subject. A
Subject must conform to Trust Policy associated with the
Service in order to access that Service and a Service must
also respect the trust requirements of a Subject. Trust
Policy (TP) is a subset of overall set of policies (PO).
Access (AC): Access is an operation that a
Subject/Service performs on other Service. Access is
provided based on conformance to security policies that
are associated with that Service.
Policy (PO): Policy is a set of rules/requirements that can
be associated with a Subject/Service/Domain. It can be
represented as:
PO = (AP, AuP, TP, PP, MP, OP) where
AP is Authentication Policy
AuP is Authorization Policy
TP is Trust Policy
PP is Privacy Policy
MP is Management Policy
OP refers to any Other Policy
Service Policy, Domain Policy and Trust Policy, all are
subsets of Policy. i.e. SrP PO, DP PO and TP PO.
Fig. 1. Grid Environment consisting of two Domains along
with other elements of the Model.
Domain Set (DS): Domain Set is simply the set of
Domains. i.e. DS = (DO1, DO2, …. , DOn).
Domain Set Policy (DSP): Domain Set Policy refers to
the Policy that applies to Domain Set. DSP PO.
Filter: The rights/privileges of a Subject are different in
different Domains. Filter is a component through which
rights/privileges of a Subject are filtered for a particular
Domain. There are two types of filters (filter-in and filterout). These are explained later in this section.
MAP (MAP): is an operation that maps/transforms
Subject of one administrative domain to Subject in another
administrative domain. E.g. SUi (DOk) map SUj
(DOl) means that Subject SUi of Domain DOk has been
mapped to Subject SUj in Domain DOl.
In a typical Grid Environment, the elements described
above interact in a complex manner, which will be
discussed in the later sections.
Fig. 1 shows a Grid Environment consisting of
two Domains (DO1 and DO2) along with other elements
of the framework. In the diagram Squares represent
Subjects, Diamonds represent Resources, Triangles
represent Policies, Rectangles represent Filters and
Ellipses represent Domains. As shown in Fig. 1, Subject’s
access request for Service SR first passes through Filterout component at the source Domain and then through
Filter-in component at the target Domain. During this
passage, Subject’s access rights are filtered for the target
Domain. With Filter-out component, the Subject leaves
the Domain with access rights that his parent Domain
grants to him. With Filter-in component, the Subject enters
the organization with access rights that the target Domain
138
Volume 2 No. 3
ISSN 2079-8407
Jou r n a l of Em e r gin g Tr e n ds in Com pu t in g a n d I n for m a t ion Scie n ce s
©2010-11 CIS Journal. All rights reserved.
http://www.cisjournal.org
grants to the parent Domain. In other words, the Subject
gets the intersection of the rights that his parent Domain
grants to him and the rights that target Domain grants to
parent Domain. This enables the implementation of fine
grained access control in the environment. Fig. 1 also
shows Policy database to store different types of policies.
At the target domain, the proposed Trust based
Authorization Framework checks Subject’s conformance
to Trust Policy. If Subject conforms to trust and other
security policies then mapping operation (MAP) is
performed to provide the Subject an identity that is local to
that Domain. The mapped identity is then used by the
target Domain to provide access to the requested
Service/Resource. The mapping operation is optional. If
the access of a Service/Resource does not require local
identity then it can be omitted. If Subject does not
conform to trust and other security policies, the access is
denied.
Determining whether a Subject conforms to
security policies is a complex task and is performed by the
Authorization Framework. Trust Model determines the
trustworthiness of the target Domain/Subject/Service and
passes the result to Authorization Framework to prepare
final result. The proposed Trust Model has been integrated
with the Authorization Framework and is called Trust
Based Authorization Framework. Next two sections
explain the proposed Trust Model and Trust Based
Authorization Framework.
4. TRUST MODEL
The trust status of a Service/Resource from a
different Domain is hard to determine. Subjects generally
have no idea whether the Service is compromised or is
malicious [5]. Determining trust relationship is essential
not only while accessing Resources/Services but also
when enabling delegation [20]. Subjects, Services and
Domains can have different trust relationships among each
other. E.g. Some Subjects of Domain A may trust Domain
B and not Domain C whereas others may trust Domain C
and not Domain B, or, Subjects may trust Domain B for
Service 1 but not for Service 2, etc. The main problem is
how to determine the trustworthiness and establish and
manage trust relationships and policies among Subjects
and Services of different Domains. Domains need a trust
enabled security infrastructure to handle trust related
requirements and to provide trust based access to
Services/Resources. Establishment of trust may be a one
time activity per session or it may be dynamic [14]
(requiring the establishment of trust for each request). The
trust of an entity with other entity is not a fixed value but
can change dynamically depending on the past and present
behavior of the entity and context in the environment.
Trust should be established from the viewpoint of both the
parties (service requesters and Service Providers).
Requester’s trust with the Service Provider may be
different from the Service Provider’s trust with the
requester. This situation is modeled using two different
types of trust: code trust and execution trust, as defined in
[5]. Execution trust exist from Subject’s side to Service
Provider’s side that Service Provider will correctly and
faithfully allocate resources for the efficient execution of
job with respect to established trust and other security
policies. Code trust exist from Service Provider’s side to
Subject’s side that Subject will generate a legitimate
request consisting of virus free code and will not produce
malicious results and does not temper other
results/information/code present at Service Provider’s end.
Except execution and code trust, trust can also be
classified into following categories:
Direct Trust: is the trust that a Subject holds on other
Service Provider without any intermediate Service
Provider or entity.
Full Trust: A Subject is said to have full trust on a
Service Provider/Domain if it trust on all the services
provided by that Service Provider/Domain.
Partial Trust: A Subject is said to have partial trust on a
Service Provider/Domain if it trust on some of the services
provided by that Service Provider/Domain.
Recommended Trust: is the trust of one entity on second
entity that is recommended by other entities.
Authentication Trust: is the trust of an entity on the
authenticity of an identity certificate signed by a certificate
authority.
Privacy Trust: is the trust of an entity on the privacy
features provided by other entity.
Trust Model is proposed to be a system represented as
TS = (EN, TR, OP). Where EN refers to different entities
in a grid environment among which trust relationships
exist. These entities can be Subjects, Services, Service
Providers or Domains etc. TR is the set of trust
relationships according to the types of trust discussed
above. OP is the set of operators used to handle trust
relationships.
Trust Relationship are proposed to be represented
as: TR = (SU1, DO1, TT, SR1, DO2, c, t, tv) i.e. Subject
SU1 of Domain DO1 trust Service SR1 of Domain DO2
with trust value tv with respect to trust type TT at time t
for context c. TT represent the type of trust which can be
Authentication Trust, Privacy Trust or Authorization
Trust. Since in this paper, a trust based authorization
framework is being proposed, the type of trust being dealt
with is Authorization Trust.
In order to establish and evaluate trust, every
Domain needs to implement a Trust Model integrated with
the Authorization Framework. The purpose of the Trust
Model is to provide trust based access to
Services/Resources. The proposed Trust Model is capable
of capturing different types of trust and also provides
mechanisms for trust evaluation, recommendations and
updation of trust. Fig. 2 shows a high level view of the
trust model used in the trust based Authorization
Framework which has been implemented as a Trust
Manager Service.
As shown in Fig. 2, access request coming from
Subject, through Authorization Engine (explained in
139
Volume 2 No. 3
ISSN 2079-8407
Jou r n a l of Em e r gin g Tr e n ds in Com pu t in g a n d I n for m a t ion Scie n ce s
©2010-11 CIS Journal. All rights reserved.
http://www.cisjournal.org
Section 5), is first intercepted by Trust Evaluator
component. Trust Evaluator is responsible for evaluating
trust based on established trust relationships and providing
trust evaluation result to Authorization Engine. To
evaluate trust, Trust Evaluator makes use of Trust
Inference Engine. Trust Inference Engine calculates tv
value which is passed to trust evaluator to prepare final
result. Trust Evaluator is also responsible for updation of
trust among entities. Trust is updated with every
interaction that takes place between a Subject and a
Service. Trust Policy base fetches established trust
relationships and trust management rules from policy
database and provide these to trust evaluator for evaluating
trust. Trust policies have been expressed in XACML [21].
Fig 2. Trust Model Architecture for Trust based Access
Now suppose a Subject from a particular Domain
wants to access a Service from another Domain. For this,
tv can be calculated as:
tv = wdt * dt + wrt * rt
(1)
where dt is Direct Trust and rt is Recommended
Trust. wdt and wrt are the weights assigned to direct and
recommended trust and wdt + wrt =1. Let s and f denote
the success and failure evidences experienced by the
Subject on Service. Then,
dt = s / ( s + f )
rt = Average of
(source’s trust on R1 * R1’s trust on target,
source’s trust on R2 * R2’s trust on target,
……………….……………………………...
……………………………………....………
source’s trust on Rn * Rn’s trust on target)
(2)
(3)
where R1, R2, …, Rn are recommenders of
source Domain. Recommender Domains are trusted by
Source Domains to make recommendations about
trustworthiness of other Domains. In case of full trust, f
can be set to 0 and in case of partial trust, s and f take
different values depending on the level of trust. In case of
no trust, s can be set to 0. A history of these values is
maintained by every Domain. For s and f values, any last n
interactions can be considered where n is any number
depending on the requirements. A large value of n models
accurate behavior and a small value of n models current
behavior of one entity with another. For updation of trust,
changes are made to s and f. Based on the values of dt and
rt, trustworthiness of an entity have been categorized into
following levels:
Table 1 Levels of Trustworthiness
Level
dt
rt
L1
>0.5
>0.5
tv (with
wdt=wrt=0.
5)
>0.5 and <=1
L2
>=0.
5
<=0.
5
>=0.5 and
<=0.75
L3
<=0.
5
>=0.
5
>=0.5 and
<=0.75
L4
<0.5
<0.5
<0.5
Meaning
Trust
(White Zone)
Can be trusted
with some risk
(Gray Zone)
Can be trusted
but greater risk
(Gray Zone)
Don’t Trust
(Black Zone)
The above table shows four levels of trust
ranging from satisfactory trust (tv > 0.5 and <=1, White
Zone) to no trust (tv < 0.5, Black Zone). dt and rt can take
a maximum value of 1. With wdt=wrt=0.5, tv can take a
maximum value of 1. The more the value of tv is, the
higher is the trust. A dt and rt value greater than 0.5 means
that the Subject and recommender both have more success
evidences than failure. This represents a White Zone and
target can be trusted with a satisfactory level of trust. If a
Subject experiences more success evidences and
recommender experiences failure evidences, or vice versa,
then the trustworthiness of target is doubtful. This
represents Gray Zone. At this point, a decision should be
made whether source Subject wants to give more
weightage to recommender trust (rt) or his direct trust (dt)
on target. Generally, dt value is given more weightage
over rt value. So if a Subject experiences success
evidences and recommender experiences failure
evidences, then the trustworthiness of target is less
doubtful compared to Subject being experiencing failure
evidences and recommender experiencing success
evidences. If the source Subject and recommender, both
have more failure evidences than success evidences, then
the target is definitely not to be trusted. This represents a
Black Zone. Two important data structures for the
calculation of trust value (tv) are:
(i)
(ii)
Trust Table
Recommender Table
Each Domain maintains a copy of these tables. The format
of these tables is:
(i)
Trust
(sourceDomain,
sourceServiceProvider,
sourceSubject,
targetDomain,
targetServiceProvider,
targetSubject, success, failure, threshold, context, time)
140
Volume 2 No. 3
ISSN 2079-8407
Jou r n a l of Em e r gin g Tr e n ds in Com pu t in g a n d I n for m a t ion Scie n ce s
©2010-11 CIS Journal. All rights reserved.
http://www.cisjournal.org
(ii)
Recommender
recommenderServiceProvider,
context, time)
(recommenderDomain,
recommenderSubject,
Using above equations and data structures, trust
of a Subject on Subject/Service of another Domain can be
calculated. Fig. 3 and Fig. 4 describe the algorithms being
used to calculate direct and recommended trust. These
algorithms make use of the equations and data structures
described above.
CalculateTrust (S-DO, S-SP, S-S, T-DO, T-SP, T-S, c)
S-DO: Source Domain
S-SP: Source Service Provider
S-S: Source Subject
T-DO: Target Domain
T-SP: Target Service Provider
T-S: Target Subject
c: context
tv: trust value
dt: direct trust
rt: recommended trust
wdt: direct trust weightage
wrt: recommended trust weightage
i) Set tv = 0, dt = 0, rt = 0, wdt = 0.5, wrt = 0.5.
ii) Select success, failure from Trust table where
sourceDomain=S-DO and sourceServiceProvider=S-SP,
sourceSubject=S-S and targetDomain=T-DO and
targetServiceProvider=T-SP and targetSubject=T-S and
context=c
iii) Set dt=success / (success + failure)
iv) Set rt=calRecTrust(S-DO, S-SP, S-S, T-DO, T-SP,
T-S, c)
v) Set tv= wdt*dt+wrt*rt
vi) Return tv
Fig 3. Algorithm to calculate trust value
calRecTrust(S-DO, S-SP, S-S, T-DO, T-SP, T-S, c)
S-DO: Source Domain
S-SP: Source Service Provider
S-S: Source Subject
T-DO: Target Domain
T-SP: Target Service Provider
T-S: Target Subject
c: context
nr: number of recommendres
i: loop variable
str: source’s trust on recommender
rtt: recommender’s trust on target
CR-D: current recommender Domain
CR-SP: current recommender Service Provider
CR-S: current recommender Subject
rt: recommended trust
i) Set rt=0
ii) Set nr = Select count (*) from Recommender Table
iii) for ( i =1; i<nr; i++)
a) Set CR-D= Select recommenderDomain[i] from
Recommender Table
b) Set CR-SP= Select recommenderServiceProvider[i]
from Recommender Table
c) Set CR-S= Select recommenderSubject[i] from
Recommender Table
d) Select success, failure from Trust table where
sourceDomain=S-DO and sourceServiceProvider=SSP and sourceSubject=S-S and targetDomain=CR-D
and targetServiceProvider=CR-SP and
targetSubject=CR-S and context=c
e) Set str = success / (success + failure)
f) Set rtt = getDirTrust(CR-D,CR-SP,CR-S,TDO,T-SP,T-S)
g) rt = rt + str*rtt
iv) Set rt = rt/nr
Fig 4. Algorithm to calculate recommended trust
Fig. 3 describes the algorithm to calculate trust
value. As shown, the direct trust, recommender trust and
trust value are initially set to 0. The direct and
recommended trust weightage values wdt and wrt are set
to 0.5 which means that both direct and recommended
trusts are given equal weightage. Then the success and
failure evidences experienced by the source Subject with
target Domain are fetched from the Trust table and dt is
calculated using Eq. (2). To calculate recommended trust,
calRecTrust() algorithm is used which is shown in Fig. 4.
After determining dt and rt values, trust value tv is
calculated using Eq. (1) This is shown in step v of the
algorithm. To calculate recommended trust, first, the trust
of the source Subject on recommender is calculated and
then the recommender’s trust on target is called from the
recommender. This is shown in steps iii-e and iii-f of
calRecTrust() algorithm. The process is repeated for all
the recommenders in the Recommender table. After
getting the recommendation from all the recommenders,
average value of rt is calculated using Eq. (3). This is
shown in steps iii-g and iv of calRecTrust() algorithm.
A threshold value of tv can be set depending on
the level of trust required. After authenticating Subject, tv
value can be calculated and checked to see whether tv is
greater than or less that threshold value. If tv>= threshold
value then access to Resource/Service is provided
otherwise access is denied. After each access of
Service/Resource, following updations are made to s and f
values:
s = s + 1, if source is satisfied by the
Service/Resource access provided by the target, otherwise
no change
f = f + 1, if source is not satisfied by the
Service/Resource access provided by the target, otherwise
no change
Trust Model and its integration with
Authorization Framework is explained in the next section.
141
Volume 2 No. 3
ISSN 2079-8407
Jou r n a l of Em e r gin g Tr e n ds in Com pu t in g a n d I n for m a t ion Scie n ce s
©2010-11 CIS Journal. All rights reserved.
http://www.cisjournal.org
5. IMPLEMENTATION DETAILS
Implementation has been done in .NET
environment with the help of WSE 3.0 toolkit which
provides support for several web services security
specifications like WS-Security, WS-Trust, WSSecureConversation etc. Today the world is witnessing the
convergence of grid and web services. The security
requirements of grid services overlap deeply with the
security requirements of web services as grid services are
stateful web services. The two (grid and web) started far
apart in specifications, technology and applications but
now they are converging into a common set of standards
and specifications. So the proposed Trust Model has been
implemented in terms of web services. Web services
security specifications [22] consisting of WS-Security
[23], WS-Trust [17], WS-SecureConversation [24] etc.
have been submitted to OASIS by IBM, Microsoft and
other leading organizations. These specifications addresses
security requirements like how to associate security tokens
with messages (WS-Security), how to express constraints
and requirements of a web service (WS-Policy), how to
request and issue security tokens to establish trust (WSTrust and WS-Federation), how to establish and share
security contexts (WS-SecureConversation) etc. These
specifications, supported by WSE 3.0, are being used to
implement Trust based Authorization Framework.
In order to provide trust based access control, the
XACML based Authorization Framework as shown in Fig.
5 has been used. The XACML based access control
framework has also been used in GT4 (Globus® Toolkit
4) [25], which is the most commonly and widely used
toolkit to construct grid services and applications. In
XACML, policy is constructed as a set of rules against the
target defined as a triod (Subject, Resource, Action). Fig.
5 also shows other components of the model and depicts
how the proposed trust model fits into the authorization
framework.
As shown in Fig. 5, authorization request from
Subject SU is first intercepted by PEP (Policy
Enforcement Point). PEP constructs an authorization
decision query and passes it to authorization handler. The
result of this query determines if the request is to be
granted/deny access to requested Service/Resource. The
authorization decision query has details about the identity
of the Subject, the Service requested, the purpose for
which Service is requested and other details. Authorization
Engine passes this information to PDP (Policy Decision
Point). The Policy is retrieved by PDP from PRP (Policy
Retrieval Point). If the policy information is not available
at PRP, it may be retrieved from Policy Store. The Policy
Store contains different types of access control policies,
expressed in XACML. Trust policies are also stored in
Policy Store. The Policies are written by administrator
using PAP (Policy Administration Point). PIP (Policy
Information Point) is used by Authorization Engine to
retrieve attributes of Resources, Subjects and
Environment. Trust Manager provides trust based access
control information to Authorization Engine. The
architecture and working of Trust Manager Service has
been explained in Section 4. After receiving this
information, Authorization Engine prepares a final result
and passes it to PEP. Depending upon the result, PEP
either grants the access of requested Service/Resource to
the Subject or denies it. After access, the obligation
Service, if any, is also executed by PEP.
Fig 6. Schematic representing high level view of the
implementation. Also showing WS-* and other specifications
used
Fig 5. Trust based Authorization Framework
Fig. 6 shows a high level view of the
implementation.
All
the
information
among
communicating parties is exchanged as SOAP messages.
WSE 3.0 has been used to construct SOAP messages. WSSecurity information is embedded in SOAP message to
handle encryption and signature requirements. SOAP
messages make use of WS-Security and related
specifications for security token exchange and to address
security requirements like confidentiality and integrity.
The diagram also shows Policy database (PO) to store
142
Volume 2 No. 3
ISSN 2079-8407
Jou r n a l of Em e r gin g Tr e n ds in Com pu t in g a n d I n for m a t ion Scie n ce s
©2010-11 CIS Journal. All rights reserved.
http://www.cisjournal.org
trust and other security policies in the XACML format. At
the target Domain the SOAP message is processed,
credentials are verified and Trust based Authorization
Framework (as described in Section 5) is invoked to
obtain the trustworthiness of Subject. Subject’s
conformance to established trust and other security
policies is also checked and based on the final result,
access to Service/Resource is either granted or denied.
During all these steps the relevant information is stored in
log tables also to address auditing and accounting
requirements.
In the prototype implementation, 10 Domains
have been created with users ranging from 10 to 20 in
each Domain. All the Domains have more than 5 Service
Providers that provide Services/Resources to other
Domains. In the database the success and failure incidents,
trust value and trust type of a Subject with
Subjects/Services of other Domains etc. have been stored.
Trust relationship (TR) among different Domains is also
stored in the database. Database also contains trust
policies established among Subjects and Services of
same/different Domains. The XACML skeleton used for
the specification of trust policies is shown in Fig. 7. The
trust policies are exposed by Subjects/Services in the
environment. Other access rules and management policies
are also stored in the database in XACML format. The
relevant information is fetched and used by Authorization
Engine (through Trust Manager Service) to prepare final
authorization decision.
determining trustworthiness of domain, service provider or
service. These policies have been attached to the service
and the time taken by the PEP component for each trust
policy is noted. The average time taken by PEP
component in this case comes out to be 207.956 ms. Fig. 8
shows the details.
Fig. 8. PEP time to evaluate different trust policies.
The time taken to evaluate different number of
trust policies is also noted. For this the number of trust
policies attached with the service has been varied from 1
to 50 and the time taken by the PEP component has been
noted. Fig. 9 shows the details of results obtained.
Fig 9. PEP time to evaluate trust policy file of different sizes.
The results show that the prototype
implementation is able to meet identified security
requirements and trust policies. It is clear from the results
that PEP time increases more assertively with the increase
in number of trust policies. This is due to the fact that
determination of trust value of a target involves
calculations and access to history of past interactions taken
place between source and target, which is time consuming.
Therefore, performance can be a concern if the number of
trust policies attached with a service/resource is more.
Overall, the results obtained for this implementation
suggests that the approach is workable and the proposed
framework can be used to provide trust based access to
grid services.
6. SUMMARY,
CONCLUSION
FUTURE PLANS
Fig 7. XACML Skeleton used for the specifications of trust
policies.
For the performance analysis of trust policies, 50
trust related policies have been created. These policies
include different aspects related to trust and involve
AND
The paper presents a trust model for grid services
and describes its implementation with the authorization
framework to enable trust based access control. The
prototype implementation with a sample scenario has
shown that the framework is able to meet the identified
trust requirements and trust issues and thus the approach is
workable. Currently we have prototype implementation. In
future we are planning to use this model in real
environment. The process of defining a privacy model and
143
Volume 2 No. 3
ISSN 2079-8407
Jou r n a l of Em e r gin g Tr e n ds in Com pu t in g a n d I n for m a t ion Scie n ce s
©2010-11 CIS Journal. All rights reserved.
http://www.cisjournal.org
integrating it with trust based authorization framework is
also in the pipeline.
REFERENCES
[1] Foster, C. Kesselman and S. Tuecke, “The Anatomy
of Grid: Enabling Scalable Virtual Organizations”,
International Journal of Supercomputer Applications,
2001.
[2] Foster, C. Kesselman, J.M. Nick and S. Tuecke, “The
Physiology of the Grid: An Open Grid Services
Architecture for Distributed Systems Integration”,
Open Grid Service Infrastructure WG, Global Grid
Forum, 2002.
[3] D. Olmedilla, O. F. Rana, B. Matthews and W. Nejdl,
“Security and Trust Issues in Semantic Grids”,
http://drops.dagstuhl.de/opus/volltexte/2006/408
[4] C. Lin, V. Varadharajan, Y. Wang and V. Pruthi,
“Enhancing Grid Security with Trust Management”,
Proceedings of IEEE International Conference on
Service Computing, 2004.
Services”, Proceedings of 12th International
Symposium on High Performance Distributed
Computing, 2003.
[14] N. Nagaratnam, P. Janson, I. Foster, et.al., “Security
Architecture for Open Grid Services”, GGF OGSA
Security Workgroup, 2003.
[15] L. Pearlman, V. Welch, I. Foster, C. Kesselman and
S. Tuecke, “A Community Authorization Service for
Group Collaboration”, Proceedings of IEEE 3rd
International Workshop on Policies for Distributed
Systems and Networks, 2002.
[16] R. Alfieri, R. Cecchini, V. Ciaschini, L. dell’ Agnello,
A. Frohner, A. Gianoli, K. Lorentey and F. Spataro,
“VOMS, an Authorization Syatem for Virtual
Organizations”,
grid-auth.infn.it/docs/VOMSSantiago.pdf
[17] S. Anderson, J. Bohren et al., “Web Services Trust
Language(WS-Trust)”
available
at
specs.xmlsoap.org/ws/2005/02/trust/WS-Trust.pdf
[5] M. Humphrey, M. R. Thompson and K. R. Jackson,
“Security for Grids”, Invited Paper, Proceedings of
IEEE, 93(3):644-652, March 2005.
[18] S. Bajaj, G. Della-Libera et al., “Web Services
Federation Language (WS-Federation)”, 2003,
http://specs.xmlsoap.org/ws/2003/07/secext/WSFederation.pdf
[6] F. Azzedin and M. Maheswaran, “Evolving and
Managing Trust in Grid Computing Systems”,
Proceedings of IEEE Canadian Conference on
Electrical and Computer Engineering, 2002.
[19] S. Singh and S. Bawa, “A Privacy, Trust and Policy
based Authorization Framework for Services in
Distributed Environments”, International Journal of
Computer Science, Vol. 2, No. 1, 2007, pp. 85-92.
[7] A. Abdul-Rahman and S. Hailes, “A Distributed Trust
Model”, 1997, http://citeseer.ist.psu.edu/347518.html
[20] M. R. Thompson, D. Olson, R. Cowles, S. Mullen and
M. Helm, “CA-based Trust Model for Grid
Authentication and Identity Delegation”, Grid
Certificate
Policy
WG,
http://www.gridcp.es.net/Documents/GGF6/TrustMod
el-final.pdf, 2002.
[8] M. Blaze, J. Feigenbaum and J. Lacy, “Decentralized
Trust
Management”,1996,
http://citeseer.ist.psu.edu/blaze96decentralized.html
[9] M. Blaze, “Using the KeyNote Trust management
System”,
1999,
http://www.crypto.com/trustmgt/kn.html
[21] XACML
Version
2.0,
http://docs.oasisopen.org/xacml/2.0/access_control-xacml-2.0-corespec-os.pdf.
[10] A. Abdul-Rahman and S. Hailes, “Supporting Trust in
Virtual
Communities”,
2000,
http://citeseer.ist.psu.edu/235466.html
[22] “Security in a Web Services World: A Proposed
Architecture and Roadmap”, Joint Security
whitepaper from IBM Corporation and Microsoft
Corporation 2002.
[11] F. Azzedin, M. Maheswaran and A. Mitra, “Trust
Brokering and Its Use for Resource Matchmaking in
Public-Resource Grids”, Journal of Grid Computing
(2006) 4: 247-263.
[23] B. Atkinson, G. Della-Libera et al., “Web Services
Security
(WS-Security)”
available
at
www.verisign.com/wss/wss.pdf
[12] F. Azzedin and M. Maheswaran, “Integrating Trust
into Grid Resource Management Systems”,
Proceedings of International Conference on Parallel
Processing (ICPP), 2002.
[13] V. Welch, F. Siebenlist, I. Foster, J. Bresnahan, K.
Czajkowski, J. Gawor, C. Kesselman, S. Meder, L.
Pearlman and S. Tuecke, “Security for Grid
[24] S. Anderson, J. Bohren et al., “Web Services Secure
Conversation
Language(WS-SecureConversation)”
available at specs.xmlsoap.org/ws/2005/02/sc/WSSecureConversation.pdf
[25] B. Lang, I. Foster, F. Siebenlist, R. Ananthakrishnan
and T. Freeman, “A Multipolicy Authorization
Framework for Grid Security” at www.globus.org
144