A Method to Evaluate Uncertain and Conflicting Trust and Authenticity Statements Andreas Gutscher Institute of Communication Networks and Computer Engineering, Universität Stuttgart, 70569 Stuttgart, Germany andreas.gutscher@ikr.uni-stuttgart.de ? Abstract. Countless Internet applications and platforms make it easy to communicate, to collaborate and to exchange information and opin- ions with a huge number of individuals. However, it is getting more and more difficult to distinguish honest and reliable individuals from mali- cious users distributing false information or malware. Digital signatures, webs of trust and reputation systems can help to securely identify com- munication partners and to estimate the trustworthiness of others, but there is a lack of trust and authenticity evaluation methods that do not show counterintuitive effects in the case of conflicting opinions. This article proposes a new integrated method to evaluate uncertain and conflicting trust and authenticity statements. It introduces a set of operators and inference rules for combining and reasoning with these statements, it defines an approach to compute the resulting confidence values of derived statements and it compares different computation al- gorithms. The computation is based on a probability theoretical model in order to exclude inconsistencies and counter-intuitive effects. 1 Introduction An increasing number of different Internet applications, platforms and social networks makes it easy to communicate with a huge number of individuals, to exchange and share information, news, photos, files and product recommenda- tions and to socialize with people sharing similar interests. However, for users participating in a large number of social networks, discussion forums, etc. it is getting more and more difficult to find out who their new “friends” actually are and whether they can trust them. With a reputation system users can share their knowledge and opinions about other users. The reputation system collects and evaluates the opinions of all users about the trustworthiness of others. On request it computes the resulting confidence value for the requested entity according to a trust model. ? D. Chadwick, I. You and H. Chang (Eds.): Proceedings of the 1st International Workshop on Managing Insider Security Threats (MIST2009), Purdue University, West Lafayette, USA, June 16, 2009. *Copyright is held by the author(s)* Evaluation of Trust and Authenticity Statements 63 The authenticity of all opinion statements should be protected, e. g., with digital signatures, to prevent manipulations and to make the evaluation verifi- able to the users. Digital signatures are only useful if the users can identify the signature key holder. If no global trusted public key infrastructure is available, users can share their knowledge about the ownership of keys in a so-called web of trust (e. g., the PGP/GnuPG web of trust [1]) by exchanging digitally signed identity certificates. However, these authenticity statements are only useful if the users can verify that the issuer is trustworthy to verify the ownership of public keys. Trust and authenticity evaluation are thus highly interdependent. Various different computational trust models, reputation systems and ap- plications using trust have been proposed [1–10]. To obtain an intuitive and consistent trust model one must define clearly what a confidence value repre- sents and find a sound mathematical basis for the computation with confidence values. Confidence values have strong similarities to probability values. The most sophisticated trust models are therefore based on probability theory. Maurer [4] proposed a probabilistic model in which confidence values for trust and authen- ticity relations correspond to probability values. However, it does not model negative opinions (distrust) and entities cannot have more than one key. Cre- dential Networks and related models proposed by Haenni [6], Jonczy [11] and Kohlas [10] also model confidence values as probabilities. Besides degrees of sup- port and uncertainty the confidence values can express also degrees of refutation (e. g., distrust). However, confidence values may contain either degrees of belief and ignorance1 , disbelief and ignorance, or belief and disbelief, but they can- not contain degrees of belief, disbelief and ignorance at the same time. Jøsang’s Subjective Logic [5] can express opinions with degrees of belief, ignorance and disbelief (at the same time), but the approach to compute the resulting confi- dence values is (although based on probability theory, too) quite different. In the model of Maurer and in Credential Networks the initial confidence values are uncertain and the inference rules are deterministic, whereas in Subjective Logic the uncertainty is modeled in the operators of the inference rules, i. e., the confidence value of a conclusion is computed from the confidence values of the preconditions. Unfortunately, this leads to the problem that the resulting confi- dence value generally depends on the order in which the operators are applied. It seems that Subjective Logic can not be used to evaluate arbitrary networks of trust and authenticity statements without using questionable workarounds [12]. If users can express both positive (supporting) and negative (refuting) opin- ions, then the combination of contradictory opinions can lead to conflicts. In Credential Networks and Subjective Logic the probability mass associated with conflicting combinations is eliminated and the remaining probability mass is re- normalized. Zadeh [13] has shown that conflict elimination and re-normalization approaches (like Dempster’s rule of combination [14]) can produce counter- intuitive effects. This article proposes a new integrated approach to evaluate uncertain and conflicting trust and authenticity statements without eliminating conflict. This 1 the terms uncertainty and ignorance are used interchangeable 64 Gutscher avoids the counter-intuitive effects of re-normalizations. The trust model is based on a combination of the inference rules from [15] and the calculus and operators from [16], extended by a new operator for reasoning with authenticity statements. Sect. 2 describes the representation of trust and authenticity statements, Sect. 3 the representation of confidence values and the corresponding operators. The new inference rules are formulated in Sect. 4. Sect. 5 proposes different algorithms to compute the resulting confidence value, Sect. 6 compares the computation time of these algorithms and Sect. 7 concludes the article. 2 Model of Trust and Authenticity Statements An opinion refers to a trust or authenticity statement Hj with an associated confidence value tj . A first-hand opinion is an opinion that is based only on the experience and knowledge of a single entity (the trustor or issuer ) and that is independent of other opinions. A second-hand opinion is an opinion that is derived from other opinions and that is thus not independent. We define trust as “a unidirectional relation between a trustor and a trustee expressing the strong belief of the trustor that the trustee will behave as expected with respect to a particular capability within a particular context” [15]. Therefore we represent the standard form of a trust statement as follows: Trust(trustor , trustee, r, hmin ..hmax ) (1) The trustor can be an entity or a key, the trustee an entity, a description or a key (see Tab. 1). An entity (EA , EB , . . . ) can be a person, an organization, a network node, etc. referred to by a local identifier. To exchange opinions with others users have to use unique descriptions or public keys to refer to other entities. A description (DA , DB , . . . ) consists of a list of names, identifiers or attributes that uniquely identifies the described entity. Entities may have several different descriptions. A public key (KA , KB , . . . ) is the public part of an asymmetric key pair. The holder uses the key pair to sign trust or authenticity statements (certificates). An entity can use several different key pairs at the same time. Table 1. Trust and authenticity statements (relations and certificates) Trust statements Authenticity Standard form Internal form statements Trust(EA , EB , r, hmin ..hmax ) Trust(EA , EB , r, h, l) Auth(EA , KB , EB ) Relation Trust(EA , KB , r, hmin ..hmax ) Trust(EA , KB , r, h, l) Auth(EA , DB , EB ) Trust(EA , DB , r, hmin ..hmax ) Trust(EA , DB , r, h, l) Auth(EA , KB , DB ) Trust(KA , KB , r, hmin ..hmax ) Trust(KA , KB , r, h, l) Auth(KA , KB , DB ) Certificate Trust(KA , DB , r, hmin ..hmax ) Trust(KA , DB , r, h, l) The capability r refers to an application specific capability (r1 , r2 , . . . ) or to the capability rPKI , which represents the capability to honestly and carefully verify that a description uniquely refers to the holder of a particular key pair. Evaluation of Trust and Authenticity Statements 65 We distinguish different types of trust identified by a different number of recommendation hops (h): Functional trust expresses the belief that the trustee has the capability r and is described by h = 0. Recommendation trust for h = 1 hop expresses the belief that the trustee can recommend someone with capability r, recommendation trust for h = 2 hops that the trustee can recommend someone who can recommend someone with capability r, etc. Each standard form trust statement can specify the desired range of recommendation hops hmin ..hmax . For the evaluation of trust statements we need in addition trust statements in the slightly different internal form. These trust statements refer not to a range, but to a single recommendation hop value h ≥ 0 and they have an additional parameter, the chain length l ≥ 1: Trust(trustor , trustee, r, h, l) (2) Trust is not transitive in general, but trust statements can be combined in certain cases to trust chains according to the transitive trust inference rule (7) described in Sect. 4.1. The chain length l of the derived trust statement refers to the number of first-hand trust statements in the trust chain. Authenticity statements express the strong belief of the issuer that a de- scription belongs to an entity, that a public key belongs to an entity or that a description belongs to the holder of a public key: Auth(issuer , actor 1 , actor 2 ) (3) The issuer is an entity or a public key, actor 1 and actor 2 are entities, descriptions or public keys. All four possible combinations are listed in Tab. 12 . 3 Confidence Values This section introduces discrete and continuous confidence values as well as oper- ators for reasoning with discrete confidence values. Users express their opinions with continuous confidence values while the discrete confidence values are used internally only for reasoning with opinions. 3.1 Representation of Discrete and Continuous Confidence Values Users can have different and possibly conflicting opinions about trust and au- thenticity statements. Therefore, we can not definitively decide whether a state- ment H is “true” or “false”. We can only evaluate known indications that support or refute H. It is possible that neither supporting nor refuting or that both sup- porting and refuting indications for H are found. Therefore we describe knowl- edge of supporting and refuting indications independently. For each statement H we introduce the propositions H + and H − to describe that the reputation 2 certificates can not contain local identifiers for entities (EA , EB , . . .) because they would be meaningless to other entities 66 Gutscher system is aware of indications that imply that H must be true and that H must be false, respectively. We also introduce the four discrete confidence values belief (+), ignorance (∅), disbelief (−) and conflict (±) to represent the four possi- ble combinations of these propositions (see Tab. 2). They can be seen as “truth values” of a paraconsistent logic [16]. Table 2. Discrete confidence values Propositions Discrete confidence value Semantics {H + } t0 = + (belief ) “the indications imply that H must be true” {} t0 = ∅ (ignorance) “there are no relevant indications about H” {H − } t0 = − (disbelief ) “the indications imply that H must be false” {H , H } t0 = ± (conflict) + − “the indications imply that H must be true and that H must be false at the same time” As statements can in fact not be both true and false at the same time we can conclude that first-hand opinions can not have the confidence value conflict. However, if we combine statements of different (disagreeing) entities, it is possi- ble to find both H + and H − , i. e., the confidence value of derived (second-hand ) opinions can be conflict. Conflict must not be confused with partial support and partial refutation (ambivalent opinions). An entity that has for example expe- rienced some positive and some negative interactions can express this opinion with continuous confidence values. Continuous confidence values t = (b, i, d, c) with b, i, d, c ∈ [0, 1] and b + i + d + c = 1 express degrees of belief, ignorance, disbelief and conflict. The value b represents the issuer’s subjective estimation of the probability that there are indications supporting (but no refuting) H. Similarly, d represents the subjec- tive estimation of the probability that there are indications refuting (but no supporting) H. c represents the subjective estimation of the probability that there are both supporting and refuting indications for H at the same time, and i represents the subjective estimation of the probability that there are neither supporting nor refuting indications for H. For the same reason as before, c must be zero in all first-hand opinions, whereas second-hand opinions can contain conflict. Nevertheless, ambivalent first-hand opinions can be expressed by con- tinuous confidence values with both b > 0 and d > 0. A user that has made many positive and few negative experiences can choose, for example, a first- hand confidence value with b = 0.7 and d = 0.1 (i. e., t = (0.7, 0.2, 0.1, 0). Thus, in first-hand statements b can be seen as the lower bound and 1 − d as the upper bound for the estimated subjective probability that H must be true. The degrees of ignorance and conflict in resulting confidence values have dif- ferent meanings, and applications should handle high degrees of ignorance and conflict differently: A high degree of ignorance indicates that the reputation sys- tem has little information about the requested statement and suggests searching more relevant statements, if possible. A high degree of conflict, however, shows that the requested statement H is controversial. This suggests that the requester Evaluation of Trust and Authenticity Statements 67 should verify whether the trust and authenticity assignments he made and that cause the conflict are correct. Continuous confidence value can be condensed to a single value w, if desired: w = b + wi i + wd d + wc c (4) The parameters wi , wd and wc represent weights for the degrees of ignorance, disbelief and conflict, e. g., wi = 0.5, wd = −1 and wc = 0. They can be chosen according to the preferences of the application and allow for rather optimistic or rather pessimistic behavior in the cases of uncertainty and conflict. 3.2 Operators to Combine Discrete Confidence Values This section describes the recommendation and authentication operators. The operators define whether Hz+ and Hz− can be derived from a set of premises (Hx+ , Hx− , Hy+ , Hy− ). The short notation with statements is provided for convenience and will be used to formulate the inference rules in Sect. 4. Recommendation Operator The recommendation operator (⊗) is used to concatenate two trust statements or a trust with an authenticity statement. It is reasonable for a user to adopt the opinions of trustworthy entities. However, it is not reasonable (it is in fact even dangerous) to assume that untrustworthy (malicious or incompetent) entities always tell the opposite of the truth. Instead, opinions of untrustworthy entities should be ignored. Therefore, we do not draw any conclusions from Hx− . The operator is thus defined as follows: Hx ⊗ Hy Hx+ Hy+ Hx+ Hy− ⇔ , (5) Hz Hz+ Hz− This reads as follows: Hz follows from a combination of Hx and Hy with the recommendation operator. If there are supporting indications for Hx and for Hy , then infer Hz+ . If there are supporting indications for Hx and refuting indications for Hy , then infer Hz− . Fig. 1 (left) shows the corresponding “truth table”. t0x t0z = t0x ⊗ t0y +∅−± +∅−± + +∅∅+ ++∅−± ∅ ∅∅∅∅ ∅∅∅∅∅ t0y − −∅∅− −−∅∅− ± ±∅∅± ±±∅−± Fig. 1. Recommendation and authentication operator truth tables 68 Gutscher Authentication Operator The authentication operator ( ) is used to reason with two authenticity relations between entities, descriptions and public keys: Hx Hy Hx+ Hy+ Hx+ Hy− Hx− Hy+ ⇔ , , (6) Hz Hz+ Hz− Hz− The operator definition can be understood as follows: Assume Hx and Hy repre- sent statements like “A and B belong together” and “B and C belong together”, respectively. If we have supporting indications for both statements, then this supports that A and C belong together (Hz ). If we have indications that A and B belong together but that B does not belong to C, then we conclude that A does not belong to C either. If neither A belongs to B nor does B belong to C, then we can draw no conclusion about A and C. Fig. 1 (right) shows the corresponding truth table. 4 Inference Rules The inference rules specify which conclusions the reputation system can draw from a set of given trust and authenticity propositions. 4.1 Transitive Trust Inference Rule This inference rule describes the transitivity property of trust statements. It defines in which cases two trust statements for the same capability r can be combined with the recommendation operator in order to derive a new trust statement from the trustor of the first statement (A) to the trustee of the second statement (C). The trustor A can be an entity (EA ) or a public key (KA ). The second statement can be a trust statement or a trust certificate, i. e., B can be an entity (EB ) or a public key (KB ). The final trustee C can be an entity (EC ), a public key (KC ) or a description (DC ). Trust(A, B, r, h + l2 , l1 ) ⊗ Trust(B, C, r, h, l2 ) (7) Trust(A, C, r, h, l1 + l2 ) This inference rule differs from other proposed transitive trust inference rules in that it allows the combination of trust statements only if the number of recommendation hops matches: The number of recommendation hops of the first statement must equal the sum of the recommendation hops plus the chain length of the second statement. The chain length of the resulting statement is the sum of the chain lengths of the input statements. This ensures that the recommendation hop value of the trust statements decreases by one throughout the chain of first-hand trust relations (e. g., h = 2, h = 1, h = 0). The example in Fig. 2 illustrates the inference rule. The transitive trust inference rule allows to combine H1+ = Trust+ (EA , EB , r, 2, 1) with H2+ = Trust+ (EB , EC , r, 1, 1) to H4+ = Trust+ (EA , EC , r, 1, 2) and then H4+ with H3− = Trust− (EC , ED , r, 0, 1) to H5− = Trust− (EA , ED , r, 0, 3). Evaluation of Trust and Authenticity Statements 69 H1+ H2+ H3− h = 2, l = 1 h = 1, l = 1 h = 0, l = 1 EA EB EC ED H4+ h = 1, l = 2 EA EC H5− h = 0, l = 3 EA ED Fig. 2. Example for application of the transitive trust inference rule 4.2 Trust in Entities, Keys and Descriptions A number of simple rules allow to infer from trust assigned to an entity to trust assigned to the holder of a key and to trust assigned to an entity identified by a description, and vice versa. If an entity is trustworthy, then the holder of a key that belongs to this entity is trustworthy, too, and vice versa: Auth(EA , KC , EC ) ⊗ Trust(EA , EC , r, h, l) (8) Trust(EA , KC , r, h, l) Auth(EA , KC , EC ) ⊗ Trust(EA , KC , r, h, l) (9) Trust(EA , EC , r, h, l) If an entity is trustworthy, then the entity identified by a description that belongs to this entity is trustworthy, too, and vice versa: Auth(EA , DC , EC ) ⊗ Trust(EA , EC , r, h, l) (10) Trust(EA , DC , r, h, l) Auth(EA , DC , EC ) ⊗ Trust(EA , DC , r, h, l) (11) Trust(EA , EC , r, h, l) If the holder of a key is trustworthy, then the entity identified by a description that belongs to this key holder is trustworthy, too, and vice versa. This applies to trust relations and trust certificates: Auth(EA , KC , DC ) ⊗ Trust(EA , KC , r, h, l) (12) Trust(EA , DC , r, h, l) Auth(EA , KC , DC ) ⊗ Trust(EA , DC , r, h, l) (13) Trust(EA , KC , r, h, l) Auth(KA , KC , DC ) ⊗ Trust(KA , KC , r, h, l) (14) Trust(KA , DC , r, h, l) Auth(KA , KC , DC ) ⊗ Trust(KA , DC , r, h, l) (15) Trust(KA , KC , r, h, l) 70 Gutscher 4.3 Local Authenticity Inference Rule If an entity EA has partial knowledge about whether an entity EB is the holder of a key KB , whether a description DB refers to the entity EB or whether the description DB refers to the holder of the key KB , then it can draw further con- clusions about the confidence values of the authenticity statements between EB , KB and DB . If the confidence values of two corresponding authenticity relations are known, then the confidence value of the third authenticity relation can be derived with the authentication operator: Auth(EA , KC , DC ) Auth(EA , KC , EC ) (16) Auth(EA , DC , EC ) Auth(EA , KC , DC ) Auth(EA , DC , EC ) (17) Auth(EA , KC , EC ) Auth(EA , KC , EC ) Auth(EA , DC , EC ) (18) Auth(EA , KC , DC ) 4.4 Authenticity Inference with Authenticity Confirmation If a trustor (EA or KA ) trusts a trustee (EB or KB ) to issue only correct au- thenticity relations or identity certificates (property rPKI ), then the trustor can conclude that authenticity relations or identity certificates of the trustee are cor- rect: Trust(EA , EB , rPKI , 0, l) ⊗ Auth(EB , KC , DC ) (19) Auth(EA , KC , DC ) Trust(EA , KB , rPKI , 0, l) ⊗ Auth(KB , KC , DC ) (20) Auth(EA , KC , DC ) Trust(KA , KB , rPKI , 0, l) ⊗ Auth(KB , KC , DC ) (21) Auth(KA , KC , DC ) 4.5 Uniqueness Conditions Two further conclusions can be drawn from the condition that each public key has only one holder and that each description refers to only one entity. If A knows that EB is the holder of KB , then it can infer that all other entities are not the holder of KB . Similarly, if A knows that EB has the description DB , then it can infer that all other entities do not have the description DB (A can be an entity or a key). Auth+ (A, KB , EB ) Auth+ (A, DB , EB ) , ∀Ej 6= EB (22) Auth− (A, KB , Ej ) Auth− (A, DB , Ej ) Evaluation of Trust and Authenticity Statements 71 5 Confidence Value Computation The reputation system collects all issued first-hand trust and authenticity opin- ions Hj with associated continuous confidence value tj (with cj = 0). Users can then send requests in the form of a standard form trust statement or an authen- ticity statement to the reputation system. The reputation system then processes all collected opinions. It applies the inference rules to derive trust and authen- ticity statements and it computes the resulting continuous confidence value t0 of the requested statement H0 from the confidence values of the relevant first-hand statements. As the components of the continuous first-hand confidence values (b, i and d) represent probabilities, we define the resulting confidence value by a random experiment and propose different algorithms for the computation of the resulting confidence value. 5.1 Probabilistic Model for the Confidence Value Computation The components of the computed resulting confidence value t0 = (b0 , i0 , d0 , c0 ) for H0 are computed from the combination of all available first-hand opinions with the inference rules under the assumption that the confidence values of the opinions of the requestor are correct. In short, b0 is the computed lower bound for the probability that the combination of the available first-hand opinions leads to the conclusion that H0 must be true (but not that H0 must be false). Similarly, d0 is the computed lower bound for the probability that the combination of the available first-hand opinions leads to the conclusion that H0 must be false (but not that H0 must be true). The degree of conflict c0 is the computed probability that the combination of the first-hand opinions leads to the contradicting con- clusion that H0 must be both true and false at the same time. The degree of ignorance is the remaining probability i0 = 1 − b0 − d0 − c0 . The following description of a random experiment provides a more detailed definition for t0 : We assume that the reputation system has collected J first-hand opinions, i. e., the statements Hj (j = 1, 2, . . . J) with associated continuous confidence values tj = (bj , ij , dj , 0). For each first-hand statement Hj choose a discrete confidence value t0j from {+, ∅, −} according to the weights bj , ij and dj , i. e., choose t0j = + with probability bj , t0j = ∅ with probability ij and t0j = − with probability dj . Statements with the discrete confidence value ignorance don’t contribute knowledge and can be discarded3 . Each remaining first-hand statement Hj with associated discrete confidence value t0j corresponds to a set of first-hand propositions according to Tab. 2. The inference rules always operate on trust propositions in the internal rep- resentation. We therefore have to replace each standard-form trust statement Trust(A, B, r, hmin ..hmax ) by a list of single-hop trust statements in internal form with chain length l = 1: Trust(A, B, r, hmin , l), Trust(A, B, r, hmin + 1, l), . . . , Trust(A, B, r, hmax , l). The internal trust statements inherit their assigned 3 this optimization does not change the resulting confidence value, the resulting con- tinuous confidence value t0 nevertheless contains the correct degree of ignorance 72 Gutscher discrete confidence value from the standard-form trust statement. Next, we ap- ply all inference rules (see Sect. 4) to derive all (positive and negative) deducible propositions from the set of all known first-hand propositions and all already de- rived propositions. To get back to trust statements in standard form we conclude H0+ = Trust+ (A, B, r, hmin ..hmax ) if we have been able to derive a proposition + H0,h = Trust+ (A, B, r, h, l) with hmin ≤ h ≤ hmax . Similarly, we conclude H0− if − we have been able to derive a proposition H0,h . To obtain the resulting continuous confidence value of a requested trust or authenticity statement we compute the probability that the random experiment leads to a set of first-hand propositions from which we can derive positive and negative propositions for the requested statement H0 . The components of the resulting confidence value t0 = (b0 , i0 , d0 , c0 ) are defined as follows: b0 is the probability that H0+ (but not H0− ) can be derived and d0 is the probability that H0− (but not H0+ ) can be derived. The probability that neither H0+ nor H0− can be derived is i0 , and c0 is the probability that both H0+ and H0− can be derived. In contrast to other trust models (e. g., [5, 6, 10, 11]) we propose not to elim- inate the degree of conflict, not only to avoid counter-intuitive effects of re- normalizations but also because it provides valuable information to the request- ing user or application (see Sect. 3.1). 5.2 Approximation and Exact Computation Algorithms This section presents different possibilities to implement the computation of an approximation or of the exact value of the resulting continuous confidence value t0 according to Sect. 5.1. All exact algorithms return the same resulting confi- dence value t0 , but differ in computation time. The result of the approximation gets arbitrarily close to the exact result if the number of iterations is sufficiently large. To keep the computation time small we recommend for all algorithms to precompute all possible paths: We first set up a “superposition” of possible first- hand propositions. For each statement Hj with continuous confidence value tj = (bj , ij , dj , 0) we select Hj+ if bj > 0 and we select (possibly in addition) Hj− if dj > 0. Then we translate all trust propositions into the internal form, apply all inference rules and record the dependencies, i. e., we trace which sets of first-hand propositions (premises) allow to derive which conclusions. Each set of first-hand propositions that allows to (directly or indirectly) derive the positive requested proposition H0+ is called a positive path for H0 , each set that allows to derive the negative proposition H0− a negative path for H0 . Next, we select the set of positive paths and the set of negative paths for H0 and minimize these paths, i. e., we remove all paths that contain at least one other path in the set. We finally obtain the set of minimal positive paths A+ = {a+ + + 1 , a2 , . . . ak+ } and the set of minimal negative paths A− = {a− − − 1 , a2 , . . . ak− }. Approximation with Monte-Carlo Simulation An obvious approach to determine an approximation for the resulting confidence value is to run the Evaluation of Trust and Authenticity Statements 73 described random experiment N times and to count in how many experiments the selected set of first-hand propositions contains at least one positive (but no negative) path (nb ), no paths (ni ), at least one negative (but no positive) path (nd ) or both positive and negative paths (nc ). The approximation for the confidence value is t̄0 = N1 (nb , ni , nd , nc ). The choice of N allows to adjust the trade-off between precision and computation time. Possible Worlds Algorithm An simple algorithm to compute the exact value is to go through the list of all possible combinations of first-hand propositions (so-called possible worlds), to compute the probability of each of those possible worlds and to check for each world whether the set of first-hand propositions of this world contains the minimal paths. The sum of all probabilities of all worlds that contain at least one positive and at least one negative path is c0 , b0 is the sum of probabilities of all worlds that contain at least one positive, but no negative path, and d0 the sum of probabilities of all worlds that contain at least one negative, but no positive path. The degree of ignorance is i0 = 1−b0 −d0 −c0 . H1,1 H2,0 Probability H0 + + H1 H2 H1,1 H2,0 b1 b2 H0+ + H1,1 b1 i2 − + H1,1 H2,0 b1 d 2 H0− EA EB EC + H2,0 i1 b2 i1 i2 − j Hj bj ij dj H2,0 i1 d2 − + 1 Trust(EA , EB , r1 , 1) 0.5 0.15 0.35 H1,1 H2,0 d 1 b2 − 2 Trust(EB , EC , r1 , 0) 0.7 0.1 0.2 H1,1 d1 i2 − − H1,1 H2,0 d1 d2 Fig. 3. Scenario and possible worlds table of Example 1 Example 1: Simple Trust Chain with Possible Worlds Algorithm The example scenario in Fig. 3 (left) consists of two trust statements: H1 is a rec- ommendation trust statement for one recommendation hop (h = 1), and H2 is a functional trust statement (h = 0). EA wants to compute the resulting functional trustworthiness of EC (H0 = Trust(EA , EC , r1 , 0)). First, the trust statements in standard form have to be replaced by corre- sponding trust statements in internal form: H1 by H1,1 = Trust(EA , EB , r1 , 1, 1) and H2 by H2,0 = Trust(EB , EC , r1 , 0, 1). Both refer to the same property r1 , it is therefore possible to combine H1,1 and H2,0 with the transitive trust inference rule (7) to the new functional trust statement H0,0 = Trust(EA , EC , r1 , 0, 2): + + + + + + + − − H1,1 , H2,0 ` H0,0 (H1,1 and H2,0 allow to drive H0,0 ) and H1,1 , H2,0 ` H0,0 . + + + Thus, there is only one positive path a1 = {H1,1 , H2,0 } and one negative path a− + − 1 = {H1,1 , H2,0 } for H0,0 and thus for H0 . 74 Gutscher Fig. 3 (right) shows all possible combinations of the first-hand propositions, the probability that this world occurs and the propositions that can be derived in this world. There are no worlds in which both H0+ and H0− can be derived, thus c0 = 0. H0+ can be derived only in the first world, therefore b0 = b1 b2 . Similarly, H0− can be derived only in the third world, therefore d0 = b1 d2 . The degree of ignorance is the remaining probability mass i0 = 1 − b0 − d0 − c0 . With the values in Fig. 3 we obtain t0 = (0.35, 0.55, 0.1, 0). Grouped Possible Worlds Algorithm The possible worlds algorithm can be improved by subdividing the set of relevant first-hand statements into as few groups g1 , . . . gu as possible. Two statements, Hj and Hm , belong to the same group if and only if the following condition holds for each positive, negative and conflicting path: If the path contains a proposition for Hj (Hj+ or Hj− ), then it + − must also contain a proposition for Hm (Hm or Hm ). In the preparation step we construct for each group a list of all relevant combinations of propositions of the statements in the group. This list contains all combinations that contain exactly one proposition (i. e., either Hj+ or Hj− )4 for each statement and that is identical to the corresponding section of at least one (positive or negative) path. An additional element of this list consists of an empty set. It represents all remaining possible combinations of propositions, i. e., all combinations that contain neither Hj+ nor Hj− for at least one statement Hj of the group. We can subsume these combinations because the have the same effect on the derivability of propositions of H0 . For each element of the list we compute the probability that this combination will occur (within the group) from the continuous confidence values of the statements. The probability associated with the empty set is the sum of the probabilities of the contained combinations of propositions (i. e., the remaining probability). Thus, the sum of all probabilities is one. Next, in the main step, we go through all possible worlds. Each world consists of one possible combination of these prepared proposition-combinations of the groups, i. e., for each groups we select one proposition-combination from the prepared list of the group. We multiply the precomputed probabilities of the chosen proposition-combinations to obtain the resulting probability of the world. Finally, we compute b0 , i0 , d0 and c0 just as in the possible worlds algorithm. Example 2: Parallel Trust Chain with Grouped Possible Worlds Algo- rithm The scenario in Fig. 4 consists of two parallel trust chains from EA to ED . EA requests the confidence value for the resulting functional trustworthiness of ED (H0 = Trust(EA , ED , r1 , 0)). The trust statements in standard form are re- placed by statements in internal form: H1 by H1,1 = Trust(EA , EB , r1 , 1, 1), H2 by H2,0 = Trust(EB , ED , r1 , 0, 1), H3 by H3,1 = Trust(EA , EC , r1 , 1, 1) and H4 by H4,0 = Trust(EC , ED , r1 , 0, 1). We can combine H1,1 with H2,0 and H3,1 with H4,0 with the transitive trust inference rule (7). We obtain 4 no combination can contain both Hj+ and Hj− because cj = 0 Evaluation of Trust and Authenticity Statements 75 H1 H2 j Hj bj ij dj EB 1 Trust(EA , EB , r1 , 1) 0.8 0.15 0.05 2 Trust(EB , ED , r1 , 0) 0.7 0.1 0.2 EA ED 3 Trust(EA , EC , r1 , 1) 0.9 0.1 0 H3 H4 4 Trust(EC , ED , r1 , 0) 0.8 0.1 0.1 EC Fig. 4. Scenario of Example 2 + + + + two positive paths A+ = {{H1,1 , H2,0 }, {H3,1 , H4,0 }} and two negative paths + − + − A− = {{H1,1 , H2,0 }, {H3,1 , H4,0 }}. Propositions for H1,1 and H2,0 appear al- ways together in paths, the same holds for H3,1 and H4,0 . Therefore we can divide the statements into two groups g1 = {H1,1 , H2,0 } and g1 = {H3,1 , H4,0 }. In the preparation step we set up a list for each group that contains all relevant possible combinations of the propositions and their probabilities (see Tab. 3). For each group we find three relevant combinations: one combination supports a positive path and one a negative path. The third entry with the empty set represents the remaining combinations. Table 3. Preparation step for the groups in Example 2 Propositions g1 Probability Propositions g2 Probability + + + + {H1,1 , H2,0 } b1 b2 {H3,1 , H4,0 } b 3 b4 + − + − {H1,1 , H2,0 } b1 d 2 {H3,1 , H4,0 } b3 d4 {} 1 − b1 b2 − b1 d 2 {} 1 − b3 b4 − b3 d 4 Table 4. Confidence value computation in the parallel trust chain example Table 5. Confidence value computation in Example 2 g1 g2 Probability H0 + + + + {H1,1 , H2,0 } {H3,1 , H4,0 } b1 b2 b3 b4 H0+ − + {H1,1 + , H2,0 + } {H3,1 , H4,0 } b1 b2 b3 d 4 H0+ , H0− + + {H1,1 , H2,0 } {} b1 b2 (1 − b3 b4 − b3 d4 ) H0+ − + {H1,1 , H2,0 + } {H3,1 + , H4,0 } b1 d 2 b3 b4 H0+ , H0− − − + {H1,1 , H2,0 + } {H3,1 , H4,0 } b1 d 2 b3 d 4 H0− − + {H1,1 , H2,0 } {} b1 d2 (1 − b3 b4 − b3 d4 ) H0− + + {} {H3,1 , H4,0 } (1 − b1 b2 − b1 d2 )b3 b4 H0+ − {} + {H3,1 , H4,0 } (1 − b1 b2 − b1 d2 )b3 d4 H0− {} {} (1 − b1 b2 − b1 d2 )(1 − b3 b4 − b3 d4 ) 76 Gutscher To compute the resulting confidence value t0 for H0 we set up Tab. 5 with all 3 · 3 = 9 possible combinations of the entries in the lists (possible worlds), the probabilities of each world and the derivable propositions for H0 . Then we add the probabilities and obtain b0 = b1 b2 b3 b4 + b1 b2 (1 − b3 b4 − b3 d4 ) + (1 − b1 b2 − b1 d2 )b3 b4 , i0 = (1 − b1 b2 − b1 d2 )(1 − b3 b4 − b3 d4 ), d0 = b1 d2 b3 d4 + b1 d2 (1 − b3 b4 − b3 d4 ) + (1 − b1 b2 − b1 d2 )b3 d4 and c0 = b1 b2 b3 d4 + b1 d2 b3 b4 . With the values in Fig. 4 we obtain t0 = (0.7112, 0.0532, 0.07, 0.1656). Computation with Inclusion-exclusion Formula This algorithm computes the exact resulting confidence value directly from the minimal positive and neg- ative paths for H0 . In addition, we need the set of minimal conflicting paths. Therefore we set up all possible combinations consisting of one positive and one negative path (a± + − + − x = ay ∪ az with y = 1, . . . k , z = 1, . . . k ), minimize the set ± ± ± ± ± + − and obtain A = {a1 , a2 , . . . ak± } (with k ≤ k k ). A useful optimization is to eliminate all paths that contain both Hj+ and Hj− (because cj = 0). First, we compute the degree of conflict c0 from the confidence values of the first-hand statements in the set of minimal paths with the inclusion-exclusion- formula (I(A)): c0 is the probability that a possible world chosen according to Sect. 5.1 will contain at least one conflicting path. Thus, we add the probabilities of all minimal paths, subtract the probabilities of all unions of two minimal paths, add the probabilities of all unions of three minimal paths, etc.: ± k X X c0 =I(A ) = ± (−1)n+1 P (a± ± j1 ∪ · · · ∪ ajn ) n=1 1≤j1 <··· 0, i > 0 and d > 0 is possible, no restriction to directed series-parallel graphs). However, we do not eliminate the degree of conflict, because this can cause counter-intuitive effects: Consider Example 2 (Sect. 5.2). If we choose t1 = t2 = t3 = t4 = (1, 0, 0, 0) (full trust), then the resulting confidence value is t0 = (1, 0, 0, 0), too (in all models). If t4 changes to t4 = (0.01, 0, 0.99, 0) (almost complete distrust), then the resulting confidence value in our model changes to t0 = (0.01, 0, 0, 0.99), which shows EA that the trustworthiness of ED is now highly disputed. However, in Subjective Logic and Credential Networks the resulting confidence value does not change. This gives EA the wrong impression that there are no trustworthy entities who distrust ED . 6 Computation Time Computation time is a very (although not the most) important issue for repu- tation systems. The computation time to find the minimal paths appears to be uncritical because it is possible to check the inference rules efficiently and be- cause the paths can be computed incrementally and in advance. Furthermore, the paths usually remain unchanged when the confidence values of existing opinions are updated. The number of possible worlds to consider in the possible worlds algorithm increases exponentially with the number of relevant first-hand statements. It is therefore applicable if the number of relevant statements is small. It is important to emphasize that the computation time depends only on the number of relevant statements or paths, not on the total number. It is sufficient to consider only statements that are issued by the requester or by authentic entities or keys that Evaluation of Trust and Authenticity Statements 79 have been found to be trustworthy. Moreover, we can ignore all statements that are not part of a valid path, i. e., that do not contribute to answer the trust or authenticity request. Furthermore, most trust chains will not be longer than two or three statements. Therefore, the number of relevant statements or paths will usually be reasonably small. Although a trust and authenticity network similar to the PGP/GnuPG web of trust [1] can contain more than 100 000 trust and authenticity statements, the number of statements that are directly or indirectly (via valid paths) related to the requester will probably be below 100, and the number of statements that are part of valid paths from the requester to the requested statement is likely to be not higher than 10 or 20 in typical scenarios. The number of possible worlds in the grouped possible worlds algorithm in- creases exponentially with the number of groups. Thus, the computation time can be reduced significantly if the statements can be grouped. Even large scenarios can be evaluated efficiently as long as the relevant statements can be subdivided into a small number of groups. In the inclusion-exclusion algorithm the number of summands increases exponentially with the number of relevant paths. This algorithm is therefore well suited for all scenarios with a small number of paths, even if the number of statements is large. We illustrate the influence of the scenario (i. e., the number of relevant state- ments, paths and groups) on the computation time of the algorithms on two examples5 . The scenarios are constructed in order to emphasize the large influ- ence on the computation time and are not meant to be representative examples. For simplicity the scenarios consist only of trust statements between entities and refer to the same capability r. All confidence values contain degrees of belief, ig- norance and disbelief (b > 0, i > 0, d > 0). trustor trustee Fig. 6. Scenario of the simple chain example The scenario with e entities in Fig. 6 consists of a simple chain and e − 1 trust statements with h = 0..e recommendation hops. The possible worlds algorithm has to evaluate 3e−1 worlds. The scenario contains one positive and one negative path, therefore the inclusion-exclusion algorithm has to compute only two summands. The grouped possible world algorithm creates one group with three possible proposition-combinations: the positive path leads to belief, the negative path to disbelief, all other combinations lead to ignorance. It thus has to evaluate only three worlds. The diagram in Fig. 7 shows that the computation time of the possible world algorithm increases exponentially with the number of trust statements, whereas the computation time of the other algorithms increases linearly and thus remains insignificant even for long trust chains. 5 implementation in Java 1.6; measurements on Intel Pentium M with 1.73 GHz 80 Gutscher 1000 Pos. worlds Gr. pos. worlds Incl.-excl. 100 computation time [ms] 10 1 0.1 0.01 5 10 15 20 25 30 number of entities Fig. 7. Computation time in the simple chain example trustor trustee Fig. 8. Scenario of the full mesh example The scenario in Fig. 8 is a full mesh. All entities trust each other for h = 0..1 hops. The number of relevant statements is 2e − 3, the number of positive and negative paths is e − 1 and the number of conflicting paths is (e − 1)(e − 2). Thus, the computation time of the possible worlds algorithm increases slower than of the inclusion-exclusion algorithm because the number of conflicting paths increases faster than the number of relevant statements (Fig. 9). The grouped possible worlds algorithm subdivides the statements into e − 1 groups, which reduces the number of possible worlds from 32e−3 to 3e−1 worlds. Therefore the computation time remains acceptable for a larger number of entities than with the other algorithms. The computation time heavily depends on the scenario. It is therefore difficult to give a general recommendation for one of the algorithms. It is possible that one algorithm outperforms an other by orders of magnitude in one scenario, but is much slower in an other scenario. The presented results and measurements in other scenarios suggest that the grouped possible worlds algorithm is in most scenarios the fastest (or at least close to the fastest) algorithm. However, further investigations are necessary. Evaluation of Trust and Authenticity Statements 81 1000 100 computation time [ms] 10 1 0.1 Pos. worlds Gr. pos. worlds Incl.-excl. 0.01 2 4 6 8 10 12 number of entities Fig. 9. Computation time in the full mesh example An estimation for the computation time of the algorithms can be computed from the number of relevant statements, paths and groups. If the expected com- putation of all exact algorithms exceeds an acceptable limit, then a Monte-Carlo simulation can be used to compute an approximation. The number of iterations can be chosen according to the required accuracy and the acceptable computa- tion time. 7 Summary and Conclusions We presented a detailed model to represent trust and authenticity statements as well as confidence values and we proposed an integrated approach to reason with these statements and to compute resulting confidence values. The model distin- guishes clearly between entities, descriptions and keys, allows multiple keys and descriptions per entity, distinguishes between functional and recommendation trust and allows to specify ranges of recommendation hops in trust statements. Confidence values allow to express degrees of belief, ignorance and disbelief. The system is able to reason with conflicting opinions because the presented infer- ence rules are based on a paraconsistent logic. The computation of the resulting confidence values is based on a probability theoretical model in order to pro- duce consistent results. In conflict-free scenarios our model is consistent with the Model of Maurer, Subjective Logic and Credential Networks, but overcomes several restrictions of these models. In conflicting scenarios we do not elimi- nate the degree of conflict in order to avoid counter-intuitive effects caused by re-normalizations. We proposed different algorithms to implement the confidence value compu- tation. Although the computation time increases exponentially with the number 82 Gutscher of relevant statements, groups or paths it can be expected that an acceptable computation time can be reached in the majority of realistic scenarios. In the other cases, we propose to compute an approximation with Monte-Carlo simu- lations. Acknowledgements This work was funded by the German Research Founda- tion (DFG) through the Collaborative Research Center (SFB) 627. References 1. Ashley, J.M., Copeland, M., Grahn, J., Wheeler, D.A.: The GNU Privacy Hand- book. The Free Software Foundation. (1999) 2. Grandison, T., Sloman, M.: A Survey of Trust in Internet Application. IEEE Communications Surveys & Tutorials 3(4) (2000) 2–16 3. Marsh, S.P.: Formalising Trust as a Computational Concept. PhD thesis, Depart- ment of Mathematics and Computer Science, University of Stirling (1994) 4. Maurer, U.: Modelling a Public-Key Infrastructure. In: Proc. 1996 European Symposium on Research in Computer Security (ESORICS’ 96). Volume 1146 of Lecture Notes in Computer Science., Springer-Verlag (1996) 325–350 5. Jøsang, A.: Artificial Reasoning with Subjective Logic. In: Proceedings of the Second Australian Workshop on Commonsense Reasoning. (1997) 6. Haenni, R., Kohlas, J., Lehmann, N. In: Probabilistic Argumentation Systems. Volume 5 (Algorithms for Uncertainty and Defeasible Reasoning) of Handbook of Defeasible Reasoning and Uncertainty Management Systems. Springer (2000) 221–288 7. Kamvar, S.D., Schlosser, M.T., Garcia-Molina, H.: The EigenTrust Algorithm for Reputation Management in P2P Networks. In: Proceedings of the 12th Interna- tional Conference on World Wide Web. (2003) 640–651 8. Demolombe, R.: Reasoning about trust: A formal logical framework. In: Proceed- ings of the Second International Conference of Trust Management (iTrust 2004). (2004) 291–303 9. Jøsang, A., Ismail, R., Boyd, C.: A survey of trust and reputation systems for online service provision. In: Decision Support Systems. (2007) 10. Kohlas, R.: Decentralized Trust Evaluation and Public-Key Authentication. PhD thesis, Universität Bern (2007) 11. Jonczy, J., Haenni, R.: Credential Networks: a General Model for Distributed Trust and Authenticity Management. In: PST. (2005) 101–112 12. Jøsang, A., Gray, E., Kinateder, M.: Simplification and Analysis of Transitive Trust Networks. Web Intelligence and Agent Systems Journal (2006) 139–161 13. Zadeh, L.A.: Review of Books: A Mathematical Theory of Evidence. The AI Magazine 5(3) (1984) 81–83 14. Shafer, G.: A Mathematical Theory of Evidence. Princeton Univ. Press (1976) 15. Gutscher, A.: A Trust Model for an Open, Decentralized Reputation System. In: Proceedings of the Joint iTrust and PST Conferences on Privacy Trust Manage- ment and Security (IFIPTM 2007). (2007) 285–300 16. Gutscher, A.: Reasoning with Uncertain and Conflicting Opinions in Open Repu- tation Systems. In: Proceedings of the Fourth International Workshop on Security and Trust Management (STM 2008). (2008)