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 |