ZHANG et al.: DOMAIN PARTITION-BASED TRUST MODEL FOR UNRELIABLE CLOUDS 2169
malicious nodes. To the best of our knowledge, there is no
such study discussing and analyzing accurate trust evaluation
and changes of both users and providers in a cloud computing
environment. Doing so is clearly important for trusted cloud
computing. This work intends to develop a trust computing
method for rapidly evaluating the trust changes of users and
providers and detecting malicious nodes quickly.
In summary, most existing methods fail to realize the
objectives to minimize trust storage and computing overhead
and maximize the ability to detect malicious nodes and their
unfaithful trust evaluations in unreliable cloud environments.
Different from them, this work proposes a domain-partition
based trust model to decrease trust management overhead.
It keeps a trustworthy domain by adopting a filtering strat-
egy to remove malicious evaluations and nodes. This work’s
contributions are threefold.
1. It proposes a novel domain partition method to focus on
a relatively small number of nodes that have had or plan to
have transactions among them in a domain, which can greatly
decrease the overhead of trust management.
2. It develops an algorithm to compute domain trust and
cross-domain trust and identify a malicious node (whether a
user or a provider) in a timely manner. It proposes to deploy a
filtering procedure to rid malicious evaluations and malicious
nodes, so as to provide accurate trust information.
3. It designs domain and cross-domain sliding windows to
store recent trust values in all domain-TTPs and Bridge-TTP,
such that trust storage overhead is manageable and updated
trust values can be rapidly computed.
The rest of the paper is organized as follows. Section II
presents a trust model and its related concepts. Section III
details its implementation. Section IV discusses experimental
results and compares it with two updated trust models. Finally,
Section V concludes this paper with a discussion of future
research issues.
II. P
ROPOSED TRUST MODEL
This work focuses on the trust relationship among nodes
that are users and providers. Users need services from trusted
providers instead of malicious ones who provide untrusted,
unreliable or poor services; while providers prefer to deal with
trusted users as well. When one node invokes a service of
another node, the direct trust relationship between them results
after their successful transaction. Some basic concepts related
to our proposed trust model are next introduced.
A. Basic Concepts
1) Concepts of Trust: Before we define a node’s trust,
we first introduce direct and indirect trust from a node to
another. If node i trusts node j, we call i a subject and
j an object. When subjects have a direct transaction with
objects, direct trust [2], [15] comes into being. If node i has M
transactions with node j,thenweuset
ij
to denote direct trust
from node i to node j, denoted as i
trust
−→ j and computed as:
t
ij
=
M
k=1
t
k
ij
M
(1)
TABLE I
R
ELEVANT ATTRIBUTES OF TRUST
where t
k
ij
denotes a direct trust evaluation from i to j based
on transaction k ∈{1, 2,...,M}.
Given nodes i, j,andl,ifi
trust
−→ j and j
trust
−→ l,then
i
trust
−→ l. The trusts between i and j, and between j and l
are direct ones. The trust between i and l is an indirect one
generated with the help of trust transfer via j.
In practice, we may not have enough direct trust relationship
to cover every pair for computing indirect trust. Then what
should we define if a node has no transaction with node j and
cannot find middle nodes to reason its indirect trust but wants
to know j’s trust? A simple solution to it is to define node
trust of j as follows:
¯
T
j
=
K
j
i=1
t
ij
K
j
(2)
where K
j
is the number of nodes that have had transactions
with node j. It is clear that the node trust of j is the
aggregation of multi-node direct trusts to j.Whent
ij
, ∀i ∈
{1, 2,...,K
j
}, is accurate, so is
¯
T
j
.IfK
j
= 0, we use j’s
initial trust value. It should be noted that node trust may
change with time.
Theoretically, trust can be divided into any number of
levels; while this number practically depends on user require-
ments. The more levels, the larger computation overhead but
higher precision and vice versa. By following some existing
work, e.g., [4], [38], we select five levels for our following
discussions. They are EXTREMELY HIGH TRUST, HIGH
TRUST, NORMAL TRUST, LOW TRUST and NO TRUST
with their trust value ranges shown in Table I. Nodes with
trust levels 1, 2 or 3 are regarded as trusty ones; while those
with levels 4 or 5 as malicious ones.
2) Sliding Windows: The importance of trust in a recent
period is greater than that in the past. We propose the concept
of recent trust that intends to measure the most updated trust
values. Trust computation relies on historical transactions and
may change with time dynamically. We thus pay less attention
to the old historical transaction information. Considering the
complexity and distributed nature of cloud computing, we use
a sliding window to store and update recent trust values.
The concept of a sliding window with size m is shown
in Fig. 1. From its left side to the right one, we have m
time slots in order. Each slot keeps a direct trust evaluation
resulting from a transaction. The transactions in the latest time
slots affect node trust more than that of earlier ones. Hence,