TU Darmstadt / ULB / tuprints

Leveraging Attestation Techniques for Trust Establishment in Distributed Systems

Stumpf, Frederic :
Leveraging Attestation Techniques for Trust Establishment in Distributed Systems.
TU Darmstadt
[Ph.D. Thesis], (2010)

[img]
Preview
PDF
PhD_Thesis_Stumpf.pdf
Available under Simple publication rights for ULB.

Download (3415Kb) | Preview
Item Type: Ph.D. Thesis
Title: Leveraging Attestation Techniques for Trust Establishment in Distributed Systems
Language: English
Abstract:

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.

Alternative Abstract:
Alternative AbstractLanguage
Mit dem Wachstum der Komplexität von Softwaresystemen geht ein Wachstum an aufgedeckten Sicherheitslücken und Fehlern in den Softwaresystemen einher. Einmal ausgenutzt, erlauben es diese Schwachstellen einem Angreifer, bösartige Programme zu installieren, wie etwa Malware oder Spyware, die einzelne Aktionen eines Benutzers, Passwörter, Kreditkarteninformationen, Gebote in Auktionen oder andere sensitive Daten abhören, speichern und weiter verteilen können. Dieses Problem wird weiterhin dadurch verschlimmert, dass eine einzige Schwachstelle in einer einzelnen Anwendung einen Kontrollverlust über das ganze System bewirken kann. Folglich ist es für Benutzer sehr schwer festzustellen, ob das Softwaresystem ihres Computers vertrauenswürdig ist oder nicht. Dieses Wissen ist jedoch notwendig, um Benutzern mehr Sicherheit und damit mehr Vertrauen in den Umgang mit ihrem Softwaresystem zu geben. In dieser Dissertation werden für diese Problematik Konzepte und Mechanismen entwickelt, um verifizierbare Nachweise zu erstellen, ob sich ein System in einem bestimmten Zustand befindet. Die zugrunde liegende Idee der Arbeit besteht darin, nachzuweisen, ob ein System qua Konstruktion bzw. Konfiguration festgelegte Eigenschaften besitzt, so dass im Vertrauen auf die Gültigkeit dieser Eigenschaften eine Interaktion mit einem System vertrauenswürdig abgewickelt werden kann. Besitzt ein System die spezifizierten Eigenschaften, so kann dies erkannt und eine Interaktion mit dem System rechtzeitig abgebrochen werden. Um diese Anforderungen umzusetzen, werden in dieser Dissertation Konzepte und Mechanismen entwickelt, die auf drei Bausteinen beruhen. Erst die Kombination aller drei Bausteine ermöglicht den sicheren Vertrauensaufbau in ein System. Der erste Baustein beinhaltet sichere Attestationsprotokolle. Diese Attestationsprotokolle bedienen sich kryptographischer Maßnahmen und ermöglichen es, den Systemzustand eines Softwaresystems vertrauenswürdig zu übermitteln. Als Attestationstechnik werden die Mechanismen eines Trusted Platform Modules (TPM) eingesetzt, um die Authentizität der Eigenschaften eines Systems zu gewährleisten. In dem Kontext dieses Bausteins wird aufgezeigt, welche Anforderungen an Attestationsprotokolle gestellt werden und wie sich sichere Attestationsprotokolle realisieren lassen. Dazu werden mehrere sichere Attestationsprotokolle entwickelt, die unterschiedliche Eigenschaften erfüllen und damit in unterschiedlichen Szenarien eingesetzt werden können. Die entworfenen Protokolle werden bezüglich ihrer Sicherheit sowohl formal als auch informell verifiziert. Der zweite Baustein ist eine attestationsunterstützende Systemarchitektur, in die sich die Attestationsprotokolle einbetten lassen. Die Systemarchitektur zeichnet sich durch einzelne voneinander isolierte Bereiche aus und ist in der Lage, mittels Attestationsprotokollen ihre Vertrauenswürdigkeit zu belegen. Zur Umsetzung dieses Konzeptes werden Virtualisierungstechnologien benutzt, um inhärente Probleme der zugrunde liegenden Attestationstechnik zu lösen. Dieses Vorgehen ermöglicht die Konstruktion von isolierten, vertrauenswürdigen Ausführungsumgebungen, die gegenüber einer Kompromittierung durch Malware robust sind und daher für sensitive Transaktionen genutzt werden können. Bei dem dritten Baustein handelt es sich um eine sichere Transaktionssoftware, die es ermöglicht, vertrauenswürdige Transaktionen in verteilten Systemen zu tätigen. Hierzu wird anhand des Beispiels E-Commerce eine Software entwickelt, die sich einer geeigneten Kombination von SmartCard-basierter Authentifikation des Nutzers und einer TPM-basierten Attestation der Softwarekomponenten bedient. Diese Transaktionssoftware nutzt dazu die ersten beiden Bausteine und ist somit robust gegenüber Infektionen durch Malware. Weiterhin implementiert die Transaktionssoftware die vorgestellten Konzepte und Protokolle und ist daher in der Lage, ihre Vertrauenswürdigkeit sowohl gegenüber dem Nutzer als auch einer entfernten Plattform zu belegen.German
Uncontrolled Keywords: Trusted Computing, Attestation, Secure Attestation Channels, Virtualization, Integrity Reporting, Trust Establishment, Secure Operating Systems, Trusted Systems
Alternative keywords:
Alternative keywordsLanguage
Trusted Computing, Attestation, Secure Attestation Channels, Virtualization, Integrity Reporting, Trust Establishment, Secure Operating Systems, Trusted SystemsEnglish
Classification DDC: 000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik
Divisions: Fachbereich Informatik > Security Engineering - Sicherheit in der Informationstechnik
Date Deposited: 11 Mar 2010 12:35
Last Modified: 07 Dec 2012 11:56
URN: urn:nbn:de:tuda-tuprints-20784
License: Simple publication rights for ULB
Referees: Eckert, Prof. Dr. Claudia and Baumgarten, Prof. Dr. Uwe and Katzenbeisser, Prof. Dr. Stefan
Refereed: 21 December 2009
URI: http://tuprints.ulb.tu-darmstadt.de/id/eprint/2078
Export:

Actions (login required)

View Item View Item