← Nieuwste papers
💻 computer science

Granite: A Modular Methodology for Foundational Verification of Hardware-Software Leakage Contracts

Granite introduceert een modulaire, fundamentele methodologie die zowel de functionele correctheid als het niet-lekken van RTL-processors verifieert door trace-equivalentie te vestigen met deterministische ISA-lekcontracten, waardoor de compositie van hardware- en softwarebewijzen mogelijk wordt om intermediaire specificaties uit de trusted computing base te elimineren.

Oorspronkelijke auteurs: Stella Lau, Andres Erbsen, Adam Chlipala

Gepubliceerd 2026-07-31
📖 7 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Stella Lau, Andres Erbsen, Adam Chlipala

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een razendsnelle racewagen bouwt. Je wilt dat hij ongelooflijk snel is, dus je voegt turbochargers, voorspellend sturen en een systeem toe dat raadt welke bocht je de volgende keer zult nemen. Maar er is een addertje onder het gras: als de motor van de auto een specifiek "kloink"-geluid maakt wanneer je alleen naar links afslaat, zou een sluwe spion die vanaf de zijlijn toekijkt je hele route kunnen ontcijferen door alleen naar het geluid te luisteren. In de wereld van computerchips wordt dit een "timing side channel" genoemd. Jarenlang probeerden programmeurs code te schrijven die exact dezelfde tijd in beslag nam, ongeacht welke geheime gegevens deze verwerkte, zoals een spion die probeert door een gang te lopen zonder een geluid te maken. Maar naarmate chips sneller en slimmer werden, begonnen ze kleine, onvoorspelbare geluidjes te maken—zoals een plotselinge pauze om in een spiegel te kijken of een uitbarsting van snelheid—die per ongeluk geheimen prijsgeven. Dit artikel behandelt het angstaanjagende idee dat zelfs als je code perfect is, de hardware zelf je geheimen kan lekken via het ritme van haar eigen hartslag.

De onderzoekers achter dit werk, bekend als Granite, hebben een nieuwe manier ontwikkeld om wiskundig te bewijzen dat een computerchip zijn geheimen veilig houdt. Ze hebben niet simpelweg geraden of tests uitgevoerd; ze creëerden een rigoureus, stapsgewijs wiskundig argument dat de hoogwaardige regels van hoe een computer zich zou moeten gedragen (de "Instruction Set") verbindt met de minuscule draden en transistoren (de "RTL"). Hun belangrijkste bevinding is een methode om te bewijzen dat de timing van een chip uitsluitend wordt bepaald door zaken die toegestaan zijn om publiek te zijn, zoals welke knop is ingedrukt, en nooit door de geheime gegevens die het verwerkt, zoals een wachtwoord of een encryptiesleutel. Ze sluiten expliciet de mogelijkheid uit dat je een chip alleen kunt vertrouwen omdat hij er goed uitziet of omdat hij standaardtests heeft doorstaan; ze laten zien dat zonder dit specifieke soort bewijs, verborgen lekken bijna gegarandeerd aanwezig zijn. Ze suggereren niet alleen dat dit werkt; ze hebben het formeel bewezen voor een processorontwerp dat succesvol is gesynthetiseerd voor een FPGA, hoewel het nog niet is geïntegreerd in een volledige system-on-chip voor post-synthese testen.

Het Grote Chip-detectiveverhaal

Beschouw een computerprocessor als een bruisende, chaotische keuken in een chique restaurant. De chefs (de hardware) bereiden maaltijden (draaien programma's) voor klanten. De "Instruction Set Architecture" (ISA) is de menukaart en het receptenboek. Het vertelt de keuken: "Als je een bestelling krijgt voor een burger, moet je uiteindelijk een burger serveren." Maar de menukaart zegt niet hoe lang het duurt om de burger te maken, of wanneer de chef het mes pakt.

In de oude dagen kregen chefs de opdracht om "constant-time" te zijn. Dit betekende dat ze groenten moesten snijden met exact dezelfde snelheid, of de klant nu een salade of een biefstuk bestelde, zodat een spion die vanuit het raam toekeek, de inhoud van de bestelling niet kon afleiden aan het ritme van het snijden. Maar toen werd de keuken te snel. Chefs gingen gebruikmaken van "speculatie"—ze zouden raden wat de klant wilde en alvast uien beginnen snijden voordat de bestelling zelfs maar bevestigd was. Als ze het fout hadden geraden, gooiden ze de uien weg en begonnen ze opnieuw. Dit gokspel creëerde nieuwe, accidentele geluiden: de tijd die het kostte om een fout te beseffen, of de tijd die het kostte om een specifieke kruidenpot te pakken, begon informatie te lekken. Een spion kon naar de keuken luisteren en concluderen: "Ah, de chef aarzelde 0,0001 seconde; ze moeten wel iets aan het bereiden zijn met geheime uien!"

Ontmoet Granite, de ultieme keukeninspecteur. Granite kijkt niet alleen naar de chefs; het herschrijft de regels van de keuken om ervoor te zorgen dat er geen geheimen ontsnappen via de timing van het snijden.

De Magie van de "Schaduwchef"

Het genie van Granite ligt in een slimme truc met een "Schaduwchef". Stel je voor dat je de echte chef hebt, die alle geheime recepten kent (de geheime data). Je hebt ook een schaduwchef die geblinddoekt is en alleen de publieke delen van de bestelling kent (de publieke data).

Granite's methode zegt: "We zullen bewijzen dat de echte chef en de schaduwchef in perfecte pas lopen." Als de echte chef 5 seconden nodig heeft om een ui te snijden omdat de ui groot was, moet de schaduwchef ook precies 5 seconden nodig hebben, ook al weet de schaduwchef niet dat de ui groot was. De timing van de schaduwchef wordt gedreven door de publieke bestelling. Als de timing van de echte chef ooit afhangt van een geheim (zoals het type ui), zullen de twee chefs uit de pas lopen en zal het bewijs falen.

Om dit werkend te krijgen, introduceert Granite een "Driver" en een "Witness".

  • De Driver is als een metronoom die alleen naar de publieke bestelling luistert. Het bepaat wanneer de keuken moet voortgaan, waardoor de timing van de acties in de keuken alleen wordt bepaald door wat de klant wil dat bekend is, en niet door de geheime ingrediënten.
  • De Witness is een placeholder voor de rommelige, onvoorspelbare delen van de keuken (zoals een willekeurige vertraging omdat een pan heet was). De Witness zegt: "Oké, het maakt ons niet uit precies wat hier gebeurt, zolang het maar niet afhangt van het geheim."

Door te bewijzen dat de echte keuken zich exact gedraagt als een keuken die wordt gerund door de Driver en de Witness, bewijst Granite dat het ritme van de keuken (de timing) de geheime ingrediënten absoluut niet kan verraden.

De Modulaire Puzzel

Een van de moeilijkste onderdelen bij het controleren van een hele keuken is dat deze te groot is om in één keer te overzien. Granite lost dit op door de keuken op te delen in kleine, onafhankelijke stations: het snijstation, het grillstation, het opmaakstation.

Granite bewijst dat elk station op zichzelf veilig is. Bijvoorbeeld, het "Multiplier"-station (dat wiskunde doet) wordt gecontroleerd om er zeker van te zijn dat als het langer duurt om twee getallen te vermenigvuldigen, dat alleen komt doordat de getallen nul waren (wat toegestaan is om bekend te zijn), en niet vanwege een geheim getal. Zodra elk station afzonderlijk veilig is bewezen, klikt Granite ze samen als Lego-blokjes. Omdat het bewijs "modulair" is, hoef je bij het vervangen van het grillstation door een snellere variant niet de hele keuken opnieuw te controleren; je controleert alleen het nieuwe station, en het hele systeem blijft veilig.

Het Eindvonnis

De onderzoekers hebben niet alleen hierover gepraat; ze hebben een processorontwerp gebouwd en hun bewijs erop uitgevoerd. Ze namen een stuk software dat al bekend stond als "constant-time" (een cryptografisch programma genaerd Salsa20) en bewezen dat wanneer dit op hun processorontwerp draait, het absoluut geen geheimen lekt via de timing.

Dit is een grote zaak omdat het verandert waar je op moet vertrouwen. Normaal gesproken moet je een complex contract tussen de software en de hardware vertrouwen. Granite laat zien dat als je hun hardwarebewijs verbindt met een geverifieerd softwarebewijs, het contract tussen hardware en software zelf van de lijst met zaken die je moet vertrouwen kan worden geschrapt. Echter, het bewijs rust nog steeds op een paar kerncomponenten, zoals de formele definitie van het Instruction Set-contract en de tool die de code naar hardwarebeschrijving vertaalt, die in de "Trusted Computing Base" blijven. Ze vonden zelfs een bug in hun eigen ontwerp: ze realiseerden zich dat het schrijven naar bepaalde besturingsschakelaars (CSR's) informatie kon lekken, en ze hebben dit hersteld voordat het bewijs voltooid was.

Kortom, Granite is een nieuwe manier om computerchips te bouwen die wiskundig gegarandeerd hun geheimen bewaren, zelfs wanneer ze snel draaien, gokken en geluid maken. Het verandert de chaotische, lawaaierige keuken van moderne computing in een stille, geheimhoudende vesting, en bewijst dat je zowel snelheid als veiligheid kunt hebben.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →