← Neueste Arbeiten
💻 computer science

Bootstrapping Mutual Attestation with Kleene's Second Recursion Theorem

Diese Arbeit löst den unendlichen Regress der gegenseitigen Attestierung, indem sie Kleenes zweiten Fixpunktsatz anwendet, um Knoten zu konstruieren, die in der Lage sind, den exakten Quellcode des jeweils anderen allein aus eingebetteten Daten gegenseitig zu rekonstruieren und zu verifizieren, wodurch die Notwendigkeit von vertrauenswürdigen Dritten oder externen Referenzwerten über verschiedene Computerarchitekturen hinweg eliminiert wird.

Ursprüngliche Autoren: Takuma Imamura

Veröffentlicht 2026-08-24
📖 7 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Takuma Imamura

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

In der Welt des sicheren Computings besteht ein grundlegendes Bedürfnis, zu beweisen, dass ein Computerprogramm genau das ist, was es zu sein vorgibt. Dieser Prozess, bekannt als Remote Attestation (Fernattestierung), ist das digitale Äquivalent eines Sicherheitswächters, der den Führerschein eines Fahrers prüft, bevor er ihn in ein geschütztes Gebäude lässt. Der Wächter vergleicht das Foto und die Details auf dem Führerschein mit einer vertrauenswürdigen Datenbank dessen, wie ein gültiger Führerschein aussehen sollte. Wenn die Details übereinstimmen, darf die Person eintreten. In der digitalen Welt generiert ein Computerprogramm einen einzigartigen Fingerabdruck, eine sogenannte Messung (Measurement), die mit einem Referenzwert – einem bekannten, erwarteten Fingerabdruck – verglichen wird, der beim Verifizierer hinterlegt ist. Dieses System funktioniert perfekt, wenn eine Partei eine andere überprüft, stößt jedoch an eine logische Wand, wenn zwei oder mehr Computer gleichzeitig einander überprüfen müssen. Wenn Computer A wissen muss, wie der Fingerabdruck von Computer B aussieht, um ihn zu verifizieren, und Computer B wissen muss, wie der Fingerabdruck von Computer A aussieht, um ihn zu verifizieren, kann keiner von beiden den Prozess starten, ohne bereits die Antwort zu haben. Dies schafft eine zirkuläre Abhängigkeit, bei der jede Maschine auf die andere wartet, um den Beweis zu liefern, den sie selbst benötigt, um den Prozess zu beginnen.

Forscher der Acompany Co., Ltd. in Nagoya, Japan, haben einen Weg gefunden, diesen Kreis zu durchbrechen, ohne sich auf eine zentrale Instanz oder eine bereits existierende Liste vertrauenswürdiger Codes zu verlassen. Sie näherten sich dem Problem nicht als Sicherheitspuzzle, sondern als Frage der Logik und der Selbstbezüglichkeit. Durch die Anwendung eines mathematischen Prinzips, das als Kleenes zweiter Rekursionssatz bekannt ist, haben sie demonstriert, dass eine Gruppe von Computern so programmiert werden kann, dass sie den exakten Quellcode jedes anderen Mitglieds im eigenen Speicher enthält. Dies ermöglicht es jeder Maschine, den Code ihrer Partner von Grund auf neu zu rekonstruieren, den korrekten Fingerabdruck während der Laufzeit zu berechnen und die Identität des anderen zu verifizieren, ohne jemals einen externen Teilnehmer nach der Antwort fragen zu müssen. Das Team baute funktionierende Prototypen, um dieses Konzept zu beweisen, und zeigte, dass zwei sichere Computer erfolgreich ihre Integrität gegenseitig verifizieren konnten, indem sie nur die Daten nutzten, die sie in sich trugen.

Der Kern des Problems liegt in der Natur moderner sicherer Umgebungen, wie etwa Trusted Execution Environments (TEEs), bei denen es sich um isolierte Räume handelt, in denen sensible Daten verarbeitet werden können, ohne dass man befürchten muss, dass sie eingesehen oder manipuliert werden. In einem typischen Setup beweist ein einzelner Computer seine Vertrauenswürdigkeit gegenüber einem Server. Der Server hält eine Liste genehmigter Code-Fingerabdrücke bereit und gleicht den Bericht des Computers mit dieser Liste ab. In einem dezentralen Netzwerk, in dem mehrere Computer zusammenarbeiten müssen, um vertrauliche Aufgaben zu bewältigen, fungiert jedoch jede Maschine sowohl als Prüfer als auch als Geprüfter. Wenn sie versuchen, die Fingerabdrücke ihrer Partner fest in ihre eigene Software zu kodieren, geraten sie in eine Endlosschleife. Um den Fingerabdruck von Partner B zu kennen, muss Computer A dessen Code kennen. Aber der Code von Partner B enthält den Fingerabdruck von Computer A, was wiederum das Wissen über den Code von Computer A erfordert, welcher wiederum den Fingerabdruck von Partner B enthält, und so weiter bis ins Unendliche. Frühere Lösungen für dieses Dilemma bestanden darin, eine vertrauenswürdige dritte Partei hinzuzuziehen, die die Fingerabdrücke verteilt, oder sich auf spezifische Hardware-Funktionen zu verlassen, die die Werte beim Start einspeisen. Diese Methoden funktionieren zwar, führen aber wieder eine zentrale Vertrauensstelle ein oder binden die Lösung an einen bestimmten Typ von Hardware, was den Einsatzbereich einschränkt.

