Trust Computing for Social Networking - IEEE Xplore

9 downloads 174538 Views 272KB Size Report
Trust Computing for Social Networking. Yanjun Zuo. University of North Dakota. Email: [email protected]. Wen-Chen Hu. University of North Dakota.
2009 Sixth International Conference on Information Technology: New Generations

Trust Computing for Social Networking Yanjun Zuo University of North Dakota Email: [email protected]

Wen-Chen Hu University of North Dakota Email: [email protected]

[6]. Trust is a model for agent interactions [7] and a gauge of attack-resistance [8]. The trust management problem was identified as a distinct and important component of security in network services [9]. Our notation of trust is similar to that defined in [2], where a trust level is associated with users. In our model, each user is associated with other users two different kinds of trust: recommendation trust and attribute trust. The first type falls into the category of topical trust [10] because it expresses how trustworthy a trustee is in making honest, unbiased recommendation about other parties. The second type of trust falls into the category of absolute trust since it expresses the trustworthiness of another party without a particular topic. In this paper, a social network participant who evaluates the trustworthiness of another participant is called a trustor (or evaluator), and the party being evaluated is called a trustee. The primary property of trust used in this paper is transitivity. In social networks, trust can be passed between people. When we ask a trusted friend for an opinion about a plumber, we are taking the friend’s opinion and incorporating that to help form a preliminary opinion of the plumber [2]. This paper introduces a transitive trust evaluation framework. We studied the inherent relationships between a trust graph and a set of relevant trust chains. We analyzed the characteristics of a trust graph (e.g., its capacity, degree, completeness), proposed a model to calculate trust along a trust chain, and evaluated a trust based on a trust certificate graph. We also developed algorithms to fuse relevant trust chains to a trust graph and identify a base trust chain set. To our best knowledge, we are the first to address those issues in a social network environment. The remainder of the paper is organized as follows. The next section discusses related work. Section 3 presents the background of transitive trust evaluation. Section 4 presents the detailed trust evaluation methods. Section 5 concludes the paper.

Abstract Trust plays an important role in a web-based social network. Given the open and dynamic nature of such an online virtual community, trust evaluation relies on transitive relationships among the direct and indirect neighbors of an evaluator. We propose a framework to evaluate the trustworthiness of a given node (e.g., a user) based on a set of trust chains and a trust graph. We will also systematically analyze the inherent relationships between the two approaches. Many terms presented in this paper are new, including a virtual trust chain, the capacity, completeness, and degree of a trust graph, and a base trust chain set for a complete trust graph. Our contributions also include algorithms outlining novel approaches for peer trust evaluation in social networks. Keywords: Algorithms, graph and networks, computational trust, data abstraction, optimization.

1.

Introduction

In the past few years, web-based social networks have become popular among various user groups. One of the major aims of a social network is to enable participants to exchange ideas, experiences, and knowledge, as well as to create relationships for such purposes as entertainment, dating, blogging, or business. Despite the many advantages that a social network offers to users, the need for the resource owner to retain a reasonable level of control over the resources that they brought to the social network must be addressed. In some social networks, users can specify how much they trust other users by assigning them a trust level [1].The decision to exchange information is partially based on the establishment of a trust relationship. Trust is a fundamental concept in many social activities. The role of social trust in computing is becoming a prominent topic for research on the Semantic Web, within humancomputer interaction, and in the larger computing community as a whole [2]. Computational trust has been applied to different applications. For instance, trust-based access control uses trust as a metric to verify users and authorize resources access [3, 4, 21,22]. Trust has been used as a motivation for online interaction and recommendation systems [5]. Trust is a measure of the quality of a peer in P2P system

978-0-7695-3596-8/09 $25.00 © 2009 IEEE DOI 10.1109/ITNG.2009.278

Timothy O’Keefe University of North Dakota Email: [email protected]

2. Related Work Given the direct trust relationships among nodes of a decentralized system, several methods ([11-16], to cite a few) have been developed to recursively calculate the transitive trust between two non-neighbor subjects. Josang [11] introduced an authentication algebra that takes relative trust in the key-to-owner binding and trust 1534

