Burrows-Abadi-Needham Logik

Burrows-Abadi-Needham Logik (auch bekannt als die VERBOT-Logik) sind eine Reihe von Regeln, um Informationsaustauschprotokolle zu definieren und zu analysieren. Spezifisch hilft VERBOT-Logik seinen Benutzern zu bestimmen, ob ausgetauschte Information vertrauenswürdig, gegen das Lauschen oder beide gesichert ist. VERBIETEN SIE Logikanfänge in der Annahme, dass der ganze Informationsaustausch auf Medien stößt, die für das Herumbasteln und die öffentliche Überwachung verwundbar sind. Das hat sich zur populären Sicherheit mantra entwickelt, "Vertrauen dem Netz nicht."

Eine typische VERBOT-Logikfolge schließt drei Schritte ein:

  1. Überprüfung des Nachrichtenursprungs
  2. Überprüfung der Nachrichtenfrische
  3. Überprüfung der Zuverlässigkeit des Ursprungs.

VERBIETEN SIE Logikgebrauch-Postulate und Definitionen - wie alle axiomatischen Systeme - um Beglaubigungsprotokolle zu analysieren. Der Gebrauch der VERBOT-Logik begleitet häufig eine Sicherheitsprotokoll-Notationsformulierung eines Protokolls und wird manchmal in Zeitungen gegeben.

Typ Language und Alternativen

VERBIETEN SIE Logik und Logik in derselben Familie, sind entscheidbar: Dort besteht ein Algorithmus, der VERBOT-Hypothesen und einen behaupteten Beschluss nimmt, und das antwortet, ob der Beschluss von den Hypothesen ableitbar ist. Die vorgeschlagenen Algorithmen verwenden eine Variante von magischen Sätzen (Monniaux, 1999).

VERBIETEN SIE Logik begeistert viele andere ähnliche Formalismen wie GNY-Logik. Einige von diesen versuchen, eine Schwäche der VERBOT-Logik zu reparieren: der Mangel an einer guten Semantik mit einer klaren Bedeutung in Bezug auf Kenntnisse und mögliches Weltall.

Grundregeln

Die Definitionen und ihre Implikationen sind unten (P, und Q sind Netzagenten, X ist eine Nachricht,

und K ist ein Verschlüsselungsschlüssel):

  • P glaubt X: P handelt, als ob X wahr ist, und X in anderen Nachrichten behaupten kann.
  • P hat Rechtsprechung mehr als X: Ps Glaube sollte ungefähr X vertraut werden.
  • P hat X gesagt: Auf einmal, P übersandt (und geglaubt) Nachricht X, obwohl P X nicht mehr glauben könnte.
  • P sieht X: P erhält Nachricht X, und kann lesen und sich X wiederholen.
  • {X}: X ist encrypted mit dem Schlüssel K.
  • frisch (X): X ist in keiner Nachricht vorher gesandt worden.
  • Schlüssel (K, PQ): P und Q kann mit dem geteilten Schlüssel K kommunizieren

Die Bedeutung dieser Definitionen wird in einer Reihe von Postulaten gewonnen:

  • Wenn P Schlüssel (K, PQ) glaubt, und P {X} sieht, dann glaubt P (Q hat X gesagt)
  • Wenn P glaubt (Q, hat X gesagt), und P glaubt frisch (X), dann glaubt P (Q glaubt X).

P muss glauben, dass X hier frisch ist. Wenn X nicht bekannt ist, frisch zu sein, dann könnte es eine veraltete Nachricht sein, die von einem Angreifer wiedergespielt ist.

  • Wenn P glaubt (Q, hat Rechtsprechung mehr als X), und P glaubt (Q glaubt X), dann glaubt P X
  • Es gibt mehrere andere technische Postulate, die mit Zusammensetzung von Nachrichten verbunden sind. Zum Beispiel, wenn P glaubt, dass Q gesagt
hat

Mit dieser Notation, den Annahmen hinter einem Beglaubigungsprotokoll

kann formalisiert werden. Mit den Postulaten kann man dass bestimmter beweisen

Agenten glauben, dass sie verwendende bestimmte Schlüssel mitteilen können. Wenn der

Beweis scheitert, der Punkt des Misserfolgs deutet gewöhnlich einen Angriff der an

bringt das Protokoll in Verlegenheit.

VERBIETEN SIE Logikanalyse des Breiten Mund-Frosch-Protokolls

Ein sehr einfaches Protokoll - das Breite Mund-Frosch-Protokoll - erlaubt zwei Agenten, A und B, um sichere Kommunikationen, mit einem vertrauten Beglaubigungsserver, S, und synchronisierten Uhren rundum zu gründen. Mit der Standardnotation kann das Protokoll wie folgt angegeben werden:

::

Agenten A und B werden mit Schlüsseln K und K beziehungsweise ausgestattet, um sicher mit S zu kommunizieren. So haben wir Annahmen:

: Glaubt Schlüssel (K, AS)

: S glaubt Schlüssel (K, AS)

: B glaubt Schlüssel (K, BS)

: S glaubt Schlüssel (K, BS)

