During the past thirty years, the world of computing has evolved from large centralised computing centres to an increasingly distributed computing environment, where computation and communication capabilities are being embedded in...
moreDuring the past thirty years, the world of computing has evolved from large centralised computing centres to an increasingly distributed computing environment, where computation and communication capabilities are being embedded in artefacts of everyday life. Billions of computational entities will interact in systems with ever changing configurations determined by local and global context, for example, the location of the user. In such dynamic environments, users would be overwhelmed if involved in computing-related decisions every time the context changes. Due to the number of decisions required to sustain continuous service, most decisions will have to be made by the computing entities themselves. Moreover, due to the global scale of the environment and the potential risk of disconnected operations, the computing entities may have to make these decisions autonomously, without relying on a given fixed infrastructure. Knowledge, especially about the context of the interaction, is vital for the accuracy of these decisions. However, keeping information on a global scale is unfeasible for resource-constrained entities, so some degree of uncertainty must be assumed. This peer-to-peer type of interaction in an uncertain world where interactions are needed to go forward resembles what occurs in human social networks. The notion of trust has emerged in human society to allow humans to make decisions under such circumstances. It has been proposed that computing entities can make decisions based on a computational model of trust. The trust engine run by each entity distributes and gathers pieces of evidence, that is, knowledge about the interacting entities: direct observations, recommendations or reputation. Since the trust engines collaborate and malicious collaborating entities exist, security through collaboration must be considered. As the real world does not have a unique legitimate authority, computing entities are owned by multiple authorities and operated from multiple jurisdictions. As in real life, no administrator can be perpetually present to manage the interactions. The trust engine can adapt security in a peer-to-peer way. A crucial element for the use of trust is to know with whom the entities interact, which corresponds to authentication in traditional computer security. However, this element has been disregarded in computational trust: this is ill-fated given that virtual identities are the means for a number of attacks that are less possible in face-to-face settings. This thesis sets up a framework, called entification, which encompasses both computational trust and identity aspects, and whose goal is to be applicable to global computing. For this purpose, this thesis