in the ability to recommend into consideration. The algebra provides a practical solution to the problem of authentication in open networks. Jiang, et al., [12] proposed statistical rules for trust evaluation in autonomous networks. Theodorakopoulos, et al., [13] presented a scheme for evaluating trust evidence in Adhoc networks. Trust relations are based on evidence related to the previous interactions of entities within a protocol. The trust evaluation process is formulated as a path problem on a directed graph, where nodes represent entities and edges represent trust relations. Using the theory of semirings, the authors show how two nodes can establish an indirect trust relation without previous direct interaction. Guha, et al., [14] developed a formal framework of trust propagation schemes, introducing the formal and computational treatment of distrust propagation. A small number of expressed trusts per individual allow a system to predict trust between any two people in the system with high accuracy. In our model, we use a more formal data structure (i.e., trust certificate) to represent user trust relationship. Ray, et al., [15] proposed a vector model of trust. Trust is specified as a trust relationship between a trustor and a trustee. Three parameters are identified (experience, knowledge and recommendation) that contribute towards defining this trust relationship. Expression was proposed for evaluating these factors. Richardson, et al., [16] presented a method to calculate peer trust of a semantic web based on path algebra. If the chosen aggregation function is commutative and associative, and the concatenation function is associative and distributes over the aggregation function, then trusts can be combined locally while still maintaining global meaning [16]: (1) Ť(0) = T, (2)Ť(n) = T▪Ť(n-1), and (3) repeat until Ť(n) = Ť(n-1), where Ť is the matrix of merged trusts, Ť(0) is the value of Ť in iteration i. To perform the computation, a user needs only to know her neighbor’s merged trusts. However, using standard transitive closure algorithms to implement Richardson’s method will have at least O(N4) time, where N represents the number of nodes in a semantic web. On the other hand, the algorithm for trust calculation as proposed in this paper has only linear time complexity in the worst case. Our framework is different from the above research work. Our trust calculation algorithms are different from the existing models since they are based on the concept of trust chain fusion. We also extended the current trust calculation approaches and analyzed the inherent relationships between a trust graph and a set of relevant trust chains. We defined trust chain relevance and independency, trust chain fusion, virtual trust chain, the capacity, degree, completeness of a trust graph. We also studied the optimization issues in trust evaluation based on a trust graph, e.g., identifying a base trust chain set for a given complete trust graph within the scope of trust space. To our best knowledge, we are the first to

systematically address those trust evaluation issues for an online community network.

3. Background This section describes the basic concepts that our model will use. Trust data structures will be defined.

3.1 Trust Certificate and Certificate Space The term, trust certificate, represents a wellformatted digital document issued by a social network participant, representing that the document holder, called subject, has certain attributes (e.g., a topical trust or an absolute trust). This term has been used in different contexts with various meanings. In this paper, it represents a direct trust of one node in a social network for another. A trust certificate ci contains the following components: 1) Certificate Type: the category of the trust certificate (either an attribute certificate or a recommendation certificate); 2) Subject (ci): the social network participant which ci is about; 3) Issuer (ci): the network participant which signs and authorizes ci; 4) Trust Value: a quantitative measurement of the trust that Issuer places on Subject. We define this value as a real number in range [0 1]; and 5) Digital Signature: a verifiable cryptographic document signed by Issuer, which confirms to any user that the given trust certificate is endorsed by Issuer and has not been alerted by any entities without permission. A social network participant may issue attribute trust certificates to its directly neighbors and issue recommendation trust certificates to the trustworthy recommenders, which, it believes, would make good recommendations about other entities’ attributes. All the trust certificates issued by a social network participant, p, in the domain of a social network, N, form the trust space of p, denoted as S(p). Formally, S(P) = i = k , where ci

U

{ ci }

i=1

represents a trust certificate, Issuer(ci) = p, Subject (ci) = p’, p∈ Members(N), p’∈ Members(N), and p≠ p’. The trust certificate space of a social network N, denoted as S(N), includes all the valid trust certificates issued by the participants of N, i.e., S(N) = S(p1) ∪ S(p2) ∪…∪S(pn).

3.2 Trust Chain and Trust Concatenation In order for an evaluator, p1, (i.e., the trustor) to assess the trustworthiness of an entity, p2, (i.e., the trustee), there must be a set of logically connected trust certificates to represent the transitive trust of p2 for p1. Such a set of ordered trust certificates is called a trust certificate chain as defined below. Definition 1: A trust certificate chain (or trust chain), C, with regard to a trustor, p1, and a trustee, p2, in a social network N consists of n ordered trust certificates, c1, c2, …, cn, (n ≥ 1) in the scope of S(N), with the following properties: (1)Border entity property: Issuer(c1)