Agent A will ein sicheres Gespräch mit B beginnen. Es erfindet deshalb einen Schlüssel, K, den es verwenden wird, um mit B zu kommunizieren. Ein Glauben, dass dieser Schlüssel sicher ist, seitdem er den Schlüssel selbst zusammengesetzt hat:

: Glaubt Schlüssel (K, AB)

B ist bereit, diesen Schlüssel zu akzeptieren, so lange es sicher ist, dass es aus A gekommen ist:

: B glaubt (Hat Rechtsprechung über den Schlüssel (K, AB))

Außerdem ist B bereit, S zu vertrauen, um Schlüssel von A genau weiterzugeben:

: B glaubt (S hat Rechtsprechung darüber (Glaubt Schlüssel (K, AB)))

D. h. wenn B glaubt, dass S glaubt, dass A einen besonderen Schlüssel verwenden will, mit B zu kommunizieren, dann wird B S vertrauen und es auch glauben.

Die Absicht ist, zu haben

: B glaubt Schlüssel (K, AB)

Ein Lesen der Uhr, die Uhrzeit t erhaltend, und sendet die folgende Nachricht:

: 1 AS: {t, Schlüssel (K, AB) }\

D. h. es sendet seinen gewählten Sitzungsschlüssel und die Uhrzeit zu S, encrypted mit seinem privaten Beglaubigungsserver-Schlüssel K.

Da S glaubt, dass Schlüssel (K, AS), und S {t, Schlüssel (K, AB)}, sieht

dann beschließt S dass wirklich gesagt {t, Schlüssel (K, AB)}. (Insbesondere S glaubt, dass die Nachricht aus ganzem Stoff von einem Angreifer nicht verfertigt wurde.)

Da die Uhren synchronisiert werden, können wir annehmen

: S glaubt frisch (t)

Da S frisch (t) glaubt und S Einen gesagten {t, Schlüssel (K, AB)}, glaubt

S glaubt, dass wirklich dass Schlüssel (K, AB) glaubt. (Insbesondere S glaubt, dass die Nachricht von einem Angreifer nicht wiedergespielt wurde, der es in einer Zeit mit der Vergangenheit gewonnen hat.)

S dann vorwärts der Schlüssel zu B:

: 2 SB: {t, A, glaubt A Schlüssel (K, AB) }\

Weil Nachricht 2 encrypted mit K und B ist

glaubt, dass Schlüssel (K, BS), B jetzt das S glaubt

gesagt {t, A, glaubt A Schlüssel (K, AB)}.

Weil die Uhren synchronisiert werden, glaubt B frisch (t), und so

frisch (Glaubt Schlüssel (K, AB)). Weil B

glaubt, dass Behauptung von Ss frisch ist, glaubt B, dass S das glaubt

(Glaubt Schlüssel (K, AB)). Weil B

glaubt, dass S darüber herrisch ist, was A glaubt, glaubt B

das (Glaubt Schlüssel (K, AB)). Weil B

glaubt, dass A über Sitzungsschlüssel zwischen A und B, B herrisch

ist

glaubt Schlüssel (K, AB). B kann sich jetzt Mit einem in Verbindung setzen

direkt, mit K als ein heimlicher Sitzungsschlüssel.

Wollen jetzt wir annehmen, dass wir die Annahme aufgeben, dass die Uhren sind

synchronisiert. In diesem Fall bekommt S Nachricht 1 von mit {t,

Schlüssel (K, AB)}, aber kann es nicht mehr schließen

das t ist frisch. Es weiß dass Ein gesandter diese Nachricht in einer Zeit

in der Vergangenheit (weil es encrypted mit K ist)

aber nicht, dass das eine neue Nachricht ist, so glaubt S dass Ein nicht

notwendigerweise will fortsetzen, den Schlüssel zu verwenden

K. Das weist direkt auf einen Angriff auf den hin

Protokoll: Ein Angreifer, der Nachrichten gewinnen kann, kann einen der erraten

alter SitzungsschlüsselK. (Könnte das einen langen nehmen

Zeit.) Der Angreifer dann Wiederholungsspiele das alte {t,

Schlüssel (K, AB)} Nachricht, es an S sendend. Wenn

die Uhren werden (vielleicht als ein Teil desselben Angriffs) nicht synchronisiert, S könnte

glauben Sie diese alte Nachricht und bitten Sie, dass B den alten, in Verlegenheit gebrachten Schlüssel verwenden

wieder.

Die ursprüngliche Logik von Beglaubigungspapier (verbunden unten) enthält dieses Beispiel und viele andere, einschließlich Analysen des Händedruck-Protokolls von Kerberos und zwei Versionen des Projektes von Andrew RPC Händedruck (von denen einer fehlerhaft ist).

Zeichen

  • David Monniaux, Entscheidungsverfahren für die Analyse von Kryptografischen Protokollen durch die Logik des Glaubens, in Verhandlungen Der 12. Computersicherheitsfundament-Werkstatt, 1999. (Online).

Außenverbindungen


Source is a modification of the Wikipedia article Burrows–Abadi–Needham logic, licensed under CC-BY-SA. Full list of contributors here.
Gilles de Roberval / E.T.
Impressum & Datenschutz