OpenTitan Open-Chip-Chip ersetzt die proprietären Vertrauenswurzeln von Intel und ARM



Am 5. November 2019 stellte die gemeinnützige lowRISC- Organisation unter Beteiligung von Google und anderen Sponsoren das OpenTitan- Projekt vor, das als „erstes Open-Source-Projekt eine offene, qualitativ hochwertige Architektur von Chips mit dem Root of Confidence (RoT) auf Hardware-Ebene“ bezeichnet.

Die OpenTitan on RISC-V-Architektur ist ein Spezialchip für die Installation auf Servern in Rechenzentren und anderen Geräten, bei denen die Authentizität des Downloads sichergestellt, die Firmware vor Änderungen geschützt und die Möglichkeit von Rootkits ausgeschlossen werden muss: Dies sind Motherboards, Netzwerkkarten, Router und IoT-Geräte , mobile Geräte usw.

Natürlich sind solche Module in modernen Prozessoren. Beispielsweise ist das Intel Boot Guard-Hardwaremodul der Grundstein des Vertrauens in Intel-Prozessoren. Es überprüft die Authentizität des UEFI-BIOS über die Vertrauenskette, bevor das Betriebssystem gebootet wird. Die Frage ist jedoch, inwieweit wir den proprietären Wurzeln des Vertrauens vertrauen können, da wir keine Garantie für die Abwesenheit von Fehlern im Design haben, es aber keine Möglichkeit gibt, dies zu überprüfen. Siehe den Artikel „Schrödinger Trusted Download. Intel Boot Guard " mit der Beschreibung," wie ein geklonter Fehler bei der Produktion mehrerer Hersteller einem potenziellen Angreifer im Laufe der Jahre die Verwendung dieser Technologie ermöglicht, um ein verstecktes Rootkit in einem nicht löschbaren (auch Programmier-) System zu erstellen. "

Die Gefahr, Geräte in der Lieferkette zu kompromittieren, ist überraschend real: Es scheint, dass jeder Hobbyelektroniker einen Fehler auf dem Server-Motherboard mit Geräten im Wert von maximal 200 US-Dollar beheben kann. Einige Experten vermuten, dass "Organisationen mit einem Budget von Hunderten von Millionen Dollar dies für viele Jahre tun können". Obwohl es keine Beweise gibt, ist dies theoretisch möglich.

"Wenn Sie dem Hardware-Downloader nicht vertrauen können, ist das Spiel vorbei", sagte Gavin Ferris, Mitglied des LowRISC-Verwaltungsrates. - Es spielt keine Rolle, was das Betriebssystem tut. Wenn Sie zum Zeitpunkt des Ladens des Betriebssystems gefährdet waren, ist der Rest eine Frage der Technologie. Du bist schon fertig. “

Dieses Problem sollte durch die erste seiner Art offene Hardwareplattform OpenTitan ( GitHub-Repository , Dokumentation , Hardwarespezifikationen ) gelöst werden. Das Vermeiden proprietärer Lösungen wird die "unbeholfene und unvollständige RoT-Branche" verändern, sagte Google.

Google selbst begann mit der Entwicklung des Titan und entdeckte das in die Intel Management Engine (ME) -Chips integrierte Minix-Betriebssystem. Dieses komplexe Betriebssystem vergrößerte auf unvorhersehbare und unkontrollierbare Weise die Angriffsfläche. Google hat versucht, Intel Management Engine (ME) loszuwerden , ist jedoch gescheitert.

Was ist die Wurzel des Vertrauens?


Jede Stufe des Systemstartprozesses überprüft die Authentizität der nächsten Stufe und bildet so eine Vertrauenskette .

Root of Trust (RoT) ist eine hardwarebasierte Authentifizierung, die sicherstellt, dass die Quelle der ersten ausführbaren Anweisung in der Vertrauenskette nicht geändert werden kann. RoT ist der grundlegende Schutz gegen Rootkits. Dies ist ein wichtiger Schritt beim Startvorgang, der für den weiteren Start des Systems erforderlich ist - vom BIOS über das Betriebssystem bis hin zu den Anwendungen. Er muss die Echtheit jedes nachfolgenden Download-Schritts überprüfen. Zu diesem Zweck wird in jeder Phase ein Schlüsselsatz mit einer digitalen Signatur verwendet. Einer der beliebtesten hardwarebasierten Schlüsselschutzstandards ist TPM (Trusted Platform Module).


Die Wurzel des Vertrauens aufbauen. Oben ist ein fünfstufiger Download aufgeführt, der eine Vertrauenskette bildet und mit einem Bootloader beginnt, der sich im unveränderlichen Speicher befindet. In jeder Phase wird ein öffentlicher Schlüssel verwendet, um die nächste herunterladbare Komponente zu authentifizieren. Illustration von Perry Lees IoT-Architektur

RoT kann auf verschiedene Arten gestartet werden:

  • Laden des Images und des Root-Schlüssels von der Firmware oder dem unveränderlichen Speicher;
  • Speichern des Grundschlüssels in einem einmalig programmierbaren Speicher unter Verwendung von Sicherungsbits;
  • Laden von Code aus einem geschützten Speicherbereich in einen geschützten Speicher.

