Burrows -Abadi-Needham-logik eller BAN - logik er en formel logisk model for videns- og tillidsanalyse , der er meget brugt i analysen af godkendelsesprotokoller .
Hovedideen med BAN-logik er, at når man analyserer sådanne protokoller, først og fremmest skal man være opmærksom på, hvordan de involverede parter i autentificeringsprocessen opfatter information - hvad de tager for givet, og hvad de ved med sikkerhed eller kan være udledt af logiske gennem fakta, der er pålidelige for dem. [en]
Typisk er autentificeringsprotokoller beskrevet ved sekventiel opregning af meddelelser transmitteret mellem protokoldeltagere. Hvert trin beskriver indholdet af beskeden og specificerer afsender og modtager. BAN-logikken behandler ægtheden af en meddelelse som en funktion af dens integritet og nyhed ved at bruge logiske regler til at holde styr på tilstanden af disse attributter gennem hele protokollen. [2]
Der er tre typer objekter i BAN-logikken: medlemmer, krypteringsnøgler og formler, der forbinder dem. I den formelle analyse af protokollen konverteres hver besked til en logisk formel; så er de logiske formler forbundet med udsagn . Således ligner BAN-logik på mange måder Hoares logik . [3] Den eneste logiske operation, der bruges i denne logik, er konjunktion. Forskellige prædikater introduceres også , for eksempel etablering af relationer mellem deltagere og udsagn (tillidsforhold, jurisdiktion osv.) eller udtrykker nogle egenskaber ved udsagn (såsom friskhed , det vil sige udsagnet om, at udsagnet blev modtaget for nylig).
Som enhver formel logik er BAN-logik udstyret med aksiomer og slutningsregler. Formel protokolanalyse består i at bevise et bestemt sæt udsagn, udtrykt ved BAN-logiske formler, ved hjælp af slutningsregler. For eksempel er minimumskravet for enhver autentificeringsprotokol, at begge parter skal stole på, at de har fundet en hemmelig nøgle for at kunne udveksle oplysninger med hinanden.
Konjunktionsoperationen er angivet med et komma, og den logiske konsekvens er angivet med en vandret streg. Således skrives den logiske regel i notationen af BAN-logik som
Tilsvarende verbal formulering: Ud fra antagelserne om, at han tror på at dele nøglen med , og ser beskeden krypteret med nøglen , følger det, at han mener, at han på et tidspunkt sagde .
Bemærk, at det her implicit antages, at han aldrig selv har udtrykt .
det vil sige, at hvis han tror på nyhed og på det , han engang udtrykte , så tror han på, at han stadig stoler på .
siger, at hvis han tror på kræfter om , og tror på det, han tror på , så skal han tro på .
Tillidsoperatøren og konjunktionen adlyder følgende relationer:
Faktisk fastsætter disse regler følgende krav: stol på et sæt udsagn, hvis og kun hvis det stoler på hver udsagn separat.
En lignende regel findes for operatøren :
Det skal bemærkes, at fra og ikke følger , da og kunne udtrykkes på forskellige tidspunkter.
Endelig, hvis en del af erklæringen er modtaget for nylig, så kan det samme siges om hele erklæringen:
Fra et praktisk synspunkt udføres protokolanalyse som følger: [4] [5]
Lad os forklare betydningen af denne procedure. Det første trin kaldes idealisering og består af følgende: hvert trin i protokollen, skrevet som , omdannes til et sæt logiske udsagn vedrørende de transmitterende og modtagende parter. Lad for eksempel et af protokoltrinene se sådan ud:
Denne meddelelse fortæller parten (som har nøglen ), at nøglen skal bruges til at kommunikere med . Den tilsvarende logiske formel for denne meddelelse er:
Når den givne besked er leveret , er udsagnet sandt:
det vil sige, at han ser dette budskab og vil fortsætte med at handle i overensstemmelse med det.
Efter idealisering ser protokollen ud som en sekvens af udsagn og udsagn, der forbinder disse udsagn. Den indledende erklæring består af protokollens indledende antagelser, den endelige erklæring er resultatet af protokollen:
En protokol anses for at være korrekt, hvis sættet af endelige erklæringer omfatter sættet af (formaliserede) protokolmål.
Lad os skrive målene for godkendelsesprotokollen i form af BAN-logik (det vil sige, hvilke logiske påstande der skal udledes af protokollens antagelser, givet rækkefølgen af trin (påstande) udført i denne protokol): [6] [7]
ogdet vil sige, at begge parter skal stole på, at de bruger den samme hemmelige nøgle til at udveksle beskeder. Du kan dog bede om mere, for eksempel:
ogdet vil sige kvittering for modtagelse af nøglen . [6]
Overvej en simpel godkendelsesprotokol , broadmouth frog-protokollen , som tillader to parter, og , at etablere en sikker forbindelse ved hjælp af en server, de både har tillid til og synkroniserede ure. [8] I standardnotation er protokollen skrevet som følger:
Efter idealisering tager protokoltrinnene formen:
Lad os nedskrive de indledende antagelser af protokollen. Parterne og har henholdsvis nøgler og , til sikker kommunikation med serveren , som på BAN-logikkens sprog kan udtrykkes som:
Der er også antagelser om midlertidige indsættelser:
Ud over det er der et par antagelser om krypteringsnøglen:
Lad os gå videre til analysen af protokollen.
Derfor ,.
Ud fra disse overvejelser kan følgende konklusioner drages:
Under hensyntagen til den oprindelige antagelse om, at , opnår vi, at den analyserede protokol er berettiget. Det eneste der ikke kan siges er:
det vil sige, at han ikke opnåede bekræftelse på, at han modtog den ønskede nøgle.
Idealiseringsprocessen er mest kritiseret, da den idealiserede protokol muligvis ikke korrekt afspejler dens reelle modstykke. [9] Dette skyldes, at beskrivelsen af protokollerne ikke er givet på en formel måde, hvilket nogle gange sår tvivl om selve muligheden for korrekt idealisering. [10] Desuden forsøger en række kritikere at vise, at BAN-logikken også kan få åbenlyst forkerte karakteristika af protokollerne. [10] Desuden kan resultatet af protokolanalyse ved brug af BAN-logik ikke betragtes som et bevis på dets sikkerhed, da denne formelle logik udelukkende beskæftiger sig med tillidsspørgsmål. [elleve]