1535

= p1 and Subject(cn) = p2; (2) Trust type property: Type(ci) = “Recommendation Trust Certificate,” where 1 ≤ i < n and Type(cn) = “Attribute Trust Certificate”; (3) Acyclic property: ! ∃ p∈ Members(N) so that Issuer(ci) = p, Subject(cj) = p, 1 ≤ i, j ≤ n and i ≠ j; and (4) Connection property: for every ci (1 ≤ i < n), Subject(ci) = Issuer(ci+1). For a trust chain, C, with regard to a pair of a trustor, p1, and a trustee, p2,: c1, c2, …, ci, …, cn, the transitive trust that p1 places on p2 is calculated by recursively applying a concatenation function (e.g., a multiplication function) on all the intermediate trust values. Let r1, r2, …, ri, …, rn represent the issuers of trust certificates c2, …, ci, …, cn, respectively (i.e., ri is the issuer of trust certificate ci, where 1 ≤ i ≤ n). Then the trust value of p2 for p1 as evaluated based on C, denoted as TC(p1, p2), is calculated using Formula (1), where T(ri, ri+1) represents the trust that ri places on ri+1 (1 ≤ i < n). TC(p1, p2) = T(p1, r1) * T(r1, r2) * … * T(rn, p2) (1)

recursive process proceeds until all the relevant trust certificates in S(N) are explored. Approach (a) requires that the trustor and/or trustee have knowledge about the entire space of S(N). In some cases, it may be easier to collect related trust chains with regard to p1 and p2 first. Then a trust graph can be constructed solely based on those available trust chains as indicated by approach (b). Algorithm 1 describes such a method. Two trust chains are relevant if they share the same pair of trustor and trustee, i.e., the issuer of their first trust certificate and the subject of their last certificate are the same. Algorithm 1: Trust Graph Construction Based on Relevant Trust Chains Input: C1, C2, …, Cn: A set of trust chains in S(N) w.r.t. p1 and p2 Output: G: trust graph w.r.t. p1 and p2 based on trust certificates of S(N) Trust_ Graph_Construction( ) For every Ci in {C1, C2, …, Cn} 1 ≤ i ≤ n, do Let t1, t2, …, tm represent the m trust certificate of Ci For every tj in {t1, t2, …, tm}, 1 ≤ j ≤ m, do Let p = Subject(tj) Let p’=Issuer(tj) V(G) = V(G) ∪ {p} E(G) = E(G) ∪ {(p,p’)} Assign the weight of edge (p, p’) as the trust value represented in tj

3.3 Trust Graph Given a pair of trustor, p1, and trustee, p2, multiple trust chains could be constructed to form a trust certificate graph. Although the similar concept exists [17, 18], we formally define a trust certificate graph below. Definition 2: A trust certificate graph, G, in the scope of a trust certificate space, S(N), is a directed weighted graph with regard to p1 and p2 subject to the following requirements: (1) Each node v ∈V(G), where V(G) denotes the vertex set of G, represents an entity that is a subject or issuer of a trust certificate of S(N); Each edge e = (A, B)∈E(G), where E(G) denotes the edge set of G, represents a trust relationship between entities A and B, where A trusts B to a certain degree as indicated by the weight of edge e; (2) G is connected; (3) p1 has only outgoing edges and p2 has only incoming edges; and (4)Every intermediate node v’∈V(G) must be reachable from p1 and there is at least one path from v’ to p2.

Proposition 1: A set of relevant trust chains with regard to a pair of trustor, p1, and trustee, p2, can always form a trust graph with the same pair of trustor and trustee.

Proof of Proposition: (1) Base case: any two relevant trust chains C1, C2 (i.e., C1 and C2 share the same pair of trustor and trustee) can always be “merged” to form a trust graph; (2) Assume that k (k ≥ 2) relevant trust chains have formed a trust graph G with regards to p1 and p2. With one additional trust chain Ck+1 with regards to p1 and p2, G can be “merged” with Ck+1 to form a new trust graph G’ following Algorithm 1. So, if the case n = k is true, then the case of n = k is also true.