Die Forscher schlugen einen anderen Weg vor, indem sie die Gruppe von Computern als ein einziges, miteinander verbundenes System betrachteten. Sie erkannten, dass die zirkuläre Abhängigkeit gelöst werden könnte, wenn jeder Computer den Code seiner Partner aus einem gemeinsamen Satz von Anweisungen generieren könnte. Unter Verwendung eines Konzepts aus der Informatik, das es einem Programm ermöglicht, auf seinen eigenen Quellcode zu verweisen, entwarfen sie eine Methode, bei der eine Gruppe von Programmen in einen Satz selbstkontainierter Einheiten transformiert wird. Jede Einheit trägt eine vollständige Beschreibung der gesamten Programmfamilie in sich. Wenn ein Computer startet, liest er diese interne Beschreibung, rekonstruiert den exakten Quellcode seines Partners und berechnet dann dessen Fingerabdruck. Da die Rekonstruktion von innen heraus erfolgt, muss der Computer keine externe Liste anvertrauen; er berechnet die Antwort einfach basierend auf den Daten, die er bereits besitzt. Dieser Ansatz macht eine zentrale Instanz überflüssig und funktioniert über verschiedene Arten von sicherer Hardware hinweg, ohne dass Änderungen an den zugrunde liegenden Sicherheitswerkzeugen erforderlich sind.

Um diese Theorie zu beweisen, erstellte das Team zwei funktionierende Demonstrationen. Die erste konzentrierte sich auf Systeme, die den Code direkt während der Ausführung messen, wie etwa Standard-Linux-Systeme. Sie entwickelten ein Tool namens PyReflect, das eine Vorlage des Codes nimmt und automatisch die selbstbezüglichen Programme generiert. In ihrem Test tauschten zwei virtuelle Maschinen, die von einem Software-Sicherheitsmodul unterstützt wurden, erfolgreich Verifizierungsberichte aus. Jede Maschine rekonstruierte den Code des anderen, berechnete den erwarteten Fingerabdruck und bestätigte, dass der Partner die korrekte Software ausführte. Die zweite Demonstration adressierte Systeme, die ein kompiliertes Build-Artefakt messen, wie etwa AWS Nitro Enclaves, welche spezialisierte sichere Container sind. Hier ist der Prozess komplexer, da der Computer nicht nur den Quellcode rekonstruieren, sondern auch die endgültige ausführbare Datei exakt so wieder aufbauen muss, wie sie ursprünglich erstellt wurde. Sie entwickelten ein Tool namens NixReflect, um dies zu handhaben. In ihrem Experiment wurden zwei sichere Enklaven gestartet, und jede von ihnen baute das gesamte Image des anderen unabhängig aus den Daten wieder auf, die im eigenen Speicher gespeichert waren. Sie berechneten dann den Fingerabdruck des aufgebauten Images und verglichen ihn mit dem vom Partner gemeldeten Wert. Die Ergebnisse stimmten perfekt überein, was bewies, dass die Maschinen die korrekten Referenzwerte allein aus ihren internen Daten ableiten konnten.

Die Forscher maßen auch die Kosten dieses Ansatzes. Im Fall der sicheren Enklaven dauerte der Prozess des Wiederaufbaus des Peer-Images signifikant länger als die bloße Berechnung eines Hashs des Codes. Für ihren spezifischen Testfall dauerte der Rekonstruktions- und Wiederaufbauprozess etwa 6,8 Sekunden, während eine einfache Hash-Berechnung weniger als 0,1 Sekunden dauerte. Dieser Unterschied wird bei komplexeren Anwendungen voraussichtlich wachsen, da der Computer die gesamte Kette der Abhängigkeiten durchlaufen muss, um die Software wieder aufzubauen. Trotz dieser Zeitkosten bestätigte das Experiment, dass die Methode machbar ist und weder neue Hardware noch eine vertrauenswürdige dritte Partei erfordert. Das Team merkte an, dass es bei komplexeren Systemen möglich sein könnte, den Wiederaufbauprozess vor dem Deployment in eine sichere Build-Umgebung auszulagern, was die Laufzeitkosten senken würde, dies jedoch eine andere Reihe von Vertrauensannahmen bezüglich der Build-Umgebung mit sich brächte.

Die Bedeutung dieser Arbeit liegt in ihrer Fähigkeit, einen logischen Stillstand zu lösen, der vollständig dezentrale sichere Berechnungen lange Zeit behindert hat. Indem sie zeigten, dass gegenseitige Attestierung durch selbstkontainierte Rekonstruktion erreicht werden kann, haben die Forscher einen Weg für Peer-to-Peer-Netzwerke aufgezeigt, in denen kein einzelnes Subjekt von allen Teilnehmern vertraut wird. Die Lösung ist architekturbetriebsunabhängig, was bedeutet, dass sie auf verschiedene Arten von sicherer Hardware angewendet werden kann, ohne dass benutzerdefinierte Modifikationen an der Hardware erforderlich sind. Sie stützt sich auf die fundamentalen Eigenschaften der Berechnung statt auf spezifische Hardware-Merkmale, was sie zu einem vielseitigen Werkzeug für die Zukunft des Confidential Computing macht. Während die aktuellen Prototypen Proof-of-Concept-Demonstrationen sind, etablieren sie, dass das Problem des Bootstrappings von Referenzwerten ohne eine vertrauenswürdige dritte Partei gelöst werden kann, was die Tür für robustere und unabhängigere sichere Netzwerke öffnet.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →