Trusted Computing und Betriebssystemarchitekturen aus der Perspektive industrieller Forschung Dirk Kuhlmann HP Laboratories dk(-at-)hplb.hpl.hp.com Nov. 2004 Abstract -------- Neben die bereits seit einiger Zeit verfügbaren 'Trusted Computing Modules' (TPMs) wird in Kürze eine neue Generation von Prozessoren und Controllern treten, die verbesserte Kontrolle von I/O und Speicherzugriffen ermöglichen. Industrielle Standardplattformen werden damit über Hardware verfügen, die verbesserte Isolierung von Softwarekomponenten und verlässlichere Selbst- und Fernüberprüfung von Elementen in verteilten Systemen erlauben. Die Kombination beider Mechanismen kann die technischen Voraussetzungen dafür schaffen, die Vertrauenswürdigkeit künftiger IT-Systeme spürbar zu verbessern. Die kontroverse Diskussion um 'Trusted Computing' hat allerdings deutlich vor Augen geführt, dass Nutzen bzw. Risiken dieser Technologie wesentlich von der Konzeption der auf sie aufbauenden Betriebssysteme abhängen wird. Dieser Beitrag behandelt einige der Herausforderungen, vor die sich ein Versuch gestellt sieht, die Vertrauenswürdigkeit von 'Trusted Computing' durch einen offen Prozess des Designs, der Implementation und der Validierung zu untermauern. Für die vorherrschenden Architekturen komplexer, monolithischer Betriebssysteme stellt sich insbesondere das Problem, nachprüfbare und verlässliche Aussagen zu erwartbarem Laufzeitverhalten überhaupt treffen zu können. Der Codeumfang der Trusted Computing Base liegt hier im Bereich von Millionen von Zeilen, und die Verlässlichkeit dieser Systeme motiviert sich weniger durch rigoroses Design und Validierung als durch Capablity Maturity per Test und Patch. Die durch 'Trusted Computing' aufgeworfene Gretchenfrage nach begründbarer und kommunizierbarer Vertrauenswürdigkeit hat deshalb zu einem steigenden Interesse an OS- Architekturen mit überschaubarem Codeumfang geführt, bei denen Separierung kritischer Funktionen vom Design her angelegt ist. Besonders attraktiv ist die Aussicht, monolithische Betriebssysteme zu kapseln und deren Laufzeitinstanzen definierten Sicherheitspolicies zu unterwerfen. Dieser Beitrag gibt einen kursorischen Überblick der Rahmenbedingungen eines möglichen 'Open Trusted Computing'. Es wird auf Vorarbeiten eingegangen, die wesentliche Elemente offener, vertrauenswürdiger Architekturen bilden konnten, und einige offene technische Probleme beschrieben. Zum Abschluss gehe ich kurz auf die organisatorischen Herausforderungen ein, die ein im Sinne von 'freier Software' offenes Entwicklungsmodell für Trusted Computing aufwirft.