4. Peer Trust Evaluation Framework

4.2 Trust Chain Fusion

4.1 Trust Graph Construction

Two trust chains C1 and C2 are independent if (1) C1 and C2 are relevant; and (2) no other entity in the trust certificate space appears more than once as either a subject or an issuer of any trust certificate in C1 or C2. If C1 and C2 satisfy the above condition (1) but not (2), we say C1 and C2 are overlapped. Two overlapped trust chains may be “broken” down to several independent trust chain portions. The above discussion can be expanded to the case of multiple trust chains C1, C2, …, Cn (n ≥3). Two independent trust chains (or trust chain portions) C1 and C2 with regard to p1 and p2 can be fused into a virtual trust certificate about the same trustor and trustee as the two fused trust certificates. Trust chain fusing represents a way to combine or integrate the

Given a trust certificate space S(N) in a social network, there are two general ways to construct a trust graph G with regard to a given pair of trustor, p1, and trustee, p2: (a) trust certificate-based approach: constructing G directly based on available trust certificates of S(N); and (b) trust chain-based approach: constructing G based on a set of related trust chains with regard to p1 and p2. For approach (a), a forward search of the trust certificates in S(N) starts from the trustor node p1 and recursively searches for the trust certificates that it issues. The search process tracks back when the subject of the issued trust certificate is p2 or no more trust certificates issued by the entity can be found. The

1536

opinions of multiple sources of recommenders about the trustworthiness of an entity under evaluation. The trust value represented in the virtual trust certificate is calculated based on the given independent trust chains. In other words, a virtual trust certificate is a logically equivalent trust certificate to a set of mutually independent trust chains (or trust chain portions). Figure 1 shows two relevant trust chains C1 and C2 with regard to p1 and p2 and the fused virtual trust certificate, VC(p1, p2). Suppose that C1 contains n+1 trust certificates: C(p1, E1), C(E1, E2), …, C(En-1, En), C(En, p2) and C2 contains m+1 certificates: C(p1, E1), C(E1, E2), …, C(Em-1, Em), C(Em, p2). This calculated indirect trust of p2 for p1 is represented by the virtual trust VC(p1,p2) shown in a dotted line. E1

C1

C(E1, E2)

En



E2

C(p1, E1)

C(En, p2)

P1

VC(p1, p2) C(p1, E1’)

E 1’

P2 C(Em’, p2)

C2

C(E1’, E2’)

E 2’

Em’



Figure 1: Trust Chains C1 and C2 and the Fused Trust of P2 for P1 Represented by a Virtual Trust Certificate VC(p1, p2)

We propose a formula to integrate user opinions about an entity based on multiple trust chains. Refer to Figure 1, let t1, t2, …, tn, te be the trust values represented by the corresponding trust certificates of C1 and t1’, t2’, …, tm’, te’ be the trust values represented by the corresponding trust certificates of C2. The fused trust value as represented in the virtual trust certificate VC(p1, p2), denoted as t’, can be calculated using the reverse-sum function as shown in Formula (2), where a1= t1 * t2 * …* tn * te and a2= t1’* t2’* …* tm’* te’. 1 = 1 + 1 (2) t'

Algorithm 2: Fusion-based Trust Calculation Given a Trust Graph G Input: (p1, p2): The pair of trustor and trustee Fused_trust[]: An array to represent the trust value of a node p for p1 based on the virtual trust certificate from p1 to p after all the trust chains have been fused. Initially, every element of Fused_trust[] is -1 Nearest_queue[]: An ordered list to represent the distance of every infused node to p1 (ordered from the shortest distance to the longest distance from p1) Output: Fused_trust[p2]: The aggregated trust value of p2 for p1

a2

a1

Formula (2) can be extended to three or more than two independent trust chains. Formula (3) shows the general format for calculating fused trust t based on j independent trust chains l1, l2, …, lj, where ai represents the concatenated trust value based on trust chain li. +…+ 1 (3) 1 = 1 + 1 t

a1

a2

