Um große Fehler auszuschließen, wurde eine formale Überprüfung von Software und Compilern durchgeführt
Klassen sicherheitskritischer Probleme, Es besteht jedoch die Gefahr unbeabsichtigter Informationen
Leckagen wurden viel weniger berücksichtigt. Es ist eine zentrale Voraussetzung für
formale Spezifikationen, um einige Details des Verhaltens eines Systems nicht zu spezifizieren
damit zukünftige Implementierungsänderungen berücksichtigt werden können, und doch ist es so
Dennoch wurde erwartet, dass diese Entscheidungen nicht auf der Grundlage vertraulicher Informationen getroffen würden
Informationen, die das System verarbeitet. Dieser Artikel formalisiert diesen Begriff mithilfe von
Omnisemantik und einfache Einzelkopie-Behauptungen, zum ersten Mal geben a
Spezifikation dessen, was es bedeutet, dass ein nichtdeterministisches Programm ist
konstanter Zeit oder allgemeiner, um Leckagen zu vermeiden (ein Teil von) seine Eingänge. Wir verwenden
Diese Theorie soll die datenleckfreie Ausführung zentraler kryptografischer Routinen beweisen
kompiliert aus Bedrock2 C- bis RISC-V-Maschinencode, zeigt, dass die glatte
Spezifikations- und Beweiserfahrung Die Omnisemantik sorgt für Nichtdeterminismus
erstreckt sich auf zeitkonstante Eigenschaften in derselben Einstellung. Wir untersuchen auch Varianten
des wichtigsten Programm-Compiler-Vertrags, Hervorhebung der Fallstricke der Versuchung
Vereinfachungen und subtile Konsequenzen, wie Eingaben zu nichtdeterministischen werden
Auswahlmöglichkeiten sind eingeschränkt. Unsere Ergebnisse basieren auf modularer Programmlogik und
Compiler-Korrektheitstheoreme, und sie integrieren sich in ein ordentliches End-to-End
Satz im Coq-Beweisassistenten.
Dieser Artikel untersucht Zeitreisen und deren Auswirkungen.
PDF herunterladen:



