A Sound Translation from Tamarin to ProVerif: Enabling Comparative Analysis
Dit artikel presenteert een correcte vertaling van Tamarin naar ProVerif die een rigoureuze vergelijkende analyse van verificatietools voor beveiligingsprotocollen mogelijk maakt door de multiset rewrite-semantiek van Tamarin te coderen in de applied-pi calculus van ProVerif, waarbij een hoge dekking en significante prestatiewinst worden behaald terwijl de grenzen van getrouwe vertaling formeel worden gekarakteriseerd.
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 detective bent die een mysterie probeert op te lossen, maar in plaats van een plaats delict, is je "misdaad" een geheime code die mogelijk gekraakt kan worden door een sluwe hacker. In de wereld van computerbeveiliging worden deze codes protocollen genoemd—de regels waarmee je telefoon met een bank kan praten, of je spelcomputer met een server. Het probleem is dat deze regels zo ingewikkeld zijn dat zelfs de slimste menselijke detectives een minuscuul gaatje kunnen missen waar een hacker naar binnen kan glippen. Daarom hebben wetenschappers "geautomatiseerde detectives" gebouwd, wat superintelligente computerprogramma's zijn die ontworpen zijn om deze regels op gaten te controleren.
Twee van de meest beroemde geautomatiseerde detectives heten Tamarin en ProVerif. Denk aan deze twee als twee verschillende soorten rechercheurs met heel verschillende stijlen. Tamarin is als een minutieuze, langzaam bewegende bibliothecaris die elk boek op de plank één voor één controleert om te zien of er niets ontbreekt. Het is ongelooflijk grondig en maakt zelden fouten, maar het kan lang duren voordat het werk voltooid is. ProVerif daarentegen is als een razendsnelle snelle lezer die de planken scant. ProVerif kan in enkele seconden een enorme bibliotheek controleren, maar omdat het scant, kan het soms denken dat het een probleem heeft gevonden waar dat niet zo is (een "vals alarm").
Jarenlang werkten deze twee detectives in aparte kantoren. Omdat ze verschillende "talen" spraken en verschillende methoden gebruikten, was het bijna onmogelijk om hen direct met elkaar te vergelijken. Je kon niet gemakkelijk vragen: "Is de snelheid van ProVerif de risico's waard van het missen van een echt probleem?" of "Vangt de traagheid van Tamarin daadwerkelijk zaken die ProVerif mist?". Dit artikel gaat over het bouwen van een magische vertaler die deze twee detectives met elkaar laat praten, zodat ze dezelfde zaken zij aan zij kunnen oplossen om te zien wie sneller is, wie nauwkeuriger is en waar hun sterke punten liggen.
De Grote Detective Vertaler
De auteurs van dit artikel, Kevin Morio, Yavor Ivanov en Robert Künnemann, hebben een sound translation tool gebouwd. In de wereld van de wetenschap is "sound" een chique manier om te zeggen dat iets "betrouwbaar" is. Ze hebben een systeem gecreëerd dat een beveiligingsprotocol, geschreven in de langzame maar precieze taal van Tamarin, automatisch herschrijft naar de snelle maar scannende taal van ProVerif.
Maar hier zit de crux: je kunt een boek niet simpelweg woord voor woord vertalen als de twee talen verschillende grammaticaregels hebben. Tamarin gebruikt een methode die multiset rewrite rules wordt genoemd, wat lijkt op een stapel fysieke kaarten waarbij je een kaart slechts één keer kunt gebruiken voordat deze verdwijnt. ProVerif gebruikt iets dat de applied-π calculus wordt genoemd, wat meer lijkt op een digitale database waar inzendingen gekopieerd en hergebruikt kunnen worden. Om de vertaling te laten werken, hebben de auteurs nieuwe technieken uitgevonden om ProVerif te dwingen zich te gedragen alsof het fysieke kaarten gebruikt die verdwijnen, om te voorkomen dat het per ongeluk een "kaart" hergebruikt en een nep-probleem creëert. Ze hebben ook uitgezocht hoe ze "gelijktijdige gebeurtenissen" kunnen afhandelen: momenten waarop Tamarin zegt dat twee dingen op exact hetzelfde moment gebeuren, terwijl ProVerif erop staat dat alles na elkaar gebeurt. Ze hebben dit opgelost door elke gebeurtenis een unieke ID-tag te geven, zodat ProVerif weet welke gebeurtenissen bij hetzelfde moment horen.
Wat Ze Vonden: Snelheid versus Nauwkeurigheid
Het team heeft de vertaler niet alleen gebouwd; ze hebben hem ook getest. Ze namen 121 verschillende beveiligingsmodellen (denk aan 121 verschillende slot-en-sleutel systemen) en haalden deze door zowel Tamarin als de nieuwe ProVerif-vertaling.
De resultaten waren fascinerend:
- De Overeenkomst: Van de 562 specifieke beveiligingscontroles (genaamd "lemma tasks") die beide tools succesvol konden uitvoeren, kwamen 246 van de 247 niet-moeilijke gevallen perfect overeen. Als Tamarin "Veilig" zei, zei ProVerif ook "Veilig". Als Tamarin een "Hacker" vond, vond ProVerif dezelfde "Hacker". Het ene geval waarin ze verschilden, werd gemarkeerd omdat de vertaling voor dat specifieke model incompleet was, en niet omdat de tools fundamenteel defect waren.
- De Snelheidsverschil: Hier blinkt ProVerif uit. Wanneer beide tools een taak voltooiden, was ProVerif gemiddeld 6,74 keer sneller. Wat betreft geheugen (hoeveel computerbreinkracht het gebruikte), was ProVerif 6,24 keer efficiënter.
- Om dit in perspectief te plaatsen: voor een specifieke beroemde casusstudie (de Lowe fix voor het Andrew Secure RPC protocol) deed Tamarin ongeveer 30 seconden over het controleren van vijf verschillende beveiligingsregels. ProVerif deed exact hetzelfde werk in slechts 0,46 seconden. Dat is een versnelling van bijna 65 keer voor die specifieke test!
- De "Best Effort" Waarschuwing: De auteurs waren zeer voorzichtig om te vermelden dat sommige functies, zoals een specifieke wiskundige truc genaamd XOR, niet perfect vertaald konden worden. Voor deze gevallen zijn de resultaten van ProVerif "best effort" benaderingen. In deze lastige XOR-gevallen verschilden de tools vaker (31 keer van de 65), dus de auteurs waarschuwen gebruikers om die specifieke resultaten niet als absoluut bewijs te vertrouwen.
Waarom Dit Belangrijk Is
Dit artikel beweert niet dat ProVerif nu "beter" is dan Tamarin, of dat Tamarin verouderd is. In plaats daarvan bewijst het dat je voor een groot deel van de beveiligingsproblemen (de "common core") de snelle tool (ProVerif) met vertrouwen kunt gebruiken, wetende dat als deze zegt dat een systeem veilig is, de trage, minutieuze tool (Tamarin) het ermee eens zou zijn.
De auteurs hebben aangetoond dat onderzoekers door het gebruik van hun vertaling nu ProVerif kunnen gebruiken als een "snelle backend" om snel veel ideeën te controleren, terwijl ze nog steeds de optie hebben om Tamarin te gebruiken voor de laatste, meest kritieke controles. Het is alsof je een snelle lezer hebt die in enkele seconden een bibliotheek kan scannen om de boeken te vinden die je nodig hebt, terwijl je weet dat de bibliothecaris aanwezig is om de belangrijkste boeken nog even dubbel te checken als je 100% zekerheid nodig hebt.
Kortom, het artikel slaagt erin de kloof tussen twee reuzen van de computerbeveiliging te overbruggen, en bewijst dat ze samen kunnen werken om onze digitale wereld veiliger, sneller en betrouwbaarder te maken.
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.