virtual trust certificate replaces those fused trust chains for the following calculation. Next, the generated virtual trust chain is fused with other relatively independent trust chains, independent trust portions, or virtual trust chains. This process continues until the entire trust graph is fused to a single virtual trust certificate. Then the trust value represented by the final virtual trust certificate represents the trust that p1 places on p2. Algorithm 2 describes this process, which is explained below: (1) mark all nodes of G except p1 and p2 as infused; (2) find a marked node (infused) with at least two incoming paths and the distance of that identified node from p1 is shortest (the distance between two nodes is defined as the number of edges along a shortest path from one node to another). If multiple nodes satisfy the shortest distance requirement, randomly choose one. We assume p is such a node; (3) For every incoming edge from node p’ to p, if p’ is marked infused, regard p’ as p and repeat the above step (2). This recursive process is to ensure that a node is fused only after all its up-stream nodes (toward the trustor node p1) have been fused; (4) After all the up-stream nodes have been fused, the independent trust chains (including any previously resulted virtual trust certificates) from p1 to p are fused and replaced by the resulted virtual certificate, VC(p1, p). The trust value represented in VC(p1,p) is calculated using Formula (3); (5) now node p can be marked as fused. Repeat step (2) until all the intermediate nodes of G is fused and the final virtual trust certificate represents the trust value of p2.

int Trust_Evaluation() Fused_trust(p1) = 1 while (Fused_trust[p2] = -1), do Let p = Nearest_queue(0) Remove p from Nearest_queue() Fusing(p) Return Fused_trust(p2)

aj

Refer to Formula (3), since each individual concatenated trust value along a trust chain, i.e., a1, a2, …, or aj is in range [0 1], the fused trust value t must be greater than any of the component concatenated trust values (the trust fusion rule).

Subroutine: Fusing(Node p) Let list L ={e1, e2,…, em} contains all the direct upstream nodes of p in G (nodes with direct edge to p) Let array Ag[] represent the aggregated trust of p for p1 along a path through each element of L For very ei in L = {e1, e2,…, em},1≤ i ≤ m, do { If (ei = p1), do Continue; If (Fused_trust[ei] = -1), do Fusing(ei) Else

4.3 Trust Evaluation Based on a Trust Graph An alternative approach has been proposed to calculate the trust value that a trustor, p1, places on a trustee, p2, based on a trust graph G. Starting from p1 in G, the independent trust chains (or independent trust chain portions) to a node of G are fused first. Then the resulted

1537

Ag[i] = Fused_trust[ei] * Trust(ei,p) // apply formula (3) here to calculate Fused_trust(p)

graph constructed based on a subset of trust chains is acceptable. A trade-off must be made between the costs of collecting a complete set of trust chains and the optimal trust value of trustee evaluated. Although a complete trust graph G* is unique, the set of trust chains used to construct G* is not unique. We are interested in identifying the minimum number of relevant trust chains that can be used to construct G*. Definition 5: The minimum number of relevant trust chains with regard to p1 and p2 used to construct a complete trust graph G* is called the degree of G*, i.e., D(G*). Definition 6: The D(G*) relevant trust certificate chains that can construct a complete trust certificate graph G* is called a base trust chain set of G*. For a given complete trust graph G*, identifying D(G*) and a base trust chain set of G* is not trivial. Algorithm 3 describes an approach to calculate D(G*) for a given G* and identify a base trust certificate chain set of G*. The algorithm has an exponential time complexity in terms of number of edges of G*. Given a base chain set of G*, all the other valid trust chains in S(N) can be derived. There can be more than one base trust chain set for a given complete trust graph. But the degree of those base trust chain sets must be identical, i.e., they all equal to the degree of a complete trust graph in the scope of S(N).

The time complexity of Algorithm 2 in the worst case is O(n+m),where n represents the number of vertex in G and m represents the number of edges in G. If the time to sort the nodes is considered, then an extra time, e.g., O(n*logn) should be added if an efficient sorting algorithm is used.

4.4 The Capacity, Completeness, Degree, and a Base Trust Chain Set of a Trust Graph This section studies the optimization issues in trust evaluation based on a trust graph. Related terminologies are introduced first. Definition 3: The capacity of a trust graph, G, in the scope of a trust certificate space S(N), denoted as CS(N)(G), is defined as the trust value of the trustee evaluated based on G. Definition 4: A trust graph, G, is complete if CS(N)(G) has been maximized in the scope of a given trust certificate space S(N), i.e., there is no another trust graph G’ in S(N) so that (1) G’≠ G,; and (2) CS(N)(G’) > CS(N)(G). We use the symbol G* to denote a complete trust graph constructed based on S(N). Given S(N) and a trust graph G in its scope, we would like to know: (1) if the capacity of G is maximized, i.e., G is complete, and (2) if a S(N) has an unique complete trust graph. Proposition 2: As long as a new trust certificate of S(N) can be identified and added to a trust graph G as a new edge and all the requirements for a trust graph are still satisfied, G is not complete and CS(N)(G) can increase correspondingly. Due to page limitation, we don’t show the proof. Proposition 3: For a given trust certificate space S(N) in a social network N, there is only one unique complete trust graph G* for a given pair of trustor and trustee. Proof of Proposition: Suppose that G* is not unique and there is another trust graph G*’ in the scope of S(N) so that (1) G* ≠ G*’ and (2) G*’ is complete. Two cases are possible as discussed below. Case 1: there is a vertex v∈V(G*) but v∉V(G*’). Since G* is connected, there must be an edge {v, v’}∈E(G*). If we add v to V(G*) and {v, v’} to E(G*’), then the capacity of G*’ will increase (according to Proposition 2). This is impossible since G*’ is already complete. Case 2: V(G*) = V(G*’) but there is an edge e∈E(G*) and e∉E(G*’). If we add e to E(G*’), then the capacity of G*’ will increase (according to Proposition 2). This is also impossible since G*’ is already complete. Given the scope of a social network, it is not realistic to expect that all the valid trust chains are collected to construct a complete trust graph. A sub-optimal trust

Algorithm 3: Calculation of the Degree of a Complete Trust Graph G* and Identification of a Base Trust Chain Set of G* Input: (p1, p2): the trustor and trustee; Num: the number of edges of G*, i.e., Num = | E(G*)|; visited[]: an array keeping track if an edge is visited; ST: a stack of trust chains with regard to (p1, p2) Output: D(G*): The degree of G*; Base: An array that indicates a bases trust chain set of G* (each element represents a trust chain with regard to (p1, p2)) void Degree_And_Base_Set() D(G*) = Num Randomly pick up the ith unvisited edge from E(G*) (0 ≤ i < Num), denoted as e Edge_Cover(e) Subroutine: Edge_Cover(edge e) visited[i] = true // i represents the index of edge e Let {l1, l2, …, ln}, where 0 ≤ n < Num, represent all the trust chains with regard to (p1, p2) based on G*, and each li has e as an intermediate edge element For each li ∈ {l1, l2, …, lm}, where 0 ≤ i ≤ n, do { Push(li, ST); Identify all the edges {e1, e2, …, ek} so that each ej ∈ li and visited(ej) = false For each ei ∈ {e1, e2, …, ek}( 1≤ j ≤ k), do visited[t] = true; If(all the edges are marked visited), do If ( |ST| < D(G*), do D(G*) = | ST|; Copy all elements to Base; Else, do Let {e’1, e’2, …, e’m} represent all edges in 1538

G*, which are marked as unvisited For each e’i ∈ {e’1, e’2, …, e’m}, where 1≤ j ≤ m, do Edge_Cover(e’i); Pop(ST); For each ei ∈ {e1, e2, …, ek}(1≤ j ≤ k), do visited[t] = false;

[8]

[9]

[10]

6. Conclusions This paper presented a framework for peer trust evaluation in a social network. Trust evaluation is important as mutual trust is a prerequisite for the success of a social network, where members collaborate to achieve common objectives. The proposed model is based on the concepts of trust certificates, trust chains and trust graphs. Our research has significantly extended beyond those existing trust calculation models. We proposed novel algorithms to perform trust calculations and explored the inherent relationships between a trust graph and a set of relevant trust chains. We studied the capacity of a trust graph, since it represents the maximum possible trust value that a trustee can be evaluated in the scope of the trust certificate space for a given social network. We studied the completeness of a trust graph to identify two aspects. The first is if all the relevant trust certificates of the trust certificate space have been identified. The second is if a complete set of trust chains have been collected to maximize the evaluated trust value of the trustee based on the trust graph. Furthermore, we studied the issue of a base trust chain set of a complete trust graph, which represents the minimum costs to collect a set of relevant trust chains to maximize the trust value as evaluated for a given trustee. Our future work will focus on developing algorithms and conducting experiments in identifying a base trust chain set of a complete trust graph.

[11]

[12]

[13]

[14]

[15]

[16]

[17]

[18]

References [1]

[2]

[3]

[4]

[5]

[6] [7]

[19]

Carminati, B., Ferrari, E. and Perego, A. (2007). Private Relationships in Social Networks. Proceedings of the ICDE’07 International Workshop on Privacy Data Management, April, Istanbul, Turkey. Golbeck, J. (2005). Computing and Applying Trust in Webbased Social Networks. PhD Dissertation, University of Maryland, College Park. Li, N., Mitchell, J. and Winsborough, W. (2005). Beyond Proof-of-compliance: Security Analysis in Trust Management, Journal of the ACM, 52(3), pp. 474-514. Bhatti, R., Bertino, E. and Ghafoor, A. (2005). A Trustbased Context-aware Access Control Model for Webservices, Distributed and Parallel Databases, (18(1), pp. 83-105. Abdul-Rahman, A. and Hailes, S. (1997). A Distributed Trust Model. Proceedings of New Security Paradigms Workshop, Cumbria, UK. Lee, S., Sherwood, R. and Bhattacharjee, B. (2003). Cooperative Peer Groups in NICE, IEEE Infocom, April. Jonker, C. and Treur, J. (1999). Formal Analysis of Models for the Dynamic of Trust Based on Experiences.

[20]

[21]

1539

Proceedings of the 9th European Workshop on Modeling Autonomous Agents in a Multi-Agent World, London, UK. Wallach, D., Balfanz, D., Dean D. and Felten E. (1997). Extensible Security Architectures for Java. Proceedings of 16th Symposium on Operating Systems Principles. Blaze, M., Feigenbaurn, J. & Lacy, J. (1997). Decentralized Trust Management. Proceedings of IEEE Symposium on Security and Privacy. Carminati, B., Ferrari, E. and Perego, A. (2006). Rule-based Access Control for Social Networks. Proceedings of the IFIP WG 2.12 and 2.14 Semantic Web Workshop, November, Montpellier, France. Josang, A., (1999). An Algebra for Assessing Trust in Certification Chains. Proceedings of the Internet Society 1999 Network and Distributed System Security Symposium, San Diego, USA. Jiang, T. and Baras, J. (2006). Trust Evaluation in Anarchy: A Case Study on Autonomous Networks. Proceedings of the 25th Conference on Computer Communications, April 23-29, Barcelona, Spain. Theodorakopoulos, G. and Baras, J. (2004). Trust Evaluation in Ad-hoc Networks. Proceedings of the 3rd ACM Workshop on Wireless Security, Philadelphia, PA, USA. Guha, R. and Kumar, R. (2004). Propagation of Trust and Distrust. Proceedings of the 13th International World Wide Web Conference, New York, USA. Ray, I. and Chakraborty, S. (2004). A Vector Model of Trust for Developing Trustworthiness Systems. Proceedings of the 9th European Symposium on Research in Computer Security, Sophia Antipolis, France. Richardson, M., Agrawal, R. and Domingos, P. (2003). Trust Management for the Semantic Web. Proceedings of International Semantic Web Conference, pp. 351-350, Sanibel Island, Florida, USA. Grishchenko, V. (2004). Redefining Web-of-Trust: reputation, recommendations, responsibility and trust among peers. Proceedings of the First Workshop on Friend of a Friend, Social Networking, and the Semantic Web, Galway, Ireland. Josang, A., Gray, E. & Kinateder, M. (2003). Analyzing Topologies of Transitive Trust. Proceedings of the First International Workshop on Formal Aspects in Security & Trust (FAST2003). Fernau, H. and Manlove, D.F. (2006). Vertex and Edge Covers with Clustering Properties: Complexity and Algorithm. Technical Report TR-2006-210, University of Glasgow, Department of Computer Science. Tran, H., Mitchens, M., Varadharajan, V. and Watters, P. (2005). A Trust Based Access Control Framework for P2P File-sharing Systems. Proceedings of the 38th Annual Hawaii International Conference on System Sciences. Lin, A., Vullings, E. and Dalziel, J. (2006). A Trust-based Access Control Model for Virtual Organizations. Proceedings of 5th International Conference on Grid and Cooperative Commuting Workshops, pp. 557-564.