Leveraging Attestation Techniques for Trust Establishment in Distributed Systems
Frederic Stumpf · Technischen Universität Darmstadt · 2010
As the complexity of current software systems increases, we see a correlative increase in the number of discovered vulnerabilities. These vulnerabilities, once exploited, allow an attacker to surreptitiously install subversive programs, such as malware and spyware, that can eavesdrop, record and distribute a user's actions, passwords, credit card information, bids in auctions or other sensitive data. Exacerbating this problem is the fact that a single vulnerability in a single application can result in the loss of control of the entire system. As a result, it is difficult for users to ascertain if their computer's software system can be trusted or not. However, such assurances are necessary if users are to become more comfortable in using their software systems. To alleviate this challenge, we develop concepts and methods to create verifiable proofs with which decisions can be made as to whether a particular system is trusted. For this purpose, the solution proposed in this thesis is based on three main building blocks. Only the combination of all these three building blocks enable overcoming the presented challenges. The first building block comprises secure attestation protocols. Attestation protocols use cryptographic mechanisms and enable to securely deliver integrity information of the system configuration of a particular (remote) platform. To ensure that the delivered integrity information are authentic, the mechanisms provided by a Trusted Platform Module (TPM) are used. In the context of these building blocks, we show which challenges need to be solved in designing secure attestation protocols. We propose a number of different attestation protocols that are adapted to different scenarios and enable establishing trust in a remote entity's platform configuration. We also evaluate our proposed protocols in terms of security and performance. To this end, we formally analyzed our proposed protocols using a model checker and implemented all protocols to gain performance data. The second building block is a security architecture for non resource-constrained computer systems. This security architecture is based on virtualization techniques and is adapted to efficiently use attestation techniques. It provides an isolated security environment where confidential data can be processed. We also give details about our performed implementation.