In verschiedenen Prozessoren wird die Vertrauenswurzel auf unterschiedliche Weise implementiert. Intel und ARM
Unterstützen Sie die folgenden Technologien:

  • ARM TrustZone . ARM verkauft einen proprietären Siliziumblock an Chiphersteller, der die Basis für Vertrauen und andere Sicherheitsmechanismen darstellt. Somit ist der Mikroprozessor vom unsicheren Kern getrennt; Es wird Trusted OS ausgeführt, ein sicheres Betriebssystem mit einer genau definierten Schnittstelle für die Interaktion mit unsicheren Komponenten. Geschützte Ressourcen befinden sich in einem vertrauenswürdigen Kern und sollten so leicht wie möglich sein. Der Übergang zwischen Komponenten unterschiedlicher Typen erfolgt mithilfe der Hardware-Kontextumschaltung, sodass keine sichere Überwachungssoftware erforderlich ist.
  • Intel Boot Guard ist ein Hardwaremechanismus zur Authentifizierung des anfänglichen Startblocks mit kryptografischen Tools oder durch einen Messvorgang. Um den anfänglichen Block zu überprüfen, muss der Hersteller einen 2048-Bit-Schlüssel generieren, der aus zwei Teilen besteht: öffentlich und privat. Der öffentliche Schlüssel wird auf die Platine gedruckt, indem die Sicherungseinsätze in der Produktionsphase "gezündet" werden. Diese Bits sind einmalig und können nicht geändert werden. Der private Teil des Schlüssels generiert eine digitale Signatur für die nachfolgende Authentifizierung der Download-Phase.

Die OpenTitan-Plattform zeigt die wichtigsten Teile eines solchen Firmware-Systems, wie in der folgenden Abbildung dargestellt.



OpenTitan-Plattform


Die Entwicklung der OpenTitan-Plattform steht unter der Kontrolle der gemeinnützigen Organisation lowRISC. Das Engineering-Team hat seinen Sitz in Cambridge (Großbritannien) und der Hauptsponsor ist Google. Gründungspartner sind die Swiss Higher Technical School Zürich, G + D Mobile Security, Nuvoton Technology und Western Digital.

Google hat die Ankündigung des Projekts im Unternehmensblog von Google Open Source veröffentlicht. Laut dem Unternehmen ist OpenTitan bestrebt, "hochwertige RoT-Design- und Integrationsrichtlinien für die Verwendung in Rechenzentrumservern, Speichern, Peripheriegeräten und mehr bereitzustellen".

Die Vertrauenswurzel ist das erste Glied in der Vertrauenskette auf der untersten Ebene in einem vertrauenswürdigen Computermodul, dem das System immer voll vertraut.

RoT ist für Anwendungen, einschließlich der Public Key-Infrastruktur (PKI), von entscheidender Bedeutung. Dies ist die Grundlage des Sicherheitssystems, auf dem ein komplexes System basiert, z. B. eine IoT-Anwendung oder ein Rechenzentrum. Daher ist klar, warum Google dieses Projekt unterstützt. Sie hat jetzt 19 Rechenzentren auf fünf Kontinenten. Rechenzentren, Speicher und geschäftskritische Anwendungen stellen eine große Angriffsfläche dar. Zum Schutz dieser Infrastruktur hat Google zunächst eine eigene Vertrauensbasis auf dem Titan-Chip aufgebaut.

Der proprietäre Titan-Chip für Google-Rechenzentren wurde erstmals im März 2017 auf der Google Cloud Next-Konferenz vorgestellt. „Unsere Computer führen eine kryptografische Überprüfung jedes Softwarepakets durch und entscheiden dann, ob sie Zugriff auf Netzwerkressourcen gewähren. Titan ist in diesen Prozess integriert und bietet zusätzliche Schutzebenen “, so die Vertreter von Google bei dieser Präsentation.


Chiptitan im Google-Server

Die Titan-Architektur befand sich im Besitz von Google, wird jedoch jetzt im Rahmen eines Open-Source-Projekts gemeinfrei.

Die erste Phase des Projekts besteht in der Erstellung eines RoT-Logikdesigns auf Mikroschaltungsebene, das den Open-Source-Mikroprozessor lowRISC ibex , kryptografische Prozessoren, einen Hardware-Zufallszahlengenerator, Schlüssel- und Speicherhierarchien für nichtflüchtige und nichtflüchtige Speicher, Sicherheitsmechanismen, periphere Eingabe- / Ausgabegeräte und sichere Startprozesse umfasst.

Laut Google basiert OpenTitan auf drei Grundsätzen:

  • Jeder hat die Möglichkeit, die Plattform zu testen und Beiträge zu leisten.
  • erhöhte Flexibilität aufgrund der Öffnung eines logisch sicheren Designs, das nicht durch die proprietären Verbote des Lieferanten blockiert wird;
  • Die Qualität wird nicht nur durch das Design selbst sichergestellt, sondern auch durch Referenz-Firmware und Dokumentation.

„Aktuelle Chips mit den Wurzeln des Vertrauens sind sehr geschützt. Sie beanspruchen Sicherheit, aber in Wirklichkeit können Sie sie nicht selbst testen “, sagte Dominic Rizzo, leitender Sicherheitsspezialist für das Google Titan-Projekt. „Jetzt ergibt sich zum ersten Mal die Möglichkeit, Entwicklern von proprietären Designwurzeln des Vertrauens Sicherheit ohne blindes Vertrauen zu bieten. Das Fundament ist also nicht nur solide, es kann auch überprüft werden. “

Rizzo fügte hinzu, dass OpenTitan im Vergleich zum aktuellen Stand der Dinge als "radikal transparentes Design" angesehen werden könne.

OpenTitan ist nach Ansicht der Entwickler keinesfalls als fertiges Produkt anzusehen, da die Entwicklung noch nicht abgeschlossen ist. Sie haben die Spezifikationen und das Design während der Entwicklung absichtlich geöffnet, damit jeder das System testen, beitragen und verbessern kann, bevor er mit der Produktion beginnt.

Um OpenTitan-Chips herzustellen, müssen Sie sich bewerben und zertifizieren lassen. Anscheinend sind keine Lizenzgebühren erforderlich.

Source: https://habr.com/ru/post/de474900/


All Articles